MIT开源7B推理模型Satori:用行动思维链进行强化学习,增强自回归搜索

自OpenAI的o1发布以来,研究社区为提升开源LLM的高级推理能力做出了诸多努力,包括使用强大的教师模型进行蒸馏、蒙特卡洛树搜索(MCTS)以及基于奖励模型的引导搜索等方法。

图片

本研究旨在探索一个新的研究方向:使LLM具备自回归搜索能力,即单个LLM能够进行扩展推理过程,并进行自我反思和自我探索新的策略。

为此,我们开发了一种受经典强化学习(RL)社区启发的LLM后训练范式。我们的方法成果是Satori,这是一个基于开源模型(Qwen-2.5-Math-7B)和开源数据(OpenMathInstruct-2和NuminaMath)训练的7B LLM。Satori的关键特性包括:

  • • 能够在没有外部指导的情况下进行自我反思和自我探索。

  • • 主要通过自我提升(强化学习)实现最先进的推理性能。

  • • 在数学以外的未见领域展现出推理能力的可迁移性。

方法

我们将 LLM 推理公式化为一个顺序决策问题,其中推理是一个逐步构建和完善答案的过程。具体而言,LLM(作为智能体的策略)从输入上下文(初始状态)开始,生成一个推理步骤(动作),并更新上下文(下一个状态)。LLM重复这一过程,直到得出最终答案,并获得一个奖励,用于评估最终答案是否与真实答案相符。通过这种表述,我们可以使用强化学习训练LLM进行推理,目标是生成一系列推理步骤,以最大化预期奖励。

行动思维链推理(COAT)

实现自回归搜索的关键挑战是让 LLM 能够在没有外部干预的情况下确定何时反思、继续或探索替代解决方案。为了实现这一点,我们引入了几个特殊的元动作标记来指导 LLM 的推理过程,

  • • 继续推理(<|continue|>):鼓励 LLM 通过生成下一个中间步骤来构建其当前的推理轨迹。

  • • 反思(<|reflect|>):促使模型暂停并验证先前推理步骤的正确性。

  • • 探索替代解决方案(<|explore|>):指示模型识别其推理中的关键缺陷并探索新的解决方案。

我们将此公式称为“行动-思维链” (COAT) 推理。每个 COAT 推理步骤都是一个标记序列,从其中一个元行动标记开始。

训练架构概览

标准的 LLM 无法进行 COAT 推理,实现这一点将面临两个关键挑战:

  • • 对元动作标记的无知:未经训练,LLM无法识别遇到特殊元动作标记可能需要反思或提出替代解决方案。

  • • 长期决策和稀疏奖励:推理需要长期决策,奖励仅在最后出现,LLM必须在获得奖励之前采取许多正确的推理步骤,失败则迫使其从初始状态重新开始。由于奖励稀缺,但奖励对于推动强化学习进展至关重要,这使得学习变得困难。

为解决这两个挑战,我们提出了一个两阶段训练框架:

  • • 小规模格式微调阶段,帮助基础LLM内化COAT推理格式。

  • • 大规模的强化学习阶段,利用强化学习与“重启和探索”(RAE)技术。

图片*注: 我们同时开展的工作DeepSeek-R1采用了类似的训练框架,即先进行小规模冷启动 SFT,然后进行大规模 RL 训练。尽管两项工作在这一高级理念上是一致的,但我们的工作在关键方法上与 R1 有所不同,包括数据合成框架和 RL 算法。

通过模仿学习进行格式调整

此阶段旨在微调预先训练的基础 LLM,以模仿一些具有 COAT 推理格式的已证明的推理轨迹。为了合成这种结合反复试验的 COAT 轨迹,我们提出了一个利用三个 LLM 的多智能体数据合成框架:

  • • Generator:给定一个输入问题,生成器使用经典的 CoT 技术为给定的输入问题生成多条推理路径。

  • • Critic:评论家评估生成器生成的推理路径的正确性,提供反馈以改进推理并解决次优步骤。

  • • Reward Model:奖励模型对细化的推理路径进行评分,并选择最有效的路径作为最终的演示轨迹。

