DataArcTech/DataArc-SynData-Toolkit
Synthetic Data Generation Platform By DataArcTech
DataArc SynData Toolkit – 何であるか
DataArc SynData Toolkit は、大規模言語モデル(LLM)向けの合成学習データを生成し、そのデータ上でモデルのファインチューニングを行うためのオープンソースPythonパッケージです。このプロジェクトは、モジュール化されたパイプライン(データ合成 → フィルタリング → オプションのモデル蒸留)と、FastAPI + ReactウェブUI、および事後訓練(Supervised Fine-TuningおよびGRPO)と評価(DeepEval経由)の組み込みサポートを統合しています。本プロジェクトはACL 2026システムデモで発表された論文に基づいています。
コア機能
| 機能 | 動作方法 |
|---|---|
| コードゼロでのデータ合成 | 単一のYAML設定ファイルを提供し、sdg generate … を実行するだけ。パイプラインはローカルコーパス、Hugging Faceデータセット、または教師モデルの蒸留により新しいサンプルを生成できます。 |
| 多言語・マルチモーダル対応 | 英語、アラビア語など低リソース言語をサポート。ローカル画像またはウェブクロールデータセットを使用して、VQA用のテキスト+画像ペアを合成可能。 |
| 事後訓練統合 | 組み込みのverlフレームワークを使用して、合成コーパス上でSFTまたはGRPOを直接実行(sdg train …)。 |
| モデル評価 | DeepEval(G‑Eval)を呼び出し、回答正しさ、フォーマット準拠、ペアワイズ好みを計算(sdg eval …)。 |
| 拡張可能なアーキテクチャ | コアモジュールは sdgsystem/ 下にあり(生成、再書式化、蒸留、評価、トレーナーなど)。開発者は BaseTaskConfig、BaseTaskExecutor、BaseRewriter などを継承してカスタムロジックを挿入可能。 |
| GUI | FastAPIバックエンド(REST + SSE)とReactフロントエンドにより、コマンドラインに触れる必要なく、パイプラインの設定、進捗の監視、評価結果の確認が可能。 |
クイックスタート(CLI)
# クローン&インストール(Python 3.10+ と uv パッケージマネージャーが必要)
git clone https://github.com/DataArcTech/DataArc-SynData-Toolkit.git
cd DataArc-SynData-Toolkit
pip install uv # uvがなければ
uv sync # 精確な依存関係をインストール
# 1️⃣ APIキーを含む .env を作成
cat > .env <<EOF
API_KEY=sk-… # OpenAIまたは互換LLM APIキー
BASE_URL=https://api.openai.com/v1 # オプションのカスタムエンドポイント
EOF
# 2️⃣ 合成データを生成(sdg.yamlは例の設定ファイル)
uv run sdg generate configs/sdg.yaml
# 3️⃣ 生成されたデータ上でモデルをファインチューニング
uv run sdg train configs/sft.yaml # GRPOの場合は grpo.yaml
# 4️⃣ ファインチューニング済みモデルを評価
uv run sdg eval configs/eval.yaml
同じ手順は、FastAPIサーバーを起動(uv run fastapi dev sdgsystem/app/main.py)し、Reactフロントエンドを起動(cd sdgsystem/webui && pnpm install && pnpm dev)することで、ウェブUIからも実行可能。
プロジェクト構成(概要)
configs/– 合成、SFT、GRPO、評価用の例のYAMLファイル。sdgsystem/– コアコード:generation/,distillation/– データ作成方法。rewriter/– 合成出力のフィルタリング/再書式化。trainer/– verlトレーニングフレームワークのラッパー。evaluation/&deepeval/– DeepEvalによる品質メトリクス。app/– FastAPIバックエンド。webui/– Reactフロントエンド。
verl/– 外部のverlライブラリのバンドル版(Apache‑2.0)。docs/– 詳細なユーザーガイド、ユースケース説明、依存関係リスト。
どんな人が使うべきか?
- 研究者:医療、金融、法務など特定ドメインの大規模合成コーパスが必要で、LLM性能を向上させたい人。
- プロダクトチーム:多言語データをワンクリックで生成し、すぐにモデルをファインチューニングしたい人。
- 開発者:カスタムデータソースや再書式化ルールを追加できる、即戦力のフレームワークを探している人。
ライセンスとコミュニティ
- Apache 2.0(コード)でライセンスされており、バンドルされたverlコンポーネントも同じライセンス。
- 活発なコミュニティチャンネル:Discord、WeChatグループ、X(Twitter)、LinkedIn。
- プルリクエストによる貢献を歓迎。通常のオープンソース貢献ワークフローに従います。
まとめ
DataArc SynData Toolkitは、合成データ生成、モデルファインチューニング、評価を完全にエンドツーエンドで提供する使いやすいCLIとオプションのGUIを備えた、包括的なソリューションです。モジュール構造により、既存のパイプラインを採用したり、多言語・マルチモーダルLLMプロジェクト用に新しいパイプラインを構築したりするのが容易です。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト