📝

Microsoft Research : Phi-4 Technical Report

2024/12/20に公開

https://arxiv.org/abs/2412.08905

要約

  1. データ品質を重視した学習手法

    • 従来の web コンテンツや生コードではなく合成データを戦略的に活用
    • GPT-4 をティーチャーモデルとして活用しつつ STEM 関連タスクでは教師モデルを上回る性能を実現
    • 合成データ生成に multi-agent prompting、自己修正ワークフロー、指示反転などを採用
  2. Model アーキテクチャーと性能

    • phi-3 アーキテクチャーをベースに tiktoken トークナイザーを採用
    • コンテキスト長は 4096 から 16K に拡張
    • GPQA や MATH などの推論タスクで大規模モデルと同等以上の性能を達成
  3. トレーニング手法

    • Pre-training, Mid-training, Post-training の 3 段階で構成
    • Pivotal Token Search による DPO (Direct Preference Optimization) を実装
    • 合成データと実世界データを最適な比率で混合
  4. ベンチマーク結果

    • 同規模の Qwen-2.5-14B と比較し 12 項目中 9 項目で優位
    • SimpleQA など一部タスクでは低スコアだが意図的な設計による結果
    • 11 月 2024 AMC テストでは大規模モデルを上回る性能を示す

Abstract

Microsoft Research が開発した 14B パラメーターの大規模言語モデル phi-4 はデータ品質を重視したトレーニング手法を採用した

特徴 :

  • Web コンテンツやコードに依存する他モデルと異なり学習プロセス全体で合成データを活用
  • 従来の phi モデルは GPT-4 の機能を蒸留する手法を採用していたが phi-4 は STEM 関連タスクで教師モデルを上回る性能を示す
  • phi-3 アーキテクチャーに僅かな変更を加えデータ品質向上、学習カリキュラム最適化、Post-training 手法改良により推論タスクで高い性能を達成

1 Introduction

LLM における近年の発展によりデータ品質の向上はモデルとデータセットサイズによるスケーリングと同等以上の効果を示す事が判明

phi-4 の主要特徴 :

  • 14B パラメーターモデル
  • 推論重視タスク向け合成データ生成手法
  • 学習カリキュラムと混合データを最適化
  • Post-training 技術を革新

データ構成 :

  • 合成データが学習データの大部分を占める
  • Multi-agent prompting, 自己修正ワークフロー、指示反転などの技術で生成
  • 生成データは強力な推論力と問題解決能力をもたらす
  • Post-training では rejection sampling と DPO の新手法を採用

3 つのコア要素 :

  1. Pre-training と Mid-training 用合成データ : 推論と問題解決を重視し、多様性と関連性を確保

  2. 高品質実世界データのキュレーションとフィルタリング : Web コンテンツ、ライセンス済み書籍、コードリポジトリーから深い推論と教育価値を持つシードを抽出

  3. Post-training : SFT データセット精緻化と pivotal token search による新しい DPO ペア生成技術を実装

Table 1

1.1 Addressing Overfitting and Data Contamination

Benchmark over fitting 問題への対策として以下を実施

データ汚染対策 :

  • 事前学習データの de-contamination プロセスを強化
  • Benchmark test set が Web コーパスへ漏洩しないようにする

AMC ベンチマーク評価 :

  • 2024 年 11 月実施の AMC-10/12 数学コンテストで評価
  • トレーニングデータ収集後に実施された新規テストを活用
  • 4 種のテストで各 25 問、最高スコア 150 点
  • 同規模モデルだけでなく大規模フロンティアモデルも上回るスコアを達成

Contamination Proof Benchmark :

  • GPQA など Web 上に存在しない独自問題を重視
  • 内部ベンチマークは主にチーム作成のオリジナルプロンプトで構成

長期 Chain of Thought model :

  • OpenAI O1, DeepSeek-R1-Lite-Preview, Qwen/QwQ-32B-Preview など
  • 4 倍のトークン数と 2 倍以上のパラメーター数を必要とするため phi-4 とは異なるクラスに分類

2 Approach to Data

  • Phi-4 の事前学習は合成データに大きく依存している
  • 実世界データは補完的に使われる他、合成データのシードとしても使われる

2.1 Purpose of Synthetic Data

合成データを活用する主要な利点

構造的かつ段階的な学習 :

  • 実世界データセットは現トークンと次トークン間の関係が複雑で間接的
  • 合成データは LM により生成され予測可能なパターンを持つ
  • Step by Step 推論チェーンにより学習効率を向上
  • 複雑な問題を消化可能な形式で提示

推論コンテキストとの整合性 :

  • LM の出力形式に近い構造を持つ
  • Pre-training 時の経験と推論時のシナリオが一致
  • Web フォーラムなどと異なるスタイルを LM チャット用に最適化

原則 :

  1. 多様性 : 各ドメインのサブトピックとスキルを包括的にカバー
  2. ニュアンスと複雑性 : エッジケースと高度な例を含む非自明な事例を重視
  3. 精度 : コードの実行性、証明の妥当性、説明の正確性を確保
  4. Chain-of-Thought : 段階的なアプローチによる体系的な推論を促進

2.2 Synthetic Data for Pre-training and Mid-training

50 種類の合成データセットを作成し、約 400B のトークンを生成

Seed Curation :

  • Web 及び Code-based Seeds : 教育価値の高いコンテンツを 2 段階で選別
  • 質問データセット : 複数回答生成による一貫性評価で難易度バランスを調整
  • シード問題から QA ペア生成 : 論理的な推論チェーンを含むテキストから QA を抽出

データ生成プロセス :

  1. リライトと拡張 : Multi-step prompting によりシードを教育コンテンツに変換
  2. 自己修正 : フィードバックループによる反復的改善を実施
  3. 指示反転 : コードやタスクから指示を生成し、高精度な対応関係を確保
  4. Validation :
    • コード : 実行テストで検証
    • 科学データ : 関連性、根拠、難易度のバランスを確認

品質管理 :

  • フィルタリング基準に基づきシードを選別
  • 段階的な品質評価プロセス
  • 生成データと指示の整合性確認
  • 複数のバリデーション層による検証

2.3 Curation and Filtering of Web and Q&A Data

Q&A データセット構築 :

  • 数千万件の高品質問題と解答を収集
  • パブリック Web サイト、既存データセット、外部データセットを活用
  • 正解不明な問題は合成生成した解答で代替
  • マジョリティー投票による精度向上を実施
  • Benchmark test set との重複を排除

Web Data Filtering :

  1. Targeted Acquisitions

    • arXiv, PubMed Central, GitHub など高品質リポジトリーを収集
    • ライセンス済みコンテンツを優先的に取得
  2. Web フィルタリング手法

    • フォーラム、ブログ、教育コンテンツから高品質ドキュメントを選別
    • LLM による約 10^6 件のアノテーションでトレーニングした分類器を使用
    • STEM 以外のコンテンツも適切にバランス
  3. 多言語データ処理

    • fastText による 176 言語の分類
    • CommonCrawl と Wikipedia から多言語コンテンツを抽出
    • 同一の品質フィルタを多言語に適用
  4. Custom Extraction and Cleaning Pipelines

    • TeX, ePub, Word, PDF など多様なフォーマットに対応
    • DOM ツリー解析による構造的なコンテンツ抽出
    • 方程式、コード、表、スレッド構造の保持を重視

2.4 Post-Training datasets

Post-Training データセットは以下の 2 つから構成

  1. SFT (Supervised Fine-Tuning) データセット

    • Public datasets と合成データから厳選したユーザープロンプトを使用
    • 複数のモデルでレスポンスを生成
    • LLM ベース評価プロセスで最適な応答を選別
  2. DPO (Direct Preference Optimization) データ

    • Rejection sampling と LLM 評価に基づく DPO ペアを生成
    • Pivotal token ベースのペア生成手法を一部導入
    • 上記アプローチと合わせてハイブリッドな最適化を実現

この 2 段階アプローチによりモデルの応答品質と指示への追従性を向上させ、より自然な対話能力を実現

3 Pre-training details

モデルの基本構成 :

  • Decoder-only トランスフォーマーアーキテクチャーを採用
  • パラメータ数 14B
  • デフォルト コンテキスト長 4096
  • tiktoken トークナイザーで多言語サポート強化
  • ボキャブラリーサイズ 100,352
  • phi-3-medium から 4K コンテキスト全体に full attention を適用

トレーニング仕様 :

  • 約 10T トークンでプレトレーニング実施
  • ピーク学習率 0.0003
  • 重み減衰定数 0.1
  • Global Batch size : 5760
  • ウォームアップとディケイに線形スケジュール採用
  • Mid-training でコンテキスト長を 16K に拡張

ベンチマーク評価 :

  • MMLU (5-shot)
  • MMLU-pro
  • ARCC (1-shot)
  • TQA
  • MBPP
  • MATH
  • GSM8k

各タスクで対応する few-shot プロンプトを使用し評価を実施

