llm 中的对齐微调 DPO、KTO、PPO算法

模型经过海量数据预训练后,它拥有了广泛的知识,但其输出行为是“中性”的,它不知道人类更偏爱哪种风格的回答(例如:更有帮助、更无害、更简洁、更符合特定格式)。对齐微调 的目标就是缩小模型与人类偏好之间的差距。

对齐微调:利用人类偏好信号来指导模型的优化。

 1. PPO - 近端策略优化

PPO是强化学习领域的经典算法,它是在RLHF范式的第三阶段被引入并取得巨大成功的。

RLHF的三步流程:

  1. 监督微调:使用高质量的指令-回答对数据,对预训练模型进行微调,得到一个初始的SFT模型。这一步是让模型初步学会“如何回答指令”。

  2. 训练奖励模型:

    • 收集人类标注数据:对于同一个提示,让模型生成多个回答(例如A, B, C, D),然后由人类标注员对这些回答进行排序(例如 A > C > D > B)。

    • 训练一个独立的奖励模型,它的任务是学习人类的偏好判断。给定一个提示和回答,RM会输出一个标量分数,分数越高代表回答越好。训练目标是让RM对更优回答的打分高于对更差回答的打分。

  3. 使用PPO进行强化学习优化

    PPO的核心机制 - “近端”:

    目标:在最大化期望奖励的同时,确保策略的更新步长不会太大。

    实现:PPO通过一个“裁剪”函数来限制新旧策略之间的概率比率。如果一次更新会让新策略与旧策略差异巨大,从而可能带来性能崩溃,PPO会将这个更新“拉回”到一个可信的范围内。这就像给优化过程加了一个“安全带”,确保了训练的稳定性。

 

2. DPO - 直接偏好优化

DPO的核心思想:

DPO证明,在奖励模型和最优策略之间存在一个解析关系。利用这个关系,可以直接将“最大化奖励”的强化学习问题,转换成一个简单的监督学习分类问题。

    • 数据需求:只需要成对的偏好数据。对于每个提示 x,有两个回答 (y_w, y_l),其中 y_w 是获胜回答,y_l 是失败回答。

    • 损失函数:DPO的损失函数是如下形式:
      L_DPO = -log σ( β * log[πθ(y_w|x) / π_ref(y_w|x)] - β * log[πθ(y_l|x) / π_ref(y_l|x)] )

      • πθ:当前正在被优化的策略模型。

      • π_ref:参考模型(通常是SFT模型)。

      • σ:sigmoid函数。

      • β:控制偏离参考模型程度的超参数。

损失函数的目标是最大化当前模型相对于参考模型对“好回答”的偏好提升。具体来说:

  • log[πθ(y_w|x) / π_ref(y_w|x)] 表示当前模型相比参考模型,有多大程度更“喜欢”输出好的回答 y_w。我们希望这个值越大越好。

  • log[πθ(y_l|x) / π_ref(y_l|x)] 表示当前模型相比参考模型,有多大程度更“喜欢”输出坏的回答 y_l。我们希望这个值越小越好。

  • 整个损失函数的目标是让“对好回答的偏好提升”与“对坏回答的偏好提升”之间的差值尽可能大。当这个差值足够大时,sigmoid后的值接近1,负对数损失就接近0。

 

3. KTO - 知识转移优化

KTO是一种更新的、更简单的直接偏好优化方法。它可以看作是DPO(直接偏好优化)的进一步发展。

KTO的核心思想:

KTO认为,我们不需要复杂的PPO和单独的奖励模型,甚至不需要严格的“成对偏好”数据(即A回答优于B回答)。它只需要一个更简单的信号:某个回答是“可取的”还是“不可取的”。

  • 数据:对于每个提示,只需要标记生成的回答是 “好” 还是 “坏” 。这比收集多个回答并进行排序要容易得多。

  • 原理:KTO通过一个损失函数,直接优化模型,使得:

    1. 对于“好”的回答,模型的输出概率应该高于某个期望值。

    2. 对于“坏”的回答,模型的输出概率应该低于某个期望值。

  • 关键优势:它绕过了训练奖励模型的步骤,直接将人类对“好/坏”的偏好信号注入到语言模型的优化过程中。

KTO与DPO的关系:

  • DPO:需要成对的偏好数据(Chosen vs Rejected)。它通过一个精巧的数学推导,将奖励最大化问题转换为一个纯粹的监督学习问题。

  • KTO:是DPO的泛化。它不需要成对数据,只需要单个样本的“可取性”标签。它的损失函数设计得更加直接,旨在拉高“好”回答的似然,压低“坏”回答的似然。

简单比喻:KTO就像一个老师,他不需要比较两个学生(A和B)的作业哪个更好(DPO),他只需要在每个学生的作业上打勾(好)或打叉(坏),然后让学生自己去朝着“打勾”的方向努力。

 

 

posted @ 2025-12-01 10:10  wangssd  阅读(2)  评论(0)    收藏  举报