0

0

两个小模型互相验证,直接比肩大模型?微软的rStar甚至没用CoT和微调

PHPz

PHPz

发布时间:2024-08-16 19:50:34

|

1167人浏览过

|

来源于机器之心

转载

互相检查,让小模型也能解决大问题。

众所周知,llm 很强大,但执行复杂推理的能力还不够强。

举个例子,在 GSM8K 数据集上,Mistral-7B 即使使用思维链(CoT)等技术,也只能达到 36.5% 的准确度。尽管微调确实也能有效地提升推理能力,但大多数 LLM 依靠的微调数据都是经过 GPT-4 等更强大模型蒸馏过的,甚至可能原本就是这些强大模型合成的。

同时,研究者们也在积极开发一种能提供辅助但也更困难的方法:使用一个更优的教师 LLM 来提升推理能力。

为了在没有更优模型的前提下提升推理能力,一种颇有希望的范式是利用 LLM 自身之中的知识。举个例子,一种名为 RAP 的方法采用了一种自我探索式的解决方法,即通过自我奖励的反馈来迭代式地提升 LLM 的推理性能。不幸的是,研究表明这一范式具有两大根本性问题。

第一,在执行推理时,LLM 往往难以有效地探索解答空间。这种自我探索式方法往往会因推理步骤质量不佳而受困于某个解答空间,即使多次尝试也是如此。

第二,即使自我探索找到了高质量的推理步骤,小版本的大型语言模型(SLM)也难以辨别哪些推理步骤的质量更高,也难以确定最终答案是否正确,由此难以有效地引导自我探索。研究表明,基于基本的常规奖励的自我探索引导得到的结果并不比随机猜测更好。

更麻烦的是,小版本的大型语言模型(SLM)更容易出现上述两个问题,因为它们的能力更差一些。举个例子,GPT-4 能通过自我优化来提升输出结果,但 SLM 却很难做到这一点,甚至可能导致输出结果质量下降。这会严重妨碍神经语言模型的推广应用。

针对这些问题,微软亚洲研究院和哈佛大学的一个研究团队提出了 Self-play muTuAl Reasoning,即自博弈相互推理,简称 rStar。简单来说,该方法就类似于让两个学习平平的人互相检查考卷答案,最终提升得分,甚至达到比肩学霸的程度。该团队宣称 rStar 「无需微调或更优模型就能提升 SLM 的推理能力」。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

两个小模型互相验证,直接比肩大模型?微软的rStar甚至没用CoT和微调

  • 论文标题:Mutual Reasoning Makes Smaller LLMs Stronger Problem-Solvers

  • 论文地址:https://arxiv.org/pdf/2408.06195

  • 代码地址:https://github.com/zhentingqi/rStar (尚待发布)

方法

为了解决上述难题,rStar 的做法是将推理过程分成了解答生成和相互验证两部分,如图 2 所示。

两个小模型互相验证,直接比肩大模型?微软的rStar甚至没用CoT和微调

针对第一个难题,该团队引入了一个集合,其中包含丰富的类似人类的推理动作,可透彻地探索多种不同的推理任务空间。

针对第二个难题,他们设计了一个专门针对 SLM 的奖励函数,这能对中间步骤进行评估,从而避免依赖它们那往往并不可靠的自我评估。

此外,该团队还使用了另一个 SLM 作为判别器来增强 MCTS 过程,与判别器 SLM 互相验证每条轨迹的正确性。

使用 MCTS Rollout 自己生成推理轨迹

一个包含丰富的类人推理动作的集合。MCTS 生成的核心在于动作空间,其定义了树探索的范围。大多数基于 MCTS 的方法在构建树时都使用了单一动作类型。比如 RAP 中的动作是提出下一个子问题,而 AlphaMath 和 MindStar 中的动作是生成下一推理步骤。但是,依赖单一动作类型可能容易导致空间探索效果不佳。

为了解决这个问题,该团队回顾了人类执行推理的方法。不同的人解决问题的方法也不同:某些人会将问题分解成子问题,另一些则会直接解决问题,还有些人则会换个视角重新表述问题。此外,人们还会根据当前状态调整自己的方法,按需求选择不同的动作。

受人类推理过程的启发,该团队构建了一个更为丰富的数据集,其中包含 5 类动作,以尽可能地提升 SLM 正确解决复杂推理问题的潜力。

动作 1:提议一步思路。针对给定问题,该动作会让 LLM 基于已有的推理步骤生成接下来的一步思路。

