从拒绝采样到强化学习,大语言模型推理极简新路径!

大语言模型(LLMs)的推理能力是当下研究热点,强化学习在其复杂推理任务微调中广泛应用。这篇论文深入剖析了相关算法,发现简单的拒绝采样基线方法表现惊人,还提出了新算法。快来一探究竟,看看这些发现如何颠覆你对LLMs训练的认知!

论文标题
A Minimalist Approach to LLM Reasoning: from Rejection Sampling to Reinforce
来源
arXiv:2504.11343v1 [cs.LG] 15 Apr 2025
https://arxiv.org/abs/2504.11343

文章核心

研究背景

在大语言模型(LLMs)的后训练阶段,近端策略优化(PPO)是常用方法,但它存在计算开销大、算法复杂等问题。同时,一些简单有效的强化学习(RL)算法逐渐受到关注,如GRPO在训练模型(如DeepSeek - R1)上取得成功,但对其有效性来源了解不足。

研究问题

  1. RL算法中不同方法处理负样本的方式差异较大,负样本在LLMs训练中的作用和影响尚不明确,例如简单地基于最终答案正确性定义负样本可能过于粗糙。
  2. GRPO算法细节缺乏充分文档记录,其性能优势是源于自身固有优点,还是与之前研究方法的延续性,有待探究。
  3. 在基于奖励的LLMs后训练中,算法设计和样本选择的重要性尚不清晰,难以确定哪种因素对模型性能提升更关键。

主要贡献

  1. 重新评估简单基线方法:发现仅使用正样本训练的简单拒绝采样基线方法RAFT,性能与最先进的RL方法GRPO差距极小,在早期训练阶段收敛更快,挑战了传统认为RL方法因利用负反馈而更强大的观点。
  2. 剖析GRPO优势来源:通过消融实验揭示,GRPO的主要优势并非奖励归一化,而是丢弃了完全错误响应的提示,为理解和改进基于策略梯度的RL算法提供了关键依据。
  3. 提出新算法Reinforce - Rej:基于研究成果提出Reinforce - Rej算法,它选择性过滤完全正确和完全错误的样本,提高了KL效率和稳定性,为奖励基策略优化提供了一个简单且有竞争力的基线。
  4. 明确样本选择重要性:强调在基于奖励的LLMs后训练中,样本选择比算法设计更重要,未来研究应聚焦于更合理地选择和利用样本,而不是盲目依赖负样本。

方法论精要

  1. 核心算法/框架:研究涉及RAFT、Policy Gradient(包括Reinforce)、GRPO、Iterative DPO、RAFT++等算法。其中,RAFT通过拒绝采样选择正样本微调模型;Policy Gradient旨在优化策略网络以最大化期望奖励;GRPO改进了Policy Gradient,采用优势函数并进行奖励归一化;Iterative DPO基于成对比较数据集优化对比损失;RAFT++则是对RAFT应用重要性采样和裁剪技术的扩展算法。
  2. 关键参数设计原理:在实验中,使用AdamW优化器,学习率为$ 1×10^{-6} 。每次迭代采样 1024 个提示, R A F T 和 G R P O 每个提示生成 。每次迭代采样1024个提示,RAFT和GRPO每个提示生成 。每次迭代采样1024个提示,RAFTGRPO每个提示生成 n = 4 $个响应,训练小批量大小设置为512,模型训练时最多生成4096个令牌。这些参数设置基于verl框架推荐,以平衡模型训练的效率和效果。
  3. 创新性技术组合:RAFT++结合了重要性采样和裁剪技术,在采样过程中纠正分布偏移,同时通过裁剪防止更新过大导致训练不稳定,有效提升了模型性能。Reinforce - Rej算法则创新性地同时过滤完全正确和完全错误的样本,避免不良样本对训练的干扰,提高模型训练的稳定性和效率。
  4. 实验验证方式:选择数学推理任务进行实验,使用Numina - Math数据集,该数据集包含约860k数学问题及答案,来源广泛。模型选择Qwen2.5 - Math - 7B - base和LLaMA - 3.2 - 3B - instruct。基线方法包括Base模型(未经过特定RL算法微调)、Iterative DPO、Reinforce、GRPO、PPO等。通过对比不同算法在多个基准测试(Math500、Minerva Math、Olympiad Bench)上的平均@16准确率来评估模型性能。

实验洞察

  1. 性能优势:在Qwen2.5 - Math - 7B - base模型上,RAFT平均准确率达49.9%,超过Iterative DPO(48.2%),接近PPO(51.8%);RAFT++进一步提升至52.5%,与GRPO的53.9%非常接近。在LLaMA - 3.2 - 3B - instruct模型上,RAFT平均准确率为26.3%,RAFT++为27.5%,均优于Reinforce(23.4%)。

  1. 效率突破:RAFT++在早期训练阶段收敛速度比GRPO更快,其在训练前期准确率提升迅速。这得益于其仅使用正样本训练,能快速聚焦有效信息,使模型在早期训练中快速学习和提升性能。
  2. 消融研究:研究发现从RAFT++到GRPO,RAFT++早期收敛快但后期被超越,原因是仅从正样本学习导致策略熵快速下降,限制了探索能力。从Reinforce到GRPO的关键优势在于丢弃完全错误的样本,如“Reinforce + Remove all wrong”变体比Vanilla Reinforce性能提升显著,而奖励归一化对性能提升贡献较小。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/77740.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

测试——BUG篇

1. 软件测试的生命周期 软件测试贯穿于软件的整个生命周期,针对这句话我们⼀起来看⼀下软件测试是如何贯穿软件的整个生命周期。 软件测试的⽣命周期是指测试流程,这个流程是按照⼀定顺序执⾏的⼀系列特定的步骤,去保证产品质量符合需求。在…

【Hive入门】Hive函数:内置函数与UDF开发

