当前位置: 首页 > news >正文

做网站的怎么赚钱建筑施工特种作业证件查询官网

做网站的怎么赚钱,建筑施工特种作业证件查询官网,网页版传奇排行,帮别人做网站从 PPO、DPO 到 GRPO#xff1a;大语言模型策略优化算法解析 背景与简介 大语言模型#xff08;LLM#xff09;的训练通常分为预训练和后训练两个阶段。预训练阶段#xff0c;模型在海量文本上学习下一词预测的能力#xff1b;后训练阶段#xff0c;我们希望进一步对齐…从 PPO、DPO 到 GRPO大语言模型策略优化算法解析 背景与简介 大语言模型LLM的训练通常分为预训练和后训练两个阶段。预训练阶段模型在海量文本上学习下一词预测的能力后训练阶段我们希望进一步对齐模型输出与人类偏好使模型给出的答案更符合人类期待。这常通过人类反馈强化学习RLHF来实现。RLHF的典型流程是先让人类对模型的不同回答进行比较得到偏好数据然后训练一个奖励模型来评估回答质量最后用强化学习方法微调语言模型的策略使其生成被奖励模型高评分的回答。这一过程中诞生了多种策略优化算法最知名的是OpenAI提出的近端策略优化PPO。PPO在InstructGPT等工作中成功将RLHF应用于GPT-3模型微调大幅提升了问答的有用性和无害性。 然而RLHF的传统实现如PPO涉及训练多个模型策略、价值、奖励、参考和反复采样流程复杂、资源开销大。为简化这一过程斯坦福研究者于2023年提出了直接偏好优化DPO通过巧妙的损失函数直接用偏好数据微调模型避免了显式的强化学习循环。同时DeepSeek团队在2024年前后提出了组相对策略优化GRPOGeneralized Reward Policy Optimization这是对PPO的一种改进通过组内比较优势来优化策略去除了价值网络使大型模型的RLHF训练更加高效稳定。 本文将对这三种算法——PPO、DPO和GRPO——的原理和应用进行深入解析并重点围绕在大型语言模型上提升问答质量这一场景展开讨论。我们将介绍每种算法的基本思想和数学公式用通俗语言逐步解释比较它们在训练流程、优化目标、稳定性和样本效率上的异同并总结各自优缺点及适用场景。 PPO近端策略优化 基本原理与RLHF背景 PPOProximal Policy Optimization是2017年提出的一种策略梯度算法旨在改进早期强化学习方法不稳定、难调优的问题。它通过限制每次策略更新的幅度保证训练稳定被称为“近端”优化即小步伐地调整策略。在LLM对齐任务中OpenAI在InstructGPT中成功应用了PPO用人类偏好数据训练奖励模型然后以该奖励为指导用PPO微调GPT-3使其生成人类更喜欢的回答例如更有帮助、无害。这种方法也用于ChatGPT的训练被证明可以显著提高模型回答质量和对话能力。 RLHF训练流程PPO范式 在RLHF中使用PPO训练LLM可以概括为以下步骤 生成样本Rollout 让当前的策略模型LLM针对一批提示问题生成回答即一系列动作序列。在语言模型场景下一次完整回答可以看作一个episode生成的每个token视为一个行动。需要保存这些动作的对数概率以供后续计算。 计算奖励 对于每个生成的完整回答由奖励模型进行评分提供一个标量奖励信号衡量回答的好坏。通常只有在回答结束时才能得到最终的奖励分数表示整个回答的质量例如是否有用、正确。另外实践中常加入一个与参考模型输出的比较奖励如KL罚项来约束回答不要偏离初始模型太远。 估计优势Advantage 计算每个时间步token的优势值用于衡量在当前策略下该动作比“平均”期望好多少。PPO一般借助 价值函数Critic 来估计状态的价值从而计算优势。常用 广义优势估计GAE 来平衡高方差的蒙特卡洛估计和高偏差的时间差分估计。简单来说GAE根据奖励信号和价值网络预测综合考虑多个步骤的回报计算出每个token的优势 A t A_t At​提高评估稳定性。 更新策略PPO优化步骤 基于采样得到的策略 π θ \pi_\theta πθ​和旧策略 π old \pi_{\text{old}} πold​定义概率比率 r ( θ ) π θ ( a t ∣ s t ) π old ( a t ∣ s t ) r(\theta)\frac{\pi_\theta(a_t|s_t)}{\pi_{\text{old}}(a_t|s_t)} r(θ)πold​(at​∣st​)πθ​(at​∣st​)​。PPO的核心目标是最大化以下期望目标取负号即得到损失函数 L PPO ( θ ) E [ min ⁡ { r ( θ ) ⋅ A , clip ( r ( θ ) , 1 − ϵ , 1 ϵ ) ⋅ A } ] L_{\text{PPO}}(\theta) \;\; \mathbb{E}\Big[\min\{r(\theta)\cdot A,\; \text{clip}(r(\theta),\,1-\epsilon,\,1\epsilon)\cdot A\}\Big] \, LPPO​(θ)E[min{r(θ)⋅A,clip(r(θ),1−ϵ,1ϵ)⋅A}] 其中 ϵ \epsilon ϵ是超参数如0.1或0.2用于限制策略概率比的变化幅度。上述剪裁代理目标通过 min ⁡ \min min操作保证 r ( θ ) r(\theta) r(θ)超出区间 [ 1 − ϵ , 1 ϵ ] [1-\epsilon,1\epsilon] [1−ϵ,1ϵ]时按照边界值计算目标从而惩罚策略一次更新过大提升训练稳定性。此外完整的PPO目标中还包含 (a) KL散度正则项度量新旧策略分布差异若偏离过大则施加惩罚(b) 熵奖励项鼓励策略保持一定随机性增加生成回答的多样性以避免过早收敛。这些项共同确保模型在追求高奖励的同时不会过度偏离原有分布而崩溃并维持一定探索性。结合以上各项组合形成PPO的总损失函数。训练时对损失求梯度更新策略网络参数 θ \theta θ。 更新价值网络 训练 价值函数Critic 去拟合新策略下的状态价值以便下次迭代计算更准确的优势。价值网络的更新通常通过最小化TD误差或优势的均方误差来完成。 通过反复采样和更新上述循环不断进行若干轮使LLM策略逐步提升回答质量并满足人类偏好。 数学公式解读 上面第4步提到的PPO策略优化目标是其核心。直观解释如下 鼓励高奖励 项 r ( θ ) ⋅ A r(\theta)\cdot A r(θ)⋅A会在优势 A A A为正说明该动作优于基准且 r 1 r1 r1新策略提高了该动作概率时增大目标值相当于鼓励提高优质动作的概率反之对于 A A A为负的情况 r 1 r1 r1才能提高目标意味着降低不良动作概率。这确保模型倾向于产生奖励高的文本。限制策略改变幅度 使用 min ⁡ \min min和 clip \text{clip} clip实现“剪切”效果即当 r ( θ ) r(\theta) r(θ)偏离1超过 ϵ \epsilon ϵ时用 1 ± ϵ 1\pm\epsilon 1±ϵ替代。这样防止每次更新把策略推得离原策略太远保证训练的平稳收敛。KL散度惩罚 在实际实现中会计算新旧策略间的平均KL散度 K L ( π θ old ∣ ∣ π θ ) \mathrm{KL}(\pi_{\theta_{\text{old}}}||\pi_\theta) KL(πθold​​∣∣πθ​)并将其乘以系数 β \beta β加入损失。如果新旧分布差异过大损失增大从而约束策略不要剧烈变化。这与上述剪裁效果类似进一步增强稳定性。熵奖励 额外加入 H ( π θ ) H(\pi_\theta) H(πθ​)的熵项或等价的负熵作为损失鼓励策略保持适度随机。这样可防止模型输出过于墨守成规避免陷入局部最优。在实现中一般给予一个 λ \lambda λ系数来平衡熵项。 PPO的完整损失函数可表示为 L PPO − L PPO ( θ ) β K L ( π θ old ∣ ∣ π θ ) − λ H ( π θ ) \mathcal{L}_{\text{PPO}} -L_{\text{PPO}}(\theta) \beta\mathrm{KL}(\pi_{\theta_{\text{old}}}||\pi_\theta) - \lambda H(\pi_\theta) LPPO​−LPPO​(θ)βKL(πθold​​∣∣πθ​)−λH(πθ​)负号是因为我们最大化 L L L等价于最小化损失。这一公式融合了以上各点实现了在保持旧策略“近端”的前提下提升新策略回报的目标。 优缺点总结 PPO在RLHF中取得了巨大成功其优点在于1相比早期方法如TRPO算法简单易实现且不需要复杂的二次优化2通过剪裁和KL约束训练稳定且效果较好大幅减少了策略发散的风险3经过InstructGPT等验证PPO非常有效地提升了LLM回答的质量和对齐度是ChatGPT等产品背后的关键技术。然而PPO的缺点也不容忽视首先RLHF的PPO管线十分复杂涉及四个模型策略/Actor、价值网/Critic、奖励模型、参考模型其中Actor和Critic需要训练Reward和Reference需要维护大模型场景下占用巨量内存。这对计算资源要求极高。其次PPO有不少超参数例如 ϵ \epsilon ϵ、 β \beta β、 λ \lambda λ等需要精心调校不同任务需要调整调参成本大。再次策略需要不断采样交互生成新回答让奖励模型打分训练过程漫长且对样本效率要求高——往往需要生成大量样本才能取得良好效果。最后尽管PPO稳定性相对较好但在大模型上仍有可能出现奖励作弊、梯度爆炸等不稳定现象需要通过技巧如设定KL惩罚系数上限、分阶段训练等来缓解。 适用场景 考虑到PPO的开销和效果一般在有充足算力和数据的情况下使用PPO来对齐大模型。例如在需要构建像ChatGPT这样高质量的对话模型时PPO是经典选择。它适用于各种通用任务的偏好优化包括开放问答、对话、摘要等只要有训练好的奖励模型引导。PPO特别适合于需要在线探索的情况当我们希望模型不仅模仿训练数据而且通过与奖励模型交互自主发现更优答案时PPO的强化学习机制可以不断产生新回答并优化它们的得分。这在训练数据有限但可以通过人类或奖励模型反复评价新输出时很有价值。简而言之如果项目规模较大、能够承受复杂的RLHF流程并追求极致的模型性能那么PPO仍是一个可靠的选择。 DPO直接偏好优化 基本原理与背景 直接偏好优化Direct Preference Optimization是2023年斯坦福提出的新方法号称“RLHF不用RL”。DPO的核心思想是直接利用人类偏好数据微调策略跳过奖励模型拟合和强化学习采样环节。换句话说不再通过“奖励模型评估 - 策略梯度更新”这种间接方式而是直接告诉模型哪种回答更好让模型调高优质回答的概率、降低劣质回答的概率。这种直接优化通过一个精心设计的损失函数实现本质上是一个二分类交叉熵损失判断“给定提示下回答A是否优于回答B”。由于采用了对数几率logit比较的方法DPO能够隐式地重现RLHF中的“最大化奖励KL约束”目标但形式上不需要显式奖励模型和复杂的RL算法。研究表明DPO优化得到的策略实际上对应于某个隐含的奖励函数的最优策略与传统RLHF解相同但训练过程大大简化。DPO可以被视为一种单阶段偏好对齐方法只用一遍偏好数据直接微调模型无需像PPO那样循环采样、训练多模型大幅降低算力要求。 在LLM问答场景中DPO的应用非常直接我们收集了一批用户问题和模型回答对每对里有人类标注出哪个回答更优。DPO用这些比较结果来调教模型使其下次面对类似问题时更倾向于输出人类偏好的回答。这对提升问答质量很有效因为它直接根据用户偏好来“拉升”好回答、抑制差回答相当于沿着人类偏好的方向调整模型行为。 训练流程 DPO的训练和普通的有监督微调有几分相似但更巧妙地利用了参考模型的信息。其大致流程首先准备好偏好数据例如 ( P r o m p t , R e s p o n s e A , R e s p o n s e B , l a b e l ) (Prompt, Response_A, Response_B, label) (Prompt,ResponseA​,ResponseB​,label)其中label表明在该提示下人类更喜欢 A A A还是 B B B。一般这些数据来源于人类比较模型输出的结果。在训练时我们维护一个参考模型通常取原始SFT微调模型的拷贝并冻结参数用来提供一个基准行为供比较。对每个偏好样本将 A A A和 B B B分别送入当前模型和参考模型得到它们各自对这两个回答的logits或对数概率。然后利用这些对数概率构造损失 计算对数几率差 Δ ( log ⁡ π θ ( A ) − log ⁡ π θ ( B ) ) − ( log ⁡ π ref ( A ) − log ⁡ π ref ( B ) ) \displaystyle \Delta \Big(\log \pi_\theta(A) - \log \pi_\theta(B)\Big)-\Big(\log \pi_{\text{ref}}(A) - \log \pi_{\text{ref}}(B)\Big) Δ(logπθ​(A)−logπθ​(B))−(logπref​(A)−logπref​(B))。这里 π θ \pi_\theta πθ​是当前模型策略 π ref \pi_{\text{ref}} πref​是参考模型策略。这个对数差值直观上衡量了“当前模型相对于参考模型对A优于B的信念”。如果当前模型相对参考模型更偏好A Δ \Delta Δ为正反之为负。参考模型的引入相当于一个隐式baseline确保模型别一味把 A A A概率提到100%、 B B B降到0%而是相对于参考模型适度调整以防训练漂移失控。将对数差映射为偏好概率通过sigmoid函数 σ ( x ) \sigma(x) σ(x)即Logistic回归计算 P θ ( A ≻ B ) 1 1 exp ⁡ ( − β , Δ ) \displaystyle P_{\theta}(A \succ B) \frac{1}{1\exp(-\beta,\Delta)} Pθ​(A≻B)1exp(−β,Δ)1​。这里 β \beta β是超参数类似于RLHF中的“温度”或奖励放大系数控制着KL约束力度。此公式实际上来自Bradley-Terry模型对应于“模型判定A优于B的概率”。定义偏好分类损失对于标签“人类偏好A”的样本我们希望 P θ ( A ≻ B ) P_{\theta}(A \succ B) Pθ​(A≻B)尽可能接近1偏好B则希望接近0。因此可采用二元交叉熵损失若 y 1 y1 y1表示偏好A则损失 , − log ⁡ P θ ( A ≻ B ) ,-\log P_{\theta}(A \succ B) ,−logPθ​(A≻B)若 y 0 y0 y0偏好B则损失 , − log ⁡ ( 1 − P θ ( A ≻ B ) ) ,-\log (1 - P_{\theta}(A \succ B)) ,−log(1−Pθ​(A≻B))。合并写作 L DPO − log ⁡ σ ( y ⋅ β , Δ ) \displaystyle \mathcal{L}_{\text{DPO}} -\log \sigma( y \cdot \beta,\Delta ) LDPO​−logσ(y⋅β,Δ)其中 y 1 y1 y1表示 A ≻ B A\succ B A≻B y − 1 y-1 y−1表示 B ≻ A B\succ A B≻A。为简洁起见常直接实现为上文sigmoid形式例如当 A A A为优答案时损失 − log ⁡ σ ( β , Δ ) -\log\sigma(\beta,\Delta) −logσ(β,Δ)。通过最小化此损失模型会提高 Δ \Delta Δ为正的概率偏好A并降低 Δ \Delta Δ为负的概率从而直接优化策略使其满足人类偏好。值得注意的是这个损失中参考模型的对数比起到了KL惩罚的作用若当前模型试图过分偏离参考模型去极端偏好A或B Δ \Delta Δ会拉大 σ \sigma σ饱和后梯度变小相当于自动减缓了过大的更新步伐。这与PPO中显式KL项异曲同工但这里隐式地融入在损失里。 简而言之DPO的更新规则就是“把当前模型在偏好样本上判定正确的概率尽可能提高”。模型会调整自身参数让偏好样本中人类喜欢的回答logits升高不喜欢的降低同时保持与参考模型行为的接近。这一步骤对每个偏好对进行一次梯度下降即可无需像PPO那样反复采样多轮。由于没有环境交互整个过程就像在做一个二分类任务模型输入是两个回答输出哪一个更好。 直观示例 假设提示是一个问题模型给出回答A和B人类更喜欢A。DPO会增大学习使得模型对回答A计算出的“得分”高于对B的“得分”。下次模型再回答类似问题时产生类似A的概率就会更大类似B的概率更小。通过成千上万这样的对比数据模型逐渐偏向于输出人类偏好的内容。整个过程中不需要显式训练奖励模型也不需要价值网络或额外采样训练流程大大简化。 优缺点总结 DPO的优点非常突出首先它算法简单、实现容易只需搭建一个偏好比较的交叉熵损失即可无需实现复杂的RL训练环路。这使得调试和复现都更加轻松。其次DPO在计算效率和稳定性上远胜PPO不需要训练价值网络和反复采样计算开销小很多又由于本质是有监督学习收敛过程相对平滑很少出现RL那种训练发散的问题。论文和后续实验表明在一些任务上DPO可以达到媲美甚至优于PPO的效果例如在文本摘要、单轮对话等偏好对齐任务上DPO Fine-tuning后的模型质量与PPO-RLHF相当或更好。第三DPO不需要维护显式奖励模型在线评估这不仅节省了训练一个大模型的成本也避免了奖励模型可能带来的偏差影响——DPO直接用人类偏好“真值”来优化。对于资源有限的团队DPO提供了一条用偏好数据对齐模型的捷径。 当然DPO也有局限和缺点其一DPO对偏好数据质量和覆盖面高度依赖。因为它完全是从离线的人类偏好对出发模型只能学到这些对比中提供的信息。如果某些重要场景没有涵盖在偏好数据里模型就难以在那些情况下正确对齐。相比之下PPO可以通过与奖励模型反复交互探索一些偏好数据未显式提供的空间。其二DPO对损失中的 超参数 β \beta β 较敏感。 β \beta β控制了KL约束的强弱太小则模型可能偏离参考模型过多导致输出质量下降太大则更新步长太保守学不到明显偏好。不同数据集下理想的 β \beta β可能不同如何选择需要调试有工作提出动态调整 β \beta β来增强鲁棒性。其三DPO 仍需要一个初始参考模型通常是SFT模型。如果直接用预训练基模型作为参考未经过SFT可能输出质量很一般DPO的效果可能不如先SFT再DPO那么好。因此一般DPO是作为SFT后的进一步对齐步骤而非完全取代SFT。最后DPO无法主动探索新策略它不能产生新回答然后获得反馈再提升只能利用给定的人类偏好对。这意味着如果我们想持续改进LLM对新分布的问题做进一步对齐可能需要人工不断标注新偏好数据再用DPO迭代训练可以称为“在线DPO”。但这一步需要人为参与不如PPO那样可以自动循环。 适用场景 DPO非常适合在偏好数据充足且希望快速对齐模型的情况下使用。如果已经有大量现成的人类反馈比较数据比如收集了许多用户对话中对回复优劣的评价那么直接用DPO来微调模型会非常高效。在计算资源有限或时间紧张的项目中DPO可以用更小的代价完成模型对齐避免复杂的RL训练。例如许多开源社区在微调小型对话模型如基于LLaMA等时选择了DPO替代PPO以在单张GPU上完成RLHF级别的对齐训练。DPO也适用于一些静态偏好目标的任务如让模型输出更有礼貌、语气更积极等这些偏好可以通过人类标注对很直接地学习到。这种场景下DPO简单调整模型输出倾向即可达到目的无需复杂探索。总的来说当不具备大型RLHF基础设施或者倾向于更可控、更稳定的训练过程时DPO是不二之选。举例来说如果想让一个问答模型更符合特定人群的喜好可以先收集该人群对一些问答的偏好判断然后用DPO来对模型进行定向微调。 GRPO组相对策略优化 基本原理与背景 组相对策略优化GRPO是由DeepSeek等开源项目引入的一种PPO改进算法全称也有人称为广义回报策略优化Generalized Reward Policy Optimization。不同资料对GRPO名字的解读略有差异但其核心思想在于在每个提示下生成一组回答相互比较评估从而更新策略。GRPO可以看作是PPO的“简化版亲戚”——保留了PPO策略更新的核心思想但移除了单独的价值函数网络。这意味着训练中不需要Critic来估计价值而是直接用同组其他样本的平均奖励作为基线来计算每个样本的优势Advantage。这种方法本质上是一种策略梯度对比基线的形式类似于经典REINFORCE算法使用增量奖励的平均值作为Baseline的思想即所谓“留一法”Leave-One-Out的优势估计。GRPO将该思想与PPO的剪裁更新等技巧结合起来在不牺牲性能的情况下减少了一半的模型开销无需训练价值网络节省约50%内存计算。这对大参数量LLM的RL训练非常有帮助因为训练一个和策略同规模的Critic常常代价高昂。 训练流程 GRPO的训练过程与PPO类似但每个prompt要生成多条回复作为一个“组”。具体步骤 组内采样 针对每个提示当前LLM策略生成 K K K个不同的回答 a 1 , … , a K {a_1,\dots,a_K} a1​,…,aK​组成一个回答组。这里 K K K可以是比如4、8甚至更多。生成多个回答可以通过给定提示多次采样实现通常采用解码随机性如温度采样以获得多样化的候选。 奖励评分 用奖励模型或预定的奖励函数对这组内每个回答 a i a_i ai​计算一个奖励 r i r_i ri​。例如在问答对齐中奖励模型会给每个回答打分衡量优劣。在一些场景也可以直接有可计算的任务奖励比如数学题解答是否正确编译通过这种情况下可直接得到每个输出的评分。 计算组内优势GRAE 相比PPO用价值网络预测基线GRPO选择组内平均奖励作为基准。具体来说对该prompt计算平均奖励 r ˉ 1 K ∑ i 1 K r i \bar r \frac{1}{K}\sum_{i1}^K r_i rˉK1​∑i1K​ri​。然后对每个回答计算优势 A i r i − r ˉ A_i r_i - \bar r Ai​ri​−rˉ。通常为了数值稳定还会做一个标准差归一化 A ~ i r i − r ˉ σ r ϵ \tilde A_i \frac{r_i - \bar r}{\sigma_r \epsilon} A~i​σr​ϵri​−rˉ​其中 σ r \sigma_r σr​是组内奖励的标准差。这种归一化确保不同prompt之间优势量纲可比并削减异常大或小reward的影响。得到的 A i A_i Ai​体现了回答 i i i相对该prompt平均水平是好还是差高于均值则 A i 0 A_i0 Ai​0低于均值则 A i 0 A_i0 Ai​0。这一步相当于把组内回答互相做了比较排序优势为正者就是相对更优的回答优势负则较差。 策略更新 有了每个样本的优势就可以类似PPO那样构造损失并梯度更新策略参数了。GRPO使用的目标函数和PPO形式接近但在实现上对每个prompt的组一起计算损失然后取平均。伪代码如下 L GRPO 1 K ∑ i 1 K [ − min ⁡ { r i ( θ ) ⋅ A i , clip ( r i ( θ ) , 1 − ϵ , 1 ϵ ) ⋅ A i } β ⋅ K L i ] L_{\text{GRPO}} \frac{1}{K}\sum_{i1}^K \Big[ -\min\{r_i(\theta)\cdot A_i,\; \text{clip}(r_i(\theta),1-\epsilon,1\epsilon)\cdot A_i\} \;\; \beta\cdot \mathrm{KL}_i \Big] \, LGRPO​K1​i1∑K​[−min{ri​(θ)⋅Ai​,clip(ri​(θ),1−ϵ,1ϵ)⋅Ai​}β⋅KLi​] 其中 r i ( θ ) π θ ( a i ) π old ( a i ) r_i(\theta)\frac{\pi_\theta(a_i)}{\pi_{\text{old}}(a_i)} ri​(θ)πold​(ai​)πθ​(ai​)​是第 i i i个回答的新旧策略概率比 K L ∗ i log ⁡ π ∗ old ( a i ) − log ⁡ π θ ( a i ) \mathrm{KL}*i \log\pi*{\text{old}}(a_i) - \log\pi_\theta(a_i) KL∗ilogπ∗old(ai​)−logπθ​(ai​)是对第 i i i个样本的新旧策略KL散度这一项取正比于 − log ⁡ r i ( θ ) -\log r_i(\theta) −logri​(θ)。可以看出GRPO的损失就是对组内每个样本计算一个类似PPO的剪裁策略梯度项再加一个KL惩罚项然后对组求平均。直观解释对于同一prompt内的多个回答模型会提升那些奖励高优势为正回答的概率降低奖励低优势为负回答的概率而且依然有限制地小幅调整避免策略剧烈变化。因为在同组内进行了对比这其实等价于告诉模型“在这个问题上你那些相对差的回答要少给一些那些相对好的回答风格要多给一些”。这跟人类直接比较多种回答然后告诉模型哪个好是类似的。 重复迭代 类似PPO我们不断循环采样新的组、计算奖励、更新策略。因为没有价值网络每次更新后不需要单独训练Critic直接进入下个采样阶段。这减少了一半训练步骤。 与PPO异同 从上述流程可以看出GRPO和PPO在策略更新公式上十分相近都采用了剪裁的策略梯度目标KL正则。不同的是优势 A A A的获取方式PPO用一个学习的价值函数 V ( s ) V(s) V(s)来估计长期回报基线而GRPO直接用同一批数据内部的平均回报作为基线。这种“组内对比”方法带来的直接好处是减少了方差同一个prompt下的回答共享了很多上下文比较它们的奖励能够较准确地评估哪个更好从而减少了不相关因素引入的噪声。这也解释了为什么DeepSeek等推荐在复杂推理任务中使用GRPO——在那些任务里训练一个准确的价值网络非常困难不如直接通过多样解答的相对质量进行优化更稳健。需要注意的是如果组内所有回答的好坏差不多奖励差异小归一化后优势接近0模型参数更新的力度也会变小。因此GRPO在极端情形下组内全对或全错会面临优势信号偏弱的情况。有研究对此提出了改进如Dr.GRPO去除了标准差归一化以避免对低方差组别的“惩罚”提升梯度信号。但一般而言合理选择组大小 K K K如8或16可以降低出现全优或全劣组的概率使大部分prompt组都有区分度从而保持有效学习。实践中GRPO通常会使用比PPO更多的采样数量来获取稳定的比较信号——例如每个prompt采样十几个回答这样每个批次提供了丰富的信息。这虽然单步计算量提高但因为没有Critic训练加上可以高度并行生成多个回答总体效率并不逊色。 优缺点总结 GRPO的优点可以概括为1无价值网络内存和计算成本减半对于百亿参数级别LLM的RL调优非常关键。这降低了硬件门槛使得一些没有海量TPU/GPU的团队也能尝试RLHF训练大模型。2训练更稳定少了价值函数这个潜在不稳定因素也就避免了价值网络发散导致策略更新错误的问题。实际经验中GRPO的训练曲线往往比同时训练Actor-Critic更平滑。而且组内比较本身提供了一种自然的归一化优势基本在 [ − 1 , 1 ] [-1,1] [−1,1]范围归一化后梯度尺度更可控不容易梯度爆炸。3样本利用率高在每个prompt上一次可以从多个回答中学习信号而不仅仅一个。这有点类似将原本不同prompt的样本“组装”起来进行对比学习一定程度上提高了每个prompt的反馈信息量。尤其在复杂推理任务中人们发现GRPO对提升模型推理能力很有效因为它让模型在一次训练中就看到了多种解题思路并倾向选择其中更正确的方向。DeepSeek在数学、代码等需要推理的任务上完全跳过了SFT直接用RLGRPO变体训练模型取得了很好的效果就是证明。4实现相对简单虽然概念新颖但GRPO主要改动在优势计算部分其余与PPO类似。很多开源RLHF库已经支持GRPO工程上切换代价不高。 GRPO的缺点与局限也需要考虑首先每轮需要更多采样。因为每个prompt得生成多条回答才能比较假如以前PPO每批采样N个prompt各1个回答现在GRPO可能要采样N个prompt各K个回答总数放大K倍。这对样本效率提出了更高要求虽然可以并行采样但总体算力消耗会上升。其次组内比较有局限奖励的定义若有噪声或者偏差同组所有回答都会受影响。例如奖励模型如果对某些内容系统性偏高或偏低打分组内比较可能抵消这种系统偏差因为全组都会高或低优势差异反而小从而削弱该偏差信号的纠正力度。换言之GRPO注重相对排名不追求绝对评分可能在某些指标的绝对优化上不如PPO显著。第三对于长序列奖励分配问题GRPO采取的是将最终奖励平均分配给整个序列每个token每个token共享同一优势)。这样虽然简单但无法细粒度地区分序列中不同决策的贡献PPO价值网络可以为每个token估计不同优势)。在主要关注最终结果正确性的场景如问答是否正确这不是问题但如果还关心中间过程质量GRPO需要配合其他技术比如过程监督才能覆盖。最后GRPO和PPO一样需要一个靠谱的奖励信号来源。如果任务没有可自动计算的奖励就需要一个奖励模型来给每个输出打分否则无法组成训练信号。所以严格来说GRPO并没有摆脱对奖励模型/函数的需求除非有实时人类打分或规则可计算reward的环境。一些宣传提到“GRPO无需训练奖励模型”是指在特定场景下可以直接利用任务本身的反馈如编译是否通过代替训练一个额外模型。在一般对话对齐中奖励模型仍是需要预先训练好的只不过GRPO避免了再训练一个Critic。 适用场景 GRPO非常适合在以下情况下使用1超大模型RL微调当模型参数巨多训练两个模型ActorCritic内存吃不消时GRPO的单模型更新优势凸显。例如在百亿/千亿模型对齐上GRPO可以省掉价值网络使显存占用近乎减半。2复杂推理类任务如数学问答、代码生成、复杂推理题等。因为这类任务上训练价值模型很难而让模型一次产生多个解再比较往往更直观有效。DeepSeek的工作就显示在数学题和编码场景用纯RL相当于GRPO思路可以提升模型的推理正确率。一些学术报告也指出GRPO有利于长链推理能力的养成因为可以针对推理过程设计奖励并在组内对比优化。3缺乏SFT数据直接RL若初始模型已不错但缺高质量监督数据做SFT可以考虑跳过SFT直接用RLHF训练模型。此时GRPO因为没有价值网络冷启动问题可能更稳妥地改进模型。这正是DeepSeek R1-Zero模型的思路基座模型直接通过RL训练获得优秀性能。4有限反馈、需要高效利用当我们每个问题只收集到少量人类反馈时不妨让模型基于这些反馈多样化输出再通过相互对比来放大反馈信号。GRPO正好擅长把组内相对信息提炼出来。在实战中如果你有一个问答系统用户对每个答案给出好/中/差评分你可以让模型针对每个问题产生若干答案评分模型对它们打分然后用GRPO训练——这样每个用户问题的反馈被充分利用而不是只学“这一次回答好/不好”这种单一点信息。 综上GRPO在特定场景下提供了一个比PPO更轻量却有效的替代方案。如果你的LLM需要在人类反馈下优化但苦于算力不足或者价值网络难训GRPO值得一试。在需要模型稳定且相对比较明确的任务中如排行榜对战、对话回答优选等GRPO能发挥其组内比较的独特优势。 三种算法的对比与联系 我们已经分别介绍了PPO、DPO和GRPO的原理。接下来从训练流程、优化目标、稳定性、样本效率等方面将三者作一个横向对比加深对它们关系的理解。 训练流程与复杂度 PPO属于两阶段甚至多阶段训练要先通过偏好数据训练奖励模型再进行强化学习微调策略模型同时还要训练价值网络辅助加上一个用于限制KL的参考模型总共涉及四个模型之多。训练过程中PPO需要不断在环境模型生成中采样新数据并进行多次迭代这使流程较长、实现复杂。而DPO是单阶段的方法直接对策略模型做有监督微调只需已有的人类偏好数据不需要在训练中间反复交互采样。DPO不训练额外网络除了一个参考模型提供对比之外没有别的依赖。其整体流程更接近标准的模型微调。GRPO的流程和PPO一样需要在线采样和基于奖励模型的反馈因此属于RL训练范式但GRPO减少了价值网络只需维护策略模型、奖励模型和参考模型参考模型在实现中常与策略旧参数等效。相比PPOGRPO少了Critic训练这一路径算法更简单同步。总体来说PPO流程最复杂DPO最简单GRPO居中偏近PPO但有所简化。优化目标与算法本质 表面看三者差别很大PPO是策略梯度RLDPO是直接偏好分类GRPO是组内对比的RL。但联系在于它们追求的其实是相同或相似的目标——让模型产生更高质量、更符合人类偏好的回答同时约束不要远离原有语言能力。PPO的目标可理解为“最大化奖励模型评分并保持与参考模型的KL惩罚不超过一定范围”。DPO看似完全不同但理论证明它等价于优化一个带KL正则的奖励最大化问题只不过通过对偏好数据的封闭解形式直接实现了。DPO的损失从Bradley-Terry偏好模型推导而来本质也是在提高偏好概率这和强化学习中提高预期奖励如出一辙只是DPO把问题转换成了分类损失来解。GRPO与PPO更是血缘相近可以认为GRPO就是在PPO的优化目标上做了一般化generalized的修改用真实回报对比取代理论价值估计。它的损失仍是剪辑的策略梯度形式还有KL项。因此三者在数学目标上都有紧密联系DPO和PPO都包含KL正则项DPO中隐式包含GRPO和PPO都属于策略梯度法DPO则不是显式的策略梯度但达成了同样效果。可以说DPO解决的是“如何不经RL就实现RLHF同样的偏好优化目标”而GRPO则解决的是“如何在RLHF中去掉价值网络实现更高效的策略优化”。三种方法殊途同归都在不同程度上利用人类偏好信息来调整LLM输出分布使其更符合人类期望。训练稳定性 在大模型对齐任务中训练稳定性至关重要因为不稳定会导致输出质量突然恶化甚至模型崩溃。从这点看DPO最为稳定。因为它完全是一种监督学习形式没有复杂的探索-exploitation权衡不存在环境非平稳或梯度噪声大的问题。实践中DPO训练过程平稳且容易收敛。PPO虽然比更早的RL算法稳定但在三者中相对稳定性最差需要仔细设置KL惩罚系数以避免模型发生“模式崩溃”或“奖励投机”有时PPO训练后期模型可能为了讨好奖励模型而产生一些奇怪的过拟合回答需通过调小学习率、降低奖励权重等控制。GRPO的稳定性居中偏高没有价值网络后它少了价值估计误差的来源训练曲线通常比PPO顺滑。DeepSeek作者提到GRPO在ZeroSearch等场景有“更高的训练稳定性”。组内基准方法降低了单个样本高噪声reward对梯度的影响使更新更平稳。不过GRPO仍然是RL过程所以过大的learning rate或欠拟合的奖励模型也可能使训练不稳定。但总的来说同等设置下GRPO比PPO更稳一些。因此如果把稳定性作为重要考量DPO GRPO PPO。样本效率 这方面需要分别考虑人类标注数据的使用效率和模型交互采样的效率。DPO在利用人类标注偏好数据上是高效的它直接用所有偏好对来训练充分榨取了每个标注的信息量每个样本对都贡献明确的梯度方向。如果有 m m m个人类比较对DPO基本就能利用 m m m条监督信号。PPO对人类偏好数据的利用是间接的因为偏好数据只用于训练奖励模型一旦奖励模型固定PPO就不直接看人类数据而是通过与自己对话采样和奖励模型交互来获取新样本。这个过程中模型会产生很多回答其中只有少部分可能接近人工偏好数据分布大部分是在探索。虽然这种探索有助于发现新策略但从纯监督信号角度看PPO没有直接复用所有人工标注只用了它来训练RM。但PPO通过反复采样可以产生远多于标注数量的训练样本比如有 m m m条偏好数据训练RM后PPO可以生成 m m m条自己的回答用于训练策略这等于将模型自生成的数据也加入训练。因此在无额外人工成本情况下PPO能使用更多“样本”只是这些样本的质量取决于奖励模型泛化。GRPO也需要训练前有奖励模型同样先用人类数据训练RM然后在循环中使用RM来大批量打分模型生成的回答。不同的是GRPO为了比较会一口气生成多条回答所以单位prompt产生的样本量更多。这让GRPO每次迭代获取的反馈信息丰富但也意味着总体采样数激增。如果以模型调用次数衡量样本效率DPO最省只需跑偏好数据过模型若干轮PPO次之每步要采样一些回答给RM打分GRPO最多每步对同一提示采样多个回答再打分。所以每轮训练的计算量DPO PPO GRPO。但是如果考虑达到同样效果所需的总训练轮数情况又不同DPO往往一个epoch甚至更少就能对齐因为直接吃了人工数据PPO可能需要许多epoch的交互才逼近收敛GRPO由于每轮获取信息量大可能在更少的迭代中达到目标质量。因此总体来说在有限人工数据场景下DPO是最高效利用人工标注的而PPO/GRPO则通过引入自动采样扩展了训练数据量。在计算资源一定的情况下如果人工数据很少DPO先跑可以快速提升然后PPO/GRPO再进一步微调可能更合适。如果人工数据较多且质量高DPO可能一次性就把主要偏好学好不需要长时间RL。样本效率还可以理解为“每获得1分奖励提升需要多少模型调用”DPO通常很低因为监督信号直接高效PPO和GRPO高一些但GRPO因为同时对比多个样本或许在收敛速度上能快于PPO一些。典型应用与适用性 三种算法各有其强项的应用领域PPO是通用型选手几乎所有需要RLHF的场景都适用尤其在对话系统、复杂交互任务中表现成熟因为它允许模型通过试错发现最优策略。ChatGPT的对话质量、代码解释等能力很大程度来自PPO阶段的打磨。DPO更像快速对齐的利器适合离线偏好优化比如给定一批用户反馈想快速提升模型回答满意度可以用DPO增量训练。而在要求训练过程简单可控、避免RL潜在风险的情况下如一些企业内对齐敏感领域DPO因不用采样外部数据行为更可预测风险更小。GRPO的独特价值在于高难度推理任务和资源受限的大模型训练。DeepSeek等用了GRPO在数学、代码、多轮推理等任务上取得了SOTA水平微软等也在一些模型中使用GRPO来提升训练稳定性和效率。当你需要在保证稳定的前提下逼近PPO效果GRPO是值得考虑的替代方案。另外如果训练管线已经有PPO实现GRPO改动极小可以作为PPO的改进升级来试验。 下面的表格总结了PPO、DPO、GRPO三种方法的核心区别 算法 优化方式额外模型需求策略更新稳定性样本使用效率典型适用场景及优势PPO近端策略优化需要训练奖励模型需要价值网络Critic辅助参考模型提供KL约束。稳定性较好但依赖超参调节剪裁KL提升稳定训练中仍可能出现发散需监控。需反复在线采样样本量大能通过探索产生新数据人工偏好数据间接利用。通用型RLHF算法ChatGPT等采用适合高资源场景能不断探索改进策略在复杂对话、开放问答等验证效果佳。DPO直接偏好优化不需要单独奖励模型在线评估直接用偏好对训练策略不需要价值网络需一个冻结参考模型提供对比。非常稳定等同监督学习训练无环境噪声干扰无额外发散源。离线高效利用人工偏好数据无需额外采样训练迭代少收敛快但不能自动获取新信息。偏好对齐快速微调利器适合静态任务和资源有限场景如小模型对齐、用户反馈快速融入等实现简单、可控性强。GRPO组相对策略优化需要训练奖励模型或可计算的任务反馈不需要价值网络无Critic降低开销。稳定性高于PPO无Critic不稳定因素组内优势归一化抑制噪声仍需设置KL系数但整体平稳。每提示采多样本单轮计算量较大总体样本需求与PPO同量级甚至更多但组内信息丰富收敛步数可能减少。大模型RLHF优化的轻量替代在复杂推理题、代码等任务效果好适合价值难学场景用真实回报比较在算力/显存紧张时可避免双模型训练。 结语 综上所述PPO、DPO和GRPO作为大语言模型偏好优化的三种主要方法各有其设计初衷和适用范围。在以问答质量提升为代表的LLM对齐任务中PPO以稳定有效但开销大著称已在工业级应用中验证了威力DPO以简捷高效取胜为研究者提供了无需强化学习也能对齐模型的新范式GRPO则折中了两者致力于提高RLHF的效率与稳定性在近期的大模型训练实践中崭露头角。对于初学者可以将PPO看作“循序渐进调整策略”的老师DPO是“直接指出对错的导师”GRPO则是“组织一组答案互相比优”的评委。三者虽思路不同但目标一致让AI模型更好地理解并满足人类偏好。 在实际应用中选择何种方法应权衡具体需求和资源如果追求极致性能且资源充沛PPO依然是不少旗舰对齐项目的首选如果偏好数据丰富且想快速见效DPO能在短时间内显著改善回答质量如果模型超大或任务艰深、希望在稳定性和效果间取得平衡GRPO值得一试。在未来这些算法或将结合彼此的优点出现新的改进方案例如结合DPO思想的Step-DPO或者GRPO的变种如DAPO、Dr.GRPO等持续推动大模型对齐技术的发展。 总而言之无论采用哪种优化策略人类反馈的引入已经成为提升LLM问答质量的关键途径。通过合理运用PPO、DPO、GRPO我们可以更好地指导模型生成符合人类期望的答案使AI助手变得更加可靠、有用。而对于强化学习基础薄弱的读者希望本报告用通俗的解释和完整的对比帮助您深入理解这三种算法在LLM偏好优化中的角色和作用为今后实践中做出恰当的技术选择提供参考。
http://www.w-s-a.com/news/556437/

