\documentclass[a4paper]{article}

% Basic packages
\usepackage[fontset=fandol]{ctex}
\usepackage{amsmath, amssymb}
\usepackage{graphicx}
\usepackage[margin=2.5cm]{geometry}
\usepackage[most]{tcolorbox}
\usepackage{etoolbox}
\usepackage{listings}
\usepackage{hyperref}
\usepackage{booktabs}
\usepackage{subcaption}
\usepackage{float}
\usepackage{tikz}
\usetikzlibrary{positioning}
\IfFileExists{pgfplots.sty}{
    \usepackage{pgfplots}
    \pgfplotsset{compat=1.18}
}{}

% Highlight boxes
\newtcolorbox{knowledgebox}[1]{
    enhanced, colback=blue!5!white, colframe=blue!75!black, colbacktitle=blue!75!black,
    coltitle=white, fonttitle=\bfseries, title=#1, attach boxed title to top left={yshift=-2mm, xshift=2mm},
    boxrule=1pt, sharp corners
}

\newtcolorbox{importantbox}[1]{
    enhanced, colback=yellow!10!white, colframe=yellow!80!black, colbacktitle=yellow!80!black,
    coltitle=black, fonttitle=\bfseries, title=#1, sharp corners
}

\newtcolorbox{warningbox}[1]{
    enhanced, colback=red!5!white, colframe=red!75!black, colbacktitle=red!75!black,
    coltitle=white, fonttitle=\bfseries, title=#1, sharp corners
}

% Listings
\lstset{
    language=Python,
    basicstyle=\ttfamily\small,
    keywordstyle=\color{blue},
    stringstyle=\color{red!60!black},
    commentstyle=\color{green!60!black},
    breaklines=true,
    frame=single,
    numbers=left,
    numberstyle=\tiny\color{gray},
    captionpos=b,
    extendedchars=false
}

