Distilabelは、検証済みの研究論文に基づいて、高速で信頼性の高いスケーラブルなパイプラインを必要とするエンジニアの合成データとAIフィードバックのフレームワークです。
開始したい場合は、ドキュメントを確認することをお勧めします。好奇心が強い、そしてもっと知りたいですか?読み続けてください!
蒸留は、従来の予測NLP(分類、抽出など)、または生成および大規模な言語モデルシナリオ(命令後の対話、審査など)など、さまざまなプロジェクトの合成データとAIフィードバックを生成するために使用できます。 Distilabelのプログラムアプローチを使用すると、データ生成とAIフィードバックのためにスケーラブルなパイプラインを構築できます。蒸留の目標は、AIフィードバックを生成および判断するための検証された研究方法論に基づいて、高品質で多様なデータセットを迅速に生成することにより、AI開発を加速することです。
計算は高価であり、出力品質が重要です。これらの問題の両方の根本的な原因に一度に取り組むデータ品質に焦点を当てるのを支援します。 Distilabelは、データを統合および判断して、データの高品質の基準を達成し、維持するための貴重な時間を費やすことができます。
独自のLLMSを微調整するためのデータの所有権は簡単ではありませんが、蒸留はあなたが始めるのに役立ちます。 1つの統一されたAPIを使用して、あらゆるLLMプロバイダーからAIフィードバックを統合します。
柔軟性、スケーラビリティ、フォールトトレランスを確保しながら、最新の研究論文でデータを統合および判断します。そのため、データの改善とモデルのトレーニングに焦点を当てることができます。
私たちはオープンソースのコミュニティ主導のプロジェクトであり、あなたからの連絡が大好きです。関与する方法は次のとおりです。
コミュニティミートアップ:隔週のイベントの1つで聞いたり、紹介したりします。
Discord:#Argilla-Generalと#Argilla-Helpのコミュニティから直接サポートを受けてください。
ロードマップ:計画は変更されますが、私たちはそれらをコミュニティと話し合うのが大好きなので、参加することを奨励してください。
Argillaコミュニティは、蒸留を使用して驚くべきデータセットとモデルを作成します。
pip install distilabel --upgradePython 3.9+が必要です
さらに、次のエキストラが利用可能です。
anthropic : AnthropicLLM統合を介して人類APIで利用可能なモデルを使用するため。cohere : CohereLLM統合を介してCohereで利用可能なモデルを使用するため。argilla :生成されたデータセットをArgillaにエクスポートするため。groq :GROQPythonクライアントを使用してGROQで利用可能なgroqで利用可能なモデルを使用して、 GroqLLM統合を介して使用します。hf-inference-endpoints : InferenceEndpointsLLM統合を介して、抱き合っている顔の推論エンドポイントを使用するため。hf-transformers : TransformersLLM統合を介してトランスフォーマーパッケージで利用可能なモデルを使用するため。litellm : LiteLLM統合を介してOpenAI形式を使用してLiteLLMを使用してLLMを呼び出すため。llama-cpp : LlamaCppLLM統合を介してllama.cppにllama-cpp-python python bindingsを使用するため。mistralai : MistralAILLM統合を介してMistral AI APIで利用可能なモデルを使用するため。ollama : OllamaLLM Integrationを介してOllamaとその利用可能なモデルを使用するため。openai : OpenAILLM統合を介してOpenai APIモデルを使用するか、Openaiに基づいて統合の残りの部分を使用し、 AnyscaleLLM 、 AzureOpenAILLM 、およびTogetherLLMなどのクライアントに依存しています。vertexai : VertexAILLM統合を介してGoogle Vertex AI独自モデルを使用するため。vllm : vLLM統合を介してVLLMサービングエンジンを使用するため。sentence-transformers :文の変換器を使用して文の埋め込みを生成するため。outlines :LLMの構造生成をアウトラインで使用するため。instructor :インストラクターとLLMSの構造化生成を使用するため。ray :レイとのパイプラインのスケーリングと配布用。faiss-cpuおよびfaiss-gpu :FAISSを使用して文の埋め込みを生成するため。text-clustering :UMAPとScikit-Learnでテキストクラスタリングを使用するため。minhash :DataSketchおよびNLTKを使用した重複検出にMinhashを使用するため。次の例を実行するにはhf-inference-endpointsを追加してdistilabelインストールする必要があります。
pip install " distilabel[hf-inference-endpoints] " --upgradeその後、実行:
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" )distilabelでクールなものを構築する場合は、これらのバッジの1つをデータセットまたはモデルカードに追加することを検討してください。
[<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)
distilabelに直接貢献するには、私たちの良い最初の問題を確認するか、新しい問題を開きます。
@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} }
}