Orca(Microsoft)(オルカ)
OrcaはMicrosoft Researchが2023年に発表した、GPT-4の詳細な推論プロセス(思考の連鎖)を教師データとして小型LLMに蒸留するInstruction Tuning手法であり、推論能力の効率的な転移を実現した。
Orca(Microsoft Research)
Orcaは、Microsoft Researchが2023年6月に発表したInstruction Tuning手法である。従来のAlpacaやVicunaが「最終回答」のみを学習していたのに対し、Orcaは「GPT-4がどのように推論して回答に至ったか」という思考プロセス全体を教師データとして蒸留する点が革新的だった。
概要と研究動機
Alpaca系プロジェクトの限界として、小型モデルが教師モデルの「結論」は模倣できても「推論過程」は学習できていない問題(imitation gap)が指摘されていた。例えば、数学の問題で「答えは42」という出力だけを学習しても、新しい問題を解く能力は身につかない。
Orcaは以下のアプローチでこの課題に取り組んだ:
- 説明チューニング(Explanation Tuning): GPT-4に「ステップバイステップで考えてください」「理由を説明してください」などのシステムプロンプトを付与し、詳細な推論過程付きの応答を生成
- プログレッシブ学習: まずGPT-3.5(ChatGPT)の出力5M件で学習し、その後GPT-4の出力1M件でさらに洗練する2段階学習
データ構成と生成プロセス
| データソース | 件数 | 目的 | 推定コスト |
|---|---|---|---|
| FLAN Collection指示 | 起点 | タスクの多様性確保 | - |
| ChatGPT推論出力 | 5,000,000件 | 基礎的推論能力の獲得 | 約$15,000 |
| GPT-4推論出力 | 1,000,000件 | 高度な推論能力の洗練 | 約$50,000 |
| 合計 | 6,000,000件 | - | 約$65,000 |
16種類のシステムプロンプトを使い分けることで、推論スタイルの多様性を確保:
- "Explain step-by-step" → 段階的推論
- "Think like a scientist" → 科学的検証
- "Consider multiple perspectives" → 多角的分析
- "Show your work" → 計算過程の明示
ベンチマーク性能
Orca 13B(LLaMA 13Bベース)の主要ベンチマーク:
| ベンチマーク | Orca 13B | Vicuna 13B | ChatGPT | GPT-4 |
|---|---|---|---|---|
| BBH(推論) | 49.7% | 37.2% | 52.0% | 68.0% |
| AGIEval | 42.0% | 33.5% | 45.0% | 56.0% |
| SAT(数学) | 71.0% | 58.0% | 74.0% | 85.0% |
| LSAT(論理) | 62.0% | 48.0% | 65.0% | 78.0% |
| GRE(言語) | 68.0% | 55.0% | 70.0% | 82.0% |
特筆すべきは、13Bパラメータという小型モデルでChatGPTの90%以上の性能を推論タスクで達成している点である。
Orca 2(2023年11月)
Microsoft Researchは改良版Orca 2を2023年11月に公開:
- Cautious Reasoning: モデルに「この問題には段階的推論が適切か、直接回答が適切か」を判断させる能力を追加
- 推論戦略の選択: 問題の種類に応じて、step-by-step、direct answer、recall-then-generate等の複数の推論戦略を使い分け
- Orca 2 7B/13B: Llama 2 7B/13Bベース、Hugging Faceで公開(Microsoft Research License)
- 15ベンチマーク中11でLlama 2 Chat 70Bを上回る: 13Bモデルが70Bの5倍大きなモデルを超える推論性能
技術的特徴
Orcaの核心的なイノベーション:
- 思考プロセスの蒸留: 最終回答だけでなく、途中の推論ステップを含む教師データで学習することで、未知の問題への汎化能力を大幅に向上
- プログレッシブ学習: 弱い教師(ChatGPT 5M件)→ 強い教師(GPT-4 1M件)の順で段階的に学習。最初から強い教師だけで学習するよりも安定した性能向上
- システムプロンプト活用: 推論スタイルを多様化するために16種類のシステムプロンプトを使い分け、偏りのない推論能力を獲得
- FLAN Collection活用: タスクの多様性をFLAN Collectionから継承し、推論能力の汎化を促進
派生研究と影響
Orcaの「推論プロセス蒸留」アプローチは広く応用された:
- WizardMath(2023年): 数学推論に特化したEvol-Instruct + 推論プロセス蒸留
- Phi-1/Phi-2(Microsoft、2023-2024年): 高品質合成データ(textbooks are all you need)で1.3B/2.7Bの小型高性能モデル
- Orca-Math(2024年): 数学推論特化、200K件のデータでGrade-School Mathを高精度に解決
- AgentInstruct(2024年): Orcaの発展形、エージェント的タスク(ツール使用、計画立案)のInstruction Tuning
よくある質問(FAQ)
Q1: OrcaとAlpacaの根本的な違いは何ですか? A: Alpacaは教師モデルの「最終回答」のみを学習しますが、Orcaは「推論の過程」を含む応答全体を学習します。例えば数学問題で、Alpacaは「答え: 42」を学習し、Orcaは「まずxについて整理すると...次に代入すると...したがって答えは42」という全過程を学習します。
Q2: Orca 2は商用利用できますか? A: Orca 2はMicrosoft Research Licenseで公開されており、研究目的での使用は自由ですが、商用利用には制限があります。商用利用が必要な場合は、Orcaの手法(Explanation Tuning)をLlama 3.1やQwen 3などのオープンライセンスモデルに適用する方法を検討してください。
Q3: Orcaの手法を自分のプロジェクトに適用するにはどうすればよいですか? A: 基本的な手順は、(1) 対象ドメインの質問を用意、(2) GPT-4oに「ステップバイステップで推論して回答してください」のシステムプロンプトで回答を生成、(3) 質問+推論付き回答のペアデータで対象モデルをLoRA/QLoRAファインチューニング、です。Hugging Face TRLのSFTTrainerで実装可能です。
Q4: 推論プロセス蒸留のデータ量はどの程度必要ですか? A: Orca論文では6M件を使用していますが、ドメイン特化の場合は10K-100K件でも効果があります。重要なのは推論の多様性であり、同じ推論パターンの繰り返しは効果が逓減します。Orca-Mathでは200K件で数学推論に特化した高い性能を達成しています。
まとめ
- Orcaは推論プロセス全体を蒸留するExplanation Tuning手法を確立
- 13BモデルでChatGPTの90%以上、Orca 2 13BではLlama 2 Chat 70Bを上回る推論性能
- プログレッシブ学習(弱い教師→強い教師)で安定した性能向上を実現
- Phi、WizardMath、AgentInstruct等の後続研究に大きな影響を与えた
- 「模倣ギャップ」問題を解決し、小型モデルの実用性を大幅に向上させた