phi-3-medium と比較し大半の指標で性能向上を達成

3.1 Data Composition in Pre-training

phi-3 の 2 フェーズ トレーニング手法に関する主要な観察

Phase 1 :

  • フィルタリング済み Web データが主体
  • 学習トークンの大部分を使用

Phase 2 :

  • 主に合成データを使用
  • 高度な推論を含む Web データを少量混合

観察された現象 :

  1. Web データセットは推論重視ベンチマークで限定的な効果
  2. 合成データのみでトレーニングしたモデルは知識ベースのベンチマークで性能低下

検証実験 :

  • 13B パラメーターモデルを合成データのみでトレーニング
  • データは Web リライトと他の合成データに分類
  • phi-3 との比較で多くのベンチマークで改善を確認
  • TriviaQA など知識ベースのタスクでは大幅な性能低下

これらの結果から Web データと合成データの最適な組み合わせを検討し phi-4 のデータ構成を決定


3.2 Data Mixture

事前学習におけるデータ混合の最適化プロセス

トークンの配分 :

  1. 合成データ
  2. Web リライト
  3. フィルター済み Web(推論 / 知識重視で分類)
  4. Target acquisition(アカデミック、書籍、フォーラム)
  5. Code data

配分最適化プロセス :

  • 1T トークンの短期トレーニングで検証
  • 7B モデルでの実験結果を 14B に転用
  • データ混合の差が十分大きい場合モデルスケール間で高いランク相関を確認

最終的な混合比率 :

  • Web および Web リライト : 30% (各 15%)
  • 合成データ : 40%
  • コード データ : 20%
  • Target acquisition : 10%

ユニークトークン数 :

  • フィルター済み Web : 1.3T
  • コード : 820B
  • Target acquistion : 580B
  • Web リライトと合成 : 各 290B


3.3 Midtraining Details

Mid-training の主な特徴 :

  • コンテキスト長を 4K から 16K に拡張
  • トークン 250B で実施
  • rope position エンコーディングのベース周波数を 250K に増加
  • プレトレーニング時の最大学習率から 1/10 に低減

長いコンテキストに対する性能評価は HELMET を使用し以下のタスクを実施 :

  1. Recall

    • ランダム生成した長い JSON ファイルから指定キー値を取得
    • SubEM メトリックで評価
  2. RAG

    • NaturalQuestions, HotpotQA, PopQA の複数データセットを使用
    • 複数 Wikipedia ドキュメントからの回答を評価
  3. Re-rank

    • MSMARCO データセットで上位 10 ドキュメントを再ランク付け
    • nDCG@10 メトリックで評価
  4. ICL (In-context Learning)

    • TREC, Banking77, NLU, CLINC150 で多数ショット学習を評価
    • F1 スコアを使用
  5. QA/Summ

    • NarrativeQAv2 で長文ドキュメントからの質問応答を評価
    • MultiLexSum で長文法的ドキュメントの要約を実施
    • GPT-4o による採点を実施

全タスクで 5 回の実行結果を平均化し 8K および 16K のコンテキスト長で評価を実施

4 Post-Training

モデル変換

  • プレトレーニング済みモデルを AI アシスタントへ変換
  • chatml フォーマットでチャット調整を実施

3 段階のトレーニング プロセス

  1. SFT (Supervised Fine-Tuning)

    • 学習率 10^-6 でチューニング
    • 数学、コーディング、推論など多様なドメインのデータを使用
    • 40 言語の多言語データを含む約 8B トークンを処理
  2. DPO Stage 1 (Pivotal Token DPO)

    • Pivotal Token Search による DPO ペア生成
    • 数学、コーディング、安全性など複数カテゴリーで最適化
    • トークンレベルで選好最適化を実現
  3. DPO Stage 2 (Judge-guided DPO)

    • GPT-4o を使った評価ベース DPO
    • 約 85 万ペアの選好データを生成
    • 正確性、スタイル、詳細度でレスポンスを評価

各段階で異なる最適化目標を設定し、総合的な性能向上を達成

4.1 Supervised Fine-Tuning

プレトレーニング済みモデルに対して学習率 10^-6 で Fine-tuning を実施

データ構成 :

  • 数学
  • コーディング
  • 推論タスク
  • 会話スキル
  • モデルアイデンティティー
  • セーフティー
  • 40 言語の多言語データ

トレーニング仕様 :

  • 約 8B トークンを使用
  • chatml フォーマットでフォーマット化
  • 多様なドメインで高品質データを生成

