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
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트