AI・機械学習
上級

Evol-Instruct(エボルインストラクト)

WizardLMが提案した、既存の指示データをLLMで段階的に複雑化・多様化する合成データ生成手法。簡単な指示を「深化」「拡張」の2方向に進化させ、高品質な難易度分布を持つ指示データセットを自動構築する。

0 回閲覧
0 いいね
2026/6/6 更新
関連タグ
Evol-Instruct
WizardLM
合成データ
instruction tuning
LLM

Evol-Instruct とは

Evol-Instructは、Xu Canら(Microsoft + MSRA)が2023年に提案した指示データ進化手法です。既存の簡単な指示データをLLMを使って段階的に複雑化・多様化することで、高品質で難易度分布に富んだ合成指示データセットを自動構築します。

問題意識

Self-Instructなどで生成された初期データは「比較的簡単な指示」に偏りがちでした。モデルを本当に強化するには、段階的に難しい問題への対応力が必要です。Evol-Instructはこの課題に取り組みます。

進化の2方向

In-depth Evolving(深化方向)

指示をより難しく・具体的に変換します:

  1. Add Constraints(制約追加): 「リストをソートせよ」→「メモリ使用量O(1)でin-placeソートせよ」
  2. Deepen(深化): 浅い問いをより専門的・技術的な問いへ
  3. Concretize(具体化): 抽象的な指示を具体的シナリオへ
  4. Increase Reasoning Steps(推論ステップ増加): 多段階の思考を要求
  5. Complicate Input(入力複雑化): データ入力を複雑にする

In-breadth Evolving(拡張方向)

既存指示から全く新しいカテゴリの指示を生成します。多様なトピックへの分布を広げます。

アルゴリズムフロー

初期データ(Alpaca 52k等)
  ↓
各指示にEvolver LLM(ChatGPT)適用
  ├ In-depth: ランダムに深化手法選択
  └ In-breadth: 新カテゴリへの転換
  ↓
Eliminator LLMでフィルタリング
  (「わかりません」応答を除外・コピー劣化を除外)
  ↓
進化済み指示プールへ追加
  ↓
繰り返し(複数ラウンド)

WizardLMの成果

70kの進化済み指示データでLLaMAをファインチューニングしたWizardLMは、Vicuna-13B・Alpaca-13BをMT-Benchで上回り、ChatGPT(gpt-3.5-turbo)に匹敵する応答品質を達成しました。

派生応用

  • WizardCoder: Code Evol-Instructを適用。HumanEval 78.6%でGPT-4を一時的に上回る
  • WizardMath: Math Evol-Instructを適用。GSM8K 92.0%・MATH 52.6%達成
  • MagicCoder: Evol-Instructの変種でコード特化合成データを生成

Self-Instructとの違い

比較軸Self-InstructEvol-Instruct
アプローチゼロからデータ生成既存データを進化
難易度分布自然発生(やや簡単寄り)意図的に難易度を上げる
多様化手法ランダム生成系統的な進化方向

まとめ

Evol-Instructは「既存データを捨てず、進化させる」という発想で指示チューニングデータの質と難易度分布を改善します。数学・コード等の専門領域でオープンソースモデルが商用モデルに迫る性能を達成した重要な手法です。

この記事について
カテゴリーAI・機械学習
難易度上級
作成日2026/6/6