このプロセスにより特に対話能力と多言語理解の強化を実現

4.2 Direct Preference Optimization

Round 1 (Pivotal Token DPO) :

  • 数学、コーディング、推論、RAI データをカバー
  • Pivotal Token Search (PTS) 手法を導入
  • データ構成 :
    • セーフティーデータ : 3,000 サンプル
    • 汎用 QA : 132,859 サンプル
    • 数学 : 76,552 サンプル
    • Python : 16,080 サンプル
    • 他プログラミング言語 : 21,806 サンプル

Round 2 (Judge-guided DPO) :

  • GPT-4o, GPT-4t, 自身のモデルからレスポンスを生成
  • GPT-4o をジャッジとして正負のラベルを付与
  • 精度、スタイル、詳細度で評価を実施
  • データ構成 :
    • セーフティーデータ: 43,842 サンプル
    • 総合評価 : 266,000 サンプル
    • 精度評価 : 532,000 サンプル

両ステージでセーフティーとハルシネーション低減データを 1-5% 混合

Pivotal Token Search (PTS) の基本概念 :

  • トークン単位で生成プロセスを追跡し成功確率が大きく変化するポイントを特定
  • 単一トークンが解答の成否に与える影響を評価
  • 成功確率の変化が最も大きいトークンを Pivotal Token として選定

最適化プロセス :

  • DPO で全体の応答を評価する代わりに Pivotal Token にフォーカス
  • 低確率トークンのノイズを排除し効率的な学習を実現
  • テキスト分岐後の初期トークンに重点を置いた選好最適化を実施

PTS アルゴリズム :

  • 与えられたクエリー Q とトークン列 Tfull に対し成功確率を計算
  • oracle による正解判定を組み込んだサンプリングを実施
  • 確率変化の閾値 pgap を超えるトークンを検出

実装上の改良 :

  • 成功確率が 0.2 から 0.8 の範囲にあるケースに特化
  • 数学、QA, コーディングなど正解が明確なタスクに適用
  • 効率的な学習のため Pivotal Token を厳選



4.4 Hallucination mitigation

ハルシネーション(hallucination; 幻覚)を緩和する手法

SFT および DPO データ生成 :

  • ハルシネーションを抑制するためのデータを作成
  • 回答不可能な質問に対しては推測を避け、不確実性を認める応答を学習

目標設定 :

  • Pre-training では可能な限り多くの情報をモデルに学習させる
  • Post-training でモデルの限界を認識させ、不確実な回答を避ける学習を実施

評価方法 :

  • SimpleQA データセットを使用
  • 小規模モデル (phi-4 や GPT-4o-mini) は 5-10% の正答率
  • F1 スコアは品質評価の適切な指標とならない可能性を指摘

例: モデルの振る舞いの変化

  • 当初: 6% 正解、94% 不正解
  • 改善後: 3% 正解、3% 不正解、94% 回答拒否

結果として F1 スコアは低下 (5.6% → 3%) するものの、より責任ある応答を実現。これはユーザー体験の向上に寄与すると判断

4.5 Post-Training Ablation

Post-Training 各段階の ablation study(消去法による分析)結果をまとめる

Stage 別の効果 :

  1. SFT のみ
  2. DPO stage 1 (Pivotal Token DPO)
  3. DPO stage 2 のみ
  4. phi-4(stage 1 + 2 両方)

Pivotal Token DPO の効果 :

  • 推論重視タスク (GPQA, MATH) で特に効果的
  • DPO stage 1 で大幅な性能向上を確認

Judge-guided DPO の効果 :

  • ArenaHard など GPT-4 がジャッジするベンチマークで効果的
  • Human 評価に近い性能向上を実現

両アプローチの相補性 :

  • 各 DPO 手法が異なるタイプのタスクで効果を発揮
  • 組み合わせる事で総合的な性能向上を達成

MMLU や HumanEval など多くのベンチマークで SFT から段階的な性能向上が確認された

Table 9

5 Benchmarking Considerations

ベンチマーク評価の限界と対策

主要な限界 :

  1. データ汚染

    • ベンチマークと事前学習データが重複するリスク
    • De-duplication と de-contamination を実施しても言い換えなどは完全には排除出来ない
  2. スキル範囲が限定的

    • 特定グレードの数学問題や単一関数の実装など狭い範囲での評価
    • モデルの広範な能力を十分に評価できない
  3. 生成ベース評価による偏り

    • LLM がジャッジとして評価する際のバイアス
    • スタイルや流暢さを重視し、正確性や推論の妥当性を軽視する傾向
  4. 多肢選択問題の限界

    • パターンマッチングによる正解可能性
    • 本質的な概念理解や推論能力評価が不十分

