モデル概要
モデル特徴
モデル能力
使用事例
🚀 Phi-4-mini-reasoningモデル
Phi-4-mini-reasoningは、合成データに基づいて構築された軽量級のオープンソースモデルです。高品質で推論に富んだデータに焦点を当て、高度な数学的推論能力に向けて微調整されています。128Kのトークンコンテキスト長をサポートしており、メモリや計算資源が制限された環境や、遅延が要求されるシナリオで、多段階で論理的に密集した数学問題を解くのに適しています。
🚀 クイックスタート
推論環境の準備
Phi-4-mini-reasoningは、transformers
ライブラリの4.51.3
バージョンに統合されています。以下のコマンドを使用して、現在のtransformers
バージョンを確認できます。
pip list | grep transformers
Python 3.8または3.10バージョンの使用をお勧めします。必要な依存パッケージのリストは次の通りです。
flash_attn==2.7.4.post1
torch==2.5.1
transformers==4.51.3
accelerate==1.3.0
推論の例
Phi-4-mini-instructモデルのチェックポイントを取得した後、以下のサンプルコードを使用して推論を行うことができます。
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline
torch.random.manual_seed(0)
model_id = "microsoft/Phi-4-mini-reasoning"
model = AutoModelForCausalLM.from_pretrained(
model_id,
device_map="cuda",
torch_dtype="auto",
trust_remote_code=True,
)
tokenizer = AutoTokenizer.from_pretrained(model_id)
messages = [{
"role": "user",
"content": "How to solve 3*x^2+4*x+5=1?"
}]
inputs = tokenizer.apply_chat_template(
messages,
add_generation_prompt=True,
return_dict=True,
return_tensors="pt",
)
outputs = model.generate(
**inputs.to(model.device),
max_new_tokens=32768,
temperature=0.8,
top_p=0.95,
do_sample=True,
)
outputs = tokenizer.batch_decode(outputs[:, inputs["input_ids"].shape[-1]:])
print(outputs[0])
✨ 主な機能
- 数学的推論に特化:Phi-4-mini-reasoningは、多段階で論理的に密集した数学問題を解くタスクに特化して設計されており、メモリや計算資源が制限された環境や、遅延が要求されるシナリオで優れた性能を発揮します。
- 長いコンテキストのサポート:128Kトークンのコンテキスト長をサポートしており、より複雑な問題を処理することができます。
- 効率的な推論:このモデルは、推論能力と効率のバランスをとっており、教育アプリケーション、組み込み型の指導、エッジやモバイルシステムでの軽量級のデプロイに適しています。
📦 インストール
依存関係のインストール
以下の依存パッケージがインストールされていることを確認してください。
flash_attn==2.7.4.post1
torch==2.5.1
transformers==4.51.3
accelerate==1.3.0
以下のコマンドを使用してインストールできます。
pip install flash_attn==2.7.4.post1 torch==2.5.1 transformers==4.51.3 accelerate==1.3.0
💻 使用例
基本的な使用法
入力形式
訓練データの特性上、Phi-4-mini-instructモデルは特定の形式のプロンプトを使用するのが最適です。主な形式は以下の2つです。
チャット形式
この形式は、一般的な会話や命令に使用されます。
<|system|>Your name is Phi, an AI math expert developed by Microsoft.<|end|><|user|>How to solve 3*x^2+4*x+5=1?<|end|><|assistant|>
高度な使用法
実際のアプリケーションでは、具体的なニーズに応じて、max_new_tokens
、temperature
、top_p
などの生成パラメータを調整して、異なるスタイルや長さの出力を得ることができます。
📚 ドキュメント
モデルの概要
Phi-4-mini-reasoningは、合成データに基づいて構築された軽量級のオープンソースモデルです。高品質で推論に富んだデータに焦点を当て、高度な数学的推論能力に向けて微調整されています。このモデルはPhi-4モデルファミリーに属し、128Kトークンのコンテキスト長をサポートしています。
想定される用途
主なユースケース
Phi-4-mini-reasoningは、メモリや計算資源が制限された環境や、遅延が要求されるシナリオで、多段階で論理的に密集した数学問題を解くことを目的としています。いくつかのユースケースには、形式的な証明の生成、記号計算、高度な文章問題、およびさまざまな数学的推論シナリオが含まれます。これらのモデルは、ステップ間でコンテキストを維持し、構造化されたロジックを適用し、深度分析的思考が必要な分野で正確で信頼性の高い解決策を提供する能力に優れています。
ユースケースの考慮事項
このモデルは数学的推論にのみ設計およびテストされており、すべての下流の用途に対して設計または評価されているわけではありません。開発者は、ユースケースを選択する際に、言語モデルの一般的な制限や、異なる言語間の性能差を考慮し、特定の下流のユースケースで使用する前に、精度、安全性、公平性の問題を評価し、軽減策を講じる必要があります。特に、高リスクのシナリオでは、開発者は関連する適用法律や規制(プライバシー、貿易コンプライアンス法などを含む)を理解し、遵守する必要があります。
リリースノート
今回リリースされたPhi-4-mini-reasoningは、ユーザーのフィードバックと市場のコンパクトな推論モデルへの需要に応じて最適化されています。これは、Transformerベースのコンパクトな言語モデルで、数学的推論に最適化されており、計算や遅延が制限された環境で、高品質な段階的な問題解決能力を提供することを目的としています。このモデルは、より強力なモデル(より大きく、より賢く、より正確で、命令に従う能力に優れたモデル)からの合成数学データを使用して微調整されており、推論性能が向上しています。Phi-4-mini-reasoningは、推論能力と効率のバランスをとっており、教育アプリケーション、組み込み型の指導、エッジやモバイルシステムでの軽量級のデプロイに適しています。 Phi-4-mini-reasoningに重大な問題が見つかった場合は、MSRC研究員ポータルまたはsecure@microsoft.comを通じてすぐに報告してください。
モデルの品質
モデルの能力を理解するために、38億パラメータのPhi-4-mini-reasoningモデルを、さまざまな推論ベンチマークで一連のモデルと比較しました。モデル品質の概要は以下の通りです。
モデル | AIME | MATH-500 | GPQA Diamond |
---|---|---|---|
o1-mini* | 63.6 | 90.0 | 60.0 |
DeepSeek-R1-Distill-Qwen-7B | 53.3 | 91.4 | 49.5 |
DeepSeek-R1-Distill-Llama-8B | 43.3 | 86.9 | 47.3 |
Bespoke-Stratos-7B* | 20.0 | 82.0 | 37.8 |
OpenThinker-7B* | 31.3 | 83.0 | 42.4 |
Llama-3.2-3B-Instruct | 6.7 | 44.4 | 25.3 |
Phi-4-Mini (ベースモデル, 38億) | 10.0 | 71.8 | 36.9 |
Phi-4-mini-reasoning (38億) | 57.5 | 94.6 | 52.0 |
全体的に、たった38億パラメータのモデルが、多言語理解と推論能力において、より大きなモデルと同様のレベルに達しています。ただし、規模の制限により、一部のタスクでは依然として制限があります。このモデルは、過度の事実知識を保存するだけの容量がないため、ユーザーは事実誤りに遭遇する可能性があります。ただし、Phi-4に検索エンジンを追加することで、この問題を解決することができます。特に、RAG設定でこのモデルを使用する場合に有効です。
訓練
モデル
- アーキテクチャ:Phi-4-mini-reasoningは、Phi-4-Miniと同じアーキテクチャを持ち、38億パラメータのデコーダーのみの密集型Transformerモデルです。Phi-3.5-Miniと比較して、Phi-4-Miniの主な変更点は、200Kの語彙、グループ化されたクエリアテンション、および共有された入力と出力の埋め込みです。
- 入力:テキスト。チャット形式のプロンプトを使用するのが最適です。
- コンテキスト長:128Kトークン
- GPU:128個のH100-80G
- 訓練時間:2日
- 訓練データ:1500億トークン
- 出力:生成されたテキスト
- 日付:2024年2月に訓練されました。
- 状態:これは、オフラインデータセットを使用して訓練された静的モデルで、公開されているデータの期限は2025年2月です。
- サポートされる言語:英語
- リリース日:2025年4月
訓練データセット
Phi-4-mini-reasoningの訓練データは、より強力で高度な推論モデルであるDeepseek-R1が生成した合成数学コンテンツのみで構成されています。目的は、このモデルから知識を抽出することです。この合成データセットには、中学生から博士レベルまでのさまざまな難易度の数学問題が100万以上含まれています。合成データセットの各問題について、8つの異なる解決策をサンプリングし(ローリング)、検証済みの正しい解決策のみを残し、約300億トークンの数学コンテンツを得ました。このデータセットには、3つの主要なコンポーネントが統合されています。
- 精心選択された高品質の公開数学問題と、基礎となるPhi-4-Miniモデルを訓練するための一部のSFT(教師付き微調整)データ。
- Deepseek-R1モデルが生成した大量の合成数学データで、高品質の教師付き微調整とモデル蒸留に特化しています。
- 正解と誤答のバランスの取れたセットで、好みデータを構築するために使用され、Phi-4-mini-reasoningの推論能力を強化するために、より効果的な推論軌跡を学習することを目的としています。
ソフトウェア
ハードウェア
デフォルトでは、Phi-4-mini-reasoningモデルはフラッシュアテンションを使用しており、これには特定のタイプのGPUハードウェアが必要です。以下のGPUタイプでテストを行っています。
- NVIDIA A100
- NVIDIA H100
以下のGPUでモデルを実行する場合は、AutoModelForCausalLM.from_pretrained()
を呼び出す際に、attn_implementation="eager"
を使用してください。
- NVIDIA V100またはそれ以前の世代のGPU
セキュリティ評価とレッドチームテスト
Phi-4シリーズのモデルは、強力なセキュリティ事後訓練方法を採用しています。この方法は、さまざまなオープンソースおよび内部生成のデータセットを利用しています。セキュリティアライメントに使用される全体的な技術は、SFT、DPO(直接好み最適化)、RLHF(人間のフィードバックに基づく強化学習)の方法を組み合わせたもので、人間によるラベリングと合成された英語のデータセットを利用しています。これには、有用性と無害性に焦点を当てた公開データセットや、複数のセキュリティカテゴリに関するさまざまな質問と回答が含まれています。
Phi-4-Mini-Reasoningは、マイクロソフトの責任あるAI原則に基づいて開発されています。Azure AI Foundryのリスクとセキュリティ評価フレームワークを使用して、モデルの応答に潜在的なセキュリティリスクがあるかどうかを評価しています。特に、有害なコンテンツ、直接的な脱獄、モデルの根拠に焦点を当てています。Phi-4-Mini-Reasoningのモデルカードには、セキュリティ方法と責任あるAIの考慮事項に関する追加情報が含まれており、開発者はこのモデルを使用する際にこれらの情報を確認する必要があります。
責任あるAIの考慮事項
他の言語モデルと同様に、Phiシリーズのモデルは、不公平、信頼できない、または不快な行動を示す可能性があります。注意すべきいくつかの制限的な行動には、以下のようなものがあります。
- サービス品質:Phiモデルは主に英語テキストといくつかの追加の多言語テキストで訓練されています。非英語の言語では性能が低下し、非英語の言語間でも性能に差があります。訓練データで代表されていない英語のバリエーションは、標準的なアメリカ英語よりも性能が劣る可能性があります。
- 多言語性能とセキュリティのギャップ:言語モデルをさまざまな言語で広く利用可能にすることは重要だと考えていますが、Phi 4モデルは多言語リリースにおいて一般的な課題が残っています。他の大規模言語モデルのデプロイと同様に、開発者は、自らの言語や文化背景に合わせて性能やセキュリティのギャップをテストし、追加の微調整や適切な保障措置を講じることで、モデルをカスタマイズする必要があります。
- 損害表現とステレオタイプの継続:これらのモデルは、特定のグループを過大または過小に表現したり、特定のグループの表現を抹消したり、貶めるまたは否定的なステレオタイプを強化したりする可能性があります。セキュリティ事後訓練を行っているにもかかわらず、異なるグループの表現レベルの違い、文化背景の違い、または現実世界のパターンや社会的偏見を反映した否定的なステレオタイプの例が訓練データに多く含まれているため、これらの制限は依然として存在する可能性があります。
- 不適切または不快なコンテンツ:これらのモデルは、他のタイプの不適切または不快なコンテンツを生成する可能性があり、特定の状況に対する追加の緩和策がない場合、敏感な環境でのデプロイに適さない可能性があります。
- 情報の信頼性:言語モデルは、無意味なコンテンツを生成したり、合理的に聞こえるが不正確または古い内容を捏造したりする可能性があります。
- 選挙情報の信頼性:このモデルは、選挙に関する重要な質問に対する回答の欠陥率が高く、不正確または権威性のない選挙情報を提示する可能性があります。私たちは、この分野でのモデルの性能向上に取り組んでいます。ユーザーは、選挙に関する情報を地元の選挙機関に確認する必要があります。
- コード範囲の制限:ほとんどのPhi 4訓練データはPythonに基づいており、「typing, math, random, collections, datetime, itertools」などの一般的なパッケージを使用しています。モデルが他のパッケージや他の言語を使用するPythonスクリプトを生成する場合、ユーザーはすべてのAPIの使用を手動で検証することを強くお勧めします。
- 長い会話:他のモデルと同様に、Phi 4モデルは、英語および非英語の非常に長いチャットセッションで、時には繰り返し、無駄、または一貫性のない応答を生成する可能性があります。開発者は、適切な緩和策を講じることをお勧めします。例えば、会話の輪数を制限して、会話の逸脱を防ぐことができます。
開発者は、責任あるAIのベストプラクティスを適用する必要があります。これには、特定のユースケース、言語、文化背景に関連するリスクをマッピング、測定、軽減することが含まれます。Phi 4シリーズのモデルは汎用モデルです。開発者がこれらのモデルを特定のユースケースに使用する予定の場合、ユースケースに合わせてモデルを微調整し、特定の言語保障措置を備えたより広範なAIシステムの一部としてモデルを利用することをお勧めします。考慮すべき重要な分野には、以下のようなものがあります。
- 配分:さらなる評価や追加のバイアス除去技術を行わない場合、モデルは、法的地位、資源配分、生活の機会(住宅、雇用、信用など)に重大な影響を与える可能性のあるシナリオには適さない可能性があります。
- 高リスクシナリオ:開発者は、高リスクシナリオでのモデルの使用適性を評価する必要があります。このようなシナリオでは、不公平、信頼できない、または不快な出力が大きなコストをもたらしたり、損害を引き起こしたりする可能性があります。これには、精度と信頼性が重要な敏感なまたは専門的な分野でのアドバイスの提供(法律や健康に関するアドバイスなど)が含まれます。展開コンテキストに応じて、アプリケーションレベルで追加の保障措置を実装する必要があります。
- 誤情報:モデルは不正確な情報を生成する可能性があります。開発者は、透明性のベストプラクティスに従い、最終ユーザーにAIシステムと対話していることを通知する必要があります。アプリケーションレベルでは、開発者はフィードバックメカニズムやパイプラインを構築し、特定のユースケースのコンテキスト情報と応答を組み合わせることができます。この技術は、検索強化生成(RAG)と呼ばれます。
- 有害なコンテンツの生成:開発者は、コンテキストに応じて出力を評価し、ユースケースに適した利用可能なセキュリティ分類器またはカスタムソリューションを使用する必要があります。
- 乱用:詐欺、スパム、マルウェア生成などの他の形態の乱用が存在する可能性があります。開発者は、アプリケーションが適用される法律や規制に違反しないようにする必要があります。
🔧 技術詳細
ベンチマークテスト方法
ここでは、方法について簡単に説明します。特に、最適化されたプロンプトをどのように考慮するかについて説明します。理想的には、ベンチマークテストでは、異なるモデルを比較する際に常に公平な比較を行うため、プロンプトを変更することはありません。実際には、これがデフォルトの方法であり、これまでに実行したほとんどのモデルでも同じ方法を使用しています。すべてのベンチマークテストでは、公平な比較を行うために、最大シーケンス長(32768)や同じ温度など、同じ生成設定を使用しています。
ベンチマークテストデータセット
モデルの評価には、最も強力な推論モデルが競い合う3つの最も人気のある数学ベンチマークを使用しています。具体的には以下の通りです。
- Math-500:このベンチマークは、500個の挑戦的な数学問題で構成されており、モデルが複雑な数学的推論と問題解決を実行する能力をテストすることを目的としています。
- AIME 2024:アメリカの招待制数学試験(AIME)は、高く評価されている数学コンテストで、一連の難問が含まれており、高度な数学スキルと論理的推論能力を評価することを目的としています。
- GPQA Diamond:大学院レベルのGoogle証明質問応答(GPQA)Diamondベンチマークは、モデルがさまざまな数学問題を理解し、解決する能力を評価することに焦点を当てています。直接計算やより複雑な問題解決タスクを含みます。
📄 ライセンス
このモデルは、MITライセンスのもとでライセンスされています。
商標
このプロジェクトには、プロジェクト、製品、またはサービスの商標またはロゴが含まれる場合があります。マイクロソフトの商標またはロゴの使用許諾は、マイクロソフトの商標およびブランドガイドラインに従う必要があります。このプロジェクトの修正版でマイクロソフトの商標またはロゴを使用する場合は、混乱を招いたり、マイクロソフトの後援を暗示したりしてはなりません。第三者の商標またはロゴの使用は、これらの第三者のポリシーに従う必要があります。



