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

OpenR框架深度解读 - OpenAI启发的首个开源项目提升大型语言模型推理能力

一、OpenR 是什么

OpenR 是一个开源框架,旨在增强大型语言模型(LLMs)的复杂推理能力。它由伦敦大学学院(UCL)、上海交通大学、利物浦大学、香港科技大学(广州)和西湖大学的研究人员联合开发。OpenR 的设计灵感部分来自 OpenAI 的 o1 模型,但其目标更为宏大,不仅要复制先进语言模型的推理能力,还要在此基础上实现突破。

OpenR 的功能特色

  1. 过程监督数据发布(Process-supervision Data Release)
    • OpenR 提供过程监督数据,这对于训练大型语言模型(LLMs)至关重要。这些数据通过过程奖励模型(PRM)来评估和优化模型的推理步骤,确保每一步都正确对齐。
  2. 在线强化学习训练(Online RL Training)
    • OpenR 支持在线强化学习(RL)训练,使模型能够在实时环境中不断学习和调整,以提升其推理能力。这种方法允许模型在每次交互中根据反馈进行改进,从而更快地达到更高的推理水平。
  3. 生成式和判别式PRM训练(Generative and Discriminative PRM Training)
    • OpenR 提供生成式和判别式PRM训练。生成式PRM训练帮助模型学习如何生成合理的推理步骤,而判别式PRM训练则确保这些步骤的正确性和有效性。
  4. 多种搜索策略(Multiple Search Strategies)
    • OpenR 支持多种搜索策略,包括波束搜索(Beam Search)、N 中最佳选择(N-best Selection)等。这些策略根据过程奖励模型的质量发挥独特优势,使模型能够在不同的任务和环境中选择最合适的搜索方法,从而提高推理的准确性和效率。
  5. 测试时计算(Test-time Computation)
    • OpenR 强调测试时的计算重要性,通过优化测试时的计算过程,使模型能够在实际应用中提供精确的输出。
  6. 测试时扩展法则(Test-time Scaling Law)
    • OpenR 遵循测试时扩展法则,这意味着模型在测试时的表现会随着计算资源的增加而显著提升。
  7. 非自回归解码(Non-autoregressive Decoding)OpenR 结合过程奖励模型(PRM)引导大型语言模型(LLM)的搜索过程,使推理朝着更有效的结果发展。这种非自回归解码方法允许模型在生成输出时并行处理,而不是按顺序逐个生成标记,从而显著提高了推理的速度和效率。

三、OpenR 与 o1 模型的主要关系和区别

  1. 启发来源:OpenR 受到 OpenAI 的 o1 模型在推理领域的成功启发,尤其是其在数学、编码和科学问题等任务上的强大表现。
  2. 技术方法:o1 模型使用了强化学习技术,通过显式地嵌入一个原生「思维链」(NCoT)过程,可出色地完成复杂的推理任务。而 OpenR 采用了一种基于模型的方法,超越了传统的自回归方法,通过过程奖励模型(PRM)训练、强化学习、多种搜索框架等,旨在增强大型语言模型的复杂推理能力。
  3. 目标:o1 模型旨在通过强化学习和推断阶段的 Scaling Law 实现推理能力的显著提升。OpenR 则旨在复制并提高下一代 LLM 中的推理能力,通过专注于数据采集、过程奖励模型和高效推理方法等核心技术,成为第一个为 LLM 提供如此复杂推理支持的开源解决方案。
  4. 开源贡献:OpenR 是由伦敦大学学院(UCL)、上海交通大学、利物浦大学、香港科技大学(广州)和西湖大学联合开源的,旨在推动推理领域开源社区的发展。
  5. 性能提升:在实验中,使用 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)解读

  1. OpenR 的过程奖励模型(PRM)是一种评估和优化大型语言模型(LLM)推理过程的工具。PRM 的主要目的是判断解决方案的步骤是否在正确的轨道上,并为每个步骤输出一个介于 0 到 1 之间的分数,作为其正确性的指标。具体来说,PRM 通过监督训练来学会评估推理步骤的正确性,将正确或错误的判定作为分类标签,并使用 LLM 来预测每一步的后续标记。在训练过程中,模型会在每个步骤标记之后预测正或负标签,从而实现对推理步骤的细粒度指导。
  2. PRM 通过迭代地划分解决方案、回溯分析并找出模型推理中的第一个错误步骤来提高效率。这种方法不仅直接培养推理技能,还能在每个阶段探索多个推理路径,大大提高了推理过程的稳健性。在实际应用中,PRM 与强化学习结合,通过优化策略以最大化奖励,使 LLM 能够在 PRM 的引导下生成准确且有意义的推理过程。
  3. 此外,PRM 还用于评估 LLM 生成的解决方案正确性,将每一步的得分转换为最终分数,并采用不同的策略选择最佳答案,如 PRM-Min 和 PRM-Last,以及基于结果奖励模型的策略,如 RM-Max 和 RM-Vote。通过结合这些策略,可以形成多种加权方法,例如 PRM-Last-Max,即使用 PRM-Last 和 RM-Max 组合进行选择。这些策略使得在推理过程中能够基于分数选择最佳答案,从而提升推理的准确性和效率

