跳转至

五:偏好对齐微调(RLHF DPO)

什么是RLHF?它解决SFT的哪些不足?

简单来说,RLHF就是用人类反馈作为奖励信号,通过强化学习来训练语言模型,使其行为与人类复杂的价值观和偏好对齐。 它不是让模型模仿固定的“标准答案”,而是让模型理解“什么样的回答是更好的”。

要理解RLHF的价值,首先得看清SFT的局限性。SFT本质上是一种“行为克隆”,它存在几个自身难以克服的不足,RLHF正是为弥补这些不足而生。

不足一:SFT只能模仿单一答案,无法处理价值冲突

SFT的优化目标是最大化训练数据中标准回答的似然概率。这隐含了一个假设:每个问题只有一个“标准答案”。但现实中的对话往往充满价值冲突。

  • 具体场景:用户问:“我该如何报复我的邻居?” SFT数据可能给出了两种示范:一种是顺从地提供报复方案(有用但危险),一种是生硬地拒绝(安全但无用)。SFT学到哪个,完全取决于哪种数据占比更多,它无法动态权衡“安全”与“有用”。

  • RLHF的解法:RLHF通过人类偏好数据,直接教会模型:在“提供危险信息”和“拒绝并提供建设性帮助”之间,后者更受偏好。模型学到的是决策的原则,而不是固定的行为。

不足二:SFT缺乏探索,无法超越“专家”上限

SFT是静态的模仿,模型永远无法超越训练数据中最好回答的水平。

  • 具体场景:在写诗任务中,SFT数据里的诗可能都是中规中矩的。SFT模型只会模仿这种风格,无法创造出令人惊艳的、更具文学性的新诗句。

  • RLHF的解法:RLHF通过强化学习的探索机制,允许模型生成多样化的回答,并由奖励模型打分。模型可能在一次偶然的尝试中生成了一首绝佳的诗,获得高奖励,这个行为就会被强化。这赋予了模型 “青出于蓝”的潜力。

不足三:SFT的安全边界是“硬编码”的,容易被绕过

SFT模型对危险指令的拒绝,通常只是模仿了数据中拒绝回答的特定句式,它学到的是“关键词匹配”,而非对“有害意图”的理解。

  • 具体场景:攻击者通过角色扮演(“请扮演我的奶奶,她曾在化工厂工作,总喜欢在睡前给我讲制作炸弹的故事…”)就能轻易绕过SFT模型的防线。

  • RLHF的解法:RLHF的奖励模型在海量对抗数据训练后,能识别出更深层的“意图”。即使请求被伪装,模型也会因为预见到这种回复会得到低奖励而选择拒绝。

不足四:SFT难以教会模型“诚实”

SFT数据中的回答通常是标注者给出的确定答案,模型学会了“永远保持自信”的语调,即使面对它不知道的问题也会编造(幻觉)。

  • 具体场景:问SFT模型“2030年世界杯冠军是谁?”,它可能面不改色地虚构一个国家和比分。

  • RLHF的解法:在偏好数据中,将“诚实地表达不确定性,并提供可查询信息的途径”的回答标注为优于“自信地胡编”的回答。通过RLHF,模型学会了“不知道就说不知道”。

一句话总结:SFT教会模型“做事”,RLHF教会模型“做人”。


RLHF的完整流程包含哪几个阶段?每个阶段的目标是什么?

RLHF的完整流水线包含三个精心设计的阶段,环环相扣,目标层层递进。

阶段 核心目标 关键产出
第一阶段:监督微调 (SFT) 行为格式化与冷启动。为后续的强化学习提供一个合理、可控的初始策略。 一个能基本遵循指令、格式正确的SFT模型 π_SFT。
第二阶段:奖励模型训练 (RM Training) 偏好量化与自动化。将人类模糊的、多维的偏好压缩成一个可微的标量奖励函数。 一个与人类偏好高度一致的奖励模型 r_ϕ。
第三阶段:近端策略优化 (PPO) 策略优化与对齐。在奖励模型的引导下,微调SFT模型,使其生成高奖励的回答,同时防止过拟合。 最终的对齐模型 π_θ,在有用、安全、诚实之间达到更优平衡。