动作 2:提议余下的思路步骤。该动作与标准 CoT 一样,能实现「快速思考」,从而解决只需少量步骤的简单问题。给定已经生成的推理步骤,它会让 LLM 直接生成剩余步骤,直到得到最终答案。

动作 3:提议下一个子问题及其答案。

动作 4:再次回答这个子问题。考虑到动作 3 有可能无法正确回答对应的子问题,因此这个动作的作用是再次回答它。

动作 5:重新表述问题 / 子问题。这个新动作是以更简单的方式重新表述该问题。具体来说,这里是让 LLM 清晰列出问题陈述中的所有条件。

以上五个动作定义了一个高度多样化的动作空间 {A1, A2, A3, A4, A5}。

在每个步骤 i,MCTS 从该空间选取一个动作 a_i。然后基于当前状态(即之前生成的轨迹 x ⊕ s_1 ⊕ s_2 ⊕ ... ⊕ s_{i−1}),使用该动作 a_i 让 LLM 生成下一推理步骤 s_i。请注意某些动作需要按顺序执行。图 3 给出了一个示例。

两个小模型互相验证,直接比肩大模型?微软的rStar甚至没用CoT和微调

如表 1 所示,在提升最终推理准确度方面,每个动作都具有重要作用。

两个小模型互相验证,直接比肩大模型?微软的rStar甚至没用CoT和微调

  • 奖励函数

MCTS 的另一个关键组件是奖励函数,其作用是评估每个动作的价值并为树的扩展提供指示。针对 SLM,该团队设计了一个简单却有效的奖励函数。他们的方法灵感来自 AlphaGo,即基于每个中间节点对最终正确答案的贡献对它们进行评分。这样一来,经常得到正确答案的动作就能获得更高奖励,它们也就更可能在未来的 MCTS 树扩展中被选取。

这里将执行动作 a 后生成的节点 s 的奖励值定义为 Q (s, a)。一开始,所有未被探索过的节点都被分配了 Q (s_i, a_i) = 0,从而实现随机的树扩展。在抵达首个端节点 n_d 时,根据其是否得到正确答案而计算一个奖励分数 Q (s_d, a_d)。

然后,沿轨迹 t = x ⊕ s_1 ⊕ s_2 ⊕ ... ⊕ s_d 将该分数反向传播给每个中间节点。具体来说,对于每个 s_i,都以如下方式更新其 Q 值:Q (s_i, a_i) = Q (s_i, a_i) + Q (s_d, a_d)。为了计算端节点的 Q (s_d, a_d),这里使用的奖励值是自洽多数投票的似然(置信度)。

  • 使用 MCTS Rollout 生成解答

下面描述 MCTS 生成候选推理轨迹的方式。从初始的根节点 s_0 开始,执行包括选取、扩展、模拟和反向传播在内的多种搜索。具体来说,模拟使用的是默认的 Rollout 策略。为了得到更准确的奖励估计,该团队会执行多次 Rollout。为了平衡探索与利用,他们使用了著名的 UCT(树的置信度上界)来选取每个节点。这个选取过程的数学形式为:

其中 N (s, a) 是之前的迭代中节点 s 被访问的次数,N_parent (s) 表示对 s 的父节点的访问次数。Q (s, a) 是估计的奖励值,会在反向传播过程中得到更新。c 是平衡探索与利用的常量。

一旦搜索到达某个端节点(可能是一个终端状态,也可能到达了预定义的最大树深度 d),便能得到一条从根到端节点的轨迹。将 Rollout 迭代得到的所有轨迹收集起来作为候选解答。接下来就需要对它们进行验证。

使用互恰性选择推理轨迹

基于收集到的所有轨迹,该团队提出使用推理互恰性来选择答案。

Gambo
Gambo

世界上首个游戏氛围编程智能体

下载
  • 通过判别器 SLM 实现推理互恰性

如图 2 所示,除了目标 SLM 外,该团队还引入了一个判别器 SLM,其作用是为每个候选轨迹提供外部无监督反馈。

具体来说,对于 t = x ⊕ s_1 ⊕ s_2 ⊕ ... ⊕ s_d,遮掩从某个随机采样的步骤 i 处开始的推理步骤。然后将之前的推理轨迹 t = x ⊕ s_1 ⊕ s_2 ⊕ ... ⊕ s_{i-1} 作为 prompt 提供给判别器 SLM,让其补全剩余步骤。由于将之前的 i-1 个推理步骤作为了提示,因此难度降低了,判别器 SLM 便更有可能给出正确答案。

