超越DPO,創新大模型優化算法SimPO
隨著ChatGPT等模型的影響力越來越大,如何根據人類反饋優化大模型的性能,實現超級對齊降低非法內容輸出變得非常重要。
傳統的DPO(直接偏好優化)是使用較多的離線偏好優化算法,主要通過重新參數化獎勵函數,從人類反饋中學習以優化大模型。但是DPO的獎勵函數依賴于一個參考模型,不僅會大幅度增加AI算力和內存需求,在訓練和推理過程中的度量會出現不一致等情況。
所以,弗吉尼亞大學和普林斯頓大學的研究人員推出了更好的優化方法SimPO。
論文地址:https://arxiv.org/abs/2405.14734
Github地址:https://github.com/princeton-nlp/SimPO
SimPO是在DPO的基礎之上進行了創新,通過采用序列的平均對數概率作為隱式獎勵機制,這一巧妙的設計與模型生成過程緊密相連,同時消除了對參考模型的依賴,極大提升了了計算效率和內存使用率。
此外,SimPO還提出了一個“目標獎勵邊際”的概念,將其嵌入到布拉德利-特里比較模型中,這個邊際設定使得勝出的模型響應與失敗的響應之間形成更大的差距,可有效增強算法的區分度進一步優化分類效果,使得模型的輸出內容更加符合人類的偏好。
自由獎勵函數
?
DPO優化方法的獎勵函數的構建依賴于一個參考模型,通常是一個經過監督微調的模型。這也是致使其大幅度增加算力、內存的主要原因。SimPO通過自由獎勵函數可以有效解決這些難點。
自由獎勵函數不再依賴于任何外部的參考模型,而是直接使用策略模型本身來計算獎勵。SimPO將獎勵函數定義為序列中所有標記的對數概率的平均值,公式如下:
這種設計使得獎勵函數與模型生成過程中使用的度量(即平均對數似然)直接對齊,從而確保了模型在生成響應時能夠更加精確地優化目標。
此外,SimPO的獎勵函數還引入了長度歸一化的技術概念。在生成任務中,序列的長度往往會對模型的生成質量產生影響。如果不對長度進行歸一化處理,模型可能會傾向于生成較短或較長的序列,不符合用戶對生成質量的期望。
通過將獎勵函數除以序列長度,SimPO確保了獎勵與序列長度無關,避免了模型在生成過程中對長度的過度依賴。
SimPO實驗數據
?
為了評估、驗證SimPO的性能,研究團隊在多種模型的預訓練下進行了廣泛的比較實驗,涵蓋基礎模型和指令微調模型,例如,非常出名的Mistral系列和Llama3等。特別是在評估指標上,他們選取了AlpacaEval 2、MT-Bench以及最近推出的具有挑戰性的Arena-Hard基準測試。
結果顯示,無論是在哪項測試中,SimPO均展現出了優于DPO及同類技術的優化性能。在AlpacaEval 2上,SimPO的提升幅度最大可達6.4分,而在Arena-Hard上,這一數值更是達到了7.5分,充分證明算法的高效性。
值得一提的是,基于Llama3-8B-Instruct構建的模型,在應用SimPO算法后,在AlpacaEval 2上的表現達到了驚人的44.7%的控制長度勝率,超越了排行榜上的Claude 3 Opus,同時在Arena-Hard上也取得了33.8%的勝率,成為高性能的80億參數開源大模型。
本文轉自 AIGC開放社區 ,作者:AIGC開放社區