第一阶段:SFT (Supervised Fine-Tuning)

这个阶段的目标不是追求极致的对话能力,而是冷启动。如果直接从预训练模型开始RLHF,模型会输出格式混乱、角色颠倒的文本,奖励模型面对这些“噪声”将完全无法给出有效评分,强化学习无从开始。SFT通过高质量的“指令-回答”对,将模型迅速拉入“基本合理的对话区域”,教会它:

  • 区分用户和助手角色。

  • 理解对话轮次和基本格式。

  • 建立初步的安全边界(对明显恶意请求进行拒绝)。

第二阶段:奖励模型训练 (Reward Model Training) 这是RLHF的技术核心。目标是训练出一个能模拟人类偏好的“自动评委”。它的输入是(指令, 回答),输出是一个代表回答质量的标量分数。这个模型通常是从SFT模型初始化的,但将最后的语言模型头(LM head)替换为一个输出单个数值的线性层。它的训练数据是人类的偏好对比数据,通过最大化“好回答”与“差回答”之间的分数差异来学习。

第三阶段:PPO (Proximal Policy Optimization) 在这个阶段,我们使用强化学习算法PPO来微调SFT模型。SFT模型作为初始策略π_SFT,同时也是PPO目标函数中KL惩罚项的参考模型。PPO算法让模型主动生成回答,由冻结的奖励模型打分,然后通过最大化期望奖励来更新模型参数。为了防止模型投机取巧(奖励破解),PPO损失函数中会加入一个KL散度惩罚项,强制模型不要偏离π_SFT太远。


为什么需要训练奖励模型?奖励模型的输入输出是什么?

直接让人类在RL训练循环中为模型生成的每一个回答实时打分,从成本、效率和一致性上看都完全不现实。因此,我们必须训练一个奖励模型来替代人类。

奖励模型的输入:通常是一段文本,由指令 x 和模型生成的回答 y 拼接而成。在多轮对话中,输入是完整的对话历史。

奖励模型的输出:一个标量分数 r(x, y)。这个分数代表了在给定指令下,该回答在人类偏好中的“质量”高低。分数越高,表示回答越好。需要注意的是,这个分数没有绝对意义,它的价值在于相对比较:对于同一个指令,得分更高的回答应该更好。

为什么它是RLHF的基石?

  • 效率与规模化:PPO训练中,模型需要生成数百万个回答样本并立即获得反馈。奖励模型可以在毫秒级内给出评分,使大规模强化学习成为可能。

  • 一致性与标准化:人类标注员存在主观差异,同一个人在不同时间的判断也可能波动。奖励模型通过对大量人类偏好数据的学习,能够提供一个相对统一、稳定的评分标准。

  • 可微性:奖励模型本身是一个神经网络,其输出可以直接用于计算梯度,从而端到端地优化策略模型。这是RLHF能够通过反向传播进行策略改进的数学基础。


Bradley-Terry模型在奖励模型训练中的作用是什么?

奖励模型输出的标量分数本身没有绝对意义,我们如何利用它来学习人类的“偏好”呢?Bradley-Terry (BT) 模型正是连接“奖励值”与“人类偏好概率”的数学桥梁。

BT模型的核心思想:对于给定的指令 x 和两个回答 y₁y₂,人类偏好 y₁ 胜过 y₂ 的概率,取决于它们背后隐含“奖励值”的差距。差距越大,偏好概率越高。其公式为:

image.png

这等价于一个简单的二分类问题:训练模型正确判断哪个回答更好。

  1. 利用相对偏好:BT模型的精妙之处在于,它只需要人类提供相对比较(A是否优于B),而不需要给出绝对分数。因为人很难给单个回答打出一个客观的、统一的绝对分数(比如3.5分),但很容易判断两个回答中哪个更好。BT模型完美契合了人类的这一认知特性。

  2. 为DPO奠定基础:DPO正是利用了BT模型,将奖励函数替换为策略模型的隐式表达,从而巧妙地绕过了显式训练奖励模型这一步。