対策として PhiBench を開発 :

  1. オリジナリティー

    • チーム独自の問題を作成
    • 事前学習データとの重複を排除
  2. スキルの多様性

    • デバッグ、コード拡張、説明など幅広い能力を評価
    • 単純な問題解決を超えた能力を測定
  3. 厳密な採点基準

    • 詳細な評価指示を作成
    • 主観的バイアスを最小化

このベンチマークは phi-4 の最適化に重要な役割を果たし、新しいデータソースの評価にも活用

6 Performance on Key Benchmarks

phi-4 のベンチマーク性能

同クラスモデルとの比較 :

  • Qwen-2.5-14B-Instruct と比較し 12 ベンチマーク中 9 つで優位
  • SimpleQA, DROP, IFEval では低スコアを記録
  • SimpleQA に関しては意図的な設計選択の結果(hallucination 抑制による)

STEM タスクでの優位性 :

  • GPQA(大学院レベル STEM 問題)
  • MATH(数学コンテスト)
  • 教師モデル (GPT-4o) を上回るスコアを達成

コーディング能力 :

  • HumanEval および HumanEval+ で高性能
  • オープンウェイトの大規模 Llama モデルを上回る性能を示す

弱点 :

  • SimpleQA : simple-evals のスコアは低いがユーザー体験は改善
  • DROP : simple-evals の評価が必ずしもモデルの実際の性能を反映していない
  • IFEval : 厳密な指示追従に課題あり

全体としてモデルサイズを考慮すると極めて競争力がある性能を示し、特に推論を要するタスクで優れた結果を達成

7 Safety

Microsoft の Responsible AI 原則に基づいた安全性対策

アプローチ :

  1. Post-training での安全性整合
  2. Red-teaming による評価
  3. 複数の RAI harm カテゴリーに対する自動テストと評価

7.1 RAI Benchmarks

主なベンチマーク評価 :

  • Grounding(0-5点): 情報の根拠をプロンプトに基づいて評価
  • 3P Content Harms : 書籍、ニュース、レシピ、歌詞などのコンテンツ
  • Harmful Content : ヘイト / 公平性、自傷、性的、暴力的コンテンツ
  • Jailbreak : 搾取、違法な説得、ガイドライン漏洩などをテスト

7.2 Red Teaming

Red Teaming (AIRT) による評価 :

  • 2 週間の評価期間
  • 通常ユーザーと敵対的ユーザーの両方をエミュレート
  • phi-3 ファミリーと同様の振る舞いを確認
  • 安全性トレーニングで対処すべき問題を特定

攻撃への耐性 :

  • Jailbreak, Prompt Encoding, マルチターン攻撃に対して強い防御を示す
  • GCG アルゴリズムによる敵対的サフィックスは phi-4 に対して効果なし

さらなる Red teaming による広範なシナリオと harm カテゴリーでリスクを評価する必要性を認識

8 Weaknesses

phi-4 の主な弱点

事実知識に制限がある :

  • サイズ制限による事実的な知識の限界
  • "Who is X?" のような質問で妥当な人名に対してバイオグラフィーを捏造する傾向
  • 検索エンジンとの統合で一部改善可能だが完全な解決は困難

指示追従に対する課題 :

  • 詳細な指示を厳密に順守する事
  • 表形式出力や箇条書き、スタイル制約などの形式要件に対する対応が不十分
  • Q&A と推論重視のトレーニングにより指示追従が相対的に軽視された結果

推論タスクに於けるミス :

  • 基本的な数値比較 ("9.9 vs 9.11") でも誤った結論を導く事がある
  • chain-of-thought による冗長な回答
  • 単純な問題に対しても詳細な説明を生成し、対話が冗長になる傾向

その他 :

  • チャットボットとしての機能はあるが、単一ターンのクエリー最適化に重点
  • バイアス、不適切なコンテンツ生成、安全性の課題は緩和されているが完全には解決されていない

Appendix

A. Post-Training Dataset Details
____A.1 Refusal to Hallucinate
____A.2 Judge-guided DPO

B. Data Processing
____B.1 Decontamination

C. AMC Evaluation Details

D. Synthetic generation examples
____D.1 Generation examples
________D.1.1 Extracting and Tagging Excerpts from Content
________D.1.2 Self-revision
________D.1.3 Creating Conversations from Snippets
____D.2 Fill-in-the-middle exercises

Discussion