图 4 中比较了判别器 SLM 补全的答案是否与原始轨迹 t 匹配。如果两者一致,则认为 t 是可以最终选择的已验证轨迹。

两个小模型互相验证,直接比肩大模型?微软的rStar甚至没用CoT和微调

由目标 SLM 选取最终轨迹。在对所有候选轨迹使用了推理互恰性之后,再回到目标 SLM,让其从已验证轨迹中选出最终轨迹。为了计算每条轨迹的最终分数,该团队的做法是用其奖励乘以通过 Rollout 得到的其端节点的置信度分数。最终分数最高的轨迹被选作解答。

实验

实验设置

rStar 适用于多种 LLM 和推理任务。该团队评估了 5 个 SLM:Phi3-mini、LLaMA2-7B、Mistral-7B、LLaMA3-8B、LLaMA3-8B-Instruct。

测试的推理任务有 5 个,其中包括 4 个数学任务(GSM8K、GSM-Hard、MATH、SVAMP)和 1 个常识任务(StrategyQA)。

实验细节请访问原论文。

主要结果

该团队首先评估了 rStar 在一般推理基准上的有效性。表 2 比较了 rStar 和其它当前最佳方法在不同 SLM 和推理数据集上的准确度。为了演示新生成器的效果,该团队还提供了 rStar (generator @maj) 的准确度,即不使用判别器,仅使用多数投票来验证答案而得到的准确度。

两个小模型互相验证,直接比肩大模型?微软的rStar甚至没用CoT和微调

该团队指出了其中的三项关键结果:

1. 得到 rStar 助力的 SLM 解决问题的能力更强。比如,在 GSM8K 数据集上,使用少样本 CoT 的 LLaMA2-7B 的准确度只有 12.51%。但有了 rStar 的帮助,其准确度提升到了 63.91%,这一成绩接近使用微调得到的准确度,如图 1 所示。类似地,使用 rStar 的 Mistral 的性能甚至比微调版的 MetaMath 还高 4.18%。这样的提升表明,SLM 本身已经具备很强的推理能力,但需要引导才能生成和选出正确解答。

两个小模型互相验证,直接比肩大模型?微软的rStar甚至没用CoT和微调

2.rStar 可以稳定地将被评估的多种 SLM 在不同任务上的推理准确度提升至当前最佳水平。相较之下,其它对比方法都无法稳定地在所有四个基准上取得优良表现。举个例子,尽管 SC(自我一致性)擅长三个数学任务,但却无法有效解决 StrategyQA 的逻辑推理任务。

3. 即使没有新提出的用于验证推理轨迹的判别器,新提出的 MCTS 生成器在提升 SLM 的推理准确度方面依然效果很好。比如,在 GSM8K 数据集上,rStar (generator @maj) 的准确度比 RAP 高 2.88%-16.39%、比 ToT 高 10.60%- 38.37%、比 SC 高 1.69% - 7.34%。

  • 在高难度数学数据集上的结果

该团队还在一个更高难度的数学数据集上评估了 rStar。为此他们选择了 GSM-Hard 和 MATH 数据集。遵照同类研究的惯例,他们使用了 MATH-500,这是来自 MATH 数据集的一个包含代表性问题的子集。这样做是为了提升评估速度。如表 2 和 3 所示,rStar 能够显著提高 SLM 在这些高难度数学数据集上的推理准确度。

两个小模型互相验证,直接比肩大模型?微软的rStar甚至没用CoT和微调

消融研究

  • 不同 Rollout 的有效性

rStar 使用了 Rollout 策略来执行 MCTS 树扩展。更多 Rollout 会生成更多候选解答轨迹,但也会抬高推理成本。图 5 比较了在 GSM8K 上,SC、RAP 和 rStar 使用不同 Rollout 时的准确度。

两个小模型互相验证,直接比肩大模型?微软的rStar甚至没用CoT和微调

这里得到两个关键观察结果:

1. 即使仅 2 次 Rollout,rStar 也能大幅提升 SLM 的推理准确度,这表明了其有效性;
2.Rollout 更多时对 rStar 和 SC 都有利,而 RAP 在 4 次 Rollout 之后往往会饱和甚至下降。一个原因是 RAP 的单类型动作空间会限制 MCTS 探索的效果。
  • MCTS 生成器的有效性

该团队比较了 MCTS 生成器与其它三种生成器的效果。如表 4 所示,新提出的 MCTS 生成器全面胜过其它生成器。此外,针对 SLM 调整过的奖励函数的有效性也得到了证明,因为自我评估会降低新生成器的准确度。

