模型概述
模型特點
模型能力
使用案例
🚀 Phi-4-mini-reasoning模型
Phi-4-mini-reasoning是一個輕量級的開源模型,基於合成數據構建,專注於高質量、富含推理的數據,並針對更高級的數學推理能力進行了微調。該模型支持128K的令牌上下文長度,適用於內存或計算資源受限的環境。
🚀 快速開始
Phi-4-mini-reasoning模型可用於多步驟、邏輯密集的數學問題求解任務。你可以通過以下步驟開始使用:
- 確保安裝所需的Python包,如
transformers
、torch
等。 - 從Hugging Face獲取模型檢查點。
- 使用示例代碼進行推理。
✨ 主要特性
- 輕量級設計:僅38億參數,在資源受限環境中高效運行。
- 強大的推理能力:在數學推理基準測試中表現出色,接近大型模型水平。
- 長上下文支持:支持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-reasoning支持最大200064
個令牌的詞彙表。分詞器文件已提供可用於下游微調的佔位符令牌,也可擴展到模型的詞彙表大小。
輸入格式
由於訓練數據的性質,Phi-4-mini-instruct模型最適合使用特定格式的提示。以下是兩種主要格式:
聊天格式
此格式用於一般對話和指令:
<|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|>
高級用法
使用transformers
進行推理
獲取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是基於合成數據構建的輕量級開源模型,專注於高質量、富含推理的數據,並針對更高級的數學推理能力進行了微調。該模型屬於Phi-4模型家族,支持128K令牌上下文長度。
相關鏈接:
Phi-4系列模型:
- [Phi-4-reasoning]
- [multimodal-instruct | onnx]
- [mini-instruct | onnx]
預期用途
主要用例
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生成的合成數學內容組成。目標是從該模型中提取知識。這個合成數據集包含超過一百萬個不同難度級別的數學問題(從中學生到博士水平)。對於合成數據集中的每個問題,採樣了八個不同的解決方案(展開),僅保留了經驗證正確的解決方案,從而得到約300億令牌的數學內容。該數據集集成了三個主要組件:
- 精心挑選的高質量公開可用數學問題以及用於訓練基礎Phi-4-Mini模型的部分SFT(監督微調)數據。
- 由Deepseek-R1模型生成的大量合成數學數據,專門用於高質量的監督微調和模型蒸餾。
- 一組平衡的正確和錯誤答案,用於構建偏好數據,旨在通過學習更有效的推理軌跡來增強Phi-4-mini-reasoning的推理能力。
軟件
硬件
請注意,默認情況下,Phi-4-mini-reasoning模型使用閃存注意力,這需要特定類型的GPU硬件才能運行。我們在以下GPU類型上進行了測試:
- NVIDIA A100
- NVIDIA H100
如果你想在以下設備上運行模型:
- NVIDIA V100或更早一代的GPU:使用
attn_implementation="eager"
調用AutoModelForCausalLM.from_pretrained()
。
安全評估和紅隊測試
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)。
- 有害內容生成:開發者應根據上下文評估輸出,並使用適用於其用例的可用安全分類器或自定義解決方案。
- 濫用:可能存在其他形式的濫用,如欺詐、垃圾郵件或惡意軟件生產,開發者應確保其應用不違反適用的法律法規。
許可證
該模型根據MIT許可證授權。
商標
本項目可能包含項目、產品或服務的商標或標誌。授權使用微軟的商標或標誌需遵守並必須遵循微軟的商標和品牌指南。在本項目的修改版本中使用微軟的商標或標誌不得造成混淆或暗示微軟的贊助。任何第三方商標或標誌的使用均需遵守這些第三方的政策。
附錄A:基準測試方法
我們在此簡要介紹一下方法 - 特別是我們如何考慮優化提示。在理想情況下,我們在基準測試中永遠不會更改任何提示,以確保在比較不同模型時始終進行公平的比較。實際上,這是我們的默認方法,並且在我們迄今為止運行的絕大多數模型中都是如此。對於所有基準測試,我們考慮使用相同的生成配置,如最大序列長度(32768)、相同的溫度,以進行公平比較。
基準測試數據集
我們使用三個最流行的數學基準測試評估模型,這些基準測試是最強推理模型競爭的地方。具體如下:
- Math - 500:該基準測試由500個具有挑戰性的數學問題組成,旨在測試模型執行復雜數學推理和問題解決的能力。
- AIME 2024:美國邀請賽數學考試(AIME)是一項備受推崇的數學競賽,包含一系列難題,旨在評估高級數學技能和邏輯推理能力。
- GPQA Diamond:研究生級谷歌證明問答(GPQA)鑽石基準測試專注於評估模型理解和解決各種數學問題的能力,包括簡單計算和更復雜的問題解決任務。



