gradio-app/trackio
A lightweight, local-first, and free experiment tracking library from Hugging Face 🤗
Trackio – 가볍고 무료인 실험 추적 도구, 인간과 AI 에이전트를 위한
이것이 무엇인가 – Trackio는 머신러닝 실행의 메트릭, 설정, 아티팩트 및 알림을 기록할 수 있는 Python 라이브러리( Svelte 기반 웹 UI 포함)입니다. 모든 데이터를 SQLite 데이터베이스(선택적으로 Parquet로 동결)에 로컬로 저장하며, 컴퓨터에서 대시보드를 제공하거나 무료 Hugging Face Space에 게시할 수 있습니다. API는 인기 있는 wandb 클라이언트와 의도적으로 호환되므로 import wandb를 import trackio as wandb로 간편하게 교체할 수 있습니다.
핵심 기능
- 로컬 우선, 클라우드 선택적 – 로그는 기본적으로 디스크에 저장되며, 나중에 Hugging Face Space에 동기화하여 공유할 수 있습니다.
- SQLite 저장 + Parquet 내보내기 – 0.5초마다 플러시되는 인메모리 큐를 통한 빠르고 높은 처리량의 쓰기.
- CLI 및 SQL 쿼리 –
trackio query … --sql "SELECT …"를 사용하여 LLM 기반 에이전트가 데이터를 직접 읽을 수 있습니다. - WandB 호환 API –
trackio.init,trackio.log,trackio.finish가 드롭인 대체로 작동합니다. - 대시보드 – Gradio 스타일 UI(
trackio show로 실행)는 메트릭, 미디어, 테이블, 알림을 표시하며 iframe을 통해 임베드할 수 있습니다. - 알림 및 웹훅 – 사용자 지정 조건에서 Slack/Discord/모든 URL 알림을 보냅니다.
- 개인/팀 사용에 무제한 무료 – 유료 요금제가 필요 없습니다.
- 자가 호스팅 가능 – 모든 서버에서 백엔드/API를 실행하고
TRACKIO_SERVER_URL로 클라이언트를 연결할 수 있습니다.
빠른 시작
pip install trackio # Python 3.10+
import trackio, random, time
trackio.init(project="demo", config={"epochs":5})
for epoch in range(5):
trackio.log({"epoch": epoch,
"loss": random.random(),
"acc": random.random()})
time.sleep(0.1)
trackio.finish()
trackio show(또는 코드에서 trackio.show())를 실행하여 대시보드를 엽니다.
클라우드 및 공유
- Hugging Face Spaces –
trackio.init에space_id="user/space"를 전달하면 라이브러리가 자동으로 Space를 생성하거나 사용하며,huggingface-cli를 통해 인증을 처리합니다. - 동기화 –
trackio.sync(project="my", space_id="user/space")는 로컬 SQLite DB를 Space에 업로드하여 협업 보기를 제공합니다. - 임베딩 – 쿼리 매개변수(
project=…,metrics=…,theme=dark등)가 있는 iframe을 사용하여 블로그나 문서에 라이브 대시보드를 임베드할 수 있습니다.
성능
- 비차단
log()호출; 백그라운드 스레드가 쓰기를 일괄 처리합니다. - 로컬 로깅: 사실상 무제한 처리량(초당 수천 호출).
- Space 로깅: 단일 실행에 대해 < 8초에 약 2k 로그; 32개의 병렬 스레드를 사용할 때 약 14초에 약 32k 로그(무료 티어 Space 하드웨어).
개발 및 확장성
- 백엔드는 순수 Python으로 작성; UI는
trackio/frontend/아래의 Svelte 5로 작성. - 포크 친화적: 프론트엔드 디렉토리를 교체하고 재빌드하면 동일한 API가 제공됩니다.
- 문서: https://huggingface.co/docs/trackio
- 라이선스: MIT.
누가 사용할까요?
- 비용이 들지 않고 오프라인 우선 트래커를 원하는 연구자.
- CLI/SQL을 통해 실험 데이터를 기록하고 나중에 쿼리해야 하는 LLM 기반 에이전트.
- Weights & Biases와 같은 상용 서비스보다 자체 호스팅이나 Hugging Face Spaces를 선호하는 팀.
발음: TRACK-yo ("트랙 요" 실험).
관련
- Dispatch
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트