微軟Phi-4封神:14B小模型數學擊敗GPT-4o 36頁技術報告出爐
微軟下一代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上線。
數學擊敗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
合成數據的優勢
合成資料構成了Phi-4訓練資料的大部分,其透過多種技術生成,包括多智能體提示(multi-agent prompting)、自修訂工作流程(self-revision workflows)和指令反轉(instruction reversal) 。
這些技術方法能夠建構促使模型具備更強推理和問題解決能力的資料集,解決了傳統無監督資料集中的一些弱點。
合成數據不是有機數據的廉價替代品,而是相對於有機數據有幾個直接優勢。
資料結構化和支援漸進式學習
在有機資料集中,token之間的關係往往複雜且間接。可能需要許多推理步驟才能將當前token與下一個token聯繫起來,這使得模型難以從預測下一個token的目標任務中有效學習。
相較之下,由於從語言模型產生的每個token都是根據前面的token預測而來的,而這樣結構化的token也可以讓模型的訓練變得更有效率。
將訓練與推理上下文對齊
合成資料可以規避掉模型從有機資料集中學習到一些不適合後續訓練的資料特性。
比如說,網路論壇往往有著自身特定的溝通風格、用語習慣等,而人們與大模型對話時,其語言風格、互動邏輯又是另一種情況。
此時如果直接採用網路論壇的資料來訓練,假設有些內容的風格比較獨特,模型就會認為對話中該內容出現的幾率會很低。因此在後續對話中模型進行推理時,便不能將對話內容精準地配對到對應的論壇內容上去。
而合成資料會將網路論壇中的內容改寫成與LLM互動時的語言風格,使得其在LLM聊天推理的上下文中更容易匹配。
合成資料在Phi-4的後訓練中也發揮關鍵作用,其中採用了諸如拒絕採樣和直接偏好優化(DPO)的新方法來優化模型的輸出。
合成資料的來源
預訓練和訓練中數據
為此,研究團隊創建了50種廣泛的合成資料集類型,每個資料集都依賴不同的種子和不同的多階段提示程序,涵蓋了各種主題、技能和互動性質,累計約4000億個無權重的token。
透過以下方法,他們確保了合成資料不會被一些低品質的網路資料所污染,從而成為高品質訓練資料集。
種子資料集的構建
1. 網頁和程式碼種子:從網頁、書籍和程式碼庫中提取摘錄和程式碼片段,並專注於具有高複雜性、推理深度和教育價值的內容。為確保質量,團隊採用兩階段篩選流程:首先,識別需要關注的重點高價值頁面,其次,將選定的頁面分割成段落,並對每個段落的客觀和推理內容進行評分。
2. 問題資料集:從網站、論壇和問答平台收集了大量問題。然後使用投票技術對這些問題進行篩選以平衡難度。具體來說,團隊為每個問題產生多個獨立的答案,並應用多數投票來評估答案的一致性。然後丟棄所有答案都一致(表示問題太簡單)或答案完全不一致(表示問題太難或模糊)的問題。
3. 從多種來源創建問答對:利用語言模型從書籍、科學論文和代碼等有機來源中提取問答對。這種方法不僅僅依賴在文本中識別顯式的問答對。相反,它涉及一個旨在檢測文本中的推理鍊或邏輯進程的pipeline。語言模型辨識推理或問題解決過程中的關鍵步驟,並將它們重新表述為問題和相應的答案。實驗表明,如果操作得當,在生成內容上進行訓練(在學術和內部基準上的改進方面)可以比在原始內容上進行訓練更有效。
重寫和增強:種子透過多步驟提示工作流程轉化為合成資料。這包括將給定段落中的大部分有用內容重寫為練習、討論或結構化推理任務。
自我修訂:初始回應會透過一個回饋迴路進行迭代式最佳化,在該迴路中,模型會依據側重於推理和事實準確性的評判標準進行自我評判,並隨後改進自身的輸出內容。
指令反轉用於程式碼和其他任務:為了提高模型從指令產生輸出的能力,團隊採用了指令反轉技術。例如,他們從程式碼資料語料庫中選取現有的程式碼片段,並利用它們產生包含問題描述或任務提示的相應指令。只有原始程式碼和根據產生指令而重新產生的程式碼之間相似度高的指令才會被保留,以確保指令與輸出內容相符。
後訓練數據
在後訓練階段中,資料集主要由兩部分組成:
– 監督微調(SFT)資料集:使用從公開資料集和合成資料中精心篩選的使用者提示,再產生多個模型回應,並使用基於LLM的評估過程選擇最佳回應。
– 直接偏好最佳化(DPO):基於拒絕採樣和LLM評估產生DPO對,其中部分基於建立關鍵字token對的方法。
研究者利用產生的SFT數據和DPO數據對,來緩解模型的幻覺問題。
如下圖6結果顯示,這種方法大大減少了SimpleQA中的幻覺現象。
預訓練
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在召回率、最大上下文等指標上,幾乎取得了領先的優勢。
後訓練
如前所述,在後訓練階段過程中,最重要的技術是關鍵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在這些關鍵決策點上做出更優的選擇。
以小博大,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系列小模型的發表了。
參考資料: