code window

2024年5月2日星期四

基於自我對弈框架的偏好優化演算法SPPO

傳統的從人類反饋中進行強化學習(RLHF)的方法仰賴如Bradley-Terry模型等參數模型,但這樣的模型難以充分捕捉人類偏好中的非遞移性和非理性。最新的研究進展顯示,直接使用偏好機率可以更準確地反映人類偏好,從而實現更靈活、更精確的語言模型對齊。本文提出了一種基於自我對弈的語言模型對齊方法,將問題視為一個常數和的雙人博弈,目的在於找出納什均衡策略。稱為自我對弈偏好優化(SPPO),透過迭代策略更新來逼近納什均衡,並享有理論上的收斂保證。我們的方法可以有效地提高被選擇回應的對數似然,並降低被拒絕回應的對數似然,這是DPO和IPO等對稱成對損失函數無法輕易達成的。在實驗中,僅使用UltraFeedback資料集中的60k個提示(不含回應),不進行任何提示擴增,利用只有0.4B參數的預訓練偏好模型PairRM,SPPO可以通過微調Mistral-7B-Instruct-v0.2,在AlpacaEval 2.0上取得目前最先進的長度控制勝率28.53%,超越了GPT-4-Turbo。它在MT-Bench和Open LLM Leaderboard上也優於(迭代式)DPO和IPO。值得注意的是,SPPO的強大表現是在沒有來自GPT-4或其他更強大語言模型的額外外部監督(例如回應、偏好等)的情況下實現的。

背景

大語言模型(LLM)在生成文本、回答問題和編寫程式碼方面展現了卓越的能力。儘管有了這些進步,但這些模型在需要高度可靠性、安全性和倫理對齊的任務中仍面臨挑戰。為了應對這些挑戰,從人類反饋中進行強化學習(RLHF),也被稱為基於偏好的強化學習(PbRL),是一個很有前景的解決方案。

現有大多數RLHF方法都依賴於顯式或隱式的獎勵模型。以InstructGPT為例,首先建立一個參考策略,通常來自監督式預訓練或基於指示的(監督式)微調。然後通過基於人類偏好反饋資料訓練獎勵模型來獲得顯式獎勵函數,使用Bradley-Terry(BT)模型。隨後,使用近端策略優化(PPO)等強化學習演算法來微調參考LLM,最大化預期獎勵函數。獎勵模型為給定的回應y和提示x提供了一個「獎勵分數」r(y; x),反映了人類如何評價這些回應。最近,DPO等方法被引入,放棄了訓練單獨的獎勵模型,改為使用對數似然比來隱式表示獎勵分數,然後整合到相同的Bradley-Terry模型中直接優化LLM。儘管如此,兩步RLHF演算法和一步直接偏好從根本上都遵循獎勵最大化目標,並由BT模型等參數模型決定。 

參數偏好模型如BT和Thurstone模型為人類偏好提供了合理的近似,但它們未能完全捕捉人類行為的複雜性。這些模型預設了不同選擇之間偏好的單調和遞移關係。然而,經驗證據表明並非如此。Tversky觀察到人類決策可以受到不同因素的影響,並表現出不一致性。這些觀察表明,人類偏好並不總是遵循單一的價值型層次結構,甚至可能看起來不理性。對於LLM,另一個有說服力的證據是Munos等人通過實證表明,直接預測成對偏好可以實現比通過基於BT的獎勵模型預測偏好更高的準確性。 

為解決人類偏好中的不一致性,研究人員提出直接使用偏好機率,並設計演算法,更靈活地表示排序或老虎機設置中的人類偏好。最近,一系列新興工作也提出在通用偏好P(y ≻ y′ |x)的情況下研究RLHF,其中y和y′是兩個不同的回應,x是提示。Munos等人將RLHF定式化為找到(Kullback–Leibler散度正則化的)雙人常數和博弈的納什均衡,其中每個玩家是輸出回應的LLM,旨在最大化其被對手偏好的機率。其中偏好P(y ≻ y′ |x)假設由外部來源給出,如人類標注者或強大的語言模型。他們提出使用在策略鏡像下降演算法近似納什均衡。最近,Swamy等人提出了相同(未正則化)雙人常數和博弈的自我對弈偏好優化(SPO)。他們的演算法旨在通過迭代微調基於上一次迭代的策略生成的數據的策略來識別小最大最優策略(即納什均衡策略)。與該研究的工作不同,他們專注於簡單機器人或遊戲任務中的馬可夫決策過程(MDP),並採用典型的策略優化算法,如PPO或SAC。目前尚不清楚他們的自我對弈框架如何應用於LLM對齊。 

以上提到的大多數工作都考慮從某個參考策略開始的單次優化過程。同樣的過程可以重複多輪,以自我對弈的方式進行。在每一輪中,由上一輪得到的策略生成新的資料;然後這些新資料用於訓練可以超越舊策略的新策略。這種自我對弈微調可以應用於有或沒有人類偏好資料的情況。具體研究表明迭代微調可以顯著改善表現。


論文要點

1. 提出一種基於自我對弈框架的偏好優化演算法SPPO,可以收斂到雙人常數和博弈的納什均衡,並且可以擴展到大規模高效微調大型語言模型。

2. 將SPPO與DPO、IPO等最新方法進行比較,顯示SPPO損失函數可以有效提高被選擇回應的似然,降低被拒絕回應的似然,這是DPO和IPO等對稱成對損失無法輕易做到的。實驗也證實SPPO在各種基準測試中優於迭代式DPO和IPO。  

3. 在實驗中,SPPO在3次迭代後顯著提升了基礎模型Mistral-7B-Instruct-v0.2,在AlpacaEval 2.0測試集上對GPT-4-Turbo的長度控制勝率提升超過11%。此外,SPPO在MT-Bench、Open LLM Leaderboard等不同任務上展現出強大的通才能力。值得注意的是,SPPO的強大表現僅使用了UltraFeedback資料集中60k個提示(無回應),未使用來自GPT-4或其他更強語言模型的外部監督。