这三个模型协作构建了高质量的演示轨迹。我们观察到,少量(10K)的演示轨迹足以使基础 LLM 遵循 COAT 推理格式。

通过强化学习实现自我提升

通过格式调整,LLM 采用了 COAT 推理风格,但难以推广到未见过的问题。强化学习阶段旨在激励利用自我反思来改善推理的实际能力。我们从格式调整后的 LLM 开始,并使用经典 PPO 算法和另外两个关键策略进一步优化它,

  • • 重启和探索 (RAE):受Go-Explore的启发,我们训练 LLM 策略,使其不仅从问题陈述进行推理,而且还从过去轨迹中采样的中间步骤进行推理,无论正确与否。我们还添加了探索奖励以鼓励更深入的思考,从而进一步增加策略得出正确答案的机会。

  • • 迭代式自我改进:策略可能会收敛到局部次优,无法进一步改进。受Kickstarting的启发,在每一轮强化学习训练之后,我们通过监督微调将当前教师策略的知识提炼到学生模型(基础 LLM)中。然后,从新微调的 LLM 开始,我们再进行一轮强化学习训练。

基准性能

Satori 在领域内推理基准(数学推理)和领域外基准(一般推理任务)上进行了评估。所有结果均以贪婪采样的零次传递@1 准确率报告。

评估任务

  • • 数学推理基准:GSM8K、MATH500、AMC2023、AIME2024 和OlympiadBench。除 GSM8K 外,其他所有数据集都具有竞赛级问题。

  • • 通用领域推理基准:
    逻辑推理:FOLIO、BoardgameQA(BGQA)。
    代码推理:CRUXEval。
    常识推理:StrategyQA(STGQA)。
    表格推理:TableBench。
    领域特定推理:MMLUPro STEM 子集(STEM),包括物理、化学、计算机科学、工程、生物和经济学。

数学推理基准

Satori-Qwen-7B 取得了 SOTA 性能,并超越了使用相同基础模型(Qwen-2.5-Math-7B)的 Qwen-2.5-Math-7B-Instruct。经过第二轮训练后,Satori-Qwen-7B(第二轮)在困难任务上表现出更强的性能。

图片

通用领域推理基准

Satori-Qwen-7B仅接受数学数据集训练,在各种领域外推理基准上表现出很强的可迁移性,并且远远优于 Qwen-2.5-Math-7B-Instruct。此外,尽管未接受其他领域的训练,Satori-Qwen-7B 的性能也与其他小规模通用指令模型相当甚至超过。

图片

更多测试结果可以查看原文:

https://satori-reasoning.github.io/blog/satori/

2月15日上午11点,青稞Talk 第38期,Satori第一作者、MIT博士生沈茂昊,将直播分享《Satori:通过训练LLM做自回归搜索来增强推理能力》。

分享嘉宾

沈茂昊,MIT EECS系四年级博士生,长期和MIT-IBM Watson AI lab 合作,本科毕业于UIUC ECE系。研究兴趣包括提升AI系统的可靠性,不确定性估计,以及涉及LLM的多个方向,包括提升LLM的推理能力等,曾在ICML、NeurIPS、AAAI等AI学术会议发表多篇论文。

主题提纲

Satori:通过训练LLM做自回归搜索来增强推理能力

1、O1 类推理模型的技术路线
2、Satori 推理模型及两阶段训练解析
- 行动思维链 COAT 推理范式
- 小规模格式微调
- 大规模的强化学习阶段
3、Satori 的推理能力及泛化讨论

成果连接

Paper:https://arxiv.org/pdf/2502.02508
Project:https://satori-reasoning.github.io

直播时间

2月15日(周六)11:00 – 12:00

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/69566.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Kubernetes控制平面组件:etcd(一)

云原生学习路线导航页&#xff08;持续更新中&#xff09; kubernetes学习系列快捷链接 Kubernetes架构原则和对象设计&#xff08;一&#xff09;Kubernetes架构原则和对象设计&#xff08;二&#xff09;Kubernetes架构原则和对象设计&#xff08;三&#xff09;kubectl 和 …

