微軟下一代14B小模型Phi-4出世了!僅用了40%合成數據,在數學性能上擊敗了GPT-4o,最新36頁技術報告出爐。
140億參數,40%合成數據,年度SLM之王誕生!
最近,微軟下一代小模型Phi-4正式亮相。在GPQA和MATH基準上,其數學性能直接碾壓GPT-4o、Gemini Pro 1.5。
而且,Phi-4粉碎了其他小模型,與Llama-3.3-70B-Instruct的性能不相上下。
甚至,在2024 ACM數學競賽問題上,Phi-4取得了91.8%準確率。
Phi系列前負責人Sebastien Bubeck看到這個結果後,感到非常驚訝。
下面這個例子,展示了Phi-4在數學推理方面的能力,不僅神速還準確。
深挖背後,Phi-4繼承了Phi系列前幾代的傳統,同樣是在教科書級別的「合成數據」上完成了訓練。
合成數據比例高達40%
除了合成數據,它共實現了三大核心技術突破,包括精選的原生數據,以及領先的後訓練技術,如DPO中的關鍵token搜索(Pivotal Tokens Search)。
Phi-4的成功,從側面推翻了Ilya、Alexander Wang多位大佬宣稱的「數據牆」的觀點。
目前,新模型在微軟Azure AI Foundry上提供,下週將在HuggingFace上線。
01 數學擊敗GPT-4o,36頁技術報告出爐
Phi-4與大多數語言模型不同,那些模型的預訓練主要基於諸如網絡內容或代碼這類自然產生的數據來源,而Phi-4則有策略地在整個訓練過程中融入了合成數據。
雖然Phi系列先前的模型表現主要來源於蒸餾了教師模型(特別是GPT-4)的能力,但Phi-4在STEM領域的問答能力上顯著超越了其教師模型,證明了數據生成和後訓練技術比模型蒸餾更能帶來能力上的提升。
論文地址:https://arxiv.org/abs/2412.08905
Phi-4主要是由三部分核心技術構成:
- 預訓練和中訓練的合成數據
- 高質量有機數據的篩選和過濾
- 後訓練
得益於這些創新,Phi-4在推理相關任務上的性能與更大的模型相當,甚至超越它們。
例如,在許多廣泛使用的推理相關基準測試中,其性能達到或超過了Llama-3.1-405B。
通過表1可以發現,Phi-4在GPQA(研究生水平的STEM問答)和MATH(數學競賽)基準測試中均顯著超過了其教師模型GPT-4o。
表1 Phi-4在經典基準測試上的表現
為了驗證Phi-4是否存在過擬合和數據汙染問題,研究者在2024年11月的AMC-10和AMC-12數學競賽上測試了該模型。
這兩場競賽中的數據均未曾在訓練時被收集過,所以其競賽表現可以有效地作為檢驗模型泛化性能的指標。
從下圖中可以看出,Phi-4雖然僅僅只有14B,但是其平均得分甚至大幅超過了其教師模型GPT-4o。
Phi-4在數學競賽問題上優於許多更大的模型,包括Gemini Pro 1.5
02 合成數據的優勢
合成數據構成了Phi-4訓練數據的大部分,其通過多種技術生成,包括多智能體提示(multi-agent prompting)、自修訂工作流(self-revision workflows)和指令反轉(instruction reversal)。
這些技術方法能夠構建促使模型具備更強推理和問題解決能力的數據集,解決了傳統無監督數據集中的一些弱點。
合成數據不是有機數據的廉價替代品,而是相對於有機數據具有幾個直接優勢。
數據結構化和支持漸進式學習
在有機數據集中,token之間的關係往往復雜且間接。可能需要許多推理步驟才能將當前token與下一個token聯繫起來,這使得模型難以從預測下一個token的目標任務中有效學習。
相比之下,由於從語言模型生成的每個token都是根據前面的token預測而來的,而這樣結構化的token也可以讓模型的訓練變得更加高效。
將訓練與推理上下文對齊
合成數據可以規避掉模型從有機數據集中學習到一些並不適合後續訓練的數據特性。
比如說,網絡論壇往往有著自身特定的交流風格、用語習慣等,而人們與大模型對話時,其語言風格、交互邏輯又是另外一種情況。
此時如果直接採用網絡論壇的數據進行訓練,假設有一些內容的風格比較獨特,模型就會認為在對話中該內容出現的幾率會很低。因此在後續對話中模型進行推理時,便不能將對話內容精準匹配到對應的論壇內容上去。
而合成數據會將網絡論壇中的內容改寫成與LLM交互時的語言風格,使得其在LLM聊天推理的上下文中更容易匹配。
合成數據在Phi-4的後訓練中也發揮著關鍵作用,其中採用了諸如拒絕採樣和直接偏好優化(DPO)的新方法來優化模型的輸出。
03 合成數據的來源
預訓練和訓練中數據
為此,研究團隊創建了50種廣泛的合成數據集類型,每個數據集都依賴於不同的種子和不同的多階段提示程序,涵蓋了各種主題、技能和交互性質,累計約4000億個無權重的token。
通過以下方法,他們確保了合成數據並不被一些低質量的網絡數據所汙染,從而成為高質量訓練數據集。
種子數據集的構建
1. 網頁和代碼種子:從網頁、書籍和代碼庫中提取摘錄和代碼片段,重點關注具有高複雜性、推理深度和教育價值的內容。為確保質量,團隊採用兩階段篩選流程:首先,識別需要關注的重點高價值頁面,其次,將選定的頁面分割成段落,並對每個段落的客觀和推理內容進行評分。
2. 問題數據集:從網站、論壇和問答平臺上收集了大量問題。然後使用投票技術對這些問題進行篩選以平衡難度。具體來說,團隊為每個問題生成多個獨立的答案,並應用多數投票來評估答案的一致性。然後丟棄所有答案都一致(表明問題太簡單)或答案完全不一致(表明問題太難或模糊)的問題。
3. 從多種來源創建問答對:利用語言模型從書籍、科學論文和代碼等有機來源中提取問答對。這種方法不僅僅依賴於在文本中識別顯式的問答對。相反,它涉及一個旨在檢測文本中的推理鏈或邏輯進程的pipeline。語言模型識別推理或問題解決過程中的關鍵步驟,並將它們重新表述為問題和相應的答案。實驗表明,如果操作得當,在生成內容上進行訓練(在學術和內部基準上的改進方面)可以比在原始內容上進行訓練更加有效。
重寫和增強:種子通過多步驟提示工作流程轉化為合成數據。這包括將給定段落中的大部分有用內容重寫為練習、討論或結構化推理任務。
自我修訂:初始響應會通過一個反饋迴路進行迭代式優化,在該回路中,模型會依據側重於推理和事實準確性的評判標準進行自我評判,並隨後改進自身的輸出內容。
指令反轉用於代碼和其他任務:為了提高模型從指令生成輸出的能力,團隊採用了指令反轉技術。例如,他們從代碼數據語料庫中選取現有的代碼片段,並利用它們生成包含問題描述或任務提示的相應指令。只有原始代碼和根據生成指令而重新生成的代碼之間相似度高的指令才會被保留,以確保指令與輸出內容相匹配。
後訓練數據
在後訓練階段中,數據集主要由兩部分組成:
- 監督微調(SFT)數據集:使用從公開數據集和合成數據中精心篩選的用戶提示,再生成多個模型響應,並使用基於LLM的評估過程選擇最佳響應。
- 直接偏好優化(DPO):基於拒絕採樣和LLM評估生成DPO對,其中部分基於創建關鍵詞token對的方法。
研究者利用生成的SFT數據和DPO數據對,來緩解模型的幻覺問題。
如下圖6結果顯示,這種方法大大減少了SimpleQA中的幻覺現象。
04 預訓練
Phi-4同樣基於Transformer架構構建,具有14B參數和默認的上下文長度4096。在訓練中期,擴展到16K上下文。
由於預訓練模型不擅長遵循指令,因此使用需要答案採用特定格式(例如簡單評估)的零樣本評估不是很有參考價值。
因此,團隊採用了內部實現的基準測試進行預訓練評估,該基準測試對各種任務使用混合的對數似然與少量樣本提示。
具體來說,他們對 MMLU(5-shot)、MMLU-pro和ARCC(1-shot)使用對數似然評估,而對TriviaQA(TQA)、MBPP、MATH和GSM8k分別使用 1、3、4和8個少樣本的示例,以幫助模型遵循答案格式。
表2 phi-4較phi-3-medium在預訓練後基準測試評估的提升值
在長上下文基準HELMET測試中,Phi-4在召回率、最大上下文等指標上,幾乎取得了領先的優勢。
05 後訓練
如前所述,在後訓練階段過程中,最重要的一個技術是關鍵token搜索(PTS),那麼這究竟是什麼呢?
關鍵token搜索(Pivotal Token Search)
當模型對一個提示逐token生成回應時,每個token都對應著模型回答的一個前綴。
對於每個這樣的前綴,可以考慮兩個關鍵token:一是在改前綴下,模型回答正確的條件概率;另一個是該token帶來的概率增量,即生成這個token前後正確率的差值。
其實,在AI模型生成答案時,往往只有少數幾個關鍵token決定了整個答案的正確與否。
在研究中,團隊觀察到一個有趣的現象是:當模型在解答數學問題時,僅僅生成了negative關鍵token,就讓原本可能失敗的解答轉向了成功。
而隨後,它生成了(a token又可能讓正確率急劇下降。
現在,將這個方法與DPO訓練方法結合思考後,發現了幾個值得注意的問題。
如上圖3所示,實驗中有許多token概率遠低於關鍵token「negative」的0.31,這些token會在訓練中產生噪聲,稀釋來自關鍵token的有效信號。
更糟糕的是,像(a這樣導致解題不穩定的token,反而會因其低概率(0.12)收到強烈的正向學習信號。
此外,直覺表明,當兩個文本內容出現實質性偏差時,比較它們各自下一個token概率(DPO的做法)可能失去意義。
總之,更有意義的信號,應該來自於文本開始偏離時的首批token。
為了緩解之前的問題,微軟團隊提出了一種創新的方法——關鍵token搜索(PTS)。
這個方法專門針對單個關鍵token生成偏好數據,在使用DPO優化效果精準作用於特定token。
PTS的核心任務是,在完整的token序列(T_full = t1, t2, ...)中找出那些關鍵token。
具體來說,它需要找出那些能顯著影響成功率的token的位置,即p(success | t1, ..., ti)。
PTS會將發現的關鍵token轉化為訓練數據,先將Q + t1, ..., ti-1作為查詢基準,再選擇能提高/降低成功率的單個token分別作為「接受」和「拒絕」的樣本。
雖然PTS使用的二分查找算法不能保證找出所有的關鍵token,但它具有兩個重要特性。
- 找到的一定是關鍵token
- 如果成功概率再解題過程中接近單調變化,則能找出所有關鍵token
下圖5所示,是使用PTS生成的偏好數據的示例。
在數學問答示例中,研究發現了一個有趣的現象,關鍵token往往不是明顯的錯誤,而是引導模型走向不同解題路徑的選擇點。
比如,方法A——分別乘以分母;方法B——直接交叉相乘。
雖然這兩種方法在數學上都是正確的,但對於模型來說,往往後者更加穩健。
通過PTS生成的訓練數據,可以幫助Phi-4在這些關鍵決策點上做出更優的選擇。
06 以小博大,Phi-4贏麻了
基於以上技術的創新,Phi-4才能在各項基準測試中展現出驚豔的一面。
上表1中,相較於同級別的Qwen-2.5-14B-Instruct模型,在12個基準測試中,Phi-4在九項測試中贏得優勢。
而且,研究人員認為Phi-4在SimpleQA上的表現實際上比Qwen更好。
事實上,他們的基礎模型在SimpleQA上獲得了比Qwen-2.5-14B-Instruct更高的基準分數,只不過團隊在後訓練中有意修改了模型的行為,以優化用戶體驗而不是追求更高的基準分數。
此外,Phi-4在STEM問答任務上展現出卓越的實力。
比如,在GPQA(研究生水平的STEM問題)和MATH(數學競賽)上,它甚至超過了其教師模型GPT-4。
在HumanEval和HumanEval+衡量的編碼能力方面,它也比任何其他開源模型(包括更大的Llama模型)得分更高。
而Phi-4表現欠佳的領域,分別在SimpleQA、DROP和IFEval上。
至於前兩個,研究人員認為simple-evals報告的數字過於簡化,並不能準確反映模型在基準問題上的表現。
然而,IFEval揭示了Phi-4的一個真實的弱點——在嚴格遵循指令方面存在困難。
在未來下一步研究中,研究人員相信通過有針對性的合成數據,讓Phi系列模型的指令跟隨性能得到顯著改善。
接下來,還真有點期待,下一個Phi系列小模型的發佈了。
參考資料:
https://x.com/iScienceLuvr/status/1867377384145727635
https://x.com/peteratmsr/status/1867375567739482217
https://x.com/VentureBeat/status/1867376462589739098
本文來自微信公眾號“新智元”,作者:新智元,36氪經授權發佈。