全面超越DPO:陳丹琦團(tuán)隊(duì)提出簡單偏好優(yōu)化SimPO,還煉出最強(qiáng)8B開源模型
為了將大型語言模型(LLM)與人類的價(jià)值和意圖對齊,學(xué)習(xí)人類反饋至關(guān)重要,這能確保它們是有用的、誠實(shí)的和無害的。在對齊 LLM 方面,一種有效的方法是根據(jù)人類反饋的強(qiáng)化學(xué)習(xí)(RLHF)。盡管經(jīng)典 RLHF 方法的結(jié)果很出色,但其多階段的過程依然帶來了一些優(yōu)化難題,其中涉及到訓(xùn)練一個(gè)獎(jiǎng)勵(lì)模型,然后優(yōu)化一個(gè)策略模型來最大化該獎(jiǎng)勵(lì)。
近段時(shí)間已有一些研究者探索了更簡單的離線算法,其中之一便是直接偏好優(yōu)化(DPO)。DPO 是通過參數(shù)化 RLHF 中的獎(jiǎng)勵(lì)函數(shù)來直接根據(jù)偏好數(shù)據(jù)學(xué)習(xí)策略模型,這樣就無需顯式的獎(jiǎng)勵(lì)模型了。該方法簡單穩(wěn)定,已經(jīng)被廣泛用于實(shí)踐。
使用 DPO 時(shí),得到隱式獎(jiǎng)勵(lì)的方式是使用當(dāng)前策略模型和監(jiān)督式微調(diào)(SFT)模型之間的響應(yīng)似然比的對數(shù) 的對數(shù)比。但是,這種構(gòu)建獎(jiǎng)勵(lì)的方式并未與引導(dǎo)生成的指標(biāo)直接對齊,該指標(biāo)大約是策略模型所生成響應(yīng)的平均對數(shù)似然。訓(xùn)練和推理之間的這種差異可能導(dǎo)致性能不佳。
為此,弗吉尼亞大學(xué)的助理教授孟瑜與普林斯頓大學(xué)的在讀博士夏夢舟和助理教授陳丹琦三人共同提出了 SimPO—— 一種簡單卻有效的離線偏好優(yōu)化算法。
- 論文標(biāo)題:SimPO: Simple Preference Optimization with a Reference-Free Reward
- 論文地址:https://arxiv.org/pdf/2405.14734
- 代碼 & 模型:https://github.com/princeton-nlp/SimPO
該算法的核心是將偏好優(yōu)化目標(biāo)中的獎(jiǎng)勵(lì)函數(shù)與生成指標(biāo)對齊。SimPO 包含兩個(gè)主要組件:(1)在長度上歸一化的獎(jiǎng)勵(lì),其計(jì)算方式是使用策略模型的獎(jiǎng)勵(lì)中所有 token 的平均對數(shù)概率;(2)目標(biāo)獎(jiǎng)勵(lì)差額,用以確保獲勝和失敗響應(yīng)之間的獎(jiǎng)勵(lì)差超過這個(gè)差額。
總結(jié)起來,SimPO 具有以下特點(diǎn):
- 簡單:SimPO 不需要參考模型,因此比 DPO 等其它依賴參考模型的方法更輕量更容易實(shí)現(xiàn)。
- 性能優(yōu)勢明顯:盡管 SimPO 很簡單,但其性能卻明顯優(yōu)于 DPO 及其最新變體(比如近期的無參考式目標(biāo) ORPO)。如圖 1 所示。并且在不同的訓(xùn)練設(shè)置和多種指令遵從基準(zhǔn)(包括 AlpacaEval 2 和高難度的 Arena-Hard 基準(zhǔn))上,SimPO 都有穩(wěn)定的優(yōu)勢。
- 盡量小的長度利用:相比于 SFT 或 DPO 模型,SimPO 不會(huì)顯著增加響應(yīng)長度(見表 1),這說明其長度利用是最小的。
該團(tuán)隊(duì)進(jìn)行了大量分析,結(jié)果表明 SimPO 能更有效地利用偏好數(shù)據(jù),從而在驗(yàn)證集上對高質(zhì)量和低質(zhì)量響應(yīng)的似然進(jìn)行更準(zhǔn)確的排序,這進(jìn)一步能造就更好的策略模型。
如表 1 所示,該團(tuán)隊(duì)基于 Llama3-8B-instruct 構(gòu)建了一個(gè)具有頂尖性能的模型,其在 AlpacaEval 2 上得到的長度受控式勝率為 44.7,在排行榜上超過了 Claude 3 Opus;另外其在 Arena-Hard 上的勝率為 33.8,使其成為了目前最強(qiáng)大的 8B 開源模型。
SimPO:簡單偏好優(yōu)化
為便于理解,下面首先介紹 DPO 的背景,然后說明 DPO 的獎(jiǎng)勵(lì)與生成所用的似然度量之間的差異,并提出一種無參考的替代獎(jiǎng)勵(lì)公式來緩解這一問題。最后,通過將目標(biāo)獎(jiǎng)勵(lì)差額項(xiàng)整合進(jìn) Bradley-Terry 模型中,推導(dǎo)出 SimPO 目標(biāo)。
背景:直接偏好優(yōu)化(DPO)
DPO 是最常用的離線偏好優(yōu)化方法之一。DPO 并不會(huì)學(xué)習(xí)一個(gè)顯式的獎(jiǎng)勵(lì)模型,而是使用一個(gè)帶最優(yōu)策略的閉式表達(dá)式來對獎(jiǎng)勵(lì)函數(shù) r 進(jìn)行重新參數(shù)化:
其中 π_θ 是策略模型,π_ref 是參考策略(通常是 SFT 模型),Z (x) 是配分函數(shù)。通過將這種獎(jiǎng)勵(lì)構(gòu)建方式整合進(jìn) Bradley-Terry (BT) 排名目標(biāo),,DPO 可使用策略模型而非獎(jiǎng)勵(lì)模型來表示偏好數(shù)據(jù)的概率,從而得到以下目標(biāo):
其中 (x, y_w, y_l) 是由來自偏好數(shù)據(jù)集 D 的 prompt、獲勝響應(yīng)和失敗響應(yīng)構(gòu)成的偏好對。
一種與生成結(jié)果對齊的簡單無參考獎(jiǎng)勵(lì)
DPO 的獎(jiǎng)勵(lì)與生成之間的差異。使用 (1) 式作為隱式的獎(jiǎng)勵(lì)表達(dá)式有以下缺點(diǎn):(1) 訓(xùn)練階段需要參考模型 π_ref,這會(huì)帶來額外的內(nèi)存和計(jì)算成本;(2) 訓(xùn)練階段優(yōu)化的獎(jiǎng)勵(lì)與推理所用的生成指標(biāo)之間存在差異。具體來說,在生成階段,會(huì)使用策略模型 π_θ 生成一個(gè)能近似最大化平均對數(shù)似然的序列,定義如下:
在解碼過程中直接最大化該指標(biāo)是非常困難的,為此可以使用多種解碼策略,如貪婪解碼、波束搜索、核采樣和 top-k 采樣。此外,該指標(biāo)通常用于在語言模型執(zhí)行多選任務(wù)時(shí)對選項(xiàng)進(jìn)行排名。在 DPO 中,對于任意三元組 (x, y_w, y_l),滿足獎(jiǎng)勵(lì)排名 r (x, y_w) > r (x, y_l) 并不一定意味著滿足似然排名。事實(shí)上,在使用 DPO 訓(xùn)練時(shí),留存集中大約只有 50% 的三元組滿足這個(gè)條件(見圖 4b)。
構(gòu)建在長度上歸一化的獎(jiǎng)勵(lì)。很自然地,我們會(huì)考慮使用 (3) 式中的 p_θ 來替換 DPO 中的獎(jiǎng)勵(lì)構(gòu)建,使其與引導(dǎo)生成的似然指標(biāo)對齊。這會(huì)得到一個(gè)在長度上歸一化的獎(jiǎng)勵(lì):
其中 β 是控制獎(jiǎng)勵(lì)差異大小的常量。該團(tuán)隊(duì)發(fā)現(xiàn),根據(jù)響應(yīng)長度對獎(jiǎng)勵(lì)進(jìn)行歸一化非常關(guān)鍵;從獎(jiǎng)勵(lì)公式中移除長度歸一化項(xiàng)會(huì)導(dǎo)致模型傾向于生成更長但質(zhì)量更低的序列。這樣一來,構(gòu)建的獎(jiǎng)勵(lì)中就無需參考模型了,從而實(shí)現(xiàn)比依賴參考模型的算法更高的內(nèi)存和計(jì)算效率。
SimPO 目標(biāo)
目標(biāo)獎(jiǎng)勵(lì)差額。另外,該團(tuán)隊(duì)還為 Bradley-Terry 目標(biāo)引入了一個(gè)目標(biāo)獎(jiǎng)勵(lì)差額項(xiàng) γ > 0,以確保獲勝響應(yīng)的獎(jiǎng)勵(lì) r (x, y_w) 超過失敗響應(yīng)的獎(jiǎng)勵(lì) r (x, y_l) 至少 γ:
兩個(gè)類之間的差額已知會(huì)影響分類器的泛化能力。在使用隨機(jī)模型初始化的標(biāo)準(zhǔn)訓(xùn)練設(shè)置中,增加目標(biāo)差額通常能提升泛化性能。在偏好優(yōu)化中,這兩個(gè)類別是單個(gè)輸入的獲勝或失敗響應(yīng)。
在實(shí)踐中,該團(tuán)隊(duì)觀察到隨著目標(biāo)差額增大,生成質(zhì)量一開始會(huì)提升,但當(dāng)這個(gè)差額變得過大時(shí),生成質(zhì)量就會(huì)下降。DPO 的一種變體 IPO 也構(gòu)建了與 SimPO 類似的目標(biāo)獎(jiǎng)勵(lì)差額,但其整體目標(biāo)的效果不及 SimPO。
目標(biāo)。最后,通過將 (4) 式代入到 (5) 式中,可以得到 SimPO 目標(biāo):
總結(jié)起來,SimPO 采用了與生成指標(biāo)直接對齊的隱式獎(jiǎng)勵(lì)形式,從而消除了對參考模型的需求。此外,其還引入了一個(gè)目標(biāo)獎(jiǎng)勵(lì)差額 γ 來分離獲勝和失敗響應(yīng)。
實(shí)驗(yàn)設(shè)置
模型和訓(xùn)練設(shè)置。該團(tuán)隊(duì)的實(shí)驗(yàn)使用了 Base 和 Instruct 兩種設(shè)置下的兩類模型 Llama3-8B 和 Mistral-7B。
評估基準(zhǔn)。該團(tuán)隊(duì)使用了三個(gè)最常用的開放式指令遵從基準(zhǔn):MT-Bench、AlpacaEval 2 和 Arena-Hard v0.1。這些基準(zhǔn)可評估模型在各種查詢上的多樣化對話能力,并已被社區(qū)廣泛采用。表 2 給出了一些細(xì)節(jié)。
基線方法。表 3 列出了與 SimPO 做對比的其它離線偏好優(yōu)化方法。
實(shí)驗(yàn)結(jié)果
主要結(jié)果與消融研究
SimPO 的表現(xiàn)總是顯著優(yōu)于之前已有的偏好優(yōu)化方法。如表 4 所示,盡管所有的偏好優(yōu)化算法的表現(xiàn)都優(yōu)于 SFT 模型,但簡單的 SimPO 卻在所有基準(zhǔn)和設(shè)置上都取得了最佳表現(xiàn)。這樣全面的大幅領(lǐng)先彰顯了 SimPO 的穩(wěn)健性和有效性。
基準(zhǔn)質(zhì)量各不相同??梢杂^察到,在 Arena-Hard 上的勝率明顯低于在 AlpacaEval 2 上勝率,這說明 Arena-Hard 是更困難的基準(zhǔn)。
Instruct 設(shè)置會(huì)帶來顯著的性能增益。可以看到,Instruct 設(shè)置在所有基準(zhǔn)上都全面優(yōu)于 Base 設(shè)置。這可能是因?yàn)檫@些模型使用了更高質(zhì)量的 SFT 模型來進(jìn)行初始化以及這些模型生成的偏好數(shù)據(jù)的質(zhì)量更高。
SimPO 的兩種關(guān)鍵設(shè)計(jì)都很重要。表 5 展示了對 SimPO 的每種關(guān)鍵設(shè)計(jì)進(jìn)行消融實(shí)驗(yàn)的結(jié)果。(1) 移除 (4) 式中的長度歸一化(即 w/o LN);(2) 將 (6) 式中的目標(biāo)獎(jiǎng)勵(lì)差額設(shè)置為 0(即 γ = 0)。
移除長度歸一化對結(jié)果的影響最大。該團(tuán)隊(duì)研究發(fā)現(xiàn),這會(huì)導(dǎo)致模型生成長且重復(fù)的模式,由此嚴(yán)重拉低輸出的整體質(zhì)量。將 γ 設(shè)為 0 也會(huì)導(dǎo)致 SimPO 的性能下降,這說明 0 并非最優(yōu)的目標(biāo)獎(jiǎng)勵(lì)差額。
有關(guān)這兩項(xiàng)設(shè)計(jì)選擇的更深度分析請參閱原論文。
深度對比 DPO 與 SimPO
最后,該團(tuán)隊(duì)還從四個(gè)角度全面比較了 DPO 與 SimPO:(1) 似然 - 長度相關(guān)性、(2) 獎(jiǎng)勵(lì)構(gòu)建、(3) 獎(jiǎng)勵(lì)準(zhǔn)確度、(4) 算法效率。結(jié)果表明 SimPO 在準(zhǔn)確度和效率方面優(yōu)于 DPO。
DPO 獎(jiǎng)勵(lì)會(huì)隱式地促進(jìn)長度歸一化。
盡管 DPO 獎(jiǎng)勵(lì)表達(dá)式 (不包含配分函數(shù))缺乏一個(gè)用于長度歸一化的顯式項(xiàng),但策略模型和參考模型之間的對數(shù)比可以隱式地抵消長度偏見。如表 6 與圖 4a 所示,相比于沒有任何長度歸一化的方法(記為 SimPO w/o LN),使用 DPO 會(huì)降低平均對數(shù)似然和響應(yīng)長度之間的斯皮爾曼相關(guān)系數(shù)。但是,當(dāng)與 SimPO 比較時(shí),其仍然表現(xiàn)出更強(qiáng)的正相關(guān)性。
DPO 獎(jiǎng)勵(lì)與生成似然不匹配。
DPO 的獎(jiǎng)勵(lì)與平均對數(shù)似然指標(biāo)之間存在差異,這會(huì)直接影響生成。如圖 4b 所示,在 UltraFeedback 訓(xùn)練集上的實(shí)例中,其中 ,幾乎一半的數(shù)據(jù)對都有
。相較之下,SimPO 是直接將平均對數(shù)似然(由 β 縮放)用作獎(jiǎng)勵(lì)表達(dá)式,由此完全消除了其中的差異。
DPO 在獎(jiǎng)勵(lì)準(zhǔn)確度方面不及 SimPO。
圖 4c 比較了 SimPO 和 DPO 的獎(jiǎng)勵(lì)準(zhǔn)確度,這評估的是它們最終學(xué)習(xí)到的獎(jiǎng)勵(lì)與留存集上的偏好標(biāo)簽的對齊程度??梢杂^察到,SimPO 的獎(jiǎng)勵(lì)準(zhǔn)確度高于 DPO,這說明 SimPO 的獎(jiǎng)勵(lì)設(shè)計(jì)有助于實(shí)現(xiàn)更有效的泛化和更高質(zhì)量的生成。
SimPO 的內(nèi)存效率和計(jì)算效率都比 DPO 高。
SimPO 的另一大優(yōu)勢是效率,畢竟它不使用參考模型。圖 4d 給出了在 8×H100 GPU 上使用 Llama3-Base 設(shè)置時(shí),SimPO 和 DPO 的整體運(yùn)行時(shí)間和每臺(tái) GPU 的峰值內(nèi)存使用量。相比于原版 DPO 實(shí)現(xiàn),得益于消除了使用參考模型的前向通過,SimPO 可將運(yùn)行時(shí)間降低約 20%,將 GPU 內(nèi)存使用量降低約 10%。
更多詳細(xì)內(nèi)容,請閱讀原文。