AI・機械学習
上級
Magpie合成データ(マグパイゴウセイデータ)
プロンプトを用意せず、LLMのデコード機構を直接利用して指示と応答を同時生成する合成データ手法。LLMに「Human:」だけを与えると自動的に指示を補完し続ける性質を利用し、大量の自然な指示データを低コストで生成できる。
0 回閲覧
0 いいね
2026/6/6 更新
関連タグ
Magpie
合成データ
prompt-free
alignment
LLM自己生成
Magpie合成データとは
Magpieは、Xuら(2024, University of Waterloo等)が発見したプロンプトなしでLLMから指示データを直接抽出する合成データ生成手法です。従来のSelf-InstructやEvol-Instructが「シードプロンプトを使って指示を生成させる」のに対し、MagpieはLLMのデコード機構を活用してプロンプトなしで無限に指示データを生成します。
核心的な発見
Llama-3-Instructなどのアライメント済みモデルは、チャット形式の特殊トークン(BOS + システムプロンプト + <|start_header_id|>user<|end_header_id|>)を入力すると、そこに続くuserの指示を自動的に補完し始めます。
これはInstruction Tuning時の学習パターンから生じる現象で:
- モデルは「user:」の後に自然な指示が続くことを大量に学習している
- 空のuser部分に対してモデルが「埋めるべき内容」を生成する
- 生成された指示にさらにassistantとして応答させることで、指示+応答ペアが完成する
データ生成パイプライン
Step 1: プレフィックス構築
<BOS>
<|start_header_id|>user<|end_header_id|>
(ここでストップ→LLMが指示を生成開始)
Step 2: 指示の自動生成
LLMが指示テキストを生成
EOS token検出で終了
Step 3: 応答生成
生成された指示に対してLLMが応答
Step 4: 品質フィルタリング
難易度・安全性・多様性スコアで選別
Step 5: 大規模実行(並列処理)
GPU並列で数百万件を効率生成
Magpie-Pro-1Mの成果
Llama-3-8B-Instructから生成した100万件のMagpie-Pro-1M-v0.1で訓練したモデルは:
- AlpacaEval 2.0: Llama-3-8B-Instruct公式を上回る
- MT-Bench: 8.0以上(GPT-3.5レベル)
- WizardLM-2・Mistral-Instructを上回る性能
品質フィルタリング
生成された指示は以下でフィルタリング:
- 難易度スコア: Llama-3-70Bに評価させ1〜5スコア。低スコア(1)は除外
- 安全性チェック: LlamaGuardで有害コンテンツを排除
- 多様性確保: MinHashによる近重複除去
- 言語フィルタ: 英語以外の高比率データを制限(多言語版は別途)
他手法との根本的な違い
| 比較軸 | Self-Instruct | Evol-Instruct | Magpie |
|---|---|---|---|
| シードデータ | 必要(175件+) | 必要(既存指示) | 不要 |
| 外部LLM利用 | 必要(GPT-3等) | 必要(ChatGPT) | 不要(自己生成) |
| 生成コスト | 中 | 中〜高 | 低(API不要) |
| スケール | 数万〜 | 数万〜 | 数百万まで可 |
多言語・専門ドメインへの展開
- Magpie-Multilingual: 7言語でMagpie手法を適用
- Magpie-Math: 数学特化指示データを自動生成
- Magpie-Code: コード生成特化データセット
まとめ
MagpieはInstruction-tuned LLMが本質的に持つ「指示補完」能力を発見・活用した革新的手法です。外部APIもシードデータも不要なため、オープンモデルさえあれば誰でも大量の高品質合成データを生成できます。合成データ生成の民主化において重要な位置を占めています。