两个小模型互相验证,直接比肩大模型?微软的rStar甚至没用CoT和微调

  • 判别器的有效性

该团队设置了两个评估实验。

第一个实验是将判别方法与多数投票和自我验证方法进行比较。结果见表 5(左),可以看到判别方法的优势非常显著。

两个小模型互相验证,直接比肩大模型?微软的rStar甚至没用CoT和微调

第二个实验则是研究不同的判别器模型的影响。结果见表 5(右),可以看到选择不同的判别器模型通常不会影响推理互恰性方法验证答案的效果。值得注意的是,即使使用强大的 GPT-4 作为判别器,性能也只有略微提升(从 91.13% 提升到 92.57%)。这表明推理互恰性方法可以有效地使用 SLM 来验证答案。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

1570

2023.10.24

github中文官网入口 github中文版官网网页进入
github中文官网入口 github中文版官网网页进入

github中文官网入口https://docs.github.com/zh/get-started,GitHub 是一种基于云的平台,可在其中存储、共享并与他人一起编写代码。 通过将代码存储在GitHub 上的“存储库”中,你可以: “展示或共享”你的工作。 持续“跟踪和管理”对代码的更改。

4454

2026.01.21

http与https有哪些区别
http与https有哪些区别

http与https的区别:1、协议安全性;2、连接方式;3、证书管理;4、连接状态;5、端口号;6、资源消耗;7、兼容性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2957

2024.08.16

TypeScript类型系统进阶与大型前端项目实践
TypeScript类型系统进阶与大型前端项目实践

本专题围绕 TypeScript 在大型前端项目中的应用展开,深入讲解类型系统设计与工程化开发方法。内容包括泛型与高级类型、类型推断机制、声明文件编写、模块化结构设计以及代码规范管理。通过真实项目案例分析,帮助开发者构建类型安全、结构清晰、易维护的前端工程体系,提高团队协作效率与代码质量。

76

2026.03.13

Python异步编程与Asyncio高并发应用实践
Python异步编程与Asyncio高并发应用实践

本专题围绕 Python 异步编程模型展开,深入讲解 Asyncio 框架的核心原理与应用实践。内容包括事件循环机制、协程任务调度、异步 IO 处理以及并发任务管理策略。通过构建高并发网络请求与异步数据处理案例,帮助开发者掌握 Python 在高并发场景中的高效开发方法,并提升系统资源利用率与整体运行性能。

116

2026.03.12

C# ASP.NET Core微服务架构与API网关实践
C# ASP.NET Core微服务架构与API网关实践

本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。

345

2026.03.11

Go高并发任务调度与Goroutine池化实践
Go高并发任务调度与Goroutine池化实践

本专题围绕 Go 语言在高并发任务处理场景中的实践展开,系统讲解 Goroutine 调度模型、Channel 通信机制以及并发控制策略。内容包括任务队列设计、Goroutine 池化管理、资源限制控制以及并发任务的性能优化方法。通过实际案例演示,帮助开发者构建稳定高效的 Go 并发任务处理系统,提高系统在高负载环境下的处理能力与稳定性。

62

2026.03.10

Kotlin Android模块化架构与组件化开发实践
Kotlin Android模块化架构与组件化开发实践

本专题围绕 Kotlin 在 Android 应用开发中的架构实践展开,重点讲解模块化设计与组件化开发的实现思路。内容包括项目模块拆分策略、公共组件封装、依赖管理优化、路由通信机制以及大型项目的工程化管理方法。通过真实项目案例分析,帮助开发者构建结构清晰、易扩展且维护成本低的 Android 应用架构体系,提升团队协作效率与项目迭代速度。

109

2026.03.09

JavaScript浏览器渲染机制与前端性能优化实践
JavaScript浏览器渲染机制与前端性能优化实践

本专题围绕 JavaScript 在浏览器中的执行与渲染机制展开,系统讲解 DOM 构建、CSSOM 解析、重排与重绘原理,以及关键渲染路径优化方法。内容涵盖事件循环机制、异步任务调度、资源加载优化、代码拆分与懒加载等性能优化策略。通过真实前端项目案例,帮助开发者理解浏览器底层工作原理,并掌握提升网页加载速度与交互体验的实用技巧。

108

2026.03.06

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
国外Web开发全栈课程全集
国外Web开发全栈课程全集

共12课时 | 1万人学习

进程与SOCKET
进程与SOCKET

共6课时 | 0.4万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号