网站申请了如何上传到服务器在线免费看影视网站
- 作者: 五速梦信息网
- 时间: 2026年04月20日 07:30
当前位置: 首页 > news >正文
网站申请了如何上传到服务器,在线免费看影视网站,设计兼职网站推荐,wordpress自定义page需要LLM在训练过程中做生成的方法是 On Policy#xff0c;其余的为Off Policy。 On Policy是包含了反馈机制#xff0c;Off Policy不包含反馈机制。 若进行环境交互的模型与被更新的模型是相同的模型#xff0c;通常这种更新策略被称为on-policy的策略。on-policy的方法会有… 需要LLM在训练过程中做生成的方法是 On Policy其余的为Off Policy。 On Policy是包含了反馈机制Off Policy不包含反馈机制。 若进行环境交互的模型与被更新的模型是相同的模型通常这种更新策略被称为on-policy的策略。on-policy的方法会有一个问题使用当前与环境交互的模型1得到的数据不一定适合被用来更新得到模型2并且需要每次更新都重新交互得到数据十分的耗时。 而与之相对应的off-policy通过使用其他Actor中与环境交互得到的数据来更新被训练的模型也即进行环境交互的模型与被更新的模型是不同的模型。Off-policy的方式可以使用同一批采样数据多次更新模型。 一 PPO(Proximal Policy Optimization) 训练AC时需要与环境交互来采样很多轨迹然后利用这些轨迹训练Actor和Critic然而这一过程是十分费时的这可能导致我们无法高效的采集大量数据进而充分的训练模型。因此我们考虑是否能将已有的轨迹数据复用以提高训练效率。 这一思路将我们指向了off-policy RL的道路。具体而言我们希望有两个策略网络π1和π2其中π1不断与环境交互收集数据这些数据可以重复使用以训练π2的参数。 有了这些铺垫我们终于得到了一个可以高效训练的RL算法Proximal Policy OptimizationPPO近期获得很大关注的InstructGPT、ChatGPT便在底层使用了PPO进行强化学习。PPO是一种对上述Off-policy RL目标的实现分析其优化目标不难发现它首先最大化原始优化目标A*π2/π1其次又防止π2/π1偏离1太多即控制了两个分布的差距。 1.1 训练步骤 收集人类反馈人工标注数据 以summary任务为例随机从数据集中抽取问题对于每个问题生成多个不同的回答 人工标注判断哪个回答更符合人类期望给出排名训练奖励模型reward model RM 对多个排序结果两两组合形成多个训练数据对 奖励模型接受一对输入输出数据给出评价回答质量分数 标量奖励数值上表示人的偏好 调节参数使得高质量回答的打分比低质量的打分要高。采用PPO强化学习优化策略Proximal Policy Optimization近端策略优化 从数据集中抽取问题使用PPO模型包括ref model、actor model生成回答即不需要人工标注并利用第二阶段训练好的奖励模型打分 把奖励分数依次传递由此产生策略梯度通过强化学习的方式更新PPO模型参数训练目标是使得生成的文本要在奖励模型上获得尽可能高的得分。 1.2 RM模型的训练 人工标注一些偏好数据例如对于一个输入我们让模型给出若干输出并由标注人员对这些输出的好坏程度进行排序并通过对比学习让RM最大化好输出与坏输出的分数差。 pairwise ranking loss: RM 模型的目标是使得排序高的答案yw对应的标量分数要高于排序低的答案yl对应的标量分数且越高越好也就是使得损失函数中的rθ(x,yw)−rθ(x,yl)这个差值越大越好。’ 将相减后的分数通过 sigmoid 函数差值变成 - 1 到 1 之间由于 sigmoid 函数是单调递增的函数因此σ(rθ(x,yw)−rθ(x,yl))越大越好。越接近 1表示yw比yl排序高属于 1 这个分类反正属于 - 1 这个分类所以这里也可以看成是一个二分类问题。 奖励模型中每个问题对应的答案数量即K值为什么选 9 更合适而不是选择 4 呢 进行标注的时候需要花很多时间去理解问题但答案之间比较相近假设 4 个答案进行排序要 30 秒时间那么 9 个答案排序可能就 40 秒就够了。9 个答案与 4 个答案相比生成的问答对多了 5 倍从效率上来看非常划算 K9时每次计算 loss 都有 36 项rθ(x,y)需要计算RM 模型的计算所花时间较多但可以通过重复利用之前算过的值也就是只需要计算 9 次即可能节约很多时间。 奖励模型的损失函数为什么会比较答案的排序而不是去对每一个答案的具体分数做一个回归 每个人对问题的答案评分都不一样无法使用一个统一的数值对每个答案进行打分。如果采用对答案具体得分回归的方式来训练模型会造成很大的误差。但是每个人对答案的好坏排序是基本一致的。通过排序的方式避免了人为的误差。 1.3 生成模型训练 “输入-生成模型输出-RM反馈”作为一个只有一步的轨迹输入是s1输出是a1RM的反馈是奖励并在这些轨迹上利用PPO进行强化学习。 训练过程中policy model 会不断更新为了不让它偏离SFT阶段的模型太远OpenAI在训练过程中增加了KL离散度约束保证模型在得到更好的结果同时不会跑偏这是因为Comparison Data不是一个很大的数据集不会包含全部的回答对于任何给定的提示都有许多可能的回答其中绝大多数是 RM 以前从未见过的。对于许多未知提示、响应对RM 可能会错误地给出极高或极低的分数。如果没有这个约束模型可能会偏向那些得分极高的回答它们可能不是好的回答。 RL 模型的优化目标是使得RL模型生成的文本在奖励模型中的得分越高越好损失函数可以分为三个部分打分部分、KL 散度部分以及预训练部分。 打分部分将 RL 模型的问题数据集x通过π_ϕRL模型得到答案y然后再把这对(x,y)代入 RW 模型进行打分即损失函数公式中的rθ(x,y)。该分数越高代表模型生成的答案越好。KL 散度部分在每次更新参数后π_ϕRL会发生变化x通过π_ϕRL生成的y也会发生变化而rθ(x,y)奖励模型是根据π_SFT模型的数据训练而来。如果π_ϕRL和πSFT差的太多则会导致rθ(x,y)的分数估算不准确。因此需要通过 KL 散度来计算π_ϕRL生成的答案分布和πSFT生成的答案分布之间的距离使得两个模型之间不要差的太远。损失函数公式中的log(π_ϕRL(y∣x)/πSFT(y∣x))就是在计算 KL 散度。由于 KL 散度是越小越好而训练目标是损失函数越大越好因此在前面需要加上一个负号。预训练部分预训练部分对应损失函数中的Ex∼Dpretrain[log(πϕRL(x))]。如果没有该项那么模型最终可能只对这一个任务能够做好在别的任务上会发生性能下降。因此需要将预训练阶段的目标函数加上使得前面两个部分在新的数据集上做拟合的同时保证原始的数据也不会丢弃。 二 DPO (Direct Preference Optimization) 论文https://arxiv.org/pdf/2305.18290.pdf NIPS 2023 解读https://zhuanlan.zhihu.com/p/642569664 loss的解读很清晰提供了最小实现 DPO 的核心思想 2.1 DPO 的核心思想 跳过了奖励建模步骤直接使用偏好数据优化语言模型 解决三个阶段的训练SFT-RM-PPO过程较长更新迭代较慢的问题 https://juejin.cn/post/7302993899106713600 DPO (Direct Preference Optimization) 提出了一种使用二进制交叉熵目标来精确优化 LLM 的方法以替代基于 RLHF 的优化目标从而大大简化偏好学习 pipeline。也就是说完全可以直接优化语言模型以实现人类的偏好而不需要明确的奖励模型或强化学习。 与现有的算法一样DPO 也依赖于理论上的偏好模型如 Bradley-Terry 模型以此衡量给定的奖励函数与经验偏好数据的吻合程度。然而现有的方法使用偏好模型定义偏好损失来训练奖励模型然后训练优化所学奖励模型的策略而 DPO 使用变量的变化来直接定义偏好损失作为策略的一个函数。鉴于人类对模型响应的偏好数据集DPO 因此可以使用一个简单的二进制交叉熵目标来优化策略而不需要明确地学习奖励函数或在训练期间从策略中采样。 2.2 DPO 的Loss 三 KTO: (Kahneman-Tversky Optimization) https://zhuanlan.zhihu.com/p/693163438 论文https://arxiv.org/pdf/2402.01306.pdf 代码https://github.com/ContextualAI/HALOs DPO依赖特殊的训练数据问题 - 期望回答 - 拒绝回答 KTO避免了这个问题只要告诉我这个回答是不是所期望的就行。 具体做法也很简单把DPO的loss拆分成正负两部分 如果只有正样本那就只计算正样本的loss 如果只有负样本那就只计算负样本的loss 如果正负样本都有像DPO那种数据那就都计算 r是DPO、RLHF中的lossz是KL散度 四 ODPO(DPO with an offset) 论文https://arxiv.org/abs/2402.10571 代码https://github.com/rycolab/odpo 出发点是并非所有的偏好对都是相等程度的在某些情况下首选响应只比不受欢迎的响应稍微好一点而在另一些情况下对一个响应的偏好可能更强烈例如当另一个响应包含有害或有毒内容时。 本文提出了DPO的一种泛化形式称为带偏移的DPOODPO在微调过程中不会平等对待每个偏好对。直观地说ODPO要求首选响应和不受欢迎响应之间的可能性差异大于一个偏移值。偏移值的确定基于一个响应相对于另一个响应的偏好程度。 实现也很简单类似于triplet loss加了一个offset 方法一手动指定绝对值 方法二指定比例 五 ORPO(Odds Ratio Preference Optimization) 解释的很清晰从PPO到DPO到ORPO ORPO是一种创新的方法旨在通过单步过程直接优化语言模型而不需要独立的奖励模型或参考模型。这种方法通过修改传统的有监督微调SFT阶段的损失函数实现以便更直接地对偏好进行学习和优化。 key sightsSFT可以有效提升正确样本的生成概率但是SFT之后正样本和负样本的生成概率有同时上升的现象从而导致SFT之后还需要一个进一步的纠正。 该现象的原因SFT交叉损失熵 L−m1k1∑mi1∑∣V∣yi(k)⋅log(pi(k)) 其中 yi 是一个布尔值表示词汇表V中的第i个标记是否为标签标记 pi 表示第 i 个标记出现的概率m表示序列的长度。单独使用交叉熵不会对non-answer令牌的对数进行直接惩罚 因为 yi 将被设置为0没有机制来惩罚被拒绝的响应因此被拒绝的响应中令牌的对数概率随着选择的响应而增加这从偏好对齐的角度来看是不希望的。 SFT loss对于rejected data没有惩罚项所以SFT阶段不仅使得chosen data的Log Probability增加了同时也增加了rejected data的Log Probability。通过实验观察验证了这个假设。可以看到只用正例做SFT的同时观察负例的生成概率会得到结论两者是同时上升的。通过ORPO的loss改进这个问题得到了解决。 5.1 梯度对比 ORPO从本质上来说和DPO在解决的是同一个问题拉远正负样本的距离让模型更好地区分正负样本。 区别在于DPO是RLHF的一个无损推理收敛到最优的policy上ORPO则采用了加入惩罚项来加速模型更新。 Lratio的梯度进一步证明了使用优势比损失的合理性。由两个项组成一个用于惩罚错误的预测δ(d) 一个用于对比选择和拒绝的相应h(d) . 当有利响应的几率相对高于不利响应时式9中的 δ(d) 将收敛于0。这表明 δ(d) 将扮演惩罚项的角色如果模型更有可能产生被拒绝的响应则加速参数更新。 公式中的h(d)表示选择响应和拒绝响应的两个梯度的加权对比。具体来说当似然P(y|x)的对应侧较低时分母中的1−P(y|x)放大了梯度。即当P不够大的时候1-P 可以放大这一项从而加速优化。 5.2 计算负荷对比 与RLHF和DPO不同ORPO不需要参考模型。从这个意义上说ORPO在两个方面比RLHF和DPO计算效率更高: • 内存分配 • 每批更少的FLOPsDPO4次前向传递 vs ORPO2次 RLHF和DPO背景下的参考模型( π SFT)表示经过监督微调(SFT)训练的模型该模型将作为RLHF或DPO更新参数的基线模型。因此在训练过程中需要两个 πSFT一个是冻结的参考模型另一个是经过调整的模型。此外理论上每个模型应计算两次正向传递以获得所选响应和被拒绝响应的对数。换句话说对于单个批次总共发生了四次向前传递。另一方面由于 π SFT是直接更新的ORPO中不需要参考模型。这导致训练期间每批前传次数减少了一半。 六 simPO 详细参考参考1-微信文章 相比DPOsimPO不需要reference model并且有更好的效果。simPO的另一个好处是能够保持生成结果在较短长度下的质量。 6.1 DPO的局限 DPO的reward function有一个closed-form expression 基于此通过Bradley-Terry model进行建模得到损失函数 理论上DPO的优化目标和RLHF是一致的但是DPO有两个缺陷 仍然需要一个reference model这样依然有比较大的内存和计算开销训练过程中优化的reward和推理时的生成指标存在差异也就是训练和推理的目标不完全对齐 第二点怎么理解呢模型在自回归生成response时理论上是寻找最大化所有token平均log likelihood的组合即 当然实际上这个组合空间太大了没法直接遍历寻找因此会使用一些解码策略来寻找局部最优解比如greedy decoding、beam search或者top-k sampling等不过我们还是可以按这个公式近似计算。另外这个公式还是可用在多个response/多选题的排序上的。 可以看到推理时的这个目标和DPO的reward差了个reference model。那么在DPO里满足 论文做了一个统计对于DPO满足 和 两个结果对齐的比例大概只有50%如下图所示 这就是训练和推理目标没有完全对齐。 6.2 simPO可以完全对齐 从上面这个分析我们自然就想到要把训练的目标往推理目标上靠拢对齐。那么最直接的做法就是把reward从 这里省略了配分函数Z变成 注意这里有个长度归一化项这个很重要没有这一项的话模型会倾向于生成长度更长但是低质量的内容。 除了修改reward的计算simPO和IPO、ODPO一样引入了一个reward margin这是一个固定的超参要求winning response和losing response的reward差值要大于reward margin 按已有的经验增大这个margin有助于提高模型泛化能力但是太大的margin也会导致模型的退化。 至此我们得到了simPO的损失函数 6.3 梯度区别 DPO和simPO的梯度有两个主要区别 梯度权重simPO的梯度权重没有包含reference model这样当policy model给dispreferred response更高的reward的时候权重就会变大加强对这个错误case的修正力度。simPO的梯度更新带有length-normalized而如《Disentangling length from quality in direct preference optimization》所发现DPO里更长的token会有更大的梯度值从而主导了梯度更新的过程这导致训练出来的模型倾向于生成更长的模型。 10 综述 论文标题A Comprehensive Survey of LLM Alignment Techniques: RLHF, RLAIF, PPO, DPO and More 论文地址https://arxiv.org/pdf/2407.16216 奖励模型的子主题包括1. 显式奖励模型与隐式奖励模型2. 逐点奖励模型与偏好模型3. 响应层面的奖励与 token 层面的奖励4. 负偏好优化。 反馈的子主题包括1. 偏好反馈与二元反馈2. 成对反馈与列表反馈3. 人类反馈与 AI 反馈 强化学习的子主题包括1. 基于参考的强化学习与无参考的强化学习2. 长度控制式强化学习3. 强化学习中的不同分支4. 在线策略强化学习与离线策略强化学习。 优化的子主题包括1. 在线 / 迭代式偏好优化与离线 / 非迭代式偏好优化2. 分离 SFT 和对齐与合并 SFT 和对齐。 10.1 直接人类偏好优化 传统 RLHF 方法通常涉及到优化源自人类偏好的奖励函数。该方法虽有效但也可能带来一些难题比如增大计算复杂度以及在估计和优化奖励时需要考虑偏置 - 方差权衡。参阅论文《High-dimensional continuous control using generalized advantage estimation》。 近期有研究探索了其它一些旨在根据人类偏好无需依赖某个标量的奖励信号来直接优化 LLM 策略的方法。 这些方法的目标是通过更直接地使用偏好数据来简化对齐流程、降低计算开销以及实现更稳健的优化。通过将该问题描述为一个偏好优化问题而不是奖励估计和最大化问题这些方法能提供一种将语言模型与人类判断对齐的不同视角 SliC-HF使用人类反馈进行序列似然校准参阅论文《SliC-HF: Sequence likelihood calibration with human feedback》。 RSO拒绝采样优化参阅论文《Statistical rejection sampling improves preference optimization》。 DPO直接偏好优化参阅论文《Direct preference optimization: Your language model is secretly a reward model》。 DPOPDPO-positive参阅论文《Smaug: Fixing failure modes of preference optimisation with DPO-positive》。 β-DPO参阅论文《β-DPO: Direct preference optimization with dynamic β》。 IPO身份偏好优化参阅论文《A general theoretical paradigm to understand learning from human preferences》。 sDPO逐步 DPO参阅论文《sDPO: Don’t use your data all at once》。 GPO广义偏好优化参阅论文《Generalized preference optimization: A unified approach to offline alignment》。 10.1 token 级 DPO 使用 DPO 时奖励会被一起分配给 prompt 和响应。相反使用 MDP 时奖励会被分配给各个动作。后续的两篇论文在 token 层面阐述了 DPO 并将其应用扩展到了 token 级的分析。 DPO 可以执行 token 级信用分配的研究参阅论文《From r to Q∗: Your language model is secretly a Q-function》报道《这就是 OpenAI 神秘的 Q*斯坦福语言模型就是 Q 函数》。 TDPOtoken 级 DPO参阅论文《Token-level direct preference optimization》。 10.2 迭代式 / 在线 DPO 使用 DPO 时会使用所有可用的偏好数据集来对齐 LLM。为了持续提升 LLM应当实现迭代式 / 在线 DPO。这就引出了一个有趣的问题如何高效地收集新的偏好数据集。下面两篇论文深入探讨了这一主题。 自我奖励式语言模型参阅论文《Self-rewarding language models》。 CRINGE参阅论文《The cringe loss: Learning what language not to model》。 10.3 二元反馈 事实证明收集偏好反馈比收集二元反馈比如点赞或点踩的难度大因此后者可促进对齐过程的扩展。KTO 和 DRO 这两项研究关注的便是使用二元反馈来对齐 LLM。 KTOKahneman-Tversky 优化参阅论文《KTO: Model alignment as prospect theoretic optimization》。 DRO直接奖励优化参阅论文《Offline regularised reinforcement learning for large language models alignment》。 10.4 融合 SFT 和对齐 之前的研究主要还是按顺序执行 SFT 和对齐但事实证明这种方法很费力并会导致灾难性遗忘。后续的研究有两个方向一是将这两个过程整合成单一步骤二是并行地微调两个模型最终再进行融合。 ORPO比值比偏好优化参阅论文《ORPO: Monolithic preference optimization without reference model》。 PAFT并行微调参阅论文《PAFT: A parallel training paradigm for effective llm fine-tuning》。 10.5 长度控制式 DPO 和无参考 DPO 之前有研究表明LLM 的输出往往过于冗长。为了解决这个问题R-DPO 和 SimPO 的关注重心是在不影响生成性能的前提下实现对响应长度的控制。 此外DPO 必需参考策略来确保已对齐模型不会与参考模型有太大偏差。相较之下SimPO 和 RLOO 提出了一些方法可以在不影响 LLM 效果的情况下消除对参考模型的需求。 R-DPO正则化 DPO参阅论文《Disentangling length from quality in direct preference optimization》。 SimPO简单偏好优化参阅论文《SimPO: Simple preference optimization with a reference-free reward》报道《全面超越 DPO陈丹琦团队提出简单偏好优化 SimPO还炼出最强 8B 开源模型》。 RLOOREINFORCE Leave-One-Out参阅论文《Back to basics: Revisiting reinforce style optimization for learning from human feedback in LLMs》。 10.6 逐列表的偏好优化 之前在 PPO 和 DPO 方面的研究关注的是成对偏好而 RLHF 方面的研究则是收集逐列表的偏好来加速数据收集过程之后再将它们转换成成对偏好。尽管如此为了提升 LLM 的性能直接使用逐列表的数据集来执行偏好优化是可行的。以下三篇论文专门讨论了这种方法。 LiPO逐列表偏好优化参阅论文《LIPO: Listwise preference optimization through learning-to-rank》。 RRHF参阅论文《RRHF: Rank responses to align language models with human feedback without tears》。 PRO偏好排名优化参阅论文《Preference ranking optimization for human alignment》。 10.7 负偏好优化 这些研究有一个共同前提当前这一代 LLM 已经在翻译和总结等任务上超越了人类性能。因此可以将 LLM 的输出视为期望响应而无需依靠将人类标注的数据视为偏好响应这样做是有好处的。反过来不期望得到的响应依然也可被用于对齐 LLM这个过程就是所谓的负偏好优化NPO。 NN否定负例方法参阅论文《Negating negatives: Alignment without human positive samples via distributional dispreference optimization》。 NPO负例偏好优化参阅论文《Negative preference optimization: From catastrophic collapse to effective unlearning》。 CPO对比偏好优化参阅论文《Contrastive preference optimization: Pushing the boundaries of llm performance in machine translation》。 10.8 纳什学习 之前的研究通常是使用逐点奖励和 BT 模型来得到成对偏好。但是这种方法比不上直接成对偏好建模并且无法解决成对偏好中的不一致问题。为了克服这些局限一些研究提出了纳什学习方法。 根据人类反馈的纳什学习参阅论文《Nash learning from human feedback》。 SPPO自博弈偏好优化参阅论文《A minimaximalist approach to reinforcement learning from human feedback》。 DNO直接纳什优化参阅论文《Direct nash optimization: Teaching language models to self-improve with general preferences》。 10.9 不同方法的比较 一些研究则是为了比较这些不同方法。这类研究可以阐释每种方法各自的优缺点。 评估 DPO 及其变体 论文《Insights into alignment: Evaluating dpo and its variants across multiple tasks》在推理、数学问题求解、可信度、问答和多任务理解等多种任务上全面评估了隐式奖励模型即无强化学习算法包括 DPO、KTO、IPO 和 CPO。这些评估涉及三个不同场景1) 微调监督式微调SFT模型、2) 微调预训练模型、3) 微调指令模型。 该研究发现在大多数基准上KTO 比其它对齐方法更优。此外研究表明对齐并不会显著提升模型的推理和问答性能但确实能大幅提升模型的数学问题求解能力。该研究还注意到了数据量的重要性对齐方法在较小的数据子集上的性能最佳。此外研究发现 KTO 和 CPO 能有效绕过 SFT 阶段在不影响性能的前提下直接进入对齐阶段。相比之下当绕过 SFT 阶段直接进入对齐阶段时 DPO 和 IPO 会表现出明显的性能下降。 DPO 是比 PPO 更好的 LLM 对齐方法吗 论文《Is DPO superior to PPO for LLM alignment? A comprehensive study》表明DPO 可能存在固有局限可能会产生有偏差的解答并可能由于分布变化而导致性能下降 他们发现DPO 训练出的策略倾向于未曾见过的响应尤其是分布外的样本。而迭代式 / 在线 DPO 则能缓解这个问题其做法是广泛探索响应空间并不断更新参考模型。相较之下RLHF/PPO 则是通过优势归一化、大批量大小以及对参考模型使用指数移动平均来解决这些挑战。最终这些发现表明 PPO 优于迭代式 / 在线 DPO而这又进一步优于标准 DPO。
- 上一篇: 网站申请备案流程网站制作标准
- 下一篇: 网站申请名称和域名贵州企业官网建设
