一、OpenR 是什么
OpenR 是一个开源框架,旨在增强大型语言模型(LLMs)的复杂推理能力。它由伦敦大学学院(UCL)、上海交通大学、利物浦大学、香港科技大学(广州)和西湖大学的研究人员联合开发。OpenR 的设计灵感部分来自 OpenAI 的 o1 模型,但其目标更为宏大,不仅要复制先进语言模型的推理能力,还要在此基础上实现突破。
OpenR 的功能特色
- 过程监督数据发布 (Process-supervision Data Release)
- OpenR 提供过程监督数据,这对于训练大型语言模型(LLMs)至关重要。这些数据通过过程奖励模型(PRM)来评估和优化模型的推理步骤,确保每一步都正确对齐。
- 在线强化学习训练 (Online RL Training)
- OpenR 支持在线强化学习(RL)训练,使模型能够在实时环境中不断学习和调整,以提升其推理能力。这种方法允许模型在每次交互中根据反馈进行改进,从而更快地达到更高的推理水平。
- 生成式和判别式PRM训练 (Generative and Discriminative PRM Training)
- OpenR 提供生成式和判别式PRM训练。生成式PRM训练帮助模型学习如何生成合理的推理步骤,而判别式PRM训练则确保这些步骤的正确性和有效性。
- 多种搜索策略 (Multiple Search Strategies)
- OpenR 支持多种搜索策略,包括波束搜索(Beam Search)、N 中最佳选择(N-best Selection)等。这些策略根据过程奖励模型的质量发挥独特优势,使模型能够在不同的任务和环境中选择最合适的搜索方法,从而提高推理的准确性和效率。
- 测试时计算 (Test-time Computation)
- OpenR 强调测试时的计算重要性,通过优化测试时的计算过程,使模型能够在实际应用中提供精确的输出。
- 测试时扩展法则 (Test-time Scaling Law)
- OpenR 遵循测试时扩展法则,这意味着模型在测试时的表现会随着计算资源的增加而显著提升。
- 非自回归解码(Non-autoregressive Decoding)OpenR 结合过程奖励模型(PRM)引导大型语言模型(LLM)的搜索过程,使推理朝着更有效的结果发展。这种非自回归解码方法允许模型在生成输出时并行处理,而不是按顺序逐个生成标记,从而显著提高了推理的速度和效率。
三、OpenR 与 o1 模型的主要关系和区别
- 启发来源:OpenR 受到 OpenAI 的 o1 模型在推理领域的成功启发,尤其是其在数学、编码和科学问题等任务上的强大表现。
- 技术方法:o1 模型使用了强化学习技术,通过显式地嵌入一个原生「思维链」(NCoT)过程,可出色地完成复杂的推理任务。而 OpenR 采用了一种基于模型的方法,超越了传统的自回归方法,通过过程奖励模型(PRM)训练、强化学习、多种搜索框架等,旨在增强大型语言模型的复杂推理能力。
- 目标:o1 模型旨在通过强化学习和推断阶段的 Scaling Law 实现推理能力的显著提升。OpenR 则旨在复制并提高下一代 LLM 中的推理能力,通过专注于数据采集、过程奖励模型和高效推理方法等核心技术,成为第一个为 LLM 提供如此复杂推理支持的开源解决方案。
- 开源贡献:OpenR 是由伦敦大学学院(UCL)、上海交通大学、利物浦大学、香港科技大学(广州)和西湖大学联合开源的,旨在推动推理领域开源社区的发展。
- 性能提升:在实验中,使用 OpenR 的 LLM 推理性能在 MATH 数据集上取得了显著提升,相对改进达到了约 10%^17^。
OpenR 框架使用了 Scaling Law,但与 OpenAI 的 o1 模型存在一些区别。
OpenR 中的 Scaling Law:
- OpenR 遵循测试时扩展法则,这意味着模型在测试时的表现会随着计算资源的增加而显著提升。这表明 OpenR 在测试阶段利用更多的计算资源,可以显著提高模型的推理性能。
- 在 OpenR 的测试时,随着生成预算的增加,最佳 N 选择和束搜索方法的性能显著优于多数投票。这表明在测试时增加计算预算,使用更复杂的搜索策略,可以提升模型的准确率。
与 OpenAI 的 o1 模型的区别:
- OpenAI 的 o1 模型侧重于使用强化学习和思维链来增强推理能力,并在 Post-Training 阶段应用 Scaling Law 来提升性能。这表明 o1 模型在训练阶段就注重了 Scaling Law 的应用,以达到更好的推理效果。
- OpenR 则侧重于过程监督、在线强化学习、生成式和判别式PRM训练以及测试时扩展法则,来提升和优化大型语言模型的推理能力。这说明 OpenR 在测试时采用了 Scaling Law,通过增加计算资源来提升模型的推理性能。
总结来说,尽管 OpenR 和 OpenAI 的 o1 模型都使用了 Scaling Law,但它们在应用 Scaling Law 的方式和阶段上存在差异。OpenR 更侧重于测试时的计算扩展,而 o1 模型则在训练阶段就应用了 Scaling Law,两者都旨在通过 Scaling Law 提升模型的推理能力。
四、多种方式提升大型语言模型(LLM)的推理能力
1、数据采集
高质量和多样化的数据集对于训练法学硕士至关重要。OpenR 通过自动化流程从结果标签中提取推理步骤,显著减少人工工作量,同时确保收集到宝贵的推理信息。这种方法特别适用于与推理数据的人工注释相关的成本问题,为模型预训练和微调提供了有效的数据支持。
2、培训策略
OpenR 提供了一系列工具包,以增强法学硕士的推理能力。这包括在线强化学习,用于训练 LLM 作为提议者,以及学习过程监督奖励模型(PRM)作为验证者的方法。这些策略不仅提升了模型的推理技能,还确保了推理过程的准确性和可靠性。
3、推理优化
在测试时,OpenR 通过生成或搜索的方式,使 LLM 能够提供精确的输出。它支持多种搜索算法,如波束搜索、N 中最佳选择等,每种算法都根据过程奖励模型的质量发挥独特优势。这种灵活性使得 OpenR 能够根据具体需求选择最合适的搜索策略,从而优化推理过程。
通过这些方法,OpenR 不仅复制了先进语言模型的推理能力,还实现了超越,为未来的 AI 系统提供了更高效、更准确的推理支持。
五、OpenR 的过程奖励模型(PRM)解读
- OpenR 的过程奖励模型(PRM)是一种评估和优化大型语言模型(LLM)推理过程的工具。PRM 的主要目的是判断解决方案的步骤是否在正确的轨道上,并为每个步骤输出一个介于 0 到 1 之间的分数,作为其正确性的指标。具体来说,PRM 通过监督训练来学会评估推理步骤的正确性,将正确或错误的判定作为分类标签,并使用 LLM 来预测每一步的后续标记。在训练过程中,模型会在每个步骤标记之后预测正或负标签,从而实现对推理步骤的细粒度指导。
- PRM 通过迭代地划分解决方案、回溯分析并找出模型推理中的第一个错误步骤来提高效率。这种方法不仅直接培养推理技能,还能在每个阶段探索多个推理路径,大大提高了推理过程的稳健性。在实际应用中,PRM 与强化学习结合,通过优化策略以最大化奖励,使 LLM 能够在 PRM 的引导下生成准确且有意义的推理过程。
- 此外,PRM 还用于评估 LLM 生成的解决方案正确性,将每一步的得分转换为最终分数,并采用不同的策略选择最佳答案,如 PRM-Min 和 PRM-Last,以及基于结果奖励模型的策略,如 RM-Max 和 RM-Vote。通过结合这些策略,可以形成多种加权方法,例如 PRM-Last-Max,即使用 PRM-Last 和 RM-Max 组合进行选择。这些策略使得在推理过程中能够基于分数选择最佳答案,从而提升推理的准确性和效率
六、如何使用
- 安装与配置 :
- 克隆项目仓库:
git clone https://github.com/facebook/openr.git
- 安装依赖:
./build_openr.sh
- 构建项目:
cmake . && make
- 运行 OpenR:
./openr/openr
- 克隆项目仓库:
- 配置文件 :
- 配置文件通常命名为
openr.conf
,定义了 OpenR 运行时的行为,包括节点的角色、接口信息、路由策略和性能参数等。
- 配置文件通常命名为
- 使用 PRM 训练和强化学习训练 :
- 使用几行代码即可实现 PRM 的训练、强化学习训练,以及不同的解码方法。
- 详细文档和教程 :
- 详细的代码文档和教程可以通过 OpenR 官方文档 访问。
七、OpenR 项目的各个地址 | MeoAI
- OpenR 官方文档:
- OpenR 代码仓库:
- OpenR 论文链接:
八、适用场景
- 复杂推理任务:适用于需要复杂推理能力的任务,如数学、编程和科学问题。
- 大型语言模型(LLMs):增强 LLMs 的推理能力,使其不仅能生成文本,还能进行复杂的推理。
- 研究与开发:为研究人员和开发者提供了一个宝贵的资源,以共同推进语言模型的推理能力。
九、总结
OpenR 是一个强大的开源框架,通过结合测试时计算、强化学习和过程监督,为提升大型语言模型的推理能力开辟了新途径。它不仅为当前的 LLMs 提供了升级路径,还为未来更智能、更具推理能力的 AI 系统铺平了道路。