Trackio: Hugging Face의 가벼운 실험 추적 라이브러리
Hugging Face는 최근 자사 연구팀이 사용 중인 가벼운 실험 추적 라이브러리인 Trackio를 공개했다. Trackio는 머신러닝 모델을 훈련하는 과정에서 중요한 메트릭, 파라미터, 하이퍼파라미터를 추적하고 시각화하는 데 도움을 주는 도구로, 기존의 추적 도구들이 비용이 많이 들거나 복잡한 설정이 필요하거나 유연성이 부족하다는 문제를 해결하고자 개발되었다. Hugging Face는 Trackio를 사용하면서 여러 가지 장점을 발견했다. 첫째, 연구 진행 상황을 동료와 공유하거나 블로그나 문서에 그래프를 바로 삽입할 수 있어, 사용자가 계정을 만들거나 복잡한 대시보드를 탐색하지 않고도 특정 훈련 곡선이나 메트릭을 쉽게 볼 수 있다. 둘째, Trackio는 GPU 에너지 사용량과 같은 메트릭을 nvidia-smi 명령어를 통해 직접 수집하여, 모델 훈련의 에너지 요구량과 환경 영향을 정량화하고 비교하는 데 유용하다. 셋째, Trackio는 데이터를 전용 API에 갇히지 않고, 연구자가 직접 데이터를 추출하고 분석할 수 있도록 지원해 연구 워크플로에 쉽게 통합할 수 있다. 또한, Trackio는 가벼운 설계 덕분에 연구자가 훈련 중 새로운 추적 기능을 쉽게 실험할 수 있어, 훈련 속도에 영향을 주지 않고 모델 상태나 중간 상태를 추적할 수 있다. Trackio는 오픈소스 파이썬 라이브러리로, 로컬 Gradio 대시보드에서 메트릭을 추적하고 시각화할 수 있다. 또한, Hugging Face Spaces에 대시보드를 동기화할 수 있어, URL을 공유함으로써 다른 사용자와 쉽게 공유할 수 있다. Spaces는 공개 또는 비공개로 설정할 수 있으며, 이는 연구팀이 내부적으로만 공유하거나 외부에 공개할 수 있는 유연성을 제공한다. Trackio가 Spaces에 연결되면 데이터는 일시적인 SQLite 데이터베이스에 기록되며, 5분마다 Hugging Face Dataset으로 백업되어 언제든지 시각화할 수 있다. 사용자는 데이터세트 이름을 지정할 수 있다. Trackio는 Hugging Face의 transformers와 accelerate 라이브러리와 자연스럽게 통합되어 있으며, 추가 설정 없이도 쉽게 메트릭을 로그에 기록할 수 있다. transformers.Trainer와 accelerate를 사용할 경우, 단순히 report_to 또는 log_with 파라미터를 trackio로 설정하면 된다. 이로 인해 연구자들이 훈련 과정을 추적하는 데 편리함을 경험할 수 있다. Trackio는 현재 베타 버전으로, 다른 추적 도구에 있는 기능인 아티팩트 관리나 복잡한 시각화 기능은 아직 제공되지 않는다. 사용자들은 GitHub 이슈 페이지에서 추가 기능 요청을 할 수 있으며, Trackio는 오픈소스이기 때문에 머신러닝 커뮤니티와 협력해 보다 유용한 추적 도구를 만들어 나가고자 한다. Trackio는 연구자들에게 가볍고 유연한 실험 추적 솔루션을 제공하며, Hugging Face의 기존 제품들과의 호환성 덕분에 훈련 과정을 더 쉽게 관리하고 공유할 수 있다. 이는 연구의 투명성과 협업 효율성 향상에 기여할 것으로 기대된다. Hugging Face는 Trackio를 통해 연구자들이 더 효과적으로 모델을 개발하고, 데이터를 공유할 수 있도록 지원할 예정이다.