相关文章:

  • 网站开发制作的流程是什么网页打不开显示不安全怎么办
  • 网络网站开发设计安徽建设工程信息网怎么打不开了
  • 百度网站推广申请深圳公众号制作
  • 百度站长怎么做网站维护中国深圳航空公司官网
  • xampp安装网站模板海南一家天涯社区
  • 网站建设 管理系统开发仿租号网站源码网站开发
  • 怎么自己弄网站免费网站设计用什么软件
  • 网站分几种access做网站数据方法
  • 网站默认图片s001网站建设公司
  • 淘宝的电子商务网站的建设东莞哪里有网站制作公司
  • 西安网站制作怎么联系wordpress登陆界面打开慢
  • 高端工作网站网站推广seo代理
  • 一般找素材都是做哪几个网站呢推广引流工具
  • 必须做网站等级保护html网页设计题库
  • 移动端网站开发 float手机在线建网站
  • 教育网站模板下载做汽车网站开题报告的意义
  • 网站首页做后台链接昌平网站制作
  • 营销型门户网站建设浏览器下载免费大全
  • 快三网站开发推广普通话手抄报内容50字
  • 沈阳专业做网站开发公司asp网站搭建教程
  • 网站建设代码福州小程序开发平台
  • 了解做房产广告的网站手机版官方网站的建设
  • 如何与别的网站做友情链接做网站排名大概要多少钱
  • 东莞市锂电池网站建设HTML5怎么做自适应网站
  • 江苏城乡建设学校网站群晖建立wordpress
  • wordpress导入网站模板seo自学网官网
  • 购物网站服务器带宽北京网站开发周期
  • 同性做视频网站网站怎么添加栏目
  • 新余网站设计seo自学网站
  • 新乡个人网站建设价格wordpress数据插件