Skip to content
Trackio : la bibliothèque légère de suivi d’expériences de Hugging Face
Source: huggingface.co

Trackio : la bibliothèque légère de suivi d’expériences de Hugging Face

Sources: https://huggingface.co/blog/trackio, Hugging Face Blog

TL;DR

  • Trackio est une bibliothèque open-source et gratuite de suivi d’expériences en Python, avec un tableau de bord Gradio local.
  • Il peut synchroniser le tableau de bord vers Hugging Face Spaces pour le partage via une URL, avec des options privées ou publiques.
  • Conçu comme un remplacement rapide de wandb, l’API est compatible avec wandb.init, wandb.log et wandb.finish.
  • Il expose des métriques d’utilisation d’énergie (via nvidia-smi) pour favoriser la transparence et les comparaisons.
  • Les données enregistrées sur Spaces résident dans une base de données SQLite éphémère, que Trackio convertit en Parquet et sauvegarde dans un Hugging Face Dataset toutes les 5 minutes.

Contexte et origine

Trackio est une bibliothèque Python open-source qui permet de suivre des métriques et de les visualiser via un tableau de bord Gradio local. Vous pouvez également synchroniser ce tableau de bord avec Hugging Face Spaces, ce qui permet de le partager simplement en transmettant une URL. Comme Spaces peut être privé ou public, vous pouvez partager un tableau de bord publiquement ou uniquement avec les membres de votre organisation Hugging Face — et cela gratuitement. Trackio est conçu comme un remplacement rapide des bibliothèques de suivi d’expériences comme wandb; l’API est compatible avec wandb.init, wandb.log et wandb.finish, vous permettant d’importer Trackio comme wandb dans votre code. L’équipe scientifique de Hugging Face l’utilise déjà dans des projets de recherche et met en avant plusieurs avantages : partage et embedding faciles, standardisation et transparence, accessibilité des données et flexibilité pour l’expérimentation rapide. L’accès à des métriques d’énergie GPU via nvidia-smi permet d’évaluer et de comparer la consommation dans les fiches techniques des modèles. L’objectif est de proposer une solution légère et open-source qui s’intègre sans effort dans les flux de travail de recherche, et qui s’accorde avec l’écosystème Hugging Face, notamment transformers et accelerate.

Nouvelles fonctionnalités

Trackio apporte une expérience de suivi d’expériences légère et locale avec plusieurs éléments clés :

  • Un tableau de bord Gradio local pour visualiser les métriques et les hyperparamètres de manière interactive.
  • Une synchronisation optionnelle vers Hugging Face Spaces, permettant de partager via une URL et d’intégrer des graphiques dans des blogs ou documentations grâce à des iframes.
  • Une API de remplacement direct pour wandb, compatible wandb.init, wandb.log et wandb.finish.
  • Stockage SQLite éphémère sur Spaces, avec conversion automatique en Parquet et sauvegarde dans un Hugging Face Dataset toutes les 5 minutes.
  • Intégration native avec les bibliothèques Hugging Face telles que transformers et accelerate; aucune configuration supplémentaire pour Trainer ou Accelerate.
  • Trackio est intentionnellement léger et est actuellement en version bêta; certaines fonctionnalités comme la gestion des artefacts ou des visualisations avancées ne sont pas encore disponibles. Le projet invite la communauté à proposer des améliorations via GitHub.
FonctionnalitéDescription
Open-source et gratuitOui; Trackio est open-source et gratuit
Tableau de bord localTableau de bord Gradio local
Synchronisation SpacesTableaux synchronisables avec Hugging Face Spaces pour le partage
Compatibilité APIRemplacement direct de wandb; compatible wandb.init, wandb.log et wandb.finish; importé comme wandb
Stockage des donnéesSQLite éphémère sur Spaces; converti en Parquet et sauvegardé dans un Dataset toutes les 5 minutes
Métriques d’énergieMesure l’énergie des GPU via nvidia-smi
IntégrationsFonctionne avec transformers et accelerate; prise en charge de Trainer et Accelerate
StatutBeta; gestion d’artefacts et visualisations avancées non disponibles pour le moment
PartagePartage via URL ou insertion avec iframe; Spaces privé ou public

Pourquoi c’est important (impact pour les développeurs/entreprises)

Pour les développeurs et les équipes, Trackio simplifie le partage des progrès et des résultats des entraînements. La capacité d’intégrer directement des graphiques dans des blogs ou de la documentation via des iframes réduit les obstacles à la diffusion des résultats sans que les collaborateurs aient à créer des comptes ou configurer des dashboards. La métrique d’énergie contribue à la transparence concernant l’utilisation des ressources, ce qui prend de l’importance dans les fiches techniques et les rapports d’IA responsable. En exportant les données enregistrées vers Parquet dans un Hugging Face Dataset et en effectuant des sauvegardes régulières, Trackio favorise aussi la reproductibilité et l’analyse ultérieure en dehors du tableau de bord en direct. L’intégration avec l’écosystème Hugging Face – y compris transformers et accelerate – signifie que les développeurs peuvent enregistrer des métriques avec une configuration minimale et adopter un flux de travail léger adapté à l’expérimentation rapide et au partage au sein des équipes.

Détails techniques ou Implémentation

Trackio est une bibliothèque Python open-source qui permet de suivre n’importe quelles métriques et de les visualiser à l’aide d’un tableau de bord Gradio local. Vous pouvez également synchroniser ce tableau de bord avec Hugging Face Spaces, ce qui permet de partager le tableau de bord avec d’autres utilisateurs simplement en transmettant une URL. Comme Spaces peut être privé ou public, cela facilite le partage d’un tableau de bord publiquement ou uniquement entre les membres de l’organisation Hugging Face — sans coût.

Installation

  • Vous pouvez installer Trackio via pip. Le projet privilégie une configuration simple sans dépendances lourdes.

Démarrage et tableaux

  • Après avoir enregistré vos expériences, vous pouvez lancer le tableau de bord pour visualiser les résultats. Il est également possible de le lancer depuis Python et, si vous le souhaitez, de nommer votre projet pour mieux organiser les expériences.

Synchronisation avec Spaces

  • Pour synchroniser le tableau de bord local avec Hugging Face Spaces, passez simplement un space_id à l’init. Si vous hébergez sur Spaces, vous pouvez partager l’URL ou l’intégrer via iframe; Spaces peut être privé ou public.

Stockage et sauvegardes des données sur Spaces

  • Lorsque vous synchronisez sur Spaces, les données sont enregistrées dans une base SQLite éphémère. Cette base est réinitialisée si le Space redémarre, Trackio convertit donc les données SQLite en Parquet et les sauvegarde sur un Hugging Face Dataset toutes les 5 minutes, afin que vous puissiez visualiser les métriques enregistrées à tout moment.
  • Astuce : vous pouvez nommer le dataset en passant dataset_id à trackio.init().

Intégrations HF et usage

  • Trackio s’intègre nativement avec des bibliothèques Hugging Face comme transformers et accelerate; pour enregistrer des métriques, aucune configuration supplémentaire n’est nécessaire. Avec transformers.Trainer et avec Accelerate, il suffit de connecter Trackio et de commencer à tracer.

Statut et feuille de route

  • Trackio est délibérément léger et est actuellement en version bêta. Certaines fonctionnalités présentes dans d’autres outils de suivi (gestion des artefacts, visualisations plus complexes) ne sont pas encore disponibles. Le projet invite la communauté à proposer des améliorations via les issues GitHub.

Points clés

  • Trackio offre une solution de suivi légère avec une intégration Spaces pour le partage.
  • Il propose un remplacement direct de wandb avec compatibilité API pour faciliter l’adoption.
  • Les métriques d’énergie et l’export vers des datasets Parquet renforcent la transparence et la reproductibilité.
  • Le cadre est léger, intégré à l’écosystème HF et adapté à l’expérimentation rapide, avec des fonctionnalités en développement.

FAQ

  • - **Q : Qu’est-ce que Trackio et pour qui est-il destiné ?**

    Trackio est une bibliothèque open-source qui suit des métriques et les visualise via un tableau de bord Gradio local, avec synchronisation optionnelle vers Hugging Face Spaces. - **Q : Comment Trackio se compare-t-il à wandb ?** **A :** Trackio est conçu comme un remplacement direct de wandb, avec une API compatible (init, log, finish) et une installation légère. - **Q : Que se passe-t-il lorsque j’utilise Spaces ?** **A :** Les données vont dans une base SQLite éphémère sur Spaces, puis sont converties en Parquet et sauvegardées dans un Hugging Face Dataset toutes les 5 minutes. - **Q : Puis-je partager des tableaux de bord publiquement ?** **A :** Oui. Les tableaux peuvent être partagés via une URL ou intégrés via iframe; Spaces peut être privé ou public. - **Q : Quel est l’état actuel et quelles fonctionnalités manquent ?** **A :** Trackio est en bêta et vise à être léger; la gestion des artefacts et des visualisations avancées ne sont pas encore disponibles. Les développeurs sont invités à proposer des améliorations via les issues GitHub.

Références

More news