Hub documentation

Argilla

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Argilla

Argilla est un outil de collaboration destiné aux ingénieurs IA et aux experts du domaine qui doivent créer des jeux de données de haute qualité pour leurs projets.

image

Argilla peut être utilisé pour collecter des retours humains pour une grande variété de projets d’IA, tels que le NLP traditionnel (classification de texte, NER, etc.), les LLM (RAG, ajustement des préférences, etc.) ou les modèles multimodaux (texte vers image, etc.). L’approche programmatique d’Argilla vous permet de créer des flux de travail pour l’évaluation continue et l’amélioration des modèles. L’objectif d’Argilla est de garantir que votre travail sur les données porte ses fruits en itérant rapidement sur les bonnes données et les bons modèles.

Que construisent les gens avec Argilla ?

La communauté utilise Argilla pour créer d'excellents jeux de données et modèles open source.

Jeux de données et modèles open source

Argilla a également contribué à l’open source en partageant certains modèles et jeux de données.

  • Jeu de données UltraFeedback nettoyé utilisé pour l’ajustement fin des modèles Notus et Notux. Le jeu de données UltraFeedback d’origine a été curé à l’aide des filtres de l’interface utilisateur Argilla afin de trouver et de signaler un bug dans le code de génération des données d’origine. Sur la base de ce processus de curation des données, Argilla a construit cette nouvelle version du jeu de données UltraFeedback et a ajusté finement Notus, surpassant Zephyr sur plusieurs benchmarks.
  • jeu de données Intel Orca DPO de distilabel utilisé pour l’ajustement fin du modèle OpenHermes amélioré. Ce jeu de données a été construit en combinant la curation humaine dans Argilla avec les retours d’IA de distilabel, aboutissant à une version améliorée du jeu de données Intel Orca et surpassant les modèles ajustés sur le jeu de données original.

Exemples Cas d'utilisation

Les équipes IA de sociétés telles que la Croix-Rouge, Loris.ai et Prolific utilisent Argilla pour améliorer la qualité et l’efficacité de leurs projets IA. Elles ont partagé leur expérience lors de notre rencontre communautaire IA.

  • L’IA au service du bien commun : la présentation de la Croix-Rouge illustre la collaboration entre les experts du domaine de la Croix-Rouge et son équipe IA, qui ont classé et redirigé les demandes des réfugiés de la crise ukrainienne afin de rationaliser les processus de soutien de la Croix-Rouge.
  • Support client : lors de la rencontre Loris, ils ont montré comment leur équipe IA utilise l’apprentissage contrastif non supervisé et few-shot pour les aider à valider rapidement et à obtenir des échantillons étiquetés pour un très grand nombre de classifieurs multi-étiquettes.
  • Études de recherche : la vitrine de Prolific a annoncé son intégration avec notre plateforme. Ils l’utilisent pour distribuer activement des projets de collecte de données au sein de leur équipe d’annotateurs. Cela permet à Prolific de collecter rapidement et efficacement des données de haute qualité pour des études de recherche.

Prérequis

Connectez-vous d'abord avec votre compte Hugging Face :

hf auth login

Assurez-vous d'avoir installé argilla>=2.0.0 :

pip install -U argilla

Enfin, vous devrez déployer le serveur et l'interface utilisateur d'Argilla, ce qui peut être fait facilement sur le Hugging Face Hub.

Importation et exportation de jeux de données et d'enregistrements

Ce guide montre comment importer et exporter votre jeu de données vers le Hugging Face Hub.

Dans Argilla, vous pouvez importer/exporter deux composants principaux d'un jeu de données :

  • Configuration complète du jeu de données définie dans rg.Settings. Cela est utile si vous souhaitez partager votre tâche de retour d’information ou la restaurer plus tard dans Argilla.
  • Les enregistrements stockés dans le jeu de données, y compris Metadata, Vectors, Suggestions et Responses. Cela est utile si vous souhaitez utiliser les enregistrements de votre jeu de données en dehors d'Argilla.

Pousser un jeu de données Argilla vers le Hugging Face Hub

Vous pouvez pousser un dataset depuis Argilla vers le Hugging Face Hub. Cela est utile si vous souhaitez partager votre dataset avec la communauté ou le gérer par version. Vous pouvez pousser le dataset vers le Hugging Face Hub à l'aide de la méthode rg.Dataset.to_hub.

import argilla as rg

client = rg.Argilla(api_url="<api_url>", api_key="<api_key>")
dataset = client.datasets(name="my_dataset")
dataset.to_hub(repo_id="<repo_id>")

Avec ou sans enregistrements

L’exemple ci-dessus pousse les Settings et les enregistrements du jeu de données vers le hub. Si vous souhaitez uniquement pousser la configuration du jeu de données, vous pouvez définir le paramètre with_records sur False. Cela est utile si vous êtes simplement intéressé par un modèle de jeu de données spécifique ou si vous souhaitez apporter des modifications aux paramètres et/ou aux enregistrements du jeu de données.

dataset.to_hub(repo_id="<repo_id>", with_records=False)

Récupérer un jeu de données Argilla depuis le Hugging Face Hub

Vous pouvez récupérer un jeu de données depuis le Hugging Face Hub vers Argilla. Cela est utile si vous souhaitez restaurer un jeu de données et sa configuration. Vous pouvez récupérer le jeu de données depuis le Hugging Face Hub à l'aide de la méthode rg.Dataset.from_hub.


import argilla as rg

client = rg.Argilla(api_url="<api_url>", api_key="<api_key>")
dataset = rg.Dataset.from_hub(repo_id="<repo_id>")

La méthode rg.Dataset.from_hub charge la configuration et les enregistrements depuis le dépôt de jeu de données. Si vous souhaitez uniquement charger les enregistrements, vous pouvez passer un objet datasets.Dataset à la méthode rg.Dataset.log. Cela vous permet de configurer votre propre jeu de données et de réutiliser des jeux de données existants du Hub.

Avec ou sans enregistrements

L’exemple ci-dessus récupère les Settings et les enregistrements du jeu de données depuis le hub. Si vous souhaitez uniquement récupérer la configuration du jeu de données, vous pouvez définir le paramètre with_records sur False. Cela est utile si vous êtes uniquement intéressé par un modèle de jeu de données spécifique ou si vous souhaitez apporter des modifications aux paramètres et/ou aux enregistrements du jeu de données.

dataset = rg.Dataset.from_hub(repo_id="<repo_id>", with_records=False)

Avec la configuration du jeu de données, vous pouvez ensuite apporter des modifications au jeu de données. Par exemple, vous pouvez adapter les paramètres du jeu de données pour une tâche différente :

dataset.settings.questions = [rg.TextQuestion(name="answer")]

Vous pouvez ensuite enregistrer les enregistrements du jeu de données à l’aide de la méthode load_dataset du package datasets et passer le jeu de données à la méthode rg.Dataset.log.

hf_dataset = load_dataset("<repo_id>")
dataset.log(hf_dataset)

📚 Ressources

Update on GitHub