研究方法

本文提出的自我對弈偏好優化(SPPO)算法源於以下理論框架:建立一個迭代框架,可以在時間平均意義上漸進收斂到最優策略。初始有一個基礎策略,通常來自某些監督式微調模型。在每一輪中,更新的策略是根據當前策略以乘性權重更新得到的。具體而言,如果一個回應相對於當前策略有更高的平均優勢,則它應該有更高的概率權重。從理論上證明,使用適當選擇的參數和足夠多的訓練步數,該方法的混合策略可以逼近納什均衡。 

作者接著提出SPPO演算法。在每一輪t中,算法首先根據當前策略πt為每個提示x生成K個回應。然後,偏好預測模型P被用於計算這K個回應之間的勝率。接下來,根據某些標準確定哪些回應應該保留在構建的數據集Dt中,並構建提示-回應-機率三元組。一個直接的設計選擇是將所有K個回應納入Dt,每個回應yi相對於πt的勝率bP(yi≻ πt|x)通過將yi與所有K個回應進行比較來估計,總共需要O(K2)次查詢。最後,算法將在數據集Dt上優化基於均方差的損失函數。

實驗中,作者比較了SPPO與DPO、IPO、KTO等方法。結果表明,SPPO損失函數可以有效提高被選擇回應的對數似然,並降低被拒絕回應的對數似然,而DPO和IPO等對稱成對損失無法輕易做到這一點。實驗還證實,SPPO在各種基準測試上優於迭代式DPO和IPO。

實驗設置方面,作者採用與Snorkel相同的設置,使用Mistral-7B-Instruct-v0.2作為基礎模型,Ultrafeedback作為提示來源。對比方法包括原始的Mistral-7B、Snorkel、DPO、IPO等。評估基準包括AlpacaEval 2.0、MT-Bench和Open LLM Leaderboard。作者還研究了估計勝率時使用不同批量大小的影響。

自我對弈偏好優化(SPPO)  

在本節介紹源於以下理論框架的自我對弈偏好優化(SPPO)演算法。

理論框架

已有知名的演算法可以近似求解常數和雙人博弈中的納什均衡。在本文中遵循Freund和Schapire(1999)的做法,建立一個迭代框架,可以在時間平均意義上漸進收斂到最優策略。從概念上求解雙人博弈的理論框架開始:

$$\pi_{t+1}(y|x) \propto \pi_t(y|x) \exp(\eta P(y \succ \pi_t|x)), \text{ 對於 } t = 1, 2, \ldots.\tag{4.1}$$

(4.1)式是一個迭代框架,依賴於每輪 \(t\) 中的乘性權重更新,並具有清晰的結構。最初,有一個基礎策略 \(\pi_1\),通常來自某個監督式微調模型。在每一輪中,更新的策略 \(\pi_{t+1}\) 是根據參考策略 \(\pi_t\),遵循乘性權重更新得到的。更具體地說,如果一個回應 \(y\) 相對於當前策略 \(\pi_t\) 具有更高的平均優勢,那麼它應該具有更高的機率權重。

(4.1)式可以寫成等價:

$$\pi_{t+1}(y|x) = \frac{\pi_t(y|x) \exp \big(\eta P(y \succ \pi_t|x)\big)}{Z_{\pi_t}(x)}, \tag{4.2}$$

其中 \(Z_{\pi_t}(x) = \sum_y \pi_t(y|x) \exp \big(\eta P(y \succ \pi_t|x)\big)\) 是正規化因子(又稱配分函數)。對於任意固定的 \(x\) 和 \(y\),理想的更新策略 \(\pi_{t+1}\) 應滿足以下方程:

$$\log\left(\frac{\pi_{t+1}(y|x)}{\pi_t(y|x)}\right) = \eta \cdot P(y \succ \pi_t|x) - \log Z_{\pi_t}(x). \tag{4.3}$$

