Distilabel est le cadre de données synthétiques et de rétroaction de l'IA pour les ingénieurs qui ont besoin de pipelines rapides, fiables et évolutifs basés sur des documents de recherche vérifiés.
Si vous voulez simplement commencer, nous vous recommandons de vérifier la documentation. Curieux et vous voulez en savoir plus? Continuez à lire!
Distilabel peut être utilisé pour générer des données synthétiques et une rétroaction de l'IA pour une grande variété de projets, y compris la PNL prédictive traditionnelle (classification, extraction, etc.), ou des scénarios de modèle génératif et de grand langage (instruction suivant, génération de dialogue, jugement, etc.). L'approche programmatique de Distilabel vous permet de construire des pipelines évolutifs pour la génération de données et la rétroaction de l'IA. L'objectif de Distilabel est d'accélérer votre développement d'IA en générant rapidement des ensembles de données de haute qualité et basés sur des méthodologies de recherche vérifiées pour générer et à en juger par la rétroaction de l'IA.
Le calcul est coûteux et la qualité de sortie est importante. Nous vous aidons à vous concentrer sur la qualité des données , qui aborde la cause profonde de ces deux problèmes à la fois. Distilabel vous aide à synthétiser et à juger les données pour vous permettre de passer votre précieux temps à atteindre et à respecter des normes de haute qualité pour vos données .
La propriété des données pour affiner votre propre LLMS n'est pas facile, mais Distilabel peut vous aider à démarrer. Nous intégrons les commentaires d'IA de tout fournisseur LLM en utilisant une API unifiée.
Synthétisez et jugez les données avec les derniers articles de recherche tout en garantissant la flexibilité, l'évolutivité et la tolérance aux défauts . Vous pouvez donc vous concentrer sur l'amélioration de vos données et la formation de vos modèles.
Nous sommes un projet communautaire open source et nous aimons avoir de vos nouvelles. Voici quelques façons de s'impliquer:
Meetup communautaire: écouter ou présenter lors de l'un de nos événements bihebdomadaires.
Discord: obtenez un soutien direct de la communauté dans # Argilla-général et # Argilla-Help.
Feuille de route: les plans changent, mais nous aimons en discuter avec notre communauté, alors nous nous sommes encouragés à participer.
La communauté Argilla utilise Distilabel pour créer des ensembles de données et des modèles étonnants.
pip install distilabel --upgradeNécessite Python 3.9+
De plus, les extras suivants sont disponibles:
anthropic : pour l'utilisation de modèles disponibles dans l'API anthropique via l'intégration AnthropicLLM .cohere : pour l'utilisation de modèles disponibles dans Cohere via l'intégration CohereLLM .argilla : pour exporter les ensembles de données générés à Argilla.groq : pour l'utilisation de modèles disponibles dans GROQ à l'aide du client groq Python via l'intégration GroqLLM .hf-inference-endpoints : pour utiliser les points de terminaison d'inférence de face étreintes via l'intégration InferenceEndpointsLLM .hf-transformers : pour l'utilisation de modèles disponibles dans le package Transformers via l'intégration TransformersLLM .litellm : pour l'utilisation LiteLLM pour appeler n'importe quel LLM utilisant le format OpenAI via l'intégration LiteLLM .llama-cpp : Pour utiliser Llama-Cpp-Python Python Bindings pour llama.cpp via l'intégration LlamaCppLLM .mistralai : pour utiliser des modèles disponibles dans Mistral AI API via l'intégration MistralAILLM .ollama : pour l'utilisation d'Olllama et leurs modèles disponibles via l'intégration OllamaLLM .openai : Pour l'utilisation de modèles API OpenAI via l'intégration OpenAILLM , ou le reste des intégrations basées sur OpenAI et en s'appuyant sur son client en tant AnyscaleLLM , AzureOpenAILLM et TogetherLLM .vertexai : pour utiliser Google Vertex AI Modèles propriétaires via l'intégration VertexAILLM .vllm : Pour utiliser le moteur de service VLLM via l'intégration vLLM .sentence-transformers : pour générer des incorporations de phrases à l'aide de transformateurs de phrase.outlines : Pour utiliser la génération structurée de LLM avec des contours.instructor : pour utiliser la génération structurée de LLM avec l'instructeur.ray : Pour l'échelle et la distribution d'un pipeline avec Ray.faiss-cpu et faiss-gpu : pour générer des incorporations de phrases à l'aide de FAISS.text-clustering : pour utiliser le clustering de texte avec UMAP et Scikit-Learn.minhash : pour utiliser Minhash pour une détection en double avec DataSketch et NLTK. Pour exécuter l'exemple suivant, vous devez installer distilabel avec les hf-inference-endpoints supplémentaires:
pip install " distilabel[hf-inference-endpoints] " --upgradePuis courez:
from distilabel . llms import InferenceEndpointsLLM
from distilabel . pipeline import Pipeline
from distilabel . steps import LoadDataFromHub
from distilabel . steps . tasks import TextGeneration
with Pipeline (
name = "simple-text-generation-pipeline" ,
description = "A simple text generation pipeline" ,
) as pipeline :
load_dataset = LoadDataFromHub ( output_mappings = { "prompt" : "instruction" })
text_generation = TextGeneration (
llm = InferenceEndpointsLLM (
model_id = "meta-llama/Meta-Llama-3.1-8B-Instruct" ,
tokenizer_id = "meta-llama/Meta-Llama-3.1-8B-Instruct" ,
),
)
load_dataset >> text_generation
if __name__ == "__main__" :
distiset = pipeline . run (
parameters = {
load_dataset . name : {
"repo_id" : "distilabel-internal-testing/instruction-dataset-mini" ,
"split" : "test" ,
},
text_generation . name : {
"llm" : {
"generation_kwargs" : {
"temperature" : 0.7 ,
"max_new_tokens" : 512 ,
}
}
},
},
)
distiset . push_to_hub ( repo_id = "distilabel-example" ) Si vous construisez quelque chose de cool avec distilabel , envisagez d'ajouter l'un de ces badges à votre ensemble de données ou à votre carte de modèle.
[<img src="https://raw.githubusercontent.com/argilla-io/distilabel/main/docs/assets/distilabel-badge-light.png" alt="Built with Distilabel" width="200" height="32"/>](https://github.com/argilla-io/distilabel)
[<img src="https://raw.githubusercontent.com/argilla-io/distilabel/main/docs/assets/distilabel-badge-dark.png" alt="Built with Distilabel" width="200" height="32"/>](https://github.com/argilla-io/distilabel)
Pour contribuer directement à distilabel , consultez nos bons premiers problèmes ou en ouvrez un nouveau.
@misc { distilabel-argilla-2024 ,
author = { Álvaro Bartolomé Del Canto and Gabriel Martín Blázquez and Agustín Piqueres Lajarín and Daniel Vila Suero } ,
title = { Distilabel: An AI Feedback (AIF) framework for building datasets with and for LLMs } ,
year = { 2024 } ,
publisher = { GitHub } ,
journal = { GitHub repository } ,
howpublished = { url{https://github.com/argilla-io/distilabel} }
}