专栏名称: GiantPandaLLM
专注于机器学习、深度学习、计算机视觉、图像处理等多个方向技术分享。团队由一群热爱技术且热衷于分享的小伙伴组成。我们坚持原创,每天一到两篇原创技术分享。希望在传播知识、分享知识的同时能够启发你,大家一起共同进步(・ω<)☆
目录
相关文章推荐
GiantPandaLLM  ·  【博客转载】Row-Major VS ... ·  昨天  
51好读  ›  专栏  ›  GiantPandaLLM

人人都能看懂的DPO数学原理

GiantPandaLLM  · 公众号  · 3D  · 2024-09-19 23:00

主要观点总结

本文介绍了DPO(Direct Preference Optimization)方法,一种用于训练能够理解和回应人类指令和偏好的模型的训练步骤。文章详细解释了DPO是如何从最原始的偏好对齐优化目标开始,逐步简化的,并涉及了奖励模型的训练目标以及如何通过偏好数据直接训练对齐模型。

关键观点总结

关键观点1: DPO方法的介绍

DPO是一种改进的训练方法,用于训练能够理解并回应人类指令和偏好的模型。它通过对齐模型的设计,旨在优化模型以符合人类的偏好。

关键观点2: DPO与奖励模型的关联

在传统的训练方法中,奖励模型是一个重要的组成部分。然而,DPO方法试图绕过奖励模型的训练,直接使用偏好数据来训练对齐模型。

关键观点3: DPO方法的推导过程

文章详细解释了DPO方法的推导过程,包括从优化目标中求解最优对齐模型,以及如何通过统计模型(如BT模型和PT模型)来构造奖励模型的训练目标。

关键观点4: DPO方法的应用

DPO方法可以应用于各种需要理解和回应人类指令和偏好的任务中,如聊天机器人、自然语言处理等。


正文

请到「今天看啥」查看全文


  • 的定义我们知道,它是关于x的函数,且它和我们准备优化的模型 没有关系。
  • 我们把 带入第3行,就可以得到第4行的结果。

    观察式(12)中括号里的左半部分,我们发现它非常像一个KL散度的形式(即衡量了两个分布之间的相似性) ,鉴于分子 已经是个显式的分布表示了,我们干脆把分母也写成一个显示的分布表示,我们定义一个分布

    好,现在再把这个人为定义的分布表达带回到式(12)中,我们得到:

    观察式(14),前面我们说过 和我们准备优化的模型 没有关系,所以可以把它忽略掉。那么现在我们只用关心KL散度这一项。我们知道KL散度在两个分布完全相等时达到最小,由此我们可以写出模型 的显式解:

    我们对式(15)再做一个简单的改写: 因为以上推导都是在假设我们有一个固定的奖励函数 的基础上进行的 ,所以我们可以加一个下标 来强调这一点,则式(15)可进一步被改写成:

    可是,在正常的对齐训练中,这个奖励函数 可不是任意的,它是我们先用数据训练出来的最优奖励模型,然后在这个最优奖励模型的基础上,我们再通过训练去找到最优对齐模型 。最优的奖励模型 和基于它训练出的最优的对齐模型 依然满足式(4)的关系,我们分别设它们为 ,则有:

    后面这些推导步骤没有什么难度,无非是做了些公式和符号上的变化。

    3.2 步骤1总结

    到此为止,经过了长长的推导,你可能已经有点懵了,没关系, 我们总结一下步骤1中我们做的事情:

    • 首先,我们有一个对齐人类偏好阶段的总优化目标函数, 它是在假设我们已经有一个奖励函数 的基础上设计的 ,我们的目标是找到能使这个目标值最大化的对齐模型






    请到「今天看啥」查看全文