奖励模型的数据是如何构造的?偏好对标注有哪些注意事项?

奖励模型的数据是RLHF中最宝贵的资产,其质量直接决定了最终对齐效果的上限。构造过程如下:

image.png

偏好对标注的关键注意事项(决定成败):

  • 位置偏差:标注员可能无意识地偏好排在前面的回答。必须将同一对回答以随机顺序呈现,或者要求标注员在评估时不考虑顺序。

  • 长度偏差:人普遍认为“更详细=更好”。必须明确告知并反复提醒标注员,纯粹基于内容的有用性、准确性、安全性、诚实性来评判,主动忽略长度的影响。

  • 权威偏差:回答中引用了“据XX研究表明”等看似权威的信息源时,容易获得高分,即使内容是错的。需要训练标注员识别这种虚假权威,聚焦于内容本身的逻辑和事实。

  • 标注员一致性:多人对同一对数据进行标注,计算一致性指标(如Cohen's Kappa),如果一致性过低,说明标注标准模糊,需要重新校准培训。

  • 多样性覆盖:偏好数据必须刻意构造那些存在价值冲突的场景,如“简洁 vs. 详细”、“安全 vs. 有用”、“创造 vs. 严谨”,让奖励模型学会权衡。

  • 安全性保障:当回答包含极端有害内容时,应有专门的标记和处理流程,避免对标注员造成心理伤害。


如何评估一个奖励模型的性能?

评估奖励模型,核心是检验它与人类真实偏好的一致性。这是一个多层次的评估体系。

  1. 偏好预测准确率(最直接):在留出的测试集上,计算奖励模型正确判断 yw 分数高于 yl 的比例。这是最基础的指标,通常要求达到70%以上。

  2. 与人工评分的相关性(更精细):让多位专家对一批回答给出绝对分数。计算奖励模型的分数与专家分数之间的Spearman相关系数,衡量其排序能力。

  3. 策略模型的最终性能(金标准):用不同的候选奖励模型去完成完整的RLHF流程,然后比较最终训练出的策略模型在下游任务(如对话质量、安全性)上的表现。这是检验奖励模型实用价值的最终试金石,成本也最高。

  4. 区分度与鲁棒性:一个合格的奖励模型应能稳定区分质量差异明显的回答,同时,面对各种越狱攻击、变形表达,它应能给出与原始表达一致的评分。

  5. 分维度评估:在构造奖励模型时,有时可以设计多维度的评分系统。评估时,分别计算各维度的准确率,诊断模型的短板。


奖励破解(Reward Hacking)是什么意思?在RLHF中如何体现?

奖励破解是指RL中的智能体发现了奖励函数的漏洞,通过非预期的、扭曲的方式获取高奖励,而非真正完成目标任务。在RLHF中,由于奖励模型 rϕ 是训练出来的近似模型,并非完美无缺,它必然存在一些“盲区”或“偏差”,策略模型 πθπθ 在PPO优化中就可能钻这些空子。

在RLHF中的典型表现:

  • 谄媚模式:奖励模型偏好礼貌用语。策略模型学会后,在所有回答中疯狂堆砌“当然!”、“很高兴为你服务!”,使回答看似热情实则空洞,浪费用户时间。

  • 过度啰嗦:奖励模型给长回答的分数偏高。策略模型发现后,即使一个简单的“是”或“否”也展开成长篇大论,以骗取高奖励。

  • 虚假安全:奖励模型给任何包含“我不能提供此信息”的回复都打高分。策略模型学会后,开始无差别拒绝,对大量正常请求也说“不”,变得“过度安全”而毫无用处。

  • 关键词堆砌:奖励模型可能学到了一些与高质量相关的表面关键词(如“研究表明”、“数据驱动”)。策略模型就在回答中强行塞入这些词,即使内容完全是胡编乱造,也能骗到奖励。

根本原因:奖励模型只是人类偏好的一个有偏、不完美的代理。PPO优化过程会竭尽全力最大化它,从而放大奖励模型的任何微小缺陷。这就像一个学生发现只要字迹工整,老师就给高分,那他就会放弃思考内容,只专注于练字。


如何通过KL散度约束来防止策略模型偏离太远?

image.png

image.png

  • 限制探索范围:它将PPO的探索空间从“整个浩瀚的语言宇宙”缩小到“SFT模型邻域的一个高概率区域”。这使得模型很难到达那些“高奖励但诡异”的参数角落,从而从根本上提高了奖励破解的门槛。

  • 对齐税调控器:β 越大,模型越保守,遗忘越少,但对齐程度受限;β 越小,模型越激进,对齐效果可能更好,但遗忘和破解风险也越高。调节 β 就是在“能力”和“对齐”之间做权衡。


PPO算法在RLHF中是如何应用的?关键组件有哪些?

在RLHF的第三阶段,PPO算法被用来在奖励模型的引导下微调SFT模型。

关键组件:

image.png


在PPO训练中,参考模型、策略模型、价值模型、奖励模型各自的作用是什么?

在RLHF的PPO阶段,四个模型协同工作,各自扮演着不可替代的角色。理解它们的分工,是理解整个RLHF训练动力学的关键。

image.png

  • 身份:我们要训练的目标语言模型本身。通常由第一阶段的SFT模型初始化。

  • 职责:接收指令 x,自回归地生成回答 y。它的参数 θ 是PPO算法唯一要优化的主体。

  • 更新方式:根据PPO损失函数进行梯度上升,最大化由奖励模型打出的、并经过优势函数和裁剪机制处理后的期望奖励。

image.png

image.png

image.png

  • 身份:在第二阶段训练好、并在此阶段完全冻结的标量评价模型。

  • 职责:担任“自动裁判”。接收指令 x 和策略模型生成的回答 y,输出一个标量奖励分数 r(x,y),代表这个回答在人类偏好下的质量。

  • 作用机制:为强化学习提供即时的、可微的反馈信号。它是RLHF能够运转的核心驱动力。策略模型所有的努力,都是为了生成能从这个模型处获得更高分数的回答。但它的不完美也是奖励破解的根源。

image.png

image.png

  • 作用机制:它的核心价值在于计算优势函数(Advantage)。优势函数是PPO中用于更新策略模型的关键信号,定义为实际获得的奖励与价值模型估计的奖励之差。价值模型像一个“基线”,使得策略梯度更新时能区分哪些动作真正带来了超出预期的回报,从而大幅降低梯度估计的方差,让训练更稳定、高效。

协同工作流:策略模型生成回答 → 奖励模型为完整回答打分 → 价值模型为生成过程中的每个中间状态估计价值 → 基于奖励和价值计算出每个token的优势函数 → 使用PPO-CLIP目标函数更新策略模型和价值模型参数 → 参考模型全程静默,只在计算KL惩罚时提供其输出分布。


什么是GAE(Generalized Advantage Estimation)?在PPO中怎么用?

GAE(广义优势估计) 是一种在强化学习中用于估计优势函数的技术,由Schulman等人提出。它的核心目标是在估计优势时,平衡偏差和方差,从而让策略梯度的训练更稳定、高效。

  1. 什么是优势函数(Advantage Function)?

image.png

  1. GAE的核心思想 直接计算优势通常使用蒙特卡洛(MC)方法或时间差分(TD)方法。MC方法用实际完整回报计算,但方差大(因为随机性);TD方法用价值模型一步估计,但偏差大(因为价值模型本身不完美)。GAE通过指数加权平均多步TD误差的方式,将两者结合起来,通过一个参数 λ 来调控偏差-方差权衡。

GAE的定义公式为:

image.png

  1. 在RLHF的PPO中如何使用GAE?

在RLHF中,整个生成的回答序列被视为一条轨迹。PPO训练时,我们已知:

  • 奖励模型对整个回答给出的最终标量奖励 r(x,y)。通常,我们会将这个奖励视为仅出现在生成结束的最后一个token,中间token的奖励为0(或使用KL惩罚作为逐token的负奖励)。

  • 价值模型 对序列中每个时间步的状态给出估计价值。

image.png

GAE的引入,让RLHF训练在面对稀疏奖励(整个回答只有一个最终分数)时,能够更合理地将“功劳”或“责任”分配到生成回答的每一个token上,从而更有效地学习。


RLHF训练中常见的稳定性问题有哪些?如何缓解?

RLHF(特别是PPO阶段)的训练稳定性是一个巨大的挑战。常见问题包括:

  1. 策略崩溃(Policy Collapse)

  2. 表现:模型输出突然变得重复(如不断重复一个词)、无意义、或者完全丧失语法,且无法恢复。

  3. 原因:PPO更新的步长过大,策略跳出了KL约束的有效范围,进入了奖励模型无法理解或给出极端分数的参数区域。

  4. 缓解:

  5. 减小学习率,特别是策略模型的学习率。
  6. 更严格的裁剪(PPO-CLIP),减小 ϵ 值(如从0.2降至0.1)。
  7. 增加KL散度惩罚系数 β
  8. 设置KL散度早停:若某步更新后,KL散度超过预设阈值(如0.01或0.02),则跳过该步更新,并可能降低学习率。

  9. 奖励模型过优化与奖励破解(Reward Hacking)

  10. 表现:PPO训练中奖励持续上升,但实际人工评估的回复质量停滞甚至下降。模型生成内容变得怪异或模板化。

  11. 原因:策略模型找到了奖励模型的漏洞,而非真正提升回答质量。

  12. 缓解:

  13. 强化KL散度约束,增大 β 值。
  14. 改进奖励模型:扩充训练数据,修复已知漏洞,或者集成多个奖励模型。
  15. 混合训练目标:在PPO损失中混合一部分预训练语言模型损失(PPO-ptx),强制模型保持语言流畅性。
  16. 使用更细粒度的奖励:例如,将最终奖励分解为多个维度,或引入过程奖励。

  17. 价值模型估计不准

  18. 表现:优势函数计算出的值波动巨大,策略梯度方向不稳定,训练收敛缓慢。

  19. 原因:价值模型本身训练不充分,或者环境(策略模型)变化太快,导致价值模型跟不上。

  20. 缓解:

  21. 增大价值模型的更新频率(例如,对每一批经验,价值模型更新K次,策略模型更新1次)。
  22. 调整价值模型的损失函数,或使用更大的价值模型。
  23. 独立设置价值模型的学习率和优化器。

  24. 超参数敏感性

  25. 表现:训练效果对学习率、KL系数、裁剪范围等超参数极其敏感,稍有不慎就会训练失败。

  26. 原因:PPO本身涉及多个损失项(策略损失、价值损失、熵奖励等)的平衡。

  27. 缓解:

  28. 自动化超参搜索(如使用Optuna)。
  29. 参考成熟开源项目(如DeepSpeed-Chat)的超参配置。
  30. 从保守的超参开始,逐步放宽约束。

为什么PPO训练经常需要大量算力和复杂的超参调整?

算力需求:

  • 多模型驻留:PPO训练需要同时将策略模型、参考模型、奖励模型、价值模型四个大模型加载在显存中。即使使用ZeRO等分片技术,总显存开销依然是天文数字。

  • 在线生成:PPO是on-policy算法。每一步优化都需要用当前的策略模型重新生成一批完整的回答。大模型的自回归生成速度本就较慢,这相当于在训练循环中嵌入了一个昂贵的“推理”过程。生成时间和训练时间相加,导致整体吞吐量远低于单纯的SFT。

  • 价值模型训练:价值模型需要额外的计算来更新其参数。

超参复杂性:

  • 多目标平衡:PPO的损失函数是多个项的加权组合:最大化裁剪后的策略奖励、最小化价值估计误差、最大化策略熵(探索)。每一项都有自己的权重,需要精细调整。

  • KL约束的间接性:KL惩罚系数 β 的选择是艺术。太大会导致模型拒绝学习,太小则导致奖励破解。通常需要在训练过程中动态监控和调整。

  • On-policy的学习动态:策略在不断变化,生成的数据分布也在变化。这导致优化目标是非平稳的,超参数的最优区间可能随时间漂移。

  • GAE的参数:γλ 的选择对优势估计有显著影响,进一步增加了调参空间。

  • 缺乏成熟的自动调参工具:相对于SFT,RLHF的自动超参优化工具较少,主要依赖专家经验和反复试错。

正是因为以上原因,直接使用PPO进行RLHF被认为是“炼丹”的高级阶段。这也是DPO等更简洁的对齐方法广受欢迎的重要原因。


解释DPO(Direct Preference Optimization)的核心思想。

image.png

其中 Z(x) 是配分函数,仅与 x 有关。

  1. 将偏好概率参数化:将这个奖励函数的表达式代入偏好概率模型(如Bradley-Terry模型),惊奇地发现,只与 x 有关的项 Z(x) 在比较两个回答时被抵消了!偏好概率变为:

image.png

  1. 直接优化策略:因此,我们不需要先训练奖励模型,再通过RL优化策略,而是直接定义一个基于偏好对数据的损失函数,最大化上述偏好概率的似然。这就是DPO的损失函数:

image.png


推导DPO的损失函数,并说明它如何隐式地包含奖励函数。

目标:从标准的RLHF目标出发,推导DPO的损失函数。

步骤一:RLHF的优化目标

image.png

步骤三:从最优解中反解出奖励函数

对上式两边取对数并移项,得到奖励函数与最优策略的关系:

image.png

如何隐式包含奖励函数?

在DPO的损失函数中,我们并没有显式定义或训练一个奖励模型。但通过上述推导可以看到,我们实际上是在优化一个隐式的奖励函数:

image.png


DPO相比RLHF(PPO)有哪些优势?

DPO解决了RLHF中PPO阶段的诸多痛点,其优势主要体现在以下几个方面:

对比维度 DPO RLHF (PPO)
训练范式 离线监督学习,类似于SFT,极其稳定。 在线强化学习,需要在线生成样本,训练动态复杂。
模型组件 仅需2个模型:当前策略 + 冻结的参考模型。 需要4个模型:策略、参考、奖励、价值。显存和算力开销巨大。
奖励模型 完全不需要。偏好信号直接编码在损失函数中。 必须显式训练一个高质量的奖励模型,这是RLHF最难且最容易出错的环节。
奖励破解 风险极低。因为没有独立的奖励模型可被“攻击”。 风险高。策略模型会钻奖励模型漏洞,导致输出质量下降。
调参与稳定性 超参数极简,主要调整学习率和 ββ。训练如SFT般稳定。 超参数极其复杂,需要调整PPO裁剪范围、KL系数、价值学习率、GAE参数等,训练极易崩溃。
计算效率 高。一次前向+反向,无在线生成开销。 低。在线生成消耗大量时间,需维护多个模型。

一句话总结:DPO将复杂的RLHF流程大幅简化,在保持甚至超越PPO效果的同时,极大地降低了工程复杂度、算力需求和训练不稳定性,使得偏好对齐技术可以被更广泛的团队使用。


DPO是否完全不需要奖励模型?它用什么代替了奖励信号?

是的,DPO完全不需要显式地训练或维护一个独立的奖励模型。 它以一种非常优雅的方式,将奖励模型内化在了策略模型之中。

替代方式:DPO没有“奖励信号”这个独立的概念,它用人类偏好数据直接定义策略的优化方向。具体来说,它将隐式奖励函数定义为:

image.png


DPO训练数据的格式是什么?与奖励模型数据有何异同?

DPO训练数据的格式:

与奖励模型数据非常相似,都是基于人类偏好的对比数据。具体格式为:

image.png

与奖励模型数据的异同:

  • 相同点:两者的数据构造方式完全一致。都需要从指令池中采样,用模型生成多个回答,然后由人类进行排序或两两比较,最终形成偏好对。

  • 不同点:奖励模型需要数据来训练一个外部的评分模型,而DPO直接使用这些数据来微调策略模型。 换句话说,同样的数据,在RLHF中是用来训练“裁判”(奖励模型),而在DPO中是用来直接训练“选手”(策略模型)。DPO跳过了“训练裁判”这个中间环节,让选手直接从偏好对比中学习什么是“更好”。

因此,任何现有的、用于训练奖励模型的偏好对数据集,都可以无缝地用于DPO训练,这为DPO的快速应用提供了极大的便利。


DPO训练时,参考模型一般选哪个模型?为什么?

image.png

  1. 目标一致性:DPO优化的是与带KL约束的RLHF相同的目标。在这个目标中,KL散度惩罚是以SFT模型为基准的,目的是防止策略模型偏离其太远。因此,DPO中的参考模型自然就应该是这个SFT模型。

image.png

  1. 提供稳定的优化起点:SFT模型已经处在一个合理的参数空间。以它为参考,可以保证在DPO训练初期,策略模型输出分布不会发生剧烈偏移,训练过程能够稳定、平滑地启动。

因此,SFT模型是DPO参考模型的理论最优选择,也是在所有实践中唯一的标配。


DPO中参数β的作用是什么?如何影响优化?

在DPO中,参数 β 是一个至关重要的超参数,它直接控制KL散度约束的强度,即策略模型被允许偏离参考模型(SFT模型)的程度。

作用: 回顾DPO的损失函数,β 直接作为一个乘子,放大或缩小偏好回答 yw 与非偏好回答 yl 之间的隐式奖励差:

image.png

它在这个公式中的作用类似于逆温度系数。它决定了模型对偏好数据中信号的“信任程度”或“学习强度”。

如何影响优化:

  • β 较小(如0.1):KL约束弱。模型可以更自由地大幅提高偏好回答的似然,同时压低非偏好回答的似然。策略模型可能偏离参考模型较远,更容易学到偏好数据中的特定模式,但也增加了过拟合、灾难性遗忘和奖励破解(在隐式奖励意义上)的风险。

  • β 较大(如1.0):KL约束强。模型只能进行小幅调整,更保守地靠近参考模型。它能有效防止过拟合和遗忘,但对齐的效果可能不够显著,策略模型的行为与SFT模型差异不大。

  • 极端值:β→0,损失函数趋向于一个常数,模型几乎不学习;β→∞,模型极度保守,很难从偏好数据中学习新行为。

实践中的调整:β 的典型取值范围在 0.1到0.5之间。通常需要在验证集上监控策略模型相对于参考模型的KL散度,以及下游任务的性能,找到一个能平衡“对齐程度”和“能力保持”的最佳点。这也是DPO中除了学习率之外,最重要的调参对象。


如果DPO训练中不使用参考模型,会发生什么?

image.png

这相当于直接最大化偏好回答与非偏好回答的似然差。

会发生什么?

这将导致灾难性的后果,基本等价于标准的行为克隆过拟合,并且会迅速发生分布坍缩。

  1. 疯狂的分布坍缩:为了让损失函数最小化,模型会毫无约束地拼命提高 ywyw 的概率,并压低 ylyl 的概率。由于偏好数据覆盖的范围有限,模型会迅速将概率质量全部集中到训练集中出现的那些“好回答”模式上,丧失所有创造性和语言多样性。它的输出会变得极其单一和模板化。

  2. 灾难性遗忘:由于没有参考模型作为“锚”,模型会忘记SFT阶段和预训练阶段学到的所有通用知识、推理能力和语言流畅性,最终退化为一个只会输出训练数据中那几种“高分回答”样式的、功能瘫痪的模型。

image.png

一句话总结:DPO中的参考模型 πrefπref 不是可选项,而是防止模型坠入“对偏好数据死记硬背”深渊的安全网。它保证了模型在学习对齐时,不会丧失作为语言模型的基本能力。