% Front-page metadata
\newcommand{\notetitle}{CS224N Lecture 15: Life After DPO}
\newcommand{\noteauthors}{基于 Nathan Lambert 授课内容整理}
\newcommand{\notedate}{2024年5月21日}
\newcommand{\videochannel}{Stanford Online}
\newcommand{\videopublishdate}{2024-05-21}
\newcommand{\videoduration}{1:08:53}
\newcommand{\videourl}{https://www.youtube.com/watch?v=dnF463_Ar9I}
\newcommand{\videocoverpath}{cover.jpg}
\newcommand{\repourl}{https://github.com/hqhq1025/ai-course-notes}


% Footer with repo info
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\fancyfoot[C]{\thepage}
\fancyfoot[R]{\footnotesize\color{gray}\href{\repourl}{AI Course Notes}}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}

\begin{document}

\begin{titlepage}
\centering
{\Large 课程笔记\par}
\vspace{1.2cm}
{\huge\bfseries \notetitle\par}
\vspace{0.8cm}
{\large \noteauthors\par}
\vspace{0.3cm}
{\large \notedate\par}
\vspace{1.2cm}

\ifdefempty{\videocoverpath}{
{\small 请在生成笔记时填入视频封面图的本地路径。\par}
}{
\includegraphics[width=0.82\textwidth,height=0.45\textheight,keepaspectratio]{\videocoverpath}\par
}

\vfill
\begin{tcolorbox}[width=0.9\textwidth, colback=black!2!white, colframe=black!60, sharp corners]
\textbf{视频作者/频道}：\videochannel\par
\textbf{发布日期}：\videopublishdate\par
\textbf{视频时长}：\videoduration\par
\ifdefempty{\videourl}{}{
\textbf{视频链接}：\href{\videourl}{\nolinkurl{\videourl}}\par
}
\par
\textbf{项目主页}：\href{\repourl}{\nolinkurl{\repourl}}\par
\end{tcolorbox}
\end{titlepage}

\tableofcontents
\newpage

%% ========== Part 1: 背景与定义 ==========

\section{引言：对齐研究的时代背景}

本次讲座由 Nathan Lambert 主讲，他曾在 UC Berkeley 完成博士学位，先后在 Hugging Face 和 Allen Institute for AI（AI2）工作，是后训练（post-training）和对齐（alignment）领域的核心研究者之一。讲座标题"Life after DPO"试图回答一个关键问题：\textbf{在 DPO 之后，对齐研究的下一步方向是什么？}

\begin{figure}[H]
\centering
\includegraphics[width=0.95\textwidth]{slides-images/slide-000.jpg}
\caption{讲座封面：Life after DPO，Nathan Lambert，Allen Institute for AI\protect\footnotemark}
\end{figure}
\footnotetext{Slides 第1页。}

讲座的核心结构分为三部分：
\begin{enumerate}
    \item \textbf{历史回顾}：从语言模型发展到 RLHF 和 DPO 的演进
    \item \textbf{评估工具}：RewardBench——如何评估奖励模型
    \item \textbf{前沿探索}：DPO vs PPO 的实证比较，以及在线（online）方法的兴起
\end{enumerate}

\begin{knowledgebox}{讲者背景}
Nathan Lambert 的研究背景是强化学习（RL）。他从机器人 RL 转向语言模型 RL，在 Hugging Face 期间参与了 Zephyr 等开源对齐模型的开发，后加入 AI2 主导 T\"ulu 系列模型和 RewardBench 项目。他既有学术研究视角，也有工业界一线经验，对开放对齐生态有深刻理解。
\end{knowledgebox}

\subsection{语言模型的简要历史}

Lambert 快速回顾了语言模型的发展脉络：

\begin{itemize}
    \item \textbf{2017}：Transformer 论文发表
    \item \textbf{2018}：GPT-1、ELMo、BERT——奠定现代 NLP 基础
    \item \textbf{2019--2020}：GPT-2 与 Scaling Laws——人们开始意识到大规模语言模型的潜力
    \item \textbf{2021}：Stochastic Parrots 论文——在 ChatGPT 之前就对语言模型提出警告
    \item \textbf{2022年末}：ChatGPT 发布——本应是 OpenAI 的一个低调 demo，却引爆了全球关注
\end{itemize}

\begin{figure}[H]
\centering
\includegraphics[width=0.95\textwidth]{slides-images/slide-001.jpg}
\caption{语言模型发展的简要时间线\protect\footnotemark}
\end{figure}
\footnotetext{Slides 第2页。}

\begin{importantbox}{ChatGPT 能否脱离 RLHF 而存在？}
Lambert 提出了一个核心问题：ChatGPT 能否在没有 RLHF 的情况下存在？答案是：RLHF 似乎是\textbf{必要但不充分}的（necessary but not sufficient）。预训练提供了基础能力，但 RLHF 和后训练技术是让模型真正"可用"的关键一步。
\end{importantbox}

\begin{figure}[H]
\centering
\includegraphics[width=0.95\textwidth]{slides-images/slide-005.jpg}
\caption{RLHF 是必要但不充分的条件\protect\footnotemark}
\end{figure}
\footnotetext{Slides 第6页。}

Lambert 特别引用了 Meta 在 Llama 2 技术报告中的一段话："强化学习以其不稳定性著称，对 NLP 研究社区来说像是某种神秘领域；然而，强化学习被证明非常有效，尤其考虑到其成本和时间效率。"这段话生动地反映了 2023 年年中时业界对 RLHF 从怀疑到认可的态度转变。

\begin{figure}[H]
\centering
\includegraphics[width=0.95\textwidth]{slides-images/slide-006.jpg}
\caption{Anthropic Constitutional AI 论文中的迭代改进曲线：展示了多轮 RLHF 如何逐步提升模型性能\protect\footnotemark}
\end{figure}
\footnotetext{Slides 第7页。}

\subsection{本章小结}

语言模型的发展经历了从自回归损失函数到 Transformer 再到大规模预训练的漫长积累。ChatGPT 的成功不仅依赖于强大的预训练基础，更需要 RLHF 等后训练技术的加持。理解这一历史背景，是理解当前对齐研究方向的前提。

%% ========== Part 2: 核心概念与定义 ==========

\section{对齐的核心概念与定义}

\subsection{术语辨析}

在后训练领域，有大量容易混淆的术语。Lambert 对此做了清晰的区分：

\begin{figure}[H]
\centering
\includegraphics[width=0.95\textwidth]{slides-images/slide-010.jpg}
\caption{模型"对齐"的相关定义\protect\footnotemark}
\end{figure}
\footnotetext{Slides 第11页。}

\begin{importantbox}{五个关键定义}
\begin{itemize}
    \item \textbf{指令微调（Instruction Fine-Tuning, IFT）}：训练模型遵循用户指令，通常使用自回归 LM 损失
    \item \textbf{监督微调（Supervised Fine-Tuning, SFT）}：训练模型学习特定任务能力，同样使用自回归损失
    \item \textbf{对齐（Alignment）}：训练模型使其行为与用户意图一致的通用概念，不限于特定损失函数
    \item \textbf{基于人类反馈的强化学习（RLHF）}：使用人类反馈数据训练模型的特定技术工具
    \item \textbf{偏好微调（Preference Fine-Tuning）}：使用标注的偏好数据微调语言模型（可用 RL 或 DPO 等损失函数）
\end{itemize}
\end{importantbox}

\begin{warningbox}{指令微调 $\neq$ 监督微调}
这两个概念经常被混用，但有重要区别。指令微调侧重于让模型学会"遵循指令"的通用能力，数据形式通常是 instruction-response 对；监督微调则更侧重于特定领域的能力提升。两者都使用自回归损失函数，但目标和数据分布不同。
\end{warningbox}

指令微调中的一个重要概念是\textbf{系统提示词（System Prompt）}。OpenAI 在其 Model Spec 文档中甚至引入了"第二级系统提示词"的概念，为模型接收数据提供结构化方式，使得开发者可以传递用户看不到的信息。

\subsection{指令微调的数据来源}

指令微调的数据通常来源于：
\begin{itemize}
    \item Stack Overflow、Reddit 等问答数据
    \item 合成数据（如使用 GPT-4 生成）
    \item 专门收集的 instruction-response 对
\end{itemize}

Lambert 强调，大量学术研究表明"仅靠指令微调就够了"，但他认为这个结论过于简化。指令微调是正确的起点，但要达到 ChatGPT 级别的效果，还需要偏好微调和 RLHF。

\begin{figure}[H]
\centering
\includegraphics[width=0.95\textwidth]{slides-images/slide-012.jpg}
\caption{指令微调的数据格式：系统提示 + 用户输入 + 模型回复\protect\footnotemark}
\end{figure}
\footnotetext{Slides 第13页。}

\subsection{RLHF 目标函数}

RLHF 的核心目标函数可以写为：

$$\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|x) \| \pi_{\mathrm{ref}}(y|x) \right]$$

其中：
\begin{itemize}
    \item $\pi_\theta$：当前策略（即正在训练的语言模型）
    \item $\pi_{\mathrm{ref}}$：参考策略（训练起点的基础模型）
    \item $r_\phi(x, y)$：奖励函数，来自人类偏好
    \item $\beta$：KL 散度惩罚系数
    \item $x$：提示（prompt），$y$：补全（completion）
\end{itemize}

\begin{figure}[H]
\centering
\includegraphics[width=0.95\textwidth]{slides-images/slide-015.jpg}
\caption{RLHF 目标函数：左侧为奖励最大化项，右侧为 KL 约束项\protect\footnotemark}
\end{figure}
\footnotetext{Slides 第16页。}

\begin{knowledgebox}{KL 散度约束的作用}
目标函数右侧的 KL 散度项起到\textbf{正则化}作用：它约束训练后的策略 $\pi_\theta$ 不要偏离参考策略 $\pi_{\mathrm{ref}}$ 太远。这是为了防止\textbf{过度优化（over-optimization）}——如果不加约束地最大化奖励，模型可能会找到奖励模型的漏洞（reward hacking），产生高分但低质量的输出。
\end{knowledgebox}

RLHF 的两个核心问题是：
\begin{enumerate}
    \item \textbf{如何实现奖励函数}$r(x,y)$？——需要训练一个专门的奖励模型
    \item \textbf{如何优化奖励}？——需要选择合适的策略优化算法（PPO、REINFORCE 等）
