---
# System prepended metadata

title: '論文閱讀 : Direct Preference Optimization: Your Language Model is Secretly a Reward Model'

---

# 論文閱讀 : Direct Preference Optimization: Your Language Model is Secretly a Reward Model

## 摘要
1. **問題**：大規模無監督語言模型雖具備廣泛知識與推理能力，但難以精確控制其行為。現有的 RLHF 方法流程複雜且不穩定，需要訓練獎勵模型並進行強化學習。

2. **貢獻**：提出 **Direct Preference Optimization (DPO)**，將人類偏好學習轉化為分類問題，透過單一階段的訓練即可直接得到最優策略。
3. **優勢**：
   * 不需獎勵模型
   * 不需在微調過程中從 LM 抽樣
   * 幾乎不需超參數調整
   * 計算輕量、穩定且效能佳
4. **實驗結果**：
   * 在情感控制上超越 PPO-based RLHF
   * 在摘要與單輪對話任務上表現相當或更好
   * 簡化實作與訓練過程

## Introduction
![image](https://hackmd.io/_uploads/BJsiezQ5xe.png)


1. **研究背景與問題**

   * 大型語言模型（LMs）透過大規模無監督訓練獲得強大的知識與能力，但這些能力來源多樣，可能包含不理想的行為。
   * **例子**：

     * 希望 AI 助手能理解常見錯誤，但生成程式碼時要偏向高品質輸出。
     * 希望模型知道常見迷思，但不能在回答時照比例「誤導」使用者。
   * **挑戰**：如何從模型的廣泛知識中「挑選」並對齊 **理想回應與行為**，是 AI 的安全性、效能與可控性核心問題。

2. **現有方法與限制**

   * **RLHF/RLAIF** 是目前最成功的偏好對齊方法：

     * 步驟：訓練獎勵模型 → 用 RL 最佳化政策（policy），同時避免偏離原始模型。
     * 優點：能產生強大的對話與程式能力。
     * 缺點：流程複雜、需訓練多個模型、需在 loop 中抽樣，計算與實作成本高。

3. **提出的方法：Direct Preference Optimization (DPO)**

   * 不需要顯式獎勵模型或強化學習。
   * 理論基礎：與 RLHF 相同，優化「獎勵最大化 + KL 約束」目標，但透過 **變數轉換**，可直接對政策進行訓練。
   * 訓練方式：利用人類偏好資料，將問題轉化為 **二元交叉熵分類目標**。
   * 直覺：提升「偏好回應」相對於「不偏好回應」的對數機率，並透過動態的重要性權重避免模型崩壞（degeneration）。
   * 不再需要：
     * 額外獎勵模型
     * 訓練過程中從 policy 抽樣
4. **主要貢獻**
   * 提出 **DPO**：一個簡單、無 RL 的偏好學習演算法。
   * 透過人類偏好資料直接學習 policy，顯著簡化 pipeline。
   * **實驗結果**：
     * 在情感調控、摘要、對話任務上，DPO 的效能與 PPO-based RLHF 至少相當，甚至更好。
     * 驗證於最多 60 億參數規模的模型上。

## Related Work
1. **指令微調（Instruction Tuning）**

   * 大規模 LM 雖可零樣本或少樣本完成任務，但效能與使用者需求對齊仍有限。
   * **Instruction tuning**：利用人工撰寫的指令與回應資料微調 → 提升泛化性與可用性。
   * 限制：收集專家示範成本高。

2. **偏好學習（Preference Learning with Human Feedback）**

   * **相對偏好標註**（例如「哪個回應較好」）比專家示範更容易蒐集。
   * 已應用於翻譯、摘要、故事生成、指令跟隨等任務，顯著提升模型效能。
   * 流程：

     1. 訓練獎勵模型（基於 Bradley-Terry 等偏好模型）
     2. 使用 RL（REINFORCE、PPO 等）微調 LM，以最大化獎勵。
   * 相關擴展：結合人類簡單規則（rubric）與 LM 自動生成偏好資料（如 Constitutional AI）。
3. **兩大研究路線的交集**
   * **強化學習訓練 LM**（多種目標，序列生成等）。
   * **人類偏好學習方法**（利用偏好數據建立獎勵模型並訓練 policy）。
   * 現有方法結合兩者，但都需 RL，計算複雜。
4. **語言模型外的相關研究**
   * **情境對決 bandit (Contextual Dueling Bandits, CDB)**：用偏好或排序代替獎勵，分析「von Neumann winner」作為最佳政策。
     * 特點：標註在線產生，而非離線固定批次。
   * **偏好式強化學習 (Preference-based RL, PbRL)**：利用偏好而非明確獎勵學習，通常需先估計潛在的「打分函數」(reward model)，再優化策略。
   * 限制：多數演算法仍依賴顯式獎勵模型。
5. **本文的差異**
   * 過去方法：兩階段 → 先估計獎勵模型，再做 RL。
   * 本文：**單階段策略學習** → 直接優化 policy 滿足偏好，不需額外 RL。

## 論文重點與解釋（Preliminaries）

### RLHF 三階段流程

整個 RLHF (Reinforcement Learning from Human Feedback) pipeline 通常包含三個步驟：

1. **SFT（Supervised Fine-Tuning）監督微調**

   * 先將預訓練語言模型（LM）在特定高品質資料上做監督學習微調，得到一個基礎模型 $\pi\_{\text{SFT}}$。
   * 這個階段主要是讓模型對下游任務（對話、摘要等）有更好的起始能力。

---

2. **Reward Modeling Phase（獎勵模型學習階段）**

   * **資料生成**：用 SFT 模型 $\pi\_{\text{SFT}}$，對輸入 prompt $x$ 產生兩個候選回應 $(y\_1, y\_2)$。
   * **人工偏好標註**：標註者判斷哪個回應更好，形成 $y\_w \succ y\_l \mid x$（代表 $y\_w$ 被偏好，$y\_l$ 被拒絕）。
   * **理論假設**：這些偏好由一個潛在的「真實獎勵函數」$r^\*(x,y)$ 產生，但我們看不到這個函數。
   * **偏好模型（Bradley-Terry, BT）**：假設人類偏好機率為

     $$
     p^*(y_1 \succ y_2 \mid x) = \frac{\exp(r^*(x,y_1))}{\exp(r^*(x,y_1)) + \exp(r^*(x,y_2))}.
     $$

     → 直觀意思：回應 $y\_1$ 被選中的機率，取決於它的獎勵值相對於 $y\_2$。
   * **獎勵模型學習**：我們設計一個可參數化的 reward model $r\_\phi(x,y)$，利用最大概似估計去擬合人類偏好資料集 $\mathcal{D}$。
   * **等價於分類問題**：其損失函數為負對數似然（binary classification）：

     $$
     \mathcal{L}_R = - \mathbb{E}_{(x,y_w,y_l)\sim \mathcal{D}} \Big[\log \sigma(r_\phi(x,y_w) - r_\phi(x,y_l))\Big],
     $$

     其中 $\sigma$ 是 sigmoid。
   * **實作細節**：

     * 獎勵模型常直接用 SFT 模型 backbone，加一個線性層輸出 scalar reward。
     * 為避免 reward variance 過大，通常會做 normalization，使得平均 reward = 0。

---

3. **RL Fine-Tuning Phase（強化學習微調階段）**

   * 在這個階段，獎勵模型 $r\_\phi(x,y)$ 被用來提供回饋，幫助微調語言模型 policy $\pi\_\theta$。
   * 目標函數：

     $$
     \max_{\pi_\theta} \ \mathbb{E}_{x,y}[r_\phi(x,y)] - \beta D_{\text{KL}}[\pi_\theta(y|x) \parallel \pi_{\text{ref}}(y|x)]
     $$

     * 第一項：希望最大化 reward。
     * 第二項（KL 約束）：避免新 policy $\pi\_\theta$ 偏離參考模型 $\pi\_{\text{ref}}$（通常就是 SFT 模型 $\pi\_{\text{SFT}}$）太多。
   * **KL 項的重要性**：

     * 保持 reward model 的有效性（因為它只在原始分布附近可靠）。
     * 維持生成多樣性，避免模型 collapse 只產生單一高 reward 答案。
   * **優化方式**：

     * 語言輸出是離散的，無法直接微分，因此需用 RL 演算法來最佳化。
     * 常用方法：PPO (Proximal Policy Optimization)。
     * 在實務中，reward function 會改寫成：

       $$
       r(x,y) = r_\phi(x,y) - \beta \big(\log \pi_\theta(y|x) - \log \pi_{\text{ref}}(y|x)\big),
       $$

       再透過 PPO 來更新 policy。


## DPO
## 1. 問題背景

* RLHF 傳統流程 = **Reward Model + RL**。
  → 複雜、需要 RL loop、訓練成本高。
* DPO 的想法 = **直接用偏好資料訓練 policy**，省略 reward model 和 RL。
  → 透過數學推導，把「reward-based RL 問題」轉化為「分類學習問題」。

---

## 2. 從 RLHF 目標到最優 policy

在 RLHF 中，我們的優化目標（Eq. \ref{eq\:RL}）是：

$$
\max_{\pi_\theta} \ \mathbb{E}[r(x,y)] - \beta D_{\text{KL}}[\pi_\theta(y|x)\|\pi_{\text{ref}}(y|x)]
$$

推導後可得最優 policy 的封閉解（Eq. \ref{eq\:op\_policy}）：

$$
\pi_r(y|x) = \frac{1}{Z(x)} \pi_{\text{ref}}(y|x)\exp\Big(\tfrac{1}{\beta}r(x,y)\Big)
$$

直觀：

* 新 policy $\pi\_r$ = **參考模型分布 × 獎勵加權**。
* $Z(x)$ 是 partition function，確保分布歸一化。

---

## 3. 重參數化：把 reward 換成 policy

把上式取 log 可得：

$$
r(x,y) = \beta \log \frac{\pi_r(y|x)}{\pi_{\text{ref}}(y|x)} + \beta \log Z(x)
$$

重點：

* 獎勵 $r(x,y)$ 可以用 **policy 與參考分布的比值** 來表達。
* 在 BT 偏好模型下，reward 只會以「差值」的形式出現，所以 \$Z(x)\$（常難計算）會被消掉。

---

## 4. 偏好機率直接用 policy 表示

代回 BT 模型：

$$
p^*(y_1 \succ y_2 | x) = \sigma\Big(\beta \log \tfrac{\pi^*(y_1|x)}{\pi_{\text{ref}}(y_1|x)} - \beta \log \tfrac{\pi^*(y_2|x)}{\pi_{\text{ref}}(y_2|x)} \Big)
$$

意思是：**人類選擇 \$y\_1\$ 的機率**，可以直接用 **policy 與參考分布比值** 來建模，不需要 reward model。

---

## 5. DPO 損失函數

於是，我們得到 DPO 的目標（Eq. \ref{eq\:optimum\_model}）：

$$
\mathcal{L}_{\text{DPO}}(\pi_\theta;\pi_{\text{ref}}) = -\mathbb{E}_{(x,y_w,y_l)\sim \mathcal{D}} \Big[ \log \sigma\Big( \beta \log \tfrac{\pi_\theta(y_w|x)}{\pi_{\text{ref}}(y_w|x)} - \beta \log \tfrac{\pi_\theta(y_l|x)}{\pi_{\text{ref}}(y_l|x)} \Big) \Big]
$$

這就是一個 **二元分類 cross-entropy**：

* 標籤：人類偏好 $y\_w$（贏家） vs $y\_l$（輸家）
* 模型：直接學 policy 分布，而不是 reward function

## 6. DPO 更新規則（梯度解釋）

梯度展開後可寫成：

$$
\nabla_\theta \mathcal{L}_{\text{DPO}} = -\beta \,\mathbb{E}\Big[ \sigma(\hat{r}_\theta(x,y_l) - \hat{r}_\theta(x,y_w)) \Big(\nabla_\theta \log \pi(y_w|x) - \nabla_\theta \log \pi(y_l|x)\Big) \Big]
$$

直觀解釋：

* **增加** 被偏好的答案 $y\_w$ 的機率
* **降低** 不被偏好的答案 $y\_l$ 的機率
* 權重 = reward 模型「判錯」的程度（如果模型覺得壞答案更好 → 給更大更新力道）

---

## 7. DPO Pipeline 流程

1. **收集偏好資料**：從參考模型 $\pi\_{\text{ref}}$ 生成 $(y\_1,y\_2)$，再請人標註哪個更好。
2. **定義參考分布**：通常 $\pi\_{\text{ref}} = \pi\_{\text{SFT}}$；若沒有 SFT，則用最大化 preferred answers likelihood 的方式近似。
3. **最小化 $\mathcal{L}\_{\text{DPO}}$**：直接優化 policy，得到對齊人類偏好的 $\pi\_\theta$。

## Theoretical Analysis of DPO
### 1. 大方向

* **RLHF 的問題**：需要 reward model + RL，數學上有「不唯一解」(under-specification) 的問題。
* **DPO 的核心 insight**：其實「policy 本身就等價於一個隱式 reward model」，因此我們可以直接學 policy，而不必顯式建 reward function。
* DPO 的優化目標其實等價於 BT 模型，但 reward 被換成：

  $$
  r^*(x,y) = \beta \log \frac{\pi_\theta^*(y|x)}{\pi_{\text{ref}}(y|x)}
  $$
* 換句話說，**policy（生成分布）本身隱含了一個 reward function**，所以不需要額外建 reward model。

### 3. Reward function 的等價類

定義：兩個 reward functions 若相差只是一個「與 $x$ 有關但與 $y$ 無關的函數」，即

$$
r(x,y) - r'(x,y) = f(x),
$$

則它們被視為**等價**。

這代表：

* **Lemma 1**：同一個等價類的 reward functions，會給出一樣的 preference 分布。
* **Lemma 2**：同一個等價類的 reward functions，會導致相同的最優 policy。

## 4. DPO 的理論保證

**Theorem 1**：在溫和假設下，所有與 Plackett-Luce / BT 偏好模型一致的 reward classes，都可以寫成

$$
r(x,y) = \beta \log \frac{\pi(y|x)}{\pi_{\text{ref}}(y|x)}
$$

對某個 policy $\pi$ 和基準分布 $\pi\_{\text{ref}}$ 都成立。

直觀：

* 任意 reward function，都可以「投影」成這個形式。
* 這樣做不會丟掉一般性 → 所以用這個 reparameterization（policy vs ref policy 比值）學習 reward，不會失真。

---

## 5. Projection 操作（證明核心）

作者定義了一個投影算子：

$$
f(r; \pi_{\text{ref}}, \beta)(x,y) = r(x,y) - \beta \log \sum_y \pi_{\text{ref}}(y|x)\exp\Big(\tfrac{1}{\beta}r(x,y)\Big)
$$

* 它會把 reward 減去 partition function 的 log。
* 這個修正項僅依賴 $x$，因此結果仍在同一個等價類。
* 最後得到的形式剛好就是：

  $$
  f(r) = \beta \log \frac{\pi_r(y|x)}{\pi_{\text{ref}}(y|x)}
  $$

---

## 6. 關鍵 insight

* Plackett-Luce / BT 模型原本 under-specified（因為 reward 不是唯一的）。
* DPO 的 reparameterization = 指定了 reward 在等價類中的一個具體代表。
* 好處是：這個形式下的最優 policy **可解析、可直接訓練**，不需要 RL loop。

## Instability of Actor-Critic Algorithms
### 1. Actor-Critic 在 RLHF 中的角色

* 在 RLHF 的 **fine-tuning** 階段，我們要讓 policy $\pi\_\theta$ 接近「最優 policy $\pi^\*$」。
* 理想目標：最小化分布差異

  $$
  \mathbb{D}_{KL}[\pi_\theta(y|x) \| \pi^*(y|x)]
  $$
* 在實務上，PPO 就是用這種「policy gradient + baseline」的方式來優化。

---

### 2. 展開後的 Actor-Critic 目標 (Eq. \ref{eq\:AC})

透過代數推導，作者得到目標函數：

$$
\max_{\pi_\theta} \ \mathbb{E}_{\pi_\theta(y|x)} \Big[ \underbrace{r_\phi(x,y) - \beta \log \sum_y \pi_{\text{ref}}(y|x)\exp(\tfrac{1}{\beta}r_\phi(x,y))}_{f(r_\phi, \pi_{\text{ref}}, \beta)} - \underbrace{\beta \log \tfrac{\pi_\theta(y|x)}{\pi_{\text{ref}}(y|x)}}_{\text{KL term}} \Big]
$$

拆解：

1. **第一項 $r\_\phi(x,y)$**：獎勵模型給的分數。
2. **Normalization 項（log-sum-exp）**：可以解釋為 **soft value function**（參考 policy 下的期望獎勵）。

   * 它不影響最優解，但影響 policy gradient 的方差。
   * 沒有這個 baseline，policy gradient 會很不穩定。
3. **KL 項**：限制 policy 不要偏離參考分布。

---

### 3. Actor-Critic 不穩定的原因

* 在 RLHF 的 PPO 設定裡：

  * **Normalization 項**難以處理：

    * 要麼學一個 value function baseline（但難優化）；
    * 要麼用單樣本 Monte Carlo 近似（高方差，不準）。
* 這些 baseline 的估計誤差，會導致訓練不穩定、收斂慢。

---

### 4. DPO 的優勢

* DPO 透過 **reparameterization**，把 reward function 重寫成：

  $$
  \hat r_\theta(x,y) = \beta \log \frac{\pi_\theta(y|x)}{\pi_{\text{ref}}(y|x)}
  $$
* 好處：這個形式 **天然包含了 normalization**，不需要額外 baseline。
* 結果：

  * 避免了 PPO 這種演算法在 baseline 上的估計問題。
  * Policy gradient 方差更小，學習更穩定。

## 實驗
![image](https://hackmd.io/_uploads/HkNcPEr9gg.png)
* **左圖（Reward vs KL frontier）**：DPO 在所有 KL 水準下 reward 都最高，顯示它的優化品質比 PPO 好。
* **右圖（Summarization win rate）**：DPO 在 TL;DR 任務中表現超越 PPO，且對 sampling 溫度更不敏感（更穩健）。
* **對話任務**：DPO 與 PPO 相比，能更穩定提升 helpfulness / harmlessness。

好 這一段主要是 **實驗結果分析**，我幫你完整整理：

---

## 1. How well can DPO optimize the RLHF objective?

### 實驗設計

* **任務**：Controlled Sentiment Generation（有真實 reward function）。
* **評估**：同時計算 **reward** 與 **KL-divergence** → reward/KL frontier。
* **比較方法**：DPO、PPO（不同 target KL）、Unlikelihood（不同 α）、Preferred-FT（不同 seed）、以及 PPO-GT（使用真實 reward）。
* 共進行 22 次訓練 run。

### 結果

* **DPO frontier 最優**：在所有 KL 水準下，DPO 能同時達到更高 reward、保持較低 KL。
* **嚴重超越 PPO**：即使 PPO 也在優化同一目標，DPO 的效率與結果都更好。
* **甚至超越 PPO-GT**：即使 PPO 能直接使用「真實 reward function」，DPO 的 frontier 依舊更優。

意義：DPO 在 reward/KL tradeoff 上 **全面支配 PPO**，更高效且穩定。

---

## 2. Can DPO scale to real preference datasets?

### (a) Summarization（Reddit TL;DR）

* **模型**：GPT-J SFT model 微調。
* **評估**：GPT-4 win rate vs. 參考摘要。
* **結果**：

  * DPO 在 \$T=0.0\$ 溫度下 win rate ≈ **61%**，超越 PPO 的 **57%**。
  * DPO **超過 Best-of-N baseline** 的最佳表現。
  * DPO 對 **溫度變化更穩健**，而 PPO 在高溫下性能掉回基線 GPT-J。
  * Preferred-FT 幾乎無改善。
  * 人類評估（Sec. \~\ref{sec\:human-judgments}）：DPO (T=0.25) 輸出比 PPO (T=0.0) 更受偏好（58% vs 42%）。

---

### (b) Single-turn Dialogue（Anthropic HH）

* **模型**：基於 Pythia-2.8B。

  * Preferred-FT → 建立 reference model。
  * 然後用 DPO 微調。
* **比較**：Best-of-128、Pythia-2.8B 2-shot prompting、以及公開的 PPO-HH 模型。
* **結果**：

  * DPO 表現與 Best-of-128 **相當或更好**，但計算量遠低於 Best-of-N。
  * **唯一能超越「偏好標註回應」的有效方法**。
  * 公開 PPO-HH 模型（Pythia-6B）表現甚至不如基線模型，凸顯 PPO 不穩定。
  * DPO **收斂速度快**，很快達到最佳性能。

---

## 總結

* **Controlled setting**：DPO 的 reward/KL frontier 全面優於 PPO（甚至超越 PPO-GT oracle）。
* **Summarization**：DPO > PPO > Preferred-FT，且 DPO 更穩健，對 sampling temperature 不敏感。
* **Dialogue**：DPO = Best-of-128 (高效替代)，且是唯一能穩定優於標註 baseline 的方法。
* **整體結論**：DPO 在各種任務中不僅更簡單、更高效，而且表現上 **支配或匹配** 所有 baseline。


## 1. Generalization to a new input distribution

### 實驗設計

* **模型來源**：來自 Reddit TL;DR summarization 實驗中訓練好的 DPO 與 PPO policy。
* **新分布**：CNN/DailyMail 新聞文章（而不是 Reddit forum post）。
* **評估**：GPT-4 win rate vs. ground truth summaries。
* **採樣溫度**：延用 TL;DR 實驗最佳溫度（0 與 0.25）。

### 結果（表\~\ref{tab\:ood}）
![image](https://hackmd.io/_uploads/BkFRoVr9ll.png)

* DPO：win rate = 0.36 (T=0)、0.31 (T=0.25)。
* PPO：win rate = 0.26 (T=0)、0.23 (T=0.25)。

結論：DPO 在分布轉移下依然明顯優於 PPO，即使 DPO 並未利用 PPO 所額外使用的「未標記 Reddit TL;DR prompt」。
→ 初步證據：DPO 的泛化能力不遜於 PPO，甚至更穩定。

---

## 2. Validating GPT-4 judgments with human judgments
![image](https://hackmd.io/_uploads/Hyc1nVSqee.png)

### 實驗設計

* **目標**：驗證 GPT-4 的偏好判斷是否可信。
* **比較對象**：三種模型 → DPO (best, T=0.25)、PPO (worst, T=1.0)、SFT (middle, T=0.25)，都和 PPO (T=0) baseline 做比較。
* **GPT-4 prompts**：

  * **GPT-4 (S)**：單純問「哪個摘要更好」。
  * **GPT-4 (C)**：問「哪個摘要更好 + 更精簡」，避免 GPT-4 偏好冗長答案。
* **人類實驗**：收集人類標註，與 GPT-4 評估比對。

### 結果（表\~\ref{tab\:human\_results}）

* **Win rates**：

  * DPO：Humans (58%)、GPT-4(S)=47%、GPT-4(C)=54% → GPT-4 與人類趨勢一致。
  * SFT：Humans (43%)、GPT-4(S)=27%、GPT-4(C)=32%。
  * PPO-1：Humans (17%)、GPT-4(S)=13%、GPT-4(C)=12%。
* **一致性 (Agreement)**：

  * GPT-4 與人類的一致性 (67%\~86%) ≈ 人與人之間的一致性 (65%\~87%)。
  * GPT-4 (C) 的結果更貼近人類判斷 → 主實驗使用此 prompt。

## 1. DPO 的貢獻與意義

* **偏好學習** 是訓練 alignment LMs 的強大且可擴展框架。
* **DPO 的核心**：

  * 建立 policy 與 reward function 的數學映射，直接優化人類偏好。
  * 使用 **cross-entropy loss**，避免 RL 訓練。
  * 不需要特別調超參數，效能就能與 PPO 等 RLHF 方法相當或更好。
* **意義**：降低了 LM 偏好訓練的技術門檻，讓更多模型能快速 align。

---

## 2. 限制與未來工作

1. **泛化能力**

   * 初步結果顯示 DPO 與 PPO 有相近的 out-of-distribution 表現，但需要更全面的研究。
   * 問題：能否透過 **self-labeling** 方式，利用未標註 prompt 進一步提升效果？

2. **Reward over-optimization**

   * 在 Figure\~\ref{fig\:dialogue-main}-right 出現的效能小幅下降，可能與 **過度優化 reward** 有關，需要深入探討。

3. **Scaling to larger models**

   * 本文僅在 **6B 參數規模**測試，尚未驗證在數十億甚至百億以上參數下的可擴展性。
   * 未來應研究 DPO 在 **SOTA 大模型**上的表現。

4. **評估方式的敏感性**

   * GPT-4 評估結果依賴 prompt，不同 prompt 可能導致不同偏好判斷。
   * 需要研究 **如何設計 prompt** 以獲得最穩定且可靠的自動化評估。

5. **更廣泛的應用場景**

   * 雖然本文聚焦在 LMs，但 DPO 的方法可能能擴展至其他生成模型（影像、音樂、分子生成等）。


## 證明
![image](https://hackmd.io/_uploads/HJt6pSSqel.png)
![image](https://hackmd.io/_uploads/HkmF2SHqxl.png)
![image](https://hackmd.io/_uploads/SyL9hHHqgx.png)
![image](https://hackmd.io/_uploads/r17i3HS5lg.png)
![image](https://hackmd.io/_uploads/Hy1ThBBqel.png)
![image](https://hackmd.io/_uploads/SkA0nBH5le.png)
![image](https://hackmd.io/_uploads/B19JTBH5gg.png)
