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

VinePPO:基于蒙特卡洛采样的无偏 credit assignment 进行价值估计,提升大模型推理能力

Kazemnejad, Amirhossein, et al. VinePPO: Refining Credit Assignment in RL Training of LLMs. ICML 2025. arXiv preprint arXiv:2410.01679 (2024).

在大语言模型处理复杂推理任务时,如解数学题,模型需要生成一连串的推理步骤才能得到最终答案。然而,并非所有步骤都同等重要:有些步骤是关键的推导和中间结果,有些则是无关紧要的。如何准确评估每个中间步骤对最终结果的贡献,即 **信用分配(credit assignment)**问题,是提升模型性能的核心挑战。

传统强化学习方法,如 PPO,通过一个额外的价值网络 V(s)V(s)V(s) 来解决这个问题。这个价值网络就像一个“评委”,试图根据当前的解题步骤预测最终成功的概率。然而,近期研究发现,价值网络在实际推理任务中表现不佳,估计常常失准。与此同时,一些简化方法(如 GRPO、DPO)放弃了精细的信用分配,这些方法实现简单,也取得了不错的效果。

这带来一个自然的问题:「价值网络真的有效吗?如果改进 credit assignment,能带来多少性能提升?」

这篇题为《VinePPO: Refining Credit Assignment in RL Training of LLMs》的论文,旨在解答上述问题。它首先系统地论证了价值网络在复杂推理任务中的失败,进而通过蒙特卡洛采样来替代价值网络,实现了更精准的信用分配,从而在多个数学推理基准上取得了更优的性能、效率和泛化能力。


文章目录

    • 一、背景:基于强化学习的 LLM 微调
    • 二、动机:价值网络为何失灵?
    • 三、VinePPO:使用蒙特卡洛采样,以“实验”代替“预测”
    • 四、实验验证:全面超越基线
    • 五、实现细节:软硬件支撑
    • 六、结论


一、背景:基于强化学习的 LLM 微调

在正式介绍 VinePPO 之前,我们需先了解 LLM 强化学习微调的基本 setting。通常,我们将文本生成过程建模为一个马尔可夫决策过程(MDP)

  • 状态 sts_tst:由输入提示和已生成的所有 token 组成。
  • 动作 ata_tat:生成下一个 token。
  • 奖励 rtr_trt:仅在生成完整回答后给予一个序列级奖励(例如,最终答案正确为 +1,错误为 0),中间步骤的奖励均为零。

这个 MDP 有一个关键特性:确定性且可重置。我们可以随时从任何一个中间状态(比如已经生成了一半文本)开始,让模型重新生成后续内容,这为 VinePPO 的实现奠定了基础。

在此设定下,PPO 算法使用一个 actor-critic 框架。actor 是 LLM 本身,负责生成文本。critic 就是价值网络,它预测从任意给定状态出发,所能获得的期望回报。通过比较价值网络的预测值,可以计算每个动作的 advantage A(st,at)A(s_t,a_t)A(st,at)(优势),我们使用 advantage 指导模型 增加好动作的概率,减少坏动作的概率。

GRPO 算法则简化了 PPO,做法是:对同一个问题,让模型生成多个回答,然后用这些回答的平均回报作为 baseline(基线),为整个回答中的所有 token 分配一个统一的 advantage 值。这相当于:不区分步骤,只要最终答案正确,所有步骤都被鼓励;只要错误,所有步骤都被惩罚。这种方法简单稳定,但信用分配非常粗糙。

二、动机:价值网络为何失灵?

论文通过实验揭示了价值网络的缺陷:在数学推理任务上,即使价值网络的训练指标看似良好,其预测也与真实情况相差甚远。

例如,在一个真实的解题步骤中,价值网络可能会给一个实际上至关重要的步骤打很低的分,而给一个无关紧要的步骤打很高的分。当要求它在五个可能的后续步骤中识别出最好的那一个时,它的准确率几乎与随机猜测持平。论文声称,这可能是因为推理路径的组合空间巨大,价值网络难以泛化,尤其对于训练数据中不常见的、位于推理链后段的步骤,其预测误差会显著增大。

三、VinePPO:使用蒙特卡洛采样,以“实验”代替“预测”

VinePPO 的核心思想非常直观:既然“预测”不准,那我们就不预测了,我们通过“实验”来直接测量。

具体来说,VinePPO 保留了 PPO 的整体框架,但彻底摒弃了价值网络,转而使用蒙特卡洛(Monte Carlo)采样来估计状态价值。其算法流程如下:

  1. 采集轨迹:与 PPO 一样,用当前模型采样完整的回答。
  2. 蒙特卡洛价值估计:对于采样轨迹中的每一个关键中间状态(如),执行以下操作:
    • 重置:将该状态(即至此的所有文本)作为一个新的起点。
    • 蒙特卡洛采样:从该起点出发,让当前模型独立地重新生成 KKK 条完整的后续轨迹。
    • 计算价值估计:对这 KKK 条轨迹的最终回报(1 或 0)取平均值,作为该状态的价值估计。例如,从某步骤 sts_tst 重启并采样了 9 次,其中 7 次最终成功,那么 VMC(st)=7/9≈0.78V_{MC}(s_t) = 7/9 \approx 0.78VMC(st)=7/90.78。这个估计是无偏的,因为它直接反映了当前策略下的真实成功概率。
  3. 计算优势:利用这些 MC 价值估计,像标准 PPO 一样计算每个动作的优势。例如,A(st,at)=VMC(st+1)−VMC(st)A(s_t, a_t) = V_{MC}(s_{t+1}) - V_{MC}(s_t)A(st,at)=VMC(st+1)VMC(st)。如果这个值是正的,说明执行该动作后,局面改善了。
  4. 策略更新:使用计算出的优势信号,通过PPO的裁剪机制来安全地更新模型参数。

值得注意的是,蒙特卡洛采样得到的轨迹仅用于价值估计,不直接用于策略更新,这保证了训练稳定性。

实验细节:

  • 超参数:
    • 所有 PPO 系方法(PPO, VinePPO, RLOO, GRPO)使用相同的核心超参数(如学习率 1e-6,批次大小 64),以确保公平。
    • KL 惩罚系数 β 经调优后固定(PPO / VinePPO: 1e-4;RLOO/GRPO: 3e-3)。
    • GAE 参数 λ=1,折扣因子 γ=1。
    • VinePPO 默认 MC 采样数 K=9。
  • 关键 Trick:
    • advantage 归一化:在每个训练批次内,将 advantage 归一化为零均值和单位方差。
    • 禁用 Dropout:在 RL 训练阶段关闭 Dropout,保证概率计算的一致性。
    • EOS Trick:奖励仅施加在序列的最后一个 token(EOS token 或截断处的最后一个 token)。
  • 计算:
    • 使用 vLLM 进行高速推理和MC采样。
    • 所有方法消耗完全相同数量的训练样本(episodes),确保数据公平。

四、实验验证:全面超越基线

论文在 MATH 和 GSM8K 两个数学数据集上进行了全面评估。

论文与以下方法进行对比:

  • 带信用分配的 RL 方法:
    • PPO:使用价值网络来估计每一步的价值,是 VinePPO 直接改进的对象。
  • 无信用分配的 RL 方法:
    • GRPO:丢弃价值网络,使用同一问题下多个回答的平均回报作为基线,为整条回答的所有token分配同一个优势值。
    • RLOO:GRPO的改进版,使用留一法计算基线,以避免偏差。
  • 非 RL 方法:
    • DPO+:一种改进的偏好优化方法,通过增加额外损失项防止模型遗忘正确回答。
    • RestEM:迭代式拒绝采样微调,直接在模型自己生成的正确回答上进行监督学习。

评价指标主要包括:Pass@1 一次输出的准确率、达到特定性能所需的 wall-clock 训练时间和梯度步数,以及泛化斜率(即测试集准确率 y 随训练集准确率 x 增长的曲线斜率,斜率越陡,说明泛化能力越强)。

