🚀 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|>
使用llama.cpp
根據文檔安裝llama.cpp
,並使用以下代碼片段與phi-4
(4位量化)進行交互:
~/llama.cpp/build/bin/llama-cli -m phi-4-q4.gguf -cnv -c 16384 -p "You are a medieval knight and must provide explanations to modern people."
✨ 主要特性
- 先進架構:擁有140億參數,採用密集的僅解碼器Transformer模型架構。
- 長上下文處理:支持16K令牌的上下文長度。
- 多場景適用:適用於內存/計算受限環境、延遲敏感場景以及需要推理和邏輯的任務。
- 數據多樣性:訓練數據來源廣泛,包括高質量公共文檔、合成數據、學術書籍和問答數據集等。
- 安全可靠:採用強大的安全訓練後方法,經過多方面的安全評估。
📦 安裝指南
安裝llama.cpp
,可參考其文檔進行項目構建。
💻 使用示例
基礎用法
<|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|>
高級用法
~/llama.cpp/build/bin/llama-cli -m phi-4-q4.gguf -cnv -c 16384 -p "You are a medieval knight and must provide explanations to modern people."
📚 詳細文檔
模型概述
屬性 |
詳情 |
開發者 |
微軟研究院 |
描述 |
phi-4 是一款先進的開放模型,基於多種合成數據集、過濾後的公共領域網站數據以及獲取的學術書籍和問答數據集構建。該模型經過嚴格的增強和對齊過程,包括監督微調(SFT)和直接偏好優化(DPO),以確保精確遵循指令和強大的安全措施。 |
架構 |
140億參數,密集的僅解碼器Transformer模型 |
輸入 |
文本,最適合聊天格式的提示 |
上下文長度 |
16K令牌 |
GPU |
1920個H100 - 80G |
訓練時間 |
21天 |
訓練數據 |
9.8T令牌 |
輸出 |
針對輸入生成的文本 |
日期 |
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許可證,詳情請見許可證鏈接。