模型概述
模型特點
模型能力
使用案例
🚀 Phi-4模型卡片
Phi-4是一款先進的語言模型,融合了多種優質數據集進行訓練,具備強大的推理和語言處理能力。它適用於多種場景,尤其在英語環境下表現出色,同時採用了嚴格的安全訓練方法,確保輸出的安全性和可靠性。
🚀 快速開始
輸入格式
鑑於訓練數據的特性,phi-4
最適合使用以下聊天格式的提示:
<|im_start|>system<|im_sep|>
You are a medieval knight and must provide explanations to modern people.<|im_end|>
<|im_start|>user<|im_sep|>
How should I explain the Internet?<|im_end|>
<|im_start|>assistant<|im_sep|>
使用transformers
庫
import transformers
pipeline = transformers.pipeline(
"text-generation",
model="microsoft/phi-4",
model_kwargs={"torch_dtype": "auto"},
device_map="auto",
)
messages = [
{"role": "system", "content": "You are a medieval knight and must provide explanations to modern people."},
{"role": "user", "content": "How should I explain the Internet?"},
]
outputs = pipeline(messages, max_new_tokens=128)
print(outputs[0]["generated_text"][-1])
✨ 主要特性
- 先進架構:基於14B參數的密集解碼器Transformer模型,具備強大的語言處理能力。
- 優質數據訓練:使用多種來源的數據進行訓練,包括嚴格篩選的公開文檔、新創建的合成數據、學術書籍和問答數據集等,提升模型的推理能力。
- 多場景適用:適用於內存/計算受限環境、低延遲場景以及需要推理和邏輯的場景。
- 嚴格安全訓練:採用監督微調(SFT)和直接偏好優化(DPO)相結合的方法,確保模型輸出的安全性和可靠性。
📦 安裝指南
文檔未提及具體安裝步驟,故跳過此章節。
💻 使用示例
基礎用法
import transformers
pipeline = transformers.pipeline(
"text-generation",
model="microsoft/phi-4",
model_kwargs={"torch_dtype": "auto"},
device_map="auto",
)
messages = [
{"role": "system", "content": "You are a medieval knight and must provide explanations to modern people."},
{"role": "user", "content": "How should I explain the Internet?"},
]
outputs = pipeline(messages, max_new_tokens=128)
print(outputs[0]["generated_text"][-1])
高級用法
文檔未提及高級用法示例,故跳過此部分。
📚 詳細文檔
模型概述
屬性 | 詳情 |
---|---|
開發者 | Microsoft Research |
描述 | phi-4 是一款先進的開放模型,基於合成數據集、經過篩選的公共領域網站數據以及獲取的學術書籍和問答數據集進行訓練。該方法的目標是確保使用專注於高質量和高級推理的數據來訓練小型且強大的模型。phi-4 經過了嚴格的增強和對齊過程,包括監督微調(SFT)和直接偏好優化(DPO),以確保精確遵循指令和強大的安全措施。 |
架構 | 14B參數,密集解碼器Transformer模型 |
輸入 | 文本,最適合聊天格式的提示 |
上下文長度 | 16K tokens |
GPU | 1920 H100 - 80G |
訓練時間 | 21天 |
訓練數據 | 9.8T tokens |
輸出 | 對輸入的生成文本 |
日期 | 2024年10月 - 2024年11月 |
狀態 | 基於截止到2024年6月及更早的公開可用數據的離線數據集訓練的靜態模型 |
發佈日期 | 2024年12月12日 |
許可證 | MIT |
預期用途
主要用例
我們的模型旨在加速語言模型的研究,用作生成式AI功能的構建塊。它適用於需要以下條件的通用AI系統和應用程序(主要為英語):
- 內存/計算受限的環境。
- 低延遲場景。
- 推理和邏輯。
超出範圍的用例
我們的模型並非專門為所有下游用途設計或評估,因此:
- 開發者在選擇用例時應考慮語言模型的常見限制,並在特定下游用例中使用之前評估和減輕準確性、安全性和公平性問題,特別是在高風險場景中。
- 開發者應瞭解並遵守與其用例相關的適用法律或法規(包括隱私、貿易合規法等),包括模型對英語的關注。
- 本模型卡片中的任何內容均不應被解釋為或視為對模型發佈所依據的許可證的限制或修改。
數據概述
訓練數據集
我們的訓練數據是Phi - 3使用數據的擴展,包括來自以下多種來源的數據:
- 經過嚴格質量篩選的公開可用文檔、選定的高質量教育數據和代碼。
- 為教授數學、編碼、常識推理、世界常識(科學、日常活動、心理理論等)而新創建的合成“教科書式”數據。
- 獲取的學術書籍和問答數據集。
- 涵蓋各種主題的高質量聊天格式監督數據,以反映人類在指令遵循、真實性、誠實性和有用性等不同方面的偏好。
多語言數據約佔我們總數據的8%。我們專注於可能提高模型推理能力的數據質量,並篩選公開可用文檔以包含正確的知識水平。
基準數據集
我們使用OpenAI的SimpleEval和我們自己的內部基準評估phi - 4
,以瞭解模型的能力,具體如下:
- MMLU:流行的多任務語言理解聚合數據集。
- MATH:具有挑戰性的競賽數學問題。
- GPQA:複雜的研究生水平科學問題。
- DROP:複雜的理解和推理。
- MGSM:多語言小學算術問題。
- HumanEval:函數代碼生成。
- SimpleQA:事實性回答。
安全性
方法
phi - 4
採用了強大的安全後訓練方法。該方法利用了各種開源和內部生成的合成數據集。用於安全對齊的總體技術是監督微調(SFT)和迭代直接偏好優化(DPO)的組合,包括專注於有用性和無害性的公開可用數據集以及針對多個安全類別的各種問題和答案。
安全評估和紅隊測試
在發佈之前,phi - 4
遵循了多方面的評估方法。使用多個開源安全基準和內部工具進行了定量評估,利用對抗性對話模擬。對於定性安全評估,我們與微軟的獨立AI紅隊(AIRT)合作,評估phi - 4
在平均和對抗性用戶場景中的安全風險。在平均用戶場景中,AIRT模擬了典型的單輪和多輪交互,以識別潛在的風險行為。對抗性用戶場景測試了一系列旨在故意破壞模型安全訓練的技術,包括越獄、基於編碼的攻擊、多輪攻擊和對抗性後綴攻擊。
請參考技術報告以獲取有關安全對齊的更多詳細信息。
模型質量
為了瞭解模型的能力,我們在OpenAI的SimpleEval基準上比較了phi - 4
與一組模型。
以下是模型在代表性基準上的質量概述。在下表中,數字越高表示性能越好:
類別 | 基準 | phi - 4 (14B) | phi - 3 (14B) | Qwen 2.5 (14B instruct) | GPT - 4o - mini | Llama - 3.3 (70B instruct) | Qwen 2.5 (72B instruct) | GPT - 4o |
---|---|---|---|---|---|---|---|---|
流行聚合基準 | MMLU | 84.8 | 77.9 | 79.9 | 81.8 | 86.3 | 85.3 | 88.1 |
科學 | GPQA | 56.1 | 31.2 | 42.9 | 40.9 | 49.1 | 49.0 | 50.6 |
數學 | MGSM MATH |
80.6 80.4 |
53.5 44.6 |
79.6 75.6 |
86.5 73.0 |
89.1 66.3* |
87.3 80.0 |
90.4 74.6 |
代碼生成 | HumanEval | 82.6 | 67.8 | 72.1 | 86.2 | 78.9* | 80.4 | 90.6 |
事實知識 | SimpleQA | 3.0 | 7.6 | 5.4 | 9.9 | 20.9 | 10.2 | 39.4 |
推理 | DROP | 75.5 | 68.3 | 85.5 | 79.3 | 90.2 | 76.7 | 80.9 |
* 這些分數低於Meta報告的分數,可能是因為simple - evals有嚴格的格式要求,Llama模型特別難以遵循。我們使用simple - evals框架是因為它具有可重複性,但Meta報告Llama - 3.3 - 70B在MATH上的分數為77,在HumanEval上的分數為88。
負責任的AI考慮
與其他語言模型一樣,phi - 4
可能會表現出不公平、不可靠或冒犯性的行為。需要注意的一些限制行為包括:
- 服務質量:該模型主要基於英語文本進行訓練。非英語語言的性能會更差。訓練數據中代表性較少的英語變體的性能可能比標準美式英語更差。
phi - 4
不旨在支持多語言使用。 - 傷害表示和刻板印象延續:這些模型可能會過度或不足表示某些人群,抹去某些群體的代表性,或強化貶低性或負面刻板印象。儘管進行了安全後訓練,但由於不同群體的代表性水平不同或訓練數據中反映現實世界模式和社會偏見的負面刻板印象示例普遍存在,這些限制可能仍然存在。
- 不適當或冒犯性內容:這些模型可能會產生其他類型的不適當或冒犯性內容,在沒有針對特定用例的額外緩解措施的情況下,可能不適合在敏感上下文中部署。
- 信息可靠性:語言模型可能會生成無意義的內容或編造聽起來合理但不準確或過時的內容。
- 代碼範圍有限:
phi - 4
的大部分訓練數據基於Python,並使用常見的包,如typing
、math
、random
、collections
、datetime
、itertools
。如果模型生成使用其他包的Python腳本或其他語言的腳本,我們強烈建議用戶手動驗證所有API的使用。
開發者應應用負責任的AI最佳實踐,並負責確保特定用例符合相關法律和法規(如隱私、貿易等)。強烈建議使用具有高級護欄的安全服務,如Azure AI Content Safety。需要考慮的重要領域包括:
- 分配:在沒有進一步評估和額外去偏技術的情況下,模型可能不適合對法律地位、資源分配或生活機會(如住房、就業、信貸等)有重大影響的場景。
- 高風險場景:開發者應評估在高風險場景中使用模型的適用性,在這些場景中,不公平、不可靠或冒犯性的輸出可能代價高昂或導致傷害。這包括在準確性和可靠性至關重要的敏感或專家領域提供建議(如法律或健康建議)。應根據部署上下文在應用程序級別實施額外的保障措施。
- 錯誤信息:模型可能會產生不準確的信息。開發者應遵循透明度最佳實踐,並告知最終用戶他們正在與AI系統交互。在應用程序級別,開發者可以構建反饋機制和管道,將響應基於特定用例的上下文信息,這種技術稱為檢索增強生成(RAG)。
- 有害內容生成:開發者應根據上下文評估輸出,並使用適合其用例的可用安全分類器或自定義解決方案。
- 濫用:可能存在其他形式的濫用,如欺詐、垃圾郵件或惡意軟件生產,開發者應確保其應用程序不違反適用的法律和法規。
🔧 技術細節
文檔未提及具體技術細節,故跳過此章節。
📄 許可證
本模型採用MIT許可證,詳情請見許可證鏈接。



