Model Overview
Model Features
Model Capabilities
Use Cases
🚀 Unslothを使ってPhi - 4を実行し、微調整しましょう!
このプロジェクトは、Unslothツールを利用してPhi - 4モデルの実行と微調整を実現し、言語モデルの研究を支援することを目的としています。ユーザーはGoogle Colabを無料で使用してPhi - 4 (14B)の微調整を行い、微調整したモデルをOllama、llama.cpp、またはHFなどのプラットフォームにエクスポートすることができます。
🚀 クイックスタート
- こちらをクリックして、Google Colabを使ってPhi - 4 (14B)を無料で微調整しましょう。
- Phi - 4のサポートとエラー修正に関するブログを読む:unsloth.ai/blog/phi4。
- ドキュメントで他のノートブックを確認します。
- 微調整したモデルを実行し、Ollama、llama.cpp、またはHFにエクスポートします。
✨ 主な機能
- 多モデルサポート:Phi - 4 (14B)、Qwen3 (14B)、GRPO with Phi - 4 (14B)、Llama - 3.2 (3B)、Llama - 3.2 (11B vision)、Qwen2.5 (7B)など、様々なモデルをサポートしています。
- 高性能:他のモデルと比較して、より高速な実行速度と低いメモリ使用量を実現しています。例えば、Phi - 4 (14B)は実行速度が2倍速く、メモリ使用量が50%削減されています。
- 無料利用:モデルの微調整に無料のColabノートブックを提供しています。
💻 使用例
基本的な使用法
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("microsoft/Phi-4-reasoning-plus")
model = AutoModelForCausalLM.from_pretrained("microsoft/Phi-4-reasoning-plus", device_map="auto", torch_dtype="auto")
messages = [
{"role": "system", "content": "You are Phi, a language model trained by Microsoft to help users. Your role as an assistant involves thoroughly exploring questions through a systematic thinking process before providing the final precise and accurate solutions. This requires engaging in a comprehensive cycle of analysis, summarizing, exploration, reassessment, reflection, backtracing, and iteration to develop well-considered thinking process. Please structure your response into two main sections: Thought and Solution using the specified format: <think> {Thought section} </think> {Solution section}. In the Thought section, detail your reasoning process in steps. Each step should include detailed considerations such as analysing questions, summarizing relevant findings, brainstorming new ideas, verifying the accuracy of the current steps, refining any errors, and revisiting previous steps. In the Solution section, based on various attempts, explorations, and reflections from the Thought section, systematically present the final solution that you deem correct. The Solution section should be logical, accurate, and concise and detail necessary steps needed to reach the conclusion. Now, try to solve the following question through the above guidelines:"},
{"role": "user", "content": "What is the derivative of x^2?"},
]
inputs = tokenizer.apply_chat_template(messages, tokenize=True, add_generation_prompt=True, return_tensors="pt")
outputs = model.generate(
inputs.to(model.device),
max_new_tokens=4096,
temperature=0.8,
top_p=0.95,
do_sample=True,
)
print(tokenizer.decode(outputs[0]))
高度な使用法
vllm serve microsoft/Phi-4-reasoning-plus --enable-reasoning --reasoning-parser deepseek_r1
📚 ドキュメント
モデル概要
属性 | 詳細 |
---|---|
開発者 | Microsoft Research |
説明 | Phi - 4 - reasoning - plusは、Phi - 4をベースに微調整された最先端のオープンウェイト推論モデルです。微調整には、教師付き微調整(思考過程の軌跡を含むデータセットで)と強化学習が用いられています。教師付き微調整データセットには、合成プロンプトと公共のウェブサイトからの高品質なフィルタリングされたデータが含まれ、数学、科学、コーディングスキル、および安全で責任あるAIのためのアライメントデータに重点が置かれています。この方法の目標は、小さくて強力なモデルを高品質で高度な推論データで訓練することです。Phi - 4 - reasoning - plusはさらに強化学習で訓練されているため、より高い精度を持ちますが、平均的な生成トークン数が50%増加し、遅延が長くなります。 |
アーキテクチャ | ベースモデルは以前に公開されたPhi - 4と同じで、14Bのパラメータを持つ、デコーダーのみの密集型Transformerモデルです |
入力 | テキスト、チャット形式のプロンプトに最適 |
コンテキスト長 | 32kトークン |
GPU | 32個のH100 - 80G |
訓練時間 | 2.5日 |
訓練データ | 16Bトークン、約8.3Bの一意のトークン |
出力 | 入力に対して生成されたテキスト。モデルの応答は、思考過程の推論ブロックと要約ブロックの2つの主要部分に分かれています |
日付 | 2025年1月 - 2025年4月 |
状態 | オフラインデータセットで訓練された静的モデル、公開されたデータの締め切りは2025年3月まで |
公開日 | 2025年4月30日 |
ライセンス | MIT |
想定用途
属性 | 詳細 |
---|---|
主なユースケース | 当社のモデルは、言語モデルの研究を加速するために設計されており、生成AI機能の構成要素として使用されます。メモリ/計算リソースが制限された環境、低遅延のシナリオ、推論と論理能力が必要な汎用AIシステムやアプリケーション(主に英語)に適しています。 |
想定外のユースケース | このモデルは数学的推論に特化して設計およびテストされています。当社のモデルはすべての下流の用途に対して設計または評価されているわけではありません。開発者は、言語モデルの一般的な制限を考慮し、特定の下流のユースケースで使用する前に、精度、安全性、公平性に関する問題を評価し、軽減する必要があります。特に高リスクのシナリオでは、開発者は、ユースケースに関連する適用可能な法律や規制(プライバシー、貿易コンプライアンス法など)を理解し、遵守する必要があります。ユースケースを選択する際には、以下の責任あるAIの考慮事項を参照してください。このモデルカードの内容は、モデルが公開されているライセンスの制限または変更として解釈されるべきではありません。 |
データ概要
訓練データセット
当社の訓練データは、数学、科学、コーディング分野の質問と回答、およびチャット形式のデータの混合です。チャットプロンプトは、フィルタリングされた高品質なウェブデータから取得され、合成データ生成パイプラインで書き換えられ、処理されることもあります。また、信憑性と安全性を向上させるデータも追加されています。
ベンチマークデータセット
当社は、オープンソースのEureka評価キットと独自の内部ベンチマークを使用して、Phi - 4 - reasoning - plusを評価し、モデルの能力を把握しています。具体的には、以下の点でモデルを評価しています。
- 推論タスク:
- AIME 2025、2024、2023、2022:数学オリンピックの問題。
- GPQA - Diamond:複雑な大学院レベルの科学問題。
- OmniMath:4000以上の人工注釈付きのオリンピックレベルの数学問題のコレクション。
- LiveCodeBench:競技的なコーディングコンテストから収集されたコード生成ベンチマーク。
- 3SAT(3 - リテラル充足可能性問題)とTSP(巡回セールスマン問題):アルゴリズム問題の解決。
- BA Calendar:計画立案。
- MazeとSpatialMap:空間理解。
- 汎用ベンチマーク:
- Kitab:情報検索。
- IFEvalとArenaHard:指示に従う能力。
- PhiBench:内部ベンチマーク。
- FlenQA:プロンプトの長さがモデルの性能に与える影響。
- HumanEvalPlus:機能コード生成。
- MMLU - Pro:人気のある多タスク言語理解の集約データセット。
安全性
方法
Phi - 4 - reasoning - plusは、教師付き微調整(SFT)を通じて強力なセキュリティ事後訓練方法を採用しています。この方法は、様々なオープンソースおよび内部生成の合成プロンプト、ならびにMicrosoftの厳格なセキュリティガイドラインに準拠したLLM生成応答を利用しています。例えば、ユーザーの理解と明瞭性、セキュリティと倫理ガイドライン、制限、免責事項と知識範囲、複雑で敏感なトピックの取り扱い、セキュリティと尊重を持った関与、ガイドラインの機密性と思考過程の機密性などです。
セキュリティ評価とレッドチームテスト
公開前に、Phi - 4 - reasoning - plusは多面的な評価方法に従っています。定量的評価は、複数のオープンソースセキュリティベンチマークと内部ツールを使用して、敵対的な対話シミュレーションを行っています。定性的セキュリティ評価では、Microsoftの独立したAIレッドチーム(AIRT)と協力して、通常のユーザーシナリオと敵対的なユーザーシナリオでPhi - 4 - reasoning - plusのセキュリティリスクを評価しています。通常のユーザーシナリオでは、AIRTは典型的な1ラウンドと複数ラウンドの対話をシミュレートし、潜在的なリスク行動を特定しています。敵対的なユーザーシナリオでは、モデルのセキュリティ訓練を意図的に破壊するさまざまな技術がテストされています。これには、基本的なもの、脱獄、有害な内容(憎悪や不公平、暴力、性的内容、または自傷行為など)、および保護された材料の著作権侵害が含まれます。また、少数派に対する偏見と毒性を測定することを目的としたベンチマークであるToxigenでもモデルを評価しています。
セキュリティアライメントに関する詳細情報は、技術報告書を参照してください。
モデルの品質
以下は、代表的なベンチマークでのモデルの品質の概要です。以下の表では、数値が高いほど性能が良いことを示しています。
モデル | AIME 24 | AIME 25 | OmniMath | GPQA - D | LiveCodeBench (8/1/24–2/1/25) |
---|---|---|---|---|---|
Phi - 4 - reasoning | 75.3 | 62.9 | 76.6 | 65.8 | 53.8 |
Phi - 4 - reasoning - plus | 81.3 | 78.0 | 81.9 | 68.9 | 53.1 |
OpenThinker2 - 32B | 58.0 | 58.0 | — | 64.1 | — |
QwQ 32B | 79.5 | 65.8 | — | 59.5 | 63.4 |
EXAONE - Deep - 32B | 72.1 | 65.8 | — | 66.1 | 59.5 |
DeepSeek - R1 - Distill - 70B | 69.3 | 51.5 | 63.4 | 66.2 | 57.5 |
DeepSeek - R1 | 78.7 | 70.4 | 85.0 | 73.0 | 62.8 |
o1 - mini | 63.6 | 54.8 | — | 60.0 | 53.8 |
o1 | 74.6 | 75.3 | 67.5 | 76.7 | 71.0 |
o3 - mini | 88.0 | 78.0 | 74.6 | 77.7 | 69.5 |
Claude - 3.7 - Sonnet | 55.3 | 58.7 | 54.6 | 76.8 | — |
Gemini - 2.5 - Pro | 92.0 | 86.7 | 61.1 | 84.0 | 69.2 |
モデル | FlenQA [3K - token subset] | IFEval Strict | ArenaHard | HumanEvalPlus | MMLUPro | Kitab コンテキストなし - 精度 コンテキストあり - 精度 コンテキストなし - 再現率 コンテキストあり - 再現率 |
Toxigen Discriminative 有毒なカテゴリ 中性のカテゴリ |
PhiBench 2.21 |
---|---|---|---|---|---|---|---|---|
Phi - 4 | 82.0 | 62.3 | 68.1 | 83.5 | 71.5 | 19.3 88.5 8.2 68.1 |
72.6 90.0 |
58.2 |
Phi - 4 - reasoning | 97.7 | 83.4 | 73.3 | 92.9 | 74.3 | 23.2 91.5 4.9 74.8 |
86.7 84.7 |
70.6 |
Phi - 4 - reasoning - plus | 97.9 | 84.9 | 79.0 | 92.3 | 76.0 | 27.6 93.6 6.3 75.4 |
77.3 90.5 |
74.2 |
o3 - mini | 96.8 | 91.5 | 81.9 | 94.0 | 79.4 | 37.9 94.0 4.2 76.1 |
85.4 88.7 |
78.0 |
GPT - 4o | 90.8 | 81.8 | 75.6 | 88.0 | 73.0 | 53.7 84.7 20.3 69.2 |
87.6 85.1 |
72.4 |
全体的に、Phi - 4 - reasoningとPhi - 4 - reasoning - plusはわずか14Bのパラメータしか持っていませんが、幅広い推論タスクで優れた性能を発揮し、DeepSeek - R1蒸留70Bモデルなどのいくつかのより大きなオープンウェイトモデルを大きく上回り、完全なDeepSeek R1モデルの性能レベルに近づいています。また、3SAT、TSP、BA - Calendarなどのいくつかの新しい推論ベンチマークでもこれらのモデルをテストしています。これらの新しいタスクは、訓練過程でこれらのスキルを意図的にターゲットにしていないため、モデルにとって名目的には域外のタスクですが、モデルはこれらのタスクに対して強力な汎化能力を示しています。さらに、標準的な汎用能力ベンチマーク(指示に従う能力や非推論タスクなど)で性能を評価すると、新しいモデルはPhi - 4よりも大幅に改善されていることがわかります。ただし、事後訓練は特定の分野の推論スキルに重点が置かれています。
使用方法
推論パラメータ
推論には、temperature = 0.8
、top_p = 0.95
、do_sample = True
を使用するとより良い結果が得られます。より複雑なクエリの場合は、最大トークン数を32kに設定して、より長い思考過程(CoT)を可能にします。
Phi - 4 - reasoning - plusは、推論が密集したタスクで優れた性能を発揮します。当社の実験では、最大トークン数を64kに拡張し、より長いシーケンスを処理する際に有望な結果を得ており、拡張された入力でも一貫性と論理的な整合性を維持しています。これにより、深い、多段階の推論または広範なコンテキストが必要なタスクに魅力的な選択肢となっています。
入力形式
訓練データの性質上、推論時には常にChatMLテンプレートと以下のシステムプロンプトを使用してください。
<|im_start|>system<|im_sep|>
Your role as an assistant involves thoroughly exploring questions through a systematic thinking process before providing the final precise and accurate solutions. This requires engaging in a comprehensive cycle of analysis, summarizing, exploration, reassessment, reflection, backtracing, and iteration to develop well-considered thinking process. Please structure your response into two main sections: Thought and Solution using the specified format: <think> {Thought section} <\think> {Solution section}. In the Thought section, detail your reasoning process in steps. Each step should include detailed considerations such as analysing questions, summarizing relevant findings, brainstorming new ideas, verifying the accuracy of the current steps, refining any errors, and revisiting previous steps. In the Solution section, based on various attempts, explorations, and reflections from the Thought section, systematically present the final solution that you deem correct. The Solution section should be logical, accurate, and concise and detail necessary steps needed to reach the conclusion. Now, try to solve the following question through the above guidelines:<|im_end|>
<|im_start|>user<|im_sep|>
What is the derivative of x^2?<|im_end|>
<|im_start|>assistant<|im_sep|>
📄 ライセンス
このプロジェクトはMITライセンスの下で提供されています。詳細はこちらを参照してください。



