AI・機械学習
上級

LLM合成データ生成(Synthetic Data Generation)(エルエルエムゴウセイデータセイセイ)

LLM合成データ生成とは、大規模言語モデルのAPI呼び出しやローカル推論を通じて、学習用テキストデータを自動的に大量生産する技術であり、Self-Instruct・Evol-Instruct・Magpieなど多様な手法が存在する。

0 回閲覧
0 いいね

LLM合成データ生成とは

LLM合成データ生成(Synthetic Data Generation)とは、GPT-4・Claude・Llama・Mistralなどの大規模言語モデルを「データ生成器」として活用し、指示応答ペア・対話ログ・コードスニペット・推論チェーンなどの学習用テキストデータを自動的に大量生産する技術である。2023年のAlpacaプロジェクト以降、合成データ生成はLLM開発の標準的なパイプライン工程として定着した。

主要な合成データ生成パイプライン

合成データ生成の典型的なワークフローは以下の通りである。

  1. 種データ(Seed Data)準備: 少数の高品質な指示応答ペア(通常100〜500件)を人手で作成
  2. プロンプト設計: 生成モデルに与えるメタプロンプトを設計(タスク種別・難易度・フォーマット指定)
  3. 大量生成: API呼び出しまたはローカル推論で数万〜数百万件を生成
  4. 品質フィルタリング: 重複除去・長さフィルタ・品質スコアリング・毒性フィルタ
  5. 検証: 生成データのサンプリング評価(人手評価 or LLM-as-Judge)

代表的な生成手法の詳細比較

手法入力要件生成プロセス出力品質コスト目安代表プロジェクト
Self-Instruct種データ175件モデルが指示→入力→出力を自己生成中〜高API $200-500Alpaca, Dolly
Evol-Instruct既存指示セット段階的に複雑化(深化・拡張・制約追加)高API $500-2000WizardLM, WizardCoder
Orca方式タスク定義GPT-4に推論過程を含む詳細回答を生成させる非常に高API $2000-5000Orca, Orca 2
UltraChat対話トピック2つのLLMインスタンスが対話をシミュレーション高API $1000-3000UltraChat, OpenChat
Magpieなし(ゼロショット)LLMのオートリグレッシブ特性でプロンプトを自動生成中〜高API $100-300Magpie-Align
Textbooks方式トピック一覧教科書風の体系的テキストを生成非常に高API $3000-10000Phi-1, Cosmopedia

Self-Instructの動作メカニズム

Self-Instruct(Wang et al., 2022)は合成データ生成の基盤手法である。

[Step 1] 種データプール(175件の人手作成指示)からランダムにサンプリング
[Step 2] LLMに新しい指示(instruction)を生成させる
[Step 3] 生成された指示に対して入力(input)を生成
[Step 4] 指示+入力に対して出力(output)を生成
[Step 5] 品質フィルタ(長さ・重複・ROUGE類似度チェック)
[Step 6] フィルタ通過データを種データプールに追加
[Step 7] Step 1に戻り反復(通常3-5ラウンド)

最終的に52,000件以上の指示応答ペアを生成し、LLaMA 7Bのファインチューニングに使用されたのがStanford Alpacaプロジェクトである。

Evol-Instructの進化メカニズム

WizardLM(Xu et al., 2023)が提案したEvol-Instructは、既存の指示を段階的に「進化」させる手法である。

  • 深化(Deepening): 「Pythonでリストのソートを書いて」→「Pythonでカスタム比較関数を使った安定ソートをジェネリクス対応で書いて」
  • 拡張(Widening): 単一タスクから複数サブタスクへの展開
  • 制約追加(Adding Constraints): 「ただしメモリ使用量O(1)で」「ただし外部ライブラリ不使用で」
  • 具体化(Concretizing): 抽象的な指示を具体的なシナリオに変換

5段階の進化を適用することで、初期指示セット70Kから最終的に250K以上の多様な難易度の指示を生成。WizardLM 13Bはこのデータで学習し、ChatGPTの90%以上の性能をAlpaca Evalで達成した。

コスト最適化戦略

戦略削減効果トレードオフ
オープンモデル使用(Llama 3.1 70B等)API費用ゼロ(GPU計算のみ)GPT-4比で品質10-20%低下
バッチAPI利用(OpenAI Batch API)50%コスト削減24時間以内の非同期処理
短文生成→後処理で拡張30-50%トークン削減後処理パイプライン構築が必要
vLLMによるローカル推論スループット3-5倍向上初期GPU投資(A100 $10K+)
段階的品質向上(安価モデル→高品質モデル)60-70%コスト削減2段階パイプラインの設計が必要

2025-2026年の最新トレンド

  • 合成推論データ: OpenAI o1/o3スタイルの思考連鎖(Chain-of-Thought)データの合成生成が急増。DeepSeek-R1はLlama 3.1 70Bの推論出力で合成CoTデータを生成し、小型モデルに蒸留
  • マルチモーダル合成データ: テキスト+画像の合成ペア生成。LLaVA-Nextはマルチモーダル合成データで学習
  • 合成ツール呼び出しデータ: Function Calling・MCP対応の合成データ需要が急増
  • Magpie方式の普及: プロンプトテンプレート不要の完全自動生成が標準化

よくある質問(FAQ)

Q1: 合成データ生成に最適なモデルはどれか? A: 品質重視ならGPT-4o・Claude 3.5 Sonnet、コスト重視ならLlama 3.1 70B・Qwen2.5 72B。2025年以降はDeepSeek-V3やQwen3 235Bなどのオープンモデルが品質面でもGPT-4に迫っており、ライセンスフリーの合成データ生成が現実的になっている。

Q2: 合成データは何件あれば十分か? A: タスクと目標性能に依存する。LIMAの研究では厳選1,000件で実用的な性能を示したが、汎用的な指示追従能力には50K〜500K件が推奨される。コード生成特化なら10K〜100K件の高品質データで十分な場合が多い。

Q3: Evol-InstructとSelf-Instructはどちらが良いか? A: 目的による。汎用的な指示データの大量生成にはSelf-Instructが効率的。特定タスクの難易度制御や段階的な品質向上にはEvol-Instructが優れる。実務では両手法を組み合わせ、Self-Instructで初期データセットを作成→Evol-Instructで複雑化するパイプラインが一般的。

まとめ

  • 合成データ生成はSelf-Instruct・Evol-Instruct・Orca方式・Magpieなど多様な手法が確立
  • コスト最適化にはオープンモデル活用・バッチAPI・段階的品質向上が有効
  • 2026年時点ではLLM開発プロジェクトの90%以上が何らかの合成データを使用
  • 品質管理パイプラインの設計がプロジェクト成功の鍵