今天小编分享的互联网经验:GRPO在《时空谜题》中击败o1、o3-mini和R1,欢迎阅读。
近日,海外大模型产品平台 OpenPipe 上发布了一项研究,阐述其如何通过 GRPO 在重度推理游戏《时空谜题》中超越 R1、o1、o3-mini 等模型。研究作者分别为来自 Ender Research 的强化学习研究员 Brad Hilton 和 OpenPipe 的创始人 Kyle Corbitt。
他们的研究表示,他们不仅将模型与 Sonnet 3.7 的差距缩小至个位百分比,同时实现超过 100 倍的推理成本优化。
报告中还分享了任务设计与超参数调整的经验,并公开了基于 torchtune 框架构建的完整训练方案。
一、背景介绍
自 OpenAI 去年发布突破性的 o 系列推理模型以来,采用强化学习(RL)训练的大型语言模型(LLMs)迎来爆发式增长。谷歌 DeepMind、阿里巴巴、DeepSeek、Anthropic 相继推出支持长 " 思维链 "(CoT)推理的先进模型,在可验证问题上实施强化学习训练,让传统的基准测试逐渐逼近性能天花板。
尽管取得显著进展,逻辑演绎能力仍是顶尖模型的阿喀琉斯之踵。当前 LLMs 普遍存在三大缺陷:
难以稳定追踪所有相关细节
无法保持逻辑严密的推演过程
多步衔接可靠性不足
即便顶尖模型生成 10-100 倍长度的输出,仍然会频现人类可轻易识别的低级错误。
带着好奇,我们开启了一系列的探索:小型开源模型能否借助前沿强化学习技术,突破演绎推理的边疆?
我们首先从性能较弱的模型出发,在一项全新的推理任务上对其进行迭代训练。随着时间的推移,我们明显观察到它们的推理能力有所提升,最终达到甚至超越了一些先进的专有模型 。
二、基准测试框架
为了开展我们的实验,我们首先必须确定一个具有明确可验证答案且具有挑战性的推理任务。碰巧其中一位作者之前创建了一个完全符合要求的谜题集—— " 时空谜题 "(Temporal Clue)。除了满足事实真相清晰这一标准外,还可以按照需要创建新谜题。
" 时空谜题 " 灵感源自热门桌游 Clue(Cluedo),在该游戏中,玩家们竞相揭开究竟是谁在 Boddy 先生的豪宅中谋杀了他。" 时空谜题 " 将这款游戏转变为一个单人逻辑谜题,它不仅涵盖标准要素 —— 凶手是谁、用什么凶器、在哪作案,还增添了两个维度:作案时间和作案动机。谜题是随机生成的,游戏使用了 OR - Tools 的 CP - SAT 求解器进行线索挑选。
在某个阴冷的冬夜,神秘富豪 John Q. Boddy 先生为他的密友举办了一场小型的奢华晚宴。然而,这场晚宴以悲剧收场,Boddy 先生于清晨时分被发现死在都铎庄园的一个房间里。以下是被认定为嫌疑人的相关利益人员……
为了明确这项推理任务的最佳水平,我们对一些火爆的推理模型进行了基准测试 ,包括 DeepSeek R1、OpenAI 的 o1 和 o3 - mini 以及 Anthropic 的 Claude Sonnet 3.7。此外,我们还对 14B 和 32B 的 Qwen 模型进行了基准测试,这是我们最终结果的预览:
在这些基准测试中,我们发现 Claude Sonnet 3.7 在设定 6.4 万个 token 的情况下表现最佳,DeepSeek R1 的表现几乎与 OpenAI 的 o1 和 o3 - mini 不相上下。然而,未经调优的 Qwen 2.5 Instruct 模型在相比之下就稍显逊色了。
一个关键问题是:我们能否将这些较小型的开放权重模型训练到前沿水平的表现?答案是肯定的,只要用对方法。
三、训练
为了训练出一个具有前沿水平的推理模型,我们采用了强化学习方法。我们首先让大语言模型针对每个谜题生成多个回复,以此探索问题的各种可能性,从而引导它们学习。对得出正确答案的推理过程给予正向强化,而对误导模型的推理过程则进行惩罚。
在众多强化学习的方法中,我们选用了 DeepSeek 模型的 GRPO 算法。与 PPO 等传统方法相比,GRPO 不仅表现出色,还简化了训练过程。
从宏观层面来看,我们的训练遵循以下几个基本步骤:
针对谜题任务生成模型回复
对回复进行评分,并为每组聊天回复估算优势值
利用这些优势值估算结果引导的裁剪策略梯度对模型进行微调
用新的谜题和模型的最新版本重复上述步骤,直至达到最佳性能
在生成回复环节,我们使用了热门的 vLLM 推理引擎,并对参数选择进行了调优。我们发现,向 vLLM 发送过多请求会导致正在处理的请求被抢占。为解决这一问题,我们使用了一个信号量来限制请求数量,该信号量经过调优,能够在尽量减少换出的同时保持较高的键值缓存利用率。
采样完成后,我们使用 HuggingFace Transformers AutoTokenizer 对回复进行处理。它的聊天模板功能可将消息对象渲染为提示字元串,其中包含一个助手掩码,用于确定哪些标记是由大语言模型生成的。我们发现这些模型在其默认模板中缺少必要的 " 生成 " 标签,于是在 token 步骤中对模板进行了修改。最终得到的助手掩码被纳入用于调优的张量字典中,用以标识哪些位置需要进行损失计算。
在获得助手掩码后,我们对数据进行打包以便调优。除了在每个打包序列中包含多个提示和回复之外,我们还识别出共享的提示标记,并为每个标记分配一个父 ID,同时附上标准的组 ID。对于像 " 时空谜题 " 这类平均每个谜题超过 1000 个标记的任务,我们针对每个任务生成多个回复并高效打包张量,显著减少了冗余。一旦将所有必要信息打包完毕,我们就能以二维形式直观呈现训练数据集,每一行都是一个可能包含多个提示和回复的标记序列 。
有了数据后,我们开始调优。模型已经完成了预训练和指令微调,具备一定的智能水平。虽然它们还无法稳定地解决谜题,但是偶尔也能成功。通过提高正确推理的概率,我们逐步引导模型朝着 " 神探 " 的水平迈进。对于计算损失和调整权重,我们采用了策略梯度的方法。
在训练过程中,我们使用了由 PyTorch 团队提供的 Torchtune 库,其中包括 Llama、Gemma、Phi 等热门模型。我们在这个项目中除了使用 Qwen 模型,也用 80 亿参数和 700 亿参数的 Llama 模型进行了实验。Torchtune 还提供了一些节省内存和提升性能的工具,包括:
激活检查点(Activation Checkpointing)
激活解除安裝(Activation Offloading)
量化(Quantization)
参数高效微调(PEFT),例如 LoRA
此外,Torchtune 支持多设备和多节点训练,还可以结合全分片数据并行(FSDP)和张量并行(TP)训练。他们提供了十多个训练配方,鼓励用户复制并根据自己的用例进行定制。他们完整微调配方的修改版支持以下功能:
多设备和单设备训练
参考模型加载和权重交换以计算 KL 散度
使用组和父 ID 进行高级因果掩码计算
GRPO 损失集成和组件日志记录
强化学习训练过程涉及超参数的选择。在训练模型期间,我们对各种配置进行了测试,最终确定了以下参数:
模型:Qwen 2.5 Instruct 140 亿参数版和 320 亿参数版
每次迭代的任务数:32
每个任务每次迭代的样本数:50
每次迭代的总样本数:32 × 50 = 1600
学习率:6 × 10 ⁻⁶
微批次大小:对于 140 亿参数模型为 4 个序列,对于 320 亿参数模型为 8 个序列
批次大小:可变,取决于序列数量
批次大小之所以可变,是因为训练过程中回复长度不同。每次迭代的序列打包效率会有波动,优势为零的回复会被丢弃。在一次实验中,我们尝试将学习率与批次大小成反比动态调整,但这会导致小批次的学习率过高。经过上限处理后的版本与使用恒定学习率相比没有明显差异,但调整批次大小和学习率仍是未来值得探索的方向。
我们还进行了简短的实验,在每次迭代的任务数和每个任务的样本数之间进行反向调整(即一个增加另一个减少),同时保持每次迭代的总样本数大致相等。在较短的训练周期内,这些变化没有产生明显差异,这表明训练配方对任务数量与单任务样本量之间的不同配比具有强鲁棒性。
四、结果
经过 100+ 次迭代训练,我们的模型成功达到前沿级推理水平。
我们的模型能够在准确率下降之前迅速改进。最佳状态下,140 亿参数、1.6 万个 token 的模型已接近于 ClaudeSonnet 3.7 的性能。320 亿参数、6.4 万个 token 的模型更是几乎达到了 Sonnet 的结果。
在训练期间,性能提升遵循幂律规律,在图表上形成线性关系(在恶化之前)。
下一步,我们将探索多样化回应的方法,逐步构建能力的方法,或者能够激励出彻底探索的方法。
此外,我们注意到在训练期间输出长度呈现出有趣的规律。最初回复变长,随后趋于稳定,在训练接近尾声时出现分化,其中 140 亿参数模型的回复变得更长,而 320 亿参数模型的回复长度则缩短(尤其是在达到最佳性能之后)。
为了从定性角度评估逻辑推理能力的提升,我们让最先进的模型 Claude Sonnet 3.7 对 Qwen 32B 模型所做出的推论进行识别,并评估其合理性。Sonnet 从基础模型中识别出 6 个推论,除了一个被判定为正确外,其余均被判定为错误。相反,从经过训练的模型中识别出 7 个推论,除了一个错误之外,其余均被判定为逻辑合理。
最后,在假设按需部署具有足够吞吐量的情况下,我们根据 Fireworks AI 的无伺服器定价层级估算了 Qwen 模型的成本。我们绘制了一张准确性和推理成本的关系图,并发现在未经调优的模型中存在一条清晰的线性帕累托前沿线,极大地改善了成本与准确性之间的权衡关系。
五、结语
在我们的调查研究中,我们探索了较小型的开源语言模型能否通过强化学习实现前沿水平的演绎推理能力。对时间线索谜题进行训练时,我们使用了超参数和 GRPO 方法来训练 Qwen 14B 和 32B 模型,显著低提升了性能。这些改进使开源模型在推理性能方面达到了最前沿的水平,并大幅度低降低了成本。我们的研究结果凸显了强化学习在高效训练开源模型处理复杂演绎任务方面的巨大潜力。
此外,最后还有一个惊喜。我们发现,仅需 16 个训练样本就能实现高达 10 - 15% 的性能提升,这意味着我们无需大量数据就能进行推理。
原文链接:https://openpipe.ai/blog/using-grpo-to-beat-o1-o3-mini-and-r1-on-temporal-clue
雷峰网