六、如何使用

  1. 安装与配置
    • 克隆项目仓库:git clone https://github.com/facebook/openr.git
    • 安装依赖:./build_openr.sh
    • 构建项目:cmake . && make
    • 运行 OpenR:./openr/openr
  2. 配置文件
    • 配置文件通常命名为 openr.conf,定义了 OpenR 运行时的行为,包括节点的角色、接口信息、路由策略和性能参数等。
  3. 使用 PRM 训练和强化学习训练
    • 使用几行代码即可实现 PRM 的训练、强化学习训练,以及不同的解码方法。
  4. 详细文档和教程
    • 详细的代码文档和教程可以通过  OpenR 官方文档 访问。

七、OpenR 项目的各个地址 | MeoAI

  • OpenR 官方文档
  • OpenR 代码仓库
  • OpenR 论文链接

八、适用场景

  1. 复杂推理任务:适用于需要复杂推理能力的任务,如数学、编程和科学问题。
  2. 大型语言模型(LLMs):增强 LLMs 的推理能力,使其不仅能生成文本,还能进行复杂的推理。
  3. 研究与开发:为研究人员和开发者提供了一个宝贵的资源,以共同推进语言模型的推理能力。

九、总结

OpenR 是一个强大的开源框架,通过结合测试时计算、强化学习和过程监督,为提升大型语言模型的推理能力开辟了新途径。它不仅为当前的 LLMs 提供了升级路径,还为未来更智能、更具推理能力的 AI 系统铺平了道路。


http://www.kler.cn/news/361450.html

相关文章:

  • 十五、行为型(迭代器模式)
  • 渗透实战 JS文件怎么利用
  • Hadoop 踩坑汇总
  • vue全局API(app.component,app.config,app.directive,app.mount,app.unMount,app.use)
  • 容灾与云计算概念
  • 关于Deformable Convolution:自我整理一次可变形卷积
  • 基于SpringBoot+Vue+uniapp微信小程序的社区门诊管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
  • uniapp 引入了uview-ui后,打包错误,主包过大解决方案
  • spring boot 3.3.4 网关(gateway) 集成knife4j 4.4.0
  • 插入数据时遇到主键重复问题怎么办?——insert into数据库技巧 (insert into主键重复数据库)
  • Gin框架操作指南03:HTML渲染
  • MySQL 分库分表实战
  • 关于jmeter中没有jp@gc - response times over time
  • Java面试场景题(1)---如何使用redis记录上亿用户连续登陆天数
  • Web3的核心概念:去中心化如何改变互联网
  • 【C++刷题】力扣-#350-两个数组的交集II
  • Vue.js 学习总结(9)—— Vue 3 组件封装技巧
  • 零知识学习WLAN漫游二、无线漫游介绍(2)
  • Altium Designer 入门基础教程(三)
  • 10.22 MySQL
  • LabVIEW共享变量通信故障
  • Ubuntu20.04系统安装opencv
  • windows连接linux服务器上的jupyter lab
  • 16. Redis异步队列
  • 《测试能否转产品经理?——优势与难点并存的转型之路》
  • 用神经网络自动玩游戏