La bibliothèque Datasets de Hugging Face et son hub de jeux de données constituent une plateforme centrale pour les praticiens de l'apprentissage automatique afin de découvrir, télécharger et partager des collections de données utilisées pour entraîner et évaluer des modèles d'intelligence artificielle. Initialement publiée en 2019, la bibliothèque simplifie le processus de travail avec les jeux de données, s'intégrant de manière transparente à l'écosystème plus large d'outils pour le développement et la recherche sur les modèles de langage de grande taille. En tant que partie de la plateforme Hugging Face, Datasets fournit une interface standardisée pour plus de 100 000 jeux de données publics, couvrant des domaines allant des données textuelles et image aux données audio et vidéo.
Le projet est né de l'objectif de Hugging Face de rendre le traitement du langage naturel plus accessible et reproductible. En fournissant une API unique et unifiée qui abstrait les différences de formats de fichiers (y compris CSV, JSON, Parquet, et plus), la bibliothèque Datasets permet aux utilisateurs de gérer des collections de données massives avec un code de configuration minimal. Le hub sous-jacent, accessible à la fois via une interface web et programmatiquement via la bibliothèque, héberge des jeux de données organisés ainsi que des contributions communautaires. Hugging Face propose également une visionneuse de jeux de données associée dans le hub web, permettant aux utilisateurs d'inspecter des échantillons, des métadonnées et de la documentation directement dans le navigateur.
Fonctionnalités principales
La bibliothèque Datasets offre une gamme de fonctionnalités conçues pour l'efficacité et la facilité d'utilisation. Elle inclut un mappage mémoire automatique, qui permet de diffuser de grands jeux de données depuis le disque ou le hub distant, afin que les utilisateurs puissent parcourir des milliards de lignes sans tout charger en mémoire vive. La bibliothèque s'intègre également aux frameworks de apprentissage profond comme PyTorch, TensorFlow et JAX via des méthodes de conversion intégrées, permettant une intégration directe dans les pipelines d'entraînement de modèles.
Un aspect important est la capacité de combiner des jeux de données via des opérations courantes telles que le fractionnement, le partitionnement et l'entrelacement. Elle fournit également une mise en cache intégrée, de sorte que les transformations répétées et les étapes de chargement sont automatiquement stockées sur disque, réduisant le travail en double. La visionneuse de jeux de données fournit une vue détaillée des statistiques et du schéma, qui affiche les noms de colonnes, les types et la distribution des données, tandis que la bibliothèque elle-même inclut des utilitaires pour les contrôles de qualité des données, tels que la détection d'exemples dupliqués ou de valeurs manquantes.
Hub de jeux de données et contributions communautaires
Le hub de jeux de données de Hugging Face est un service en ligne qui héberge des dizaines de milliers de jeux de données. Les contributions proviennent de chercheurs individuels, d'institutions académiques et d'entreprises, reflétant une large gamme de domaines : traitement du langage naturel, vision par ordinateur, traitement audio, et des domaines spécialisés tels que la médecine, la finance et la science du climat. Les jeux de données incluent souvent à la fois les données brutes et le code de prétraitement, car la bibliothèque traite les transformations comme des objets de première classe. Un système de versioning permet aux utilisateurs de suivre les changements au fil du temps, et le hub prend en charge les jeux de données privés pour les données sous licence ou propriétaires.
De nombreux jeux de données de référence populaires sont disponibles directement via le hub, tels que GLUE, SQuAD, ImageNet et Common Crawl, aux côtés de dérivés construits par la communauté qui nettoient ou filtrent ces sources. Ce hub fonctionne ainsi comme un point de distribution canonique pour les contributeurs de jeux de données, qui peuvent télécharger des fichiers parquet ou pousser des mises à jour via les outils en ligne de commande du hub. De plus, la visionneuse de données du hub indexe automatiquement les métadonnées et permet l'échantillonnage de lignes via une API web.
Intégration avec l'écosystème Hugging Face
Datasets fonctionne en tandem avec d'autres outils Hugging Face, principalement la bibliothèque transformers et la bibliothèque tokenizers. Dans un flux de travail typique, un utilisateur charge un jeu de données depuis le hub, applique un processus de tokenisation en utilisant le tokenizer correspondant à son modèle choisi, puis alimente directement les sorties dans une boucle d'entraînement. Cette interopérabilité est une raison clé pour laquelle Datasets est largement utilisé dans la communauté du apprentissage automatique, car elle élimine le besoin de plusieurs pipelines de chargement de données incompatibles.
Elle s'associe également au système de cartes de modèles du hub : chaque page de jeu de données peut inclure des métadonnées et de la documentation, y compris des tâches d'évaluation de modèles suggérées, des balises de sujet et des biais connus. Cela s'aligne avec les initiatives industrielles plus larges vers le élagage de modèles, la surveillance des modèles et une meilleure reproductibilité, car les jeux de données sont suivis comme des composants clés dans les expériences de modèles. Les utilisateurs peuvent également tirer parti de la bibliothèque evaluate construite par Hugging Face, qui fournit des métriques qui s'exécutent directement sur le format Datasets, permettant une évaluation rapide par rapport aux références.
Sous-projets et API importants
La bibliothèque Datasets inclut également des sous-projets spécialisés. Par exemple, le mode streaming a été ajouté pour permettre aux utilisateurs de parcourir un jeu de données entier sans le télécharger complètement, ce qui est crucial pour de très grands corpus. DatasetDict gère les regroupements de divisions (entraînement, validation, test) dans un seul objet, et la fonction load_dataset() sert de point d'entrée principal, acceptant soit un nom de jeu de données sur le hub, soit un chemin local. Les utilisateurs peuvent également définir des fonctions personnalisées et modifier les métadonnées via l'API Features, qui spécifie les types de colonnes (int, texte, image, etc.) et assure la correction des types. De plus, datasets prend en charge l'IterableDataset utile pour une itération rapide, particulièrement adapté au streaming.
Un autre utilitaire notable est le format datasets.arrow_dataset, basé sur Apache Arrow, qui sous-tend la performance de la bibliothèque grâce à des magasins de données en colonnes, permettant un accès rapide aux données et une interopérabilité avec des outils de science des données comme pandas et NumPy. Cela repose sur du matériel parfois très moderne pour atteindre la vitesse, et un itérateur sérialisé, qui évite les pics de RAM.
Utilisation et adoption industrielle
Hugging Face Datasets est devenu un outil standard dans la recherche et l'industrie. Les équipes de prépublication des grandes entreprises d'IA, les académiques, les startups et les développeurs individuels intègrent des jeux de données pour diverses tâches. Le travail collectif à grande échelle, comme l'entraînement de modèles de langage de grande taille et de modèles de génération d'images, s'appuie souvent sur le chargement de jeux de données pour de grands corpus. La bibliothèque a également été adoptée par les fournisseurs de services cloud, y compris Amazon Web Services, Microsoft Azure et Google Cloud, qui l'hébergent ou l'offrent dans leur pile d'outils d'IA gérés, permettant son intégration avec leurs solutions de stockage de données et leurs instances GPU.
Notamment, AWS Trainium et d'autres plateformes cloud axées sur l'IA entraînent des modèles qui récupèrent des données à partir de la bibliothèque Datasets. L'approche hétérogène de la bibliothèque s'aligne avec la croissance des charges de travail haute performance, et son support de calcul distribué (via le multiprocessing ou l'intégration Ray) est un usage central dans les systèmes d'entraînement. De plus, Apple a utilisé le hub dans les communautés de recherche pour son traitement de données pour les modèles. Alors que les startups matérielles telles que Groq ou grain engines like [[https:srib and prennent également en charge les jeux de données Hugging Face dans leurs SDK pour l'inférence et le fine-tuning.
Considérations éthiques et sociales
La dépendance à un hub central de jeux de données comme élément clé soulève des problèmes valides de gouvernance des modèles et de confidentialité. Hugging Face inclut des fonctionnalités pour protéger la communauté : les étiquettes de contrôle d'accès aux jeux de données telles que « dangereux » nécessitent un accès restreint, ou les utilisateurs peuvent être autorisés sur le hub mais avec une authentification requise. Y compris la licence générale et les jetons - signifie que les jeux de données sont cachés derrière des termes. Cependant, un jeu de données public illimité peut être mal utilisé, car les données peuvent également être souvent extraites du web sans le consentement des contributeurs ; le respect des lois sur le droit d'auteur ou les licences peut être observé.
Hugging Face a répondu en créant des indicateurs éthiques, tels que la « carte de jeu de données », dont les métadonnées centrales incluent des notes sur l'impureté, les biais ou la sensibilité. Le hub permet également des discussions et le signalement de problèmes. Mais parce que les jeux de données sont téléchargés par n'importe quelle communauté, un examen minutieux dans la communauté IA plus large, mais la gouvernance reste en place.
Communauté et gouvernance
Hugging Face gère une équipe considérable derrière Datasets, publiant le logiciel sous la licence Apache 2.0. Le projet est activement développé, avec des versions fréquentes, et des centaines de contributeurs dans le monde entier. En utilisant une feuille de route, les idées sont publiquement activées, et tout utilisateur peut forker le dépôt GitHub et suggérer un changement. Hugging Face fournit également des livres de recettes de jeux de données et des tutoriels de notebooks Jupyter qui enseignent comment utiliser la bibliothèque.
D'un point de vue organisationnel et de maintenance, les corrections de bugs sont gérées par des suiveurs de problèmes, et les directives communautaires priorisent le respect des participants et l'éthique dans le partage. L'adoption est bien établie et le hub interactif est toujours ouvert à de nouveaux enregistrements ; cet écosystème large a maintenu le projet essentiel à la pratique de l'IA après plusieurs années.