Встречайте Trackio: бесплатная библиотека-трекер экспериментов на Python с открытым исходным кодом

Отслеживание экспериментов — важная часть современных рабочих процессов в машинном обучении. Независимо от того, настраиваете ли вы гиперпараметры, отслеживаете обучающие метрики или сотрудничаете с коллегами, крайне важно иметь надёжные и гибкие инструменты, которые упрощают отслеживание экспериментов и делают его более информативным. Однако многие существующие решения для отслеживания экспериментов требуют сложной настройки, имеют лицензионные сборы или привязывают данные пользователя к проприетарным форматам, что делает их менее доступными для отдельных исследователей и небольших команд.

Что такое Trackio?

Trackio — это пакет Python, разработанный как замена широко используемым библиотекам, таким как wandb, с совместимостью для основных вызовов API (wandb.init, wandb.log, wandb.finish). Это позволяет использовать Trackio без значительных изменений кода — просто импортируйте Trackio как wandb и продолжайте работать как прежде.

Ключевые особенности:

* Локальный приоритет: по умолчанию эксперименты запускаются и сохраняются локально, обеспечивая конфиденциальность и быстрый доступ. Обмен данными — это опция, а не стандарт.
* Бесплатно и с открытым исходным кодом: нет платных стен и ограничений по функциям — всё, включая сотрудничество и онлайн-панели, доступно каждому бесплатно.
* Лёгкость и расширяемость: вся кодовая база составляет менее 1000 строк Python, что упрощает аудит, расширение или адаптацию.
* Интеграция с экосистемой Hugging Face: готовая поддержка с Transformers, Sentence Transformers и Accelerate позволяет пользователям начать отслеживать метрики с минимальной настройкой.
* Переносимость данных: в отличие от некоторых установленных инструментов отслеживания, Trackio делает все данные экспериментов легко экспортируемыми и доступными, что позволяет проводить индивидуальную аналитику и беспрепятственно интегрировать их в исследовательские процессы.

Бесшовное отслеживание экспериментов: локально или совместно

Одной из выдающихся особенностей Trackio является возможность совместного использования. Исследователи могут отслеживать метрики на локальной панели Gradio или, просто синхронизировавшись с Hugging Face Spaces, перенести панель в онлайн для обмена с коллегами (или с общественностью, если вы того пожелаете). Пространства можно настроить как частные или общедоступные — для зрителей не требуется сложной аутентификации или регистрации.

Простая интеграция с вашим рабочим процессом машинного обучения

Интеграция с экосистемой Hugging Face настолько проста, насколько это возможно:

* С помощью transformers.Trainer или accelerate вы можете регистрировать и визуализировать метрики, указав Trackio в качестве регистратора.
* Например, используя Accelerate:

“`
from accelerate import Accelerator
accelerator = Accelerator(log_with=”trackio”)
accelerator.init_trackers(“my-experiment”)

accelerator.log({“training_loss”: loss}, step=step)
“`

Этот подход без лишних усилий означает, что любой, кто использует Transformers, Sentence Transformers или Accelerate, может сразу начать отслеживать и делиться экспериментами без дополнительной настройки.

Прозрачность, устойчивость и свобода данных

Trackio выходит за рамки стандартных метрик, поощряя прозрачность использования вычислительных ресурсов. Он поддерживает отслеживание таких метрик, как энергопотребление GPU (путём чтения из nvidia-smi), что соответствует акценту Hugging Face на экологической ответственности и воспроизводимости в документации карточек моделей.

В отличие от закрытых платформ, ваши данные всегда доступны: журналы Trackio хранятся в стандартных форматах, а панели управления создаются с помощью открытых инструментов, таких как Gradio и Hugging Face Datasets, что упрощает их изменение, анализ или обмен.

Быстрый старт

Чтобы начать работу:

“`
pip install trackio

или

uv pip install trackio
“`

Или замените импорт в своей кодовой базе:

“`
import trackio as wandb
“`

Заключение

Trackio призван расширить возможности отдельных исследователей и открытого сотрудничества в области машинного обучения, предлагая прозрачный и полностью бесплатный трекер экспериментов. По умолчанию приоритет отдаётся локальному хранению, лёгкость обмена данными и тесная интеграция с инструментами Hugging Face делают возможным надёжное отслеживание без проблем и затрат, связанных с традиционными решениями.

Ознакомьтесь с техническими деталями и посетите страницу GitHub. Не стесняйтесь посетить нашу страницу на GitHub, чтобы посмотреть учебные пособия, коды и ноутбуки. Также подписывайтесь на нас в Twitter и присоединяйтесь к нашему сообществу в SubReddit, насчитывающему более 100 тысяч участников машинного обучения, и подписывайтесь на нашу рассылку.

1. Какие основные проблемы существующих решений для отслеживания экспериментов в машинном обучении решает Trackio?

Ответ: многие существующие решения для отслеживания экспериментов требуют сложной настройки, имеют лицензионные сборы или привязывают данные пользователя к проприетарным форматам. Trackio разработан как замена таким библиотекам, как wandb, с совместимостью для основных вызовов API, что позволяет использовать его без значительных изменений кода.

2. Какие ключевые особенности Trackio делают его привлекательным для исследователей и небольших команд?

Ответ: ключевые особенности Trackio включают локальный приоритет (эксперименты запускаются и сохраняются локально), бесплатность и открытый исходный код, лёгкость и расширяемость (вся кодовая база составляет менее 1000 строк Python), интеграцию с экосистемой Hugging Face и переносимость данных (все данные экспериментов легко экспортируются и доступны).

3. Как Trackio интегрируется с экосистемой Hugging Face и какие инструменты поддерживает?

Ответ: Trackio интегрируется с экосистемой Hugging Face через поддержку с Transformers, Sentence Transformers и Accelerate. Это позволяет пользователям начать отслеживать метрики с минимальной настройкой. Например, используя Accelerate, можно регистрировать и визуализировать метрики, указав Trackio в качестве регистратора.

4. Какие дополнительные возможности предоставляет Trackio помимо отслеживания обучающих метрик?

Ответ: Trackio поддерживает отслеживание таких метрик, как энергопотребление GPU, что соответствует акценту Hugging Face на экологической ответственности и воспроизводимости в документации карточек моделей. Это выходит за рамки стандартных метрик и поощряет прозрачность использования вычислительных ресурсов.

5. Как начать работу с Trackio?

Ответ: чтобы начать работу с Trackio, нужно выполнить команду `pip install trackio` или `uv pip install trackio`. Затем можно заменить импорт в своей кодовой базе, например, `import trackio as wandb`.

Источник