陳丹琦團隊新作:微調8B模型超越Claude3 Opus,背后是RLHF新平替
比斯坦福DPO(直接偏好優化)更簡單的RLHF平替來了,來自陳丹琦團隊。
該方式在多項測試中性能都遠超DPO,還能讓8B模型戰勝Claude 3的超大杯Opus。
而且與DPO相比,訓練時間和GPU消耗也都大幅減少。
這種方法叫做SimPO,Sim是Simple的簡寫,意在突出其簡便性。
與DPO相比,SimPO擺脫了對參考模型的需要,在簡化訓練流程的同時,還避免了訓練和推理不一致的問題。
對于這項成果,普林斯頓PLI主任Sanjeev Arora教授這樣稱贊:
和(SimPO方法調整出的)模型聊天感覺讓人難以置信。
Llama3-8B是現在最好的小模型,SimPO把它變得更好了。
成果發布并開源后,大模型微調平臺Llama-Factory也迅速宣布引進。
擺脫對參考模型的需要
陳丹琦團隊的SimPO,和斯坦福提出的DPO一樣,都是對RLHF中的獎勵函數進行優化。
在傳統的RLHF中,獎勵函數通常由一個獨立的獎勵模型提供,需要額外的訓練和推理;DPO利用人類偏好和模型輸出之間的關系,直接用語言模型的對數概率來構建獎勵函數,繞開了獎勵模型的訓練。
而和DPO相比,SimPO只基于當前優化的模型π_θ進行設計,完全擺脫了對參考模型π_ref的依賴。
具體來說,SimPO采用了長度歸一化的對數概率作為獎勵函數。
其中,β是一個正的縮放系數,|y|表示回復y的token長度,πθ(y|x)表示當前語言模型πθ生成回復y的概率。
對數概率是衡量生成質量的常用指標,較高的對數概率意味著在當前模型看來,這個回復是高質量、自然、連貫的。
因此,這種獎勵方式可以讓模型生成的回復更加符合自身已有知識。
長度歸一化則是指,在函數當中,獎勵值除以了回復長度|y|,起到了“懲罰”過長回復的作用。
這樣做的原因是語言模型傾向于生成更長的文本,因為每個額外的token都會為總對數概率做貢獻,但過長的回復往往會降低可讀性和信息密度。
除以長度相當于計算平均每個token的對數概率,鼓勵模型用盡可能簡潔的方式表達完整的信息。
消融實驗結果也證實,如果不進行長度歸一化,模型很容易利用長度偏差,只有在生成文本較長時才有較好的表現。
除了使用對數概率和長度歸一化,SimPO還引入了獎勵差異項(公式中的γ)對目標函數進行改進。
引入γ相當于給正負樣本的差異設定了一個閾值,主要目的就是加強優化信號,促使模型學習更加鮮明地區分正負樣本。
在標準的Bradley-Terry損失中,只要正樣本的獎勵略高于負樣本,損失就會很低,導致模型對正負樣本的區分不夠清晰;加入γ項后,模型必須使正樣本的獎勵明顯高于負樣本,才能取得較好的優化效果。
當然如果γ過大則可能會給優化帶來困難,導致訓練不穩定或收斂速度變慢,作者通過實驗比較了不同γ值的效果,最終發現γ在0.8到1.6之間時SimPO可以取得最佳表現。
總體的消融實驗結果表明,長度歸一化和獎勵差異項的引入都是讓SimPO表現進一步提升的關鍵,無論是在AlpacaEval 2還是Arena-Hard當中,缺少兩項技術中的任意一項,都會造成表現下降。
那么,SimPO的具體表現究竟怎樣呢?
表現超越各種“PO”,還讓8B模型戰勝Claude 3
作者首先在AlpacaEval 2基準上對SimPO調整后的Llama3-Instruct-8B模型和榜單上的先進模型進行了比較。
該測試的主要指標是Win Rate及加入長度控制(LC)后的Win Rate,即模型的回答被評判者認為比GPT-4 Turbo(1106)更好的比例(這里評判者也是GPT4-Turbo)。
結果,SimPO調整后的8B模型,表現已經超過了Claude 3的超大杯Opus;和DPO相比,勝率也有10%左右的提升。
接著,作者又用AlpacaEval 2、Arena-Hard和MT-Bench基準,將SimPO的實際效果與一些其他PO進行了對比。
其中Arena-Hard與AlpacaEval 2類似都是比較勝率,但前者任務難度更大,需要多步推理和專業知識,此外baseline也換成了GPT4-0314。
MT-Bench則是一個多語言理解評測基準,評價方式是直接打分,裁判是GPT-4和GPT-4-Turbo。
參與比較的其他PO如下表所示,其中ORPO和SimPO一樣都沒有使用參考模型。
結果,在Arena-Hard與AlpacaEval 2上,調整Mistral-7B和Llama3-8B兩種模型時,無論是Base還是Instruct版本,SimPO的效果都顯著優于DPO等其他方式。
在MT-Bench測試當中,GPT-4-Turbo也都把最高分打給了SimPO,GPT-4給出的成績中SimPO也與最高分十分接近。
另外SimPO的開銷也大幅減少,在8塊H100上,SimPO調整Llama3-8B的時間為60分鐘,比DPO減少了20%;GPU消耗峰值為69GB,也比DPO少了10%。
但同時,作者也指出了SimPO還存在一些不足:
- 一是未明確考慮安全性和誠實性,采用的獎勵函數主要關注了模型的表現,需要進一步加強安全措施;
- 二是在GSM8k等需要密集推理的任務,特別是數學問題上的表現有所下降,未來會考慮集成一些正則化策略進行改進。
有網友也指出,讓一個8B模型取得超越Claude3-Opus的勝率,一定會有過擬合的現象出現。
對此作者表示確實存在這種可能,但也強調,在單獨一個標準上成績比Claude高,并不意味著全面超越,比如在Arena-Hard上的表現就不如Claude。
不過無論如何,SimPO創新性運用到的長度歸一化和獎勵差異項,都可以給大模型從業者帶來新的啟發。
論文地址:???https://arxiv.org/abs/2405.14734??
本文轉自 量子位,作者:量子位
