本文共4500字,建议阅读5分钟
本文通过详细分析GAN的经典损失函数及其多种变体,揭示了不同类型损失函数各自的优势。
个人信息
作者:任毅,英属哥伦比亚大学博士生
学习动态(Learning dynamics)描述了特定训练样本的学习过程如何影响模型对其他样本的预测,为我们理解深度学习系统的行为提供了有力工具。我们通过分析不同潜在响应之间影响积累的逐步分解,研究了大型语言模型在不同微调类型中的学习动态。我们的框架能够统一解释关于指令微调和偏好微调中流行算法训练的许多有趣现象。特别是,我们提出了一个假设性的解释,说明为什么某些类型的幻觉(hallucination)在微调后会增强。例如,模型可能会使用回答问题B的短语或事实来回答问题A,或者在生成响应时不断重复类似的简单短语。我们还扩展了这一框架,强调了一个独特的“挤压效应”(squeezing effect),用以解释在离线直接偏好优化(Off-Policy Direct Preference Optimization, DPO)中观察到的现象,即运行DPO时间过长会使期望的输出结果变得不太可能。这一框架还揭示了在线DPO和其他变体的益处来源。这种分析不仅为理解大型语言模型的微调提供了新的视角,还启发了一种简单而有效的方法来提高对齐性能。
论文地址:
https://arxiv.org/abs/2407.10490
许多关于深度学习理论的研究通常假设模型从随机初始化开始,经过训练后达到收敛状态,然后推导一些泛化的保证。然而,微调往往是在中间阶段进行的。我们通常会使用一个预先训练好的模型,并进行少量更新,通常会进行早停。因此,以往的一些框架可能很难适用于这些问题。
这就引发一个思考:为什么不去关注一些更细节或更微观层面的行为?于是乎作者提出了学习动态(learning dynamics)的概念,即“在学习了样本
之后,模型对样本
的预测发生了怎样的变化?”
What is learning dynamics —— An MNIST Example
学习动态(Learning Dynamics)的具体定义即:当模型学习了更新样本
后,它在观察样本
上的预测是如何变化的?这一过程可以通过梯度下降法来进行计算。在一步更新的过程中,通过对
的观察,我们关注的是其对数概率分布是如何从时刻T到时刻T+1发生变化的。利用一阶泰勒展开,本文得到了这一变化的表达形式。将左边的项移到右边,即可得到一个核心分解,这正是学习动态框架的最关键部分。
其中,K项尤为重要,它代表了经验神经正切(empirical neural tangent kernel),实质上是梯度空间中的内积,可以视为一个相似度量,其norm与
和
之间的相似性成正比。简言之
对于
的影响越大,这一项的范数就越大。
最后,G项称为gap,它主要由损失函数和预测结果决定。在交叉熵情况下,G会呈现特定形式,它本质上是一个向量,表示当前预测分布到one-hot分布的方向。
有这样的分解之后,本文可以据此回答若干问题,如下图所示。例如,当模型学习了数字4后,其对数字9的认知会发生怎样的变化?通过分析发现,由于数字9和4非常相似,因此在更新数字4的同时,数字9在4位置上的分布也会被相应提升。学习动态最重要的描述正是:当更新样本
时会影响观察样本
,如果两者非常相似,它们的分布将一起提升。
在MNIST数据集上,作者进行了实验。横坐标表示10类更新的类别。实验结果显示了一些有趣的关系对,如数字4和数字9,数字4和数字7等。由于它们较为相似,因此更新其中一个会影响另一个。在它们收敛到one-hot分布之前,会出现许多小的off-diagonals的峰值。这正是学习动态框架所揭示的现象。
Extension to LLM —— start from SFT
作者尝试将上述学习动态的框架扩展到语言模型的微调(fine-tuning)上。从监督微调(SFT)开始,其分解形式与学习动态框架非常相似,作者观察到该框架的关键部分包括A,K和G。在这个分解过程中,由于自回归特性,输入模型的数据是将X和Y合并在一起处理,X是问题,Y是回答。经过这样的处理后,整个框架可以帮助回答某些问题。
例如,对于同一个问题
,当模型学习了一个响应(response)之后,其在其他响应上的自信度会如何变化。通过右上角的图,可以将MNIST与SFT这两种情况进行类比。数字4与数字9较为相像,因此
正与
也较为相似。
和
即为DPO数据集中的优选与较少优选的响应,它们都是合理的响应,分别回答
的问题,只是一个稍好,另一个稍差。而不相像的情况则是,对于某个问题随意答案,即答非所问,这时两个很不相像的回答。甚至换个问题后情况更加不相像。
在语言模型的训练过程中,预测空间
极为庞大,因此无法像MNIST那样简洁地将十个类别全部显示并绘制热图。本文采取的策略是观察一些典型的响应,从
出发,观察几类具有代表性的响应。首先是与
语义上最相近的,如其改写版本。其次是一些
响应,即对
问题的不同回答,仅稍微逊色。此外,还包括一些离
较远的响应,如与问题
无关但语言上通顺的句子。再远一些则是一些不符合语法规则的响应,即那些随机的乱码,或者是一些正常回答的乱序版本。
接下来,作者开始探讨在实验层面上,先前所述的学习动态分析是否可靠。假设初始分布为灰色,经过几次监督微调(SFT)更新后变为蓝色,最终过拟合模型趋向于one-hot分布,变为红色。
首先,我们观察与
非常接近或相似的区域。这一区域中的行为表现如何?通过实验发现,
本身的蓝色线条持续上升,而其周边的响应线条则呈现先上升后下降的趋势。这符合了前述描述,具体原因在论文中有详细解释。
接下来,本文验证了两个相距较远的区域,即离
非常远、非常不相似的区域的行为表现。这些区域的概率值较低,且规范化后发现其值非常小。此外,它们的概率只会下降而不会上升,这便是这些区域的特点。
第三个结论尤为有趣,本文观察了
的情况,指的是答非所问的序列。这个序列相当于用第二个问题的答案来回答第一个问题。从图中看,这类蓝色线条持续上升,不会下降,尽管增长速度缓慢,但始终呈上升趋势。这可能提供了一种解释,即模型出现幻觉时,常会用另一个问题的结论或固定序列来回答当前的问题。
第四个结论与相似度有关。尽管两个句子在语义上毫无关联,模型有时也认为两者生成出的响应是相似的。例如,中间部分显示的都是由GPT生成的内容,在学习这些序列时,它们之间的影响很大,但在语义上却毫无关系。这可能是因为语言模型会在输出时有自己偏好的短语或者表达方式。
Squeezing effect and neg gradient——about DPO and RL
1.Similar Gradient from Model view
本文尝试将这一框架扩展到决策优化(DPO)以及强化学习(RL)领域。在进行扩展之前,本文提出一个关键问题:为什么先前的分析过程可以进行扩展?首先,需要找出不同语言模型微调算法之间的相似之处。研究发现,无论算法具体形式如何,其最终的梯度计算都会归于对于对数概率分布的导数上。我们之前了解了SFT的情况,而DPO算法虽然看起来复杂,但通过链式法则进行导数计算后,最终的梯度仍然在这一项上,某些变种算法也如此。
对于强化学习(RL),虽然其损失函数形式与对数概率不同,但经过简单处理后,这一对数概率仍然出现。在计算梯度时,前面的项实际上是一个固定值,例如学习率或权重。这使得本文能够使用一个统一的框架来理解各种算法。
2.Start with DPO
假设存在一个分布,如图中所示,绘制一些箭头,这些箭头由先前动态分析中的项提供。可以采用这种思路分析各种主流算法。在图中,作者重点分析简单的离线策略决策优化(Off-policy DPO)。首先对DPO的对数进行分解,发现其形式与监督微调(SFT)非常相似,都包含A,K与F这三项。主要区别在于DPO中正例与负例都会提供梯度,因此无法将两项合并。与SFT相比,DPO的最大区别在于此处,DPO会出现一个负向的梯度,即图中向下的箭头。接下来我会发现,DPO许多反常的表现都与这个负梯度相关。
3.Squeezing Effect
本文介绍了一种可以证明的“压缩效应”(squeezing effect):只要模型的最后一层采用softmax函数,即便是一个逻辑回归模型,在valley region上施加一个大的负梯度,其效应依然存在。具体来说,valley region指的是图中的这样一个区域。灰色曲线表示训练之前的分布。如果在这个valley region上施加一个很大的负梯度,首先,这个维度上的分布会显著下降。这种现象非常反直觉,有点类似于过拟合,但实际上不同于过拟合。过拟合通常指模型最终与标签对齐,而这里的压缩效应则与标签无关:它强化的是自己本身的某些信念。
4.NG in DPO
接下来,作者分析了负梯度在离线策略决策优化(Off-policy DPO)中的具体作用。首先观察DPO的行为,发现正例
和负例
的概率都在下降。作者还观察了一些改写形式,发现其下降幅度之间的关系较为复杂,但这些复杂关系印证了先前的分析逻辑,表明其合理性。同时,本文分析了另一个分布
,在图中表示为黑色线。发现所有其他响应的概率均在下降,而这些概率被集中到了该分布上,这与先前分析的压缩效应(squeezing effect)相符。
此外,作者进行了其他实验来验证这一结果。这些图显示了两个模型在每个图中的训练过程。两个图中模型在第十个 epoch 开始进行DPO训练,而在此之前进行了SFT训练。结果显示,与仅进行一个 epoch 的SFT训练相比,进行十个 epoch 的SFT训练的压缩效应更强。这与之前的分析一致,即初始分布越尖锐,压缩效应越强
最后,本文简要分析负梯度在强化学习(RL)算法中的作用。尽管RL算法中也存在负梯度,但其影响与离线策略相比并不明显。原因有二:
首先,RL算法通常采用在线策略(On-policy),如图所示,压缩效应(squeezing effect)只有在施加负梯度于valley region时才会显著,而在在线策略采样区域则不会产生强烈影响。
其次,RL算法的损失函数形式天然避免了压缩效应。具体来说,对于如GRPO和PPO等算法,其损失函数采用的是min clip形式。相比单纯的clip操作,min clip形式确保在某些情况下不施加负梯度。
本文解释了这种机制,即当优势函数
大于零时,损失函数表现为橙色线条;当
小于零时,损失函数表现为蓝色线条。蓝色线条表示在非常小的概率区域避免负梯度,而在较大的概率区域则允许施加负梯度。因此,这种损失函数形式天然地避免了压缩效应,确保训练过程中远离可能导致问题的区域。
首先,本文阐述了为什么要研究学习动态(learning dynamic)。接下来,本文展示了相关分布,并利用这一框架绘制分布和箭头,分析了各种方法。最后,以离线策略决策优化(Off-policy DPO)为例,分析了负梯度带来的一些问题。为了帮助读者记住负梯度,文中绘制了相关图示。
编辑:王菁
数据派THU作为数据科学类公众号,背靠清华大学大数据研究中心,分享前沿数据科学与大数据技术创新研究动态、持续传播数据科学知识,努力建设数据人才聚集平台、打造中国大数据最强集团军。
新浪微博:@数据派THU
微信视频号:数据派THU
今日头条:数据派THU