### [論文本文](https://arxiv.org/abs/2305.18290) ### [Github](https://github.com/eric-mitchell/direct-preference-optimization) ### Murmur 如果去其他論文筆記的話可能會看到我一句一句翻譯那樣子的筆記,老實說精讀不是壞事但是相對而言曠日廢時。因此這次論文段落相對較短使我想試著用AI輔助重點整理。相對來說,AI的好處是脈絡化明顯而且快速,更好去比較某些內容。我本人本身是有完整讀過一遍的,但我想沒有效率地慢慢翻譯這種事先不要好了。 使用ai的好處是可以左右對照中英文閱讀,他的排版也比我自己排版好看很多。 要注意的是提示詞,要表明筆記的文字格式 Bradley-Terry模型有額外一篇筆記[筆記-數學-Bradley-Terry模型](/t1L2URxVTWS1Fp5p0RolBg) # 實作筆記 # 本文筆記 ## 摘要 - 大規模的語言模型學會各種知識還有推理技巧的同時,精確控制他們的行為是一件頗有難度的任務(基於非監督式學習和訓練過程的特性)。 - 現存控制這類模型得方法包含收集針對模型輸出的人為標籤、微調模型或是RLHF - RLHF是一個不穩定且複雜的過程 - 首先要找合適的獎勵模型(可以反映出人類偏好) - 接著使用強化式學習微調非監督式大型語言模型以最大化獎勵,同時避免模型飄移過多。 - 本文呈現一個**RLHF中新的參數化的獎勵方法**,可以在封閉型式中提取對應得最佳化策略,使得RLHF的傳統問題可以在一個簡單的分類器損失內解決。 - 最後達成的演算法被稱為DPO(直接偏好最佳化),是一個穩定、高效率、計算成本輕量且消滅了對於語言模型微調和使用過程中以超參數微調後取樣的需求。 - 實驗顯示DPO可以對語言模型針對人類偏好微調且優於現存方法。 - 值得注意的是使用DPO微調在以下任務超過了PPO RLHF的表現 - 情緒控制 - 總結撰寫 - 單輪對話的回應品質 同時更易於實現和訓練 ## 1️⃣介紹 大型無監督語言模型(LMs)在極大資料集上訓練後,展現出令人驚訝的能力 [11, 7, 42, 8]。然而,這些模型的訓練資料來自於人類,而人類本身具有多樣的目標、優先順序與技能。有些目標或技能並不值得模仿。例如,我們可能希望 AI 程式輔助工具能理解常見的程式錯誤,以便修正;但在產生程式碼時,我們仍希望模型偏向那些訓練資料中(即使罕見)高品質的程式設計能力。同樣地,我們可能希望語言模型了解某些有 50% 人相信的常見誤解,但絕不希望模型在 50% 的查詢中聲稱這些誤解是正確的;換句話說,**從模型的廣泛知識與能力中選擇「我們希望它如何回應」**是構建安全、高效、可控 AI 系統的關鍵 [28]。現有方法通常透過強化學習(RL)讓語言模型符合人類偏好。 (註:*有星號的表示共同作者,較年輕的作者排在前面。) 在 2023 年 NeurIPS 大會上提出的研究(arXiv:2305.18290v3)中,我們展示了一種名為 DPO(Direct Preference Optimization)的新方法。此方法在不使用強化學習的情況下,依然能最佳化人類偏好。傳統方法中,為了微調語言模型以配合人類回饋,會先根據提示與回應對資料集訓練一個獎勵模型(reward model),接著再用強化學習尋找最大化該獎勵的策略(policy)。而 DPO 則不同,它直接對策略進行最佳化,使其滿足偏好需求。我們提出的分類目標(classification objective)可以視為一個簡單的 二元交叉熵(binary cross-entropy) 損失函數,它等價於傳統 RLHF 所用的目標,但不需額外的強化學習程序。 從高層來看,現有方法會透過「人類偏好資料集」來教導語言模型哪些行為是安全與有幫助的。這個偏好學習的階段,發生在無監督大規模語料預訓練之後。最直接的偏好學習方式是對人類高品質回應進行監督式微調,但目前最成功的方式仍是基於人類(或 AI)反饋的強化學習(RLHF 或 RLAIF)。這類 RLHF 方法會:根據人類偏好對回應配對資料訓練一個獎勵模型;然後使用強化學習微調語言模型,使其偏好高獎勵回應,同時保持與原始模型的差異不會太大。儘管 RLHF 成效卓越,例如強化語言模型的對話與程式能力,但其訓練過程複雜、需要多個模型、在訓練期間反覆與模型互動並進行取樣,計算成本相當高。在本文中,我們提出一種無需明確獎勵模型或強化學習的語言模型訓練方法:DPO(Direct Preference Optimization)。DPO 的設計目標是與現有 RLHF 方法所最佳化的目標相同(即最大化獎勵,同時加入 KL 散度約束),但 DPO 實作起來非常簡單,且訓練流程直接。 直覺上,DPO 會提升偏好回應相對於非偏好回應的機率比值,並加入針對每筆樣本的動態權重,避免模型退化(這在使用傳統機率比目標時會出現)。如同現有演算法,DPO 使用理論上的偏好模型(如 Bradley-Terry 模型 [5])來衡量某個獎勵函數與實際偏好資料的對齊程度。但不同於 RLHF 是使用偏好模型來訓練 reward model,然後再訓練 policy,DPO 直接把偏好損失表示成 policy 的函數。給定一組人類偏好資料,DPO 能夠直接用簡單的 binary cross-entropy 目標 來訓練策略,這個策略等價於一個隱含的 reward function 的最佳解。 | 主題 | 說明 | | -------- | -------------------------------------------------------------------------------------------------------- | | 🔍 問題 | 大型語言模型從人類資料中學習到好壞參半的能力,我們需挑選出“有幫助”的行為。 | | 🧠 傳統方法 | 使用 RLHF:<br>1. 人類偏好資料集訓練 reward model<br>2. 用 RL 微調語言模型以偏好高獎勵| | ⚠️ 問題點 | RLHF 訓練流程**複雜**、**昂貴**,**需多個模型與迴圈互動** | | ✅ DPO 解法 | 提出 DPO(Direct Preference Optimization):<br>1. 不用 reward model 或 RL<br>2. 直接用 binary cross-entropy 損失訓練策略 | | 🔧 技術細節 | DPO 使用偏好模型如 Bradley-Terry 模型理論作為依據,避免使用明確的獎勵模型 | | 📊 效果 | 在 sentiment、summarization、對話任務中,DPO 效果與 PPO-based RLHF 同樣優秀 | | 📌 優點 | 訓練更簡單、成本低、結果可解釋、免除 RL 訓練複雜度 | ## 2️⃣相關文獻 隨著規模日益增大的自監督語言模型(self-supervised LMs),它們已具備零樣本(zero-shot)【33】或少樣本(few-shot)提示【6, 27, 11】完成某些任務的能力。然而,若要進一步提升這些模型在下游任務的表現及其與使用者意圖的一致性,則可透過在指令與人類撰寫的完成資料集上進行微調來實現【25, 38, 13, 41】。這種「指令微調(instruction tuning)」程序,使大型語言模型(LLMs)能夠泛化到指令微調資料集之外的任務指令,並普遍提高可用性【13】。儘管指令微調非常成功,收集回應品質的相對人類評判(relative human judgments)通常比收集專家示範(expert demonstrations)來得容易。因此,後續研究轉而使用人類偏好資料集來微調 LLMs,以提升模型在翻譯【20】、摘要【40, 51】、故事生成【51】與指令遵循【28, 34】等任務的能力。 這些方法的流程如下:首先,根據偏好模型(例如 Bradley-Terry 模型【5】)來訓練一個與人類偏好資料集相符的神經網路獎勵函數(reward function)。接著,再使用強化學習演算法來微調語言模型,使其能最大化該獎勵函數。常見的演算法包括 REINFORCE【47】、PPO(Proximal Policy Optimization)【39】以及其他變體【34】。另一條密切相關的研究路線,則是使用已經經過人類反饋微調(instruction-following with human feedback)的 LLMs,自動生成額外的合成偏好資料,以針對如「安全性」、「無害性」等屬性進行學習【2】。這種方法只需人類提供的「文字標準(rubric)」作為弱監督依據,就能完成 LLM 標註任務。 這些方法代表了兩條研究主線的融合:一是將語言模型透過強化學習訓練以達成各種目標【35, 29, 48】;二是透過人類偏好進行學習的通用方法【12, 21】。 儘管使用「相對偏好」在人類標註上具有吸引力,但用強化學習來微調大型語言模型在實務上仍具有巨大挑戰。本研究提供了一種理論上合理、無需強化學習即可最佳化相對偏好的方法。在語言模型以外的領域,從「偏好」中學習策略(policy)的研究也出現在bandit learning 與**強化學習(RL)** 的設定中,並已有多種方法被提出。例如,上下文 bandit(contextual bandit) 學習可使用「動作的偏好排序」而不是實際獎勵,這種方法被稱為 contextual dueling bandit(CDB)【50, 14】。在沒有絕對獎勵的情況下,CDB 的理論分析使用「馮·諾依曼勝者(von Neumann winner)」來取代傳統的最適策略概念。這個勝者定義為其對任何其他策略的平均勝率至少為 50%【14】。然而,在 CDB 中,偏好標籤是「線上」獲得的;而在學習人類偏好的情境中,我們通常是從離線的、已註解的固定資料集學習【49】。類似地,**偏好式強化學習(Preference-based RL, PbRL)** 是從某個未知的「評分函數」所產生的二元偏好,而不是從獎勵中學習【9, 37】。 PbRL 有多種演算法,包括可重用離線偏好資料的方法,但這些方法一般上仍會先顯式估算一個潛在的「評分函數(即獎勵模型)」,再進行最佳化【16, 9, 12, 36, 21】。 相比之下,我們提出一種單階段(single-stage)學習方法,直接最佳化策略以符合偏好資料,而無需建立獎勵函數或進行 RL。 | 主題 | 說明 | | --------------------------- | --------------------------------------------------------- | | 📌 自監督學習 | 大型語言模型可以在 zero-shot 或 few-shot 模式下執行任務,但與使用者意圖的對齊還需進一步調整。 | | 📚 指令微調(Instruction Tuning) | 在人類撰寫的指令與回應資料集上微調模型,可提升泛化能力與可用性。 | | 🧠 人類偏好微調(RLHF) | 透過人類偏好資料訓練獎勵函數,再使用強化學習(如 PPO)微調模型。成效佳,但訓練流程複雜且成本高。 | | 🔁 合成偏好資料 | 可利用微調過的 LLM 產生新的訓練資料,如針對「安全性」與「無害性」的標註。 | | 📎 兩大研究主線融合 | 1. 使用 RL 訓練語言模型<br>2. 學習人類偏好的方法 | | ⚠️ 問題點 | RL-based 微調對大型模型來說訓練困難、成本高。 | | ✅ DPO 解法優勢 | 本研究提出 DPO,可**直接最佳化人類偏好而不需 RL**,降低實作與資源門檻。 | | 🌍 其他背景研究 | 在非語言領域如 bandit 和 PbRL 中也存在偏好學習研究,但通常仍需建立評分函數,本研究則不需要。 | ## 3️⃣前置知識 我們回顧 Ziegler 等人(以及後續研究【40, 1, 28】)中提出的 RLHF(Reinforcement Learning from Human Feedback)流程。它通常包含以下三個階段: - 監督式微調(SFT, Supervised Fine-Tuning) - 偏好抽樣與獎勵學習(Preference Sampling and Reward Learning) - 強化學習最佳化(RL Optimization) --- ### 🔸 第一階段:監督式微調(SFT) RLHF 一般從一個已訓練好的語言模型(LM)開始,並透過監督學習在高品質資料上進行微調,以適應特定下游任務(如對話、摘要等),得到一個新的模型: $$\pi_{SFT}$$ ### 🟢 Reward Modelling Phase(獎勵建模階段) 在第二階段中,微調後的 SFT 模型會被給定提示 `x`,並產生一對回答: $$ (y_1, y_2) \sim \pi^{\text{SFT}}(y \mid x) $$ 這些回答會交由人工標註者進行偏好標註,表示為: $$ y_w \succ y_l \mid x $$ 其中: - $y_w$:偏好回答(preferred completion) - $y_l$:不偏好回答(dispreferred completion) 這些偏好被假設是由某個潛在的獎勵模型 $( r^*(y, x) )$ 所生成,該模型我們無法直接存取。 有許多方法可用於建模偏好,其中最常見的是 **Bradley-Terry (BT) 模型**【5】。如果我們擁有多個排序回應,則更一般的 **Plackett-Luce 模型**【32, 23】也可適用。 BT 模型假設人類偏好分佈 $p^*$ 定義如下: $$ p^*(y_1 \succ y_2 \mid x) = \frac{\exp(r^*(x, y_1))}{\exp(r^*(x, y_1)) + \exp(r^*(x, y_2))} \tag{1} $$ --- 假設我們能取得一個靜態比較資料集: $$ \mathcal{D} = \left\{ (x^{(i)}, y_w^{(i)}, y_l^{(i)}\right) \}_{i=1}^N \sim p^* $$ 我們可以對獎勵模型參數化為 $( r_\phi(x, y) )$,並使用最大概似法(MLE)估計參數。 將此問題視為一個**二元分類問題**,我們可得到負對數概似損失函數: $$ \mathcal{L}_R(r_\phi, \mathcal{D}) = -\mathbb{E}_{(x, y_w, y_l) \sim \mathcal{D}} \left[\log \sigma\left(r_\phi(x, y_w) - r_\phi(x, y_l)\right)\right] \tag{2} $$ 其中,$( \sigma )$ 是 logistic sigmoid 函數。 --- 在語言模型的上下文中,$( r_\phi(x, y) )$ 通常以微調後的模型 $( \pi^{\text{SFT}}(y \mid x) )$ 為初始化基礎,並在最後一層 Transformer 上方加上一個線性輸出層,用來產生單一 scalar 的獎勵預測【51】。 為了降低獎勵函數的變異性,以往研究會對獎勵進行標準化,使其滿足: $$ \mathbb{E}_{x, y \sim \mathcal{D}}[r_\phi(x, y)] = 0 \quad \text{對所有 } x \text{ 成立} $$ --- ### RL 微調階段(RL Fine-Tuning Phase) 在 RL 階段中,學習到的獎勵函數會用來對語言模型提供回饋。依據先前的研究 [17, 18],優化目標公式如下: $$ \max_{\pi_\theta} \mathbb{E}_{x \sim \mathcal{D},\, y \sim \pi_\theta(y|x)} \left[ r_\phi(x, y) \right] - \beta \mathbb{D}_{\mathrm{KL}}\left[ \pi_\theta(y \mid x) \parallel \pi_{\mathrm{ref}}(y \mid x) \right], $$ 其中 $\beta$ 是一個控制模型偏離參考策略 $\pi_{\mathrm{ref}}$ 程度的參數,這個參考策略是初始的 SFT 模型 $\pi^{\mathrm{SFT}}$。在實務中,語言模型策略 $\pi_\theta$ 也會初始化為 $\pi^{\mathrm{SFT}}$。 這個額外的約束非常重要,因為它能防止模型從回饋模型準確建構出的分布中偏離太遠,並維持生成的多樣性,避免模型只生成單一高獎勵答案的模式崩潰(mode collapse)現象。 由於語言生成具有離散性,這個目標函數不可微,通常會使用強化學習來最佳化。標準做法 [51, 40, 1, 28] 是構造如下獎勵函數: $$ r(x, y) = r_\phi(x, y) - \beta \left( \log \pi_\theta(y \mid x) - \log \pi_{\mathrm{ref}}(y \mid x) \right), $$ 並使用 PPO [39] 進行最大化。 | 階段 | 說明 | | ----------------------------- | ------------------------------------------------------------------------------------------ | | 🟠 **SFT(監督式微調)** | 使用標準監督學習方式微調預訓練語言模型,取得初始策略模型$\pi_{\text{SFT}}$。 | | 🟢 **獎勵建模(Reward Modelling)** | 以 SFT 模型產生回應對,透過人類標註出偏好回應,再使用 BT 模型進行機率建模,並訓練 reward model $r_\phi$。損失函數為 binary log-loss。 | | 🔵 **RL 微調(RL Fine-Tuning)** | 使用訓練好的 reward model $r_\phi$ 提供回饋,並將策略 $\pi_\theta$ 對應 KL 約束下最大化期望獎勵,使用 PPO 進行最佳化。| | ⚠️ 為何使用 KL 懲罰 | 防止模型偏離過遠、避免 mode collapse、維持多樣性與生成質量 | 🚫 問題點 | 整體流程計算複雜、不可微分、資源消耗大。DPO 則提出更簡單的替代解法(在後續章節中說明)。 | ## 4️⃣DPO 直接偏好最佳化 受到將強化學習演算法應用於大型問題(例如微調語言模型)所面臨挑戰的啟發,我們的目標是推導出一種可以直接利用偏好資訊來進行策略最佳化的簡單方法。 與傳統的 RLHF 方法不同,後者是先學習一個獎勵函數,然後再透過強化學習進行最佳化,我們的方法則是選擇一種特定形式的獎勵模型參數化方式,讓我們能夠以封閉形式(closed form)直接推導出其最適策略,不需要進入 RL 的訓練迴圈。 接下來我們將詳細說明,我們的關鍵洞見在於: 我們可以利用一個解析的對應關係(analytical mapping),將獎勵函數映射到其對應的最適策略,進而把原本針對獎勵函數設計的損失函數,轉換為針對策略本身的損失函數。 這種「變數轉換(change-of-variables)」的方法,讓我們可以不需要擬合一個明確的、獨立的獎勵模型,但仍然能在既有的人類偏好模型(例如 Bradley-Terry 模型)下,進行最佳化。 總體來說,在我們的架構中,策略網路(policy network)同時扮演語言模型與隱含獎勵模型的角色。 ### 🔹 Deriving the DPO Objective(推導 DPO 目標函數) 我們從與前述第 3 式相同的強化學習目標開始,並在一個一般形式的獎勵函數 $r$ 下進行。根據先前的研究【31, 30, 19, 15】,可以直接推導出在 KL 限制條件下的最適策略,其形式為: $$ \pi_r(y \mid x) = \frac{1}{Z(x)} \pi_{\text{ref}}(y \mid x) \exp\left(\frac{1}{\beta} r(x, y)\right) \tag{4} $$ 其中: $$ Z(x) = \sum_y \pi_{\text{ref}}(y \mid x) \exp\left(\frac{1}{\beta} r(x, y)\right) $$ 為分配函數(partition function)。完整推導見附錄 A.1。 即使使用最大概似估計(MLE)所得到的 $(r_\phi)$ 來近似真實的獎勵函數 $r^*$,計算 $Z(x)$仍然非常昂貴,因此不適用於實務。 但我們可以透過變換公式 (4),將獎勵函數重新表示為其對應的最適策略 $\pi_r$、參考策略 $\pi_{\text{ref}}$,以及未知的分配函數 $Z(x)$。具體來說,我們先對 (4) 式取對數,再透過代數變換,得到: $$ r(x, y) = \beta \log \frac{\pi_r(y \mid x)}{\pi_{\text{ref}}(y \mid x)} + \beta \log Z(x) \tag{5} $$ --- 我們可以將這個變換方式應用於真實獎勵 $r^*$與對應的最適策略 $\pi^*$。幸運的是,Bradley-Terry 模型只依賴於兩個回答之間獎勵的差異,即: $$ p^*(y_1 \succ y_2 \mid x) = \sigma(r^*(x, y_1) - r^*(x, y_2)) $$ 將上式中的 $r^*(x, y)$ 代入變換公式 (5),再代入偏好模型公式 (1),分配函數會相互抵消,因此我們可以直接用$\pi^*$ 與$\pi_{\text{ref}}$ 來表示偏好機率。於是,在 BT 模型下的 RLHF 最適策略滿足: $$ p^*(y_1 \succ y_2 \mid x) = \frac{1}{1 + \exp\left( \beta \log \frac{\pi^*(y_2 \mid x)}{\pi_{\text{ref}}(y_2 \mid x)} - \beta \log \frac{\pi^*(y_1 \mid x)}{\pi_{\text{ref}}(y_1 \mid x)} \right)} \tag{6} $$ 完整推導可見附錄 A.2。 雖然式 (6) 使用 BT 模型,我們也能在附錄 A.3 中找到更一般的 Plackett-Luce 模型對應推導。 --- 既然我們能用最適策略而非獎勵函數來表示人類偏好資料,我們便可建立類似最大概似學習的 DPO 目標: $$ \mathcal{L}_{\mathrm{DPO}}(\pi_\theta; \pi_{\mathrm{ref}}) = - \mathbb{E}_{(x, y_w, y_l) \sim \mathcal{D}} \left[ \log \sigma \left( \beta \log \frac{\pi_\theta(y_w \mid x)}{\pi_{\mathrm{ref}}(y_w \mid x)} - \beta \log \frac{\pi_\theta(y_l \mid x)}{\pi_{\mathrm{ref}}(y_l \mid x)} \right) \right]. $$ 這樣一來,我們就用替代參數化方式隱含學習了一個獎勵函數,而其對應的最適策略就是 $\pi_\theta$。此程序在理論上等同於重新參數化的 BT 模型。 --- ### 🔹 What Does the DPO Update Do? 為了更機械地理解 DPO,我們可以分析損失函數 $\mathcal{L}_{\text{DPO}}$ 對參數 $\theta$ 的梯度,其形式為: $$ \nabla_\theta \mathcal{L}_{\mathrm{DPO}}(\pi_\theta; \pi_{\mathrm{ref}}) = - \beta \mathbb{E}_{(x, y_w, y_l) \sim \mathcal{D}} \left[ \underbrace{\sigma\left( \hat{r}_\theta(x, y_l) - \hat{r}_\theta(x, y_w) \right)}_{\text{當獎勵估計錯誤時給予較高權重}} \left[ \underbrace{\nabla_\theta \log \pi(y_w \mid x)}_{\text{增加 $y_w$ 的機率}} - \underbrace{\nabla_\theta \log \pi(y_l \mid x)}_{\text{減少 $y_l$ 的機率}} \right] \right], $$ 其中隱含的獎勵函數為: $$ \hat{r}_\theta(x, y) = \beta \log \frac{\pi_\theta(y \mid x)}{\pi_{\text{ref}}(y \mid x)} $$ 這個梯度的含義如下: - 當模型對偏好錯誤估計越大時,權重 $\sigma(\cdot)$ 越大,梯度更新強度越高; - 它會增加偏好回答 $y_w$ 的可能性,降低不偏好回答 $y_l$ 的可能性; - 權重大小受 $\beta$ 控制,反映了 KL 約束的強度; - 若不加權重會造成模型退化(見附錄 Table 3)。 --- ### 🔹 DPO Pipeline Outline(DPO 訓練流程摘要) DPO 的基本訓練流程如下: 1. 對每個提示 $x$ ,從參考策略取樣出兩個回答: $$ y_1, y_2 \sim \pi_{\text{ref}}(\cdot \mid x) $$ 並由人類標註者標記哪一個回答偏好,得到資料集: $$ \mathcal{D} = \left\{ \left(x^{(i)}, y_w^{(i)}, y_l^{(i)}\right) \right\}_{i=1}^N $$ 2. 將語言模型 $\pi_\theta$ 最小化 DPO 目標 $\mathcal{L}_{\text{DPO}}$,給定參考策略 $\pi_{\text{ref}}$ 、資料集 $\mathcal{D}$ 、與溫度參數 $\beta$ 。 --- 在實務上,我們通常會重複利用公開的偏好資料集,而不從頭收集新偏好。 因為偏好樣本通常是從 $\pi^{\text{SFT}}$ 中抽樣的,所以若可用,則初始化 $\pi_{\text{ref}} = \pi^{\text{SFT}}$ 。若無法使用,我們會透過最大化偏好完成機率的方式初始化: $$ \pi_{\text{ref}} = \arg \max_\pi \mathbb{E}_{(x, y_w) \sim \mathcal{D}} [ \log \pi(y_w \mid x) ] $$ 此方法可減輕真實分布不可得時造成的偏移問題。更多超參數與訓練細節請見附錄 B。 ## 5️⃣Theoretical Analysis of DPO(DPO 的理論分析) 在本節中,我們將進一步解釋 DPO 方法,提供理論依據,並說明 DPO 相對於 RLHF 中使用的 actor-critic 類演算法(例如 PPO【39】)的優勢。 --- #### 5.1 你的語言模型其實是獎勵模型(Your Language Model Is Secretly a Reward Model) DPO 可以在不擬合顯式獎勵函數和不進行強化學習的情況下,直接透過單一最大概似目標來學習策略。請注意,最佳化目標(式 5)等價於一個 Bradley-Terry 模型,其獎勵參數化如下: $$ r^*(x, y) = \beta \log \frac{\pi^*_\theta(y \mid x)}{\pi_{\text{ref}}(y \mid x)} $$ 我們最佳化的參數化模型 $\pi_\theta$,等價於在變數轉換下執行的式 (2) 所表示的獎勵模型最佳化。 本節我們將建構此變換的理論基礎,並證明它**不會限制學到的獎勵模型的類別**,而且可以**精確恢復出最適策略**。 --- ### 📘 定義 1 > 我們說兩個獎勵函數 $r(x, y)$ 與 $r'(x, y)$ 是等價的,若存在某函數 $f(x)$ 滿足: > > $$ > r(x, y) - r'(x, y) = f(x) > $$ 這是等價關係(equivalence relation),會將所有獎勵函數劃分為等價類(equivalence class)。基於此,我們提出兩個引理: --- ### 📘 引理Lemma 1 > 在 Plackett-Luce 框架中,特別是 Bradley-Terry 模型下,來自相同等價類的兩個獎勵函數會產生**相同的偏好分佈**。 --- ### 📘 引理Lemma 2 > 來自同一等價類的兩個獎勵函數,在受限強化學習問題中會導致**相同的最適策略**。 --- 這些引理的證明可以在附錄 A.5 中找到。第一個引理反映出 Plackett-Luce 模型存在著明確的「過度未規定性(under-specification)」問題【32】。 第二個引理則表示:所有來自同一等價類的獎勵函數,最終會產生相同的策略。因此,在 DPO 的最終目標中,我們實際上只關心從某個等價類中找出一個代表性的獎勵函數。 --- ### 📘 定理Theorem 1 > 在適度假設下,所有與 Plackett-Luce(特別是 Bradley-Terry)模型一致的獎勵等價類,都可以透過以下變換來表示: > > $$ > r(x, y) = \beta \log \frac{\pi(y \mid x)}{\pi_{\text{ref}}(y \mid x)} \quad \text{for some model } \pi(y \mid x) > $$ --- ### 🧠 證明概略(Proof Sketch) 任取一個獎勵函數 $r(x, y)$,其對應的最適策略由式 (4) 給出: $$ \pi_r(y \mid x) = \frac{1}{Z(x)} \pi_{\text{ref}}(y \mid x) \exp\left( \frac{1}{\beta} r(x, y) \right) $$ 我們定義一個投影運算子 $f$ 如下: $$ f(r; \pi_{\text{ref}}, \beta)(x, y) = r(x, y) - \beta \log \sum_y \pi_{\text{ref}}(y \mid x) \exp\left( \frac{1}{\beta} r(x, y) \right) \tag{8} $$ 這個運算子只是將獎勵函數減去分配函數 $Z(x)$ 的對數。由於這個正規化項僅與 $x$ 有關,因此我們保留了原始獎勵函數的等價類不變。 將這個變換套用回公式 (5),我們就得到: $$ f(r; \pi_{\text{ref}}, \beta)(x, y) = \beta \log \frac{\pi(y \mid x)}{\pi_{\text{ref}}(y \mid x)} $$ 也就是說,這個投影運算會產生出屬於該等價類中具有我們想要形式的成員,且不會喪失表示能力。 --- 我們也可以從另一個角度看待定理 1,它明確指出 DPO 所選擇的等價類中獎勵函數滿足以下條件: $$ \sum_y \pi_{\text{ref}}(y \mid x) \exp\left( \frac{1}{\beta} r(x, y) \right) = 1 \tag{9} $$ 也就是說,$\pi(y \mid x)$ 是一個有效機率分佈(總和為 1)。而式 (9) 正是從目標策略導出的分配函數。 DPO 的關鍵點在於:我們可以對 Plackett-Luce(特別是 Bradley-Terry)偏好模型施加限制,保留可表示的獎勵模型子集,同時明確地使得公式 (4) 中的最適策略 $\pi$ 為**解析可求的形式**,對所有提示詞 $x$ 都成立。 ### 5.2 Instability of Actor-Critic Algorithms(Actor-Critic 演算法的不穩定性) 我們也可以使用本研究的架構來診斷 RLHF 中標準 actor-critic 演算法(如 PPO)所出現的不穩定性。我們依循第 3 節所述的 RLHF 流程,並專注於其中的 RL 微調階段。 我們可以將這種訓練情境與控制即推理(control-as-inference)架構【22】中的受限強化學習問題建立關聯。假設我們有一個參數化模型 $\pi_\theta(y \mid x)$,並最小化下列 KL 散度: $$ \mathbb{D}_{\mathrm{KL}}[\pi_\theta(y \mid x) \,\|\, \pi^*(y \mid x)] $$ 其中 $\pi^*$ 是由式 (7) 給出的最適策略,並由獎勵函數 $r_\phi(y, x)$ 所導出。 透過一些代數推導,我們可以將此目標轉換為以下最佳化問題: $$ \max_{\pi_\theta} \,\, \mathbb{E}_{\pi_\theta(y \mid x)} \left[ r_\phi(x, y) - \beta \log \sum_y \pi_{\text{ref}}(y \mid x) \exp\left(\frac{1}{\beta} r_\phi(x, y) \right)- \beta \log \frac{\pi_\theta(y \mid x)}{\pi_{\text{ref}}(y \mid x)} \right] \tag{10} $$ - 左側的兩項合稱為 $f(r_\phi, \pi_{\text{ref}}, \beta)$,是正規化項。 - 最右項則是 KL 懲罰項。 --- 這個目標與先前多項研究【51, 40, 1, 28】一致,這些研究在使用等價於 DPO 的獎勵形式來進行策略學習。 在這樣的設定下,式中正規化項: $$ f(r_\phi, \pi_{\text{ref}}, \beta) = \beta \log \sum_y \pi_{\text{ref}}(y \mid x) \exp\left( \frac{1}{\beta} r_\phi(x, y) \right) $$ 可以被解釋為參考策略 $\pi_{\text{ref}}$ 的**軟價值函數(soft value function)**。儘管這一項不影響最終最適策略,但若省略它,策略梯度可能會有非常高的變異性,導致訓練不穩定。 有些方法試圖透過訓練一個值函數來估計此正規化項,但這本身也可能是個困難的最佳化問題。 其他研究則改採使用人類回應作為 baseline,即將此分母項視為單樣本 Monte Carlo 估計。而 DPO 的優點在於,它透過重新參數化獎勵函數,**不需要 baseline 或值函數**,即可進行穩定訓練。 --- #### 📊 圖 2:DPO 與其他方法之比較 ![image](https://hackmd.io/_uploads/HJhiMsZOee.png) #### 📈 左圖(IMDb Sentiment Generation): 橫軸為 KL 散度 $\text{KL}(\pi_\theta \| \pi_{\text{ref}})$,縱軸為期望獎勵(reward)。 - DPO(黃色)在所有 KL 值下都達到最高的期望獎勵,顯示出此最佳化方法的品質。 - 其他方法如 PPO、Unlikelihood、Preferred-FT 皆表現較差。 --- #### 🧾 右圖(TL;DR Summarization): 縱軸為 Win rate,相對於人類寫作的摘要(以 GPT-4 為評分者),橫軸為取樣時的(sampling) temperature參數。 - DPO 在所有溫度下都能超越 PPO 的最佳表現。 - DPO 對於 sampling temperature 的變化更具魯棒性。 --- **Figure 2 說明:** - **左**:預期獎勵 vs KL 的前緣曲線,DPO 提供了所有 KL 值下最高的期望獎勵。 - **右**:TL;DR 摘要的贏率相較於參考摘要,DPO 不僅優於 PPO,在面對取樣時的(sampling) temperature參數 變動時也更穩定。 ## 6️⃣ Experiments(實驗) 在本節中,我們以實證方式評估 DPO 從偏好資料中訓練策略的能力。 首先,在一個控制良好的文本生成情境下,我們探討一個問題: > DPO 能多有效率地在最大化獎勵與最小化與參考策略之間的 KL 散度之間進行權衡? 我們將 DPO 與 PPO 等常見的偏好學習演算法進行比較。 接著,我們在更大模型與更困難的 RLHF 任務(如摘要與對話)中評估 DPO 的表現。我們發現: - 幾乎不需超參數調整的情況下,DPO 表現與 SOTA RLHF 方法相當甚至更好。 - 在已學習 reward 的情況下,DPO 的表現與 PPO 相當,甚至勝過選取最佳 $N$ 個生成樣本的方式。 在介紹結果前,先說明任務設定與方法,詳細內容見附錄 C。 --- #### 🧪 Tasks 我們探討三種開放式文本生成任務。對所有實驗,我們的模型學習策略來擬合偏好資料集: $$ \mathcal{D} = \left\{ \left(x^{(i)}, y_w^{(i)}, y_l^{(i)}\right) \right\}_{i=1}^N $$ - **Controlled sentiment generation** - $x$ 是 IMDB 評論片段,模型需生成具有**正面情緒**的句子。 - 我們使用情緒分類器生成偏好資料(例如讓 $p(\text{positive} \mid x, y_w) > p(\text{positive} \mid x, y_l)$)。 - 使用 GPT-2-large 為基底模型,直到收斂為止。 - **Summarization** - $x$ 為 Reddit 上的文章段落,模型需生成其摘要 $y$。 - 我們使用 Reddit TL;DR 資料集【43】,人類偏好由【Stiennon et al.】整理。 - 我們使用 SFT 模型進行微調,搭配 TRLX【44】架構進行 RLHF。 - **Single-turn dialogue** - $x$ 為人類提問(可能是情感建議、科學問題等),模型需生成互動且有幫助的回應 $y$。 - 使用 Anthropic Helpful and Harmless(HH)資料集【1】,包含 17 萬筆對話。 - 每筆資料對應人類與模型回應,由人類標註偏好。 - 此任務中未使用預訓練 SFT,僅使用偏好標註的輸出作為 SFT 訓練資料。 --- ### 🧪 Evaluation 我們使用兩種不同方式進行評估: 1. **Frontier 評估**:計算每個演算法在 constrained reward maximization 問題下的「前緣曲線」,橫軸為 KL 散度,縱軸為期望獎勵。 2. **Win rate 評估**:與基準模型比較,使用 GPT-4 作為評審者,評估摘要與對話回應品質。 > 實驗證明 GPT-4 的評分與人類高度一致,且在多數情況下比人類評分更穩定。 --- ### ⚙️ Methods 我們除了 DPO 外,還評估多種模型: - **GPT-J**(zero-shot in summarization) - **Pythia-2.8B**(2-shot in dialogue) - **SFT**:直接用 SFT 模型輸出 - **Preferred-FT**:在選中回答 $y_w$ 上進行監督式微調 - **Unlikelihood**【46】: - 最大化偏好回答 $y_w$ 的機率 - 最小化不偏好回答 $y_l$ 的機率 - 我們使用一個參數 $\alpha \in [0, 1]$ 作為 `unlikelihood` loss 的比例 - **PPO**【39】: - 使用來自偏好資料的 reward 訓練策略。 - **PPO-GT**: - 使用 oracle reward(真實情緒分類器)來學習策略。 - 使用兩種版本: 1. 預設 PPO-GT(TRL)【44】 2. reward normalization + hyperparameter tuning 改進版 - **Best of N**: - 從 SFT 模型中取 $N$ 答案,選擇 reward 最高的作為輸出。 - 雖效能高,但需每次輸出時都取樣 $N$ 次,計算成本高。 --- ### 📊 Figure 3 解釋 ![image](https://hackmd.io/_uploads/H1IWSsbulx.png) **左**:GPT-4 計算的 Anthropic-HH 單輪對話贏率。 - DPO 是**唯一能超越資料集中標記答案**的方法。 **右**:在訓練過程中,不同 sampling temperature 下的贏率。 - DPO 對於 sampling temperature 的穩定性高,提升在整個訓練期間都相對穩定。 ### 6.1 DPO 如何優化 RLHF 目標? KL 限制的獎勵最大化目標在典型的 RLHF 演算法中,平衡了對獎勵的利用與限制策略偏離參考策略的程度。 因此,在比較演算法時,我們必須同時考量「達到的獎勵」與「KL 偏差」;如果獎勵略高但 KL 偏差非常大,那未必是值得的。 圖 2 顯示在情緒生成任務中,不同演算法的獎勵-KL 前緣(frontier)。我們對每個演算法執行多次訓練,每次使用不同超參數組合調整策略的保守性: - PPO 的目標 KL 為: $$ \text{target KL} \in \{3, 6, 9, 12\} $$ - 對於 PPO 的保守性參數: $$ \beta \in \{0.05, 0.1, 1, 5\} $$ - 對於 Unlikelihood 方法: $$ \alpha \in \{0.05, 0.1, 0.5, 1\} $$ Preferred-FT 使用隨機種子。 總共進行了 22 組訓練。在每次訓練 100 步收斂後,我們針對測試提示集合進行評估,計算: 1. 策略在真實獎勵函數下的平均獎勵值 2. 與參考策略的平均序列級 KL 值: $$ \text{KL}(\pi \parallel \pi_{\text{ref}}) $$ 我們發現:**DPO 是最具效率的演算法**,它能在獲得高獎勵的同時保持低 KL。這個結果特別值得注意,原因如下: 1. **DPO 與 PPO 優化相同的目標**,但 DPO 明顯更有效率; 2. **DPO 的獎勵與 KL 的取捨比 PPO 更具優勢**; 3. 即使在 PPO 可以使用真實獎勵(即 PPO-GT)的情況下,**DPO 依然可以取得更好的前緣表現**。 > 註:這裡的 KL 是指每個時間步的 KL 差異總和(per-timestep KL divergences)。 ### 6.2 DPO 能擴展至真實的偏好資料集嗎? 接下來,我們評估 DPO 在摘要生成與單輪對話(single-turn dialogue)任務上的微調表現。 對於摘要任務,雖然 ROUGE 等自動評估指標常與人類偏好之間存在弱相關,但已有研究發現,使用 PPO 在人類偏好上微調語言模型能產生更有效的摘要。 我們使用 TL;DR 摘要資料集的測試集進行實驗,對各種方法所生成的補全進行抽樣,計算相對於參考補全的平均勝率(win rate)。所有方法的補全皆在溫度 0.0 到 1.0 間進行抽樣,勝率結果見圖 2(右圖)。 DPO、PPO 與 Preferred-FT 均微調自相同的 GPT-J SFT 模型[^4]。 我們發現: - 在溫度為 0.0 時,DPO 的勝率約為 61%,超越 PPO 在最佳溫度 0.0 下的表現(57%) - DPO 相較於 Best-of-$N$ 基線也達成了更高的最大勝率 - 值得注意的是,我們並未對 DPO 的 $\beta$ 超參數進行細緻調整,因此實際表現可能被低估 - DPO 對於溫度變化的穩定性顯著優於 PPO,後者在高溫度時性能可能退化至原始 GPT-J 模型的水準 - Preferred-FT 相對於 SFT 模型並無明顯提升 我們也將 DPO 與 PPO 在第 6.4 節中進行人類評估的正面對決。結果顯示,在溫度為 0.25 時,DPO 被偏好(preferred)的比例為 58%,而 PPO 為溫度 0 的樣本。 --- 在單輪對話任務中,我們使用 Anthropic HH 資料集中的測試集子集(包含單輪人機互動),由 GPT-4 評估各方法輸出的勝率,並將偏好樣本視為參考補全。 由於該任務沒有標準的 SFT 模型可用,我們從 Pythia-2.8B 預訓練模型出發,使用 Preferred-FT 微調選定的補全樣本(這些樣本在模型分布內),再使用這個模型作為參考,接著以 DPO 進行訓練。 我們也將結果與 Best-of-128 的 Preferred-FT 補全進行比較(如圖 4;我們發現該基線在 128 次抽樣時已趨於平穩),以及使用 2-shot 提示詞的 Pythia-2.8B 預訓練模型。結果發現: - DPO 在各方法的最佳溫度下表現皆持平或更佳 - 我們亦在 Anthropic HH 資料集上用 PPO 訓練了一個 RLHF 模型(資料來源為知名開源專案[^6]),但找不到明確的提示溫度或策略能超越 Pythia-2.8B 預訓練模型 基於我們在 TL;DR 任務的結果與上述事實(這些方法皆優化相同的獎勵函數),我們認為 Best-of-128 是 PPO 級水準的一個粗略代理。 總體而言,DPO 是唯一一種在 Anthropic HH 資料集中,能一致提升偏好樣本上表現,並提供與或優於計算成本高昂的 Best-of-128 基線之性能的方法。 最後,圖 3 顯示 DPO 在此資料集上的收斂速度也相當快。 --- [^4]: 同一份 GPT-J SFT 模型 [^5]: 由知名開源專案所訓練的 PPO 模型 [^6]: 如 Appendix 中提及 ### 6.3 遷移到新輸入分佈的泛用性能力(Generalization to a new input distribution) 為了進一步比較 PPO 與 DPO 在輸入分佈轉移(distribution shift)下的表現,我們使用來自 Reddit TL;DR 摘要任務中已訓練好的 PPO 與 DPO 策略,對一個不同的資料分佈進行評估:CNN/DailyMail 資料集測試集中新聞文章的輸出結果。 我們使用在 TL;DR 任務中表現最好的抽樣溫度(0 與 0.25),結果如表 1 所示。 我們計算了 GPT-4 相較於資料集中真實摘要的勝率,使用的提示詞與 Reddit TL;DR 任務中的 GPT-4 (C) prompt 相同,但將其中的「forum post」替換為「news article」。 對於這個新分佈,DPO 持續顯著優於 PPO 策略。此實驗提供了初步證據,表明即使 DPO 並未使用 PPO 所依賴的 Reddit TL;DR 額外未標記資料,其策略仍能達到與 PPO 相似的泛化能力。 ### 表 1:GPT-4 對抗資料集中真實摘要的勝率(win rate),資料來自 CNN/DailyMail 測試集中超出訓練分佈的輸入文章。 | **演算法** | **Temp 0** | **Temp 0.25** | |------------|------------|---------------| | DPO | 0.36 | 0.31 | | PPO | 0.26 | 0.23 | --- [^4]: https://huggingface.co/CarperAI/openai_summarize_tldr_sft [^5]: https://huggingface.co/reciprocate/ppo_hh_pythia-6B [^6]: https://github.com/CarperAI/trlx/tree/main/examples/hh ### 6.4 使用人類判斷驗證 GPT-4 的判斷(Validating GPT-4 judgments with human judgments) 我們進行了一項人類研究,用以驗證 GPT-4 判斷的可靠性,依據的是 TL;DR 摘要實驗的結果以及兩種不同的 GPT-4 提示詞。 - **GPT-4 (S)**(simple)提示詞僅要求指出哪一個摘要較能概括貼文中的重要資訊。 - **GPT-4 (C)**(concise)提示詞也要求指出哪一個摘要更簡潔。我們評估此提示詞,因為我們發現 GPT-4 較偏好較長、重複性較高的摘要,相對於人類更常選擇這類摘要。 請參見附錄 C.2 以獲得完整的提示詞內容。 我們進行了三組比較,分別選擇: - 表現最好者(DPO, temp. 0.25) - 表現最差者(PPO, temp. 1.0) - 中間表現者(SFT, temp. 0.25) 目的是涵蓋各種樣本品質。這三個方法都與 greedily-sampled PPO(其表現最佳的溫度)進行比較。 我們發現: - 無論使用哪一種提示詞,GPT-4 與人類的判斷一致程度,大致與不同人類彼此間的一致程度相當。 - 這說明 GPT-4 是一個合理的 proxy,可代表人類的評估標準(由於人力有限,我們只對 DPO 與 PPO-1 比較收集多位評審的判斷結果)。 - 整體來說,**GPT-4 (C)** 提示詞通常提供較符合人類判斷的勝率,因此我們在第 6.2 節的主要結果中使用此提示。 關於人類研究的詳細資訊,包括受試者使用的網頁介面與志願者名單,請參見附錄 D.3。 ### 表 2:比較 GPT-4 與人類在 TL;DR 摘要樣本中的勝率與逐次判斷的一致率。**人類與 GPT-4 的一致性大致與人類彼此間的一致性相當。** | | **DPO** | **SFT** | **PPO-1** | |----------------------|--------:|--------:|----------:| | **N respondents** | 272 | 122 | 199 | | GPT-4 (S) win % | 47 | 27 | 13 | | GPT-4 (C) win % | 54 | 32 | 12 | | Human win % | 58 | 43 | 17 | | GPT-4 (S)-H agree | 70 | 77 | 86 | | GPT-4 (C)-H agree | 67 | 79 | 85 | | H-H agree | 65 | - | 87 | ## 7️⃣Discussion 從偏好中學習是一種強大且可擴展的框架,可用於訓練能力強大且對齊的語言模型。我們提出了 DPO(Direct Preference Optimization),這是一種簡單的訓練範式,可在不使用強化學習的情況下,從人類偏好中訓練語言模型。 與其將偏好學習問題強行套用到傳統強化學習架構中以使用現成的 RL 演算法,DPO 則是找出語言模型策略與獎勵函數之間的對應關係,使得語言模型可以**直接**使用簡單的交叉熵損失函數來滿足人類偏好,而不需使用強化學習或犧牲泛化能力。 幾乎不需對超參數進行調整,DPO 的效能就可媲美或超越現有的 RLHF 演算法(例如基於 PPO 的方法);因此 DPO 大幅降低了從人類偏好中訓練語言模型的門檻。 --- ### 限制與未來工作(Limitations & Future Work) 我們的結果引出了幾個未來工作中的重要問題: - DPO 策略在遇到分布轉移(out-of-distribution)情況時,是否能如使用顯式獎勵函數學習般泛化? - 初步結果顯示 DPO 策略的泛化能力可與基於 PPO 的模型相當,但仍需要更全面的研究。 - 例如:從 DPO 策略中進行自我標記(self-labeling)訓練,是否也能有效利用未標記的提示詞(unlabeled prompts)? - 另一方面,直接偏好最佳化中是否會出現過度最佳化(over-optimization)的現象?圖 3(右)中的效能下降是否就是此現象的例子? - 此外,我們目前只在最多 6B 參數的模型上進行評估,將 DPO 擴展至更大規模的最先進模型,將是未來極具潛力的研究方向。 關於評估方面,我們發現由 GPT-4 計算的勝率會受提示詞的影響;未來研究可探討如何以最佳方式從自動系統中獲得高品質的人類判斷。 最後,DPO 的潛在應用不限於從人類偏好中訓練語言模型,亦可用於其他模態中的生成式模型訓練。 ## 😀作者貢獻(Author Contributions) **所有作者(All authors)** 對於實驗的設計、分析與反覆改進,論文的撰寫與編輯,以及整體專案進度的管理皆有重要貢獻。 --- **RR** 在與 **EM** 的討論中提出使用自回歸獎勵模型的構想;導出了 DPO 的目標函數;證明了該演算法的理論性質,並撰寫了相關章節與附錄。他也建議並協助組織實驗,並對 PPO 及部分獎勵學習基準貢獻內容。 --- **AS** 開始討論使用加權回歸方法作為 PPO 的替代方案;啟動了與專案相關的組織工作,撰寫了將 DPO 與加權回歸與 Unlikelihood 方法連結的初步分析;設計與實作 DPO 及基準系統的多個版本,進行初步探索性實驗;在實驗的組織與設計(資料集、基準、評估)上有重大貢獻;主導模型訓練與受控的情感生成與摘要任務評估;設計 GPT-4 評估(尤其是摘要任務)的實驗版本;對於摘要、前言/方法、實驗等部分撰寫內容有實質性貢獻;並協助編輯其他章節。 --- **EM** 提供了早期關於學習自回歸獎勵函數的討論意見;撰寫了 DPO 的第一個實作並進行首次實驗;訓練了大規模的 DPO 模型(摘要與對話任務);進行 GPT-4 勝率的初步評估並建立相關基礎設施;招募參與者、主持並分析人類實驗的結果;撰寫了摘要、引言、相關研究、討論及大多數的實驗章節;並協助其他章節的編輯工作。 --- **CF、CM 與 SE** 監督了整體研究,提出實驗構想與建議,並協助撰寫論文。 ## 附錄 A. 數學推導 ### A.1 求解 KL 限制的獎勵最大化目標的最適解 在本附錄中,我們將推導公式 4。類似於公式 3,我們要優化的目標為: $$ \max_{\pi} \mathbb{E}_{x \sim \mathcal{D}, y \sim \pi} \left[ r(x, y) \right] - \beta D_{\mathrm{KL}}\left[ \pi(y|x) \| \pi_{\text{ref}}(y|x) \right] \tag{11} $$ 其中 $r(x, y)$ 是任意的獎勵函數,$\pi_{\text{ref}}$ 是參考模型,$\pi$ 是任意非參數策略類別。 我們現在有: $$ \max_{\pi} \mathbb{E}_{x \sim \mathcal{D}, y \sim \pi} \left[ r(x, y) \right] - \beta D_{\mathrm{KL}}\left[ \pi(y|x) \| \pi_{\text{ref}}(y|x) \right] $$ $$ = \max_{\pi} \mathbb{E}_{x \sim \mathcal{D}} \mathbb{E}_{y \sim \pi(y|x)} \left[ r(x, y) - \beta \log \frac{\pi(y|x)}{\pi_{\text{ref}}(y|x)} \right] $$ $$ = \min_{\pi} \mathbb{E}_{x \sim \mathcal{D}} \mathbb{E}_{y \sim \pi(y|x)} \left[ \log \frac{\pi(y|x)}{\pi_{\text{ref}}(y|x)} - \frac{1}{\beta} r(x, y) \right] $$ $$ = \min_{\pi} \mathbb{E}_{x \sim \mathcal{D}} \mathbb{E}_{y \sim \pi(y|x)} \left[ \log \frac{\pi(y|x)}{\frac{1}{Z(x)} \pi_{\text{ref}}(y|x) \exp\left( \frac{1}{\beta} r(x, y) \right)} - \log Z(x) \right] \tag{12} $$ 其中分配函數(partition function)為: $$ Z(x) = \sum_y \pi_{\text{ref}}(y|x) \exp\left( \frac{1}{\beta} r(x, y) \right) $$ 注意,$Z(x)$ 僅為 $x$ 及參考策略 $\pi_{\text{ref}}$ 的函數,與策略 $\pi$ 無關。 因此我們可以定義: $$ \pi^*(y|x) = \frac{1}{Z(x)} \pi_{\text{ref}}(y|x) \exp\left( \frac{1}{\beta} r(x, y) \right) $$ 這是一個有效的機率分佈,因為 $\pi^*(y|x) \geq 0$ 且 $\sum_y \pi^*(y|x) = 1$。 由於 $Z(x)$ 與 $y$ 無關,因此我們可以將公式 (12) 重新整理如下: $$ \min_{\pi} \mathbb{E}_{x \sim \mathcal{D}} \left[ \mathbb{E}_{y \sim \pi(y|x)} \left[ \log \frac{\pi(y|x)}{\pi^*(y|x)} \right] \right] - \log Z(x)= \tag{13} $$ $$ \min_{\pi} \mathbb{E}_{x \sim \mathcal{D}} \left[ \mathbb{D}_{\mathrm{KL}} \left( \pi(y \mid x) \,\|\, \pi^*(y \mid x) \right) - \log Z(x) \right] \tag{14} $$ 現在,因為 $Z(x)$ 不依賴於 $\pi$,最小值會由使第一項 KL 散度最小的策略達成。 根據 Gibbs’ 不等式,當兩個分佈完全相同時,KL 散度最小且為 0。 因此最適解為: $$ \pi(y|x) = \pi^*(y|x) = \frac{1}{Z(x)} \pi_{\text{ref}}(y|x) \exp\left( \frac{1}{\beta} r(x, y) \right) \tag{15} $$ 對於所有 $x \in \mathcal{D}$ 均成立。 這就完成了推導。 ### A.2 Deriving the DPO Objective Under the Bradley-Terry Model 推導基於 Bradley-Terry 模型的 DPO 目標函數 It is straightforward to derive the DPO objective under the Bradley-Terry preference model as we have 在 Bradley-Terry 偏好模型下,可以很直接地推導出 DPO 的目標函數如下: $$ p^*(y_1 \succ y_2 \mid x) = \frac{\exp\left(r^*(x, y_1)\right)}{\exp\left(r^*(x, y_1)\right) + \exp\left(r^*(x, y_2)\right)} \tag{16} $$ In Section 4 we showed that we can express the (unavailable) ground-truth reward through its corresponding optimal policy: 在第 4 節中,我們展示了可以透過對應的最適策略,來表示無法取得的真實獎勵: $$ r^*(x, y) = \beta \log \frac{\pi^*(y \mid x)}{\pi_{\text{ref}}(y \mid x)} + \beta \log Z(x) \tag{17} $$ Substituting Eq. 17 into Eq. 16 we obtain: 將公式 (17) 代入公式 (16),我們可以得到: $$ p^*(y_1 \succ y_2 \mid x) = \frac{ \exp\left(\beta \log \frac{\pi^*(y_1 \mid x)}{\pi_{\text{ref}}(y_1 \mid x)} + \beta \log Z(x)\right) }{ \exp\left(\beta \log \frac{\pi^*(y_1 \mid x)}{\pi_{\text{ref}}(y_1 \mid x)} + \beta \log Z(x)\right) + \exp\left(\beta \log \frac{\pi^*(y_2 \mid x)}{\pi_{\text{ref}}(y_2 \mid x)} + \beta \log Z(x)\right) } $$ $$ = \frac{1}{1 + \exp \left( \beta \log \frac{\pi^*(y_2 \mid x)}{\pi_{\text{ref}}(y_2 \mid x)} - \beta \log \frac{\pi^*(y_1 \mid x)}{\pi_{\text{ref}}(y_1 \mid x)} \right)} $$ $$ = \sigma \left( \beta \log \frac{\pi^*(y_1 \mid x)}{\pi_{\text{ref}}(y_1 \mid x)} - \beta \log \frac{\pi^*(y_2 \mid x)}{\pi_{\text{ref}}(y_2 \mid x)} \right) . $$ The last line is the per-instance loss in Equation 7. 最後一行即是公式 (7) 中的單一樣本損失函數(per-instance loss)。 ### A.3 推導基於 Plackett-Luce 模型的 DPO 目標函數 Plackett-Luce 模型 [32, 23] 是 Bradley-Terry 模型在「排序任務」上的推廣(而非僅限成對比較)。類似於 Bradley-Terry 模型,它假設當使用者面對一組可能的選項時,會依據某個潛在回饋函數值的相對大小,以機率選擇某個選項。在本情境中,當輸入一個提示 $x$ 和一組 $K$ 個回答 $y_1, \ldots, y_K$,使用者會輸出一個排列 $\tau : [K] \to [K]$,表示對這些回答的排序。Plackett-Luce 模型定義如下: $$ p^*(\tau \mid y_1, \ldots, y_K, x) = \prod_{k=1}^{K} \frac{ \exp\left(r^*(x, y_{\tau(k)})\right) }{ \sum_{j=k}^{K} \exp\left(r^*(x, y_{\tau(j)})\right) } \tag{18} $$ 注意當 $K = 2$ 時,公式 (18) 會簡化為 Bradley-Terry 模型。然而對於一般的 Plackett-Luce 模型,我們仍可以套用公式 (5) 的結果,並將回饋函數以最適策略進行參數化。與附錄 A.2 類似,正規化常數 $Z(x)$ 會抵消,最終得到: $$ p^*(\tau \mid y_1, \ldots, y_K, x) = \prod_{k=1}^{K} \frac{ \exp\left( \beta \log \frac{ \pi^*(y_{\tau(k)} \mid x) }{ \pi_{\text{ref}}(y_{\tau(k)} \mid x) } \right) }{ \sum_{j=k}^{K} \exp\left( \beta \log \frac{ \pi^*(y_{\tau(j)} \mid x) }{ \pi_{\text{ref}}(y_{\tau(j)} \mid x) } \right) } \tag{19} $$ --- 類似於第 4 節的方法,若我們擁有一組資料集 $$ \mathcal{D} = \left\{ \left( \tau^{(i)}, y_1^{(i)}, \ldots, y_K^{(i)}, x^{(i)} \right) \right\}_{i=1}^{N} $$ 其中包含提示與使用者排序,我們可以使用一個參數化模型,並透過最大似然估計來最佳化此目標: $$ \mathcal{L}_{\text{DPO}}(\pi_\theta, \pi_{\text{ref}}) = -\mathbb{E}_{\tau, y_1, \ldots, y_K, x \sim \mathcal{D}} \left[ \log \prod_{k=1}^{K} \frac{ \exp\left( \beta \log \frac{ \pi_\theta(y_{\tau(k)} \mid x) }{ \pi_{\text{ref}}(y_{\tau(k)} \mid x) } \right) }{ \sum_{j=k}^{K} \exp\left( \beta \log \frac{ \pi_\theta(y_{\tau(j)} \mid x) }{ \pi_{\text{ref}}(y_{\tau(j)} \mid x) } \right) } \right] \tag{20} $$ ### A.4 推導 DPO 目標的梯度 在本節中,我們推導 DPO 目標函數的梯度: $$ \nabla_\theta \mathcal{L}_{\text{DPO}}(\pi_\theta; \pi_{\text{ref}}) =-\nabla_\theta \mathbb{E}_{(x, y_w, y_l) \sim \mathcal{D}} \left[ \log \sigma \left( \beta \log \frac{\pi_\theta(y_l \mid x)}{\pi_{\text{ref}}(y_l \mid x)} -\beta \log \frac{\pi_\theta(y_w \mid x)}{\pi_{\text{ref}}(y_w \mid x)} \right) \right] \tag{21} $$ 我們可以將公式 (21) 的右側重寫為: $$ \nabla_\theta \mathcal{L}_{\text{DPO}}(\pi_\theta; \pi_{\text{ref}})=- \mathbb{E}_{(x, y_w, y_l) \sim \mathcal{D}} \left[ \frac{\sigma'(u)}{\sigma(u)} \nabla_\theta(u) \right], \tag{22} $$ 其中: $$ u = \beta \log \frac{\pi_\theta(y_l \mid x)}{\pi_{\text{ref}}(y_l \mid x)}-\beta \log \frac{\pi_\theta(y_w \mid x)}{\pi_{\text{ref}}(y_w \mid x)}. $$ 利用 sigmoid 函數的性質 $\sigma'(x) = \sigma(x)(1 - \sigma(x))$ 和 $\sigma(-x) = 1 - \sigma(x)$,我們可以得到最終的梯度: $$ \nabla_\theta \mathcal{L}_{\text{DPO}}(\pi_\theta; \pi_{\text{ref}}) =-\mathbb{E}_{(x, y_w, y_l) \sim \mathcal{D}} \left[ \beta \, \sigma \left( \beta \log \frac{\pi_\theta(y_w \mid x)}{\pi_{\text{ref}}(y_w \mid x)} -\beta \log \frac{\pi_\theta(y_l \mid x)}{\pi_{\text{ref}}(y_l \mid x)} \right) \left[ \nabla_\theta \log \pi(y_w \mid x) -\nabla_\theta \log \pi(y_l \mid x) \right] \right] $$ 最後,我們使用來自第 4 節的獎勵替代表達式 $\hat{r}_\theta(x, y) = \beta \log \frac{\pi_\theta(y \mid x)}{\pi_{\text{ref}}(y \mid x)}$,就能得到最終形式的梯度。 ### A.5 引理 1 與 2 的證明 在本節中,我們將證明第 5 節中的兩個引理。 #### 引理 1 重述 在 Plackett-Luce 偏好框架下,特別是 Bradley-Terry 框架中,來自同一等價類的兩個回饋函數會導出相同的偏好分布。 **證明**:我們認為兩個回饋函數 $r(x, y)$ 和 $r'(x, y)$ 若滿足 $r'(x, y) = r(x, y) + f(x)$(對某個函數 $f$ 而言),則它們屬於同一等價類。我們考慮一般的 Plackett-Luce 模型(將 Bradley-Terry 模型視為 $K=2$ 的特例),並將由特定回饋函數 $r(x, y)$ 所導出的排序分佈記為 $p_r$。對於任意提示 $x$、回答 $y_1, \ldots, y_K$ 和排序 $\tau$,我們有: $$ p_{r'}(\tau \mid y_1, \ldots, y_K, x) = \prod_{k=1}^{K} \frac{ \exp(r'(x, y_{\tau(k)})) }{ \sum_{j=k}^{K} \exp(r'(x, y_{\tau(j)})) } $$ $$ = \prod_{k=1}^{K} \frac{ \exp(r(x, y_{\tau(k)}) + f(x)) }{ \sum_{j=k}^{K} \exp(r(x, y_{\tau(j)}) + f(x)) } $$ $$ = \prod_{k=1}^{K} \frac{ \exp(f(x)) \exp(r(x, y_{\tau(k)})) }{ \exp(f(x)) \sum_{j=k}^{K} \exp(r(x, y_{\tau(j)})) } $$ $$ = \prod_{k=1}^{K} \frac{ \exp(r(x, y_{\tau(k)})) }{ \sum_{j=k}^{K} \exp(r(x, y_{\tau(j)})) } = p_r(\tau \mid y_1, \ldots, y_K, x), $$ 證畢。 --- #### 引理 2 重述 來自同一等價類的兩個回饋函數在受限強化學習問題下會導出相同的最適策略。 **證明**:我們考慮來自同一類的兩個回饋函數,滿足 $r'(x, y) = r(x, y) + f(x)$,並分別記其對應的最適策略為 $\pi_r$ 和 $\pi_{r'}$。根據公式 (4),對於所有 $x, y$ 有: $$ \pi_{r'}(y \mid x)=\frac{\pi_{\text{ref}}(y \mid x) \exp\left( \frac{1}{\beta} r'(x, y) \right)}{\sum_y \pi_{\text{ref}}(y \mid x) \exp\left( \frac{1}{\beta} r'(x, y) \right)} $$ $$= \frac{ \pi_{\text{ref}}(y \mid x) \exp\left( \frac{1}{\beta}(r(x, y) + f(x)) \right) }{ \sum_y \pi_{\text{ref}}(y \mid x) \exp\left( \frac{1}{\beta}(r(x, y) + f(x)) \right) } $$ $$ =\frac{ \pi_{\text{ref}}(y \mid x) \exp\left( \frac{1}{\beta} r(x, y) \right) \exp\left( \frac{1}{\beta} f(x) \right) }{ \exp\left( \frac{1}{\beta} f(x) \right) \sum_y \pi_{\text{ref}}(y \mid x) \exp\left( \frac{1}{\beta} r(x, y) \right) } $$ $$= \frac{ \pi_{\text{ref}}(y \mid x) \exp\left( \frac{1}{\beta} r(x, y) \right) }{ \sum_y \pi_{\text{ref}}(y \mid x) \exp\left( \frac{1}{\beta} r(x, y) \right) } $$ $$= \pi_r(y \mid x), $$ 證畢。 ### A.6 定理 1 的證明 在本節中,我們將擴展定理 1 的結果。 ### 定理 1 重述 假設我們有一個參考模型,使得 $\pi_{\text{ref}}(y \mid x) > 0$ 對於所有的提示 $x$ 和回答 $y$ 以及參數 $\beta > 0$。則所有的回饋等價類(定義見第 5 節)皆可被重參數化為如下形式: $$ r(x, y) = \beta \log \frac{\pi(y \mid x)}{\pi_{\text{ref}}(y \mid x)} $$ 對於某個模型 $\pi(y \mid x)$。 **證明**:考慮任意的回饋函數 $r(x, y)$,該函數在 KL 約束強化學習問題下誘導出最適策略 $\pi_r(y \mid x)$,其解由公式 (4) 給出。當我們對兩邊同時取對數時,可以得到: $$ r(x, y) = \beta \log \frac{\pi_r(y \mid x)}{\pi_{\text{ref}}(y \mid x)} + \beta \log Z(x) $$ 其中: $$ Z(x) = \sum_y \pi_{\text{ref}}(y \mid x) \exp\left(\frac{1}{\beta} r(x, y)\right) $$ (注意 $Z(x)$ 也依賴於回饋函數 $r$)。 我們定義一個操作符 $r'(x, y) = f(r, \pi_{\text{ref}}, \beta)(x, y) = r(x, y) - \beta \log Z(x)$,則這個新的回饋函數仍屬於 $r$ 所屬的等價類,我們得到: $$ r'(x, y) = \beta \log \frac{\pi_r(y \mid x)}{\pi_{\text{ref}}(y \mid x)} $$ 這完成了證明。 --- 我們可以進一步擴展這些結果。若 $r$ 和 $r'$ 是同一等價類中的回饋函數,則: $$ f(r, \pi_{\text{ref}}, \beta)(x, y) = \beta \log \frac{\pi_r(y \mid x)}{\pi_{\text{ref}}(y \mid x)} = \beta \log \frac{\pi_{r'}(y \mid x)}{\pi_{\text{ref}}(y \mid x)} = f(r', \pi_{\text{ref}}, \beta)(x, y) $$ 其中第二個等號來自引理 2。 我們已經證明,操作符 $f$ 會將某一等價類中的所有回饋函數映射至相同的回饋函數。 接下來,我們要證明:對於每一個回饋等價類,擁有重參數化形式(如定理 1 中所述)的回饋函數是唯一的。 --- ### 命題 1 假設我們有一個參考模型,使得 $\pi_{\text{ref}}(y \mid x) > 0$ 對於所有提示 $x$ 和回答 $y$,以及參數 $\beta > 0$。則每一個回饋等價類(定義見第 5 節)中都有唯一一個回饋函數 $r(x, y)$,滿足: $$ r(x, y) = \beta \log \frac{\pi(y \mid x)}{\pi_{\text{ref}}(y \mid x)} $$ 對於某個模型 $\pi(y \mid x)$。 **證明**:我們將採用反證法。假設存在兩個來自同一等價類的回饋函數,滿足: $$ r'(x, y) = r(x, y) + f(x) $$ 且另外有: $$ r'(x, y) = \beta \log \frac{\pi'(y \mid x)}{\pi_{\text{ref}}(y \mid x)}, \quad r(x, y) = \beta \log \frac{\pi(y \mid x)}{\pi_{\text{ref}}(y \mid x)} $$ 對於某些模型 $\pi'(y \mid x)$ 和 $\pi(y \mid x)$,且 $\pi \ne \pi'$。則有: $$ r'(x, y) = r(x, y) + f(x) = \beta \log \frac{\pi(y \mid x)}{\pi_{\text{ref}}(y \mid x)} + f(x) = \beta \log \left( \frac{\pi(y \mid x) \exp\left( \frac{1}{\beta} f(x) \right)}{\pi_{\text{ref}}(y \mid x)} \right) = \beta \log \frac{\pi'(y \mid x)}{\pi_{\text{ref}}(y \mid x)} $$ 對於所有的 $x$ 和 $y$。 因此必須有: $$ \pi(y \mid x) \exp\left( \frac{1}{\beta} f(x) \right) = \pi'(y \mid x) $$ 由於兩邊都是分佈,對 $y$ 求和有: $$ \sum_y \pi(y \mid x) \exp\left( \frac{1}{\beta} f(x) \right) = \sum_y \pi'(y \mid x) = 1 $$ 因此: $$ \exp\left( \frac{1}{\beta} f(x) \right) = 1 \Rightarrow f(x) = 0 $$ 對所有的 $x$ 成立。 因此有 $r(x, y) = r'(x, y)$,證畢。 --- 我們已經證明,每一個回饋等價類都有一個唯一的回饋函數可以表示為定理 1 所述形式,即: $$ f(r, \pi_{\text{ref}}, \beta) $$ 對於該等價類中的任意回饋函數。 ## B DPO 實作細節與超參數 DPO 的實作相對簡單;以下提供 PyTorch 實作的 DPO loss 函數: ```python import torch.nn.functional as F def dpo_loss(pi_logps, ref_logps, yw_idxs, yl_idxs, beta): """ pi_logps: policy 的 log 機率值,形狀為 (B,) ref_logps: 參考模型的 log 機率值,形狀為 (B,) yw_idxs: 偏好完成 (preferred completion) 的索引,值介於 [0, B-1],形狀為 (T,) yl_idxs: 不偏好完成 (dispreferred completion) 的索引,值介於 [0, B-1],形狀為 (T,) beta: 控制 KL 懲罰強度的溫度參數 每一組 (yw_idxs[i], yl_idxs[i]) 表示一組偏好對應的索引 """ pi_yw_logps, pi_yl_logps = pi_logps[yw_idxs], pi_logps[yl_idxs] ref_yw_logps, ref_yl_logps = ref_logps[yw_idxs], ref_logps[yl_idxs] pi_logratios = pi_yw_logps - pi_yl_logps ref_logratios = ref_yw_logps - ref_yl_logps losses = -F.logsigmoid(beta * (pi_logratios - ref_logratios)) rewards = beta * (pi_logps - ref_logps).detach() return losses, rewards ``` 除非另有說明,否則我們使用 $\beta = 0.1$,batch size 設為 64,並使用 RMSprop optimizer,其學習率預設為 $1 \times 10^{-6}$。我們在線性預熱階段將學習率從 0 線性增加到 $1 \times 10^{-6}$,共 150 個 step。 針對 TL;DR 摘要任務,我們使用 $\beta = 0.5$,其餘參數保持不變。 ## C 更多實驗設置細節 在本節中,我們補充了與實驗設計相關的細節。 ### C.1 IMDb 情感分析實驗與基準細節 提示詞是來自 IMDb 資料集中長度為 2-8 個 token 的前綴。我們使用預訓練的情感分類器 `siebert/sentiment-roberta-large-english` 作為真實回饋模型(ground-truth reward model),並使用 `gpt2-large` 作為基礎模型。 我們使用這些較大型的模型,是因為發現預設模型產出的文字品質較低,且其回饋值不太準確。 我們首先在 IMDb 資料集的一個子集中進行監督式微調訓練 1 個 epoch。然後用該模型對 25000 個前綴各取樣 4 筆完成句,並透過真實回饋模型產生每個前綴的 6 組偏好配對(preference pairs)。 RLHF 的回饋模型是從 `gpt2-large` 初始化,並在偏好資料集上訓練 3 個 epoch。我們選取在驗證集上表現最佳的 checkpoint。 所謂 "TRL" 的實驗跑法使用 TRL 套件中的超參數設定。我們的實作在每次 PPO 更新中使用 batch size 為 1024 的樣本。 --- ### C.2 GPT-4 提示詞:摘要與對話贏率的計算 我們實驗設計中的一個關鍵組件是 GPT-4 的贏率判斷(win rate judgments)。 在本節中,我們列出了在摘要與對話實驗中用來計算贏率的提示詞。 我們使用 `gpt-4-0314` 來進行所有實驗的評估。每次評估中,摘要或回應的順序皆會被隨機選擇。 #### Summarization GPT-4 win rate prompt (S) ```Which of the following summaries does a better job of summarizing the most important points in the given forum post? Post: <post> Summary A: <Summary A> Summary B: <Summary B> FIRST provide a one-sentence comparison of the two summaries, explaining which you prefer and why. SECOND, on a new line, state only "A" or "B" to indicate your choice. Your response should use the format: Comparison: <one-sentence comparison and explanation> Preferred: <"A" or "B"> ``` #### Summarization GPT-4 win rate prompt (C) ``` Which of the following summaries does a better job of summarizing the most important points in the given forum post, without including unimportant or irrelevant details? A good summary is both precise and concise. Post: <post> Summary A: <Summary A> Summary B: <Summary B> FIRST provide a one-sentence comparison of the two summaries, explaining which you prefer and why. SECOND, on a new line, state only "A" or "B" to indicate your choice. Your response should use the format: Comparison: <one-sentence comparison and explanation> Preferred: <"A" or "B"> ``` #### Dialogue GPT-4 win rate prompt ``` For the following query to a chatbot, which response is more helpful? Query: <the user query> Response A: <either the test method or baseline> Response B: <the other response> FIRST provide a one-sentence comparison of the two responses and explain which you feel is more helpful. SECOND, on a new line, state only "A" or "B" to indicate which response is more helpful. Your response should use the format: Comparison: <one-sentence comparison and explanation> More helpful: <"A" or "B"> ``` ### C.3 Unlikelihood baseline While we include the unlikelihood baseline [46] (simply maximizing $$\log p(y_w|x)$$, the log probability of the preferred response, while minimizing $$\log p(y_l|x)$$, the log probability of the dispreferred response) in our sentiment experiments, we do not include it as a baseline in either the summarization or dialogue experiments. We exclude it from summarization and dialogue experiments because we found that the unlikelihood loss can produce degenerate completions that are very short, or rely on tokens that are rare under the reference model. | **Prompt** | **Response** | |------------|--------------| | **SUBREDDIT**: r/relationships<br>**TITLE**: The girl [26 F] I [22 M] have been seeing for a month didn’t respond to me at all yesterday while hanging out with a friend [30? M].<br>**POST**: She gets terrible service while at her house, but I texted her 3 times yesterday, 4-5 hours apart. She didn’t call me until early this morning and left a voicemail that she was busy all day with a friend who showed up out of the blue. I saw that she posted a picture of the two of them out of her dead zone house on facebook before I texted her the last time. I don’t mind that she hangs out with friends, and I know it’s pretty early [...] TL;DR: | girl when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when whenUB when when when when when whenUB | | **SUBREDDIT**: r/tifu<br>**TITLE**: TIFU by accidently kicking an old woman<br>**POST**: So this didn’t happen today but actually about a year or two ago. I was at my granddad's funeral so of course it was all very sad and full of lots of crying old people. After the ceremony everyone walks outside the building and onto the other side of the small road the hearses drive down. Now the road is important because obviously if there’s a road, there’s a curb onto the sidewalk, so most of us are on the other side of the road, besides a few older people walking a lot slower. As one of the old woman goes to walk up the curb [...] TL;DR: | when an old woman was tripping the when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when when | 表 3:TL;DR 提示詞中使用不太可能性(Unlikelihood)方法的樣本,溫度設為 1.0。整體而言,我們發現不太可能性方法無法針對更複雜的任務(例如摘要與對話)生成有意義的回應。 在摘要或對話實驗中,該方法通常產生毫無意義的回應,我們認為這是由於無約束的可能性$minimization$所導致。 ![image](https://hackmd.io/_uploads/rklnuAW_eg.png) ## D 補充實驗結果 ### D.1 不同 $N$ 值下 Best of $N$ 基準表現 我們發現 Best of $N$ 基準在我們的實驗中是一個強效(但在計算上相對昂貴,需要多次取樣)的基準方法。我們針對 Anthropics-HH 對話資料與 TL;DR 摘要資料,在不同 $N$ 值下評估了 Best of $N$ 的基準效果;其結果顯示於圖 4。 ### D.2 範例回應與 GPT-4 判定 本節展示 DPO 與基準(在摘要任務中為 PPO 溫度為 0,對話任務中為人工標記的真實答案)之間的比較範例。摘要任務的範例可見表 4 至表 6;對話任務的範例可見表 7 至表 10。 ### D.3 人類研究細節 為了驗證使用 GPT-4 來計算勝率的有效性,我們的人類研究收集了 TL;DR 摘要設定中多種演算法的人類偏好資料。我們選擇三種不同的演算法對比組,分別評估 DPO(溫度 0.25)、SFT(溫度 0.25)與 PPO(溫度 1.0),並將它們與參考演算法 PPO(溫度 0.0)進行比較。 透過選擇三種獨特演算法對比組及涵蓋各種勝率範圍的演算法作為參考,我們評估人類與 GPT-4 勝率在回應品質光譜上的相似程度。 我們對 DPO vs PPO-0 執行了 150 組比較,對 PPO-1 vs PPO-0 執行了 100 組比較,每組由兩位人類評分者進行判斷,產生: - 275 筆 DPO-PPO7 判斷 - 200 筆 PPO-PPO 判斷 我們抽樣 125 筆 SFT 比較,每筆由一位人類評分。我們忽略了被標記為平手的評分(佔比約為 1%),並計算下列原始一致性百分比: - 人類 A 與人類 B 之間的評分一致性(適用於有雙人評比的情況,SFT 不包括在內) - 每位人類評分者與 GPT-4 之間的評分一致性 --- ### Participants. 我們總共有 25 位志願者擔任評分者,每人比較 25 筆摘要(其中一位未被納入正式分析,但仍列出)。評分者皆為史丹佛學生(從大學生到博士生)、近期畢業生或校友,背景主要為 STEM(特別是電腦科學)。請見圖 5 為調查問卷介面示意圖。 以下列出所有評分志工,順序隨機: 1. Gordon Chi 2. Virginia Adams 3. Max Du 4. Kaili Huang 5. Ben Prystawski 6. Ioanna Vavelidou 7. Victor Kolev 8. Karel D’Oosterlinck 9. Ananth Agarwal 10. Tyler Lum 11. Mike Hardy 12. Niveditha Iyer 13. Helena Vasconcelos 14. Katherine Li 15. Chenchen Gu 16. Moritz Stephan 17. Swee Keat Lim 18. Ethan Chi 19. Kaien Yang 20. Ryan Chi 21. Joy Yun 22. Abhay Singhal 23. Siyuan Li 24. Amelia Hardy --- > **圖 5:SurveyMonkey 問卷介面設計。每位受試者完成 25 筆格式相似的判斷。** --- #### Summarization Evaluation [id ZhBvX3RlDxAwvLjAx; group 5; key 18209903] **以下哪一個摘要更好地總結了這篇論壇貼文中的重點?** *某些回覆可能非常相似;請盡力做出比較,如果真的無法分辨,再選擇「我無法判斷」。* --- **問題 6:以下哪一個摘要更好地總結了這篇貼文中的重點?** **Post:** 我的男友和我交往四年了,但我越來越受不了他幼稚的興趣。兩天前他花了超過 100 美元買任天堂玩具和遊戲,但這還不是最糟的。他有個「玩具房」,裡面滿滿都是從樂高、卡通角色、到模型人偶等各種昂貴玩具。我覺得這些行為在一段感情中顯得很不成熟。累計下來,他光是這類玩具可能就花了好幾千美元。最近我邀請朋友來家裡吃飯,有人不小心進了「玩具房」,還說這對一個成年男性來說真的很尷尬。他其實賺得不錯,比我多很多,但我開始覺得該是時候讓他放下這些興趣,成為一個更成熟的人並和我共度未來了。我甚至在想我們訂婚後要怎麼跟父母解釋。 **我該怎麼處理這段感情?** - Summary A: 男友有很多來自電玩、卡通、樂高的玩具,每年花很多錢。他已經 30 歲了,這樣的興趣讓我感到尷尬。 - Summary B: 男友有個「玩具房」,裡面堆滿了昂貴玩具。我認為是時候讓他放下這些幼稚的興趣,成為一個更成熟的伴侶。 - I can’t tell(請僅在兩個摘要真的幾乎一模一樣時使用) ![image](https://hackmd.io/_uploads/rkm2KRZull.png)