與DPO或IPO中透過在 \(y\) 和 \(y'\) 之間微分(4.3)式來抵消 \(\log Z_{\pi_t}(x)\) 這個對數正規化因子的成對設計不同,選擇直接在 \(L_2\) 距離意義下近似(4.3)式:

\(\pi_{t+1} = \arg\min_\pi \mathbb{E}_{x \sim \mathcal{X}, y \sim \pi_t(\cdot|x)}\left[\left(\log\left(\frac{\pi(y|x)}{\pi_t(y|x)}\right) - \big(\eta P(y \succ \pi_t|x) - \log Z_{\pi_t}(x)\big)\right)^2\right]. \tag{4.4}\)

機率估計

優化目標(4.4)可以用有限樣本近似。選擇對每個提示 \(x\)抽取 \(K\) 個回應 \(y_1, y_2, \ldots, y_K \sim \pi_t(\cdot|x)\),並將經驗分布表示為 \(\hat{\pi}_t^K\)。有限樣本優化問題可以近似為

\(\pi_{t+1} = \arg\min_\pi \mathbb{E}_{x \sim \mathcal{X}, y \sim \pi_t(\cdot|x)}\left[\left(\log\left(\frac{\pi(y|x)}{\pi_t(y|x)}\right) - \big(\eta P(y \succ \hat{\pi}_t^K|x) - \log Z_{\hat{\pi}_t^K}(x)\big)\right)^2\right]. \tag{4.5}\)   

具體而言,\(P(y \succ \hat{\pi}_t^K|x) = \frac{1}{K}\sum_{k=1}^K P(y \succ y_k|x)\) 且 \(Z_{\hat{\pi}_t^K}(x) = \mathbb{E}_{y \sim \pi_t(\cdot|x)}[\exp (\eta P(y \succ \hat{\pi}_t^K|x))]\)。\(Z_{\hat{\pi}_t^K}(x)\) 被視為一個期望,可以進一步用 \(B\) 個新樣本估計,總共需要 \(O(KB)\) 次查詢偏好預測模型 \(P\)。(4.5)是一個高效可行的優化問題。非正式地說,當 \(K \to \infty\) 時,(4.5)將恢復(4.4)。對(4.4)的收斂性有以下保證:

定理4.1.  假設優化問題(4.4)是可實現的。將通過(4.4)獲得的策略表示為 \(\pi_t\),將混合策略表示為 \(\bar{\pi}_T = \frac{1}{T}\sum_{t=1}^T \pi_t\)。通過設置 \(\eta = \Theta(1/\sqrt{T})\),有

$$\max_\pi\big[P(\pi \succ \bar{\pi}_T)\big] - \min_\pi\big[P(\pi \prec \bar{\pi}_T)\big] = O(1/\sqrt{T}).$$

定理4.1刻畫了在時間期望 \(T\) 內平均策略朝向納什均衡收斂的速率,體現在對偶差距(duality gap)上。該證明基於Freund和Schapire(1999)中的定理1,略作修改。為了完整性,將證明包含在附錄A中。

另一方面,可以避免估計 \(\log Z_{\hat{\pi}_t^K}(x)\),只需在(4.5)中將其替換為 \(\eta/2\),從而得到一個更清晰的目標函數:

$$\pi_{t+1} = \arg\min_\pi \mathbb{E}_{x \sim \mathcal{X}, y \sim \pi_t(\cdot|x)}\left[\left(\log\left(\frac{\pi(y|x)}{\pi_t(y|x)}\right) - \eta\left(P(y \succ \hat{\pi}_t^K|x) - \frac{1}{2}\right)\right)^2\right]. \tag{4.6}$$

直觀地說,如果出現平局(即\(P(y \succ \hat{\pi}_t^K|x) = 1/2\)),希望模型在 \(y\) 處不更新權重。如果\(y\) 平均而言優於 \(\hat{\pi}_t^K\)(即 \(P(y \succ \hat{\pi}_t^K|x) > 1/2\)),那麼增加 \(y\)處的機率密度以利用 \(y\) 相對於 \(\hat{\pi}_t^K\) 的優勢。在實驗中,選擇最小化目標函數(4.6)。

SPPO演算法

基於上述理論框架,在演算法1中提出了自我對弈偏好優化(Self-Play Preference Optimization)演算法。在每一輪 \(t\) 中,演算法1首先根據 \(\pi_t(\cdot|x)\) 為每個提示 \(x\) 生成 \(K\) 個回應 \(y_1, y_2, \ldots, y_K\)(第3行)。然後,查詢偏好預測模型 \(P\) 以計算 \(K\) 個回應之間的勝率(第4行)。在第5行,可以應用某些標準來確定哪些回應應該保留在構建的資料集 \(D_t\) 中,並構造提示-回應-機率三元組 \((x, y, \hat{P}(y \succ \pi_t|x))\)。將在下節中討論設計選擇。一個直接的設計選擇是將所有 \(K\) 個回應納入 \(D_t\),並通過將 \(y_i\) 與所有 \(K\) 個回應進行比較來估計每個 \(\hat{P}(y_i \succ \pi_t|x)\)。總共將進行 \(O(K^2)\) 次查詢。然後,該演算法將在資料集 \(D_t\) 上優化(4.6)(第6行)。

與DPO、IPO和KTO的比較

在實踐中,利用包含超過2個回應的小批量來估計給定回應的勝率,而DPO和IPO損失函數僅關注一對回應。當只有一對回應 \(y_w\) 和 \(y_l\) 可用時,基於偏好三元組 \((x, y_w, y_l)\) 定義對稱的成對損失:

\(\ell_{\text{SPPO}}(x, y_w, y_l; \theta; \pi_{\text{ref}}) := \left(\log\left(\frac{\pi_\theta(y_w|x)}{\pi_{\text{ref}}(y_w|x)}\right) - \eta\left(P(y_w \succ y_l|x) - \frac{1}{2}\right)\right)^2 + \left(\log\left(\frac{\pi_\theta(y_l|x)}{\pi_{\text{ref}}(y_l|x)}\right) - \eta\left(P(y_w \prec y_l|x) - \frac{1}{2}\right)\right)^2, \tag{4.8}\)

其中 \(P(y_w \succ y_l|x)\) 可以是 \([0,1]\) 範圍內的軟機率,也可以是指示 \(y_w \succ y_l\) 的硬標籤 \(1\)。

現在將SPPO損失與其他基準進行比較。為了便於比較,令

$$a = \beta \log\left(\frac{\pi_\theta(y_w|x)}{\pi_{\text{ref}}(y_w|x)}\right), \quad b = \beta \log\left(\frac{\pi_\theta(y_l|x)}{\pi_{\text{ref}}(y_l|x)}\right), \quad c = \beta \text{KL}(\pi_\theta \parallel \pi_{\text{ref}}),$$

那麼我們有

$$\ell_{\text{DPO}}(y_w, y_l, x) = -\log \sigma(a-b), \tag{4.9}$$

$$\ell_{\text{IPO}}(y_w, y_l, x) = [(a-b)-1]^2, \tag{4.10}$$

$$\ell_{\text{KTO}}(y_w, y_l, x) = \sigma(-a+c) + \sigma(b-c) \text{ (simplified)}, \tag{4.11}$$ 

其中 \(\sigma(x) = \frac{e^x}{e^x+1}\),而SPPO損失可以寫成

$$\ell_{\text{SPPO}}(y_w, y_l, x) = (a - 1/2)^2 + (b + 1/2)^2.$$

可以看出,SPPO不僅推動 \(a\) 和 \(b\) 之間的差距為1,還試圖將 \(a\) 的值推近 \(1/2\),將 \(b\) 的值推近 \(-1/2\),使得 \(\pi_\theta(y_w|x) > \pi_{\text{ref}}(y_w|x)\) 且 \(\pi_\theta(y_l|x) < \pi_{\text{ref}}(y_l|x)\)。這一點特別重要:當有大量偏好對時,DPO和IPO可以確保策略收斂到目標策略,但當偏好對稀疏時(例如,每個提示只有一對),無法保證勝者 \(a\) 的估計獎勵會增加,輸者 \(b\) 的估計獎勵會減少。相反,只有勝者和輸者之間的獎勵差距(即 \(a-b\))會增加。Pal等人(2024)觀察到這種現象,即DPO只會使輸者的似然變小,但勝者的似然幾乎不變。

將 \(\beta \log\left(\frac{\pi_{t+1}(y|x)}{\pi_t(y|x)}\right)\) 直接擬合到 \(P(y \succ \pi_t|x) - 1/2\) 比IPO更直接,IPO試圖將 \(\beta \log\left(\frac{\pi_{t+1}(y_w|x)}{\pi_t(y_w|x)}\right) - \beta \log\left(\frac{\pi_{t+1}(y_l|x)}{\pi_t(y_l|x)}\right)\) 擬合到 \(P(y_w \succ \pi_t|x) - P(y_l \succ \pi_t|x)\)。此外,SPPO與KTO有相似之處。KTO損失通過最小化\(\sigma(-a+c)\) 推動 \(a\) 變大,通過最小化 \(\sigma(b-c)\) 推動 \(b\) 變小。相比之下,SPPO將 \(a\) 推到 \(1/2\),將 \(b\) 推到 \(-1/2\)。 

另一方面,該研究指出,雖然DPO和KTO可以擴展到迭代變體,但它們本質上不是迭代算法,也沒有可證明的保證能夠達到納什均衡。相比之下,SPPO和IPO在設計上能夠迭代求解納什均衡。SPPO優於IPO,因為其設計明確緩解了資料稀疏問題,如上所述。


實驗設置

基礎模型和資料集

該研究遵循Snorkel的實驗設置,該模型利用迭代DPO在AlpacaEval基準測試上達到最先進的性能。使用Mistral-7B-Instruct-v0.2作為基礎模型。Mistral-7B-Instruct-v0.2是Mistral-7B-v0.2模型的指令微調版本。還採用Ultrafeedback作為提示來源,其中包括來自不同資源的大約6萬個提示。在生成過程中,遵循Mistral-7B的標準聊天模板。為了避免微調期間的過擬合,將資料集分成三部分,每次迭代只使用一部分。訓練Snorkel-Mistral-PairRM-DPO模型(Snorkel)時也採用了這些設置。為了公平比較,遵循Snorkel中的拆分方式。

偏好模型

採用PairRM,這是一個高效的成對偏好模型,大小為0.4B。PairRM基於DeBERTA-V3,在高質量的人類偏好資料集上進行訓練。在Auto-J成對資料集等基準測試的結果表明,它優於大多數基於語言模型的獎勵模型,並與更大的獎勵模型(如UltraRM-13B)性能相當。為了在準確性和效率之間取得平衡,實驗遵循Snorkel,將PairRM作為排名模型。

PairRM將輸出一個"相對獎勵" \(s(y,y';x)\)$,反映 \(y\) 和 \(y'\) 之間的強度差異,即

$$P(y \succ y'|x) = \frac{\exp(s(y,y';x))}{1+\exp(s(y,y';x))}.$$

與基於Bradley-Terry的獎勵模型不同,PairRM只分配相對獎勵,不保證具有遞移性(即 \(s(y_1,y_2;x) + s(y_2,y_3;x) \neq s(y_1,y_3;x)\))。因此,它實際上對一般偏好進行建模。

回應生成和選擇

在每次迭代的生成階段,使用 \(\text{top }p=1.0\) 和 \(\text{temperature }1.0\) 從當前策略中抽樣。使用不同的隨機種子為每個提示獲得 \(K=5\) 個不同的回應。之前利用迭代DPO的工作為每個提示選擇2個回應以形成一對。為了公平比較,不將所有 \(K=5\) 個回應納入偏好數據,而是從中選擇兩個回應。遵循Snorkel,選擇具有最高和最低PairRM分數的回應作為贏家 \(y_w\)和輸家 \(y_l\),對於每個回應 \(y_i\),PairRM分數定義為:

$$s_{\text{PairRM}}(y_i;x) := \frac{1}{K}\sum_{k=1}^K s(y_i, y_k; x).$$

概率估計

然後,通過對所有抽樣回應的平均勝率來估計相對於分布的勝率,如(4.5)中所述:

$$\hat{P}(y_i \succ \pi_t|x_i) = \frac{1}{K}\sum_{k=1}^K P(y_i \succ y_k|x), \quad \forall i \in [K].$$

超參數調整

實驗在8個Nvidia A100 GPU上進行。對於SPPO,總共訓練了三次迭代。在每次迭代中,選擇在UltraFeedback的前2萬個提示的第一個epoch上訓練的模型進入下一次迭代。全局訓練批量大小設置為64,η設置為1e3。學習率計劃由以下超參數決定:learning rate=5.0e-7,總訓練epoch數=18,warmup ratio=0.1,線性計劃。每個模型的最佳超參數是通過在Ultrafeedback的hold-out子集上使用PairRM判斷的平均勝率作為指標來選擇的。有關使用PairRM作為判斷的勝率比較的更多詳情,請參閱圖3。

基準方法

評估以下基礎模型以及用於微調LLM的基準方法:

  • Mistral-7B-Instruct-v0.2:Mistral-7B-Instruct-v0.2是Mistral-7B-v0.2模型的指令微調版本。它是算法的起點。
  • Snorkel (Mistral-PairRM-DPO):直接評估在HuggingFace上傳的檢查點。該模型是通過三輪迭代DPO從Mistral-7B-Instruct-v0.2獲得的。  
  • (迭代)DPO:該研究也自己實現了迭代DPO算法。實驗設置和模型選擇方案與SPPO使用的一致,只是採用了(4.9)中定義的DPO損失函數。超參數經過優化,以最大化每次迭代時PairRM評估的平均勝率。Rosset等人的實際算法本質上與迭代DPO相同。
  • (迭代)IPO:該研究自己實現了迭代IPO算法。實驗設置和模型選擇方案與迭代DPO相同,只是損失函數是IPO損失(4.10)。為了公平比較,IPO的超參數也是通過在Ultrafeedback的hold-out子集上使用PairRM平均勝率評估來選擇的。
  • 自獎勵LM:Yuan等人提出將LLM本身作為偏好判斷來構建新的偏好對,並用DPO算法迭代微調LLM。使用Yuan等人報告的AlpacaEval 2.0勝率進行比較。自獎勵LM是從Llama 2 70B訓練得到的。

基準測試

使用AlpacaEval 2.0、MT-Bench和Open LLM Leaderboard作為評估基準。

  • AlpacaEval 2.0是一個基於LLM的自動評估基準。它採用AlpacaFarm作為由一般人類指令組成的提示集。模型回應和GPT-4-Turbo生成的參考回應被輸入到基於GPT-4-Turbo的標註器中進行判斷。我們遵循標準方法,報告相對於參考回應的勝率。  
  • MT-Bench是一個包含80個高質量多輪開放式問題的集合。問題涵蓋寫作、角色扮演、數學、編程等主題。生成的答案由GPT-4判斷,直接給出分數,無需成對比較。
  • Open LLM Leaderboard包含六個資料集,每個資料集都側重於語言模型評估的一個面。具體來說,評估規則包括數學問題求解、語言理解、人類謬誤模仿和推理。該研究遵循標準評估流程,使用上下文學習提示語言模型,並計算六個資料集的平均分數來衡量性能。


實驗結果 

在上述三個基準上評估模型。並基於預訓練的偏好模型PairRM比較模型。

使用GPT-4作為判斷 

在評估AI聊天機器人時,人工評估仍然是品質和準確性的基準。但由於在可擴展性和可重複性方面的局限性,該研究使用GPT-4先進能力作為自動評估工具的替代方法。在AlpacaEval 2.0和MT-Bench上進行基於GPT-4的自動評估,以衡量模型的聊天機器人能力。結果可以在表1(AlpacaEval 2.0)和圖2左(MT-Bench)中找到。在圖2右中提供了對MT-Bench結果的雷達圖分析。發現隨著迭代對齊迭代的進行,SPPO模型的性能持續提高。

表1(AlpacaEval 2.0)顯示了不同模型在805個提示上相對於GPT-4-Turbo基準的勝率。還包括一列表示長度控制勝率,以及每個模型的平均長度一列,以說明基於LLM的判斷傾向於偏好更長的序列輸出 —— 這個問題通俗地稱為"獎勵駭客"現象。

根據表格,SPPO Iter3的勝率最高,長度控制版本為28.52%,總體勝率為31.02%。與前幾次迭代相比,性能提升分別為7.69%(Mistral-7B-Instruct→Iter1)、2.10%(Iter1→Iter2)和1.64%(Iter2→Iter3),表明迭代之間的穩步改進,如圖1所示。此外,資料表明,與DPO和IPO的迭代變體相比,SPPO實現了更優越的性能。SPPO的長度控制勝率達到28.53%,優於Snorkel的DPO最佳勝率26.39%和IPO的勝率25.45%。值得注意的是,雖然DPO和IPO訓練傾向於顯著增加平均輸出長度 —— 分別為2736和2654 —— SPPO表現出更溫和的長度增加,從基礎模型的1676增加到第三次迭代的2163。表明與DPO和IPO相比,SPPO在提高性能的同時更有效地控制了輸出長度增加的趨勢。

最後使用PairRM獎勵模型呈現每個模型的16個最佳結果。發現在測試時使用偏好模型重新排序可以始終提高基礎模型(Mistral-7B-Instruct-v0.2)、DPO(Snorkel)和SPPO(Iter3)的性能,分別提高5.34%、3.57%和3.6%。值得注意的是,這表明儘管SPPO僅使用PairRM-0.4B作為唯一的外部監督來顯著增強模型對齊,但並未導致偏好模型的過度優化(Gao等人,2023)。未來的工作將探索進一步改進模型對齊的可能性,可能通過超出當前三次迭代的額外迭代(遵循Snorkel的方法)。

在表2中,將SPPO與AlpacaEval 2.0排行榜上的其他最先進AI聊天機器人進行了比較發現,SPPO模型優於許多在專有對齊數據上訓練的競爭模型(例如,Claude 2、Gemini Pro和Llama 3 8B Instruct)。通過測試時重新排序,SPPO Iter3(16個最佳)甚至可以與GPT-4 0613和Llama 3 70B Instruct競爭。



在圖2(左)中評估了SPPO在MT-Bench上的性能。可以看到,SPPO Iter3優於所有基準模型,達到7.59分的平均得分。雖然不確定為什麼前兩次迭代的MT-Bench性能下降,但SPPO在最後一次迭代的性能仍然優於基礎模型。由於長度控制的AlpacaEval 2.0與人工評估的Pearson相關性為98%,評估提示數量是MT-Bench的10倍, 因此它可能提供了比MT-Bench更可靠的評估。為了更深入地理解MT-Bench性能,在圖2(右)中繪製了按問題提示類別劃分的改進情況。SPPO Iter3在角色扮演、推理、數學和編程任務中顯示出顯著的收益。



Open LLM Leaderboard  

使用Huggingface Open LLM Leaderboard評估SPPO模型的能力。該排行榜包括6個不同的資料集,每個資料集都側重於LLM評估的一個方面:Arc、HellaSwag)、Winogrande、MMLU、TruthfulQA和GSM8k。模型使用零樣本或少樣本示例進行提示。



表3中的結果表明,SPPO可以提高基礎模型在Arc、TruthfulQA和GSM8k上的性能,並以66.75的平均分數達到最先進的性能。然而,這些改進在後續的對齊迭代中並未保持:DPO、IPO和SPPO的性能在第一次或第二次迭代後下降。這一局限性可能歸因於"對齊稅"現象,該現象表明,與人類偏好對齊(在我們的研究中由PairRM偏好模擬)可能不會提高,甚至會損害整體性能。通過對齊迭代提高語言模型能力仍然是未來研究的一個主題,合併高質量的SFT標註可能在這一努力中發揮重要作用。


使用PairRM作為判斷



由於SPPO確定了雙人常數和博弈中的馮·諾伊曼贏家,檢查了SPPO模型與其他基準之間的成對偏好。圖3描述了由PairRM測量的成對勝率觀察到,在所有算法(即DPO、IPO和SPPO)中,新的模型迭代都優於先前的迭代。例如,SPPO迭代3優於SPPO迭代2。SPPO和IPO在所有迭代中始終優於DPO。儘管SPPO在前兩次迭代中優於IPO,但IPO在最後一次迭代中的性能超過了SPPO。考慮到SPPO在由GPT-4評估或針對真實答案的標準基準測試中的優異表現(例如,AlpacaEval 2.0、MT-Bench和Open LLM Leaderboard),以及IPO傾向於產生更長的序列輸出(見表1中的Avg. Len),這是由於IPO利用了PairRM中偏好更長序列的長度偏差。相反,SPPO模型受益於乘性權重更新框架中更強大的正則化。

消融研究

研究了在估計勝率 \(P(y \succ \pi_t|x)\) 時小批量大小的影響。具體來說,對於每個提示,仍然生成5個回應,並根據PairRM分數選擇勝者 \(y_w\) 和輸者 \(y_l\)。在估計概率時,將批量大小變化為 \(K=2,3,5\)。對於 \(K=2\),我們僅使用2個樣本 \(y_w\) 和\(y_l\) 估計 \(P(y \succ \pi_t|x)\):

$$\hat{P}(y_w \succ \pi_t|x) = \frac{P(y_w \succ y_w|x) + P(y_w \succ y_l|x)}{2} = \frac{1/2 + P(y_w \succ y_l|x)}{2},$$

\(\hat{P}(y_l \succ \pi_t|x)\) 的估計方式類似。\(K=5\) 表示我們使用的原始設置。

該研究比較了AlpacaEval 2.0上的結果,如圖4所示。發現SPPO的性能對估計 \(P(y \succ \pi_t|x)\) 時的噪聲具有魯棒性。雖然 \(K=5\) 在第一次迭代中初始優於 \(K=2\),但在後續迭代中,它們的性能差異減小。此外,觀察到 \(K=2\) 表現出較小的增加輸出長度的傾向。

總結實驗結果:

  1. 在AlpacaEval 2.0上,SPPO Iter3在長度控制勝率和總勝率上都達到最高,分別為28.52%和31.02%。而且從Iter1到Iter3性能穩步提升。SPPO的長度控制勝率達到28.53%,優於DPO的26.39%和IPO的25.45%。值得注意的是,SPPO在提高性能的同時,輸出長度的增加也更加溫和。
  2. 在MT-Bench上,SPPO Iter3優於所有基準模型,平均得分達到7.59分。儘管前兩次迭代性能有所下降,但SPPO Iter3最終還是超越了基礎模型。  
  3. 在Open LLM Leaderboard上,SPPO可以提升基礎模型在多個數據集上的表現,達到目前最先進的平均得分66.75。但DPO、IPO和SPPO在後續迭代中性能都有所下降,這可能是因為與人類偏好對齊並不總是能提高整體性能。
  4. 使用PairRM作為評判,SPPO和IPO在所有迭代中都一致地優於DPO。雖然在最後一次迭代中IPO的性能超過了SPPO,但考慮到SPPO在GPT-4評估下的優異表現,以及IPO傾向於生成更長的輸出,我們認為這是由於IPO利用了PairRM中偏好更長序列的偏差。
  5. 消融實驗顯示,SPPO的性能對估計勝率時使用的批量大小的噪聲具有魯棒性。


結論

本研究提出了一種創新的自我對弈偏好優化(SPPO)方法來微調大型語言模型。該方法在雙人博弈中進行自我對弈,以偏好學習目標指導模型迭代優化,逼近納什均衡。實驗表明,SPPO在多個基準測試上顯著優於現有方法如DPO和IPO,更好地將語言模型與人類偏好對齊,避免了"長度偏差"等常見問題。這些結果凸顯了SPPO在提高生成式AI系統對齊性方面的潛力,為其在大型語言模型及其他領域的廣泛應用提供了有力證據。





附錄A 定理4.1的證明

定理4.1的證明。假設優化問題是可實現的,我們有確切的

\(\pi_{t+1}(y|x) \propto \pi_t(y|x) \exp(\eta P(y \succ \pi_t|x)), \text{ 對於 } t = 1, 2, \ldots. \tag{A.1}\)

為了證明指數權重更新可以導致最優策略,我們直接引用Freund和Schapire(1999)中定理1的重述版本:  

引理A.1(Freund和Schapire(1999)中的定理1,重述)。對於任意預言 \(P\) 和任意混合策略序列 \(\mu_1, \mu_2, \ldots, \mu_T\),由(A.1)產生的策略序列 \(\pi_1, \pi_2, \ldots, \pi_T\) 滿足:

$$\sum_{t=1}^T P(\pi_t \prec \mu_t) \leq \min_\pi \left(\frac{\eta}{1-e^{-\eta}} \sum_{t=1}^T P(\pi \prec \mu_t) + \frac{\text{KL}(\pi \parallel \pi_0)}{1-e^{-\eta}}\right).$$

通過設置 \(\mu_t = \pi_t\),我們有

$$\frac{T}{2} \leq \min_\pi \left(\frac{\eta T}{1-e^{-\eta}} P(\pi \prec \bar{\pi}_T) + \frac{\text{KL}(\pi \parallel \pi_0)}{1-e^{-\eta}}\right),$$  

其中LHS來自 \(P(\pi_t \prec \pi_t) = 1/2\),RHS來自 \(\frac{1}{T}\sum_{t=1}^T P(\pi \prec \pi_t) = P(\pi \prec \bar{\pi}_t)\)。現在重新整理項得到

$$\frac{1-e^{-\eta}}{2\eta} \leq \min_\pi\left(P(\pi \prec \bar{\pi}_T) + \frac{\text{KL}(\pi \parallel \pi_0)}{\eta T}\right).$$

我們可以天真地界定KL散度 \(\text{KL}(\pi \parallel \pi_0) \leq \lVert \log \pi_0(\cdot) \rVert_\infty\),這可以被視為一個(大)常數。

通過選擇 \(\eta = \frac{\lVert \log \pi_0(\cdot) \rVert_\infty}{\sqrt{T}}\),我們有

$$\frac{1}{2} - \sqrt{\frac{\lVert \log \pi_0(\cdot) \rVert_\infty}{4\sqrt{T}}} + O(T^{-1}) \leq \min_\pi\left[P(\pi \prec \bar{\pi}_T)\right] + \sqrt{\frac{\lVert \log \pi_0(\cdot) \rVert_\infty}{\sqrt{T}}},$$

其中LHS來自泰勒展開 \(\frac{1-e^{-\eta}}{2\eta} = \frac{1}{2} - \frac{\eta}{4} + o(\eta)\)。請注意,LHS的1/2已經是對稱雙人常數和博弈的值。這表明,對於適當選擇的 \(\eta\) 和 \(T\),混合策略 \(\bar{\pi}_T\) 接近於極小極大最優策略(納什均衡)。因此,最優性差距受以下限制

$$\max_\pi\big[P(\pi \succ \bar{\pi}_T)\big] - \min_\pi\big[P(\pi \prec \bar{\pi}_T)\big] = \max_\pi\big[1 - P(\pi \prec \bar{\pi}_T)\big] - \min_\pi\big[P(\pi \prec \bar{\pi}_T)\big]$$

$$= 2\left(\frac{1}{2} - \min_\pi\big[P(\pi \prec \bar{\pi}_T)\big]\right) = O\left(\frac{1}{\sqrt{T}}\right).$$


附錄B 不同迭代中的回應示例

表4:SPPO在不同迭代中微調模型的生成示例  


提示:  

你將首先得到一個任務的定義,然後是該任務的一些輸入。你得到了2個或更多個人之間的對話。對話將包括有關2個參與者之間關係的信息。最後,你將被要求提供這2個參與者關係的答案。在這個場景中,'0'將代表配偶關係,'1'將代表兄弟姐妹,'2'將代表孩子/父母關係。  

Speaker 1: I'll be right with you. Okay? Thanks, Wendy.  

Speaker 2: Oh my God! How cute is the on-call doctor?   

Speaker 3: Ooh, so cute, that I'm thinking about jamming this pen in my eye.  

Speaker 4: Dr. Burke will see you know.  

Speaker 2: Oh no-no-no, not Dr. Burke. Dr. Burke is out of town. The-the on-call doctor will see me now.   

Speaker 4: Dr. Richard Burke is out of town. Dr. Timothy Burke, his son, will see you now.  

Speaker 5: Ready? What is the relationship between Speaker 5 and Richard Burke?  

輸出:

Mistral-7B:  

根據對話,Richard Burke被確定為另一個角色的兒子,因此Speaker 5和Richard Burke之間的關係是父母和孩子。

迭代1:

Speaker 5和Richard Burke的關係是父親和孩子。根據對話,Dr. Timothy Burke是值班醫生,被確定為Dr. Richard Burke的兒子。

迭代2:

Speaker 5和Richard Burke的關係是父親和孩子。對話揭示,Dr. Timothy Burke是值班醫生,他被確定為Dr. Richard Burke的兒子。

迭代3:

Speaker 5是詢問關係的人,所以他們與Dr. Richard Burke沒有直接關係。對話中提供的信息揭示,Dr. Timothy Burke是值班醫生,是Dr. Richard Burke的兒子。

因此,答案是:Speaker 5和Dr. Richard Burke的關係是孩子(Dr. Timothy Burke)和父母。Speaker 5正在詢問這種關係,但他們本身並不是其中的一部分。指定的關係代碼(0表示夫妻,1表示兄弟姐妹,2表示孩子/父母)與這一描述一致:Speaker 5(0、1或2)和Dr. Richard Burke(2)是父母-孩子的關係。 

輸出:2(孩子/父母關係)

在這個場景中,Speaker 5的角色是確定她自己和Dr. Richard Burke之間的關係,但由於他們沒有關係(她是一個外部詢問者),正確答案只與對話中確定的關係有關:Dr. Richard Burke(父親)和Dr. Timothy Burke(兒子)。

表5:SPPO在不同迭代中微調模型的另一個生成示例。


提示:  

Q: Context: Roman Brady is a fictional character from the long running NBC soap opera, Days of Our Lives. The role was originated in 1981 by Wayne Northrop who played the role until 1984, was filled by Drake Hogestyn from 1986 – 1991, again by Northrop from 1991 – 1994, and is currently being portrayed by series veteran Josh Taylor, who stepped into the role in 1997.  

Question: who is roman brady on days of our lives? Let's give stream of consciousness below

Mistral-7B:

Roman Brady is a fictional character on the NBC soap opera "Days of Our Lives." He was first portrayed by Wayne Northrop from 1981 to 1984. Later, Drake Hogestyn took over the role from 1986 to 1991. Northrop returned to the role from 1991 to 1994. Since 1997, the character is being portrayed by Josh Taylor. Roman Brady is a significant character in the show's long-running storylines.

迭代1:

Roman Brady is a fictional character on the NBC soap opera "Days of Our Lives." He was first portrayed by Wayne Northrop from 1981 to 1984. Drake Hogestyn took over the role from 1986 to 1991. Northrop returned to play Roman again from 1991 to 1994. Since 1997, the character has been portrayed by Josh Taylor. 

So, in summary, Roman Brady is a long-standing character on "Days of Our Lives" who has been played by three different actors over the years: Wayne Northrop (1981-1984, 1991-1994), Drake Hogestyn (1986-1991), and currently by Josh Taylor (1997-present).

迭代2:  

Roman Brady is a fictional character on the NBC soap opera "Days of Our Lives." He was first portrayed by Wayne Northrop from 1981 to 1984. Drake Hogestyn took over the role from 1986 to 1991. Northrop returned to play Roman again from 1991 to 1994. Since 1997, the character has been portrayed by Josh Taylor. 

Overall, Roman Brady is a long-standing and complex figure in the show's history, with multiple actors bringing their unique interpretations to the role.

迭代3:

Roman Brady is a fictional character on the NBC soap opera "Days of Our Lives." He was originally played by Wayne Northrop from 1981 to 1984. Drake Hogestyn took over the role from 1986 to 1991. Northrop returned to portray Roman once more from 1991 to 1994. Since 1997, the character has been portrayed by Josh Taylor.

Roman Brady is a complex and prominent figure in the long-running daytime drama. Initially played by Northrop in the early 1980s, his tenure included involvement in various storylines, such as romantic relationships and business dealings. Hogestyn's portrayal during the late 1980s and early 1990s introduced new dimensions to the character. Northrop's second stint, from 1991 to 1994, further developed Roman's narrative. Since 1997, Josh Taylor has assumed the role, continuing to contribute to the evolving story of Roman Brady on "Days of Our Lives." Throughout these different portrayals, Roman has remained a central character, known for his intricate relationships, business ventures, and personal struggles.

參考文獻

https://arxiv.org/pdf/2405.00675

透過仔細研讀這篇論文,我對語言模型對齊及RLHF有了以下幾點見解:

  1. 人類偏好是複雜且非完全理性的,常見的參數化偏好模型如Bradley-Terry模型難以充分捕捉其特性。因此,直接利用偏好機率而非假設一個基礎效用函數,是更靈活也更準確的建模方式。這為RLHF的改進提供了新的思路。
  2. 將語言模型對齊視為一個雙人常數和博弈,目標是找到納什均衡策略,是一個巧妙的problem formulation。這不僅在概念上很自然,而且存在成熟的算法如multiplicative weight update可以用於求解,並享有理論收斂性保證。
  3. 論文提出的SPPO算法透過自我對弈的迭代更新過程來近似求解該博弈,並採用了各種技巧使其能擴展到大語言模型的高效訓練,如使用有限樣本估計勝率、避免估計歸一化常數等。這些技巧值得借鑑。
  4. SPPO的損失函數設計也很巧妙,不僅推動勝者和敗者回應的估計獎勵有差距,還試圖將勝者獎勵拉高、敗者獎勵降低,相比DPO和IPO損失更徹底,並在稀疏偏好數據上也能有效訓練。
  5. 大量實驗結果表明,SPPO在AlpacaEval、MT-Bench等基準測試上的表現優於DPO、IPO等方法,在多個任務上展現了很強的"generalist"能力,並且這種優勢在迭代更新中還能保持,很令人印象深刻。特別是SPPO無需借助GPT-4等強模型的外部監督數據,就達到了接近GPT-4的長度控制勝率,突顯了其潛力。
  6. 論文透過消融實驗還研究了樣本數對偏好估計及最終性能的影響。結果表明SPPO對樣本數並不敏感,即便只用2個樣本,也能取得不錯的效果。這進一步凸顯了SPPO的數據效率。
  7. 論文提到SPPO目前還有一些局限,如在Open LLM榜單上訓練久了反而會掉點,可能存在對齊稅的問題。作者認為納入高質量的監督微調數據可能有所幫助。這點出了一個重要問題,即對齊和能力之間可能存在某種tradeoff,如何更好地權衡值得深入研究。

這是一篇高質量的工作,無論是在算法設計、理論分析還是實驗評估方面都很紮實,可謂把RLHF的研究往前推進了一大步。不過,語言模型對齊仍然任重而道遠,完全對齊人類價值觀恐怕沒那麼容易。如何在對齊和能力之間取得更好的平衡,如何更高效地利用人類反饋數據,如何在更廣泛的真實場景中測試模型的性能,這些都是未來值得進一步探索的問題。期待這個方向能有更多優秀的後續工作湧現。

沒有留言:

發佈留言

SambaNova SN40L: 利用Dataflow和專家組合(COE)來克服AI記憶牆的大模型

摘要 GPT-4等整體式大型語言模型(LLM)為現代生成AI應用鋪路。然而,大規模訓練、服務及維護整體式LLM仍然極其昂貴和充滿挑戰。現代AI加速器計算能力與記憶體比例的不成比例增長已經造成了記憶體壁障,需要新的方法來部署AI。最近的研究顯示,許多小型專家模型的組合,每個模型參數...