Django在终端创建项目(pycharm Windows)

1.选择目录 选择或新建一个文件夹&#xff0c;作为项目保存的地方 2.右键在终端打开 3.确定django-admin.exe安装位置 找到自己安装django时&#xff0c;django-admin.exe安装的位置&#xff0c;例如 4.运行命令 使用django-admin.exe的绝对路径&#xff0c;在刚才打开的终端…

e2studio开发RA2E1(9)----定时器GPT配置输入捕获

e2studio开发RA2E1.9--定时器GPT配置输入捕获 概述视频教学样品申请硬件准备参考程序源码下载新建工程工程模板保存工程路径芯片配置工程模板选择时钟设置UART配置UART属性配置设置e2studio堆栈e2studio的重定向printf设置R_SCI_UART_Open()函数原型回调函数user_uart_callback…

【PS 2022】Adobe Genuine Service Alert 弹出

电脑总是弹出Adobe Genuine Service Alert弹窗 1. 不关掉弹窗并打开任务管理器&#xff0c;找到Adobe Genuine Service Alert&#xff0c;并右键进入文件所在位置 2 在任务管理器中结束进程并将文件夹中的 .exe 文件都使用空文档替换掉 3. 打开PS不弹出弹窗&#xff0c;解决&a…

RoboGrasp:一种用于稳健机器人控制的通用抓取策略

25年1月来自北京大学和哈佛大学的论文“RoboGrasp: A Universal Grasping Policy for Robust Robotic Control”。 模仿学习和世界模型在推进通用机器人学习方面显示出巨大的潜力&#xff0c;而机器人抓取仍然是实现精确操控的关键挑战。现有方法通常严重依赖机械臂状态数据和…

接口测试Day12-持续集成、git简介和安装、Gitee远程仓库、jenkins集成

持续集成 概念&#xff1a; 团队成员将自己的工作成果&#xff0c;持续集成到一个公共平台的过程。成员可以每天集成一次&#xff0c;也可以一天集成多 次。 相关工具&#xff1a; 本地代码管理&#xff1a;git远程代码管理&#xff1a;gitee(国内)、github(国外)、gitlib(公司…

C语言基础11:分支结构以及if的使用

C语言基础 内容提要 分支结构 条件判断用if语句实现分支结构 分支结构 问题抛出 我们在程序设计往往会遇到如下问题&#xff0c;比如下面的函数的计算&#xff1a; y { 1 / x 当 x ≠ 0 时 10000 当 x 0 时 y \begin{cases} 1/x \quad当x\neq0时\\ \\ 10000 \quad当x0…

81页精品PPT | 华为流程与信息化实践与架构规划分享

华为流程与信息化实践与架构规划分享主要围绕华为在业务流程与信息化建设方面的经验、企业架构规划方法以及企业数字化转型路径展开。华为通过持续的业务变革和信息化建设&#xff0c;从本土企业逐步发展为国际化、全球化企业&#xff0c;其管理体系以持续创新和世界级管理体系…

【最大开支——优先队列,计算增量】

题目 代码 #include <bits/stdc.h> using namespace std; using ll long long; using pll pair<ll, int>; #define x first #define y second const int N 1e5 10; int n, m; int k[N], b[N], cnt[N]; priority_queue<pll, vector<pll>> pq; // d…

174款复古Y2K酸性镀铬银色金属多样化锁链链条铁链几何抽象PNG免扣元素设计套装 Studio 2AM - Chains

Chains 是以链条纹理为主题的设计元素的集合。以 PNG 格式以高分辨率创建&#xff0c;但文件大小较小&#xff0c;因此不会占用硬盘空间。“Chains” 是以 PNG 格式提供的以链条为主题的设计元素的高分辨率集合。该套装包括 174 个银色、生锈和彩虹色材料的链条纹理&#xff0c…

