PRIME(Process Reinforcement through IMplicit REwards)是一个创新的强化学习框架,旨在通过隐式过程奖励提升语言模型的高级推理能力。这个开源解决方案由Ganqu Cui等研究者开发,并在Hugging Face上发布。其核心突破在于:无需人工标注过程标签,仅通过结果级别的监督就能获得密集的过程奖励信号,从而显著提升模型在数学推理等复杂任务上的表现。
传统强化学习面临两个关键挑战:1) 如何高效获取精确的奖励信号;2) 如何设计有效的RL算法充分利用这些信号。PRIME通过隐式过程奖励建模解决了这些问题:
免过程标签的奖励获取:PRM被训练为结果奖励模型(ORM),然后作为PRM使用。其奖励表示为两个因果语言模型对数似然比的参数化形式:rϕ(y):=βlog(πϕ(y)/πref(y))
Q函数的内在学习:通过数学推导证明,当以特定形式参数化奖励时,模型会隐式学习到一个Q函数,能够为每个token提供过程奖励。这使得密集奖励的获取变得简单高效。
训练目标灵活性:该框架与具体ORM训练目标无关,可兼容交叉熵损失、DPO等多种方法。研究中采用了内存效率更高的交叉熵损失。
PRIME算法整合了隐式PRM与在线强化学习,解决了几个关键问题:
密集奖励提供:直接使用PRM生成的token级奖励替代传统PPO中的价值模型,缓解奖励稀疏性问题。
PRM初始化:研究发现初始策略模型本身即可作为PRM的良好起点,大幅降低了使用门槛。
在线PRM更新:仅需结果标签即可更新PRM,避免了传统方法需要大量过程标注的问题。
参考策略选择:实验比较了使用初始SFT模型和运行策略旧logprobs作为参考的两种策略,发现性能相近但各有优势。
研究选用Qwen2.5-Math-7B-Base作为基础模型,因其出色的数学能力。评估主要基于竞赛级数学和编程基准:
首先通过监督微调(SFT)获得RL的初始模型:
RL阶段的关键设计包括:
数据收集与预处理:
在线提示过滤:
RL算法比较:
最终模型Eurus-2-7B-PRIME在多个基准测试中表现优异:
| 模型 | AIME 2024 | MATH-500 | AMC | Minerva Math | OlympiadBench | 平均 |
|---|---|---|---|---|---|---|
| Eurus-2-7B-PRIME | 26.7 | 79.2 | 57.8 | 38.6 | 42.1 | 48.9 |
| Eurus-2-7B-SFT | 3.3 | 65.1 | 30.1 | 32.7 | 29.8 | 32.2 |
| Qwen2.5-Math-7B-Instruct | 13.3 | 79.8 | 50.6 | 34.6 | 40.7 | 43.8 |
关键发现:
在线PRM效果:
单前向vs双前向:
参考策略选择:
开发了EurusPRM,一个最先进的开源PRM,用于Best-of-N采样:
第一阶段:
第二阶段:
比较了不同PRM在Best-of-64设置下的表现:
| 模型 | MATH | AMC | AIME | Olympiad | Minerva | 平均 |
|---|---|---|---|---|---|---|
| Skywork-o1 | 47.2 | 45.8 | 10.0 | 32.3 | 16.2 | 30.3 |
| EurusPRM-S1 | 44.6 | 41.0 | 6.7 | 32.9 | 17.3 | 28.5 |
| EurusPRM-S2 | 47.2 | 43.4 | 13.3 | 33.8 | 19.2 | 31.4 |
加权Best-of-64进一步提升性能:
| 任务 | 数据集 | 数量 | 平均长度 | 来源 |
|---|---|---|---|---|
| 数学 | MathInstruct | 127K | 964 | TIGER-Lab |
| 数学 | OpenMathInstruct | 150K | 1202 | NVIDIA |
| 数学 | Numina | 55K | 1331 | AI-MO |
| 编程 | Code-Feedback | 27K | 1805 | m-a-p |
| 编程 | Magicoder | 24K | 1828 | ise-uiuc |
| 总计 | - | 229K | 1390 | - |
采用系统化的基于规则和LLM的方法:
问题类型分类:
格式转换:
验证:
基于项目实践经验,总结以下关键建议:
数据策略:
算法选择:
训练技巧:
资源优化:
虽然PRIME已取得显著成果,仍有多个值得探索的方向:
多领域扩展:
算法优化:
规模扩展:
应用落地: