Hugging Face Synthetic Data Generator

Hugging Faceは、自然言語プロンプトを使用して大規模言語モデル(LLM)を介してカスタムデータセットを作成できるように設計された、ノーコードアプリケーションである「Synthetic Data Generator」をリリースしました。このツールは、実世界のデータを模倣した人工情報を生成するプロセスを簡素化し、コードを書くことなく既存のデータセットを拡張または強化することで、ユーザーがデータの制限を克服できるようにします。

コア機能とパイプライン

Synthetic Data Generatorは、合成データパイプラインを通じて、ユーザーのカスタムプロンプトを使用可能なデータセットに変換します。このプロセスは、distilabelフレームワークと無料のHugging Face text-generation APIによって駆動されています。

サポートされているデータセットタスク

このツールは現在、主に2つのタイプのデータ生成をサポートしています:

  • Text Classification(テキスト分類): このプロセスには、多様なテキストの生成と、それらのテキストへのラベル割り当てという、2つのLLM駆動のステップが含まれます。例として、合成ニュース記事を8つのクラスに分類する argilla/synthetic-text-classification-news データセットがあります。
  • Chat Datasets(チャットデータセット): これらのデータセットは、教師あり微調整(SFT)に使用され、LLMがチャットインターフェースを介して対話できるようにします。例として、カスタマーサポートのシナリオ向けに設計された argilla/synthetic-sft-customer-support-single-turn データセットがあります。

無料のHugging Face APIを使用すると、このツールは通常、テキスト分類で毎分約50サンプル、チャットデータセットで毎分20サンプルを生成します。

3ステップの生成プロセス

このアプリケーションは、プロンプトから完成したデータセットへの効率的なワークフローをユーザーに提供します:

  1. データセットの記述: ユーザーは、目標や、例示的なユースケースを含む、必要とするアシスタントのタイプについて詳細な説明を提供します。
  2. 設定と微調整: ツールは、説明に基づいてサンプルデータセットを生成します。ユーザーは、システムプロンプトやタスク固有の設定を調整し、結果が満足いくものになるまでサンプルの保存と再生成を繰り返すことができます。
  3. 生成とプッシュ: ユーザーは、データセット名、組織、生成するサンプル数、および「temperature」(生成の創造性を制御)を定義します。最終的な出力は、ArgillaとHugging Face Hubに直接保存されます。

レビュー、キュレーション、およびモデルトレーニング

データの品質を確保するために、このジェネレーターは、AIエンジニアとドメインエキスパートのためのコラボレーションツールであるArgillaと直接統合されています。この統合により、ユーザーはセマンティック検索や構成可能なフィルターを使用して、合成データセットを探索および評価できます。キュレーションされたデータセットは、モデルトレーニングのためにHugging Face Hubに再度エクスポートできます。

トレーニングフェーズでは、Hugging FaceはAIモデルを作成するためのノーコードツールであるAutoTrainの使用を推奨しています。ユーザーはタスク(例:Text Classification)を選択し、データセットソースを提供し、Hugging FaceのCPUハードウェア上でモデルをトレーニングできます。

高度なカスタマイズとデプロイ

技術的なユーザー向けに、Synthetic Data Generatorは、パイプラインをスケールおよびカスタマイズするためのいくつかの高度なオプションを提供しています:

パフォーマンスと精度のチューニング

ツールをプライベートなSpaceとして複製し、環境変数を変更することで、ユーザーは以下のことが可能です:

  • モデルの変更: デフォルトの meta-llama/Llama-3.1-8B-Instruct から、meta-llama/Llama-3.1-70B-Instruct やOpenAIのモデル(例:BASE_URLhttps://api.openai.com/v1/に設定してgpt-4oを使用)などの他のモデルに切り替えることができます。
  • スループットの向上: APIプロバイダーの制限に応じて、BATCH_SIZE(デフォルトは5)をより高い値に調整して、毎分生成されるサンプル数を増やします。
  • プライベート統合: ARGILLA_URLARGILLA_API_KEYを設定することで、プライベートなArgillaインスタンスに接続できます。

ローカルデプロイとオープンソース

このツールはApache 2ライセンスの下でリリースされており、GitHubで利用可能です。ローカルでの修正や適用のために、pip install synthetic-dataset-generator を介してPythonパッケージとしてインストールできます。

将来のロードマップ

Hugging Faceは、以下を含むSynthetic Data Generatorへの新機能の追加に積極的に取り組んでいます:

  • Retrieval Augmented Generation (RAG) のサポート。
  • 「LLMs as a Judge」を使用したカスタム評価。

Sources