实验结果令人信服:

  • 性能:VinePPO 在所有模型和数据集上都达到了最高的测试准确率。消融实验证明,增加 MC 采样数 K 能持续提升性能并加速收敛,说明更精确的价值估计有益。
  • 效率:尽管因需额外采样,VinePPO 单次迭代更慢,但其信用分配更精准,导致学习效率更高。最终,它以更少的迭代次数和更短的总训练时间超越了 PPO 的峰值性能,在 RhoMath 1.1B 模型上最快达到了 3 倍的加速。
  • 泛化:在泛化斜率方面,VinePPO 展现出最陡的泛化斜率,意味着它能从每个训练样本中提取更多通用信号。相比之下,类似监督学习的 RestEM 方法,则出现了明显的过拟合。
  • 鲁棒性:VinePPO 能更好地利用高采样温度进行探索,收敛更快,而 PPO 在相同设置下容易训练发散。

五、实现细节:软硬件支撑

上述实验离不开精心的工程配置。

  • 硬件:对于 7B 大模型,作者使用了 8 张 NVIDIA H100 GPU 进行 PPO 和 VinePPO 训练,以应对巨大的显存开销(PPO 的价值网络就需要 112GB 显存)。对于 1.1B 模型,则使用 4 张 A100 GPU。
  • 软件:论文使用了 vLLM,它通过 PagedAttention 等技术实现了极高的吞吐量(在 8xH100 上对7B 模型可达 30K token / 秒),使得蒙特卡洛采样在可接受的时间内完成。训练框架则基于 DeepSpeed,对 7B 模型使用了 ZeRO-2 优化器来节省显存。

六、结论

VinePPO 的工作清晰地表明,在大语言模型的强化学习训练中,精细且准确的信用分配可以提升性能。通过用简单的无偏蒙特卡洛估计,取代有偏的价值网络预测,VinePPO 成功地提升了训练性能和效率。

VinePPO 引导我们重新审视经典假设:从 Deep RL 沿袭下来的“价值网络”范式,在 LLM 这个搜索空间巨大,同时拥有可重置、确定性环境的新领域中,可能并非最优解。

同时,VinePPO 指出了一个计算量的新投入方向:在模型已具备较强能力的基础上,将计算量投入到提升每次更新的质量(如 VinePPO 的 MC 采样)上,可能比盲目增加环境样本更有效。

http://www.dtcms.com/a/565360.html

相关文章:

  • 静态化GTFOBins 本地部置教程
  • 自建网站公司ip子域名二级域名解析
  • 搭建出属于你自己的精彩网站!
  • 3DXML 转 3DXML 实操手册:从本地软件处理到在线工具推荐(含迪威模型网教程)
  • git小乌龟如何单个文件回退及整个版本回退
  • 班级同学录网站建设iis网站301重定向
  • 高性能负载均衡器HAProxy全解析
  • 《投资-151》PEG指标,衡量股票估值是否合理、特别是评估成长股的一个关键工具。
  • 广东省省考备考(第一百四十天11.3)——言语、判断推理(强化训练)
  • leetcode前缀和(C++)
  • 冬创网站建设培训中心高端网站建设公司有哪些
  • java面试:有了解过RocketMq架构么?详细讲解一下
  • JAVA国际版同城打车源码同城服务线下结账系统源码适配PAD支持Android+IOS+H5
  • Milvus:数据字段-主字段和自动识别(五)
  • 【深入浅出PyTorch】--8.1.PyTorch生态--torchvision
  • Blender新手入门,超详细!!!
  • Milvus:数据库层操作详解(二)
  • Blender入门学习09 - 制作动画
  • 网站建设终身不用维护网络推广主要内容
  • 金融知识详解:隔日差错处理机制与银行实战场景
  • 网站运营编辑浙江久天建设有限公司网站
  • 做网站销售说辞有赞商城官网登录
  • MATLAB实现基于RPCA的图像稀疏低秩分解
  • 象山企业门户网站建设扬州高端网站制作
  • 服务器网站建设维护app制作定制开发
  • php企业网站开发方案服装外贸网站建设
  • 【Go】--互斥锁和读写锁
  • 《从适配器本质到面试题:一文掌握 C++ 栈、队列与优先级队列核心》
  • 心理咨询网站模板做网站手机
  • 光学3D表面轮廓仪中Rz代表什么?如何精准测量Rz?