Apache Hive作为Hadoop生态系统中的重要组件,为大数据分析提供了强大的SQL-like查询能力。Hive不仅支持丰富的内置函数,还允许用户开发自定义函数(UDF)以满足特定需求。本文将深入探讨Hive的内置函数(包括数学函数、字…

关于汇编语言与程序设计——子程序设计

学习目标: 编程实现两个数:#8888H 和 #79H 的乘除运算。 一、实验要求 能够熟练掌握算术运算汇编指令的使用;熟练掌握子程序设计的基本方法;熟练掌握程序的调试方法。 二、实验设计 1.整体思路 乘法:将单字节的乘数…

AWS SQS 队列策略配置指南:常见错误与解决方案

在 AWS 云服务中,Simple Queue Service (SQS) 是一种完全托管的消息队列服务,广泛应用于分布式系统组件间的解耦。为了确保队列的安全访问,正确配置队列策略至关重要。本文将详细介绍 SQS 队列策略的配置方法,常见错误及其解决方案。 SQS 队列策略基础 SQS 队列策略是基于…

Webshell管理工具的流量特征

目录 一、常见Webshell工具流量特征 1. ​​中国菜刀(Chopper)​​ 2. ​​冰蝎(Behinder)​​ 3. ​​哥斯拉(Godzilla)​​ 4. ​​蚁剑(AntSword)​​ 5. ​​C99 Shell​​…

【每日八股】复习 MySQL Day3:锁

文章目录 昨日内容复习MySQL 使用 B 树作为索引的优势是什么?索引有哪几种?什么是最左匹配原则?索引区分度?联合索引如何排序?使用索引有哪些缺陷?什么时候需要建立索引,什么时候不需要&#xf…

Arkts完成数据请求http以及使用axios第三方库

import http from ohos.net.http Entry Component struct HttpPage {State message: string Hello Worldbuild() {Column({space:20}) {Row(){Button(发送http请求).onClick(()>{let httpRequest http.createHttp();httpRequest.request(https://zzgoodqc.cn/index.php/in…

SELinux 从理论到实践:深入解析与实战指南

文章目录 引言:为什么需要 SELinux?第一部分:SELinux 核心理论1.1 SELinux 的三大核心模型1.2 安全上下文(Security Context)1.3 策略语言与模块化 第二部分:实战操作指南2.1 SELinux 状态管理2.2 文件上下…

CD34.【C++ Dev】STL库的string的使用 (上)

目录 1.知识回顾 2.串联类和对象的知识重新理解 构造函数 string(); string (const string& str); string (const string& str, size_t pos, size_t len npos); string (const char* s); string (size_t n, char c); append和push_back string& append …

Git常用指令速查

Git常用指令速查 基本操作类&#xff1a; git init &#xff1a;初始化仓库git log&#xff1a;查看日志&#xff0c;这个命令很重要&#xff01;git add <文件名|.>&#xff1a;添加到暂存区git commit -m 注释&#xff1a;提交到仓库git merge <分支名>&#xf…

探索无人机模拟环境的多元景象及AI拓展

无人驾驶飞行器&#xff08;UAVs&#xff09;在各行各业的迅速普及&#xff0c;从农业和检测到空中操作和人机交互等令人兴奋的前沿领域&#xff0c;都引发了一个关键需求&#xff1a;强大而逼真的模拟环境。直接在物理硬件上测试尖端算法存在固有的风险——成本高昂的坠机、中…

AI Agent开源技术栈

构建和编排Agent的框架 如果您是从头开始构建&#xff0c;请从这里开始。这些工具可以帮助您构建Agent的逻辑——做什么、何时做以及如何处理工具。您可以将其视为将原始语言模型转化为更自主的模型的核心大脑。 2. 计算机和浏览器的使用 一旦你的Agent能够规划&#xff0c…

jspm老年体检信息管理系统(源码+lw+部署文档+讲解),源码可白嫖!

摘要 信息化时代&#xff0c;各行各业都以网络为基础飞速发展&#xff0c;而医疗服务行业的发展却进展缓慢&#xff0c;传统的医疗服务行业已经逐渐不满足民众的需求&#xff0c;有些还在以线下预约的方式接待病人&#xff0c;特别是针对于老年体检的服务&#xff0c;是少之又…

ESP32- 开发笔记- 软件开发 4 - GPIO 口

1 背景介绍 GPIO&#xff08;General Purpose Input/Output&#xff09; ——通用输入输出口&#xff0c;就是能由软件自由控制输入&#xff08;接收外界信号&#xff09;或输出&#xff08;发出电平信号&#xff09;的引脚。 ESP32 最核心的功能之一&#xff0c;能被用来控制…

格式工厂:多媒体转换工具

格式工厂&#xff08;FormatFactory&#xff09;是一款免费且功能全面的多媒体格式转换工具&#xff0c;支持视频、音频、图片及文档等多种格式的转换&#xff0c;覆盖超过70种语言&#xff0c;并兼容Windows XP至Win10/11系统。软件基于FFmpeg解码库开发&#xff0c;支持高效转…

在Anolis OS 8上部署Elasticsearch 7.16.1与JDK 11的完整指南

目录 1. 环境与版本选择 1.1 操作系统选择:Anolis OS 8 1.2 版本匹配说明 1.3 前置条件检查 2. JDK 11安装与配置 2.1 安装流程 2.2 配置详解 3. Elasticsearch 7.16.1安装与优化 3.1 基础安装 3.2 目录规划与权限 3.3 核心配置文件详解 3.4 JVM调优 4. 用户权限管…

Java中final关键字的作用?

在Java中&#xff0c;final 关键字用于表示不可变性&#xff0c;具体作用取决于它修饰的目标&#xff08;变量、方法或类&#xff09;。以下是其核心作用&#xff1a; 1. 修饰变量&#xff08;常量&#xff09; 基本类型变量&#xff1a;值不可更改&#xff08;常量&#xff09…

自动伴随无人机说明文档

自动伴随无人机说明文档 一、无人机参数二、能力说明三、操作流程3.1 模式定义3.2 启动流程3.3 可调参数&#xff08;建议默认&#xff09; 四、特别注意五、最后 一、无人机参数 型号&#xff1a;S400视觉pro版轴距&#xff1a;400mm起飞重量&#xff1a;1300g额外载重&#…

53.[前端开发-JS实战框架应用]Day04-Bootstrap入门到项目实战

Bootstrap入门到实战 1 认识Bootstrap 认识Bootstrap Bootstrap起源和历史 Bootstrap3-5版本的区别 Bootstrap优缺点 学习Bootstrap的理由 2 Bootstrap安装 Bootstrap4的安装 方式一 : CDN <!DOCTYPE html> <html lang"en"> <head><meta cha…

C#:创建变量和类的实例

在 C# 编程中&#xff0c;类作为引用类型&#xff0c;创建其变量和实例涉及到内存分配等重要概念。以下为你详细介绍创建类实例的步骤和相关操作。 类的声明与变量声明 类的声明就像是创建类实例的蓝图。当我们声明一个类后&#xff0c;就能够创建该类的实例。类属于引用类型…