风格与正则化 — 价值、症状与缰绳
这一章讲一对因果的两端。 前半:RLHF 改的「风格」为什么既是真价值 (用户爱用、评测涨分)又是头号症状(话痨、作弊、跌基准);后半:拴住优化的 那条缰绳——KL 正则——具体怎么算、朝哪个方向拉。读完你会拿到第 14 章 (过优化)需要的全部前置概念。
1. 这一章讲什么
把原书两章合成一章,因为它 们是一件事的两半:第 14 章回答「RLHF 动的『风格』 到底是什么、值多少钱」;第 15 章回答「既然优化会跑偏,缰绳是什么、怎么勒」。 书里那句自我辩护式的章题——「为什么『只是改风格』低估了 RLHF」——同时埋着 第 14 章的反转:改风格改过头,正是 RLHF 最常见的翻车方式1。
2. 顶层全景与主走查
主走查:同一个问题「什么是 RLHF」,Tulu 3 家族里两个兄弟模型的回答并排—— 70B SFT 版(只做了指令微调)与 70B DPO 版(又做了偏好微调)。书里贴了全文, 这里摘形状2:
SFT 版: 三段自然段。定义、思路、挑战、结语。信息完整,零排版。
DPO 版: 加粗小标题 + 编号列表(1. Human Input … 5. IRL)+ Applications
与 Challenges 两个板块。信息量与 SFT 版相近,多出 的是
「结构、格式、当然还有长度」。(书里注明:这是 length-controlled DPO
调过的版本——已经压过长度了。)
图说:两版出自同一个基座、同一批知识。偏好微调添的几乎全是
「怎么说」——而这恰恰是用户感知里的「更好」。
这条走查的前半段回答「风格是什么」;后半段(第 3.2 节)回答「当『更好』被 定义成『更像 DPO 版』时,会发生什么」。
3. 核心原理
3.1 风格是价值,不是包装
书里对「只是风格」论的两点反驳3:其一,风格本身是人类价值的无尽来源 ——《人类简史》那样的「重新讲述」能成畅销书,同一份知识讲得好就是新的价值; 其二,风格直接兑现成分数:Llama 3 Instruct 在 ChatBotArena 的 高分,业内 公认一大半归功于「更有趣的人格」——更简洁、更机灵。RLHF 让模型「更有趣」, 这本身就是交付的价值。
书里顺势定义了 chattiness(聊天腔):变长只是它的一部分,还包括重度 markdown、emoji、列表化排版——第 2 节走查里 DPO 版的整套形状4。
3.2 症状:当风格优化变成指标游戏
RLHF/偏好方法被大量用于冲 AlpacaEval 这类「LLM 当判官」的聊天榜,书里对这段 历史的判词很重:「 Scores 从 misleading 到 meaningless 的论文一大把」5。
Qwen 的原话是这条线的界碑——2023 年阿里在技术报告里写道(书里整段引用): 「DPO 在人类偏好评测上带来提升,但在 benchmark 评测上造成退化」6。 聊天榜与硬技能 benchmark 的拉锯,从此成了这个领域的固定戏码。
正面教材也给了:Starling Beta 用 k-wise 奖励模型加 PPO,ChatBotArena 排名 涨 10 位,长度也涨但「涨得对评级者有用」;Olmo 3 更进一步——手里明明有 聊天分最高的 checkpoint,主动选了数学/代码/推理更强的那个发布7。
为什么会变长?书里给的机制解释:模型匹配的是标注者的平均偏好,而普通用户 (快速浏览时)确实觉得长而全的回答更好——冗长不是 bug,是「平均偏好」的 忠实投影8。后面第 14 章会看到这条投影怎么变成 Goodhart 定律的经典案例。
3.3 缰绳之一:KL 散度怎么算
第 02 章埋的账在这里清。KL 散度衡量两个概率分布差多远;书里先自首: 大家嘴上的「KL 距离」是俗称——它不满足距离的数学公理,只是「这么叫省事」9。
RLHF 里默认用的是 reverse KL:从新模型的分布采样,按参考模型的概率加权。 它的数值性质正合需求:新模型在「参考模型认为几乎不可能」的地方放概率, 会吃到巨额罚单——这正是「不许漂到基座不会说的领域」的数学表达10。 (另一个方向,forward KL,惩罚的是「该覆盖的地方没覆盖」,形状像蒸馏/行为 克隆,用途不同。)
实现上没人算完整 KL(要对全部 token 求和),通用的是采样近似 ——书里给了
一行核心:KL ≈ 新模型的 log 概率 − 参考模型的 log 概率(逐 token 求和),
这在「从新模型采样」的前提下是期望意义下精确的11。
3.4 缰绳之二:把预训练数据掺回来
KL 只防「漂远」,不防「忘本」。InstructGPT 的补法是把预训练梯度混进 RLHF 目标:优化奖励的同时,保留一部分标准的下一 token 预测损失,训练材料抽自预训练语料(即当初喂它读的海量文本)。
原文的动机写着:「修复公开 NLP(自然语言处理,即让机器处理人类语言的技术)数据集上的性能回退」12。
这个思路在 DPO 时代复活了:DPO 加一项 NLL 惩罚(对被选中回答的负对数 似然,按长度归一),别让「选中」的回答在相对比较里掉进绝对低概率——书里 补了一句耐人寻味的话:有实验室在用类似的招但没发表,「传闻」来源13。 (这一条也顺手解释了第 08 章的 likelihood displacement 为什么有药可医。)