\end{enumerate}

\subsection{Bradley-Terry 偏好模型}

奖励模型的训练基于 \textbf{Bradley-Terry 模型}——一个源自 1950 年代经济学的成对比较概率模型。该模型定义了在给定两个选项时，其中一个被选中的概率：

$$P(y_1 \succ y_2 | x) = \sigma(r(x, y_1) - r(x, y_2))$$

其中 $\sigma$ 是 sigmoid 函数。这个模型的一个关键假设是：\textbf{成对偏好概率可以由个体的标量分数之差来决定}。

\begin{figure}[H]
\centering
\includegraphics[width=0.95\textwidth]{slides-images/slide-016.jpg}
\caption{Bradley-Terry 偏好模型与奖励函数\protect\footnotemark}
\end{figure}
\footnotetext{Slides 第17页。}

\begin{warningbox}{从偏好概率到奖励分数的跳跃}
Lambert 特别指出，从成对偏好概率到将其输出直接用作奖励分数，存在一个"mental crazy step"：我们原本训练的是一个判断"A 比 B 好"的概率模型，但在实际使用时却把它当作单个输入的评分器——传入一段文本，得到的是"该文本被选中而非任意其他文本"的概率。这个假设虽然在实践中有效，但从理论上说是一个不小的飞跃。
\end{warningbox}

\subsection{DPO：直接偏好优化}

DPO（Direct Preference Optimization）的核心思想是：\textbf{为什么不能直接对 RLHF 目标函数做梯度上升，而非经过训练单独奖励模型再做 RL？}

\begin{figure}[H]
\centering
\includegraphics[width=0.95\textwidth]{slides-images/slide-018.jpg}
\caption{DPO 的核心思想：直接对偏好数据做梯度上升\protect\footnotemark}
\end{figure}
\footnotetext{Slides 第19页。}

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|x)}{\pi_{\mathrm{ref}}(y_w|x)} - \beta \log \frac{\pi_\theta(y_l|x)}{\pi_{\mathrm{ref}}(y_l|x)} \right) \right]$$

其中 $y_w$ 是被选中的（chosen）回复，$y_l$ 是被拒绝的（rejected）回复。

\begin{figure}[H]
\centering
\includegraphics[width=0.95\textwidth]{slides-images/slide-019.jpg}
\caption{DPO 的损失函数与参考实现代码：实现极其简洁\protect\footnotemark}
\end{figure}
\footnotetext{Slides 第20页。}

\begin{importantbox}{DPO 的三大优势}
\begin{enumerate}
    \item \textbf{实现简单}：只需修改损失函数，不需要构建完整的 RL 基础设施
    \item \textbf{计算扩展更容易}：不需要同时维护多个模型（策略、奖励、价值函数）
    \item \textbf{调试容易}：相比 PPO 的众多超参数，DPO 更容易排查问题
\end{enumerate}
\end{importantbox}

\subsection{DPO vs PPO：不同但可以共存}

\begin{figure}[H]
\centering
\includegraphics[width=0.95\textwidth]{slides-images/slide-020.jpg}
\caption{DPO 与 PPO/REINFORCE 的对比：它们是不同的优化器，但可以得到相似的结果\protect\footnotemark}
\end{figure}
\footnotetext{Slides 第21页。}

Lambert 强调：DPO 和 PPO 是\textbf{根本不同}的损失函数，做着不同的事情，但可以得到类似的结果。DPO 直接从偏好数据中学习，而 PPO 使用 RL 更新规则。DPO 也不是严格意义上的 online vs offline RL 之分，但这两者经常在讨论中被混淆。

核心结论是：\textbf{如果两种方法都能得到相似结果，而其中一种简单得多，那就应该从简单的开始}。这就是为什么 DPO 成为了大多数人的起点。

\begin{knowledgebox}{DPO 仍然隐含了一个奖励模型}
一个重要但容易被忽略的数学事实是：DPO 的推导中仍然隐含了一个奖励模型。DPO 使用语言模型本身作为一种"不同类型的奖励模型"——奖励通过策略与参考模型的对数概率比来定义。这对后续的模型评估和使用方式有重要影响。
\end{knowledgebox}

\subsection{本章小结}

对齐研究涉及多个层次的概念：从指令微调到 RLHF 再到 DPO，每一层都有其特定的数据需求和技术特点。RLHF 通过 Bradley-Terry 模型将人类偏好转化为可优化的奖励信号；DPO 则绕过了显式奖励模型的训练，直接在偏好数据上做梯度优化。两者各有优势，在实践中可以互补使用。

%% ========== Part 3: 从 DPO 到实际训练 ==========

\section{开源对齐的演进之路}

\subsection{指令微调模型的崛起（2023年春）}

2023年4月，第一批开源指令微调模型集中涌现：

\begin{figure}[H]
\centering
\includegraphics[width=0.95\textwidth]{slides-images/slide-022.jpg}
\caption{2023年4月的指令微调模型潮：Alpaca、Vicuna、Koala、Dolly 等\protect\footnotemark}
\end{figure}
\footnotetext{Slides 第23页。}

\begin{itemize}
    \item \textbf{Alpaca}：基于 LLaMA + 合成数据（Self-Instruct 方法）
    \item \textbf{Vicuna}：使用了 ShareGPT 数据——第一次让开放研究者获得了来自真实人类的对话数据
    \item \textbf{Koala}、\textbf{Dolly}：类似方法的变体
\end{itemize}

\begin{knowledgebox}{ShareGPT 数据的历史意义}
ShareGPT 是一个 Chrome 扩展，让用户可以分享 ChatGPT 对话。虽然存在法律灰色地带（用户数据被未经充分同意地记录），但这些数据对开源对齐研究至关重要——它是学术界首次大规模获取真实人类提示（prompt）的渠道。至今仍有模型将 ShareGPT 数据作为训练数据的子集。后来出现了更合规的替代品，如 LMSYS Chat 和 WildChat。
\end{knowledgebox}

\subsection{Open Assistant 与人类数据的稀缺}

\begin{figure}[H]
\centering
\includegraphics[width=0.95\textwidth]{slides-images/slide-024.jpg}
\caption{Open Assistant 项目：一次社区驱动的人类偏好数据收集尝试\protect\footnotemark}
\end{figure}
\footnotetext{Slides 第25页。}

Open Assistant 是一个 Discord 社区项目，由志愿者手动生成提示、回复和偏好对。Lambert 指出，虽然这个项目展示了人类数据的价值，但也暴露了其困难——参与者的反馈普遍是"再也不想做了"。遗憾的是，类似规模和质量控制水平的开源数据收集项目此后再未出现。

\subsection{第一个开源 RLHF 模型}

\begin{figure}[H]
\centering
\includegraphics[width=0.95\textwidth]{slides-images/slide-025.jpg}
\caption{StableVicuna：第一个开源 RLHF 模型，由 Carper AI 发布\protect\footnotemark}
\end{figure}
\footnotetext{Slides 第26页。}

2023年4月，Carper AI 发布了 StableVicuna——第一个使用标准 PPO 训练的开源 RLHF 模型。虽然它的性能优于 Vicuna，但\textbf{几乎没有人在此基础上继续构建}。Lambert 认为这揭示了一个重要教训：即使方法是开源的，如果没有易用的代码库和充足的数据，社区也不会跟进。

\subsection{Llama 2 安全过滤的反噬}

Llama 2 发布后出现了一个著名事件：当用户让模型"kill a Linux process"时，模型拒绝了——因为它将"kill"理解为暴力行为。这催生了一系列"uncensored"模型的开发潮流。

\begin{warningbox}{过度安全（Over-safety）的代价}
Llama 2 的过度安全问题并非有意的"审查"，而是 RLHF 训练数据的副作用。模型学到了过于保守的拒绝策略。这个案例说明：对齐不仅仅是"让模型更安全"，还需要在安全性和实用性之间找到平衡。过度拒绝同样是一种对齐失败。
\end{warningbox}

\subsection{Zephyr：DPO 的第一次大放异彩}

\begin{figure}[H]
\centering
\includegraphics[width=0.95\textwidth]{slides-images/slide-029.jpg}
\caption{Zephyr 模型：DPO 的首次重大成功\protect\footnotemark}
\end{figure}
\footnotetext{Slides 第30页。}

DPO 论文于 2023年5月发表，但直到2023年9月 Zephyr 模型的发布，社区才真正认可了 DPO 的实用性。Lambert 参与了 Zephyr 的开发，他回忆了两个关键成功因素：

\begin{enumerate}
    \item \textbf{新数据集}：UltraFeedback——由 OpenBMB 制作的合成偏好数据集，使用 GPT-4 进行标注
    \item \textbf{极低学习率}：$5 \times 10^{-7}$，比通常的 $3 \times 10^{-4}$ 低几个数量级
\end{enumerate}

\begin{warningbox}{DPO 需要极低的学习率}
Zephyr 的成功很大程度上依赖于一个反直觉的超参数选择：极低的学习率（$5 \times 10^{-7}$）。如果团队更早进行超参数搜索，DPO 可能提前几个月就被广泛采用。这提醒我们：即使算法本身是正确的，找到正确的超参数设置也至关重要——而这往往是通过大量试错才能实现的。
\end{warningbox}

\subsection{T\"ulu 2：DPO 规模化的验证}

\begin{figure}[H]
\centering
\includegraphics[width=0.95\textwidth]{slides-images/slide-030.jpg}
\caption{T\"ulu 2：第一个将 DPO 扩展到 70B 参数的模型\protect\footnotemark}
\end{figure}
\footnotetext{Slides 第31页。}

Lambert 转到 AI2 后，参与了 T\"ulu 2 项目。这个项目的核心贡献是：
\begin{itemize}
    \item 首次将 DPO 成功扩展到 \textbf{70B 参数}规模
    \item 使用相同的 UltraFeedback 数据 + 低学习率方案
    \item 在 MT-Bench 上达到 7.89 分（70B 版本）
    \item 正式引发了 DPO vs PPO 的学术讨论
\end{itemize}

从 Zephyr 到 T\"ulu 2 不到两个月。此后，DPO 模型如潮水般涌出——几乎每个发布开源模型的公司或团队都会推出一个"instruct"版本，通常基于 DPO 训练。

\subsection{本章小结}

从 2023年4月的第一批指令微调模型到 2023年底 DPO 的大规模应用，开源对齐经历了快速而曲折的发展。关键里程碑包括：ShareGPT 数据的出现、第一个 RLHF 模型、UltraFeedback 数据集的创建，以及 Zephyr 和 T\"ulu 2 对 DPO 的验证。整个过程中，\textbf{数据}始终是最稀缺也最关键的资源。

%% ========== Part 4: RewardBench ==========

\section{RewardBench：奖励模型的评估}

\subsection{为什么需要评估奖励模型？}

Lambert 反复强调一个观点：\textbf{工业界声称奖励模型是 RLHF 成功的关键，但我们却缺乏系统评估奖励模型的工具。}

\begin{figure}[H]
\centering
\includegraphics[width=0.95\textwidth]{slides-images/slide-035.jpg}
\caption{Life after DPO 的两大方向：更好的对齐评估 + 如何改进 DPO 模型\protect\footnotemark}
\end{figure}
\footnotetext{Slides 第36页。}

在标准的 RLHF 反馈循环中：策略模型生成回复 $\rightarrow$ 奖励模型评分 $\rightarrow$ 策略更新。但现有的评估工具（如 AlpacaEval、MT-Bench、Chatbot Arena）都是评估最终策略的——\textbf{没有工具直接评估奖励模型本身}。

\begin{figure}[H]
\centering
\includegraphics[width=0.95\textwidth]{slides-images/slide-037.jpg}
\caption{RLHF 反馈循环：评估工具缺失对奖励模型内部环节的洞察\protect\footnotemark}
\end{figure}
\footnotetext{Slides 第38页。}

\begin{importantbox}{为什么评估奖励模型如此重要？}
训练模型时，你不可能等 Chatbot Arena 一个月后返回结果来判断训练是否有效。你需要\textbf{本地评估工具}——能在训练过程中快速给出信号，告诉你技术改进是否真正有效。评估奖励模型是理解和改进整个 RLHF 流程的关键环节。
\end{importantbox}

\subsection{奖励模型的训练方式}

奖励模型的训练有几个独特的特点：

\begin{figure}[H]
\centering
\includegraphics[width=0.95\textwidth]{slides-images/slide-040.jpg}
\caption{奖励模型的训练损失函数\protect\footnotemark}
\end{figure}
\footnotetext{Slides 第41页。}

训练奖励模型需要\textbf{成对偏好数据}：一个 prompt 配两个 completion（chosen 和 rejected）。模型同时处理两个输入，输出两个标量值，通过损失函数拉大它们之间的距离：

$$L_{\mathrm{PM}} = \log(1 + e^{r_{\mathrm{rejected}} - r_{\mathrm{chosen}}})$$

\begin{knowledgebox}{奖励模型训练的特殊性}
\begin{itemize}
    \item 通常\textbf{只训练 1 个 epoch}——多训会过拟合
    \item 评估时与标注者的\textbf{一致性只有 65--75\%}
    \item 可以添加 margin loss、使用模型集成等技巧，但效果提升有限
    \item 低一致性可能不完全是 bug——人的偏好本身就存在分歧，模型不应该过于"狭隘"
\end{itemize}
\end{knowledgebox}

\subsection{RewardBench 的设计与结果}

RewardBench 的设计很直接：收集一组 prompt，每个 prompt 手动创建 chosen 和 rejected 回复，然后测试奖励模型是否能正确识别。

\begin{figure}[H]
\centering
\includegraphics[width=0.95\textwidth]{slides-images/slide-045.jpg}
\caption{RewardBench 发布时（2024年3月）的排行榜\protect\footnotemark}
\end{figure}
\footnotetext{Slides 第46页。}

排行榜中包含多种类型的模型：
\begin{itemize}
    \item \textbf{序列分类器}（Sequence Classifier）：传统的奖励模型训练方式
    \item \textbf{DPO 模型}：可以利用隐含的奖励函数进行评估
    \item \textbf{生成模型}（Generative Model / LLM-as-a-judge）：直接用语言模型判断哪个回答更好
\end{itemize}

\begin{figure}[H]
\centering
\includegraphics[width=0.95\textwidth]{slides-images/slide-050.jpg}
\caption{RewardBench 更新版（2024年5月）：两个月内，原来排名第5的模型跌至第31位\protect\footnotemark}
\end{figure}
\footnotetext{Slides 第51页。}

一个关键发现是：\textbf{GPT-4 和 GPT-4o 在作为 LLM-as-a-judge 时，表现并不如 Cohere 专门训练的奖励模型}。这说明通用能力强的模型不一定是好的奖励模型——专门训练的小模型在这个任务上可能更有效。

\subsection{Chat Hard 子集：真正的难题}

\begin{figure}[H]
\centering
\includegraphics[width=0.95\textwidth]{slides-images/slide-052.jpg}
\caption{Chat Hard 数据示例：要求模型区分关于"星星"的隐喻和关于"月亮"的隐喻\protect\footnotemark}
\end{figure}
\footnotetext{Slides 第53页。}

RewardBench 中最有价值的子集是 \textbf{Chat Hard}——专门设计的"陷阱题"。例如：给定提示"用星星写一个比喻"，chosen 回复是关于星星的比喻，rejected 回复则是关于月亮的比喻。由于星星和月亮在语义空间中高度关联，这对语言模型来说是一个非常困难的判断任务。这个子集是 RewardBench 中唯一尚未被"饱和"的部分。

\subsection{安全性评估的洞察}

\begin{figure}[H]
\centering
\includegraphics[width=0.95\textwidth]{slides-images/slide-054.jpg}
\caption{安全性子集的结果：模型可以分为"全部拒绝"和"全部回答"两个极端\protect\footnotemark}
\end{figure}
\footnotetext{Slides 第55页。}

安全性评估中观察到的模式完全符合预期：有些模型（过度安全型）会拒绝所有请求，有些模型（"uncensored"型）会回答所有请求。理想的模型应该能够\textbf{区分}真正应该拒绝的请求和只是看起来敏感但实际上应该回答的请求。

\subsection{DPO 隐含奖励模型的局限}

\begin{figure}[H]
\centering
\includegraphics[width=0.95\textwidth]{slides-images/slide-055.jpg}
\caption{DPO 论文中的奖励定义（公式3和公式4）：需要参考模型才能正确计算\protect\footnotemark}
\end{figure}
\footnotetext{Slides 第56页。}

DPO 论文中定义的隐含奖励为：

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

使用 DPO 模型作为奖励模型时，需要同时拥有训练后的策略和参考模型（训练前的检查点）。但实际上，\textbf{大多数人发布 DPO 模型时不会发布参考模型}。

\begin{warningbox}{没有参考模型的 DPO 无法作为好的奖励模型}
如果去掉参考模型（即划掉公式中的 $\pi_{\mathrm{ref}}$ 项），DPO 模型在 RewardBench 上的表现会\textbf{大幅下降}。这是因为参考模型在数学推导中起到关键的正则化作用。这意味着：要把 DPO 模型当作奖励模型使用，你必须同时拥有参考模型——但这在实践中很难要求所有模型发布者都做到。
\end{warningbox}

\subsection{本章小结}

RewardBench 填补了对齐研究中奖励模型评估的空白。核心发现包括：（1）专门训练的奖励模型优于通用 LLM-as-a-judge；（2）Chat Hard 子集是衡量奖励模型能力的关键指标；（3）DPO 模型作为奖励模型有数学上的局限性——需要参考模型才能正常工作；（4）奖励模型的评估领域仍在快速发展，两个月内排行榜就会发生巨大变化。

%% ========== Part 5: DPO vs PPO ==========

\section{DPO vs PPO：实证探索}

\subsection{实验设计}

Lambert 的团队在 AI2 进行了一系列系统实验，试图回答：\textbf{PPO 是否真的比 DPO 更好？如果是，好在哪里？}

实验基于 Llama 2 13B 模型，逐步叠加不同的训练方案：

\begin{figure}[H]
\centering
\includegraphics[width=0.95\textwidth]{slides-images/slide-062.jpg}
\caption{起点：Llama 2 Base（蓝色）经指令微调后（红色）的性能提升\protect\footnotemark}
\end{figure}
\footnotetext{Slides 第63页。}

\begin{importantbox}{指令微调的提升幅度远大于偏好优化}
在所有实验中，从 base 模型到 SFT 模型的\textbf{指令微调}阶段带来的提升最大——它将模型"放到了地图上"。之后的 DPO/PPO 阶段带来的提升通常在 0--2\% 之间。这提醒我们：对齐优化的收益是边际的，但正是这些边际改进决定了模型在竞争中的位置。
\end{importantbox}

\subsection{数据集的影响}

\begin{figure}[H]
\centering
\includegraphics[width=0.95\textwidth]{slides-images/slide-065.jpg}
\caption{不同数据集的 DPO 训练效果对比\protect\footnotemark}
\end{figure}
\footnotetext{Slides 第66页。}

实验中测试了多个偏好数据集：

\begin{itemize}
    \item \textbf{Anthropic HH-RLHF}：虽然噪声较大，但仍能提供小幅提升
    \item \textbf{UltraFeedback}：提供了更大的性能提升
    \item 其他多个开源数据集：效果参差不齐
\end{itemize}

一个令人意外的发现是：\textbf{在事实性（factuality）维度上，几乎所有偏好数据集都不起作用}。这说明当前的偏好优化方法在提升模型知识准确性方面存在根本限制。

\begin{figure}[H]
\centering
\includegraphics[width=0.95\textwidth]{slides-images/slide-072.jpg}
\caption{多个偏好数据集的训练效果对比：UltraFeedback 始终是最优选择\protect\footnotemark}
\end{figure}
\footnotetext{Slides 第73页。}

\subsection{PPO 的实验结果}

当团队实现并测试 PPO 后：

\begin{figure}[H]
\centering
\includegraphics[width=0.95\textwidth]{slides-images/slide-067.jpg}
\caption{从 DPO 切换到 PPO：在多个数据集上 PPO 略优于 DPO（约 1\%）\protect\footnotemark}
\end{figure}
\footnotetext{Slides 第68页。}

\begin{itemize}
    \item PPO 在大多数情况下\textbf{略优于 DPO}，大约 1\% 的提升
    \item 使用更大的奖励模型（70B）并没有带来预期的显著提升
    \item 添加更多类型的提示（代码、推理）对特定评估有帮助，但不改变整体平均分
\end{itemize}

\begin{figure}[H]
\centering
\includegraphics[width=0.95\textwidth]{slides-images/slide-070.jpg}
\caption{PPO 的实验总结\protect\footnotemark}
\end{figure}
\footnotetext{Slides 第71页。}

\begin{importantbox}{PPO 的关键发现}
\begin{enumerate}
    \item \textbf{"总有下一个要消融的东西"}：PPO 的超参数空间极大（正则化、value function、warmup、batch size 等），每次调好一个还有下一个
    \item \textbf{"PPO 能得到最好的模型，但我们不知道为什么"}：PPO 可靠地给出了稍好的结果，但缺乏对其优势来源的清晰理解
    \item \textbf{生成是最大瓶颈}：PPO 需要在训练过程中不断从策略模型生成新回复，这比 DPO 慢得多
\end{enumerate}
\end{importantbox}

\begin{warningbox}{PPO 的投入产出比令人质疑}
Lambert 坦言：PPO 虽然可靠地产出了稍好的模型，但投入的工程和计算资源远超 DPO。对于一个只有几名研究生的学术团队来说，"不知道这是否值得"。他理解为什么 OpenAI 使用 PPO——因为在他们的规模上，1\% 的改进意义重大——但对于大多数研究者来说，DPO 的投入产出比更好。
\end{warningbox}

\subsection{本章小结}

通过系统的实证比较，Lambert 的团队得出了几个重要结论：（1）数据质量比算法选择更重要——UltraFeedback 在 DPO 和 PPO 上都显著优于其他数据集；（2）PPO 略优于 DPO，但代价是巨大的工程复杂性；（3）更大的奖励模型不一定带来更好的最终策略；（4）对齐优化的边际收益递减——从 base 到 SFT 的提升远大于从 SFT 到 DPO/PPO 的提升。

%% ========== Part 6: Online 方法 ==========

\section{在线方法：DPO 之后的前沿}

\subsection{什么是"在线"数据？}

\begin{figure}[H]
\centering
\includegraphics[width=0.95\textwidth]{slides-images/slide-075.jpg}
\caption{"在线"数据的定义：由策略新生成 + 由奖励模型新标注\protect\footnotemark}
\end{figure}
\footnotetext{Slides 第76页。}

"在线"在对齐语境中有两层含义：

\begin{enumerate}
    \item \textbf{数据文本的新鲜度}：数据是由当前策略模型生成的（on-policy），还是来自其他模型的历史数据（off-policy）？
    \item \textbf{标签的新鲜度}：偏好标签是训练前一次性标注的，还是在训练过程中由奖励模型动态重新标注的？
\end{enumerate}

\begin{importantbox}{PPO 与 DPO 在"在线"维度上的根本差异}
PPO \textbf{天然是在线的}：它在训练过程中不断从当前策略生成新回复，然后用奖励模型评分。DPO 则使用\textbf{固定的离线数据集}——数据中的回复来自各种不同的模型（GPT-3.5、GPT-4、Alpaca、Vicuna 等），而非当前正在训练的模型。这种数据分布的差异可能是 PPO 略优于 DPO 的根本原因。
\end{importantbox}

\subsection{在线 DPO 方法的兴起}

2024年4--5月，大量论文开始研究如何将"在线"特性引入 DPO：

\begin{figure}[H]
\centering
\includegraphics[width=0.95\textwidth]{slides-images/slide-078.jpg}
\caption{关于 online vs offline DPO 的多篇并发研究\protect\footnotemark}
\end{figure}
\footnotetext{Slides 第79页。}

主要方法包括：

\begin{itemize}
    \item \textbf{Self-Rewarding Language Models}（Meta）：让 DPO 模型自己作为 judge 来重新标注偏好数据，然后进行多轮迭代 DPO 训练
    \item \textbf{分批 DPO}：不一次性用完所有数据，而是分批训练，每批之间更新数据标签
    \item \textbf{Discriminator-Guided DPO（D2PO）}：Lambert 参与指导的项目，在 DPO 过程中动态重训奖励模型并重新标注数据
\end{itemize}

\begin{figure}[H]
\centering
\includegraphics[width=0.95\textwidth]{slides-images/slide-079.jpg}
\caption{在线 DPO 的多种实现方式\protect\footnotemark}
\end{figure}
\footnotetext{Slides 第80页。}

\subsection{D2PO：判别器引导的 DPO}

D2PO 比较了三种方案：

\begin{enumerate}
    \item[\textbf{(A)}] \textbf{标准 DPO}：固定数据集，一次性训练
    \item[\textbf{(B)}] \textbf{在线偏好优化}：使用奖励模型反复重新标注偏好数据
    \item[\textbf{(C)}] \textbf{D2PO}：不仅重新标注数据，还在训练过程中重训奖励模型
\end{enumerate}

实验使用了一个可度量的闭式任务（计算句子中名词数量作为奖励），结果表明 D2PO 比单纯重新标注偏好数据收敛更好。这说明\textbf{保持奖励模型与策略模型同步更新}是有价值的。

\subsection{工业界的迭代 RLHF}

\begin{figure}[H]
\centering
\includegraphics[width=0.95\textwidth]{slides-images/slide-080.jpg}
\caption{工业界的迭代 RLHF：Anthropic 的 Claude 和 Meta 的 Llama 2 的多轮训练过程\protect\footnotemark}
\end{figure}
\footnotetext{Slides 第81页。}

工业界的做法更加直接：

\begin{itemize}
    \item \textbf{Anthropic（Claude）}：多轮 Constitutional RL，每轮使用新的人类数据
    \item \textbf{Meta（Llama 2）}：明确说明与标注公司合作，分批收集数据，每批使用上一轮模型的检查点进行生成
\end{itemize}

\begin{knowledgebox}{工业界与学术界的"在线"差异}
工业界的"在线"意味着\textbf{不断收集新的人类数据}——每个数据点都是花钱买来的。学术界的"在线"更多是用奖励模型\textbf{重新标注已有数据}或\textbf{从策略模型生成新数据}。两者的规模和质量有本质差异：Meta 在 Llama 2 中购买了约 150 万条比较数据，远超 Chatbot Arena 收集的 80 万条。
\end{knowledgebox}

\subsection{Llama 3 的后训练策略}

Llama 3 的博客文章透露了一句意味深长的话：\textit{"Our approach to post-training is a combination of supervised fine-tuning, rejection sampling, proximal policy optimization, and direct preference optimization."}

Lambert 的解读是：Meta 在不同训练阶段使用了不同的方法——在每个检查点尝试多种方法，选择效果最好的。这是一种非常实用主义的策略：

\begin{itemize}
    \item \textbf{Rejection Sampling}（最简单）：用奖励模型对 SFT 输出排序，取最好的继续训练
    \item \textbf{DPO}（较简单）：适合快速迭代
    \item \textbf{PPO}（最复杂但最强）：在最终阶段精细调优
\end{itemize}

\begin{figure}[H]
\centering
\includegraphics[width=0.95\textwidth]{slides-images/slide-082.jpg}
\caption{Meta Llama 3 的后训练策略：结合 SFT、Rejection Sampling、PPO 和 DPO\protect\footnotemark}
\end{figure}
\footnotetext{Slides 第83页。}

\subsection{本章小结}

"在线"方法代表了对齐研究最活跃的前沿方向。核心洞察是：使用当前策略生成的数据（on-policy data）和及时更新的偏好标签，比使用固定的离线数据集能够带来更好的训练效果。在工业界，这意味着持续投入人类标注资源；在学术界，这意味着开发创新的自标注和迭代训练方法。

%% ========== Part 7: 未来方向 ==========

\section{未来方向与开放问题}

\subsection{数据是核心瓶颈}

\begin{figure}[H]
\centering
\includegraphics[width=0.95\textwidth]{slides-images/slide-083.jpg}
\caption{当前研究方向总结\protect\footnotemark}
\end{figure}
\footnotetext{Slides 第84页。}

Lambert 认为对齐研究最大的瓶颈不是算法，而是\textbf{数据}：

\begin{itemize}
    \item 学术界几乎\textbf{试遍了所有公开数据集}——但选择仍然非常有限
    \item UltraFeedback 已经使用了半年多，按照行业标准已经"过时"
    \item 新数据集的创建需要大量人力和资源，但社区缺乏可持续的数据收集机制
\end{itemize}

\subsection{五大研究方向}

Lambert 列出了他最关注的五个方向：

\begin{enumerate}
    \item \textbf{数据创新}：需要新的偏好数据集，特别是能够提升特定能力（如事实性、推理）的数据

    \item \textbf{DPO 方法的变体}：包括去除参考模型、修改损失函数、使用单侧偏好（如 KTO 方法）等

    \item \textbf{小模型对齐}：在 7B 甚至更小的模型上进行对齐研究——这是学术界可以发力的方向，因为大公司都在竞争更大的模型

    \item \textbf{更好的评估工具}：需要更具体、更有针对性的评估基准，而非通用排行榜

    \item \textbf{个性化对齐}：训练适合个人需求的模型，而非一个通用模型服务所有人
\end{enumerate}

\begin{importantbox}{超越二元偏好的可能性}
Q\&A 环节中讨论了是否存在比成对偏好更好的反馈形式。Lambert 列举了几个方向：
\begin{itemize}
    \item \textbf{KTO}（Stanford）：使用单侧偏好（yes/no）而非成对比较
    \item \textbf{K-wise 偏好}（Starling 模型）：同时比较 5--9 个回复并排序
    \item \textbf{细粒度偏好}：为每个回复标注多个维度（简洁性、有用性、诚实性等）
    \item \textbf{社会选择理论}：整个社会选择（social choice）领域的知识还未被充分引入
\end{itemize}
\end{importantbox}

\subsection{Reward Hacking 是永恒的挑战}

在 Q\&A 环节中，关于 reward hacking 的讨论引发了深入思考：

\begin{warningbox}{Reward Hacking 不可完全避免}
当你有一个强大的优化器（如 PPO）和一个不完美的奖励表示时，优化器\textbf{总会}找到奖励表示的漏洞。Lambert 举了一个有趣的例子：如果训练不加约束，模型可能会对所有问题都回答"JavaScript"——因为这恰好能在某些评估指标上获得高分。KL 散度约束就是用来缓解这个问题的"刹车"，但不可能完全消除 reward hacking。
\end{warningbox}

\subsection{超越人类水平的对齐}

另一个重要问题是：如果对齐依赖于人类反馈，如何让模型超越人类水平？Lambert 认为\textbf{搜索（search）}将是关键：

\begin{itemize}
    \item 搜索本质上是 RL 中的\textbf{探索（exploration）}
    \item 语言模型可以通过搜索生成新的合成数据
    \item 人类的作用将从"提供所有答案"转变为"验证和纠正搜索结果"
    \item 这可能是 OpenAI 的 Q* 项目试图解决的问题
\end{itemize}

\subsection{本章小结}

对齐研究正处于快速发展但充满不确定性的阶段。数据是最大的瓶颈，算法创新空间仍然广阔，评估工具亟需完善。未来的方向可能包括：在线方法的成熟、超越二元偏好的反馈机制、小模型对齐、个性化对齐，以及利用搜索突破人类水平的限制。

%% ========== 总结与延伸 ==========

\section{总结与延伸}

\subsection{讲者的核心总结}

\begin{figure}[H]
\centering
\includegraphics[width=0.95\textwidth]{slides-images/slide-085.jpg}
\caption{讲座结尾：Nathan Lambert 的联系方式与致谢\protect\footnotemark}
\end{figure}
\footnotetext{Slides 第86页。}

Nathan Lambert 在讲座中传递了几个核心信息：

\begin{enumerate}
    \item \textbf{DPO 是正确的起点}：对于任何想进入对齐研究的人，DPO 简单、有效、易于调试
    \item \textbf{数据比算法更重要}：UltraFeedback 数据集的影响力远超任何单一算法改进
    \item \textbf{PPO 略优但代价高昂}：如果你有资源，PPO 能给你额外 1\% 的提升
    \item \textbf{在线方法是未来}：无论是 PPO 的天然在线性，还是 DPO 的在线变体，数据新鲜度都至关重要
    \item \textbf{评估是基础设施}：没有好的评估工具，我们就在黑暗中摸索
\end{enumerate}

\subsection{全课知识图谱}

\begin{center}
\begin{tikzpicture}[node distance=0.9cm, every node/.style={draw, rounded corners, minimum width=3.5cm, minimum height=0.7cm, font=\small}]
\node (pretrain) {预训练语言模型};
\node (sft) [below=of pretrain] {指令微调（SFT/IFT）};
\node (pref) [below=of sft] {偏好优化（DPO/PPO）};
\node (eval) [below left=1cm and -0.5cm of pref] {评估（RewardBench）};
\node (online) [below right=1cm and -0.5cm of pref] {在线方法};
\node (future) [below=2.5cm of pref] {下一代对齐};
\draw[->, thick] (pretrain) -- (sft);
\draw[->, thick] (sft) -- (pref);
\draw[->, thick] (pref) -- (eval);
\draw[->, thick] (pref) -- (online);
\draw[->, thick] (eval) -- (future);
\draw[->, thick] (online) -- (future);
\node[draw=none, right=1.5cm of pretrain, text width=4.5cm, font=\scriptsize] {Transformer, GPT, Scaling Laws};
\node[draw=none, right=1.5cm of sft, text width=4.5cm, font=\scriptsize] {Alpaca, Vicuna, ShareGPT, UltraFeedback};
\node[draw=none, right=1.5cm of pref, text width=4.5cm, font=\scriptsize] {Zephyr, T\"ulu 2, Llama 3};
\end{tikzpicture}
\end{center}

\subsection{关键 Takeaways}

\begin{importantbox}{六条核心原则}
\begin{enumerate}
    \item \textbf{RLHF 是必要但不充分的}：预训练提供基础，后训练使模型"可用"
    \item \textbf{从 DPO 开始}：简单、有效、可扩展，是任何对齐项目的正确起点
    \item \textbf{数据决定上限}：算法只能在数据质量允许的范围内优化
    \item \textbf{评估驱动研发}：没有好的评估工具，就无法判断改进是否有效
    \item \textbf{在线 > 离线}：新鲜的、来自当前策略的数据比历史数据更有价值
    \item \textbf{对齐是多阶段过程}：工业界在不同阶段组合使用 SFT、Rejection Sampling、DPO 和 PPO
\end{enumerate}
\end{importantbox}

\subsection{拓展阅读}

\begin{itemize}
    \item Rafailov et al., \textit{Direct Preference Optimization: Your Language Model is Secretly a Reward Model}, 2023: \url{https://arxiv.org/abs/2305.18290}
    \item Lambert et al., \textit{RewardBench: Evaluating Reward Models for Language Modeling}, 2024: \url{https://arxiv.org/abs/2403.13787}
    \item Ivison et al., \textit{Unpacking DPO and PPO: Disentangling Best Practices for Learning from Preference Feedback}, 2024
    \item Tunstall et al., \textit{Zephyr: Direct Distillation of LM Alignment}, 2023: \url{https://arxiv.org/abs/2310.16944}
    \item Ivison et al., \textit{Camels in a Changing Climate: Enhancing LM Adaptation with T\"ulu 2}, 2023: \url{https://arxiv.org/abs/2311.10702}
    \item Yuan et al., \textit{Self-Rewarding Language Models}, Meta, 2024: \url{https://arxiv.org/abs/2401.10020}
    \item Nathan Lambert's Blog: \url{https://www.interconnects.ai}
    \item Chatbot Arena: \url{https://chat.lmsys.org/}
\end{itemize}

\end{document}