将 AMD Zynq™ RFSoC 扩展到毫米波领域

目录 将 AMD Zynq™ RFSoC 扩展到毫米波领域Avnet XRF RFSoC 系统级模块适用于 MATLAB 的 Avnet RFSoC Explorer 工具箱5G mmWave PAAM 开发平台突破性的宽带毫米波波束成形特征&#xff1a;OTBF103 Mathworks Simulink 模型优化毫米波应用中的射频信号路径 用于宽带毫米波上/下…

IDEA中打包maven项目,提示Compilation failure

使用IDEA打包maven项目&#xff0c;报错如下&#xff1a; 解决方法&#xff1a;在pom文件中指定JDK版本即可 <properties><maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target> </propertie…

Idea集成deepseek生成代码

今天我带大家在idea上安装CodeGpt插件&#xff0c;这个插件可以根据我们的提示词生产代码&#xff0c;我们一起试试。 1、安装插件 打开idea&#xff0c;再点击setting菜单&#xff0c;按以下步骤操作。 安装完成后&#xff0c;一定要点击第四步“ok”。再次点击菜单setting…

C++STL(六)——list模拟

目录 本次所需实现的三个类一、结点类的模拟实现构造函数 二、迭代器类的模拟实现为什么有迭代器类迭代器类的模板参数说明构造函数运算符的重载- -运算符的重载和!运算符的重载*运算符的重载->运算符的重载引入模板第二个和第三个参数 三、list的模拟实现3.1 默认成员函数构…

Ubuntu安装PgSQL17

参考官网教程&#xff0c;Ubuntu24 apt在线安装Postgres 17 1. 要手动配置 Apt 存储库 # 导入存储库签名密钥&#xff1a; sudo apt install curl ca-certificates sudo install -d /usr/share/postgresql-common/pgdg sudo curl -o /usr/share/postgresql-common/pgdg/apt…

【iOS自动化】Xcode配置WebDriverAgent

WebDriverAgent 是 iOS 端自动化测试的工具&#xff0c;这里记录下 MacOS 环境 Xcode 如何配置 WebDriverAgent。 【重要】环境准备 ‼️ 注意&#xff1a;Xcode 版本需要支持对应的 iOS 版本&#xff0c;而 Xcode 版本又依赖 MacOS 版本&#xff1b;在开始部署前&#xff0c…

Golang:精通sync/atomic 包的Atomic 操作

在本指南中&#xff0c;我们将探索sync/atomic包的细节&#xff0c;展示如何编写更安全、更高效的并发代码。无论你是经验丰富的Gopher还是刚刚起步&#xff0c;你都会发现有价值的见解来提升Go编程技能。让我们一起开启原子运算的力量吧&#xff01; 理解Go中的原子操作 在快…

Mp4视频播放机无法播放视频-批量修改视频分辨率(帧宽、帧高)

背景 家人有一台夏新多功能 视频播放器(夏新多功能 视频播放器),用来播放广场舞。下载了一些广场舞视频, 只有部分视频可以播放,其他视频均无法播放,判断应该不是帧速率和数据速率的限制, 分析可能是播放器不支持帧高度大于720的视频。由于视频文件较多,需要借助视频编…

【Python】字典

个人主页&#xff1a;GUIQU. 归属专栏&#xff1a;Python 文章目录 1. 字典概述2. 字典的创建与初始化2.1 直接使用花括号创建2.2 使用 dict() 构造函数创建2.3 字典推导式创建 3. 字典的基本操作3.1 访问字典中的值3.2 修改和添加键值对3.3 删除键值对 4. 字典的遍历4.1 遍历键…

STM32系统架构介绍

STM32系统架构 1. CM3/4系统架构2. CM3/4系统架构-----存储器组织结构2.1 寄存器地址映射&#xff08;特殊的存储器&#xff09;2.2 寄存器地址计算2.3 寄存器的封装 3. CM3/4系统架构-----时钟系统 STM32 和 ARM 以及 ARM7是什么关系? ARM 是一个做芯片标准的公司&#xff0c…