Direct Human Preference Optimization
传统的RLHF方法通常涉及优化基于人类偏好的Reward function 。虽然这种方法是有效的,但它可能会带来一些挑战,比如在估计和优化rewards时增加计算复杂性和bias-variance权衡 。最近的研究已经探索了一些替代方法,旨在直接基于人类偏好来优化LLM策略,而不一定依赖于 scalar reward signal 。
这些方法试图简化对齐过程,减少计算开销,并通过更直接地处理preference数据来实现更健壮的优化。通过将问题定位为 preference optimization 而不是reward估计和最大化 ,这些方法为将语言模型与人类判断相结合提供了不同的视角。
By framing the problem as one of preference optimization rather than reward estimation and maximization, these methods offered a different perspective on aligning language models with human judgments.
SliC-HF
本研究引入了Sequence Likelihood Calibration with Human Feedback(SLiC-HF),通过使用正则化的max-margin 排序损失,将llm与人类偏好对齐,如Eq. 3[11]所示。
在这里插入图片描述
记得之前在哪儿看过,RL的目标中正则项
是为了保持模型能力不变,并优化topk排序。
直接利用偏好数据学习,加入了margin和正则项约束,不需要Reward model。
作者提出了两个主要变体:SLiC-HF-direct和SLiC-HF-sample-rank。SLiC-HF-direct使用人类偏好反馈数据直接定义期望响应
和不期望响应
。相比之下,**SLiC-HF-sample-rank从SFT模型生成多个response,然后使用单独的ranking或奖励模型从这些生成的response中确定
和** 。这种 samle-rank variant确保了训练样本是从模型当前的输出分布中提取的 ,与使用off-policy的人类偏好数据相比,可能会导致更稳定和有效的学习。作者发现SLiC-HF-sample-rank的收敛性更强。
SLiC-HF-sample-rank 应该就是 rejection sampling 方法吧。
This sample-rank variant ensured that the training examples were drawn from the model’s current output distribution, potentially leading to more stable and effective learning compared
to using off-policy human preference data.
研究表明,SLiC-HF可以达到与RLHF/PPO方法相当或更好的性能,而使用的计算资源显著减少,即PPO训练范式的内存占用为0.25。在Reddit TL;DR摘要任务[3]上,使用SLiC-HF训练的T5-Large (770M参数)[50]模型优于使用RLHF/PPO训练的6B参数模型。这一结果表明,SLiC-HF代表了一个有希望的方向,使llm与人类偏好相一致,在性能、计算效率和实现简单性之间取得平衡。
RSO
Rejection Sampling Optimization(RSO)[51]通过使用统计rejection sampling解决训练数据与最优policy期望数据之间的分布不匹配 ,解决了SLiC和DPO等offline偏好优化方法的局限性。
rejection sampling 的具体方法如下:
在这里插入图片描述
相比之下,
的采样比较简单, **而
难以获取** 。
rejection sampling的真正数学形式,但第3中的条件难以获得。所以需要用reward model来指导采样过程。
**为了解决这个问题,RSO使用一个训练好的Reward模型
来指导采样过程** 。算法**从SFT策略
中生成候选,并根据公式4所示的计算概率
接受候选,其中
为当前样本集中的最大奖励** 。
在这里插入图片描述
作者在TL;DR摘要[47]和Anthropic HH对话数据集[3]上进行了实验。T5-large模型(770M)初始化为SFT, T5-XXL (11B)初始化为reward模型[52]。评价结果表明,RSO在包括人评价在内的多个指标上优于以往的方法,包括SLiC和DPO。RSO还显示了更大模型的可扩展性和改进的cross-task泛化 。
RSO提供了一种更有原则的方法来生成近似于 on-policy 强化学习的训练数据 。它的统一框架和智能 sampling strategy 也可以作为其他off-policy 训练方法的催化剂 。
DPO
RLHL/PPO需要在初始阶段使用偏好数据集训练reward模型,然后使用预训练的reward模型作为environment来训练RL policy 。这种分叉的训练过程需要细致的监督,包括大量的计算资源来在内存中保存多个模型**(reward、value、policy、reference)**;收集数据以训练奖励模型和RL policy,并监测过度拟合。为了解决这些挑战,直接偏好优化(DPO)于2010年被引入。 基于ppo的RL中的目标函数如式5所示 ,可导出
。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
但是, DPO有某些限制。在OpenAI使用的RLHF方法中,奖励模型保持不变,便于人类对齐 。对于相关任务的进一步训练,只需要新的提示,由LLM生成响应,并从现有奖励模型中获得奖励。这种方法在灵活性和可重用性方面具有显著的优势 。例如,考虑一个用户,他建立了一个带有相应奖励模型的英语摘要模型。为了将其扩展到西班牙文本,他们可能会重用英语奖励模型作为西班牙语奖励的初始化。相比之下,DPO需要新的偏好数据进行进一步优化,这可能具有挑战性,因为它需要细致的人工标记 。使用相同的示例,DPO将需要为西班牙语摘要收集一组全新的偏好数据,包括每个文本的多个西班牙语摘要和双语人工annotators,以便对它们进行比较和排序。这个过程比在RLHF方法中生成新的西班牙语提示要耗费更多的资源。
此外,DPO的损失函数只关注期望响应和非期望响应之间的差异最大化 。基于这个损失函数,有可能无意中减少对期望响应的奖励或增加对不期望响应的奖励 。尽管作者声称,如果两个奖励函数的差异仅取决于输入提示,那么它们是等价的,但我们可能仍然希望
的奖励增加,而
的奖励减少。假设一个模型生成了对prompt的response,而相应的奖励相对较低。在这种情况下,确定response的质量变得具有挑战性。结果可能是产出是高质量的,尽管隐性奖励得分很低。在这些条件下,我们必须生成多个输出,计算它们的奖励分数,并选择最佳解决方案。
最近的研究还表明,DPO对基本模型输出和偏好数据[53]之间的分布变化特别敏感 。当基本模型的训练数据和偏好数据集不匹配时,这种敏感性会导致性能不佳。为了解决这个问题,已经提出了iterative DPO,其中使用最新的policy模型生成新的response,并在每次迭代中使用一个 critique(可以是单独的奖励模型,也可以是self-rewarding设置中的相同policy网络)来标记偏好。这种方法可以帮助缓解分布转移问题,并有可能提高DPO的性能。
最后,DPO论文中的测试主要是在简单的案例上进行的,包括用于控制情绪生成的IMDB数据集[54]和用于汇总的Reddit数据集[47]。需要对更复杂的下游NLP任务进行评估,以评估DPO的有效性,特别是考虑到分布位移敏感性和迭代DPO的潜在效益。
DPOP: Smaug
DPO损失函数旨在最大化期望和非期望响应之间的差异 。然而,这种方法可能存在问题。只要期望和不期望的反应之间的差异扩大,它可能会导致奖励同时增加或减少 。作者从理论上证明,这两种response的奖励可能同时减少。这种现象在具有小编辑(Hamming)距离的数据中尤其明显。例如,“2+2=4”和“2+3=4”的编辑距离为1。为了解决DPO在小编辑距离场景中的局限性,作者创建了三个数据集:modified ARC [55], Hellaswag[56]和Metamath[57],其中包含了更多小编辑距离的示例。他们还引入了DPO-positive(DPOP),定义见式13。
在这里插入图片描述
通过引入
,
,我们可以有效地防止期望response奖励的减少 。这是因为除了标准DPO损失之外,preferred生成的逻辑被激励优于reference模型,这避免了上面描述的不希望出现的情况 。利用这个修正的损失函数,作者在Huggingface LLM排行榜和MTBench[58]上训练和评估了Smaug-7B、34B和72B模型。值得注意的是,当论文发表时,70B scale 模型在Huggingface LLM排行榜上取得了最先进的表现。
β-DPO
虽然DPO在使llm与人类偏好保持一致方面显示出了希望,但它的性能对偏好数据质量方面的权衡参数β的微调很敏感 。这种敏感性可归因于两个因素:1. β的最优值随偏好数据的质量而变化 ,需要动态方法和2. 现实世界的数据集通常包含可能扭曲优化过程的异常值 。为了避免这种开销,DPO与动态β[14]引入了一个框架,该框架根据底层偏好数据在批处理级别动态校准β 。
为了应对这些挑战,β-DPO引入了两个主要组成部分:
Dynamic β Calibration at Batch-Level: This approach adjusts β for each batch based on the quality of pairwise data. The batch-level β is calculated as:
在这里插入图片描述
β-Guided Data Filtering : This mechanism mitigates the impact of outliers by filtering them out based on a probabilistic model of reward discrepancies.
对Anthropic HH[3]和Reddit TL;DR summary[47]任务的实证评价表明,在不同的模型大小和采样temperatures下,β-DPO的表现始终优于标准DPO 。例如,在Anthropic HH数据集上,β-DPO在包括Pythia-410M,1.4B和2.8B[59]在内的各种大小的模型上取得了超过10%的改进。
这种方法的一个关键方面是考虑 pairwise 数据质量,被称为“low gap”或“high gap” 。Low gap 表示选择和拒绝的回答非常相似的情况,通常表明高质量,信息丰富的pairs。相反,high gap 是指差异较大的 pairs,意味着数据质量较低。
在Anthropic HH数据集上使用Pythia-1.4B进行的实验显示了一个明显的趋势:对于 low gap 数据,更高的β降低了胜率,而对于 high gap 数据,更高的β提高了性能 。这一观察结果强调了根据数据质量调整β值的必要性,特别是在存在异常值的情况下 。
然而,未来工作的局限性和领域包括探索 self-play 场景中的β-DPO,开发更复杂的评估指标,研究 ultra-large 模型的可扩展性,以及追求自动参数调优。
IPO
Azar等人发现RLHF和DPO容易出现过拟合,并引入身份偏好优化(Identity Preference Optimization, IPO)作为解决这一问题的方法[15]。作者强调了RLHF的两个关键假设:1. “pairwise 偏好可以用 pointwise 奖励代替。” 2. “在这些 pointwise 奖励上训练的奖励模型可以从收集到的数据推广到 policy 抽样的 out-of-distribution 数据 。” 他们认为,在DPO中,可以通过直接从数据中学习policy而不需要中间奖励函数来绕过第二个假设,从而保持第一个假设不变 。具体来说,当使用BT模型将 pairwise 偏好替换为 pointwise 奖励模型时,可能会出现挑战。当偏好是确定的或接近确定的,即
时,这个假设就有问题了。在确定性条件下,
。当该值接近正无穷时,β施加的KL散度约束的有效性减弱。因此,目标函数转向最大化累积奖励,这可能导致过拟合。
为了解决这个问题,作者为RLHF引入了一个总体目标,该目标通过BT模型避免了基于pointwise奖励的转换偏好,并专注于优化偏好的非线性函数,详见Eq. 15。
在这里插入图片描述
在给定目标函数的基础上,作者建立了一种新的损失函数,如Eq. 17所示,它可以避免BT模型将pointwise奖励转换为偏好概率。
在这里插入图片描述
新导出的损失函数可以直接优化得到最优policy,有效地缓解了过拟合问题。在一个基本的数学用例上进行了实验,表明当惩罚系数β足够大时,IPO成功地避免了过拟合,而DPO倾向于过拟合。然而,通过添加噪声的改进DPO有望充分解决这一问题。最后,需要在下游NLP任务中进一步用例来验证IPO方法的优势。
sDPO
在DPO环境中,reference模型对于保持SFT和下游任务的性能至关重要 。作者假设reference模型作为DPO的下界,表明改进的reference模型可以为DPO训练提供更优的下界。在此前提下,引入了 stepwise DPO (sDPO)方法,对偏好数据集进行分段并逐步使用。在每个阶段应用DPO,得到的部分对齐模型成为新的reference模型。
In the context of DPO, the reference model was essential for preserving the performance of SFT and downstream tasks.
最初使用SOLAR 10.7B[60]作为reference模型。随后,在sDPO过程中分别使用OpenOrca(约12K个样本)[61]和Ultrafeedback Cleaned(约60K个样本)[62]两个数据集,第一步使用OpenOrca,第二步使用Ultrafeedback。使用了ARC[55]、HellaSWAG[56]、MMLU[63]、TruthfulQA[45]四个任务,得分均超过DPO。相比之下,Winogrande[64]和GSM8K[65]被排除在外,因为它们属于生成任务,不同于之前考虑的多项选择任务。然而,在我们看来,这并不是省略这些任务的令人信服的理由。它提出了一个问题:sDPO是否会对generation任务产生负面影响?需要进一步的实验来探讨这个问题。
**结果表明,
)
随DPO步数的增加而增大** 。此外,他们已经表明,使用更新的reference模型初始化目标模型是有利的,因为与使用原始reference模型相比,它导致了更低的初始损失函数。
出现了几个问题,可以进一步加强这项研究。目前的研究利用了两个数据集,对每个数据集分别应用逐步校准。假设只有一个可用的数据集,对该数据集进行分段并依次对每个段应用DPO是否会产生类似的好处?此外,即使有两个数据集,将每个数据集的前50%用于初始对齐步骤,其余50%用于后续对齐阶段是否有利?最后,灾难性遗忘是一个众所周知的问题。将以前的部分数据逐步与新数据混合是否有益以缓解此问题?
GPO
作者提出了一种广义偏好优化(generalized preference optimization, GPO)方法,如式18[66]所示。
在这里插入图片描述
Token-level DPO
在DPO中,奖励被集体分配给一个prompt和response 。相反,在MDP中,奖励分配给每个单独的action 。随后的两篇论文深入阐述了 token level 的DPO,并将其应用扩展到token-level的分析。
DPO: from r to Q
DPO被概念化为一个强盗问题,而不是一个token-level的MDP问题,整个response被视为获得奖励的单个手臂 。在[17]中,作者证明了DPO能够执行token-level信用分配。**在 token-level MDP中,定义为
,其中S表示状态空间,A表示动作空间,f(s|a) 描述给定动作的状态转移,r表示奖励函数,
表示初始状态分布** 。token-level MDP在RL的最大熵设置框架内制定,如式20所示。
在这里插入图片描述
在这里插入图片描述
最后,将传统上将整个response视为单个实体的强盗问题重新定义为token-level MDP,并为每个token generation分配奖励,具体为
。 大量的实验已经证明了DPO在token-level MDPs中的有效性。最初,作者成功地利用token-level奖励来识别给定提示
的LLM响应
中的错误修改。然后,通过使用带有token-level奖励的波束搜索,作者生成了更高质量的response,结果表明增加波束大小显着提高了response质量。最后,作者证明了在最大熵强化学习中,当使用SFT微调模型作为参考模型时,期望和非期望response的隐含奖励都会减少。
TDPO
作者发现,在DPO过程中,LLM的生成多样性恶化,less preferred的response比偏好的respones的KL散度增长更快,并提出 **token-level DPO (TDPO)**来解决这些问题[18]。原始DPO采用reverse KL散度,token-level DPO采用 sequential forward KL散度。
**对于token-level DPO问题,将 reward decay 设为1,即无奖励衰减,token-level 奖励定义为
, 其中
表示policy
在第
个token处的奖励,它取决于在第
步的 state
和 action
。**
- • Q-value :
,即状态
, action
下的累积 reward(从t到T的累积reward)。
- • value function :
,即状态
下,所有 action 的 Q-value的期望。
- • advantage function :
,即状态
下,选择action
时,相比所有actions的期望 Q-value 的差异量。
- • Total reward :
.
根据得到的 advantage function,TDPO的目标函数可表示为式25。
在这里插入图片描述
基于目标函数,Q-value与最优policy之间的关系如式26所示
在这里插入图片描述
然后将
代入交叉熵函数进行模型训练。最后,作者提出停止
梯度的传播以进一步提高TDPO的性能。 在实验中,作者使用GPT-2 Large[67]作为基础模型,在IMDB[54]、Anthropic HH[3]和MT-bench[58]数据集上进行评估。他们的实验表明,TDPO,特别是具有stop-gradient的TDPO,优于DPO。
Iterative/Online DPO
在DPO中,使用所有可用的偏好数据集来对齐llm。为了实现LLM的持续改进,应该实施iterative/online DPO,这就提出了如何有效地收集新的偏好数据集的有趣问题。下面的两篇论文深入探讨了这个问题。
Iterative/Online DPO: Self-Rewarding Language Models
DPO的一个重大挑战是难以获得新的人类偏好数据,这是非常昂贵的。iterative/online DPO的概念利用llm根据prompt生成response,并以类似于人工标注员[19]的方式评估这些response。
作者断言:“为了实现超人的 agents,未来的模型需要超人的反馈来提供足够的训练信号 。”根据这一主张,他们建议使用LLM作为评估对提示的反应的裁判。此外,他们的目标是“开发一种在训练过程中处理所有所需能力的agent,而不是将它们分成不同的模型”。因此,同样的LLM被用于“Instruction following:给定描述用户请求的prmpt,生成高质量,有用(无害)response 的能力”和“Self-Instruction creation:生成和评估新的指令遵循示例以添加到自己的训练集的能力”。
Instruction following: given a prompt that describes a user request, the ability to generate a high-quality, helpful (and harmless) response.
Self-Instruction creation: the ability to generate and evaluate new instruction-following examples to add to its own training set.
在“Self-Instruction Creation”阶段,产生K个候选response,LLM作为评判者对这K个response进行评价。评估基于五个指标:相关性 、覆盖面 、有用性 、清晰度 和专业知识 ,得分最高为5分 。得分最高的response被选为preferred response,得分最低的response 被视为unpreferred response。在“Instruction Following”训练过程中,DPO用于训练LLM与生成的偏好数据集对齐。
利用Llama 2 70B作为预训练的LLM进行了大量实验[68]。作者进行了三次self-reward 训练。本研究的一个主要限制是缺乏确定迭代的最佳终止点的方法。它没有解释为什么三个迭代应该被认为是足够的,也没有说明为什么额外的迭代可能不会产生进一步的好处。分别经过1次、2次和3次DPO训练得到模型M1、M2和M3。在他们的评估中,M2的胜率为55.5%,M1的胜率仅为11.7%。而M3对M2的胜率分别为47.7%和12.5% 。在AlpacaEval中也观察到类似的趋势,证明了 iterative/online 训练的好处。在AlpacaEval[40]中,执行了各种子任务,包括Health和Professional。一般来说,LLM在不同任务上的性能随着迭代次数的增加而提高,尤其是在稳定性方面。模型M1和M2在任务间表现出更多的可变性,而M3表现出更强的稳健性 。MT-Bench[58]的结果有所改善,而NLP基准的表现有所下降。作者认为,这种下降是由于训练数据基于Open Assistant提示,这可能与NLP Benchmark中的任务无关。然而,我们质疑这种差异是否表明过拟合而不是分布外数据集,特别是考虑到LLM在大型文本语料库上进行了广泛的预训练。值得注意的是,NLP基准测试的性能随着迭代次数的增加而下降。这引起了人们的担忧,即某些任务的改进是否以牺牲其他任务的能力为代价 。最后,作者评估了奖励模型,发现除了“5-best %”参数外,大多数参数都随着迭代次数的增加而改进,该参数最初增加,然后下降,尽管它仍然高于初始值。这进一步强调了确定终止 iterative/online DPO的最佳点的关键重要性 。
Iterative/Online DPO: CRINGE
基于binary feedback,一种很有前途的方法是对比迭代负生成(CRINGE, ContRastive Iterative Negative GEneration)loss[69]。CRINGE loss被设计成分别处理postive和negtive的response 。**对于positive responses,表示为
和y+,它们的处理与SFT类似** 。**对于负响应,表示为
和
, CRINGE loss 将序列中的每个 negative token
与一个 positive token 进行比较** 。
**设
表示对应于令牌
的模型输出分数(最终Softmax的输入)。最初,我们从所有分数
中选择前
个分数
,
,
,排除negative token
。接下来,我们按照通过Softmax在这些top-k分数上构建的分类分布进行抽样,
,** 。例如,当k = 4时,前k个标记可能是“discharge”,“charge”,“absorb”和“reflect”,如果
是“discharge”,然后我们从剩余的三个候选项中选择-“charge”,“absorb”和“reflect”基于他们的分数,应用Softmax函数并相应地采样。然后导出binary CRINGE loss 函数,如式29所示。
在这里插入图片描述
第一项表示postive response 的 SFT loss。第二项表示negtive response的CRINGE loss,分子是修正后的score,分子是 negtive response token的 原始score。
只需要收集用户对单个样本的postive(赞)或negtive(踩)的评价即可,不需要做成对儿样本的偏好比较,数据更容易收集。
考虑到最有效的对齐是通过偏好对齐实现的,将CRINGE从 binary feedback 扩展到偏好反馈是一个有趣的前景。更新后的pairwise CRINGE loss函数详见Eq. 30。
在这里插入图片描述
在
中,
、
、
和
被x、x、
和
代替。函数
作为控制binary CRINGE loss的 gate。 **如果
明显优于
,则
趋近于零,使损失接近于零。相反,如果
比
差很多,则
趋近于1,造成较大损失。参数
控制期望和不期望response之间的margin,而
调节损失的平滑度,类似于LLM推理期间的temperature** 。最后,作者将提出的pairwise CRINGE loss与iterative/online过程相结合,以进一步提高质量。产生了4代,通过奖励函数评价的最佳和最差的response作为一对,用于下一次迭代中改进LLM。
对于难样本(
比
差很多),给与更多的loss。对于容易的样本(
明显优于
)基于更少的权重。
在他们的实验中,作者使用AlpacaFarm[70]数据集在GPT-2[67]上测试了该方法。结果表明,pairwise CRINGE损失减少了推理过程中的重复,提高了生成质量。Pairwise CRINGE优于Binary CRINGE、PPO和DPO, iterative/online Pairwise CRINGE产生了更大的改进 。
Binary Feedback
事实证明,收集偏好反馈比收集bianry feedback 更具挑战性,例如“赞”和“踩”,后者促进了对齐过程的扩展 。随后的研究,KTO和DRO,集中在利用binary反馈来对齐LLM。
KTO
RLHF和DPO都依赖于偏好反馈,这是具有挑战性的。相比之下,二元反馈,简单地分类为“好”或“坏”,更容易获得。因此,增强对 binary feedback 数据的对齐可以显著加快整个对齐任务。
作者受到Kahneman和Tversky的prospect理论 [71]的启发。这一理论阐明了人类在不确定事件下的决策由于损失厌恶而没有使期望值最大化 。Kahneman和Tversky的前景理论的作用如图31所示。
在这里插入图片描述
其中
为参考点,
为实现结果。 **价值函数
将与参考值
相比的结果值映射为感知值,断言人类感知到的损失大于收益** 。它由两个参数表征:
控制函数的曲率,
控制函数的陡度。 反映损失厌恶,通常大于1 。 这个方程包含了人类对损失的厌恶,以及由此产生的损失函数,称为 human-aware losses(HALOs) 。SLiC[11]、PPO[72]、DPO[12]和KTO[21]等技术都属于HALOs的范畴。作者断言,HALOs 通常优于 non-HALOs。 将 Kahneman & Tversky 的前景理论应用于llm时,utility function稍作修改,如Eq. 34所示,其中reward
;使用更新后的参考点
,如Eq. 33所示,使用所有prompt及其相应response的平均奖励估计。其中,
为prompt和response pair的总数,此参考简化为最优策略
与参考策略
之间的KL散度。从修正的utility function中,可以推导出KTO的损失函数,如Eq. 32所示,其中
分别表示期望response
和非期望response
。
在这里插入图片描述
为了评估KTO的性能,作者测试了两类模型:Pythia 1.4B, 2.8B, 6.9B,12B[59]和Llama 7B, 13B, 30B[68],使用 GPT-4-0613 [4]进行评估。此外,在UltraFeedback[62]中,binary数据来源于偏好数据,期望数据转换为+1,不希望数据转换为-1。值得注意的是,尽管binary数据易于获取,但由于其主观性和潜在的噪声,作者没有对其进行测试。在这种情况下过滤掉不合理的数据是一个更有趣的挑战 。
作者发现,当
时,MMLU[63]、GSM8k[65]、HumanEval[73]、BBH[74]等下游任务的性能达到最优。这表明对收益或损失都没有明显的厌恶。鉴于这种厌恶情绪的缺乏,Kahneman & Tversky 的前景理论的必要性受到了质疑。结果显示在GSM8K中有显著的增强,而在其他任务中有微小的改进。进一步了解这一现象将是有益的。作者对数据不平衡进行了实验,证明
在1 ~
之间的最优范围可以最优地处理数据不平衡,其中
和
分别表示期望和不期望的样本数量。
DRO
直接奖励优化(DRO)[22]设计用于使用单轨迹反馈数据(如二元反馈)来对齐llm。与DPO等传统对齐技术中使用的稀缺的成对偏好数据相比,该方法旨在利用更容易获得的数据。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
Merge SFT and Alignment
以前的研究主要集中在顺序应用SFT和对齐,这种方法被证明是费力的,并导致灾难性的遗忘。随后的研究要么将这两个过程集成到一个步骤中,要么并行地进行微调,并在最后合并两个模型。
ORPO
在这里插入图片描述
在这里插入图片描述
PAFT
在这里插入图片描述
Length Control DPO and Reference Free DPO
以前的研究表明,LLM经常产生过于冗长的输出 。为了解决这个问题,R-DPO和SimPO专注于在不影响llm性能的情况下产生长度控制的response。此外,DPO需要一个reference policy 来确保对齐的模型不会明显偏离reference 模型。相比之下,SimPO和RLOO提出了一些方法来消除对reference模型的需求,同时仍然保持llm的有效性。
R-DPO
在这里插入图片描述
在这里插入图片描述
SimPO
在这里插入图片描述
没有 Reference model。加入输出长度约束,和reward margin 约束。
RLOO
在这里插入图片描述
RLOO使用K个on-policy samples的其余K-1个来估计baseline function,也剔除了reference model的依赖。GRPO用的是K个samples的均值来估计baseline function。两种方法类似。
Listwise Preference Optimization
先前对PPO和DPO的研究主要集中在 pairwise 偏好上,而RLHF的研究则收集了 listwise 偏好,以加快数据收集过程,并将其转化为 pairwise 偏好。然而,直接使用 listwise 数据集进行偏好优化以提高llm的性能是可行的。下面的三篇论文专门讨论了这种方法。
LiPO
以前的研究主要集中在成对偏好上,往往忽略了列表偏好。值得注意的是,在RLHF的背景下,包含列表偏好的数据集被收集,但随后被视为成对偏好[2]。作者指出,“human feedback 通常以排序列表的形式出现的多个response,以摊销阅读提示的成本”。尽管如此,关于优化列表偏好的研究仍然有限。这一差距形成了列表偏好优化(LiPO, Listwise Preference Optimization)[28]的核心研究问题,该研究从 Learning-to-Rank(LTR)方法中获得了灵感[82]。作者强调了列表偏好数据集的两个关键优势:(1) 以系统的方式考虑同一prompt下的所有候选人可以增强 policy 学习;(2) responses 之间的相对标签值可能有利于对齐过程 。
LiPO的损失函数如式49所示。
在这里插入图片描述
这项研究提出了有趣的发现。与成对偏好数据集相比,如果该方法在更大的llm上显示出改进,那么该方法的影响将更加引人注目。此外,从列表偏好到
的转换应通过实例进行验证,以确保其有效利用分数信息。最后,获取高质量的 pairwise 数据集是具有挑战性的,因为不同的标注者可能有不同的意见,并且一些 response 可能具有相似的质量,从而导致嘈杂的数据集 。探索从列表数据集中过滤噪声数据的方法是未来研究的一个有前途的领域。
RRHF
RLHF的训练需要一个policy模型、一个value模型(或value head)、一个reward模型和一个reference模型,这些模型可能会占用内存资源。为了解决这个问题,作者引入了Rank Responses To align Human Feedback (RRHF),这是一种通过将其集成到SFT中来简化对齐过程的方法,同时保持可比较的性能[29]。RRHF的核心概念涉及从各种模型中抽取多个回答,然后由LLM对这些回答进行评分和排名 。这些排名随后经过训练,以匹配先前训练的奖励模型或人类注释者提供的排名,如Eq. 50所示。
在这里插入图片描述
在这里插入图片描述
作者使用 Alpaca 模型[85]和Anthropic的HH数据集[3]评估了他们的方法,产生了一个名为Wombat 的新模型。该模型显示出与RLHF/PPO相当的性能,同时显着简化了对齐过程。
PRO
以前的工作主要集中在利用成对数据集的两个阶段的SFT和对齐。为了简化这一过程,作者提出了基于列表偏好数据集的偏好排序优化(PRO),可以直接实现SFT过程中的对齐[30]。可以利用任意长度的偏好排序来进行比对,而不是使用成对偏好排序。**假设有一个prompt
和
个响应
,
,根据偏好得分进行排序,即
。然后,它可以被分解成
个任务。第一项任务以
为正样本,而
为负样本。在第二个任务中,第一个response
被丢弃,
被视为正样本,而
,
,
为负样本。这个过程会持续
次** 。基于这
个任务和InfoNCE,使用初始损失函数如Eq. 51所示。
在这里插入图片描述
Negative Preference Optimization
这些研究都有一个共同的前提:当前一代LLM在翻译和总结等任务上的表现已经超过了人类。因此,将llm的输出作为期望的response是有利的,而不是依赖于人类标记的数据作为期望response。相反,不期望的response仍然可以通过称为**负偏好优化(NPO)**的过程来调整llm。
Negating Negatives
否定否定(Negating Negatives)的目的是在保持helpfulness的同时尽量减少harmfulness的影响 。由于期望response固有的模糊性和多样性,数据集中的期望response可能不是完美的,从而导致有噪声的偏好标签[86]。因此,作者认为“LLM也学会了最大化这样的
,无意中损害了harmlessness”,并建议“抛弃
,专门使用
来消除harmful response”。
在这里插入图片描述
在这里插入图片描述
Negative Preference Optimization
为了减少不期望response的可能性,使用梯度上升(GA)。然而,这种方法可能是有害的,因为它可能会降低模型在其他任务上的整体性能[88]。为了解决这个问题,引入了负偏好优化(NPO),它通过只保留负分量[32]来适应DPO的损失函数 。与遗传算法相比,NPO证明了灾难性崩溃的速度要慢得多,并且是第一种获得有效学习结果的方法,成功地忘记了50%或更多不需要的训练数据。相比之下,现有的方法甚至难以忘记10%的训练数据。
Contrastive Preference Optimization
为了提高机器翻译(MT)在中等规模llm中的性能,对比偏好优化(CPO)被提出[10]。以前的方法通过SFT改进了下游任务,如MT。然而,SFT受到可用数据的限制和人为生成数据固有的不完善的限制,特别是由于缺乏拒绝错误的机制。
为了确保生成高质量的数据,作者建议使用三种不同的模型:reference模型,GPT-4[4]和ALMA-13B-LoRA[89],来生成各自的翻译。这些翻译随后使用无参考模型进行评估。得分最高和最低的翻译分别被归类为期望输出和不希望输出。利用这个精心策划的数据集,可以训练一个模型,通过使用CPO损失函数来识别和拒绝错误,详见Eq. 54,其中
来自LLMs。
在这里插入图片描述
Nash Learning
先前的研究利用pointwise奖励和BT模型推导出pairwise偏好。然而,这种方法无法与直接的pairwise偏好建模相比较,并且无法解决pairwise偏好中的不一致性。为了克服这些限制,一些研究引入了纳什学习方法。
Nash Learning from Human Feedback
在RLHF中,通常采用pointwise奖励方法从使用BT模型的pairwise人类反馈中学习。然而,这种方法提出了两个重要问题。第一个问题是非传递性,其中 y1 > y2, y2 >y3,但 y1 < y3 。这种非传递性问题可能会在一组有不同意见的标签者中加剧。第二个问题是,BT模型得分可能无法准确捕获偏好排序,导致训练策略中的多样性问题 [90]。为了解决这些挑战,作者建议使用纳什均衡来推导偏好模型,而不是依赖于 pointwise 模型[34]。
在这里插入图片描述
然而,当将此偏好模型应用于llm时,通常会引入一个 约束 ,以 确保从对齐模型到初始模型的距离保持有限 。公式55应加以推广,纳入reference模型,如公式57所示。
在这里插入图片描述
SPPO
Self-Play Preference Learning(SPPO)将RLHF重新解释为一个两方零和博弈 [35]。这种方法消除了对奖励模型的需求,使过程对噪声、不可传递和非马尔可夫偏好具有鲁棒性 。通过利用游戏的对称性,单个代理可以采样多个轨迹,然后由人类或评估模型评估,以胜率作为奖励 。这种方法避免了对抗性训练,从而减轻了与这种训练相关的不稳定性。
SPO的概念,特别是利用 preference function 的对称性,随后被应用于对齐llm[91]。根据[92],iterative/online policy 更新详见式60。
在这里插入图片描述
DNO
在这里插入图片描述
Beyond Reverse KL Divergence
先前的研究采用KL散度来最小化策略与预训练模型之间的差异。然而,值得注意的是,在对齐过程中,LLM的奖励增加了,而其响应的多样性却减少了[95]。作者将这种多样性的减少归因于对齐中使用的KL散度项,并建议使用替代散度术语,证明了它们的影响[37]。一般的f-divergence 如式63所示。
在这里插入图片描述
在这里插入图片描述
Comparison of Different Methods
一些研究集中于比较这些不同的方法。这种综合可以阐明每种方法各自的优点和缺点。
Evaluate DPO and its variants
作者对隐式奖励模型,即RL-free算法,包括DPO、KTO、IPO和CPO,在推理、数学问题解决、真实性、问题回答和多任务理解等一系列任务中进行了全面评估。这些评估在三种不同的情况下进行:1) 对监督微调(SFT)模型进行微调,2) 对预训练模型进行微调,以及3)对指令模型进行微调[96]。研究结果表明,在大多数基准测试中,KTO始终优于其他校准方法。此外,研究表明,对齐并没有显著提高推理和问题回答任务的表现,但确实导致了数学解决问题的实质性改善。作者还指出,数据量起着至关重要的作用,对齐方法在较小的数据子集上显示出最佳性能。此外,发现KTO和CPO可以有效地绕过SFT阶段,直接进入对准阶段,而不会影响性能。相比之下,DPO和IPO在直接应用对准阶段时,表现出明显的性能下降,绕过SFT阶段。
Is DPO Superior to PPO for LLM Alignment?
作者证明DPO可能有固有的局限性,可能会产生有偏差的解决方案,并且由于分布变化而经历性能下降[97]。他们发现DPO倾向于训练有利于看不见的反应的政策,特别是分布外的样本。相反,迭代/在线DPO可以通过广泛探索响应空间和不断更新参考模型来缓解这一问题。相比之下,RLHF/PPO通过优势归一化、大批量和对参考模型使用指数移动平均来解决这些挑战。最终,研究结果表明,PPO优于迭代/在线DPO,而迭代/在线DPO又优于标准DPO。
Future Directions
在对文献分析的基础上,提出了若干有待进一步探讨的研究问题。
General Tasks for Alignment Evaluation
在审查各种论文时,使用不同的任务来评估这些方法的性能。然而,一些任务,如GSM8K[65],更侧重于推理,可能不适合评估对齐性能。相比之下,像TruthfulQA[45]这样的任务或那些解决毒性的任务应该优先用于评估微调llm的毒性。应该努力将这些任务结合起来,并为一致性评估创建一个统一的排行榜。
Apply Implicit Reward Models, Listwise Preference and Nash Learning to Larger Scale LMs
目前,内隐奖励模型方法仅适用于参数不超过70B的模型。将这些方法扩展到更大的模型,例如GPT-4和Claude-3的大小,可以深入了解它们与RLHF/PPO相比的有效性。同样,列表偏好模型值得进一步研究。在RLHF中,偏好数据集采用列表偏好收集,但随后转化为多对成对偏好。在更大范围内应用列表偏好模型的潜在问题仍有待解决。最后,纳什学习可以解决人类标注者之间的不一致性。将纳什学习模型整合到规模更大的LLM中,可以证明其捕捉人性复杂性的能力。
Experiments on Binary Feedbacks
KTO和DRO都使用binary反馈机制,如“赞”和“不赞”,而不是两两偏好。这些二元反馈来自偏好数据集,其中期望的响应被标记为积极,不希望的响应被标记为消极。需要对实际的二值数据集进行进一步的研究。此外,与成对偏好数据相比,二进制数据集更容易收集,这使得使用更大规模的二进制反馈数据集进行对齐成为可能。然而,二值反馈中的噪声可能比偏好数据集中的噪声更明显,这就提出了一个有趣的问题,即如何有效地过滤掉噪声数据。
Experiments on Helpful AI Feedback
目前的AI反馈主要包括RLAIF中的无害反馈和迭代DPO中的反馈排序。然而,在RLAIF中,有用的反馈仍然是由人类标注者提供的。这种方法是合理的,因为产生有益的反应比识别有害的反应更具挑战性。一个有趣的未来方向是使用llm来产生有用的反馈,从而使llm能够自我改进。
Speeding up Nash Learning
提出的纳什学习方法有效地对两两偏好进行建模,并解决了由于人类标记而产生的不一致。然而,它需要多次迭代才能收敛到最优策略。虽然作者没有具体说明对齐所需的时间,但与隐性奖励模型(如DPO)相比,它被认为要慢得多。这一领域值得进一步研究,以加快纳什学习过程。
Termination of Iterative/Online Learning
当应用迭代或在线训练时,确定何时终止迭代是至关重要的。先前的研究指出,迭代学习有时会降低llm在特定任务上的表现,这可能是过拟合的迹象。然而,确定停止迭代的合理时期仍然是一个未探索的领域。
Simplify SFT + Alignment
当前的方法通常以连续的方式实现SFT和校准。然而,这种方法经常导致灾难性的遗忘,并使训练过程变得费力。PAFT方法通过在合并SFT和对齐之前分别微调SFT和对齐来减轻灾难性遗忘,尽管代价是增加了复杂性。相反,ORPO技术同时集成了两个过程,但这会导致性能下降。因此,有效地结合SFT和对齐以实现高性能同时保持效率的挑战仍然没有解决。