Jiahong 的个人博客

凡事预则立,不预则废


  • Home

  • Tags

  • Archives

  • Navigation

  • Search

ClaudeCode——使用笔记


Claude Code 安装

  • 可使用 npm 安装

    1
    2
    3
    4
    # 安装:
    npm install -g @anthropic-ai/claude-code
    # 查看安装情况:
    claude -v
  • 注:还可以使用 Claude Code 官方网页提供的安装方式:

    1
    curl -fsSL https://claude.ai/install.sh | bash
  • 注:以下 Claude Code 可能简称为 CC


登录和配置

Claude

  • 先为 Claude Code 创建一个本地文件夹

    1
    2
    mkdir -p cc_work_space
    cd cc_work_space
  • 启动 Claude Code

    1
    claude
  • 这里如果没有配置相关 API(详情见前面一步),会要求登录,如果没有配置相关 API,也没有登录,可以使用 /login 命令进行登录

  • 两种方式可选配置

    • 方案一:订阅用户,可购买官方的 Pro 或者 Max 会员
    • 方案二:使用官方 API KEY,按照 Token 消耗量计费
  • 注:截止到 25 年底,Claude 依然无法在国内使用

第三方 API KEY 配置(可切换国产模型等)

  • 目前的 Claude Code 是支持配置第三方 API KEY 的

  • 打开/创建文件:

    1
    vim ~/.claude/settings.json
  • 输入信息(视情况修改其中的配置 APP_ID,URL 和 模型名称等):

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    {
    "env": {
    "ANTHROPIC_AUTH_TOKEN": "{申请的AppId}",
    "ANTHROPIC_BASE_URL": "https://xxx/v1/xxx/",
    "ANTHROPIC_MODEL": "claude-opus-4.7",
    "ANTHROPIC_SMALL_FAST_MODEL": "claude-opus-4.7",
    "ANTHROPIC_DEFAULT_SONNET_MODEL": "claude-opus-4.7",
    "ANTHROPIC_DEFAULT_OPUS_MODEL": "claude-opus-4.7",
    "CLAUDE_CODE_THINKING_TYPE": "adaptive",
    "CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS": "1",
    "CLAUDE_CODE_EXTRA_BODY": "{\"thinking\":{\"type\":\"adaptive\"}}",
    "CLAUDE_CODE_THINKING_EFFORT": "high",
    "ANTHROPIC_CUSTOM_HEADERS": "email?",
    "CLAUDE_CODE_MAX_OUTPUT_TOKENS": "60000",
    "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1"
    },
    "permissions": {
    "allow": [],
    "deny": []
    },
    "hasCompletedOnboarding": true,
    "disableLoginPrompt": true
    }
  • 若配置后 Claude Code 后要求登录(国内一般无法直接登录),则需确认是否已经添加下面的参数:

    1
    2
    "hasCompletedOnboarding": true,
    "disableLoginPrompt": true

初次使用

进入工作目录 & 登录

  • 先为 Claude Code 创建一个本地文件夹

    1
    2
    mkdir -p my_cc
    cd my_cc
  • 启动 Claude Code

    1
    claude
  • 登录方案:

    • 若已经配置第三方 API KEY,则不需要登录,启动即可使用
    • 这里如果没有配置相关第三方 API KEY(详情见前面一步),会要求登录
      • 注:如果没有配置相关 API,也没有登录,可以使用 /login 命令进行登录
      • 详情见前面的内容

使用 Claude Code

  • 使用 Claude Code,从一个简单需求开始,直接在 Claude Code 命令行输入想要做的事情(比如 “写一个随机数模拟器网站” )

    1
    > 写一个随机器模拟网站
  • 接下来就可以通过对话完成想完成的任何事情了


Claude 配置文件

  • Claude 一般通过 xx/settings.json 文件进行配置

settings.json 一般包含哪些内容?

  • settings.json 文件的核心作用是定义 Claude 的行为边界和工具使用权限。一个标准的配置文件通常包含以下几个核心部分:
  • permissions(权限控制,最核心):
    • 通过 allow(允许)、ask(询问)、deny(拒绝)三个列表来精细化管控 Claude 的操作
    • allow:高频且低风险的操作(如读取代码、执行测试命令)
    • ask:存在一定风险的操作(如 git push、安装依赖),需要手动确认
    • deny:绝对禁止的高危操作(如删除文件 rm -rf、读取 .env 敏感文件)
  • hooks(钩子/自动化):
    • 定义在特定生命周期(如会话开始 SessionStart、工具执行前 PreToolUse)自动触发的脚本或命令
  • model(模型选择):
    • 指定当前环境下默认使用的 Claude 模型(如 claude-sonnet-4)
  • env(环境变量):
    • 为 Claude 的运行环境预设特定的环境变量
  • 一个典型的 settings.json 结构示例:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    {
    "model": "claude-sonnet-4-20250514",
    "permissions": {
    "defaultMode": "acceptEdits",
    "allow": [
    "Read(./src/**)",
    "Bash(npm run test)",
    "Bash(git status)"
    ],
    "ask": [
    "Bash(git push *)",
    "Bash(npm install *)"
    ],
    "deny": [
    "Bash(rm -rf *)",
    "Read(./.env*)",
    "WebFetch"
    ]
    },
    "hooks": {
    "SessionStart": [
    {
    "command": "echo '欢迎使用 Claude Code 进行项目开发'",
    "description": "会话开始时的欢迎语"
    }
    ]
    }
    }

不同层级的配置文件

  • ~/.claude/settings.json(全局设置)
    • 用户级(全局)配置,对当前电脑上的所有项目生效
    • 存放个人的通用偏好:
      • 比如默认使用的模型、全局的权限底线(如禁止在任何项目中执行某些高危命令)、全局的 Hooks 或 MCP 服务器配置等
    • 仅保存在本机,不随项目提交
  • ./.claude/settings.json(项目共享设置)
    • 项目级,仅对当前项目生效
    • 定义团队统一的开发规范和行为边界
      • 例如,规定当前项目允许执行的特定 npm 脚本、代码编辑的目录范围等
    • 旧版本建议提交到 Git,但现在也不建议提交到 Git 了,直接将整个 .claude 添加到 .gitignore 文件是最好的选择
      • 因为 ./.claude/settings.json 本来是放规则,但容易被添加一些个人本地的路径或者 API 信息
  • ./.claude/settings.local.json(项目本地设置)
    • 项目级,但仅对当前开发者生效
    • 存放个人的项目偏好,用于覆盖 ./.claude/settings.json 中的团队配置
      • 比如在本地调试时想临时放宽某些权限,或者使用不同的模型,但不想影响队友
    • 必须被添加到 .gitignore,绝对不能提交到 Git
  • 当同一个配置项在多个文件中出现时,Claude Code 会按照从高到低的优先级进行加载和覆盖(后加载的覆盖先加载的):
    • 个人项目本地配置 > 团队项目共享配置 > 个人全局配置
      • 最高优先级:./.claude/settings.local.json(个人项目本地配置)
      • 中间优先级:./.claude/settings.json(团队项目共享配置)
      • 最低优先级:~/.claude/settings.json(用户全局配置)

Claude 工作模式

  • 在打开 Claude Code 的模式下,通过 Shift + Tab 键切换工作模式

模式一:accept edits on

  • 这个模式下会自动接受所有 Claude Code 动作,比如创建文件也不需要人为 Check 和 授权
  • 方便快捷,但是有一定的风险
  • 注:这个是最常用的模式
  • 注意:执行终端命令,比如 mkdir -p 等也会再咨询,CC 非常谨慎,认为执行终端命令始终是危险的

模式二:plan mode on

  • 这个模式是规划模式:只聊天,不执行
  • 主要用于讨论我们的规划,用来构思接下来做什么,也可以用来讨论各种想法
  • 注:这个模式建议经常使用,特别是在想要表达比较复杂的需求时,可以和 Claude Code 交互多轮确定
    • 一旦 Claude Code 开始工作,就会大量消耗 Token 和时间,这里先对齐方案再进行代码编写,可以大幅提效,保证 CC 的工作符合我们的预期

模式三:默认模式

  • 显示:

    1
    ? for shortcuts
  • 刚进入 Claude Code 时,不做任何操作默认就是这个模式

  • 这个模式下,CC 比较谨慎,遇到高阶权限等会找我们确认

    • 比如创建文件也不需要人为 Check 和 授权

特别模式:bypass permissions on

  • 前面提到 CC 非常谨慎,认为执行终端命令始终是危险的,所以在以上提到的三种正常模式下,一定需要用户确定才能执行命令行

  • 如果想要绝对的自动化,让 CC 放心自动执行命令行,需要使用更隐晦的模式

    • bypass permissions on 是一个极度信任模式
  • 启动这个模式的方式是在启动时:

    1
    claude --dangerously-skip-permissions
  • 原本只有三个正常模式可切换,使用上述命令后, Shift + Tab 会在四个模式下轮训


Claude Code 中执行 Bash 命令

  • 在干净的 CC 输入框下,输入 ! 可以切换到本地 Bash 命令模式,可以使用任意 Bash 命令
    • 注:这里无法使用 SSH 登录等方式登录到其他机器(因为 Claude Code 持有本地的 CLI),但是可以使用 SSH 实现文件复制等
  • 比如 Mac 自带的 open 命令,可以默认打开一个文件(使用默认绑定的 应用打开),打开一个 html 文件可以使用下面的命令
    1
    open ./xx.html

Claude Code 输入框输入复杂文本

  • 说明:当需要在 Claude Code 的终端里输入一大段复杂的提示词、编写多行代码或者写长篇的需求文档时,直接在终端里敲会非常不方便
  • 官方建议:换行输入时可以使用 Shift + Enter
    • 但本人尝试过,这个命令常常无法生效(升级 CC 也没用)
  • 常用方式:在输入框场景使用 Ctrl + g 打开默认编辑器(通常是 VS Code)
    • 编辑完成后直接保存并关闭该标签页 ,写好的内容就会自动传回 Claude Code 的终端输入框中

默认编辑器配置(以 VS Code 为例)

  • 注:编辑器由 $EDITOR 环境变量确定

  • 先确保使用命令行可以打开 VS Code

    1
    code --version
    • 若提示找不到命令,则需要配置环境变量,VS Code 环境变量配置方式:
      • 打开的 VS Code 图形界面
      • 按下 Cmd + Shift + P 打开命令面板
      • 在输入框中输入 Shell Command: Install 'code' command in PATH,然后点击回车执行
      • 等待右下角提示“Installation successful”(安装成功)
      • 最后:完全关闭并重新打开你的终端窗口(或者在终端执行 source ~/.bash_profile),让环境变量生效
  • 临时配置(当前终端窗口有效):

    • 在终端执行以下命令(以配置为 VS Code 为例):

      1
      export EDITOR="code -w"
    • 注:-w 参数表示等待文件关闭后再继续,这对 Claude Code 接收回传内容很重要

  • 永久配置(推荐):

    • 将上述命令添加到你 Mac 的 Shell 配置文件中(比如 ~/.zshrc 或 ~/.bash_profile),这样每次打开终端都会生效:
      1
      2
      echo 'export EDITOR="code -w"' >> ~/.bash_profile
      source ~/.bash_profile

多种编辑器配置可选

  • 配置 VS Code:

    1
    export EDITOR="code -w" (-w 表示 wait 等待)
  • 配置 Sublime Text:

    1
    export EDITOR="subl -n -w" (-n 表示新建窗口)
  • 配置 Neovim:

    1
    export EDITOR="nvim"
  • 配置 Micro:

    1
    export EDITOR="micro"
  • 配置 CotEditor:

    1
    export EDITOR="coteditor"(需确保已安装其命令行工具)

补充说明:更多配置

  • 除了 EDITOR,有些程序(比如 Git、Crontab 等)还会读取 VISUAL 这个环境变量,为了兼容性,开发者可同时设置它们,例如:

    1
    2
    export VISUAL="code -w"
    export EDITOR="VISUAL"
  • 这样就能确保无论是 Git、Crontab 还是 Claude Code 等工具,都能准确唤起想要的默认编辑器


CLAUDE.md 管理(存储信息)

  • CLAUDE.md 文件相当于说明文档或者记忆,每次调用 Claude Code 时 Claude Code 都会遵守 CLAUDE.md 中的指令
  • ./CLAUDE.md 文件会在每次 Claude Code 打开当前项目时都生效,相当于是当前项目的说明文档
    • 可用 /init 来初始化当前项目的 ./CLAUDE.md 文件, /init 会 浏览当前项目 并在当前文件夹下生成一个 ./CLAUDE.md 文件
    • 注:也可以自动打开并编辑 ./CLAUDE.md 文件,只要最终 ./CLAUDE.md 内容相同,那么两种做法是完全等价的
  • ./CLAUDE.md 相关的文件分两层:
    • ./CLAUDE.md:项目级别,仅当前项目使用,建议 Git 提交管理起来,方便其他本项目的人使用
    • ./CLAUDE.local.md:项目级别(本地用户私有),仅当前项目使用,需要添加到 .gitignore 中,防止影响别人
    • ~/.claude/CLAUDE.md:用户级别,当前用户的所有项目可用,不会提交到远程
  • 注意:三个文件并不是三选一的关系,而是互补的
    • 它们的内容会叠加生效,但当出现冲突时,项目级(./CLAUDE.md)的优先级高于用户级(~/.claude/CLAUDE.md)
    • 举个例子:
      • 在 ./CLAUDE.md 中,写了:“代码注释必须用英文”
      • 在 ./CLAUDE.local.md 中,写了:“在这个项目中,如果遇到报错,优先检查 Docker 容器状态”
      • 在 ~/.claude/CLAUDE.md 中,写了:“用中文回复”
      • 结果: Claude 会用中文回复,代码注释写英文,且遇到报错时会自动先检查 Docker

Claude Code 任务管理

  • 问题:
    • 在 Claude Code 窗口中使用 ! 启动的命令行如果是需要长久执行(比如启动服务器),会阻塞 Claude Code
  • 后台任务生成:
    • 可以根据启动提示按 ctrl + b 将服务放到后台,从而可以继续跟 Claude Code 交互
    • 此时会自动生成一个后台任务(聊天框会显示 1 backgroud task 等字样提示有个后台任务正在运行)
  • 查看后台任务:
    • 输入 /tasks 即可查看所有后台任务
    • 查看时点击 k 即可 杀死任务(也可能是点击 x 去停止)
  • 注意:在 Claude Code 中使用命令行启动的后台任务,在 Claude Code 窗口关闭时会自动跟着关闭

Claude Code 回滚功能

  • 触发回滚的方式:
    • 方式1:/rewind
    • 方式2:连续两次 ESC
  • 选择想要回滚的点(即这个点执行之前的状态),点击确认即可
    • 注意:被选中的点是输入命令 A,则回滚会会回到 命令 A 执行前的状态
  • 可选回滚方式:
    • 方式1:回滚代码和对话,回滚代码同时将对话也恢复到指定点
    • 方式2:回滚对话
    • 方式3:回滚代码
    • 方式4:不做任何操作
    • 方式5:可能还会有 Summarize From Here,实现将历史对话进行 Summary 的操作
  • 注意:还是建议使用 git 来管理,仅使用 Claude Code 的管理回滚的话,容易出现部分文件无法被删除的情况(即回滚时无法删除新生成的文件)
    • 特别是通过终端命令来生成的文件 Claude Code 无法管理
  • 注意:回滚是要注意打开的文件或者服务需要先关闭最好

Cluade Code 图片文件接收

  • 可以直接将图片拖动到 Claude Code 命令行,也可以 Ctrl + v(or CMD + v) 来粘贴图片

常用指令推荐

/btw

  • /btw 允许在独立于当前 Conversation 的对话下 跟 Claude Code 交互,可以问一些跟当前工作相关的问题
  • /btw 得到回复后直接 Enter 退出,不会对主线 Conversation 造成任何影响

/resume

  • /resume 负责恢复之前的对话,在有很多对话时,这里可以挑选一个之前的对话窗口
  • 替代 /resume 的另一种方法,启动 Claude Code 时使用 claude -c 可以接着上一次的对话开始
  • 注:关于对话管理:
    • 亲测目前如果用两个窗口同时 /resume 到同一个对话上,然后同时发出命令执行不同事项,最后可能会导致某一个执行历史消失,只剩下一个

/compact

  • /compact 对上下文进行压缩,压缩后可以减少 Token 的使用,压缩后会展示所有压缩结果,然后展示出来
  • /compact 进行压缩时,可以追加一些要求,比如下面的命令可以让:
    1
    /compact 重点保留用户的需求

/clear

  • /clear 清空所有上下文
  • 当接下来的任务与之前的任务没有关系时,记得使用这个命令清空上下文,最小化 Token 的使用,同时避免之前 上下文对现在的影响

/init

  • /init 负责初始化当前项目的 ./CLAUDE.md 文件,会 浏览当前项目 并在当前文件夹下生成一个 ./CLAUDE.md 文件
    • 注:也可以自动打开并编辑 ./CLAUDE.md 文件
  • 注:./CLAUDE.md 文件会在每次 Claude Code 打开当前项目时都生效,相当于是当前项目的说明文档

/memory

  • /memory 负责管理 Claude Code 的记忆系统
  • 输入 /memory 命令后可选择打开指定的管理文件
    • ./CLAUDE.md:项目级别,仅当前项目使用,建议 Git 提交管理起来,方便其他本项目的人使用
    • ~/.claude/CLAUDE.md:用户级别,当前用户的所有项目可用,不会提交到远程
  • 注:这个命令不常用,因为一般可以手动打开相应的文件并编辑

Claude Code 使用问题总结

Claude Code 写入文件时出现 Error writing file

  • 这个错误一般是没有权限或者写入文件过大等原因
  • 在出现这个错误时,一般来说 Claude Code 会重试,但如果是一直出现这个错误,则可以先使用 /btw 先咨询一下原因,然后停止(ESC),并跟 CC 要求他修改写入方式,不要出现类似错误(类似错误会循环浪费 Token)

Claude Code 使用 MCP Server

  • 第一步:安装 MCP Server
    • Claude Code 各种相关库的安装, 包括 Skills、MCP Server 等,都可以使用 /plugin 功能来安装
  • 安装后的 MCP Server,一般会在需要时自动被检测到,然后咨询用户是否使用

Claude Code 使用 Hooks

  • Hooks 是在执行前、后等位置触发的钩子,可以在指定的时间点触发
  • /hooks 命令可查看并增加 hooks

Claude Code 使用 Skills

  • Skills 一般在 ~/.claude/skills/ 下进行管理

创建 Skills

  • 在 ~/.claude/skills/ 文件夹下创建目标 Skills

  • 比如 summary-pdf-paper Skills 可以使用下面的构造方式

    • 创建文件夹 ~/.claude/skills/summary-pdf-paper
    • 在该文件下下创建 SKILL.md 文件 ~/.claude/skills/summary-pdf-paper/SKILL.md
    • 在 SKILL.md 文件下输入 SKILL 的内容
  • 建议在 SKILL.md 的文件最前面一定加上两个标准化的配置:

    1
    2
    3
    4
    ---
    name: summary-pdf-paper
    description: 解析 PDF 文件并总结其内容
    ---
    • 这样在 Claude Code 使用时,可以快捷展示 Description 的内容,方便知道每个 Skills 的具体工作内容
  • 建议不要手动创建 SKILL.md,在完成一个任务时,可使用下面的命令将刚刚完成任务的所有重点方式记录下来

    1
    2
    3
    4
    5
    6
    7
    8
    请调用 Skill Creator,复盘我们刚才完成 [task-name] 的全过程
    重点整理:
    1. 最优工作流程——从输入到输出的完整步骤
    2. 踩过的坑和怎么避免
    3. 我给过你的有效指令
    4. 输出格式规范
    5. 异常情况怎么处理
    最后,生成一个 ‘[skill-name]’ Skill
    • 注:在 Claude Code 中,Skill Creator 本质上是一个“元技能”(Meta Skill),也就是一个“用来创造技能的工具”
  • 如果还没开始任务,想要从 0-1 创建一个 Skills ,可以使用官方给出的 skill-creator Skill 帮忙创建

    • 直接在 Claude 里描述的需求,它会一步步引导构建,自动生成 skill 文件到 ~/.claude/skills 目录下
    • 所有自定义 skill 都建议是用它创建

查看 Skills

  • /skills 命令查看当前有多少 skills

使用 Skills

  • (似乎是)之前每次创建新的 Skills 后需要重启 Claude Code 才能生效,现在创建后直接生效
  • 触发 Skills 的方式有两种:
    • 正常表达需求,由 Claude Code 自动进行意图识别并触发是否使用对应的 Skills(一般会经过我们的同意再使用)
    • 明确使用已有 Skills 进行(推荐使用这种方式,更准确表达自己的需求)
      1
      /summary-pdf-paper 总结 PDF 文章 ./news.pdf

Claude Code 使用 SubAgents

  • SubAgent 是上下文完全独立于主 Agent 之外的 Agent,适用于上下文对主任务没有任何依赖的情况
  • 在 CC 聊天框输入 /agents 即可开始查看和创建 SubAgent,根据需要可配置 SubAgent 的下面几个属性:
    • 所有者(用户 or 项目等级)
    • 描述信息
    • 可用工具(权限)
    • 调用模型(可与主 Agent 不同,省钱)
    • 交互颜色
  • 创建以后这个 SubAgent 的配置会出现在 ~/.claude/agents/ 或 ./.claude/agents/ 路径下
    • 注:创建 == 注册,重启 CC 后,SubAgent 就已经注册好了,此后可被自动调用
  • 创建/注册 SubAgent 完成后,在输入相应的需求时,主 Agent 会自动调用 SubAgent 进行工作

Claude Code 使用 plugin 安装

  • /plugin 命令非常强大,可以管理并安装 Claude Code 的全家桶(插件可理解为一个“全家桶”封装)
    • 全家桶包括 MCP Server、Skills 和 Hooks 等
      • Skills:自定义的斜杠命令(如 /review-pr)
      • MCP (Model Context Protocol):让 Claude 访问外部数据源(如 数据库 等)
      • Hooks:在特定生命周期(如提交前)自动运行的脚本

/plugin 管理插件

  • 管理插件:在 Claude Code 交互界面中直接输入以下命令:

    1
    /plugin
    • 输入此命令将打开一个交互式 UI,可以直接在其中浏览、启用、禁用或卸载插件
  • 安装和查看插件:插件通常托管在“市场(Marketplace)”中

    1
    2
    3
    4
    5
    6
    7
    8
    9
    # 从官方市场安装 GitHub 插件 
    # 示例:/plugin install <资源名称> @ <来源/市场标识>
    /plugin install github@claude-plugins-official

    # 安装完成后刷新
    /reload-plugins

    # 查看已安装列表
    /plugin list

插件 作用域

  • 在安装插件时,Claude 会询问用户安装到哪个作用域:
    • User (用户级):跨所有项目可用(存储在 ~/.claude/)
    • Project (项目级):仅当前仓库可用,配置会存入 .claude/settings.json
      • 推荐团队协作使用,以便团队成员共享相同的插件环境
    • Local (本地级):仅当前项目可用,但不提交到 Git

管理插件市场 (Marketplaces)

  • 除了官方插件,还可以添加社区或公司内部的插件源
  • 添加市场
    1
    2
    3
    4
    5
    # 添加一个 Git 仓库作为插件源
    /plugin marketplace add https://github.com/org/custom-plugins.git

    # 或者添加本地路径
    /plugin marketplace add ./my-internal-plugins

附录:Claude Code 的有趣用词

  • 在与 Claude Code 交互时,会经常看到一些一闪而过的趣味单词(例如 Booping、Cogitated 等)
    • 这些词其实是 Claude Code 在处理任务时,用来代替枯燥的“Loading…”或“Processing…”的随机状态提示词
  • Anthropic 的开发团队为了缓解用户在等待 AI 响应时的焦虑感,硬编码了多达 187 个风格各异的动词
    • 这些词汇让原本冰冷的等待过程变得生动有趣,仿佛 Claude 是一个正在“努力思考”或“忙活”的数字同事
  • 这里记录词汇中比较常见或有趣的代表

深度思考与计算类

  • 这类词汇通常用来表达 Claude 正在进行严肃的逻辑推演或数据处理
  • Cogitating:深思、缜密思考(比普通的 Thinking 显得更费脑子)
  • Ruminating:反刍、反复咀嚼(非常生动,暗示模型在反复推敲上下文)
  • Crunching: crunching numbers,即正在费力地处理大量数据
  • Synthesizing:正在综合、合成信息
  • Computing / Calculating:最基础的“计算中”

烹饪与酝酿类

  • 在英文语境中,常把需要花时间的处理过程比作烹饪,暗示“正在努力产出结果”
  • Cooking / Baking:正在烹饪/烘焙(极客圈常说的 “Let him cook”,暗示正在憋大招)
  • Brewing:正在酿造、冲泡(像煮咖啡一样酝酿想法)
  • Marinating:正在腌制(让数据在 Prompt 里多“入味”一会儿)
  • Simmering / Stewing:小火慢炖(暗示正在处理复杂的逻辑,急不得)
  • Percolating:(咖啡)滴滤、渗透,指灵感正在慢慢浮现
  • Pondering:一个用来代替“加载中”的状态提示词,具体含义是沉思、仔细考虑或反复思索
  • Churning:一个用来代替“加载中”的趣味状态提示词,字面原意是搅拌、翻腾

创造与构建类

  • 当 Claude 正在生成代码或构建方案时,可能会出现这些词
  • Crafting:精心制作、打磨(带有工匠精神的感觉)
  • Conjuring:施展魔法、召唤(当 AI 写出一段神奇代码时,确实像变魔术)
  • Forging:锻造(听起来非常硬核,像是在打铁一样写代码)
  • Hatching:孵化(等待结果破壳而出)

趣味俚语与专属彩蛋

  • 这部分充满了工程师的幽默感和流行文化梗
  • Booping:轻轻戳一下、发出嘟嘟声(非常可爱的拟声/拟态词)
  • Clauding:Claude 的专属动词,意为“我正在 Claude 呢”(官方玩梗,品牌自信拉满)
  • Schlepping:源自意第绪语,意为“费力地搬运”(暗示它正在艰难地处理你庞大的代码库)
  • Vibing:沉浸在氛围中、跟着感觉走(一种非常现代、松弛的“心流”状态)
  • Reticulating:致敬经典游戏《模拟城市》(SimCity)加载时的经典文案“Reticulating Splines(正在校准曲线)”
  • Flibbertigibbeting:胡言乱语、轻浮地喋喋不休(用生僻的长单词来调侃 AI 的生成过程)
  • Noodling:即兴演奏/随意思考
  • Sussing:英式俚语,表示弄清楚
  • Combobulating:自造词,表示整理组合

Claude Code 中有用的一些 Trick

CLAUDE.md 添加一些指令

  • 来自网友的建议:在 CLAUDE.md 中加入如下内容,可大幅提升 CC 工作效率,让对话框更加干净整洁:

    1
    2
    3
    4
    5
    以第一性原理!从原始需求和问题本质出发,不从惯例或模板出发
    1. 不要假设我清楚自己想要什么。动机或目标不清晰时,停下来讨论
    2. 目标清晰但路径不是最短的,直接告诉我并建议更好的办法
    3. 遇到问题追根因,不打补丁。每个决策都要能回答"为什么"
    4. 输出说重点,砍掉一切不改变决策的信息
  • 来自 Karpathy 的 CLAUDE.md

    • github 地址:github.com/forrestchang/andrej-karpathy-skills/blob/main/CLAUDE.md

    • 安装方式:

      • 方式一:当做第三方 skill 安装并使用(注:Claude Code 可能无法通过 /skills 管理第三方 skill)

        1
        2
        3
        /plugin marketplace add forrestchang/andrej-karpathy-skills
        /plugin install andrej-karpathy-skills@karpathy-skills
        # 安装后 skill 名称为 `/karpathy-guidelines`
        • 安装后可在类似 ~/.claude/plugins/cache/karpathy-skills/andrej-karpathy-skills/1.0.0/skills/karpathy-guidelines/SKILL.m 下看到 SKILL.md
      • 方式二:直接去下载并添加到自己的项目中

    • Karpathy 的 CLAUDE.md 核心内容:

      1
      2
      3
      4
      1. Think Before Coding:Don't assume. Don't hide confusion. Surface tradeoffs.
      2. Simplicity First:Minimum code that solves the problem. Nothing speculative.
      3. Surgical Changes:Touch only what you must. Clean up only your own mess.
      4. Goal-Driven Execution:Define success criteria. Loop until verified.

自动生成或改进 Skills

  • 在完成一个任务时,可使用下面的命令将刚刚完成任务的所有重点方式记录下来

    1
    2
    3
    4
    5
    6
    7
    8
    请调用 Skill Creator,复盘我们刚才完成 [task-name] 的全过程
    重点整理:
    1. 最优工作流程——从输入到输出的完整步骤
    2. 踩过的坑和怎么避免
    3. 我给过你的有效指令
    4. 输出格式规范
    5. 异常情况怎么处理
    最后,生成一个 [skill-name] Skill
  • 如果这个 Skills 已经存在,则可以使用下面的命令优化这个 Skill

    1
    根据完成这个任务遇到的所有问题,改进原始的 [skill-name] Skill

附录:Claude Code Cache 策略

  • 原始博客:
  • Prompt Caching(提示缓存)不应只是后期优化手段,而必须是 Agent 产品从第一天就要围绕其设计的架构约束
  • 因为 Claude Code 是长对话 Agent,每次携带全量上下文重算成本极高,而缓存基于“前缀匹配”,一旦前缀变动,后续所有缓存全部失效
  • 博客总结了 Anthropic 开发团队在构建 Claude Code(其命令行 AI 助手)过程中的核心心得:Prompt Caching(提示词缓存)是构建高效、低延迟 AI 智能体的关键

核心理念:Prompt Caching 是命脉

  • 对于像 Claude Code 这样需要长期运行的智能体(Agent),Prompt Caching 允许重复利用之前往返的计算结果,从而大幅降低成本并减少响应延迟
  • Claude Code 团队甚至将缓存命中率视为核心监控指标,命中率过低会被视为生产故障(SEV)

核心机制:前缀匹配 (Prefix Matching)

  • 缓存的工作原理是前缀匹配
    • 只要请求的开头到某个断点(breakpoint)的内容完全一致,就可以命中缓存
  • Prompt 的结构顺序至关重要

最佳实践建议

  • Prompt 结构优化(静态在前,动态在后): (注:这个是针对 Agent 设计者的)
    • 将最稳定的内容放在最前面,最容易变化的内容放在最后面
    • Claude Code 的推荐顺序是:
      • 1)全局静态系统提示词 & 工具定义(全局缓存)
      • 2)项目特定背景(如 CLAUDE.md,项目内缓存)
      • 3)会话上下文(Session context)
      • 4)具体的对话消息(每轮都会增长)
  • 利用消息进行更新,而非修改 Prompt: (注:这个是针对 Agent 设计者的)
    • 如果信息(如当前时间或文件状态)发生变化,不要修改系统提示词(这会导致缓存失效)
    • 建议通过在下一轮对话中添加 <system-reminder> 标签来传递更新
  • 不要在中途更换模型或工具: (注:这个是针对 Claude Code 使用者的)
    • 模型: 缓存是针对特定模型的
      • 在对话中途切换模型(例如从 Opus 换到 Haiku)会强制重新构建整个缓存,成本可能反而更高
    • 工具: 增删工具会破坏前缀一致性。Claude Code 即使在“计划模式”(Plan Mode)下也会保持工具集不变,仅通过消息告知 AI 处于该模式
  • 延迟加载工具(Tool Search):
    • 为了保持前缀稳定,可以使用“工具存根”(lightweight stubs),只在 AI 明确需要调用某个工具时才加载其完整 Schema

进阶技巧:缓存安全的压缩(Compaction)

  • 当对话超出上下文窗口时需要进行压缩(总结)
    • 传统的做法是开一个新请求进行总结,但这会导致无法复用旧请求的缓存
  • 官方推荐解决方案: 使用“缓存安全分叉”(Cache-safe forking)
    • 使用完全相同的系统提示词、工具和历史记录,仅在末尾添加一个总结请求消息
    • 这样,总结操作可以几乎完全命中已有的历史缓存,仅支付新增 Token 的费用
    • 注:Claude Code 的 /compact 命令就能自动实现这个

NLP——技术报告解读-LongCat-Flash-Thinking

注:本文包含 AI 辅助创作

  • 参考链接:
    • 技术报告链接:LongCat-Flash-Thinking Technical Report, 20250922, Meituan LongCat
    • Huggingface:huggingface.co/meituan-longcat/LongCat-Flash-Thinking
    • GitHub:github.com/meituan-longcat/LongCat-Flash-Thinking
    • LongCat Chat 在线体验: https://longcat.ai
    • 部署链接:LongCat-Flash-Thinking Deployment Guide
      • SGlang PR:[Model] Support Meituan LongCat-Flash && LongCat-Flash-MTP #9824
      • vLLM PR:[Model] Add LongCat-Flash #23991
      • 注:本次不需要新增代码,仅使用 LongCat-Flash-Chat 的代码即可

Paper Summary

  • 论文介绍了 LongCat-Flash-Thinking(560B MoE 推理模型)
  • LongCat-Flash-Thinking 的核心创新如下:
    • 1)一个精心设计的冷启动训练策略
    • 2)一个领域并行训练方案
    • 3)一个高效且可扩展的强化学习框架,在数万个加速器上实现了工业规模的异步训练
  • 整体来说,LongCat-Flash-Thinking 的流程包括:长 CoT 数据冷启动和大规模 RL
    • 1)采用一种精心设计的冷启动训练策略,显著增强了模型的推理潜力,并使其具备了形式化推理(formal reasoning)和智能体推理(agentic reasoning)方面的专业技能
    • 2)一个核心创新是论文的领域并行训练方案(domain-parallel training scheme) ,该方案解耦了不同领域(例如 STEM、代码、智能体)的优化过程,并将得到的专家模型融合为一个近乎帕累托最优(Pareto-optimal)的单一模型
      • 整个流程由论文的动态异步 rollout 编排(Dynamic ORchestration for Asynchronous rollout, DORA)系统驱动,这是一个大规模 RL 框架,在数万个加速器上相比同步方法实现了超过三倍的训练加速
    • 3)LongCat-Flash-Thinking 在一系列复杂推理任务上实现了开源模型中 SOTA 性能
  • 该模型在智能体推理方面表现出卓越的效率,在 AIME-25 基准测试上将平均 token 消耗降低了 \(64.5%\)(从 \(19,653\) 降至 \(6,965\)),且未降低任务准确率

Introduction and Discussion

  • 近年来, LLM 的前沿已明确转向增强其推理能力,不断推动通用人工智能(Artificial General Intelligence, AGI)的边界
  • SOTA 模型展示了这一趋势,在复杂逻辑、数学、代码生成和智能体任务方面展现出卓越的能力
    • 如 OpenAI 的 o1 (2024)、OpenAI 的 o3 (2025a)、Gemini 2.5 (2025)、DeepSeek-R1 (2025)、Qwen3 (2025) 和 GLM-4.5 (2025a),
  • 这一进步主要由一个新范式驱动:利用大规模 RL (1998) 不仅来精炼模型,还能在推理时实现更深入、更广泛的推理
  • 通过动态分配更多计算 FLOPs 来扩展 CoT (2022),像 OpenAI 的 o1 和 Gemini 2.5 Pro 这样的专业模型在包括奥林匹克级数学、竞争性编程和复杂智能体场景在内的艰巨挑战上取得了突破性性能
  • 论文介绍了 LongCat-Flash-Thinking,一个高效的开源 MoE 推理模型,它为开源推理模型树立了新的最先进水平
    • 基于基础的 LongCat-Flash-Base 模型 (2025) 构建,LongCat-Flash-Thinking(总参数量 560B:平均激活 27B)在复杂逻辑、数学、编码和智能体任务上表现出色
  • LongCat-Flash-Thinking 的开发遵循一个精心设计的两阶段流程:长 CoT 冷启动训练(Long CoT Cold-Start Training)和大规模 RL(Large-Scale RL)
    • 第一阶段,目标是构建模型的基础推理能力
      • 这始于中段训练(mid-training)期间的课程学习(curriculum learning)策略,以增强其内在能力;
      • 随后是一个针对推理密集型和智能体数据的有 SFT 阶段,为模型的高级学习做好准备
    • 第二阶段,通过一个高效的 RL 框架来扩展这一潜力,该框架建立在论文提出的用于工业级异步训练的动态异步 rollout 编排(Dynamic ORchestration for Asynchronous rollout, DORA)系统之上
      • 为了解决异步 RL 训练中的稳定性挑战,论文采用并扩展了 GRPO (2024) 算法,以实现稳健的探索-利用平衡
      • 该阶段的一个关键创新是论文的领域并行训练方案(domain-parallel training scheme) ,它同时在不同领域优化模型,随后将得到的领域专家模型合并为一个融合模型 (2024a)
    • 最后一个通用 RL 阶段进一步精炼融合模型,提高其在实际应用中的鲁棒性、安全性和人类对齐性
  • 训练流程概述如图 2 所示
    • 首先,进行中段训练(mid-training)和 SFT 以培养基础模型的基础推理能力
    • 然后,在大规模 RL 阶段引入领域并行训练方案以获得多个领域特定的专家
    • 最后,通过一个通用 RL 阶段和随后的专家模型融合来提高通用能力
  • 论文的工作提出了三个核心贡献:
    • 领域并行 RL 训练与融合方法(Domain-Parallel RL Training and Fusion Methodology) :
      • 为了克服传统混合领域 RL 训练的不稳定性,论文设计了一个领域并行方案,解耦了 STEM、编码和智能体任务的优化
      • 这种方法不仅稳定了训练,还允许论文将得到的领域专家模型融合成一个近乎帕累托最优的最终模型,该模型在所有专业领域都表现出色
    • 开创性的工业级 RL 基础设施(Pioneering Industrial-Scale RL Infrastructure) :
      • 论文的 DORA 系统为训练提供了强大的骨干支持
        • 其异步架构相比同步框架实现了超过三倍的加速,使得在数万个加速器上的稳定训练成为可能
      • 这个工业级系统支持了接近预训练计算量 20% 的大规模 RL 投入,使得论文的先进方法能够大规模可行
      • 论文还重点介绍了其新颖特性,包括弹性共置(elastic colocation)和高效的 KV 缓存(KV-cache)重用,这些将在第 3.1 节详述
    • 广泛且高效的高级推理(Broad and Efficient Advanced Reasoning) :
      • 论文显著扩展了模型在挑战性领域的能力,实现了卓越的性能和效率
      • 为了改进智能体能力,论文提出了一种双路径推理方法(dual-path reasoning approach)来选择最能从工具集成中受益的高价值训练查询
        • 论文辅以一个自动化流程来构建高质量的、工具增强的推理轨迹用于训练
      • 对于智能体工具使用,LongCat-Flash-Thinking 在 AIME-25 基准测试上实现了 token 消耗降低 64.5%,同时保持准确性
      • 对于形式化推理,论文开发了一个与 Lean4 服务器集成的专家迭代(expert-iteration)流程,以合成生成经过验证的证明,系统地灌输了大多数大语言模型所缺乏的能力
  • 这些贡献最终形成了一个模型,它不仅在一系列多样化的基准测试上(图 1)实现了 SOTA 性能,而且在其开源同行中,在形式化证明和智能体推理这两个关键领域确立了明显优势

Long CoT Cold-Start Training

  • LongCat-Flash-Thinking 是一个强大而高效的 LLM ,构建于论文的 LongCat-Flash-Base 模型 (Meituan, 2025) 之上
  • 论文基于 LongCat-Flash-Base 进行了长思维链(Long Chain-of-Thought, Long CoT)冷启动训练和大规模 RL,为其赋予了先进的推理能力
  • 得益于零计算专家 (2024) 和 shortcut-connected 的 MoE 结构 (2024),LongCat-Flash-Thinking 在达到相当性能的同时,相比其他模型具有显著的效率优势
  • 在本节中,论文专注于通过多阶段课程学习方法来增强论文基础模型的长思维链推理能力 (2025)
    • 首先,引入一个 mid-training阶段,在此阶段,基础模型从多样化的推理数据中学习,以增强其基础推理能力和强化学习潜力
    • 随后,加入一个紧凑的有 SFT 阶段
      • 除了高质量的通用推理数据外,论文特别让模型接触形式化推理(formal reasoning) 和智能体推理(agentic reasoning) 的能力,这两者都旨在有效提升推理性能
  • 冷启动数据构建流程的概览如图 3 所示

Mid-training: Reasoning Capability Enhancement

  • 虽然论文的基础预训练产生了一个具有强大通用能力的模型 (Meituan, 2025),但论文发现其在处理复杂推理任务方面存在一个关键局限
  • 尽管对基础模型进行微调后再进行 RL 训练已显著提高了推理性能,但论文观察到这些模型通常会产生同质化的推理模式,这阻碍了它们进行深度反思并为具有挑战性的问题获得正确解决方案的能力
  • 这种缺陷是双重的,源于通用预训练语料库的构成
    • 首先,虽然语料库规模庞大,但其严重偏向于通用文本,导致来自 STEM(科学、技术、工程和数学)和编程等推理密集型领域的数据比例不足
    • 其次,(更关键的是),明确的长思维链模式,构成了方法论推理的结构,即使在这些专业数据中也自然稀缺
    • 这种双方面的数据差距阻碍了模型内在的推理潜力,为后续的微调阶段创造了显著的瓶颈
  • 为了克服这一点,并受到大型推理模型(Large Reasoning Models, LRMs)中推理边界分析 (2025 Does Reinforcement Learning Really Incentivize Reasoning Capacity in LLMs Beyond the Base Model?) 的启发,论文的方法将标准的 mid-training 阶段 (Meituan, 2025) 转变为一个精心平衡的课程
    • 目标是培养模型的潜在推理能力(有效地对其进行“冷启动”),同时不降低其基础的通才知识,从而为后续的长思维链 SFT 设定一个更强的起点
Training Recipe
  • 论文的课程建立在一个精心策划的数据集之上,该数据集包含跨 STEM 和编程领域的推理密集型问题
  • STEM 集合:
    • 包含了来自学术档案、教科书和专有数据的多样化数学、物理和化学问题,并特别强调竞赛级别的挑战以确保深度
    • 论文的筛选过程优先选择需要多步逻辑推理的问题,而不是那些可以通过简单事实检索解决的问题
  • 算法编程推理
    • 论文汇总了来自各种开源代码竞赛数据集的问题
    • 然后,这些经过筛选的数据被策略性地注入训练语料库中
    • 论文采用严格的质量控制流程,使用启发式规则和 LLM-as-a-Judge 方法的混合来进行过滤、去重和去污
  • 关键的是,论文仔细管理数据混合比例,平衡推理密集型数据与原始的 mid-training 数据
    • 这确保了模型发展基础推理技能的同时,不降低其通才能力
    • 详细的数据筛选和混合过程在附录 A.1 中提供
Evaluation
  • 在正式对 LongCat-Flash-Base (Meituan, 2025) 进行训练之前,论文首先进行了一项初步实验,以验证论文推理增强 mid-training 的有效性
    • 这项试点研究是在一个小规模的、内部共享相同架构的 MoE 模型上进行的
  • 论文采用重复采样策略,使用 pass@k (2025, 2024) 指标来评估模型的推理能力
    • 为确保该指标的无偏估计,论文遵循 Chen 等人 (2021) 提出的方法
    • 形式上,给定来自查询集 \(\mathcal{D}\) 的一个查询 \(x\),令模型为 \(\pi_{\theta}\),其中 \(\theta\) 表示参数,论文生成 \(N\) (\(N>0\)) 个响应作为 \(\{y_{i}\}_{i=1}^{N}\),其中 \(y_{i}=\pi_{\theta}(x)\) 代表一个响应。因此,pass@k 定义为:
      $$pass@k:=\mathbb{E}_{x_{i}\sim\mathcal{D} }\bigg{[}1-\frac{\binom{N-C_{i} }{k} }{\binom {N}{k} }\bigg{]},$$
    • 其中 \(C_{i}\) (\(C_{i}\leq N\)) 表示正确答案的数量
  • 图 4 展示了论文在三个基准测试上的评估结果:AIME-24、BeyondAIME 和 LiveCodeBench (LCB) (24.08-25.05)
    • 结果揭示了一个清晰的趋势:在 mid-training 中 ,更高比例的推理密集型数据持续提升了模型在所有指标上的推理性能 ,从 pass@1 到 pass@128
    • 这种效应在所有采样复杂度上都很显著, pass@1 分数在 AIME-24 上提高了 27.7%,在 BeyondAIME 上提高了 9.3%,在 LCB 上提高了 6.5%
    • 特别地,对于更高的 k 值(如 pass@64 和 pass@128 ),改进更为显著,表明这种方法有效地拓宽了模型的推理边界
    • 这些令人信服的发现促使论文将此策略整合到 LongCat-Flash-Thinking 的 mid-training 过程中

Reasoning-oriented SFT

  • 在 mid-training 课程(curriculum)之后,论文引入了一个面向推理的 SFT 阶段,以使模型与高质量的指令遵循模式对齐,并增强其专业推理能力,从而为后续的大规模 RL 奠定坚实的基础
  • 除了通用推理,论文还专注于推进 LongCat-Flash-Thinking 在形式化推理和智能体推理方面的能力,这可以分别培养模型使用形式化语言和现实世界工具进行推理的能力
General Reasoning
  • 为了增强通用推理能力,论文从多个领域策划了一个多样化、高质量的训练数据集:STEM、代码、逻辑和通用问答(QA)
    • 构建过程涉及一个严格的 Prompt 筛选和响应生成流程,如下所述
    • (每个领域数据处理的更多细节在附录 A.2 中提供)
  • 首先,对于 Prompt 筛选,论文实施了一个多阶段过滤过程
    • 1)初步筛选(Initial Screening) :论文使用 LLM-as-Judge (2025) 方法来消除低质量或无法回答的查询 ,例如不完整的陈述
      • 对于代码相关数据,论文选择那些具有清晰描述、至少包含五个单元测试的健壮测试集以及可执行评判脚本的问题
    • 2)真实答案验证(Ground-Truth Validation) :为了验证正确性 ,采用了基于模型的投票机制
      • 这涉及自动生成多样化的响应,以识别并过滤掉那些具有不一致或可能错误的标准答案(ground truth)的 Prompt
    • 3)难度过滤(Difficulty Filtering) :除了通用 QA ,论文通过专家模型的通过率(pass rate)来估计问题难度
      • 通过率超过特定阈值的 Prompt 被视为过于简单而被丢弃
      • 最终的 Prompt 集根据难度分布从过滤后的池中采样
  • 其次,对于响应生成,论文采用了拒绝采样(rejection sampling)方法
    • 为每个 Prompt 合成候选响应,其中 LongCat-Flash-Chat (Meituan, 2025) 作为主要的生成器
    • 然后,这些候选响应通过基于规则和基于模型的判断相结合的方式进行评估,以选择最高质量的响应作为论文最终的训练数据
Formal Reasoning
  • 最近像 Qwen2.5-Math (2024)、Kimina-Prover (2025a) 和 DeepSeek-Prover (2025;) 这样的模型的成功,突显了 LRMs 在加速自动定理证明(Automatic Theorem Proving, ATP)等形式化推理任务研究方面的巨大潜力
    • 为了帮助实现这一潜力并赋能研究人员,论文显著增强了论文模型的形式化推理能力
  • 论文的工作旨在提供一个健壮且多功能的基础,供社区在其上构建和探索新的科学前沿
    • 为此,论文专注于 ATP,这是形式化推理中一个具有代表性且具有挑战性的任务
    • 论文引入了一种新颖的方法来系统地增强论文模型在这一领域的能力
    • 该流程如图 3 左下角所示(为方便查看,补充到下面):
Task Definition
  • 形式上,ATP 的任务是:给定的形式化陈述,生成一个有效的证明 \(\mathcal{P}\)
  • 该过程从一个非正式问题开始,包括一个自然语言问题 \(x\) 及其答案 \(y\)
    • 这首先通过一个自动形式化器(autoformalizer)\(\mathcal{I}_{s}\) 转换为一个形式化陈述 \(s=\mathcal{I}_{s}(x,y)\)
    • 然后模型 \(\pi_{\theta}\) 生成一个证明候选 \(\mathcal{P}=\pi_{\theta}(s)\)
    • 验证器 \(\mathcal{V}\) 检查该证明,产生一个二元结果
      $$\mathcal{V}(\mathcal{P},s)\in\{\text{PASS},\text{FAIL}\}$$
    • 论文的工作专注于全证明生成(whole-proof generation) ,即从形式化陈述开始,在单轮中生成整个证明
Statement Formalization
  • 论文收集了多个竞赛级别的数学问题,并进行了数据去重和去污
  • 由于原始数据仅包含自然语言问题,论文训练了一个基于 8B 参数的自动形式化器(autoformalizer)模型,将每个非正式陈述(包含原始问题和答案)翻译成形式化陈述
  • 然后论文执行一个两阶段过滤过程以确保其正确性:
    • 1)语法过滤 :论文遵循 Wang 等人 (2025a) 的工作,开发了 Leand Server 1 (v4.15)
      • 每个生成的形式化陈述都与占位符 “\(=\) by sorry” 连接,并通过 Leand Server 进行编译。因此,具有语法错误的陈述被移除
    • 2)语义过滤 :论文发现自动形式化有时会改变原始问题的含义
      • 为了解决这个问题,论文采用了一个基于模型的语义过滤器,以识别并丢弃与其非正式对应物不一致的形式化陈述
Iterative Proof Synthesis
  • 论文的证明合成遵循迭代数据增强策略,从一个冷启动过程开始,并通过专家迭代(expert iteration)逐步完善
    • 为此,论文利用论文经过推理增强的 LongCat-Flash-Base 模型作为 Prover(证明器)的基础,该 Prover 在整个过程中得到系统性改进
  • 迭代流程如下:
    • 冷启动 Prover 训练 (Cold-start Prover Training) :此阶段的目标是构建一个初始数据集来训练基线 Prover
      • 验证成功问题收集 :为了识别一组可解决的问题,论文利用现有的定理证明工具来过滤论文的形式化陈述
        • 验证成功的陈述(statement)被保留,形成论文初始的(陈述(statement),证明(proof))对集合
      • 思考过程合成 :为了用推理步骤丰富这些数据,论文采用基于模型的合成方法为每对生成一个自然语言的“思考过程(thinking process)”
      • 新的三元组 :这就创建了最终的(陈述,思考过程,证明)三元组训练数据,然后用于对论文的 LongCat-Flash-Base 模型进行初始 SFT
    • 专家迭代 (Expert Iteration) :此阶段迭代地扩展数据集并增强 Prover。在每次迭代中:
      • 1)当前的 Prover 尝试为所有仍未解决的形式化陈述生成证明
      • 2)新生成的证明经过验证,成功的(陈述,证明)对被添加到论文的数据集中
      • 3)这些新的对随后使用相同的基于模型的方法,合成为一个思考过程来丰富数据
      • 4)最后,论文汇总所有筛选过的训练三元组,并从头开始重新训练 Prover
      • 这个自我改进的循环重复固定的迭代次数
  • 通过这个迭代过程,论文策划了一个包含大量高质量训练实例的语料库,每个实例包含一个形式化陈述、一个合成的思考过程和一个经过验证的证明
    • 该数据集随后被用来全面增强论文 LongCat-Flash-Thinking 的形式化定理证明能力
Agentic Reasoning
  • 智能体推理可以体现在工具使用、解释和复杂问题解决中 (2025b, OpenAI, 2024)
  • 现有的数据集常常受到一些实例的困扰,即模型可以在不实际调用工具的情况下产生令人满意的答案
    • 这类数据对于现实世界的智能体行为提供的效用有限,因为它们缺乏利用外部工具解决问题的挑战
  • 为了缓解这个问题,论文专注于识别和保留那些真正需要工具辅助的高质量查询 ,从而促进健壮的智能体能力的发展
Required Tool-Use Query Selection
  • 为了策划一个真正需要工具使用的查询数据集,论文使用以下步骤:
    • 首先,从各种来源聚合候选查询,包括开源数据集(例如 ToolBench (2023), ToolLLM (2023))和内部数据,并执行标准的去重和去污
    • 然后,论文引入了一种新颖的双路径评估流程来评估每个查询的“工具必要性(tool necessity)”
      • 对于给定的查询 \(x\in\mathcal{D}\),论文 Prompt 一个基线模型在两种不同的设置下生成 \(N\) 个解决方案轨迹(trajectory):
        • 一种可以访问工具 \((\mathcal{I}_{\text{wt, tool} })\)
        • 另一种不能 \((\mathcal{I}_{\text{w/o, tool} })\)
      • 这产生了两组响应:
        $$\mathcal{Y}_{\text{wt, tool} }=\{y_{i}|y_{i}=\pi_{\theta}(\mathcal{I}_{\text{wt, tool} }(x))\}_{i=1}^{N},\text{ 和 }\mathcal{Y}_{\text{w/o, tool} }=\{y_{i}|y_{i}=\pi_{\theta}(\mathcal{I}_{\text{w/o, tool} }(x))\}_{i=1}^{N}.$$
  • 接下来,这些响应由 LLM-as-a-Judge 进行评估,以分别计算 \(\mathcal{Y}_{\text{wt, tool} }\) 和 \(\mathcal{Y}_{\text{w/o, tool} }\) 的通过率 \(s_{\text{wt, tool} }(x)\) 和 \(s_{\text{w/o, tool} }(x)\)
  • 工具必要性值 \(v_{x}\) 则定义为使用工具带来的性能增益:
    $$ v_{x}=s_{\text{wt, tool} }(x)-s_{\text{w/o, tool} }(x) $$
    • 更高的 \(v_{x}\) 意味着一个查询仅凭内部知识难以解决,但在工具辅助下变得可管理(manageable)
    • 假设 \(\tau_{1}\), \(\tau_{2}\), \(\tau_{3}\) 是预定义的阈值,论文根据一组阈值选择查询:
      $$ \{x|v_{x}>\tau_{1}\wedge s_{\text{wt, tool} }(x)>\tau_{2}\wedge s_{\text{w/o, tool } }(x)<\tau_{3},x\in\mathcal{D}\}$$
      • 上述公式可以确保,最终数据集由工具有用(helpful)且必不可少(indispensable)的问题组成
      • 理解:要求不使用工具时成功率低于某一水位,使用工具后成功率高于某一水位,同时增益高于一定阈值
Automatic Trajectories Synthesis
  • 选择高价值查询后,论文合成相应的高质量解决方案轨迹
  • 为了支持广泛的任务,论文首先构建了一个包含多样化工具 API 的多功能环境,包括 MCP 服务器以及用于单轮和多轮交互的模拟工具
  • 对于每个选定的查询,论文进行以下步骤:
    • 候选轨迹生成 :使用一个强大的生成模型来产生多个候选轨迹,范围从简单的工具调用到复杂的多步骤工作流
    • 候选轨迹评估 :这些候选轨迹由一个基于模型的评判小组根据正确性、逻辑一致性和工具使用的完整性等标准进行严格评估
      • 只有通过此评估的轨迹才会被保留
      • 经过验证的轨迹随后被标准化为一致的格式,确保逻辑完整性和推理步骤的清晰性
    • 轨迹分层 :论文根据复杂度对这些轨迹进行分层
      • 基于诸如工具调用次数(单轮 vs 多轮)、依赖结构(顺序 vs 并行)和推理深度(例如,查找、多跳、规划)等因素,以促进基于课程的学习和有针对性的模型增强
Training Recipe
  • 对于 SFT 阶段,论文采用复杂的数据筛选策略来平衡来自论文三个面向推理的数据集的多样化和复杂场景
    • 该策略包括严格的数据去污协议 ,以确保在训练期间对测试数据的零暴露
    • 为了进一步增强通用推理 ,论文对来自 STEM 和编程领域的数据进行了上采样(up-sampled)
    • 此外,根据论文定义的几个响应行为特征(例如平均响应长度、反思密度和查询聚类)来筛选最终的训练实例
  • 这种方法的目标是显著提高在广泛推理任务上的性能,同时保持在智能体工具使用和形式化证明生成等专业领域的熟练度
  • 最终的数据混合比例如图 10 所示:
  • SFT 是在论文经过 mid-training 阶段推理增强的基础模型上进行的
    • 论文使用 AdamW 优化器,学习率为 \(3e-5\),并将模型训练 \(2\) 个 Epochs
    • 为了适应复杂和扩展的推理链,论文将上下文长度(context length)设置为 48K 个 Tokens

Large-Scale Reinforcement Learning

  • RL 是提升 LLM 推理能力的关键阶段,与 SFT 相比,它具有更高的 token 效率和更好的泛化能力
  • 但将 RL 应用于 LLM 是众所周知的挑战:
    • 训练过程通常不稳定,对超参数高度敏感,并且会产生巨大的系统开销,这使得工业级部署变得复杂
  • 为了克服这些障碍,论文开发了一个全面的、三管齐下的解决方案:
    • 1)在系统层面,论文构建了 DORA,一个支持异步训练和灵活加速器使用的鲁棒分布式 RL 框架,以确保稳定性和效率
    • 2)在算法层面,论文引入了若干修改以稳定训练并增强适应性
    • 3)在奖励层面,论文设计了一个能够处理可验证和不可验证任务的通用奖励系统,确保广泛的领域适用性
  • 以下小节将详细介绍论文的 RL 基础设施、算法增强和奖励设计

RL Infrastructure

  • RL 训练的效率受到两个主要问题的阻碍:RL 调度问题 (RL scheduling) (2023; 2024; 2025) 和偏斜生成问题 (skewed generation problem) (2025; 2025; 2025)【TODO:skewed generation 的翻译】
    • 在调度问题方面:
      • 分离式架构 (disaggregated architecture) 由于不同阶段之间的依赖性导致设备闲置
      • 共置式架构 (colocated architecture) 通过让所有角色共享相同的设备来避免这种情况,但这种效率是有代价的
        • 对于异构工作负载(其中生成是内存瓶颈,而训练是计算瓶颈),硬件的紧密耦合可能导致次优性能
    • 偏斜生成问题方面:
      • 问题出现:偏斜生成问题出现在同步训练中,整个批次会被单个最长的输出阻塞
        • 这个问题在长上下文场景(如推理或智能体工具使用)中会加剧
      • 一些异步训练方法 (2025; 2025) 已被提出来优化长尾生成问题
        • 如部分 rollout (partial rollout),将长响应分解成多个片段,并利用最新的 Actor 模型在不同迭代中生成每个片段
          • 然而,论文在实践中观察到中断样本的重新预填充 (re-prefilling) 效率相当低下
          • 使用最新更新的 Actor 模型需要在将中断样本与之前不完整的 rollout 响应连接后进行所有中断样本的重新预填充
          • 此外,对单个响应的不同片段使用不一致的策略版本在理论上可能损害模型收敛

DORA:Dynamic ORchestration for Asynchronous rollout

  • 为了解决上述挑战,论文引入了论文的 DORA 系统
  • DORA 系统的核心思想是通过流式 rollout (streaming rollout) 利用多个旧版本的 Actor 模型来优化长尾生成,同时保持采样一致性
  • 为了进一步提高调度效率并在没有设备闲置的情况下并行化生成和训练阶段,论文引入了 RL 角色的弹性共置 (elastic colocation)
  • 如图 5 所示,DORA 采用分离式架构,将加速器集群划分为两个不同的组:
    • 独立生成器组 (Standalone Generator Group) :一个专门用于生成器 (Generator) 角色的设备池,确保优化的 rollout
      • 生成器是专门用于推理的 Actor 模型的副本
    • 弹性角色组 (Elastic Role Group) :一个角色可以弹性共置的设备池,以确保灵活性和效率
      • 这些设备可以动态地在充当生成器和执行各种训练相关角色(例如, Reference & Actor , Reward & Critic )之间切换
    • 图 5 :DORA 系统演示时间线中的陈旧性 (staleness) 设置为 2,允许最多三个策略权重 \(\theta_{j}\)(注意:这里有多个策略版本在内存中,之前用旧策略生成的样本,接下来也继续用旧策略 rollout,保证了生成的样本是同一个策略产生的)
      • 在第 \(n\) 步, Prompt 5, 8, 3, 1, 6, 和 2 被依次完成
      • Prompt 2 的完成填充了批次,然后用于训练
      • Prompt 10 和 12 被丢弃并安排重新生成(理解:这两个 Prompt 大于一定轮次了)
      • 剩余的 Prompt 使用 KV 缓存重用或转移继续 rollout
      • 注:图 5 中 KV-Cache Transfer 是指复用之前的 KV-Cache(对于上一轮没有生成完成的 Prompt),而且这里看起来应该是不丢弃之前轮次生成的模型的情况
  • 基于论文为异步 rollout 设计的资源调度,论文介绍 DORA 系统的工作流程如下:
    • 生成阶段 (Generation Phase)
      • 为了提高 rollout 吞吐量,论文扩展生成器设备,独立组和弹性组都激活推理引擎进行 rollout
      • 推理实例维护最多预定义陈旧性数量的策略权重版本
        • 注意:这里有多个策略版本在内存中,保证了生成的样本是同一个策略产生的
      • 在 rollout 阶段,论文的负载均衡控制器 (Load Balancing Controller) 重新平衡不同策略版本之间的资源分配,并在推理引擎内重用 KV 缓存,如图 6 所示
      • 关键的是,已完成的样本会立即流式传输到下一阶段,而不会阻塞后续阶段
    • 经验制作阶段 (Experience-Maker Phase)
      • 一旦生成的样本满足训练条件,弹性组会缩减其生成器角色,并激活其他 RL 角色
      • 在部分共置(partial colocation)设置中:
        • Reference & Actor 以及 Reward & Critic 角色并行执行推理阶段
        • 同时独立生成器(Standalone Generators)暂时切换到训练引擎以重新计算对数概率
          • 问题:独立生成器也能切换训练引擎计算对数概率?那为什么还叫做独立生成器?
        • 这是最小化推理和训练引擎之间系统级不匹配的关键步骤
      • 完成后,独立组重新激活推理引擎,并使用先前的策略版本继续生成
    • 模型训练阶段 (Model Training Phase) 最后,Actor 和 Critic 模型在收集的经验上进行训练。同时,独立组继续无阻塞地生成,同时重新平衡工作负载和重新分配资源。值得注意的是,特定的策略版本一旦满足用户定义的驱逐策略就会被删除。训练完成后,最新的策略权重使用分层点对点 (layer-wise Point-to-Point) 通信有效地同步回生成器角色,为下一轮 RL 训练做准备
  • 图 6 :负载均衡的工作流程。负载均衡控制器监控每个设备上的负载,当达到预定义阈值时,它启动资源重新分配,包括权重转移和 KV 缓存转移
  • DORA 的主要优势总结如下:
    • 1)流式架构确保首先完成的响应可以立即在后续阶段处理,而不会被最长的响应阻塞
    • 2)多版本设计保证每个响应完全由同一个 Actor 模型生成直至完成 ,消除了片段之间的不一致性
      • 这也使得可以轻松地重用中断样本的 KV 缓存,以显著减少开销,尤其是在预填充 (prefill) 繁重的场景中
    • 3)论文的弹性共置策略通过进程内上下文切换和卸载,实现了近乎零的设备闲置气泡 (bubbles)
      • 它还通过允许灵活地将加速器的数量和类型分配给不同的工作负载,保留了分离式架构的优势
Optimization for Large-Scale Training
  • 为了在论文的 DORA 系统上实现跨数万个加速器的工业级 RL 训练,论文引入了几个关键的工程优化
  • 大规模流式 RPC (Massive Streaming RPC)
    • 论文系统的控制平面建立在 PyTorch RPC (2023) 之上,它提供了为张量优化的远程过程调用
    • 它减少了张量的大量序列化和反序列化成本,并允许对计算集群进行专用和灵活的控制
    • 为了实现大规模 RPC 能力,论文在 RPC 初始化期间通过额外的组键原语 (group-key primitives) 和数据压缩增强了 TCPStore 实现,将通信复杂度从 \(O(N^{2})\) 降低到 \(O(N)\)
    • 在运行时,论文引入了双向流式 RPC(与 PyTorch 中的一元 RPC 不同),这使得推理引擎在异步训练期间能够进行高性能流式 rollout
  • 大规模高效 MoE 并行 (Efficient MoE Parallelism at Scale)
    • 为了在论文的加速器上部署 LongCat-Flash,论文在生成时采用了高度专家并行 (expert parallelism)
    • 该策略不仅分布了计算负载,还增加了每个加速器的可用内存,这对于容纳长上下文任务所需的大 KV 缓存至关重要
    • 但随着专家并行规模的增加,跨分布式加速器保持同步通常受限于主机端内核启动开销,这可能导致执行不同步
    • 为了解决这个问题,论文采用图级编译 (graph-level compilation) 方法来减少内核分发频率 (2024),从而能够应用图级优化并有效地重叠通信与计算
      • 与标准的即时执行 (eager execution) 相比,该策略实现了 \(1.5\times\) 的 rollout 加速
  • 最终,DORA 架构和大规模优化的结合展现了卓越的性能和工业级能力
    • 与同步训练相比,为论文的 560B LongCat-Flash 模型在数万个加速器上实现了超过三倍的加速

RL Algorithm

Training Objective
  • 论文的 RL 算法是基于 DORA 系统开发的
  • 论文将 \(\pi\) 表示为由 \(\theta\) 参数化的自回归语言模型
  • 给定来自训练集 \(\mathcal{D}\) 的查询 \(x\),响应 \(y\) 的似然表示为
    $$ \pi_{\theta}(y|x)=\prod_{t=1}^{|y|}\pi_{\theta}(y_{t}|x,y_{ < t})$$
    • 其中 \(|y|\) 表示响应 \(y\) 的长度
  • 使用从行为策略 \(\pi_{\mu}\) 生成的样本,GRPO (2024) 通过以下目标在具有组级优势 (group-level advantages) 的信任区域内优化策略模型:
    $$
    \mathcal{J}_{\text{GRPO} }(\theta)=\mathbb{E}\underset{\begin{subarray}{c}\{y_{i} \}_{i=1}^{G}\sim\pi_{\mu}(\cdot|x)\end{subarray} }{\overset{x\sim\mathcal{D} }{\pi_{\theta}(y_{i,t}|x,y_{i,<t})} }\left[\frac{1}{G}\sum_{i=1}^{G}\frac{1}{|y_{i}|}\sum_{t=1}^{|y_{t}|}\left(\min\left(r_{i,t}(\theta)\hat{A}_{i,t},\text{clip }_{\varepsilon}\left(r_{i,t}(\theta)\right)\hat{A}_{i,t}\right)-\beta\mathbb {D}_{\text{KL} }[\pi_{\theta}||\pi_{\text{ref} }]\right)\right], \tag{3}
    $$
    • 其中:
      • \(r_{i,t}(\theta)=\frac{\pi_{\theta}(y_{i,t}|x,y_{i,< t})}{\pi_{\mu}(y_{i,t}|x,y_{i,< t})}\) 是重要性权重
      • clip\({}_{\varepsilon}\) 是将值裁剪到 \([1-\varepsilon,1+\varepsilon]\) 的函数
      • \(\epsilon\) 定义了裁剪范围
      • \(\hat{A}_{i,t}\) 是估计的优势 (advantage)
      • \(G\) 表示来自同一查询的样本组
      • \(\pi_{\text{ref} }\) 是 SFT 模型
  • 但当这个目标应用于复杂推理场景中的异步训练时,由于分布漂移 (distribution drift),它面临着显著的挑战,这可能会破坏模型的收敛并导致其迅速崩溃。这种现象可以分为两个不同的来源:
    • 引擎数值差距 (Engine Numerical Gap) :
      • 为了实现高吞吐量和数据效率,作者使用高度优化的推理引擎(例如 vLLM (2023))生成样本
      • 但这些引擎使用了如内核融合 (kernel fusion) 等优化,这些优化不能保证比特级一致性 (bitwise consistency)
        • 当推理和后端训练(例如 Megatron 引擎 (2019))不匹配时,这种不一致性尤其关键
        • 问题:为什么 内核融合 不能保证比特级一致性
          • 回答:Kernel Fusion 会改变计算的 “实现细节”,但不改变 “数学逻辑”,而浮点计算的特性决定了 “实现细节差异” 会导致二进制结果不同
      • 虽然可以在策略优化期间使用推理引擎的采样概率作为 \(\pi_{\mu}\),但由此后端不匹配累积的数值误差可能导致不稳定性
    • 策略陈旧性 (Policy Staleness) :
      • 在异步训练中,每个生成的样本可能源自多个先前的策略版本,这些版本随着当前策略 \(\pi_{\theta}\) 的持续更新而变得过时
      • 生成数据的行为策略与正在优化的目标策略之间的这种差异给训练过程带来了不稳定性,阻碍了收敛,并在极端情况下可能导致模型崩溃
      • 像公式 3 这样的标准目标假设高度的策略对齐,对这些偏差并不鲁棒,陈旧性的影响会损害其有效性
  • 为了缓解上述问题,论文通过以下改进修订了 GRPO 目标:
    • 原始的 GRPO 损失包含一个 KL 散度损失项,以防止策略偏离 Reference Model 太远
      • 但使用默认的 \(k_{3}\) 估计器,尽管其期望是无偏的,但该项的相应梯度在优化过程中是有偏的 (Zang, 2025)
        • 博客链接:The critical implementation detail of KL loss in GRPO
      • 因此,论文移除了 GRPO 损失中的 KL 损失项 ,这有助于进行大幅度的策略更新
    • 论文采用 Token-level 损失,而不是 Sample-level 损失,以增强训练的稳定性和模型的最终性能
      • 同时,遵循 Liu 等 (2025, Dr.GRPO) 的方法,论文在训练期间使用全局常数最大生成长度作为损失函数的分母(虽然损失函数公式上没有写,但 Dr.GRPO 4.2 节中的实现细节是这样做的)
      • 这种调整减轻了可能对训练鲁棒性构成挑战的长度偏差 (length bias)
      • 理解:这里指的 Token-level 的损失就是 Dr.GRPO 对应的损失,而 Sample-level 的损失就是原始 GRPO 对应的损失
    • 设置裁剪范围对于有效的策略优化至关重要,因为它影响探索和模型稳定性
      • 此外,由于专家路由策略可能在不同版本的策略之间发生变化,陈旧性问题在稀疏 MoE 模型中可能更加明显,其中负的 Token-level 优势可能导致过大的重要性采样比率和无界的方差
      • 遵循 Yu 等 (2025) 和 Ye 等 (2020),论文采用三重裁剪方案 (triplet clipping scheme):
        • \(\epsilon_{\text{neg}_{\text{low} } }\) 和 \(\epsilon_{\text{neg}_{\text{high} } }\) 限制负优势的重要性比率
        • \(\epsilon_{\text{pos}_{\text{high} } }\) 为正优势提供上限
        • 该策略防止模型崩溃并保持足够的熵以进行有效探索
        • 问题:这里的 triplet clipping scheme 可以再思考一下,负优势给上下界,正优势只有上界
          • 理解:
            • 相当于当优势为正时,无论概率比例多小,都允许其增大(符合预期,可以理解);
            • 但当优势为负时,不允许比值过小的继续下降,能理解;比值过大为什么不允许继续下降?是因为此时多是异常比值吗?
    • 引擎数值差距会在 RL 训练过程中累积,从而使整个训练过程不稳定
      • 论文应用截断重要性采样 (truncated importance sampling) (2025; Ionides, 2008) 来减轻推理引擎和训练引擎之间的分布不匹配
      • 问题:这里的 truncated importance sampling 是指什么?博客地址:Your efficient rl framework secretly brings you off-policy rl training, August 2025
        • 回答:这里 truncated importance sampling 主要是用 重要性采样的思想,对齐 推理(vLLM) 和 训练(FSDP)之间的 分布差异:
          $$ \mathbb{E}_{a \sim \color{red}{\pi_{\text{vllm}}}(\theta)} \Bigl[\underbrace{\min\Bigl(\frac{\color{blue}{\pi_{\text{fsdp}}}(a, \theta)}{\color{red}{\pi_{\text{vllm}}}(a, \theta)}, C\Bigr)}_{\text{truncated importance ratio}} \cdot R(a) \cdot \nabla_\theta \log \color{blue}{\pi_{\text{fsdp}}}(a, \theta)\Bigr] $$
        • 问题:为什么取 min 而不是 clip ?
  • 最终目标可以表述如下:
    $$
    \mathcal{J}(\theta)=\mathbb{E}_{\begin{subarray}{c}x\sim\mathcal{D}, \{y_{i}\}_{i=1}^{G}\sim\pi_{\mu}(\cdot|x)\end{subarray} } \left[\frac{1}{G\cdot T_{\max} }\sum_{i=1}^{G}\sum_{t=1}^{\lvert y_{i}\rvert}\min\left(r_{i,t}(\mu),C \right)\right. \max\left(\min\left(r_{i,t}(\theta)\hat{A}_{i,t}, \operatorname{clip}\left(r_{i,t}(\theta), 1-\varepsilon_{\text{neg}_{\text{ low} } },1+\varepsilon_{\text{pos}_{\text{high} } })\hat{A}_{i,t}\right),\varepsilon_{\text{neg}_{\text{high} } }\hat{A}_{i,t}\right)\right],
    $$
    • 其中:
      • \(T_{\max}\) 是最大生成长度
      • \(r_{i,t}(\mu)=\frac{\pi^{\text{train} } }{\pi^{\text{inference} }_{\mu} }\) 是在采样策略 \(\mu\) 下训练引擎和推理引擎之间的重要性比率
      • \(C\) 是一个常数值
Efficient Training Strategies
  • 为了更好地平衡有效性和效率,同时保持稳定性并避免 Reward Hacking,论文还利用了其他技术:
    • 带替换的在线过滤 (With-replacement Online Filtering)
      • 论文在流式生成阶段采用在线过滤来移除准确率分数等于 \(1\)(完全正确)或 \(0\)(完全错误)的 Prompt
        • 保留那些具有持续挑战性难度、能提供有效梯度信号以防止大幅梯度波动的样本
      • 为了 确保数据至少被消费一次 (consumed-at-least-once) 和完整性 (integrity) (2024),论文为训练开发了一种带替换采样 (sampling-with-replacement) 策略
        • 不同于动态采样 (dynamic sampling) 中使用的无替换采样 (sampling-without-replacement) (2025)
        • 在同步训练场景中,该机制使得过采样(over-sampling)的 Prompt 可以在每个训练步骤重新生成
          • 理解:允许故意的数据重复(过采样),每个样本至少使用一次
        • 在异步训练场景中,如果 Prompt 的陈旧性未超过最大陈旧性阈值,则重用它们;否则,重新生成它们
        • 问题:这里的确保数据至少被消费一次,不是训练一次吧,是否跟准确性无关?
    • 陈旧性控制 (Staleness Control)
      • 在流式 Pipeline 中,论文应用最大陈旧性作为中断策略的一部分,以保持生成样本的可控新鲜度
      • 为了提高样本效率,论文应用数据重用策略(data reuse strategy) ,其中在线过滤器(online filter)的过采样(oversampled data)数据存储在回放缓冲区 (replay buffer) 中,并在后续训练迭代中根据预定义的重用比率 (reuse-ratio) 重新采样
        • 问题:为什么 online filter 会有 过采样数据?
      • 该机制将这些陈旧样本(stale samples)缓存在回放缓冲区(replay buffer)中,允许它们在后续训练迭代中按比例与新样本混合
        • 同时,需要对这个混合训练批次进行 shuffle,以稳定缓冲区(buffer)内的训练陈旧性
        • 尽管该策略不可避免地增加了平均陈旧性,但样本效率的提升证明这是一种有效的权衡
    • 不完整信号掩码 (Incomplete-Signal Masking)
      • 论文对存在评分问题的样本应用掩码策略 ,例如代码评估期间的沙箱执行错误
        • 这确保了奖励信号的可靠性,产生了略有偏差但低方差的梯度
          • 问题:偏差来源于哪里?来源于这部分样本不参与训练,相当于有选择的丢弃了一些样本,导致训练梯度有偏
        • 理解:即将这部分评估存在问题的样本的损失 mask 掉,不参与模型更新(问题:与 K2 策略是相似的吗?)
      • 论文还对那些达到生成 token 长度但未被识别为重复的样本进行掩码
        • 这有助于防止损失受到因长度限制而被截断的输出影响,进一步提高了训练信号的稳定性
        • 问题:目前是如何识别重复的?

Reward System

  • 为了训练 LongCat-Flash-Thinking,论文开发了一个精心设计的奖励系统(奖励系统对于在训练过程中提供优化方向至关重要),使用不同的 Reward Model 为不同的任务提供准确的奖励信号
Non-Verifiable Tasks
  • 对于不可验证的任务,如创意写作、知识问答等,采用判别式 Reward Model (discriminative reward model) 来提供奖励信号
  • Reward Model 训练:基于 LongCat-Flash SFT 检查点对其进行初始化(模型 size 大小相同?),随后在一个全面的人工和模型联合标注的偏好数据集上对其进行训练
    • 这种方法使判别式 Reward Model 能够准确捕捉不同响应之间的偏好
  • 对于长思维链 (long CoT) 响应,论文不将推理过程作为输入;
    • 即 Reward Model 仅评估答案部分
Verifiable Tasks
  • 对于 STEM 领域 ,论文开发了一个带有推理过程的生成式 Reward Model (Generative Reward Model, GenRM),而不是使用基于规则的奖励系统,在训练过程中提供奖励信号 (2025)
    • 给定问题,GenRM 将参考答案与 LLM 的响应进行比较,并确定响应是否正确(理解:这里是通过 Prompt 来问询模型的,这是 生成式 RM 与 判别式 RM 的区别)
    • 使用带有推理过程的 GenRM 有几个优点
      • 首先,GenRM 适应具有相同含义的各种答案表达方式,例如 \(a^{2}-b^{2}\) 和 \((a+b)(a-b)\)
      • 同时,GenRM 能够处理复杂的表达式
      • 此外,带有推理过程的 GenRM 不仅提供预测,还揭示了预测背后的原因
    • 推理过程使论文能够持续改进 GenRM
      • 论文在一个人工标注的测试集上比较了不同 Reward Model 的有效性:
        • 一个基于规则的奖励方法
        • 一个直接输出 True 或 False 的非推理 GenRM
        • 一个包含推理过程的 GenRM
      • 表 1 展示了这些模型的预测准确率,证明了论文 GenRM 方法的有效性
        基于规则的 Reward Model 非推理 GenRM 推理 GenRM (Ours)
        80.9% 94.0% 98.8%
  • 对于编码任务 ,开发了一个分布式代码沙箱集群 ,以高效管理超过 20 种编程语言的数百万并发代码执行
    • 为了处理来自异步 RL 的可变工作负载,论文设计了一个异步接口来处理大批量代码,通过消除恒定轮询(constant polling)显著提高了吞吐量
    • 论文还通过一次编译多运行执行 (once-compilation for multi-run executions) 来优化效率以减少开销,并通过压缩和缓存分片 (cache sharding) 确保快速可靠的数据传输和存储

Training Recipe

  • 论文的 RL 训练方案遵循一个结构化的三阶段方法,旨在培养高级推理能力,包括:
    • 1)领域并行训练 (Domain-Parallel Training) :专家模型在针对不同领域(例如 STEM、代码、智能体)精心策划的数据集上独立训练;
    • 2)模型融合 (Model Fusion) :一种将这些专家整合成一个单一的、连贯的智能体并巩固其技能的新技术;
    • 3)通用 RL 微调 (General RL Fine-Tuning) :一个最终阶段,用于协调模型的能力并确保在各种应用中的鲁棒性能
Reasoning-oriented RL: A Domain-Parallel Approach
  • 在大规模 RL 中,论文观察到领域混合训练 Pipeline 通常会在异步训练中导致负迁移 (negative transfer),从而导致效率低下和次优性能
    • 论文将此归因于训练批次之间显著的分布偏移 ,这是由跨领域的响应特征变化引起的(如图 7 所示)
    • 虽然顺序训练(即一次优化一个领域)可以部分缓解这个问题,但它本质上是低效且不灵活的
    • 一旦后期训练阶段开始,就很难重新访问或改进早期领域的能力
  • 因此,论文引入了一个领域并行训练框架
    • 这种方法:1)首先为不同的推理领域训练单独的“专家”模型;2)然后将它们合并成一个单一的、强大的模型,该模型在所有专业领域实现近乎帕累托最优 (Pareto-optimal) 的性能;3)最后通过一个通用 RL 阶段,以确保广泛的能力和对齐
    • 这个整体流程如图 2 所示
  • 图 7:
Query Curation for RL
  • 为了为 RL 阶段提供高质量数据,论文为每个推理领域实施了一个严格的、多方面的策划协议(multi-faceted curation protocol)
  • 对于 STEM 和代码 Query ,该协议首先针对已知基准进行标准去污和去重
    • 论文通过排除不合适的格式(例如多部分、多项选择或真/假问题)进一步优化 STEM 数据集
  • 对于代码 Query ,测试用例被系统地重新格式化为标准化的输入-输出结构以确保兼容性
    • 随后对两个领域应用一个关键的过滤步骤以防止奖励信号偏差:
      • 使用一个 SFT 模型,论文为每个 Query 生成多个响应 ,并仅保留那些表现出正确和错误解决方案平衡分布的实例
      • 这避免了过于简单(全部正确)或不可能困难(全部错误)的问题,从而提高了训练效果
    • 特别是对于代码,论文还利用沙箱执行反馈来识别和删除可能导致假阴性 (false negatives) 的模糊问题或不匹配的测试用例
  • 对于智能体 RL ,论文策划了一个专注于需要复杂推理和工具应用的数学问题的专门数据集
    • 每个训练实例被构造为一个三元组,包含问题描述、参考答案和附带的评分标准 (grading rubric)
    • 这种详细的结构旨在有效地指导模型学习解决复杂任务的适当工具使用轨迹
    • 问题:这里仅仅是 数学问题吗?为什么工具使用的 agentic RL 训练要限制在数据问题上
Domain-Parallel Training
  • 论文领域并行方法的一个关键优势是能够根据每个推理领域的独特特征定制训练方法
  • 论文为 STEM、代码和智能体 RL 应用了不同的配置以最大化它们各自的优势:
    • STEM RL:
      • 训练过程使用固定的 64K 上下文长度
      • 通过逐渐增加数据难度(通过降低包含的通过率阈值)来实施课程学习策略
      • 动态地调整 PPO 裁剪边界 \(\varepsilon_{\text{pos}_{\text{high} } }\) 以保持训练稳定性
      • 这些方法保证了模型的学习以高效的方式进行,同时无缝适应训练数据日益增长的复杂性
    • 代码 RL:
      • 对上下文长度采用多阶段课程,从 48K token 开始,然后逐步扩展到 56K,最终达到 64K
      • 一旦生成输出长度的 \(TP-90\) 分位数接近当前限制,就扩展上下文窗口,确保平滑适应
        • 理解:有 10% 超过当前限制长度则开始扩展
    • 智能体 RL:
      • 训练过程使用固定的 48K 上下文长度
      • 通过两种技术强制执行结构化推理和工具使用:
        • 1)使用 <longcat_think> 和 <longcat_tool_call> 标签的结构化对话模板
        • 2)激励语法正确工具使用的工具调用格式奖励,确保稳定和可解释的多轮轨迹
Model Fusion
  • 为了巩固论文领域专家模型的能力,论文将它们的参数合并成一个单一的、统一的智能体
    • 这种方法得到了先前工作 (2023, 2025) 的支持,这些工作表明合并领域特定模型可以产生一个具有卓越整体性能的单一模型
    • 模型融合的主要挑战是减轻专家之间的参数干扰 (parameter interference)
  • 为了解决这个问题,论文采用了受最新进展启发的三管齐下策略:
    • 1)归一化 (Normalization) :论文对任务向量 (\(\tau_{i}=\theta^{i}_{RL}-\theta_{SFT}\)) 的幅度进行归一化,以平衡来自不同领域的贡献
    • 2)Dropout :类似于 DARE (2024a),论文应用 Dropout 来修剪冗余的 delta 参数
    • 3)擦除 (Erase) :受 SCE (2024) 的启发,论文擦除具有少数方向更新的参数元素
  • 这种融合策略构建了一个在数学推理、编码和智能体能力方面表现出色的单一模型,如图 8 所示
  • 问题:模型融合相关的知识有时间需要回来再看
Final Alignment with General RL
  • 论文 Pipeline 的最后阶段是一个通用 RL 阶段,旨在增强模型在广泛场景(例如创意写作、指令遵循)中的能力,并防止融合后核心能力(如安全性)的任何回归(regression)
  • 论文首先从开源和合成查询中编译(compile)一个多样化的数据集,然后应用聚类算法进行去重和过滤,以获得高质量、具有挑战性的数据
  • 这个精心策划的数据集随后用于最后一轮(final round)的 PPO 训练,确保模型为实际应用做好了对齐、鲁棒和适应性的准备
    • 问题:这里说的 final round 是指这里的 通用 RL 阶段,还是通用 RL 中的最后一轮?

Evaluations

  • LongCat-Flash-Thinking 模型在自动化基准测试上进行了评估
  • 这些基准测试分为多个维度,包括通用问答(General QA)、对齐(Alignment)、数学、通用推理(General Reasoning)、编程(Coding)、智能体工具使用(Agentic Tool Use)、形式化定理证明(Formal Theorem Proving)以及安全性(Safety)

Benchmarks and Configurations

  • 评估采用了以下基准测试:
    • 通用问答(General QA):
      • MMLU-Pro (2024),一个经过严格重新评估的 MMLU (2021) 版本,修正了错误并减少了数据污染
      • MMLU-Redux (2025),MMLU 基准测试的另一个高质量变体
    • 对齐(Alignment):
      • IFEval (2023),一个指令遵循基准测试,包含一组具有可编程验证约束的 Prompt ,可对模型遵循复杂指令的忠实度提供客观评分
      • Arena-Hard (2024),一个源自 Chatbot Arena 平台的基准测试 ,用于评估模型在困难、开放式用户查询上的帮助性和对话质量
    • Mathematical Reasoning:
      • 奥林匹克级别的数学基准测试,包括 MATH-500 (2023)、HMMT-25 (HMMT, 2025)(哈佛-麻省理工学院数学锦标赛)、AIME-24 (MAA, 2024) 和 AIME-25 (MAA, 2025)(美国数学邀请赛),以及 BeyondAIME (ByteDance-Seed, 2025)
    • 通用推理(General Reasoning):
      • GPQA-Diamond (2024),一个评估多个科学领域研究生水平问题深度推理能力的基准测试
      • ZebraLogic (2025),由经典的逻辑网格谜题组成,需要多步演绎推理和约束满足
      • Sudoku-Bench (2025),通过要求模型解决数独谜题来评估符号化和结构化推理能力(论文在具有挑战性的 nikoli_100 数据集上评估模型)
      • ARC-AGI (Chollet, 2019),一个旨在衡量流体智能的基准测试
    • 编程(Coding):
      • LiveCodeBench (LCB) (2025),一个动态基准测试,论文评估了 2408 至 2505 期间的问题
      • OJBench (2025b),ACM-ICPC 级别的代码推理基准测试
    • 智能体工具使用(Agentic Tool Using):
      • SWE-Bench (2024),源自真实的 GitHub issues,用于评估模型解决软件工程问题的能力
      • BFCL (2025) 和 \(\tau^{2}\)-Bench (2025) 是工具增强推理基准测试
      • VitaBench (Meituan, 2025),论文自行设计的综合性现实世界基准测试,用于系统评估模型解决复杂现实世界任务的能力
    • 形式化定理证明(Formal Theorem Proving):
      • MiniF2F (2021) 是一个形式化理论证明的基准测试,包含跨多个形式化系统翻译的问题陈述(注:目前涵盖 Metamath、Lean、Isabelle(部分)和 HOL Light(部分)四种证明系统)
      • 问题来源于高中数学和本科数学练习题,以及来自 AMC、AIME 和 IMO 等著名竞赛的具有挑战性的题目
      • 论文在包含 244 个问题的测试集上进行评估
    • 安全性(Safety):
      • 遵循 LongCat-Flash-Chat (Meituan, 2025),论文在四个主要风险类别上评估 LongCat-Flash-Thinking 的安全性表现:
        • 有害内容(Harmful)(例如,暴力、仇恨言论、侮辱、骚扰、自残和成人内容)
        • 犯罪活动(Criminal)(例如,非法活动、恐怖主义和未成年人违规)
        • 虚假信息(Misinformation)(例如,错误信息、虚假信息和不安全实践)
        • 隐私(Privacy)(例如,隐私侵犯和侵权)
      • 对于每个类别,论文策划了大量的私有测试查询,并进行了严格的人工审查以验证其分类并确保质量
  • 对于每个基准测试类别,论文采用以下专门的指标和配置:
    • 通用问答(General QA):
      • 论文使用准确率(accuracy)作为主要评估指标
      • 遵循 (Meituan, 2025),论文采用一个评分模型来评估模型响应与参考答案之间的语义对齐程度
      • 由于这种方法能识别语义正确但文本不完全相同的响应,论文报告的准确率分数可能略高于原始记录的分数
    • 对齐(Alignment):
      • 为了评估指令遵循情况,论文设计了针对每个任务特定规则的正则表达式
      • 此验证过程还得到了基于规则和基于模型的答案片段提取工具的支持
    • Mathematical Reasoning:
      • 对于 AIME 和 HMMT 基准测试,论文报告 32 个样本的平均准确率(Mean@32)
      • 对于 MATH-500 和 BeyondAIME,论文分别报告 Mean@1 和 Mean@10
    • 通用推理(General Reasoning):
      • 对 GPQA-diamond 应用 LLM-as-a-Judge 方法
      • 对 ZebraLogic 应用基于规则的匹配
      • 对于 GPQA-diamond 基准测试,论文报告 16 个样本的平均准确率(Mean@16)
      • 对于 ZebraLogic、Sudoku-Bench 和 ARC-AGI,报告 Mean@1 准确率
    • 编程(Coding):
      • 论文使用接受率(acceptance rate, AC rate)来评估编程性能,模型在一个问题上只有在其代码通过所有测试用例时才得 1 分 ,否则得 0 分
        • 问题:通过部分测试用例为啥不给一些分?是担心 Reward Hacking 吗?
      • 对于 LCB,论文按照论文建议使用 Python 3.11
        • 对于每个基准测试,论文利用官方基准测试框架以确保公平性和可复现性
    • 智能体工具使用(Agentic Tool Using):
      • 与编程任务类似,论文也利用官方基准测试框架以确保公平性和可复现性
    • 形式化定理证明(Formal Theorem Proving):
      • 论文报告 MiniF2F-Test 的 pass@k 指标(\(k\in\{1,8,32\}\))
      • 如果证明通过 Lean4 服务器的语法检查(syntax check),则被接受
        • 问题:通过语法检查就接受?不应该是推理成功才接受吗?
    • 安全性(Safety):
      • 论文直接选择准确率作为主要指标

Evaluation Results

  • 如表 2 所示,论文将 LongCat-Flash-Thinking 与几个先进的推理模型进行了比较
    • 包括 DeepSeek-V3.1-Thinking (DeepSeek-2025)、Qwen3-235B-A22B-Thinking (Qwen, 2025)、GLM-4.5 (2025a)、OpenAI-o3 (OpenAI, 2025a)、Gemini2.5-Pro (2025) 和 GPT-5-Thinking (OpenAI, 2025b)
  • 论文全面评估的结果表明,LongCat-Flash-Thinking 是一个能力强大且多才多艺的模型
    • 在广泛的推理任务中 consistently 表现出卓越的性能,超越了那些需要更多激活参数的同类模型(后续分析提供了这些能力的详细分解)
    • 论文的 LongCat-Flash-Thinking 的推理参数设置为 temperature=1.0, topk=1, topp=0.95
  • 通用能力(General Abilities):
    • 在通用知识领域,结果表明 LongCat-Flash-Thinking 具有强大的基础理解能力,尤其是在综合多任务基准测试上
    • 在 MMLU-Redux 上达到了 89.3% 的准确率,与 SOTA 开源模型 Qwen3-235B-A22B 相媲美,并在 MMLU-Pro 上保持了强大的竞争力,得分为 82.6%
    • 考虑到 LongCat-Flash-Thinking 的高效性,这些结果尤其引人注目
  • 对齐能力(Alignment Abilities):
    • 在对齐任务中,LongCat-Flash-Thinking 表现出强大且具有竞争力的性能(注:高于所有基线模型)
    • 在 IFEval 基准测试(Strict Prompt)上取得了 86.9% 的 impressive 分数
    • 在 Arena-Hard(困难 Prompt gemini)上取得了 69.9% 的分数,展示了其在遵循复杂指令方面的强大能力,并超越了包括 DeepSeek V3.1 在内的几个关键基线模型
  • 数学能力(Mathematical Abilities):
    • LongCat-Flash-Thinking 在数学推理方面表现出卓越的熟练度,使其成为当前可用的顶级性能模型之一
    • 特别是,它在 MATH500 基准测试上取得了 99.2% 的高度竞争力分数,而其真正实力在更具挑战性的基准测试上变得更加明显
    • 该模型在 HMMT 和 AIME 相关基准测试上提供了令人印象深刻的结果,优于 OpenAI-o3 等强大基线,并与 Qwen3-235B-A22B 和 GPT-5 等领先的专有模型相媲美
    • 这些发现凸显了其解决复杂、多步问题的高级能力
  • 通用推理能力(General Reasoning Abilities):
    • LongCat-Flash-Thinking 展示了卓越的通用推理能力,尤其是在需要结构化逻辑的任务中
    • 在 ARC-AGI 上取得了 exceptional 性能,达到了 50.3% 的分数,并超越了 OpenAI-o3 和 Gemini2.5-Pro 等领先的专有模型
    • 在谜题推理方面表现出显著的天赋,在 Sudoku-Bench 上得分为 56.0%,在 ZebraLogic 上得分为 95.5%,突显了其解决复杂、非语言谜题的高级能力
  • 编程能力(Coding Abilities):
    • 在编程领域,LongCat-Flash-Thinking 展示了 SOTA 性能和强大的整体能力
    • 在 LiveCodeBench 上,取得了 79.4% 的分数,显著优于所有列出的开源模型,并与顶级专有模型 GPT-5 (80.6%) 表现相当
      • 这展示了其在解决新颖的竞争性编程问题方面的出色熟练度
    • 在 OJBench 上得分为 40.7%,超过了大多数专有模型,并几乎与 Gemini2.5-Pro 的领先分数 (41.6%) 持平
  • 智能体能力(Agentic Abilities):
    • 对智能体能力的评估表明,LongCat-Flash-Thinking 在复杂的、工具增强的推理方面表现出色,展示了在智能体工具使用方面的强大能力
    • 在 \(\tau^{2}\)-Bench-Airline 上取得了 SOTA 结果,得分为 67.5%,并在包括 SWE-Bench、BFCL V3 和 VitaBench 在内的一系列其他基准测试中提供了高度竞争力的性能
    • 特别是,启用定向工具使用(enabling targeted tool use)显著改善了性能与 token 预算之间的权衡
      • 问题:这里说的定向工具使用是什么?如何理解启动定向工具使用,有什么特殊的含义吗?
    • 在论文的实验中,使用工具的 LongCat-Flash-Thinking 将平均 token 消耗从 \(19,653\) 减少到 \(9,653\)(约减少 64.5%),同时保持了 AIME-25 的准确率,如图 9 所示
    • 这表明智能体系统不仅可以通过扩展纯模型推理来实现近乎 SOTA 性能,还可以通过将选定的推理步骤卸载到外部工具来高效实现
  • ATP 形式化推理(Formal Reasoning for ATP):
    • 在证明(proving)领域,LongCat-Flash-Thinking 展示了 SOTA 能力
    • 在 MiniF2F-Test 基准测试上,它取得了 pass@1 分数 67.6%,以 18% 的显著优势超越了第二好的模型 DeepSeek V3.1(这一领先优势在 pass@8 和 pass@32 上得以保持)
      • 突显了其在生成结构化证明和形式化数学推理方面的卓越能力
  • 安全能力(Safety Abilities):
    • 在安全性基准测试上,LongCat-Flash-Thinking 在拒绝回答有害或不道德查询方面展示了 SOTA 性能
    • 取得了 overall 最佳性能!显著优于所有其他评估的开源和专有模型
    • 其优势在所有子类别中保持一致,在有害内容(93.7%)、犯罪活动(97.1%)和虚假信息(93.0%)方面均取得 top 分数
      • 这一稳健的性能 underscore 了论文模型安全对齐的有效性及其遵守安全协议的可靠性
  • 图 9:

附录 A: 论文附录内容

A.1 mid-training 的细节 (Details of Mid-training)

  • 对于 mid-training 阶段,数据质量和多样性对于增强模型的推理能力至关重要 (2025)
  • 在过滤阶段,论文结合使用启发式规则和 LLM-as-a-Judge 方法来确保 Query 的可解性和难度分布,以及答案的质量和正确性
  • 为保证 Query 的可解性
    • 应用了基于规则的方法,如 URL 过滤、多表过滤和 HTML/XML 标签过滤,以消除依赖外部信息或本质上无法回答的推理问题
  • 对于合成答案:
    • 首先应用规则去除那些存在重复生成、截断、语言混合或不符合理期望推理格式等问题的答案
    • 为了验证答案的正确性,论文结合了基于模型和基于规则的方法,将合成回答与标准答案进行比较,以评估其在各种形式和风格变体下的等价性
  • 对于剩余的数据,强调难度分布和多样性的重要性(这显著影响模型的长链思维(long CoT)推理能力)
    • 论文标注了一个小规模的分类训练数据集,以构建一个神经评分器,为每个文档分配一个难度分数
    • 考虑到多样性,论文并未完全移除低难度样本,而是应用了适当比例的降采样
    • 对于有多个答案的 Query ,论文努力平衡答案来源或合成方法 ,并在答案数量过多时施加限制
      • 问题:具体如何平衡?
  • 最终,论文遵循 LongCat-Flash-Chat 的做法,通过结合基于规则和基于神经模型的方法,执行基于语义相似性的数据净化和去重

A.2 Details of SFT

A.2.1 通用推理数据的细节 (Details of General Reasoning Data)
  • STEM:
    • STEM 的训练数据包含数十万个带有可验证答案的实例,涵盖数学、物理、化学、生物学及其他相关科学领域
    • 大部分问题来自开源数据集、公开竞赛以及从预训练语料库中检索到的少量指令数据
    • 为确保数据质量和正确性,论文实施了一个多阶段过滤流程
      • 在初始阶段,论文利用 LLM-as-a-Judge 方法自动识别并排除不适合回答的问题,例如不完整的陈述和概念性 Query
      • 随后,对于每个剩余的问题,论文使用多个先进的大型推理模型(Large Reasoning Models, LRMs)生成候选回答
      • 基于投票结果来过滤那些真实答案(ground truth)与投票结果不一致的数据
  • Code:
    • 代码数据主要从开源竞赛数据中收集
    • 论文筛选出那些具有清晰问题描述、包含至少 5 个测试用例的单元测试集、以及带有启动代码或函数体的评判脚本的 Query
      • 问题描述必须包含问题、运行成本约束以及一些输入输出对
      • 单元测试被视为生成代码的参数 ,并可通过评判脚本来验证其正确性
        • 问题:如何理解 单元测试被视为生成代码的参数 ?
    • 为避免诸如标题描述不清、单元测试错误和评判脚本错误等问题
      • 首先,实施了一个过滤流程,以消除包含乱码内容、缺失信息或逻辑错误的 Query
      • 然后,论文构建了一个内部的代码沙盒环境,并利用多个先进的 LRM 生成候选代码
        • 如果所有 LRM 生成的代码都无法在论文的沙盒中通过所有单元测试 ,则这部分数据将被过滤掉
        • 为了平衡多样性,论文训练了一个小型分类器来为每个 Query 标记特定的知识点和难度,并执行难度过滤,确保问题具有适当的复杂度和对现实世界算法推理的适用性
  • 逻辑 (Logic)
    • 逻辑推理是必不可少的通用推理任务之一,在类人的探索、回溯和深度思考中扮演着重要角色 (2024b; 2025)
    • 论文收集了一系列广泛考虑的演绎、归纳和溯因逻辑任务
    • 对于每项任务,论文设计了一个专门的生成器 ,以自动合成具有精确可控难度的 Query
      • 据此,我们可以将 Query 难度分为三个不同的级别:简单、中等和困难
    • 为了合成高质量的回答:
      • 首先,通过在这些逻辑任务上应用 RLVR (2024) 来训练一个小型模型
      • 然后,通过从训练好的模型中蒸馏,为每个 Query 生成多个长链思维(long CoT)轨迹
      • 具有正确答案的可靠回答将被用于训练实例
  • 通用问答 (General QA)
    • 论文还考虑了一些通用任务,例如指令遵循、常识知识和安全等
    • 对于指令遵循,论文策划了包含单轮和多轮的指令遵循数据集,其约束复杂度和数量各不相同
      • 过滤掉语义质量低的 Query,并采用逆向 Prompt 生成策略 (2024) 来确保回答满足所有约束
    • 对于常识知识,论文开发了三种类型的通用问答数据集:阅读理解、基于表格的问答和自定义设计的任务
      • 这些特定领域可以显著增强论文模型的多轮对话、推理和长上下文能力
    • 对于安全性
      • 制定一个内容安全策略,将 Query 分为超过 40 个不同的安全类别,涵盖五种响应类型:
        • 遵从(comply)
        • 遵从并带 guideline(comply with guideline)
        • 软拒绝(soft refuse)
        • 软拒绝并带 guideline(soft refuse with guideline)
        • 硬拒绝(hard refuse)
      • 该标准指导论文训练一个小型模型,将每个 Query 划分到特定的安全类别,并根据不同的安全类别通过人工标注来优化回答
      • 因为过度拒绝会显著影响模型的有用性(helpfulness),论文还通过仔细处理通用 Query 来优化拒绝能力
  • 除了通用问答之外,论文还通过高级 LRM 估计的通过率(pass rate)来评估 Query 的难度
    • 通过率超过预定义阈值的 Query 被认为过于简单并被移除,从而将重点集中在需要实质性推理的问题上
    • 最终的训练集是根据通过率分布从过滤后的池中采样得到的,从而产生了一个适用于训练推理模型的高质量数据集
  • Figure 10: The distribution of our curated SFT data

附录:LongCat-Flash-Thinking-2601

  • HuggingFace: huggingface.co/meituan-longcat/LongCat-Flash-Thinking-2601
  • LongCat-Flash-Thinking-2601 是 LongCat-Flash-Thinking 的升级版
    • 该版本不仅继承了上一版本的领域并行训练方案,在传统推理基准测试中保持了极具竞争力的性能,还通过精心设计的训练流程系统强化了智能体思维能力
      • 该流程融合了环境扩展、后续任务合成,以及可靠高效的大规模多环境强化学习
    • 为了更好地适应现实世界智能体任务中固有的噪声和不确定性,作者对多种类型和级别的环境噪声进行了系统分析和课程式训练,使模型在非理想条件下仍能实现稳定性能
    • LongCat-Flash-Thinking-2601 不仅在智能体工具使用、智能体搜索和工具集成推理等基准测试中取得了顶尖成绩,还在任意分布外的现实世界智能体场景中显著提升了泛化能力
    • 作者还设计了专门的评估协议,用于考核模型的稳健性和泛化能力
    • 此外,LongCat-Flash-Thinking-2601 引入了 “深度思考模式”(Heavy Thinking Mode) ,通过密集并行思考进一步提升模型在极富挑战性任务上的表现

Environment Scaling and Multi-Environment Reinforcement Learning

  • 作者构建了多样化的高质量环境集合,作为强化学习的训练场景,使模型能够习得高级、可泛化的智能体技能
  • 每个环境包含 60 余种工具,这些工具以密集依赖图的形式组织,为多样化任务构建和大规模探索提供了充足的复杂性
  • 随着训练环境数量的增加,作者观察到模型在分布外评估中的性能持续提升,这表明其泛化能力得到了强化
  • 高质量任务构建(High Quality Task Construction):为确保训练任务集的质量,作者明确控制了任务的复杂性和多样性
    • 每个任务基于从高质量环境中采样的连通子图定义,通过要求在采样子图内协调使用尽可能多的工具来控制任务复杂性
    • 同时,逐步降低已选工具的采样概率,以提升任务多样性
    • 作者构建了相应的数据库以确保任务的可执行性,每个任务均经过验证,至少存在一种可执行解决方案
    • 然而,当环境包含大量工具时,维持数据库间的一致性会面临挑战,可能导致不可验证的任务,为此作者设计了专门的策略来解决这一问题
  • 多环境强化学习(Multi-Environment Reinforcement Learning):在保留高效异步训练和流式推演特性的基础上,作者进一步扩展了强化学习基础设施(DORA),以支持环境扩展方案所需的大规模多环境智能体训练
    • 每个训练批次中,来自多个环境的任务会以平衡的方式联合组织,并根据任务复杂性和当前训练状态分配不同的 Rollout Budget

Robust Training against Noisy Environment

  • 由于现实世界的智能体环境本质上存在噪声且并不完美,仅在理想化环境中训练模型是不够的,往往会导致模型稳健性有限
  • 为解决这一问题,作者将环境缺陷明确纳入模型训练过程,以增强其稳健性
  • 具体而言,作者系统分析了智能体场景中现实世界噪声的主要来源,然后设计了自动流程将此类噪声注入训练环境
  • 在强化学习过程中,作者采用课程式训练策略,随着训练推进逐步增加噪声的类型和强度
  • 得益于这种稳健训练,LongCat-Flash-Thinking-2601 具备了强大的环境不确定性适应能力,在非理想条件下始终能实现性能提升

Heavy Thinking Mode

  • 为突破当前推理能力的边界,作者推出了“深度思考模式”
  • 具体而言,作者将复杂问题求解分解为两个互补阶段:并行思考和总结归纳
    • 从而同时提升推理的深度和广度
  • 在推理广度扩展方面,深度思考模式下会以并行方式独立生成多条推理轨迹,实现推理路径的广泛探索,并通过设置合理的高推理温度确保路径多样性
    • 在推理深度扩展方面,总结阶段的优化轨迹可递归反馈至总结模型,形成迭代推理循环,支持逐步深化的推理过程
    • 作者还专门设计了额外的强化学习阶段来训练总结能力,进一步释放该模式的潜力
      Benchmark DeepSeek-V3.2-Thinking Kimi-K2-Thinking Qwen3-235B-A22B-Thinking-2507 GLM-4.7-Thinking Claude-Opus-4.5-Thinking Gemini-3-Pro GPT-5.2-Thinking-xhigh LongCat-Flash-Thinking-2601
      Architecture MoE MoE MoE MoE - - - MoE
      # Total Params 671B 1T 235B 355B - - - 560B
      # Activated Params 37B 32B 22B 32B - - - 27B
      Mathematical Reasoning w/ Tools
      AIME-25 (Avg@16) 93.5* 99.1† 92.6* 95.3* 100.0 99.8 100.0 99.6 / 100.0 ‡
      HMMT-25 (Avg@16) 93.5* 95.1† 83.9* 98.1* 98.6 99.8 99.6 93.4 / 97.5‡
      IMO-AnswerBench (Avg@4) 77.7* 78.7* 73.0* 84.0* 82.8 86.7 - 78.6 / 86.8‡
      AMO-Bench EN (Avg@16) 51.9* 56.0* 47.8* 62.4* 66.0 72.5 - 61.6 / 66.0 ‡
      AMO-Bench CH (Avg@16) 52.0* 51.8* 28.8* 35.1* 67.7 74.9 - 56.8 / 67.5 ‡
      Agentic Search
      BrowseComp (Pass@1) 51.4 / 67.6† - / 60.2† - 52.0 / 67.5† - - 65.8 / - 56.6 / 73.1
      BrowseComp-zh (Pass@1) 65.0 / - - / 62.3† - 66.6 / - - - - 69.0 / 77.7
      RW Search (Pass@1) 74.0 63.0 20.5 69.0 75.5 74.5 82.0 79.5
      Agentic Tool Using
      τ²-Retail (Avg@4) 81.8† - 71.9† - 88.9† - 82.0† 88.6
      τ²-Airline (Avg@4) 63.8† - 58.6† - - - - 76.5
      τ²-Telecom (Avg@4) 96.2† - 47.3 - 98.2† - 98.7† 99.3
      τ²-Avg (Avg@4) 80.6 74.3† 59.3 87.4† 82.4 90.7† 80.6 88.2
      τ²-Noise (Avg@4) 64.1 63.1 44.3 66.0 59.4 57.3 65.0 67.1
      VitaBench (Avg@4) 24.0 12.8 14.5 18.3 28.5 31.5 24.3 29.3
      VitaBench-Noise (Avg@4) 14.0 9.2 6.5 10.8 20.3 20.8 19.0 20.5
      Random Complex Tasks (Avg@4) 32.5 29.7 32.7 25.3 32.6 32.5 17.2 35.8
      General QA
      HLE text-only (w/o tools) 24.1 24.4 17.8 26.9 32.0 40.3 34.5† 25.2
      GPQA-Diamond (Avg@16) 86.9 85.4 80.5 84.9 86.9 91.9 92.9 80.5 / 85.2‡
      Coding
      LCB (24.08–25.05) (Avg@4) 82.4 75.1 76.2 84.8 82.8 88.1 - 82.8
      OJBench (Pass@1) 41.8 42.3 35.6 44.6 46.7 61.2 - 42.2
      OIBench EN (Pass@1) 43.3 39.0 36.8 30.8 50.0 58.2 - 47.7
      SWE-bench Verified (Avg@5) 73.1 71.3 - 73.8 80.9 76.2 80.0 70.0
    • Note
      • Values marked with † are sourced from other public reports.
      • ‡ indicates the score obtained using our Heavy Thinking mode.
      • * indicates that the result with tools is unavailable, and thus the corresponding result without tools is reported instead.
      • For BrowseComp-zh, due to a high error rate in the original annotations, we manually revised the answers for 24 cases.
      • For the τ²-Airline domain, we adopt the fixes to the environment as proposed in the Claude Opus 4.5 release report.
      • For BrowseComp, performance is reported both without and with the context management technique.
      • The Noise benchmarks are constructed by injecting environmental noise into existing benchmarks to better approximate real-world agentic environments, and are used to evaluate the model’s robustness.
      • Random Complex Tasks refers to randomly constructed environments, and are used to evaluate the model’s generalization capability, which we detail below.

Evaluation in Random Complex Tasks

  • 作者提出了一种评估智能体模型泛化能力的新方法
  • 具体而言,作者构建了一个自动合成流程,用户可通过输入一组关键词,为任意场景随机生成复杂任务
  • 每个生成的任务都配备了相应的工具集和可执行环境
  • 由于这些环境中的工具具有高度随机性,作者通过评估模型在这类环境中的表现来衡量其泛化能力
  • LongCat 在该设置下持续取得优异性能,展现出在智能体场景中强大的泛化能力
  • 作者还提供了视频演示供参考

NLP——技术报告解读-Skywork-OR1

注:本文包含 AI 辅助创作

  • 参考链接:
    • 原始论文:(Skywork-OR1)Skywork Open Reasoner 1 Technical Report, arXiv 20250529, Kunlun Inc Skywork AI
    • GitHub 源码:github.com/SkyworkAI/Skywork-OR1
    • 后训练数据集:huggingface.co/datasets/Skywork/Skywork-OR1-RL-Data
    • 模型权重-7B:huggingface.co/Skywork/Skywork-OR1-7B
    • 模型权重-32B:huggingface.co/Skywork/Skywork-OR1-32B

Paper Summary

  • 整体内容总结及评价:
    • 论文提出了一种适用于长 CoT 模型的高效且可扩展的 RL 实现方案 Skywork-OR1
    • 论文通过全面的消融实验,验证了训练流程中核心组件的有效性:
      • 数据混合与筛选
      • 无优势掩码(advantage masking)的多阶段训练
      • 高温采样(high-temperature sampling)
      • 排除 KL 损失
      • 适应熵控制(adaptive entropy control)
    • 论文还探讨了不同的训练资源分配方式对训练效率和最终模型性能的影响
    • 个人评价:
      • 非常详细的报告,非常扎实的工作,有许多新的认知和详尽的消融实验,值得多读几遍
      • 基于开源模型而不是自己的模型进行 RL 后训练微调
      • 仅关注了数学和代码指标涨幅,未关注其他指标降幅
  • 基于 DeepSeek-R1-Distill 模型系列 ,论文的 RL 方法实现了显著的性能提升:
    • 对于 32B 模型,在 AIME24、AIME25 和 LiveCodeBench 基准测试中的平均准确率从 57.8% 提升至 72.8%(提升 15.0%);
    • 对于 7B 模型,平均准确率从 43.6% 提升至 57.5%(提升 13.9%)
  • 论文模型性能(注:论文的 7B 模型和 32B 模型分别基于 DeepSeek-R1-Distill-Qwen-7B 和 DeepSeek-R1-Distill-Qwen-32B 进行微调):
    • Skywork-OR1-32B 模型在 AIME24 和 AIME25 基准测试中表现超过 DeepSeek-R1 和 Qwen3-32B,同时在 LiveCodeBench 上实现了相当的结果
    • Skywork-OR1-7B 和 Skywork-OR1-Math-7B 模型在同等规模的模型中展现出具有竞争力的推理能力
  • 论文对训练流程的核心组件进行了全面的消融实验 ,以验证其有效性
  • 论文深入研究了熵坍缩(entropy collapse)现象 ,确定了影响熵动态变化的关键因素,并证明缓解过早熵坍缩对于提升测试性能至关重要
  • 为支持社区研究,论文将模型权重、训练代码和训练数据集完全开源

Introduction and Discussion

  • 近几个月来,基于 RL 的训练后技术在提升 LLM 推理能力方面取得了突破性成功,证明了 RL 在显著提升数学和代码任务性能方面的卓越能力
    • 具有代表性的模型,如 OpenAI-o1 (2024)、DeepSeek-R1 (2025) 和 Kimi-K1.5 (2025)
  • 尽管以往的 RL 方法主要依赖蒙特卡洛树搜索(Monte Carlo Tree Search, MCTS)或过程奖励模型(Process Reward Models, PRM)来改进 SFT 模型的推理能力,但 DeepSeek-R1 的成功明确表明,采用简单基于规则的奖励机制的在线 RL,足以大幅提升基础模型的推理能力
  • 随着模型能力的不断发展, CoT 的长度也在逐步增加
    • 例如,DeepSeek-R1-Distill 模型系列 (2025) 在 AIME24 基准测试中生成的 CoT 序列平均长度超过 10000 个 token
    • 显著超过了早期流行的 SFT 模型,如 Qwen 2.5 模型系列 (2024) 和 Llama 3.1 模型系列 (2024)
  • 尽管在 DeepSeek-R1 取得成功后,已有多项复现研究(如 Logic-RL (2025)、Open-Reasoner-Zero (2025)、DAPO (2025)、VAPO (2025)),但这些研究大多聚焦于将 RL 应用于基础模型,而非已完成 SFT 的长 CoT 模型
    • 因此,目前尚不清楚如何以高效且可扩展的方式,利用 RL 提升长 CoT 模型的推理能力
  • 尽管近期的研究,如 DeepScaleR (2025)、Light-R1 (2025) 和 DeepCoder (2025),在长 CoT 模型的高效 RL 优化方面取得了初步进展
    • 但它们的分析并未系统地分离 RL 训练过程中不同算法组件的作用
  • 在本研究中,论文提出了 Skywork Open Reasoner 1(简称 Skywork-OR1)
    • 是一种适用于长 CoT 模型的高效且可扩展的 RL 方案
  • 论文的实验基于 DeepSeek-R1-Distill 模型系列和经过严格预处理与过滤的开源数据集
  • 如 图1 和 表13 所示,Skywork-OR1 模型系列相对于基础模型实现了显著的性能提升,证明了论文 RL 实现方案的有效性
    • Skywork-OR1-32B 在 AIME24 上得分为 82.2,在 AIME25 上得分为 73.3,在 LiveCodeBench (2024)(2024年8月-2025年2月)上得分为 63.0,在数学领域表现超过 DeepSeek-R1 和 Qwen3-32B
    • Skywork-OR1-7B 在 AIME24 上得分为 70.2,在 AIME25 上得分为 54.6,在 LiveCodeBench 上得分为 47.6,在数学和代码任务中,相对于同等规模的模型展现出具有竞争力的性能
    • 论文之前发布的模型 Skywork-OR1-Math-7B 在同等规模模型中也表现出色,在 AIME24 上得分为 69.8,在 AIME25 上得分为 52.3,在 LiveCodeBench 上得分为 43.6
  • 论文通过详尽的消融实验,验证了训练流程中核心组件的有效性
  • 在 RL 训练中,平衡探索(exploration)与利用(exploitation)至关重要 (2018)
    • 论文对过早熵坍缩(一种与过度利用相关的现象)进行了全面研究,发现缓解过早熵坍缩对于获得更好的测试性能至关重要
  • 通过详尽的消融实验,论文确定了影响熵动态变化的关键因素
  • 为确保完全可复现性并支持 LLM 社区的持续研究,论文发布了所有训练资源,包括源代码、后训练数据集、模型权重-7B 和 模型权重-32B
  • 此外,论文在数据和算法两个维度进行了广泛的消融实验 ,以阐明适用于长 CoT 模型的有效 RL 实现方案
  • 作为论文之前发布的 Notion 博客文章 (2025) 的后续内容,论文在此呈现这份更详细的技术报告,主要研究结果总结如下:

Data Collection

  • 1)为确保训练稳定且有效,纳入来自多种不同来源的问题(数据)至关重要
    • 论文发现,如果缺乏一致的质量评估和过滤流程 ,以往成功的数据集在应用于更大规模模型时会出现多种失效模式(见第6节)
  • 2)对训练数据进行严格的过滤和质量控制 ,可显著加快学习速度
    • 论文基于严格过滤标准构建的数据混合集 ,其性能优于基于较宽松质量阈值构建的基准混合集(见 3.2.1 节)

Training Strategy

  • 1)多阶段训练(Multi-stage Training)在初始阶段显著提升了训练效率,同时在后续阶段保持了可扩展性(见 3.2.2 节)
  • 2)解决第一阶段(Stage I)中截断轨迹(truncated trajectories)引入的噪声训练信号,并不会在大上下文长度(如 32K)下带来更好的扩展性(见 3.2.3 节)
    • 问题:如何理解?
  • 3)高温采样(High-temperature Sampling)在训练初期会导致较低的测试准确率 ,但最终能带来更大的性能提升(见 3.2.4 节)
  • 4)On-policy Training 可缓解熵坍缩 ,并带来更高的测试性能(见第4节)

Loss Function

  • 1)自适应熵控制(Adaptive Entropy Control)能在整个训练过程中,有效将模型熵保持在目标熵的下界以上 ,维持模型的探索能力和较高的学习可塑性 ,使测试性能稳步提升(见 3.2.5 节)
  • 2)在多阶段训练中,KL 惩罚项(KL penalty)会阻碍测试性能的进一步提升。因此,论文在训练流程中移除了 KL 损失(见 3.2.6 节)

Empirical Results of Our Entropy Collapse Study(熵坍缩研究实证结果)

  • 1)熵坍缩速度越快,通常测试性能越差(见 4.2 节)
    • 通过适当的熵控制缓解过早收敛 ,可提升测试结果(见 4.5 节)
  • 2)通过增大批次大小(batch size)和组大小(group size)来提高采样多样性 ,对熵动态变化的影响较小(见 4.3 节);而采用更高的采样温度(sampling temperature),则会对初始熵和学习动态产生显著影响(见 3.2.4 节)
  • 3)Off-policy Training(通过增加 mini-batches 数量或数据复用(data reuse)实现),会加速熵坍缩
    • 而且由于引入了 Off-Policy 数据,与 On-Policy 更新(on-policy updates)相比,通常会导致测试性能下降(见 4.4 节)
  • 4)熵损失对训练数据和系数均高度敏感
    • 通过自适应调整熵损失系数 ,或采用带有适当裁剪比例的 “上限裁剪”技巧(clip-higher trick),可使熵动态变化更缓慢、更稳定 ,从而提升测试性能
    • 然而,(Off-Policy Training)与 On-Policy Training 相比,熵的收敛速度仍然更快(见 4.5 节)

Organization

  • 第2节:介绍了 RL 中几种重要的策略优化方法的基础知识
  • 第3节:详细阐述了论文的训练流程,包括验证核心组件有效性的全面消融实验
  • 第4节:系统研究了熵坍缩现象,证明在 RL 训练中,缓解策略过早收敛对于增强探索能力和获得更好的测试性能至关重要
  • 第5节:讨论了训练资源分配问题
  • 第6节和第7节:分别提供了训练数据准备和基于规则的奖励机制的实现细节
  • 第8节:全面介绍了论文发布的三个模型(Skywork-OR1-Math-7B、Skywork-OR1-7B 和 Skywork-OR1-32B)的训练和评估细节

Preliminaries

  • DeepSeek-R1 的成功证明,策略梯度(Policy Gradient, PG)方法 (2018),尤其是 GRPO (2024),能够有效提升 LLM 的推理能力
  • 一般而言,RL 的目标是找到一个策略 \(\pi\) ,以最大化奖励,即:
    $$\operatorname {max}_{\pi }\left\{\mathcal {J}\left( \pi \right) :=\mathbb {E}_{x\sim \mathcal {D} }\mathbb {E}_{y \sim \pi (\cdot | x)}[r(x, y)]\right\} , \tag{2.1}$$
    • \(x\) 为训练提示(prompt)
    • \(\mathcal{D}\) 为 \(x\) 的采样分布
    • \(y\) 为策略 \(\pi\) 针对输入提示 \(x\) 采样得到的响应
    • \(r\) 表示奖励函数
  • 在实际应用中,为了便于优化,论文在批次(batch)层面估计 \(\mathcal{J}(\pi)\) 的代理目标函数(surrogate objective)
    • 在每个训练步骤 \(k\) ,论文从数据分布 \(\mathcal{D}\) 中采样一批包含 \(N\) 个提示的集合 \(x_1, \dots, x_N\) (记为 \(\mathcal{T}_k\) ),并使用当前策略 \(\pi\) ,在上下文长度 \(T\) 和温度参数 \(\tau\) 的设置下,生成对应的响应 \(y_1, \dots, y_N\)
    • 步骤 \(k\) 处的批次层面代理目标函数可表示为:
      $$\operatorname* {max}_{\pi },\left\{\mathcal{J}_{k}\left(\pi\right):=\mathbb{E}_{x_{i} \sim \mathcal{T}_{k} } \mathbb{E}_{y_{i} \sim \pi\left(\cdot | x_{i}\right)}\left[r\left(x_{i}, y_{i}\right)\right]\right\}, \quad \tag{2.2}$$
      • \(\pi_k\) 是参数为 \(\theta_k\) 的策略 \(\pi_{\theta_k}\) 的简写

Vanilla Policy Gradient

  • 对于参数化策略 \(\pi_\theta\) ,基础 PG (1999) 采用梯度上升法求解最优参数 \(\theta^*\) ,即:
    $$\theta \leftarrow \theta+\nabla_{\theta} \mathcal{J}\left(\pi_{\theta}\right)$$
  • 在每次迭代 \(k\) 中,基础 PG 的一阶有效代理策略损失可表示为:
    $$\mathcal{L}_{k}^{PG}(\theta)=-\mathbb{E}_{x_{i} \sim \mathcal{T}_{k} } \mathbb{E}_{y_{i} \sim \pi_{k}\left(\cdot | x_{i}\right)}\left[\sum_{t=0}^{\left|y_{i}\right|-1} \frac{\pi_{\theta}\left(a_{i}^{t} | s_{i}^{t}\right)}{\pi_{k}\left(a_{i}^{t} | s_{i}^{t}\right)} \cdot A^{\pi_{k} }\left(s_{i}^{t}, a_{i}^{t}\right)\right],$$
    • 响应 \(y_i=(a_i^0, \dots, a_i^{|y|-1})\) 由 \(|y|\) 个 token 组成
    • \(a_i^t\) 是序列 \(y_i\) 中的第 \(t\) 个 token
    • \(s_i^t:=(x_i, a_i^0, \dots, a_i^{t-1})\) 是生成 \(a_i^t\) 时的前缀上下文
  • 优势函数 \(A^{\pi_k}\) 定义为:
    $$A^{\pi_{k} }\left( s^{t},a^{t}\right) :=\mathbb {E}_{y\sim \pi_{k}\left( \cdot | x\right) }\left[ r\left( x,y\right) \mid s^{t},a^{t}\right] -\mathbb {E}_{y\sim \pi_{k}\left( \cdot | x\right) }\left[ r\left( x,y\right) \mid s^{t}\right] .$$
  • 容易证明 \(\nabla_{\theta} \mathcal{L}_{k}^{PG}(\theta_{k})=-\nabla_{\theta} \mathcal{J}_{k}(\pi_{k})\)

Proximal Policy Optimization, PPO

  • 在每个训练步骤 \(k\) ,PPO (2017) 采用裁剪技巧(clip trick),将新策略限制在 \(\pi_k\) 的信任域(trust region)内,并对策略损失 \(\mathcal{L}_k\) 执行多次梯度下降
  • PPO 中使用的策略损失表示为:
    $$\mathcal {L}_{k}^{PPO}(\theta )=-\mathbb {E}_{x_{i}\sim \mathcal {T}_{k} }\mathbb {E}_{y_{i}\sim \pi_{k}\left( \cdot | x_{i}\right) }\left[ \sum_{t=0}^{\left| y_{i}\right| -1}\operatorname* {min}\left( \rho_{i}^{t}(\theta )A^{\pi_{k} }\left( s_{i}^{t},a_{i}^{t}\right) , clip\left( \rho_{i}^{t}(\theta ),1-\varepsilon ,1+\varepsilon \right) \cdot A^{\pi_{k} }\left( s_{i}^{t},a_{i}^{t}\right) \right) \right] ,$$
    • \(\rho_i^t(\theta):=\frac{\pi_\theta(a_i^t \mid s_i^t)}{\pi_k(a_i^t \mid s_i^t)}\) , \(\varepsilon\) 为裁剪超参数
    • 在实际应用中,PPO 通常使用广义优势估计(Generalized Advantage Estimation, GAE)(2015) 来估计 Token-level 优势 \(A^{\pi_k}(s_i^t, a_i^t)\)

Group Relative Policy Optimization, GRPO

  • 假设针对每个提示 \(x_i\) ,采样 \(M\) 个独立同分布的响应 \(y_{i1}, \dots, y_{iM}\)
  • GRPO (2024) 利用组归一化奖励(group-normalized rewards)估计 Token-level 优势,并为每个响应 \(y_{ij}\) 引入额外的长度归一化项 \(\frac{1}{|y_{ij}|}\) 。GRPO 中使用的策略损失表示为:
    $$\begin{aligned} \mathcal{L}_{k}^{GRPO}(\theta) =-\mathbb{E}_{x_{i} \sim \mathcal{T}_{k} } \mathbb{E}_{\left\{y_{i j}\right\}_{j=1}^{M} \sim \pi_{k}(\cdot | x)} {\left[\frac{1}{M} \sum_{j=1}^{M} \frac{1}{\left|y_{i j}\right|} \sum_{t=0}^{\left|y_{i j}\right|-1} \min \left(\rho_{i j}^{t}(\theta) A_{i j}^{t}, \operatorname{clip}\left(\rho_{i j}^{t}(\theta), 1-\varepsilon, 1+\varepsilon\right) A_{i j}^{t}\right)-\beta D_{i j}^{t}(\theta)\right], } \end{aligned}$$
    • \(y_{ij}=(a_{ij}^0, \dots, a_{ij}^{|y_{ij}|-1})\) , \(a_{ij}^t\) 是序列 \(y_{ij}\) 中的第 \(t\) 个 token
    • \(s_{ij}^t:=(x_i, a_{ij}^0, \dots, a_{ij}^{t-1})\)
    • \(\rho_{ij}^t(\theta):=\frac{\pi_\theta(a_{ij}^t \mid s_{ij}^t)}{\pi_k(a_{ij}^t \mid s_{ij}^t)}\)
    • \(\varepsilon\) 为裁剪超参数
    • \(D_{ij}^t\) 是应用于 \(a_{ij}^t\) 的 Token-level k3 损失 (2024),其系数为 \(\beta\) ,用于将策略 \(\pi_\theta\) 限制在参考策略 \(\pi_\text{ref}\) 的信任域内,即:
      $$D_{ij}^{t}\left( \theta \right) :=\frac {\pi_\text{ref}\left( a_{ij}^{t}|s_{ij}^{t}\right) }{\pi_{\theta }\left( a_{ij}^{t}|s_{ij}^{t}\right) }-\log \frac {\pi_\text{ref}\left( a_{ij}^{t}|s_{ij}^{t}\right) }{\pi_{\theta }\left( a_{ij}^{t}|s_{ij}^{t}\right) }-1,$$
  • 对于每个提示-响应对 \((x_i, y_{ij})\) ,基于规则的验证器(rule-based verifier)会给出一个二元奖励 \(r(x_i, y_{ij}) \in \{0,1\}\)
    • Token-level 优势 \(A_{ij}^t\) 估计为:
      $$\forall t: A_{i j}^{t}=\frac{r\left(x_{i}, y_{i j}\right)-\operatorname{mean}\left(r\left(x_{i}, y_{i 1}\right), \ldots, r\left(x_{i}, y_{i M}\right)\right)}{\operatorname{std}\left(r\left(x_{i}, y_{i 1}\right), \ldots, r\left(x_{i}, y_{i M}\right)\right)} . \tag{2.5}$$

MAGIC in Skywork-OR1

  • 论文采用基于改进版 Group Relative Policy Optimization(GRPO)(2024)构建的训练流程,将其命名为 GRPO 多阶段自适应熵调度收敛框架(Multi-stage Adaptive entropy scheduling for GRPO In Convergence, MAGIC)
  • 在以下章节中,论文首先介绍 MAGIC 框架的技术方案,然后分析其各组成部分的有效性

Multi-stage Adaptive entropy scheduling for GRPO In Convergence, MAGIC

  • 下文将从数据收集(Data Collection)、训练策略(Training Strategy) 和损失函数(Loss Function) 三个维度,通过详细阐述各组成部分来呈现 MAGIC 框架
Data Collection
  • 为确保后续训练中查询数据的质量,论文通过 第6节 所述的严格数据准备流程构建初始数据集,并采用 第7节 所述的更精准验证器来提供奖励信号
  • 此外,论文还采用以下策略进一步提升样本效率:
    • 1)离线与在线过滤(Offline and Online Filtering) :
      • 论文在训练前和训练过程中均进行数据过滤
        • 训练前,移除基础模型正确率为1(完全正确)或0(完全错误)的提示词(prompt);
        • 训练期间,在每个阶段开始时,同样剔除在上一阶段中智能体模型(actor model)正确率达到1的训练提示词
      • 这种动态在线过滤机制可确保智能体模型在每个阶段都能持续在具有挑战性的问题上进行训练
    • 2)拒绝采样(Rejection Sampling) :
      • 零优势组(定义见公式(2.5))中的响应不会对策略损失产生贡献,但可能会影响 KL 损失或熵损失,且由于这些损失的隐含相对权重增加,可能导致训练过程更不稳定
      • 为缓解该问题,论文的训练批次仅包含非零优势组;具体而言,若提示词 \(x_i\) 对应的样本满足 \(i \notin \tilde{\mathcal{T} }_k\) ,则将其过滤,其中:
        $$
        \overline{\mathcal{T} }_k := \left\{ i \in [N] : \exists j \in [M] \quad \hat{A}_{ij} \neq 0 \right\}
        $$
Training Strategy
  • 论文对基础 GRPO 的训练策略进行了如下优化:
  • 1)多阶段训练(Multi-Stage Training) :受 DeepScaleR(2025)启发,论文逐步增加上下文长度 \(T\) ,并将训练过程划分为多个阶段
    • 实验表明,多阶段训练能在显著降低计算成本的同时保持扩展性,相关证据见3.2.2节
  • 2)截断响应的优势掩码(Advantage Mask for Truncated Responses) :在多阶段训练的早期阶段,许多响应会被截断,而这类截断响应无法推导结果,若对其分配负优势可能引入偏差,从而导致训练信号存在噪声
    • 为缓解该问题,论文初期尝试在训练早期使用优势掩码策略
    • 但如3.2.3节所示,对截断响应进行惩罚并不会阻碍后续阶段的性能提升 ,且能提高 token 效率
      • 基于此结果,论文在最终训练流程中未采用任何优势掩码策略
    • 问题:如何理解这种现象?
  • 3)高温采样(High-Temperature Sampling) :论文将 rollout 温度设置为 \(\tau=1\) ,以增强模型的探索能力并提升学习可塑性
    • 这一决策的依据是:当使用较小的采样温度(如 \(\tau=0.6\) )时,采样策略在数学数据上会立即进入低熵状态 ,在代码数据上也会快速过渡到低熵状态(详见3.2.4节)
  • 4)On-Policy Training :论文对 Skywork-OR1-7B 和 Skywork-OR1-32B 采用 On-Policy Training
    • 因为实验发现 On-Policy 更新能显著减缓熵坍缩(entropy collapse),并带来更高的测试性能(详见第4节关于熵坍缩的详细研究)
    • 相比之下,Skywork-OR1-Math-7B (注:这个是发布更早一些的版本)的训练中,每个训练步骤执行两次梯度下降(因此并非严格的 On-Policy Training )
      • 在论文对 Off-Policy 更新与过早熵坍缩之间关系的完整理解前,就已经使用了这种方法,但通过自适应熵控制(3.2.5节)仍有效缓解了熵坍缩问题,使模型实现了优异性能
Loss Function
  • 为缓解隐含的长度偏差,论文采用 Token-level 策略损失,移除每个响应的长度归一化项 \(1/|y_{ij}|\) ,策略损失在训练批次的所有 token 上取平均值,公式如下:
    $$
    \mathcal{L}^{\text{MAGIC} }(\theta) = -\frac{1}{T_k} \sum_{i \in \mathcal{T}_k} \sum_{j=1}^M \left\{ \sum_{t=0}^{|y_{ij}|-1} \min\left\{ \rho_{ij}^t(\theta) A_{ij}^t, \text{clip}\left( \rho_{ij}^t(\theta), 1-\varepsilon, 1+\varepsilon \right) A_{ij}^t \right\} + \alpha_k \mathbb{H}_{ij}^t(\theta) \right\}, \quad \tag{3.1}
    $$
    • \(y_{ij} := (a_{ij}^0, \dots, a_{ij}^{|y_{ij}|-1})\)
    • \(a_{ij}^t\) 是序列 \(y_{ij}\) 中的第 \(t\) 个 token
    • \(s_{ij}^t := (x_i, a_{ij}^0, \dots, a_{ij}^{t-1})\) 是生成 \(a_{ij}^t\) 时的前缀上下文
    • \(\rho_{ij}^t(\theta) := \frac{\pi_{\theta}(a_{ij}^t | s_{ij}^t)}{\pi_k(a_{ij}^t | s_{ij}^t)}\)
    • \(\mathbb{H}_{ij}^t(\theta) := H(\pi_{\theta}(\cdot | s_{ij}^t))\) 是token \(a_{ij}^t\) 生成策略的熵
    • \(\alpha_k \geq 0\) 是熵的系数
    • \(T_k := \sum_{i \in \overline{\mathcal{T} }_k} \sum_{j=1}^M |y_{ij}|\) 是训练批次中token的总数
  • 同时,论文还在损失函数中引入以下特性:
    • 1)自适应熵控制(Adaptive Entropy Control) :为保留模型的探索能力并维持较高的学习可塑性,通常会引入额外的熵损失以防止熵坍缩
      • 权重合适的熵损失能提升模型的泛化能力,但实验表明,提前选择合适的系数往往具有挑战性(因为熵损失对系数和训练数据均高度敏感)
      • 为解决这一问题,论文引入额外超参数 target entropy,目标熵 \(\text{tgt-ent}\)
        • 该超参数会根据当前熵与目标熵的差值动态调整系数 \(\alpha_k\) ,确保当前熵始终以 \(\text{tgt-ent}\) 为下界(详见3.2.5节)
    • 2)无 KL 损失(No KL Loss) :论文发现,包含 KL 损失项会阻碍性能提升,尤其在多阶段训练的后期阶段
      • 因此,论文在训练方案中剔除了 KL 损失(详见3.2.6节)

Effectiveness of MAGIC Components

  • 本节将通过大量实验,分析 MAGIC 框架的各组成部分对后续强化学习训练性能提升的影响
Data Mixture
  • 在正式训练方案中,论文从 NuminaMath-1.5(2024)中筛选出额外的高难度问题,构建最终的数据混合集
  • 为验证这一设计选择的有效性,论文开展了以下消融实验:
    • 主要对比 DeepScaleR(2025)的数据混合集(因为基于该数据集训练的现有模型已展现出优异性能)
  • 消融实验1:现有数据混合集 vs 论文的数据混合集(Ablation Experiments 1: Existing Mixture vs. Our Data Mixture)
    • 1)DeepScaleR 混合集(2025):包含往年 AIME、AMC、Omni-MATH(2024)和 STILL(2025)中的问题
    • 2)Skywork-OR1 混合集:论文在第6节描述的自定义混合集,整合了更多来源(如 NuminaMath-1.5)的问题,并通过难度筛选和质量控制进行选择
  • 为排除数据量的影响,两个实验采用相同的超参数和近似相同的训练步数,结果如图4所示
    • 图4左侧:论文的数据混合集与 DeepScaleR 数据混合集的对比(实验基于32B模型的早期版本,仅使用数学数据);
    • 图4右侧:官方数据混合集(默认)与“默认+额外数据”混合集在 AIME24 上的性能对比(额外数据通过较低验证标准筛选得到,即其标准答案可能存在误差)
      • 尽管额外数据质量较低 ,但与干净的默认混合集相比 ,仅观察到学习进度变慢(注:最终性能差不多)
  • 尽管 DeepScaleR 数据集在较小模型变体上表现良好,且论文观察到其在 AIME24 上初期有轻微性能提升,但在 300 个训练步骤后性能急剧下降,最终回到训练前的准确率水平
  • 此外,在图4(b)中,论文测试了将 官方数据混合集 与 通过较宽松验证流程获得的额外子集 相结合的效果(该额外子集包含 NuminaMath-1.5 中的高难度问题)
    • 但由于提取答案与提供的解决方案可能不匹配,这些问题此前已被排除
    • 实验发现,在 900 个训练步骤内,两个混合集的性能差异可忽略不计;
    • 包含额外子集的版本早期学习进度略慢,这可能是由于标准答案存在噪声所致
    • 论文推测 ,强化学习训练对少量标准答案噪声具有鲁棒性 ,这与(2025)的研究结果一致
  • 因此,在后续所有探索性实验中,论文均采用第6节描述的默认数据组合
Multi-Stage Training
  • 采用强化学习优化长 CoT 模型的主要挑战之一,是处理过长的输出(这会导致收敛缓慢且训练方差大)
  • 受 DeepScaleR(2025)启发,论文在所有已发布模型中引入多阶段训练以提升训练效率:
    • 具体而言,在训练初期使用较短的上下文长度 \(T\) ,待模型性能收敛后,在后续阶段增大 \(T\)
    • 该方法不仅显著提升了基准测试的性能,还提高了训练效率
Same Improvement, Higher Efficiency
  • 为验证多阶段训练的有效性,论文基于 DeepSeek-R1-Distill-Qwen-7B 开展了两项实验,仅在 \(T\) 的调度方式上存在差异
  • 消融实验2:从头训练(From-Scratch) vs 多阶段训练(Multi-Stage)
    1)从头训练:从步骤0开始设置 \(T=16\text{K}\) ,并在训练过程中保持固定
    2)多阶段训练:从步骤0开始设置 \(T=8\text{K}\) ;在后续步骤(如步骤540)切换到第二阶段(Stage II),并将 \(T\) 增大至16K
  • 两项实验的其他超参数保持一致,具体见表1,结果如图5(a)和图5(b)所示
    • 图5(a):消融实验2中,AIME24 准确率、生成响应长度和累计训练时长随训练步数的变化
      • 如图所示,当训练步数足够大时,两项实验的 AIME24 准确率均收敛至约 60
      • 但在多阶段实验中
        • 第一阶段的上下文长度(8K)仅为从头训练实验(16K)的一半,因此多阶段实验在第一阶段和第二阶段初期的平均响应长度显著更短,推理和计算成本降低,训练效率更高(1000 个训练步骤可节省约 100 小时训练时间)
        • 切换到第二阶段后,响应长度和 AIME24 准确率立即开始上升,在第二阶段约 500 个训练步骤内,多阶段实验的准确率达到与从头训练实验相当的水平
    • 图5(b)的解读见下文:
Improving Token Efficiency While Preserving Scaling Potential
  • 在强化学习训练中,截断响应因缺少最终答案而被标记为负样本
  • 多阶段训练的一个潜在问题(注:但论文最终证明并不是)是:使用较短的上下文窗口可能会使模型倾向于生成较短的响应,从而限制其探索能力并降低解决复杂问题的能力
  • 但论文的研究表明,多阶段训练不仅能在初期提升 token 效率,还能保留模型的扩展能力
  • 在图5(b)中可以观察到
    • 第一阶段使用 8K 上下文长度训练时,模型在 32K 上下文长度下的 AIME24 准确率仍与从头训练相当,同时 token 效率显著提升(平均响应长度从约 12.5K token 减少至 5.4K token)
      • 问题:对比的是 DeepSeek-R1-Distill-Qwen-7B(这不算是论文所谓的从头训练的模型吧?数据都对不齐了)
    • 在第二和第三阶段,Skywork-OR1-Math-7B 在响应长度稳步增加的同时,性能也同步提升
  • 表1:基于 DeepSeek-R1-Distill-Qwen-7B 的消融实验1中的共享超参数
  • 图6:Skywork-OR1-Math-7B 在第一阶段强化学习训练中的训练准确率和截断比例(clip ratio)。accuracy:训练批次的平均准确率奖励;accuracy_nontruncated:非截断样本的平均准确率;clip_ratio:截断响应的比例
Advantage Mask for Truncated Responses
  • 在实际训练中,响应会在固定上下文长度 \(T\) 内采样生成
  • 当响应长度超过 \(T\) 时,无法推导结果,准确率奖励被设为0,导致这些截断响应获得负优势,可能引入偏差
  • 为缓解该问题,论文研究了多种优势掩码策略以降低截断响应的影响,但结果表明:
    • 对截断样本分配负优势不仅能提升 token 效率,还能保留模型在后续阶段的扩展能力
      • 注:这有点反直觉,跟之前的一些文章的结论不同,需要自己验一下才能确定
    • 因此,论文在最终训练流程中未应用任何掩码策略
Two Optimization Directions in Short Context Length(两个优化方向)
  • 在 Skywork-OR1-Math-7B 的第一阶段训练中,论文设置上下文长度 \(T=8\text{K}\) ,在初始步骤中约 40% 的响应会被截断
  • 尽管强化学习训练期间整体训练准确率持续上升,但论文观察到:
    • 非截断样本的准确率在最初 100 个训练步骤内急剧下降,之后才呈现轻微上升趋势(详见图6)
    • 截断响应通常会获得0准确率奖励(即使完整生成后答案可能正确),但由于截断导致缺少最终答案,因此无法获得正奖励
    • 因此,减少截断响应的数量有助于提升可达准确率
    • 图6显示:
      • 训练初期(步骤 0-100)准确率的上升主要源于截断比例(clip ratio)的急剧下降;
      • 步骤 100 后,算法开始提升非截断响应的准确率
A Brief Explanation from a Theoretical Perspective
  • 论文用数学语言对上述现象进行形式化阐释。回顾公式(2.1)中强化学习训练的目标:
    $$
    \pi^* \in \arg\max_{\pi} \left\{ \mathcal{J}(\pi) := \mathbb{E}_{x \sim \mathcal{D} } \mathbb{E}_{y \sim \pi(\cdot | x)} [r(x, y)] \right\},
    $$
    • \(x\) 为提示词, \(\mathcal{D}\) 为提示词的分布
    • \(y\) 为从智能体(actor)中采样的响应
    • \(r(x, y) \in \{0, 1\}\) 为二元准确率奖励
  • 需注意,响应 \(y\) 是在上下文长度 \(T\) 下采样生成的;对于长度大于 \(T\) 的截断响应(即 \(|y| > T\) ),由于无法从响应中推导结果,其准确率奖励 \(r(x, y)=0\)
  • 基于这一观察,可推导出目标函数 \(\mathcal{J}(\pi)\) 满足:
    $$
    \begin{aligned}
    \mathcal{J}(\pi) &= \mathbb{E}_{x \sim \mathcal{D} } \mathbb{E}_{y \sim \pi(\cdot | x)} [r(x, y)] \\
    &= \mathbb{E}_{x \sim \mathcal{D} } \mathbb{E}_{y \sim \pi(\cdot | x)} [r(x, y) \mathbb{I}\{|y| \leq T\}] \\
    &= \mathbb{E}_{x \sim \mathcal{D} } \left[ p_{\text{non-trunc} }^{\pi}(x) \mathbb{E}_{y \sim \pi(\cdot | x)} \left[ \frac{\mathbb{I}\{|y| \leq T\} }{p_{\text{non-trunc} }^{\pi}(x)} r(x, y) \right] \right] \\
    &= \mathbb{E}_{x \sim \mathcal{D} } \left[ p_{\text{non-trunc} }^{\pi}(x) \mathbb{E}_{y \sim \hat{\pi}_T(\cdot | x)} [r(x, y)] \right] \\
    &= \mathbb{E}_{x \sim \mathcal{D} } \left[ p_{\text{non-trunc} }^{\pi}(x) \overline{r}_{\text{non-trunc} }^{\pi}(x) \right],
    \end{aligned}
    $$
    • \(p_{\text{non-trunc} }^{\pi}(x) := \mathbb{P}_{y \sim \pi(\cdot | x)} (|y| \leq T)\) 是响应 \(y\) 未被上下文长度 \(T\) 截断的概率(为简化分析,假设 \(p_{\text{non-trunc} }^{\pi}(x) > 0\) )
    • \(\overline{r}_{\text{non-trunc} }^{\pi}(x) := \mathbb{E}_{y \sim \hat{\pi}_T(\cdot | x)} [r(x, y)]\) 是策略 \(\pi\) 输出的非截断响应的准确率
      • 问题:这里不完全准确吧,毕竟策略分布 \(\hat{\pi}_T(y | x)\) 是个复合表达式
    • \(\hat{\pi}_T(y | x) := \frac{\pi(y | x)}{p_{\text{non-trunc} }^{\pi}(x)} \mathbb{I}\{|y| \leq T\}\)
  • 这表明,训练分布上的准确率(即 \(\mathcal{J}(\pi)\) )可通过以下两种方式提升:
    • 提高 \(p_{\text{non-trunc} }^{\pi}(x)\) :减少错误获得0准确率奖励的响应数量
    • 提高 \(\overline{r}_{\text{non-trunc} }^{\pi}(x)\) :提升上下文长度内的响应质量
Advantage Mask for Truncated Responses
  • 为促使算法专注于优化上下文长度内的准确率(即提高 \(\overline{r}_{\text{non-trunc} }^{\pi}(x)\) )
    • 而非仅通过缩短响应来避免错误获得 0 准确率奖励(即提高 \(p_{\text{non-trunc} }^{\pi}(x)\) )
  • 论文探索了多种优势掩码策略,以减轻截断样本带来的噪声训练信号的影响
  • 论文在第一阶段基于 DeepSeek-R1-Distill-Qwen-7B 开展消融实验,评估不同优势掩码策略的效果
  • 消融实验3:不同优势掩码策略(Ablation Experiments 3: Different Advantage Mask Strategies)
    • 1)无优势掩码(No-Adv-Mask):不采用任何优势掩码策略
    • 2)前置优势掩码(Adv-Mask-Before):截断响应不参与非截断响应的组优势计算,且截断响应的优势设为0(因此不贡献于策略损失):
      $$
      \forall t: A_{ij}^t =
      \begin{cases}
      \frac{r(x_i, y_{ij}) - \text{mean}(\hat{\mathbb{R} }_i)}{\text{std}(\hat{\mathbb{R} }_i)} & |y| \leq T \\
      0 & |y| > T
      \end{cases}
      $$
      • 其中, \(\hat{\mathbb{R} }_i\) 是提示词 \(x_i\) 的非截断响应的准确率奖励组
    • 3) 后置优势掩码(Adv-Mask-After):截断响应仍参与非截断响应的组优势计算,但截断响应的优势设为0(因此不贡献于策略损失):
      $$
      \forall t: A_{ij}^t =
      \begin{cases}
      \frac{r(x_i, y_{ij}) - \text{mean}(\mathbb{R}_i)}{\text{std}(\mathbb{R}_i)} & |y| \leq T \\
      0 & |y| > T
      \end{cases}
      $$
      • 其中, \(\mathbb{R}_i\) 是提示词 \(x_i\) 的所有响应的准确率奖励组
      • 问题:除了优势设置为 0 以外,参与计算其他优势的奖励值使用 0 吗?
        • 回答:猜测是的,先按照 0 参与计算,然后计算完,将自己的优势改成 0,所以叫做 After
  • 两项实验的其他超参数保持一致,具体见表2,结果如图7(a)、图7(c)和图8所示(见下文)
  • 表2:基于 DeepSeek-R1-Distill-Qwen-7B 的消融实验2中的共享超参数
  • 图7展示了消融实验2中不同优势掩码策略下的截断比例、整体准确率和非截断响应准确率:
    • 应用优势掩码可缓解响应长度的下降趋势,采用前置优势掩码(Adv-Mask-Before)后,截断比例甚至有所上升
    • 采用前置优势掩码后,训练准确率下降;而采用后置优势掩码(Adv-Mask-After)或无优势掩码时,训练准确率持续上升
    • 采用前置优势掩码后,非截断响应的训练准确率持续上升;而采用后置优势掩码或无优势掩码时,非截断响应的训练准确率在初期步骤急剧下降
Advantage Mask Does Not Exhibit Better Performance Given a Larger Inference Budget(更大推理预算下,优势掩码无性能优势)
  • 尽管消融实验3表明,应用优势掩码能在短上下文长度下优化 \(\overline{r}_{\text{untrunc} }^{\pi}(x)\)
  • 但论文发现:当上下文长度足够大(如 32K)以避免截断时,准确率并未提升
  • 论文对比了不同优势掩码策略训练的模型在 AIME24 上的测试时扩展性能(见图8),结果显示:
    • 第一阶段应用优势掩码 并未改善测试时的扩展性能,32K 上下文长度下的准确率也未发生变化(尽管训练过程中 \(\overline{r}_{\text{non-trunc} }^{\pi}(x)\) 得到了优化)
    • 第一阶段不使用优势掩码 的强化学习训练,不仅能在大上下文长度下保持准确率,还能显著提升 token 效率;
      • 此外,第一阶段学习到的较短响应长度,不会阻碍第二阶段中响应长度和准确率的同步提升
    • 基于这些发现,论文在最终训练方案中未采用任何优势掩码来处理截断样本带来的噪声训练信号
  • 图8:消融实验3中不同优势掩码策略下,AIME24 avg@32 性能与上下文长度的关系
    • 所有策略在 32K 上下文长度下均达到相同准确率;
    • 即使第一阶段引入了截断响应的噪声训练信号,第二阶段训练后准确率仍进一步提升
    • 问题:图8中的 DeepSeek-R1-Distill-Qwen-7B 曲线表示什么?Stage I 和 Stage II 是独立的吗?为什么第一和第二阶段都是从同一个点开始?
High-temperature Sampling
  • GRPO 的组级特性意味着,响应的采样过程直接影响每组响应的质量和多样性,进而影响学习效果
  • 此前研究表明,较高温度通常会因随机性增加导致性能略有下降:
    • 若温度过高,可能会增加采样到仅包含错误响应的组的概率,由于缺少优势信号,训练效率会降低;
    • 较低温度会减少组多样性,导致解决方案高度相似甚至全为正确答案
    • 因此,选择合适的温度对确保组内解决方案具有足够多样性至关重要
  • 论文针对采样温度 \(T\) 开展消融实验,结果如图9所示
  • 消融实验4:不同在线采样温度 \(\tau\) (Ablation Experiments 4: Different Online Sampling Temperatures \(\tau\))
    • 论文在在线强化学习训练中对比了两种不同的采样温度:
    • 1)高温(High Temperature):设置温度超参数 \(\tau=1.0\)
    • 2)低温(Low Temperature):设置温度超参数 \(\tau=0.6\)
  • 两项实验的其他超参数保持一致,具体见表3,结果如图9所示
  • 表3:消融实验4中的共享超参数
  • 实验中,论文发现了一个与熵相关的额外现象:
    • 当使用较低温度(如0.6)时,模型要么初始熵极低,要么在约 100 个步骤内熵快速坍缩至接近零
    • 这种行为会导致初期学习进度缓慢,最终陷入停滞
    • 论文推测,尽管组内包含正确和错误响应,但解决方案多样性不足会使策略更新过度聚焦于 token 的窄子集 ,导致大量概率质量被分配给采样响应中频繁出现的特定 token
      • 理解:应该是没有区分度,所有正确样本都一样,变成模仿学习了?
    • 当论文将 rollout 温度提高到 1.0 时,模型的初始熵上升到更理想的范围;
      • 尽管熵最终仍会收敛,但较高温度显著增强了初期的学习信号,并为后续训练保留了更大潜力(如图9 所示)
  • 图9:消融实验3中,不同 rollout 温度下 AIME25 avg@8 性能和熵随训练步数的变化
    • 使用 0.6 的温度训练时,初始熵最低,学习速度慢于 1.0 的温度
    • 需注意,右图中的熵维持在 0.2 左右,因为已启用自适应熵控制
    • 该实验基于 32B 模型的早期版本,仅使用数学数据;
    • 左图中的两个温度表示训练期间使用的 rollout 温度,为确保公平比较,两个模型的 AIME25 得分均在温度 0.6 下评估
Adaptive Entropy Control
  • 第4节的研究表明,通过熵正则化防止过早熵坍缩有益,但选择合适的熵损失系数具有挑战性
  • 基于此,论文提出 自适应熵控制(Adaptive Entropy Control) 方法(根据目标熵和当前熵动态调整熵损失系数)
  • 具体而言,论文引入两个额外超参数:
    • \(\text{tgt-ent}\) (期望目标熵)
    • \(\Delta\) (熵损失系数的调整步长)
  • 将自适应系数初始化为 \(c_0=0\) ;
  • 在每个训练步骤 \(k\) ,令 \(e\) 表示智能体的当前熵(从 rollout 缓冲区估计):
    • 若 \(e\) 小于 \(\text{tgt-ent}\) ,则将 \(c_k\) 增加 \(\Delta\) (即 \(c_{k+1}=c_k+\Delta\) );
    • 若 \(e\) 大于 \(\text{tgt-ent}\) ,则将 \(c_k\) 减少 \(\Delta\)
    • 为缓解不必要的熵损失导致的不稳定性,仅当 \(e \leq \text{tgt-ent}\) 时才激活熵损失 ,即 \(\alpha_k = c_k \cdot \mathbb{I}\{e \leq \text{tgt-ent}\}\) ,确保当前熵始终以目标熵为下界
      • 问题:\(e \geq \text{tgt-ent}\) 时熵损失不生效,那此时修改 \(c_k\) 有什么必要呢?
  • 通过自适应熵控制,论文能在整个训练过程中将模型的熵维持在合理水平,有效防止过早坍缩
  • 图10展示了 Skywork-OR1-Math-7B 在所有训练阶段的熵轨迹
  • 实验中,论文设置 \(\text{tgt-ent}=0.2\) , \(\Delta=0.005\)
  • 为进一步验证自适应熵控制的有效性,论文在4.5节开展了详细的消融实验
  • 自适应熵控制的系数调整公式如下:
    $$
    \alpha_k = c_k \cdot \mathbb{I}\{e_k \leq \text{tgt-ent}\}, \quad c_{k+1} =
    \begin{cases}
    c_k + \Delta & \text{if } e_k < \text{tgt-ent} \\
    c_k - \Delta & \text{if } e_k > \text{tgt-ent}
    \end{cases}, \quad c_0 = 0
    $$
  • 图10:Skywork-OR1-Math-7B 在所有阶段的生成响应熵(左)和 AIME24 avg@8 性能(右)。论文使用自适应熵控制,设置 \(\text{tgt-ent}=0.2\) , \(\Delta=0.005\) 。在自适应熵控制下,Skywork-OR1-Math-7B 的熵通常以目标熵0.2为下界,且 AIME24 性能稳步提升
No KL Loss
  • 为研究KL损失的影响,论文开展了以下消融实验
  • 消融实验5:有KL损失(KL Loss) vs 无KL损失(No KL Loss)
    • 论文在消融实验中考虑 Token-level k3损失,采用的 KL 正则化策略损失公式为:
      $$
      \mathcal{L}_{\beta}(\theta) = \mathcal{L}(\theta) + \frac{\beta}{T_k} \sum_{i \in \mathcal{T}_k} \sum_{j=1}^M \sum_{t=0}^{|y_{ij}|-1} \left( \frac{\pi_{\text{ref} }(a_{ij}^t | s_{ij}^t)}{\pi_{\theta}(a_{ij}^t | s_{ij}^t)} - \log \frac{\pi_{\text{ref} }(a_{ij}^t | s_{ij}^t)}{\pi_{\theta}(a_{ij}^t | s_{ij}^t)} - 1 \right),
      $$
    • 其中, \(\mathcal{L}(\theta)\) 是公式(3.1)定义的原始策略损失, \(\beta\) 是KL系数
  • 论文首先基于 DeepSeek-R1-Distill-Qwen-7B(参考策略)
    • 在第一阶段以 \(\beta=1e-3\) 开展实验;
    • 然后在第二阶段,基于第一阶段的检查点(checkpoint)开展消融实验,对比 \(\beta=1e-3\) 和 \(\beta=0\) 的效果
  • 其他超参数见表4,结果如图11(a)和图11(b)所示
  • 表4:基于第一阶段检查点的消融实验5中的共享超参数
  • 实验观察到,在第二阶段,KL 损失会强烈将智能体模型的策略拉回参考模型,导致 KL 散度快速下降至接近零(见图11(a))
    • 因此,当智能体的策略与参考模型过于相似后,AIME24 的性能无法显著提升(见图11(b))
    • 基于这一观察,论文在所有已发布模型的训练阶段均设置 \(\beta=0\)
  • 图11:消融实验5的结果;左图:不同 KL 损失系数 \(\beta\) 下,强化学习训练期间智能体模型与参考模型的 KL 散度,在第二阶段设置 \(\beta=1e-3\) 会强烈将智能体模型拉回参考模型;右图:不同 \(\beta\) 下,强化学习训练期间 AIME24 avg@8 性能(温度设为 1)

Empirical Studies on Mitigating Policy Entropy Collapse

  • 探索与利用是 RL 训练中最核心的矛盾之一(2018),在 On-Policy 算法中尤为突出
    • 简而言之,要实现更优性能,就必须进行充分的探索;
    • 但如果智能体的策略过早收敛到某一特定解,该策略可能并非最优,且这种收敛会阻碍对多样化轨迹的探索
  • 策略熵是衡量强化学习算法收敛程度的重要指标:
    • 通常,当模型策略熵收敛到极小值(如接近0)时,策略会趋于稳定,此时模型的生成行为对训练数据的更新不再敏感,导致学习效率下降、输出多样性降低
    • 因此,在实际训练中,为了让模型接触到更有效的训练信号并提升分布外(Out-of-Distribution, OOD)性能,防止过早熵坍缩至关重要
  • 本节将研究策略更新过程中的哪些超参数和组件有助于防止熵坍缩,进而提升分布外泛化能力
  • 图12展示了论文针对缓解策略熵坍缩的实证研究整体框架
  • 最初,论文假设以下两个因素可能会影响模型的熵与收敛行为:
    • 采样多样性(Rollout diversity):
      • 若采样数据中包含更多样化的正确响应 ,可避免模型过拟合到单一正确轨迹
      • 论文将研究采样温度、采样批次大小、组大小等与采样相关的超参数在强化学习训练过程中对模型策略熵的影响
    • 策略更新(Policy update):
      • 论文还将研究策略更新的不同组件对熵的影响,本节重点关注每个训练步骤中随机梯度下降(Stochastic Gradient Descent, SGD)的步数,以及额外熵控制方法(如熵损失)的使用
  • 通过大量消融实验,论文得出以下主要研究结果:

Ablation Setup

  • 第4节中的所有消融实验均基于第3.1节所述的训练流程开展
  • 实验以 DeepSeek-R1-Distill-Qwen-7B 为基础模型, baseline 实验的超参数如表5所示,其中关键符号定义如下:
    • \(D_R\) :采样批次大小(一个训练步骤中用于生成响应的提示词数量)
    • \(D_T\) :mini-batch 大小(每个策略更新步骤中使用的响应对应的提示词数量)
    • \(N_{reuse}\) :采样缓冲区的遍历次数
    • \(gs\) :组大小(为每个提示词生成的响应数量)
    • \(T\) :上下文长度
    • \(\tau\) :采样温度
  • 除非另有说明,本节所有消融实验的默认训练配置均与上述 baseline 实验保持一致
  • 评估数据集采用 AIME24、AIME25 和 LiveCodeBench(2024.08–2025.02)(2024)
  • 消融研究中报告的测试性能为 AIME24/25 上的 avg@8 性能与 LiveCodeBench 上的 pass@1 性能的经验平均值
  • 值得注意的是,baseline 实验使用 32 块 H800 GPU,经过 2700 个训练步骤后,在 AIME24 上达到 69.2% 的 avg@8 性能,在 AIME25 上达到 53.3% 的 avg@8 性能,在 LiveCodeBench 上达到 50.5% 的 pass@1 性能
    • 这些结果与最终发布的 Skywork-OR1-7B 性能接近,为分析影响测试性能和导致熵坍缩的关键因素奠定了坚实基础
  • 表5:第4节消融研究中 baseline 实验的超参数

Premature Entropy Collapse Generally Manifests as Worse Performance:过早熵坍缩通常伴随性能下降

  • 如前所述,强化学习训练过程中的熵动态变化反映了策略的收敛程度:
    • 当智能体收敛到特定策略并进入低熵状态时,学习效率和采样多样性通常都会下降
    • 在初步实验中,论文观察到智能体模型的熵在训练过程中往往会快速下降
  • 为缓解过早熵坍缩,论文引入了熵损失项,假设这能帮助智能体收敛到更优策略
    • 实验结果验证了这一假设:加入熵损失后,测试性能得到提升
  • 图13 展示了两个初步实验中测试基准的准确率曲线和生成响应的熵,这两个实验使用了不同的熵损失系数 \(\alpha_k\) (1e-3和5e-3)
    • 结果表明,使用更大的系数(即5e-3)能更有效地防止熵坍缩,并实现更好的泛化性能
    • 此外,第4.4节的消融实验进一步证实了这一发现:
      • 伴随过早熵坍缩的强化学习训练通常会导致更差的测试性能
  • 这些观察结果促使论文在训练流程中融入熵控制机制,并系统研究超参数及其他强化学习组件对熵动态变化的影响

The Impact of Rollout-Diversity-Related Hyperparameters(采样多样性相关的超参数)

  • 本节研究了采样批次大小 \(D_R\) 、组大小 \(gs\) 和采样温度 \(\tau\) 对熵动态变化的影响
  • 需要注意的是,在采样阶段增大采样批次大小 \(D_R\) 和组大小 \(gs\) 会增加采样预算,通常需要更多计算资源来加速训练
  • 因此,关于 \(D_R\) 和 \(gs\) 的影响,论文将在第5节(聚焦训练时计算资源分配以提升测试性能)中详细讨论,本节仅呈现与策略熵相关的实验结果
  • 具体而言,论文基于第4.1节所述的 baseline 实验,采用不同的采样批次大小( \(D_R=16,32,64\) )和组大小( \(gs=4,8,16\) )开展消融实验,实验结果如图14所示
  • 结果表明,在这些 On-Policy 配置下,熵的动态变化并无显著差异,且所有实验均未出现熵坍缩现象
  • 关于采样温度 \(\tau\)
    • 论文发现选择合适且相对较高的温度时,模型在训练初期的测试准确率较低 ,但最终能实现更显著的性能提升 ,详见第3.2.4节

增加 \(N_\text{SGD}\) 导致的 Off-Policy 更新的影响(The Impact of Off-policy Update by Increasing \(N_\text{SGD}\) )

  • 需要注意的是,MAGIC 中的策略损失(公式3.1)采用 PPO 风格,这使得通过采样批次分解和重用来执行多个 SGD 步骤成为可能(如图15所示)
  • 回顾第4.1节中 \(D_R\) 、 \(D_T\) 和 \(N_{reuse}\) 的定义,一个训练步骤中执行的 SGD 步数 \(N_\text{SGD}\) 满足:
    $$N_\text{SGD}=\frac{D_{R} }{D_{T} } \cdot N_{reuse } \quad \tag{4.1}$$
    • \(D_R\) :采样批次大小(一个训练步骤中用于生成响应的提示词数量)
    • \(D_T\) :mini-batch 大小(每个策略更新步骤中使用的响应对应的提示词数量)
    • \(N_{reuse}\) :采样缓冲区的遍历次数
    • 当 \(D_R=D_T\) 且 \(N_{reuse}=1\) 时,由于 \(N_\text{SGD}=1\) ,策略更新为纯 On-Policy ;
    • 当 \(D_T< D_R\) 或 \(N_{reuse} \geq2\) 时, \(N_\text{SGD} \geq2\) ,此时 Off-Policy 数据会被引入策略更新
    • 本节将研究 \(N_\text{SGD}\) 如何影响熵的动态变化和测试性能提升
More SGD Steps, Faster Convergence with Worse Test Performance
  • SGD 步数越多,收敛越快但测试性能越差
  • 在固定 \(D_R\) 的情况下,论文通过减小 \(D_T\) 或增大 \(N_{reuse}\) ,针对不同 \(N_\text{SGD}\) 值开展了以下消融实验:
  • 消融实验6:不同SGD步数 \(N_\text{SGD}\) 的影响
    • 考虑四元组 \((N_\text{SGD}, D_R, D_T, N_{reuse})\) ,论文从第4.1节所述的 baseline 实验(1,64,64,1)出发,通过调整 \(D_T\) 或 \(N_{reuse}\) 来增大 \(N_\text{SGD}\) ,实验设置如下:
      • 1)\(N_\text{SGD}=1\) :baseline 实验,四元组为(1,64,64,1)
      • 2)\(N_\text{SGD}=2\) :开展两组实验,四元组分别为(2,64,32,1)和(2,64,64,2)
      • 3)\(N_\text{SGD}=4\) :开展两组实验,四元组分别为(4,64,16,1)和(4,64,64,4)
  • 实验结果如图16所示,由图可知
    • \(N_\text{SGD} \in\{2,4\}\) 的实验中,策略收敛速度更快,熵在几个训练步骤内就衰减到极小值,导致模型进入低熵状态后,测试性能无法持续提升
    • 相反,采用(1,64,64,1)配置的 On-Policy 更新能显著缓解这一问题,熵的下降更为平缓,测试性能虽提升较慢但能持续改善
    • 最终,当训练步骤足够多时,(1,64,64,1)配置的 On-Policy 更新能实现更优的测试性能
Off-Policy Data Harms Test Performance
  • Off-Policy 数据损害测试性能
  • 论文进一步研究 Off-Policy 更新中哪些因素更可能导致测试性能下降,发现以下两个因素可能影响每个 SGD 步骤中的梯度方向:
    • (1) Mini-batch 大小 \(D_T\) ;
    • (2) Off-Policy 数据的使用
  • 在 \(N_{reuse} \in\{2,4\}\) 的数据重用实验中,由于 \(D_T\) 保持不变且与 On-Policy 设置一致,因此测试性能下降可归因于通过采样批次重用来引入的 Off-Policy 数据
  • 在涉及更多 Mini-batch 的实验(即 \(D_T \in\{16,32\}\) )中,与 On-Policy 更新相比,性能下降可能源于两方面:
    • 一是 Mini-batch 规模减小导致梯度方差增大
    • 二是 Off-Policy 数据的存在
  • 为进一步明确哪个因素影响更显著,论文开展了以下消融实验:
  • 消融实验7:相同 SGD 数据量 \(D_T\) 下的 On-Policy 与 Off-Policy 对比
    • 考虑四元组 \((N_\text{SGD}, D_R, D_T, N_{reuse})\) :
      • 1)Off-Policy 更新:选取消融实验6中的两组 Off-Policy 实验,四元组分别为(2,64,32,1)和(4,64,16,1),其 \(D_T\) 小于baseline实验(1,64,64,1)
      • 2)On-Policy 更新:基于第4.1节的baseline配置,开展两组 On-Policy 实验,四元组分别为(1,32,32,1)和(1,16,16,1),作为上述 Off-Policy 更新的对比组
  • 实验结果如图17所示,结果表明:
    • 与 baseline 实验相比, \(D_T\) 更小的 On-Policy 更新仍能实现测试性能的稳步提升,且未出现过早熵坍缩;
    • 当训练步骤足够多时, On-Policy 更新的性能优于相同 \(D_T\) 下的 Off-Policy 更新
      • 问题:哪里有相同的 \(D_T\)? 只有相同的 \(D_R\) 吧
    • 基于这些观察,论文推测 Off-Policy 更新中测试性能下降的主要原因是每个 SGD 步骤中引入了 Off-Policy 数据
    • 注:图17还体现了一个重要的结论:Off-policy 会导致熵过早的坍缩(图17左边)
Off-Policy 更新中增大 \(D_R\) 能否防止过早熵坍缩?(Can a Large \(D_R\) in Off-Policy Updates Prevent Premature Entropy Collapse?)
  • 以消融实验6中四元组为(4,64,16,1)的 Off-Policy 实验为例,论文尝试将采样批次大小 \(D_R\) 从 64 增大到 256,同时保持 \(N_\text{SGD}=4\) 不变(即配置变为(4,256,64,1)),期望通过引入更多样化的样本避免模型收敛到单一轨迹
  • 然而,图18的结果显示,即使增大 \(D_R\) ,过早熵坍缩不仅仍会发生,甚至可能更快

Preventing Premature Entropy Collapse:防止过早熵坍缩

  • 如前所述,过早熵坍缩通常与测试性能下降相关,因此合理推测:适当的熵控制可提升测试性能
  • 前文已表明,增大每个训练步骤中执行的 SGD 步数 \(N_\text{SGD}\) 和引入 Off-Policy 数据会加速熵收敛,但在实际场景中(如异步训练框架), Off-Policy 数据的使用往往不可避免
  • 因此,研究 Off-Policy 设置下的熵控制机制也具有重要意义
  • 论文首先考察熵正则化方法(这是一种直接通过添加熵损失项来防止熵坍缩的简单方法)
  • 第4.2节的初步实验表明,选择合适的系数进行熵正则化可缓解熵坍缩并提升测试性能
    • 但后续研究发现,熵正则化的效果对系数选择和训练数据特征高度敏感,难以提前确定最优系数,这促使论文考虑对熵损失系数进行动态调整
    • 此外,论文还将(2025)提出的 clip-higher 技巧作为另一种熵控制方法
  • 下文将详细阐述论文的研究发现
熵损失对系数 \(\alpha_k\) 高度敏感(Entropy Loss Is Sensitive to the Coefficient \(\alpha_k\))
  • 为验证熵损失对 \(\alpha_k\) 选择的敏感性,论文开展了以下消融研究:
  • 消融实验8:不同系数 \(\alpha_k\) 的熵损失
    • 基于 Skywork-OR1-Math-7B-stage1(非第4.1节的 baseline 实验),论文对多种固定系数 \(\alpha_k\) 进行了消融实验,选取的 \(\alpha_k\) 值为 1e-4、5e-4、1e-3、5e-3、1e-2,其他超参数如表6所示,实验结果如图19所示
  • 从图19的结果可得出以下结论:
    • 当 \(\alpha_k=5e-4\) 、1e-3、5e-3、1e-2时,熵最终会急剧上升,导致模型崩溃,且 \(\alpha_k\) 越大,熵上升速度越快
    • 当 \(\alpha_k=1e-4\) 时,熵虽未持续上升,但仍会坍缩,持续趋近于0
  • 表6:基于 Skywork-OR1-Math-7B-stage1 的消融实验8的共享超参数
Entropy Loss Is Sensitive to Training Data: 熵损失对训练数据高度敏感
  • 通过两组初步实验,论文观察到熵损失对训练数据的变化也高度敏感
  • 论文在完全相同的配置下开展了两组实验,均使用 1e-3 的熵损失系数,唯一的区别是所用的训练数据集(两个数据集均属于数学领域)
  • 图20的结果显示,两组实验的熵动态变化存在显著差异:
    • 使用原始数据集时,熵在整个训练过程中稳步下降;
    • 使用新数据集时,熵则呈现持续上升趋势
  • 这一发现凸显了熵损失系数调优的数据集依赖性
Adjusting the Coefficient of Entropy Loss Adaptively
  • 基于熵损失敏感性的研究结果,论文提出了自适应熵控制方法(详见第3.2.5节),该方法可在训练过程中动态调整熵损失系数
  • 如图10所示,在整个强化学习训练过程中,Skywork-OR1-Math-7B 的熵始终以目标熵为下界
  • 为进一步验证自适应熵控制的有效性,论文开展了以下消融实验:
  • 消融实验9:自适应熵控制的有效性(Ablation Experiments 9: Effectiveness of Adaptive Entropy Control)
    • 以消融实验6中四元组为(4,64,16,1)的 Off-Policy 实验为基础(该实验存在快速熵坍缩且测试性能较差,且未使用熵损失),论文在其配置基础上启用自适应熵控制(目标熵设为0.2),实验结果如图21所示
  • 如前文分析,增大每个训练步骤中执行的 SGD 步数 \(N_\text{SGD}\) 会加速策略收敛并导致测试性能下降
  • 从图21可以看出
    • 应用自适应熵控制成功防止了熵坍缩 ,进而实现了更高的测试性能
    • 但需注意的是,尽管系数会自适应调整,但当 \(N_\text{SGD}\) 较大时,熵仍会出现不稳定现象
    • 论文推测,这是因为熵损失是基于整个词汇表计算的,可能会增加许多非预期 tokens 的概率
    • 因此,不建议在 \(N_\text{SGD}\) 较大的场景中使用自适应熵控制
    • 不过,论文发现当 \(N_\text{SGD}=1\) 或 \(N_\text{SGD}=2\) 时,在自适应熵控制下,熵的动态变化仍保持在可接受的稳定范围内
    • 基于这些发现,论文在 Skywork-OR1 系列模型的训练中采用了自适应熵控制方法
The Impact of the Clip-Higher Trick
  • 论文测试了PPO风格策略损失中一种常用的 clip-higher 技巧(2025),该技巧用于在 \(N_\text{SGD}>1\) 时防止熵坍缩,并开展了以下消融实验:
  • 消融实验10:不同高裁剪比例(Higher-clip Ratios)的影响(Ablation Experiments 10: The Impact of Different Higher-clip Ratios)
    • 以消融实验6中四元组为(4,64,16,1)的 Off-Policy 实验为基础(该实验存在快速熵坍缩且测试性能较差,裁剪比例 \(\epsilon=0.2\) ),论文将高裁剪比例从 0.20 提高到 0.25、0.265 和 0.28,同时保持低裁剪比例固定为 0.2,实验结果如图22所示
  • 图22的结果表明
    • 选择合适的高裁剪比例(如0.25 或 0.265)可防止过早熵坍缩,并实现更优的测试性能
    • 但需注意的是,当高裁剪比例设置为 DAPO(2025)中建议的 0.28 时,熵会急剧上升,导致测试性能变差
    • 这表明最优高裁剪比例具有任务依赖性(task-dependent.)
      • 问题:这跟任务依赖有什么关系?
      • 回答:别人没问题,我们有问题,两边任务不同,所以跟任务相关

Empirical Studies on Training Resource Allocation

  • 在 RL 训练过程中,论文的目标是选择能让训练兼具效率与效果的超参数。这一目标引出了两个实际问题:
    • 在计算资源固定的情况下,如何提升训练效率?
    • 若有额外计算资源 ,应如何分配以实现更优的测试性能或更高的训练效率?
  • 本节将结合大量消融实验结果,在长 CoT 场景下解答上述问题
  • 在线强化学习(Online RL)算法的训练过程通常可分为两个不同阶段:
    • 数据生成(rollout)
    • 策略更新(包含前向传播与反向传播)
  • 同步训练框架下的总时间消耗为:
    $$t_{total}=t_{R}+t_{T}+t_{O}$$
    • \(t_R\) 表示数据生成 耗费的时间
    • \(t_T\) 表示策略更新 耗费的时间
    • \(t_O\) 表示其他操作(如奖励计算、经验生成)所耗费的时间
  • 在上下文长度固定的情况下,数据生成时间 \(t_R\) 主要受数据生成批次大小(rollout batch size) \(D_R\) 和分组大小(group size, \(gs\) )影响
  • 如4.4节所述
    • 策略更新时间 \(t_T\) 取决于随机梯度下降(Stochastic Gradient Descent, SGD)步数 \(N_\text{SGD}\)
    • 其中 \(N_\text{SGD}\) 由 Mini-batch数量 \(\frac{D_R}{D_T}\) 和数据复用系数 \(N_{reuse}\) 决定
  • 在以下小节中,论文将探究这些因素对训练效率和最终性能的影响

Improving Training Efficiency with Fixed Computational Resources

  • 本节旨在解答第一个问题:在计算资源固定的情况下,如何提升训练效率?
数据生成时间 \(t_R\) 主导总训练时间 \(t_{total}\) (Rollout Time \(t_R\) Dominates the Total Training Time \(t_{total}\))
  • 对于长思维链模型(如 DeepSeek-R1-Distill 模型系列),一个基本发现是:总训练时间主要由数据生成时间决定
  • 表7展示了 Skywork-OR1-32B 模型在 1000个 训练步骤中 \(t_{total}\) 、 \(t_R\)(生成) 、 \(t_T\)(训练) 和 \(t_O\)(其他) 的具体数值
    • 显然, \(t_R\) 在 \(t_{total}\) 中占比极高
  • 由于长思维链训练中 \(t_{total}\) 的主要瓶颈是 \(t_R\) ,因此合理增加每个训练步骤的随机梯度下降步数(即 \(N_\text{SGD}\) ),对 \(t_{total}\) 的影响极小,同时还能提升训练效率
  • 基于此,论文接下来将探究 Mini-batch 数量( \(\frac{D_R}{D_T}\) )和数据复用次数( \(N_{reuse}\) )对总训练时间 \(t_{total}\) 和测试性能的影响。本研究的整体思路如图23所示
  • 图23:固定计算资源下提升训练效率的实证研究概述。灰色块:提升训练效率的潜在方法及其原理;黄色块:实证研究中的实验变量
随机梯度下降步数越多,训练效率越高但性能越差
  • 在4.4节的消融实验6中,论文已探究过增加 \(N_\text{SGD}\) 对熵动态的影响
  • 考虑配置元组 \((N_\text{SGD}, D_R, D_T, N_{reuse})\) ,表8报告了配置为(1, 64, 64, 1)、(2, 64, 32, 1)和(4, 64, 16, 1)的实验的详细时间使用情况
  • 显然,增加 \(N_\text{SGD}\) 会导致 \(t_T\) 增加,但在 \(D_R\) 固定的情况下,其对总训练时间 \(t_{total}\) 的影响仍较小
  • 因此, \(N_\text{SGD}\in\{2,4\}\) 的配置能在相近训练时间内执行多个随机梯度下降步骤,从而提升训练效率
  • 尽管如此,4.4节的实验结果表明:通过数据生成批次分解或数据复用加速训练,会导致熵更快坍缩且测试性能更差
  • 因此,除非有合适的机制(尤其是针对离策略更新导致的熵坍缩)来缓解熵坍缩问题,否则不建议仅为提升训练效率而增加 \(N_\text{SGD}\) ,因为这可能导致泛化性能下降
    • 表8:消融实验6中三个实验在 1000 个训练步骤的详细时间使用情况。所有实验均使用相同的训练资源(即 32 块 H800 GPU)

Improving Test Performance with More Computational Resources

  • 本节旨在解答第二个问题:若有额外计算资源,应如何分配训练资源以实现更优的测试性能或更高的训练效率?
  • 在训练效率方面,可考虑两种方法
    • 一方面,增加随机梯度下降步数(前文已讨论)看似可行,但实验结果并不支持该方法的有效性(见5.1节)
    • 另一方面,在数据生成预算(即需生成的样本数量)固定的情况下,人们可能期望随着训练资源增加,数据生成时间 \(t_R\) 会显著减少
      • 但实际上,这一期望并未完全实现
  • 表9展示了不同训练资源下生成 1024 个样本的数据生成时间 \(t_R\) :随着训练资源增加, \(t_R\) 的减少幅度逐渐减小
    • 这是因为 \(t_R\) 主要由批次大小和生成最长响应所需的时间决定
    • 一旦资源足够,进一步扩展资源对减少由最长样本生成时间主导的处理时间影响不大
    • 理解:边际收益递减
  • 因此,当有额外训练资源时,更有效的策略是合理增加数据生成预算(rollout budget) ,使数据生成时间 \(t_R\) 大致保持不变或仅小幅增加
  • 通过使用更大的数据生成缓冲区(rollout buffer),可获得更准确的梯度估计,这可能提升训练效率并改善测试性能
  • 在以下内容中,论文将重点探究由数据生成批次大小和分组大小决定的数据生成预算对强化学习性能的影响。这些研究的整体思路如图24所示
  • 表9:一个训练步骤中生成1024个响应的数据生成时间 \(t_R\) (单位:秒)。数据显示,随着计算资源增加, \(t_R\) 的增量减少幅度逐渐减小
  • 图24:额外训练资源下增加数据生成预算的实证研究概述。灰色和绿色块:实证研究的动机;黄色块:实证研究中的实验变量
Larger Batch Size, Better Test Performance
  • 为探究数据生成批次大小 \(D_R\) 对训练动态的影响,论文进行了以下消融实验
    • \(D_R\) :采样批次大小(一个训练步骤中用于生成响应的提示词数量)
    • \(D_T\) :mini-batch 大小(每个策略更新步骤中使用的响应对应的提示词数量)
    • \(N_{reuse}\) :采样缓冲区的遍历次数
    • \(gs\) :组大小(为每个提示词生成的响应数量)
  • 消融实验11:数据生成批次大小 \(D_R\) 的影响(The Impact of Rollout Batch Size \(D_R\) )
    • 考虑元组 \((N_\text{SGD}, D_R, D_T, N_{reuse})\)
    • 论文选取4.1节中配置为(1, 64, 64, 1)的基准实验,以及消融实验7中两个配置分别为(1, 32, 32, 1)和(1, 16, 16, 1)的在策略实验
    • 这三个实验分别使用 64 块、32 块和 16 块 H800 GPU。实验结果如图25所示
  • 图25的结果表明,在训练资源允许的情况下,增加数据生成批次大小 \(D_R\) ,可在训练时间相近的情况下实现更优的测试性能
  • 图25:消融实验11的结果。在有更多训练资源的情况下,通过增加 \(D_R\) 来提高数据生成预算,能在总训练时长相近的情况下实现更优的测试性能。左图:不同数据生成批次大小 \(D_R\) 的训练时长;右图:不同数据生成批次大小 \(D_R\) 的测试性能
分组大小越大,测试性能越优
  • 为探究分组大小对训练动态的影响,论文进行了以下消融实验
  • 消融实验12:分组大小( \(gs\) )的影响(The Impact of Group Size (\(gs\)))
    • 选取4.1节中分组大小为 16 的基准实验,另外再进行两个分组大小分别为 8 和 4 的在策略实验
    • 这三个实验分别使用 64 块、32 块和 16 块 H800 GPU。实验结果如图26所示
  • 从图26中可观察到,在有更多训练资源的情况下,通过增加分组大小来提高数据生成预算,能在总训练时长相近的情况下实现更优的测试性能
  • 图26:消融实验12的结果。在有更多训练资源的情况下,通过增加分组大小来提高数据生成预算,能在总训练时长相近的情况下实现更优的测试性能。左图:不同分组大小 \(gs\) 的训练时长;右图:不同分组大小 \(gs\) 的测试性能

Dataset Preparation

  • 本节将介绍论文强化学习训练数据的处理流程

Data Source Selection and Preprocessing

  • 在数学领域,论文主要关注 NuminaMath-1.5 数据集(2024),该数据集包含 89.6 万个数学问题,涵盖常用数据源和高等数学主题
    • 该数据集规模足够大,但在使用前仍需仔细检查其质量
  • 在代码领域 ,论文发现可用的数据源选择较为有限 ,且现有数据集的整体难度相对于当前模型的能力而言普遍较低
    • 在试点研究中,论文尝试了多个常用数据集(包括 CODE-RL(2022)、TACO(2023)和 Eurus-RL 数据集集合(2025))的原始混合数据,但未获得理想结果
Selection Criteria
  • 为选择和整理高质量的强化学习数据,针对两个数据领域,论文均遵循以下通用标准:
    • 1)可验证性(Verifiable):排除无法验证的问题,如基于证明的问题和缺少测试用例的代码问题
    • 2)正确性(Correct):过滤掉答案无效或错误的数学问题,以及缺少完整测试用例的代码问题
    • 3)挑战性(Challenging):预先过滤掉基础模型的N次生成结果全对或全错的问题
  • 根据上述标准,论文从 NuminaMath-1.5 和其他来源中筛选出具有挑战性的问题,以提高数据混合集中问题的难度和多样性:
    • 1)NuminaMath-1.5子集:AMC(美国数学竞赛)、AIME(美国数学邀请赛)、奥林匹克竞赛(olympiads)、奥林匹克竞赛参考题(olympiads ref)、AoPS 论坛(aops forum)、中国竞赛(cn contest)、不等式(inequalities)和数论(number theory);
    • 2)DeepScaleR 数据集(2025);
    • 3)STILL3-Preview-RL-Data 数据集(2025);
    • 4)Omni-MATH 数据集(2024);
    • 5)2024 年之前的 AIME 题目
  • 在代码数据混合集方面,论文主要考虑以下两个来源的问题,它们提供了足够具有挑战性的编程题目:
    • 1)LeetCode 题目(2025);
    • 2)TACO 数据集(2023)
Preprocessing Pipeline
  • 对于数学和代码问题,论文首先进行数据集中的去重处理,以消除冗余。对于所有收集到的数学问题:
    • 论文使用 Math-Verify 工具(2025)从提供的文本解答中重新提取答案,仅保留提取答案与数据集中对应答案一致的问题
    • 移除所有问题描述中包含外部链接或潜在图表的样本
    • 进行跨数据集去重,以消除来自相似来源的潜在重复问题 ,并参照 DeepScaleR 的去重方案,对 AIME24 和 AIME25 的题目进行去污染处理(decontaminate)
    • 经过上述流程,最终得到约 10.5万 个数学问题
  • 对于代码问题,论文采用更严格的过滤流程:
    • 丢弃原始单元测试用例为空、不完整或损坏的样本
    • 使用提供的原始解答对所有测试用例进行程序化验证
      • 只有当解答能完美通过所有对应测试用例时,该样本才被标记为有效
    • 基于收集到的代码问题的嵌入(embedding)相似度进行广泛去重 ,因为许多问题本质相同,仅在指令上有细微差异
    • 最终,代码问题数据集共包含 1.37万 个题目(其中 2700 个来自 LeetCode,1.1万 个来自 TACO)
Model-Aware Difficulty Estimation
  • 在 GRPO 算法中,若一个分组内所有采样响应全对或全错,会出现零优势(zero-advantage)问题
  • 因此,论文需要针对待训练模型,对每个问题进行初始的离线难度估计
    • 对于每个问题:
      • 数学问题采用 1.0 的温度(temperature)和 32K 的最大 token 长度进行 \(N=16\) 次生成(rollout)
      • 代码问题则进行 \(N=8\) 次生成;
    • 将正确解答的百分比作为该问题相对于特定模型的难度指标
    • 在验证采样解答的正确性后,论文排除正确率为 0/N(全错)或 N/N(全对)的问题
    • 表中报告了 7B 和 32B 模型丢弃和保留的数学/代码问题的百分比统计:

Quality Assessment via Human and LLM-as-a-Judge

  • 在数据处理阶段,论文发现数学部分的许多问题存在不完整或格式不良的情况
  • 因此,论文额外进行了一轮严格的 “human-LLM-combined” 联合检查,以确保数据质量
  • 论文从剩余问题池中随机抽取数百个问题,要求人工评估者判断每个问题是否符合以下标准:
    • 1)表述清晰(Clear Wording):问题描述是否易于理解?
    • 2)信息完整(Complete Information):问题是否提供了所有必要信息?
    • 3)格式规范(Good Formatting):数字、符号和公式是否清晰且格式规范?
    • 4)无干扰信息(No Distractions):问题是否不含无关信息?
  • 以下是人工评估者认定为存在问题的原始问题陈述示例:
  • 不完整问题(Incomplete Problems)
    • \6. 五个球面可以将空间分成____部分。(NuminaMath-1.5,奥林匹克竞赛(Olympiads))
    • 下列哪个数字等于3300万?(STILL-3-Preview-RL-Data)
    • 哪个数字大于0.7?(STILL-3-Preview-RL-Data)
    • 例27:求 \(\sigma_2(28)=\) ?(NuminaMath-1.5,数论(Number Theory))
  • 含无关信息的问题(Irrelevant Information)
    • \250. \(y=\ln(x^3-1)\cdot nn\) 25 0. \(y=\ln(x^3-1)\cdot nn\) 上述文本已翻译为英文,保留了原文的换行和格式。但由于原文是数学表达式,数学表达式通常具有通用性,不随语言变化而改变,因此译文与原文一致。(NuminaMath-1.5,奥林匹克竞赛(Olympiads))
    • \1. (12分)该图形由5个相同的正方形组成。以图形中的12个点为顶点,可以构成个三角形。10.(12分)该图形由5个相同的正方形组成。以图形中的12个点为顶点,可以构成个三角形。(NuminaMath-1.5,奥林匹克竞赛(Olympiads))
  • 有趣的是,这些问题都通过了难度估计流程(即模型在面对无效或不完整问题时,仍能生成正确答案)
    • 这表明在 16 次生成过程中,模型至少有一次正确回答了这些问题,可能是因为模型曾训练过类似样本,或是答案易于猜测
    • 理解:甚至有些问题是没有给出选项的都猜对了?
    • 回答:也正常吧?整数或者是选项还是好猜测的,而且模型可能见过数据集
  • 为高效整理整个数据集,论文采用 Llama-3.3-70B-Instruct 和 Qwen2.5-72B-Instruct 模型自动过滤低质量问题
    • 论文提示每个模型从清晰度、完整性、格式和相关性四个维度评估给定的数学问题,找出问题可能被判定为低质量的原因,并最终给出二元评分(合格/不合格)
    • 该过程模仿人工评估,同时效率显著提高
    • 对于每个问题和每个大语言模型评判者,论文收集 16 次评估结果 ,每个问题最终共获得 32 票
    • 论文保留至少获得9票有效支持的问题 ,总共移除了约 1000-2000 个数学问题

Math & Code Verifiers

Math Verifiers

  • 在所有数学推理实验的初始阶段,论文对当时可用的基于规则的数学验证器(verifier)进行了多项初步分析。这些验证器包括:
    • 原始 MATH 验证器(verl 版本)
      • 问题:这里的 verl 版本是什么?
    • PRIME 验证器
    • Qwen2.5 验证器
    • DeepScaleR 的验证器
    • Math-Verify 验证器
    • 问题:这些验证器都如何使用?
  • 论文首先抽样了一小部分题目及其相关解答和答案,手动检查了这些验证器的解析器和验证器质量
    • 论文发现,Qwen2.5 验证器在解析过程中往往会丢失信息(例如,在解析 \(\boxed{a^2}\) 时,无法保留 ^2 这一上标部分)
    • 论文还观察到,PRIME 验证器在执行过程中偶尔会出现停滞现象
    • 因此,论文将这两个验证器排除在后续分析之外
  • 随后,论文利用难度估计过程中产生的 rollout 数据(注意:这里可以复用),应用剩余的验证器对生成的解答进行评估
    • 论文将各难度级别(0-8 级)对应的题目数量绘制在图 27 中
    • 问题:难度具体等级是如何划分的?
  • 图 27:不同验证器的分布对比(基于 NuminaMath-1.5 数据集,经筛选后用于 DeepSeek-R1-Distill-Qwen-7B 模型)。图中 ver1_math、deepscaler、math_verify_0_5_2、math_verify 分别代表不同验证器,纵轴 0-7 代表难度级别,各扇区大小代表对应难度级别的题目数量
  • 结合验证器结果与人工判断,论文得出以下结论:
    • 原始 MATH 验证器(ver1 版本)和 DeepScaleR 的验证器均存在较高的假阳性和假阴性率
    • 对于 Math-Verify 验证器,在论文尝试不同版本的过程中,其部分实现细节有所变化
      • 因此,论文同时纳入了 0.5.2 版本和默认版本(0.6.0 版本,该版本在模型开发过程中被广泛使用),并发现这两个版本之间仅存在微小差异
  • 需要注意的是,对于格式不标准或包含 Math-Verify 不支持的数学表达式(例如存在多个答案的题目)的解答,Math-Verify 仍可能给出错误结果
  • 在论文最终实现的奖励函数中,论文通过以下步骤验证文本解答中的答案是否正确:
    • 1)从推理过程之后提取答案
    • 2)使用 Math-Verify 的解析器对答案进行解析,得到其字符串表示形式
    • 3)如果该字符串表示形式与标准答案直接匹配,则返回“正确(True)”;否则,调用 Math-Verify 的验证函数(verify function)进行进一步验证
    • 4)将标准答案(gold answer)用 \(\boxed{}\) 包裹后,运行验证程序以获得最终结果
      • 问题:这里是针对 verifier 输入的改进吗?
  • 论文发现,用 \(\boxed{}\) 包裹标准答案是至关重要的一步
    • 直接解析标准答案可能会导致数学表达式发生改变

Code Sandboxes

  • 在单元测试执行方面,论文基于 LiveCodeBench 的实现,利用子进程(subprocess)处理构建了一个高效且安全的本地代码沙箱
    • 该沙箱支持多种测试方法,包括标准输入输出测试、解答函数单元测试以及基于断言的测试
  • 为进一步提升其安全性和稳健性,论文实施了以下措施:
    • 语法验证(Syntax validation):首先使用抽象语法树(Abstract Syntax Tree, AST)对提交的解答进行语法验证
      • 若检测到语法错误,沙箱会立即终止测试并返回“错误(False)”
    • 内存监控(Memory monitoring):在训练过程中,论文发现部分生成的解答存在潜在的内存泄漏风险
      • 为缓解这一问题,论文为每个测试进程集成了内存监控机制
      • 若某个进程的内存使用量超过 50GB,沙箱会主动终止该测试并返回“错误(False)”,从而有效避免资源耗尽
    • 并行稳定性优化(Parallel stability optimization):
      • 起初,论文采用异步测试结合进程池的方式进行并行执行
      • 但后来发现,这种设置下沙箱可能会崩溃,进而导致测试结果不准确
      • 为解决这一问题,论文对方案进行了调整,仅依赖多进程(multiprocessing)实现,确保并行执行的稳定性和高效性
      • 问题:披露的这么细节吗?
  • 此外,论文还将论文的沙箱与 PRIME 沙箱进行了性能对比
    • 结果表明,在特定数据集上,论文的实现效果更优
    • 特别地,PRIME 沙箱偶尔会将正确的解答误判为错误 ,而论文的沙箱对解答正确性的评估更为准确
  • 在实际使用过程中,论文发现论文的沙箱存在一个局限性:
    • 目前无法处理同一输入可能产生多个有效输出的情况
    • 这类情况在涉及非确定性问题或开放性问题的真实代码测试场景中较为常见

Experiments

  • 在本节中,论文将呈现三个模型的实验结果,分别是 Skywork-OR1-Math-7B、Skywork-OR1-7B 和 Skywork-OR1-32B
  • 首先,论文将详细介绍训练配置,随后分析训练结果,最后讨论评估结果

Training and Evaluation Details

Training Configurations
  • 7B 模型和 32B 模型分别基于 DeepSeek-R1-Distill-Qwen-7B 和 DeepSeek-R1-Distill-Qwen-32B 进行微调
  • 论文从多个来源收集数学和代码题目,并进行全面的预处理、难度筛选和质量控制,确保最终得到的题目集合具备可验证性、有效性和挑战性(具体细节参见第 6 节)
  • 基于这个精心整理的题目集合,论文对三个模型均通过优化策略损失(公式 3.1)进行微调
    • 所采用的学习率为恒定值 \(1e-6\)
    • 裁剪比例(clip ratio)为 0.2
    • 目标熵(target entropy)为 0.2
    • 采样温度(sampling temperature)为 1.0
    • 采用拒绝采样(rejection sampling)方法
    • 论文在训练过程中未使用任何 KL 损失(KL loss)(正如第 3.2.6 节所讨论的)
    • 有关策略更新过程的更多细节,请参见第 3.1 节
  • 所有实验均采用多阶段训练(multi-stage training)方式,表 10、表 11 和表 12 分别报告了每个训练阶段的详细配置
  • 发布的检查点(checkpoint)对应的训练步数如下:Skywork-OR1-Math-7B 为 2160 步,Skywork-OR1-7B 为 1320 步,Skywork-OR1-32B 为 1000 步
Benchmarks & Baselines
  • 论文在具有挑战性的基准测试集上对模型进行评估
    • 在数学能力方面,论文采用 2024 年和 2025 年美国数学邀请赛(American Invitational Mathematics Examination, AIME)的题目作为评估集;
    • 在代码能力方面,论文使用 LiveCodeBench(2024 年 8 月-2025 年 2 月期间的数据)(2024)
  • 论文将模型性能与多个性能强劲的基线模型进行对比
    • 包括 DeepSeek-R1 (2025)、Qwen3-32B (2025)、QwQ-32B (2025)、Light-R1-32B (2025)、TinyR1-32B-Preview (2025)
    • 以及多个基于 DeepSeek-R1-Distill-Qwen-7B 构建的 7B 级强化学习模型
      • 例如 AceReason-Nemotron-7B (2025)、AReaL-boba-RL-7B (2025) 和 Light-R1-7B-DS (2025)
Evaluation Setup
  • 论文将所有模型的最大生成长度设置为 32,768 个 tokens
  • 在 AIME24/25 测试集上,论文报告 avg@32 性能指标;
  • 在 LiveCodeBench(2024 年 8 月-2025 年 2 月)测试集上,论文报告 avg@4 性能指标
  • 生成答案时,采用的温度(temperature)为 1,top-P 为 1
  • avg@n 指标的定义如下:
    $$avg @ n=\frac{1}{n} \sum_{i=1}^{n} \mathbb{I}\left\{\left(x, y_{i}\right) \text { is correct } \right\}$$
    • 其中, \(x\) 代表评估题目, \(y_i\) 代表第 \(i\) 个生成的答案

Evaluation Results of Skywork-OR1 models

  • 如表 13 所示,Skywork-OR1 系列模型相较于其基础的 SFT 模型(例如 DeepSeek-R1-Distill 系列模型)取得了显著的性能提升
    • Skywork-OR1-32B 在 AIME24 测试集上得分为 82.2,在 AIME25 测试集上得分为 73.3,在 LiveCodeBench 测试集上得分为 63.0,在关键的数学基准测试集上性能超过了 DeepSeek-R1 和 Qwen3-32B 等当前性能较强的模型,在发布时创下了新的 SOTA 记录
    • Skywork-OR1-7B 在 AIME24 测试集上得分为 70.2,在 AIME25 测试集上得分为 54.6,在 LiveCodeBench 测试集上得分为 47.6,在数学和代码任务中,相较于同规模模型均展现出具有竞争力的性能
    • 论文早期发布的模型 Skywork-OR1-Math-7B 在同规模模型中也表现出色,在 AIME24 测试集上得分为 69.8,在 AIME25 测试集上得分为 52.3,在 LiveCodeBench 测试集上得分为 43.6
    • 这些最优性能结果尤为值得关注,因为它们是通过对 DeepSeek-R1-Distill 系列模型(初始性能相对一般的 SFT 基础模型)进行微调得到的,这充分体现了论文所提出的训练流程的显著效果
  • 表 13:Skywork-OR1 系列模型与其他模型在推理相关基准测试集上的性能对比

AGI——张祥雨访谈笔记-多模态大模型

  • 参考链接:
    • 原始音频:115. 对OpenAI姚顺雨3小时访谈:6年Agent研究、人与系统、吞噬的边界、既单极又多元的世界, 20250911

整体总结

  • 整个访谈主要围绕 AGI 的实现路径展开,主要内容是 LLM 和 Agent
  • 本文主要记录 姚顺雨的核心观点
  • 姚顺雨的 AI 哲学:
    • 姚顺雨的思考贯穿一条主线:从“工具思维”到“系统思维”
    • 他不将 AI 视为孤立模型,而是语言、推理、环境、任务、交互、组织的复杂系统
    • 他的研究始终围绕“如何构建能泛化、能创造、能组织的智能体”,并坚信未来属于那些敢于重新定义问题、重新设计交互的创新者

姚顺雨的人生轨迹

  • 15 到 19 年在清华姚班,19 到 24 年在普林斯顿,24 年毕业进的 OpenAI
    • 注:姚班的传统是偏理论计算机科学
    • 18 年,按照姚班的传统,去了国外(MIT),跟的是吴佳俊学长
  • 19 年做过第一个 LLM Agent CALM
  • 博士期间的工作:包括 Language Agent 领域的 ReAct、Reflexion、思维树,然后包括 Digital Automation(数字自动化)

听报告过程中的核心观点和笔记

  • 用 GPT 不要用 BERT
  • 任务或环境非常重要
  • 姚顺雨觉得自己第一个比较重要的工作就是 WebShop(2022)
  • ReAct的重点是 Prompting,但姚顺雨觉得很重要,做模型会做不过 OpenAI,但是用模型,还有机会
    • 问题:如果别人不让你用呢?
  • 目前的 Agent 架构都类似于 ReAct,就是先思考再决策一个 Action(简单但有用)
  • Agent 的定义:
    • 从 NLP 的角度来说,Agent 是相对于一个能够去和外界进行交互的 语言模型,比如说使用计算器、使用互联网或者使用这些 tool
    • 从 AI 的更大背景来说,Agent 可以是任何可以去做自我决策、和环境交互、然后 optimize reward(让它的奖励变大)的这样的系统
  • 为什么是 LM 的 Agent?
    • 语言模型提供了一个足够强的先验,这个先验使得你可以推理,而推理又可以在不同环境间泛化
  • Agent的历史
    • 第一波:1980 年代的符号主义,遍历所有可能的规则
    • 第二波:Deep RL,以 AlphaGo 为代表,但领域上仍然不能泛化
      • 所能解决的环境都是虚拟的,能无限次尝试的
    • 第三波:LLM 这波,能预训练并且能够泛化了
  • Agent 能力分类(没有确定的 taxonomy):
    • 第一种:基于使用工具的能力,coding 能力、上网的能力、使用计算机的能力等
    • 第二种:LLM 本身的能力,处理多模态的能力、处理 long context 的能力,reasoning 能力
    • 姚顺雨最看重的是:处理 context 的能力,或者说 memory 的能力,然后基于它去做 life-long learning 或者 online learning 的能力
  • Coding 是最重要的环境之一,但有些现实环境是 API 不能代表的,改造所有的车(Agent)比改造所有的路(现实环境,只有一个 frontend)简单,所以最终的 Agent 可能是 API 和现实环境的 frontend 都能操作
  • 关于是否真的泛化了?
    • 首先,lilian weng 好像说过一句话:maybe the ultimate generalization is to overfit the reality,如果真的是拟合了整个世界,那是否泛化就不重要了
    • 其次,姚顺雨认为真的是泛化,因为能够 Reasoning,“思考” 这个技能本身的迁移就是泛化,之前的下棋或者其他任务,都是学到了环境信息,而现在的思考是通用的(都可以像语言一样去思考),可以算是泛化
    • 补充:泛化是指之前只能对每个任务创造不同的模型,现在一个模型可以解决多个任务,且任务之间是可以一定程度迁移的(当然,迁移不一定成功,且与任务本身的性质有关)
  • 27 年出现能自己操作 Web 的 AI?
    • 不确定,现在的模型缺的是 Context 和被定义好的问题,而不是 Reasoning 的能力
  • 做 WebShop 这个工作的时候,其实当时最困难的一点就是说我怎么去定义 reward。实际上我认为做任何的 RL task,最难的部分其实是怎么定义 Reward
    • Reward 应该基于结果而不是过程
    • Reward 应该是基于规则或者是白盒的 reward,而不是一个黑盒的 reward
    • Math 和 Coding 成功的关键:
      • 基于结果而不是过程的 Reward
      • 有一个非常清晰的、基于规则的 reward,而不是基于奇怪的人或者模型偏好的 reward
    • 姚顺雨在做 SWE-bench 等时,也在重视这样的 falvor
  • 人和 AI 看待认为的难度是不一样的,人会觉得电销简单,编程很难,但 AI 相反
  • 小的 Agent 创业公司应该重视在使用模型上创新(interface),而不是在模型本身能力创新(这方面很难做过其他大公司)
    • 大公司容易 focus on 自己的主业上,这个是小公司的机会
  • Arc是什么?Adept 是什么?MindOS, Genspark 呢?

    我觉得 Arc 是一个好的尝试,就是说你可以基于现在的一个任务,去在线生成一个最符合这个情境和你的个性和这个任务的一个前端,然后你可以让这个东西对不同的事情做得很不一样。我觉得这是一个很显然值得探索的方向。但这个事情显然也很难

  • 数据飞轮:
    • 目前可能 Midjourney 是做起来了的,依赖人的反馈来做数据训练,逐步增强自己
  • 如果自己是 Cursor 公司的 CEO,一定会做 fine-tune,但不一定做 pre-training
  • 在 fundamental research 上,比较重要的方向是 memory,intrinsic reward,和 multi-agent
    • intrinsic reward 指什么?内在的 reward?没有外在的奖励,是从内部来?感觉说的是一些环境提供的奖励,但是用了内在奖励这个词语而已,用错了?

      因为直到你证明的那一刻,你是没有任何外在 reward 的,你也没有获奖,你也没有做任何事情,没有人给你任何 feedback,你需要自己给自己一个 feedback。那这个事情是所有 innovator 最重要的事情,无论你是艺术家、还是科学家、还是文学家、还是任何创作者
      很多创新者,他为什么能够在没有外在激励的情况下,去做很多事情?他是有个自己内在的价值观或者激励。然后这个事情其实我觉得 AI 或者 neuroscience 已经研究了很久很多年。从某种程度上来说,婴儿是有这样的一个基于好奇心或者自我的 reward 的。就是你会发现很多婴儿他会玩这些玩具,他会用嘴咬这样一个东西或者干别的。那你你说他获得什么 reward 了吗?他也没有升职加薪,他也没有获得钱,他没有这些外在激励,他就是好奇。他就是说,如果我做这个事情,那我会有什么样的感觉?这个感觉如果是新的,那我可以学习。
      但当你长大之后,你有了一个基于语言或者基于推理或者基于文字的对世界的一个理解。就这个世界是怎么运作的?我怎么才能开一个公司?我怎么才能升职?我怎么才能做各种各样的事情?你在玩的不是一个物理游戏,而是一个文字游戏。那在这个文字游戏里面,你当然也有这样的内在激励,但好像又很不一样。我觉得这是现在的一个挑战,就是说传统的 AI,他比如说你去玩迷宫或者你去玩一些机器人的仿真,他可以定义出来一些比如基于世界模型或者基于各种各样人婴儿时候的这些 motivation 这样的内在激励。但当你在玩一个文字游戏的时候,你怎么去做一个内在激励?这似乎又变得很不一样了。

  • 两个重点:innovator 和 organization
    • 其实就是 OpenAI 对 AGI 的 Level 4 和 Level 5
  • 目前模型不能创造价值的原因是缺少 Context (这里是跟人作比较的,人有记忆(不一定能用文字写下来),模型没有)
  • 人之所以能泛化是因为推理?
    • 可以寻找哪些事情是人能做,机器不能做的,但是不能要求机器解决问题的方式和人完全一样
  • Agent 不一定要像人,Agent 是一个 utility problem,很多问题不像人更有价值
  • 即使是 GPT-1 的作者,也不是坚信 GPT 这个方向的,当时 OpenAI 坚持的人主要是 Ilya
  • 后面还会有新的 scaling dimension 出现,比如 long-term memory 和 multi-agent
  • 为什么 coding 和 math 容易泛化?
    • 我觉得只是因为它是最早开始做的事情,而它最早开始做是因为它比较简单。就是说它有一个很好的 reward,然后它不需要一个环境,它就是 reasoning
    • 个人理解:
      • 首先不敢苟同前面是因为最早做,更多是因为这两个方向的数据多,模型预训练时看的多,且奖励纯粹,不容易发生 Reward hacking 等
      • 其次,我认为这个不是更容易泛化,本质还是预训练看的多了
  • 多次提到第一性原理(回归事情的本质,多问为什么)
  • OpenAI 的一个护城河可能是记录用户的历史,这样能提升用户粘性
  • 冯·诺依曼生前写的最后一本书叫做《The Computer and the Brain》,其中有一句话:

    essentially, the environment is always the most outer part of the memory hierarchy

    • 人类的长期记忆应该是书本这些持久化的环境信息
  • long context 是一个实现 long-term memory 的方式,但可能还有别的方式
  • 衡量 Agent 的指标应该是价值,而不是类似于考试、代码等,现实世界更多是无法定义的
  • 最终我觉得 AGI 是个系统的话,它需要有 intelligence,它需要有环境,它还需要有 user context,或者对 user understanding
  • 书籍《智能简史》

语言是人类为“泛化”而发明的最本质工具

  • 语言的真正价值不在于表达,而在于泛化能力(generalization)
  • 人类通过语言可以跨越具体经验,进行抽象、推理、学习和协作,从而应对从未见过的新任务
  • 相比图像、语音等数据,语言是人类创造的、最具通用性的工具,是通往AGI(通用人工智能)的关键

AI 主线已进入“下半场”:从方法创新转向任务与环境定义

  • 博文《The Second Half》的核心观点:AI的“上半场”是模型训练与方法突破,下半场是任务设计与环境构建
  • 当前瓶颈不再是模型能力(如 scaling law 已证明通用性),而是如何定义有真实价值、可衡量、可泛化的任务
  • 研究重心应从“如何训练模型”转向“如何使用模型”,即从“training”转向“using”

Agent 的本质是“推理+交互”

  • Agent 不是简单的自动化脚本,而是能与环境交互、基于推理做出决策的系统
  • 传统 Agent(如 AlphaGo)依赖强化学习在封闭环境中优化奖励,但无法泛化
  • 语言 Agent(Language Agent)的核心突破是通过语言推理实现跨任务泛化 ,例如 ReAct 框架中的“思考-行动”循环

ReAct是Agent范式的关键转折

  • ReAct(Reasoning + Acting)证明了语言推理能显著提升Agent在新环境中的表现
  • 它打破了“必须为每个任务设计专用模型”的旧范式,实现了简单、通用、可迁移的方法
  • 其成功在于:用语言作为推理媒介,使 Agent能“像人一样思考” ,而非仅靠模式匹配

任务与环境的设计比模型架构更重要

  • 好的任务应具备:
    • 基于结果而非过程的奖励(如代码是否通过测试,而非是否“写得优雅”);
    • 清晰、可计算、非黑盒的reward机制(避免被“奖励黑客”利用);
    • 真实世界价值(如 WebShop 模拟真实购物,SWE-bench 模拟真实代码修复)
  • 他批评当前 AI 研究过度依赖“考试式”任务(如选择题、问答),而忽视真实复杂场景

泛化已实现,且源于“推理”而非“记忆”

  • 当前大模型已具备跨任务泛化能力 ,例如在数学上训练的 RL 可提升创意写作能力
  • 这种泛化不是因为数据量大,而是因为语言推理能力的迁移
  • 他提出:“终极泛化可能是对现实的过拟合“,如果AI能处理一切现实任务,泛化与过拟合的界限将消失

Agent 的未来演进路径:从个体到组织

  • OpenAI的五级分类(聊天 -> 推理 -> 代理 -> 创新 -> 组织)揭示了 Agent 的演进方向:
    • Level 3(Agent) :能使用工具、与环境交互;
    • Level 4(Innovator) :具备长期记忆与内在奖励机制,能自主探索;
    • Level 5(Organizer) :多Agent协作,形成组织,解决复杂系统问题
  • 未来关键能力:
    • 长期记忆(long-term memory);
    • 内在奖励(intrinsic reward)——如好奇心、掌控感;
    • 多 Agent 协作(multi-agent systems)

创业公司的机会在于“交互方式创新”而非模型能力

  • 模型能力将趋于同质化(“溢出”),真正的壁垒是交互设计
  • 成功产品如 Cursor、Arc、Perplexity,都不是简单复制 ChatGPT,而是创造了新的交互范式(如 IDE 内嵌、动态前端生成)
  • 他强调:“AI 的未来不是 ChatGPT 的延伸,而是新 Super App 的诞生。”

数据飞轮的形成需要“对齐的奖励机制”

  • 多数公司尚未形成真正的数据飞轮,因为缺乏可量化的、与商业价值对齐的反馈信号
  • 成功案例:Midjourney 通过用户点赞形成清晰 reward,驱动模型迭代
  • 对于客服、写作等任务,需定义新指标,如 pass@k(k 次都成功的概率),而非仅 pass@1

长期记忆是解锁AI实用性的关键

  • 当前AI的瓶颈不是推理能力,而是缺乏上下文(context)
  • 人类的价值在于能积累“分布式上下文”(如办公室政治、老板偏好),而AI无法获取
  • 解决方案:构建长期记忆系统 ,可能通过long context、embedding或外部存储实现
  • 他引用冯·诺依曼:“环境本身就是记忆层级的最外层”,AI需学会从世界中“读取”记忆

内在奖励是实现“创新者” Agent 的核心

  • 人类创新者(如爱因斯坦)能在无外部奖励下持续工作,因其有内在动机(好奇心、使命感)
  • AI 若要成为“创新者”,必须发展自驱动的学习机制 ,如基于预测误差的好奇心模型
  • 这是通往 ASI(超级智能)的必经之路

AI 与人类的关系:互补而非替代

  • AI不应一味“像人”,而应在需要的地方像人,在能超越的地方超越人
    • 如开车:AI 可基于规则优化,无需模仿人类;
    • 如职场协作:AI需理解人情世故,更“像人”
  • 未来 AI 可能是非拟人化的系统(如平台、工具),而非“数字人”

Agent 生态将走向多元化,而非中心化垄断

  • 他反对“单极世界”(如 OpenAI 垄断一切),认为未来将是多形态、多交互方式的Agent生态
  • 可能形态包括:
    • 拟人化朋友(情感陪伴);
    • 分布式Agent网络(信息中介);
    • 组织级Agent系统(企业自动化)
  • 技术趋势是中心化(大模型)与去中心化(用户数据、本地 Agent)并存

对 AI 研究者的建议:追求“方法-任务契合”

  • 伟大研究往往源于特定任务激发通用方法(如 Transformer 源于翻译)
  • 他采取逆向路径:先构想通用方法,再寻找能证明其价值的任务
  • 关键是找到 method-task fit ,即方法与任务的完美匹配

最关键的“Bet”:相信“不同的 Super App” 存在

  • 他最核心的信念是:未来将出现与 ChatGPT 完全不同的、革命性的交互形态
  • 正如互联网初期无法预见微信,AI时代也将诞生尚未想象的 Super App
  • 因此,创业者和研究者应大胆探索非共识的交互方式 ,而非局限于现有范式

附录:个人思考

  • 是否认为制造一些很通用的能力,并注入模型,模型就能学会这些能力,后面我们强调模型的能力而不是领域
    • 比如模型的组合函数能力,比如模型的算数能力等
  • 奖励方面:是否实际上自己有一个终极的目标就够了,不需要太多奖励,然后世界模型做好,使用 RL,AGI 就成功了?
  • AI 的终极目标:能做最前沿的科学研究

NLP——论文简读笔记汇总

注:本文包含 AI 辅助创作
汇总一些暂时没有完整阅读的论文简读结果,部分文章暂时粗读一下,后续有时间再按需补充详细信息


Retaining by Doing

  • Retaining by Doing: The Role of On-Policy Data in Mitigating Forgetting, 20251021, Princeton University, Danqi Chen Group
  • 动机:
    • 灾难性遗忘(catastrophic forgetting)发生的原因是什么?
    • 如何避免灾难性遗忘
  • 一些分析,核心针对 SFT 和 RL 两种对齐手段进行研究,从 forward KL(通过 SFT 最小化交叉熵损失等价于最小化与最优策略 (optimal policy) ) 和 reverse KL 的视角看遗忘问题:
  • 贡献、工作:
    • 设计了一套评测方式和指标,评估模型在新任务上的 Gain 和在旧任务上的 Drop
    • 发现了 RL 更容易记得住的原因是因为 On-policy 数据,而不是损失函数等(GRPO 和 REINFORCE 结论相同)
      • 也不是其他算法选择,如优势估计或 KL 正则化的应用
    • 提出 Iterative-SFT 来让 SFT 像 RL 一样记住旧任务的数据分布
  • 结论:
    • 遗忘的本质是分布的错位
    • 模型分布错位最主要的原因是因为数据偏移
  • 核心 Insights:
    • SFT 是 mode-covering,forward KL
      • 理解:forward KL 是从真实分布采样,这里是指最小化 \(D(\pi_{\theta_\text{ref}}||\pi_\theta)\)
    • RL 是 mode-seeking,reverse KL
      • 理解:forward KL 是从近似分布采样,这里是指最小化 \(D(\pi_\theta||\pi_{\theta_\text{ref}})\)
    • 如果初始策略是单峰的 (uni-modal)
      • 那么 SFT 实际上可能比 RL 对遗忘更鲁棒;
    • 如果初始策略是多峰的 (multi-modal):这对于实际的 LM 来说 arguably 是实际情况
      • 那么 mode-seeking 的 RL 导致的遗忘比mode-covering的 SFT 更少

附录:关于初始策略为单峰和多峰情况下的 SFT 和 RL 的讨论

  • 注:这篇论文的核心发现之一,是 通过一个简化的数学模拟(单变量高斯混合模型),解释了为什么在实际中, RL 比 SFT 更不容易遗忘(即灾难性遗忘)
  • 为了方便理解,我们把初始策略想象成一个语言模型当前的知识分布,把目标策略想象成我们希望模型学会的新任务
  • 论文通过对比单峰和多峰两种情况,清晰地展示了SFT和RL在学习新知识时的不同行为
  • 核心概念回顾
    • SFT :优化目标是forward KL 散度
      • 特点是mode-covering ,即它会试图用自己所有的概率质量去覆盖目标分布的所有部分
    • RL :优化目标是reverse KL 散度
      • 特点是mode-seeking ,即它会专注于将自身的概率质量集中到目标分布的某个高概率区域 (某个“峰”上)
初始策略为单峰的情况
  • 初始策略 :只有一个峰(例如,模型只会做“旧任务”,如写诗)
  • 目标策略 :有两个峰,分别是“旧知识”(写诗)和“新任务”(做数学题)
  • 目标 :我们希望模型学会新任务(覆盖“新任务(数学题)”这个峰),同时不忘记旧任务(保留“写诗”的峰)
  • SFT(forward KL,mode-covering) :
    • 为了让自己的分布去覆盖目标的“新任务”峰,它会尽量拉伸自己的单一峰去覆盖两个区域
    • 虽然能覆盖到新任务 ,但为了覆盖更广的区域 ,原来集中在 “旧任务”上的概率质量被分散了
      • 这导致在旧任务上的表现下降,即发生了遗忘
      • 但在这种设定下,它的遗忘程度小于 RL
    • 当模型原本只有一个能力时,SFT 这种“覆盖式”的学习方式,反而能相对较好地保留一些旧能力
  • RL(reverse KL,mode-seeking) :
    • 它只有一个峰,为了获得高奖励,它会选择把整个峰从“旧任务”区域移动到“新任务”区域
    • 它非常专注地学会了新任务,但它完全抛弃了旧任务
    • 当模型原本只有一个能力时,RL 这种“寻找新高峰”的学习方式,会导致严重遗忘
  • 获得结论1 :在单峰初始策略下,实验结果符合直觉——覆盖式的SFT比寻找式的RL更不容量遗忘
初始策略为多峰的情况(更贴近实际 LLM)
  • 初始策略 :本身就有多个峰(例如,模型既会写诗,也会写代码,还懂一些常识)
    • 注:这实际上更符合经过预训练和对齐后的大语言模型的真实状态
  • 目标策略 :同样是两个峰,“旧知识”和“新任务”
  • 目标 :学会新任务,保留所有旧知识
  • SFT(forward KL,mode-covering) :
    • 给定新任务的数据(比如数学题),SFT试图让模型的整体输出分布去覆盖“新任务”这个峰
    • 为了“覆盖”新区域,它可能会调整所有峰的参数
      • 这表现为概率质量从“旧任务”峰被吸引到了“新任务”峰 ,导致旧任务区域的覆盖面积显著下降(遗忘)
  • RL(reverse KL,mode-seeking) :
    • RL 的目标是在当前模型的分布中,找到能获得高奖励的区域
      • 由于模型本身已经有了多个峰,它发现“旧任务”峰(写诗、写代码)已经能拿到不错的基础奖励,但还不够
      • 为了获得数学题的奖励,它只需要激活或强化那个原本可能很弱的“数学”峰
    • RL 的优化过程倾向于调整现有峰的权重或形状,而不是挪用其他峰的资源
      • 它通过增强原本权重较低的“新任务”峰来覆盖目标,同时几乎完全保留了代表“旧知识”的峰的形态
  • 获得结论2 :在多峰初始策略下,RL 的“mode-seeking”特性反而成了优势
    • 因为它只需要在已有的多个峰中,精准地加强或微调与新任务对应的那个峰 ,而 SFT 的“mode-covering”特性,会试图用整个分布去覆盖目标,从而扰动甚至破坏其他已经存在的峰
总结
  • 以上这个对比揭示了为什么在实际的大语言模型微调中,RL 通常比 SFT 更鲁棒:
    • 第一,现实中的 LLM 是多峰的 :经过预训练的LLM掌握了大量知识(即拥有无数个“峰”)
      • 当用 SFT 教它新东西时,它倾向于牺牲其他峰的概率质量来覆盖新任务,导致“遗忘”
      • 而 RL 只关心在已有的分布中找到能拿高分的区域,它会优先利用那个离新任务最近的“峰”,从而保护了其他“峰”
    • 第二,数据来源的区别 :这个行为差异的根本原因在于数据的获取方式
      • SFT 使用的是静态的、由专家或旧模型生成的Off-policy 数据 ,模型是被动地去拟合这些数据
      • RL 使用的是由当前策略实时生成的On-Policy 数据 ,模型在探索中主动发现“哪个峰能带来最大收益”,因此能更好地保持原有分布的格局
  • TLDR:因为 LLM 脑子里已经装了很多东西(多峰),所以让它自己去“摸索”新东西(RL),比直接给它标准答案让它“套用”(SFT),更能保住它原有的能力

附录:实验中使用到的方法

  • SFT 方法:which uses responses generated by Llama-3.3-70B-Instruct as ground truth responses
  • Self-SFT 方法:which uses responses generated by the initial model (we keep only the correct responses based on the reward function)
    • 原始论文:STaR: Self-Taught Reasoner Bootstrapping Reasoning With Reasoning, NeurIPS 2022, Stanford & Google
  • RL 方法(以 GRPO 为主)

附录:对 reverse KL 和 forward KL 的补充 & 理解

  • 注:reverse KL 的使用还可以参考 On Reinforcement Learning and Distribution Matching for Fine-Tuning Language Models with no Catastrophic Forgetting, NeurIPS 2022
  • reverse KL 和 forward KL 是机器学习和概率分布比较中常见的两个概念,都与 KL 散度(Kullback–Leibler Divergence)有关
  • KL 散度是用来衡量两个概率分布之间差异的一个非对称度量,对于两个分布 \(P(x)\) 和 \(Q(x)\),KL 散度定义为:
    $$
    D_{\mathrm{KL} }(P \parallel Q) = \sum_x P(x) \log \frac{P(x)}{Q(x)}
    $$
  • 或在连续情况下:
    $$
    D_{\mathrm{KL} }(P \parallel Q) = \int P(x) \log \frac{P(x)}{Q(x)} dx
    $$
    • 非对称性 :\(D_{\mathrm{KL} }(P \parallel Q) \neq D_{\mathrm{KL} }(Q \parallel P)\)
    • 意义 :它可以理解为:如果真实分布是 \(P\),而论文用 \(Q\) 来近似,那么 KL 散度表示额外消耗的信息量(即编码代价的增加)
Forward KL
  • Forward KL
    $$
    D_{\mathrm{KL} }(P \parallel Q) = \int P(x) \log \frac{P(x)}{Q(x)} dx
    $$
  • 优化方向:真实分布 \(P\) 在前,近似分布 \(Q\) 在后,即从真实分布中采样
  • 特点:
    • 优化含义:在模型训练中,最小化 Forward KL 相当于让近似分布 \(Q\) 尽量覆盖真实分布 \(P\) 的所有概率质量
    • 对于 \(P\) 中概率较大的区域,若 \(Q\) 赋值过低,会有很大惩罚
    • 会倾向于 覆盖所有高概率区域 ,即 mode-covering
  • 应用场景:常见于最大似然估计(MLE),比如语言模型训练时用训练数据的分布 \(P\) 拟合模型分布 \(Q\)
Reverse KL
  • Reverse KL
    $$
    D_{\mathrm{KL} }(Q \parallel P) = \int Q(x) \log \frac{Q(x)}{P(x)} dx
    $$
  • 优化方向:近似分布 \(Q\) 在前,真实分布 \(P\) 在后,即从近似分布(非真实分布)中采样
  • 特点:
    优化含义:最小化 Reverse KL 会让 \(Q\) 专注于匹配 \(P\) 中概率较高的区域,而忽略概率很低的部分
    • 在 \(Q\) 中赋值很高但 \(P\) 非常低的区域会受到强烈惩罚
    • 倾向于 集中在一个或几个模式上 ,即 mode-seeking
  • 应用场景:常见于变分推断(Variational Inference),因为计算 \(D_{\mathrm{KL} }(Q \parallel P)\) 更容易在某些情况下进行采样和估计
Reverse KL vs Forward KL
  • 两者对比表格如下:
    对比项 Forward KL (\(P \parallel Q\)) Reverse KL (\(Q \parallel P\))
    惩罚重点 忽略真实分布的高概率区域 包含不真实的低概率区域
    行为倾向 Mode-covering(覆盖所有模式) Mode-seeking(集中于少数模式)
    常见应用 最大似然估计、监督学习 变分推断、近似推理
    计算难度 需要能从 \(P\) 采样 需要能从 \(Q\) 采样
举例理解
  • 假设真实分布 \(P\) 有两个峰(双峰分布),而我们用一个单峰分布 \(Q\) 来近似:
    • Forward KL 会让 \(Q\) 尽量覆盖两个峰,即可能变得更宽、更平,以覆盖所有高概率区域
    • Reverse KL 会让 \(Q\) 只选择其中一个峰(概率最大的那个),从而集中在一个模式上

On-Policy Distillation(Thinking Machines)

  • On-Policy Distillation,目前常常简称为 OPD

  • 原始博客:On-Policy Distillation, Thinking Machines Lab, 20251027

  • 作者给出的原始实现:github.com/thinking-machines-lab/tinker-cookbook

    • 注:这个项目中还包含 Thinking Machines 的很多资源
  • 背景:

    • 动机:论文主要研究如何高效将大模型的能力蒸馏到小模型上
    • Qwen3 技术报告 Qwen3 Technical Report, Qwen, 20250514 中提到了 On-Policy Distillation 方法:

      On-policy Distillation: In this phase, the student model generates on-policy sequences for fine-tuning. Specifically, prompts are sampled, and the student model produces responses in either /think or /no think mode. The student model is then fine-tuned by aligning its logits with those of a teacher model (Qwen3-32B or Qwen3-235B-A22B) to minimize the KL divergence

    • 方法理解:
      • 第一步:使用学生模型采样;
      • 第二步:在采样得到的样本上,用学生模型对齐教师模型的输出 logits
  • On-policy distillation 方法概述:

    • 从小模型采样数据(rollout)
    • 借助大模型的输出 logits 对小模型进行强化训练(理解:本质是用大模型的输出 logits 作为 Dense 奖励,此时每个 Token 上都有奖励)
      • 注:Qwen3 中主要是直接对齐 logits,这里则是仍然用 RL 的损失形式,KL 散度用作 advantage
  • 三种方法对比:

    • SFT 奖励密集,但是是 off-policy 的
    • RL 是 On-policy 的,但是奖励稀疏
    • On-policy distillation 既是 on-policy 的,奖励也是密集的
    • 三种方法对比
      Method Sampling Reward signal
      Supervised finetuning off-policy dense
      Reinforcement learning on-policy sparse
      On-policy distillation on-policy dense
  • On-policy distillation 实现伪代码(具体实现代码地址: github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/rl/train.py):

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    # Initialize teacher client (main):
    teacher_client = service_client.create_sampling_client(
    base_model=teacher_config.base_model,
    model_path=teacher_config.load_checkpoint_path,
    )

    # Sample trajectories (main):
    trajectories = do_group_rollout(student_client, env_group_builder)
    sampled_logprobs = trajectories.loss_fn_inputs["logprobs"]

    # Compute reward (compute_teacher_reverse_kl):
    teacher_logprobs = teacher_client.compute_logprobs(trajectories)
    reverse_kl = sampled_logprobs - teacher_logprobs
    trajectories["advantages"] = -reverse_kl

    # Train with RL (train_step):
    training_client.forward_backward(trajectories, loss_fn="importance_sampling")
    • 注意,这里也用到了 reverse KL:
      $$
      \begin{align}
      \text{Reverse-KL}(\pi_{\theta} \mid\mid \pi_{\text{teacher}}) &= \mathbb{E}_{x \sim \pi_{\theta}} \left[ \log \frac{\pi_{\theta}(x_{t+1} \mid x_{1..t})}{\pi_{\text{teacher}}(x_{t+1} \mid x_{1..t})} \right] \\
      &= \mathbb{E}_{x \sim \pi_{\theta}} \left[ \log \pi_{\theta}(x_{t+1} \mid x_{1..t}) - \log \pi_{\text{teacher}}(x_{t+1} \mid x_{1..t}) \right]
      \end{align}
      $$
      • 从 student_client 采样,则有 reverse_kl = sampled_logprobs - teacher_logprobs
      • 为了最小化 reverse_kl,伪代码中将负的 reverse_kl 分配给 Advantage:
        • 赋值代码:trajectories["advantages"] = -reverse_kl
        • 代码解读:最大化 Advantage,等于最小化 Reverse-KL 散度
    • 这里的 Advantage 看似和 MiMo-V2-Flash 技术博客的 MOPD 实现是反的,但实际上是一样的,因为 OPD 这里是先是先计算 Reverse-KL 散度的公式,然后再加个 负号的,MiMo-V2-Flash 里相当于没有这个负号了
      • 理解:最终含义相同,都是最大化 Advantage,等于最小化 Reverse-KL 散度

应用场景 1:Distillation for reasoning

  • Student:Qwen3-8B-Base
  • Teacher:Qwen3-32B
  • 类似 Qwen3 做的事情,通过蒸馏赋予小模型思考的能力
  • 论文进行了更详细的实验验证效率(On-policy distillation 和 SFT-2M (extrapolated) 是在性能差不多的情况下对比的)
    Method AIME’24 Teacher FLOPs Student FLOPs CE vs SFT-2M
    Initialization: SFT-400K 60% 8.5 × \(10^{20}\) 3.8 × \(10^{20}\) –
    SFT-2M (extrapolated) ~70% (extrapolated) 3.4 × \(10^{21}\) 1.5 × \(10^{21}\) 1×
    Reinforcement learning 68% - - \(\approx\)1×
    On-policy distillation 70% 8.4 × \(10^{19}\) 8.2 × \(10^{19}\) 9-30×
  • 9-30 的差异是是否包含 SFT-2M 的分母:
    • 9(9 倍加速):表示 CE = (On-policy distillation Student + On-policy distillation Teacher) / (SFT-2M Student)
      • 此时表示 SFT 数据已经有了的场景(无需从 大模型重新采样 SFT 数据)
    • 30(30 倍加速):表示 CE = (On-policy distillation Student + On-policy distillation Teacher) / (SFT-2M Student + SFT-2M Teacher)
      • 此时表示 SFT 数据还没有的一般性场景(需要从大模型重新采样 SFT 数据)
      • 注意:On-policy distillation 是不需要使用大模型采样 SFT 的,仅仅需要一次 推理(非生成式推理)得到 logits 即可
  • 关于表格的其他解读
    • RL 达到和 SFT 差不多的性能,需要的资源差不多

应用场景 2:Distillation for personalization

  • 目标:通过蒸馏赋予小模型一些个性化能力,比如某个领域知识的助手
  • 阶段一:首先训练新任务(注:老任务性能会下降)
    • 为防止灾难性遗忘(catastrophic forgetting),加入一些预训练数据
      • 由于无法获得 Qwen3 的预训练数据,这里使用 Qwen3-8B 在 chat 指令遵循数据集 Tulu3 上生成数据
    • 调整了不同混合比例的超参数,但无论如何旧任务 IFEval 性能都有下降
    • 使用不同的 LoRA rank,依然无法阻止 IFEval 性能下降
  • 阶段二:接着通过 On-policy Distillation 代替 RL 来激发 IFEval 的能力
    • 方法:在 Tulu3 数据集,用 Qwen3-8B 作为教师模型,对上一步得到的目标模型进行蒸馏
      • 注:这里是以提升 IFEval 能力为主,这个阶段领域任务旧任务,因为这一阶段的目标是恢复模型 IFEval 的能力
    • 提升 IFEval 的同时,为了保留上一阶段学到的 领域知识能力,这里使用数据组合的形式输入
      • 最终结论:几乎做到了领域知识和指令遵循能力双高
        Model Internal QA Eval (Knowledge) IF-eval (Chat)
        Qwen3-8B 18% 85%
        + midtrain (100%) 43% 45%
        + midtrain (70%) 36% 79%
        + midtrain (70%) + distill 41% 83%
  • 可以迭代执行第一阶段和第二阶段,循环提升模型效果

讨论和思考

  • RL 和 On-policy Distillation 的区别:
    • On-policy Distillation 的奖励更稠密,效率更高
      • RL 中,每个 rollout 信息只是提供 \(O(1)\) bits 的信息(参见 Thinking Machines 的 LoRA Without Regret 博客)
      • On-policy Distillation 中,每个 rollout 信息只是提供 \(O(N)\) bits 的信息
    • 作者给出了实验验证这个结论:
  • 重用 Prompt
    • Prompt 是稀缺的,可以让一个 Prompt 多次 rollout 来实现多次训练
    • On-policy Distillation 是学习教师的完整分布,而不是某个答案
    • 实验:仅使用一个 Prompt 来训练,依然在 20 个 Step 后,在 AIME 上得到了较大的效果提升
  • 一个新的理解:RL searches in the space of semantic strategies
    • 即 RL 是在语义空间中搜索
    • 而作为 RL 的良好替代, On-policy Distillation 则直接学习最终的策略,不需要探索过程(这是更简单的)
  • 持续学习的应用:On-policy learning as a tool for continual learning
    • RL 只能塑造行为,不能学习新知识,不足以用于持续学习
    • SFT 训练时,即使使用 On-policy 的方法(使用模型自己 Rollout 得到的样本)进行 SFT,在 Qwen-32B 上看到 IFEval 也是有下降的
      • 关于这一点现象的原因,原始博客中的解释有点奇怪
      • 更容易理解的解释:模型产生的序列是以一定概率的,直接进行 SFT 相当于要求模型 100% 输出这个序列,所以模型分布会发生改变
    • On-policy Distillation 的目标是收敛到教师模型,所以不会像 SFT 一样出现性能的衰退
      • 相当于将大模型的知识注入小模型?问题是 Prompt 难以引导小模型生成想要的知识吧
  • 个人理解: On-policy Distillation 本质是一个将 教师模型作为 Token-level Dense 奖励模型的 RL 方法

Teacher 和 Student 的分数差多少时,适合使用 OPD ?

  • 一般来说,Teacher 比 Student 好的越多,OPD 效果越好,否则 OPD 可能反而会影响 Student 的信号(限制 Student 模型的效果上限)
  • 待补充:Teacher 比 Student 好多少时适合用 OPD?

OPD 和其他 RL 方法可以联合使用

  • 因为 OPD 和其他 RL 方法,如 GSPO/GRPO/Dr.GRPO 等是正交的,所以可以选择在不同的方法下使用 OPD

TTT(Test-Time Training)

  • 原始论文:Learning to (Learn at Test Time): RNNs with Expressive Hidden States, Stanford & Meta AI, 20240705 & 多次更新
  • TTT 是一种新型的序列建模层设计框架,是一种将测试时学习机制嵌入序列建模层的新范式
    • 其核心思想是将隐藏状态本身定义为一个机器学习模型,并通过自监督学习在测试时动态更新该模型
  • TTT 通过将隐藏状态建模为可学习的模型,并在推理过程中持续优化,从而在保持线性复杂度的同时提升对长上下文的建模能力
  • 理解:TTT 是一种更高阶的序列建模范式,其覆盖了普通的线性注意力和自注意力机制

TTT 核心方法设计

  • 传统序列建模
    • 传统的 RNN 层(如 LSTM、Mamba)将历史上下文压缩成一个固定大小的隐藏状态 ,这限制了其在长上下文中的表达能力
    • Transformer 虽然表达能力更强,但其注意力机制具有二次复杂度 ,不适合长序列
  • TTT 核心思想:
    • 隐藏状态 \(s_t\) 是一个模型 \(f\) 的参数 \(W_t\),例如线性模型或 MLP
    • 更新规则 是对该模型在输入序列上进行一步自监督学习(如梯度下降)
    • 输出规则 是使用当前隐藏状态(即模型参数)对当前输入进行预测:
      $$
      z_t = f(x_t; W_t)
      $$
  • TTT 的更新过程
    • 更新过程图示:
    • TTT 层的更新过程可以形式化为:
      • 1)初始化隐藏状态 :\(W_0\)(可学习)
      • 2)对每个时间步 \(t\) :
        • 计算自监督损失(如重建损失):
          $$
          \ell(W_{t-1}; x_t) = |f(\tilde{x}_t; W_{t-1}) - x_t|^2
          $$
        • 执行一步梯度下降更新:
          $$
          W_t = W_{t-1} - \eta \nabla \ell(W_{t-1}; x_t)
          $$
        • 输出:
          $$
          z_t = f(x_t; W_t)
          $$
  • TTT 的两种实例化(论文提出了两种具体的 TTT 层):
    • TTT-Linear :隐藏状态是一个线性模型 \(f(x) = Wx\)
    • TTT-MLP :隐藏状态是一个两层 MLP,具有更强的表达能力
  • 与 Transformer 的对比
    对比视角 Transformer TTT层
    隐藏状态 KV缓存:一个不断增长的列表,存储所有历史的 \( (K_i, V_i) \) 对 一个机器学习模型的参数 \( W_t \)(如线性模型的权重矩阵);大小固定
    更新规则 拼接;将当前词的 \( (K_t, V_t) \) 直接添加到KV缓存列表中 训练/学习;对隐藏状态模型执行一步梯度下降 ,以最小化一个自监督损失(如重建损失);
    \( W_t = W_{t-1} - \eta \nabla \ell(W_{t-1}; x_t) \)
    输出规则 全局注意力;计算当前 Query \( Q_t \) 与缓存中所有历史键 \( K_{1:t} \) 的相似度,然后对值 \( V_{1:t} \) 加权求和;
    \( z_t = \text{Attention}(Q_t, K_{1:t}, V_{1:t}) \)
    前向预测;直接将当前词(或其投影)输入到隐藏状态模型 \( f \) 中,得到输出;
    \( z_t = f(x_t; W_t) \)
    时间复杂度 每生成一个token,都需要扫描整个KV缓存,复杂度为 \( O(t) \);总复杂度为 \( O(n^2) \) 更新和预测的计算量只与隐藏状态模型的大小有关,与序列长度 \( t \) 无关;每token复杂度为 \( O(1) \),总复杂度为 \( O(n) \)

核心实验结论

  • TTT 在长上下文(如 16k、32k)中表现优于 Mamba,且能持续利用更多上下文信息降低困惑度
  • TTT-Linear 在短上下文中与 Mamba 相当,但在长上下文中优势明显
  • TTT-MLP 虽然潜力更大,但由于计算和内存 I/O 的限制,目前效率较低

其他

  • 论文还证明了:
    • 当 \(f\) 为线性模型且使用批量梯度下降(Batch Gradient Descent)时,TTT 等价于线性注意力
    • 当 \(f\) 为 Nadaraya-Watson 核回归估计器时,TTT 等价于自注意力

Titans

  • Titans: Learning to Memorize at Test Time, 20241231, Google
  • Titans 是一种用于序列建模的架构 ,旨在通过引入长时神经记忆模块 ,解决 Transformer 和现有线性循环模型在处理长序列时的局限性
  • Titans 的核心思想是模拟人脑中的短时记忆与长时记忆系统 ,构建一个多模块、可独立运作的记忆体系
  • Titans 的优点:
    • 长上下文支持 :可扩展到超过 200 万 token 的上下文长度
    • 在线记忆学习 :在测试时仍能学习并更新记忆,适应新数据
    • 并行化训练 :通过分块和矩阵运算实现高效训练
    • 理论表达能力强 :优于 Transformer 和多数线性循环模型,能解决超出 \(\mathrm{TC}^0\) 复杂度的问题
  • 总结:Titans 是一个融合短时注意力与长时神经记忆的混合架构 ,通过在线记忆学习、遗忘机制、动量更新和持久记忆 ,实现了对长序列的高效建模和强大推理能力
    • 理解:Titans 不仅在多项任务中超越现有模型,还开辟了可测试时学习的记忆增强网络的新方向

Titans 的核心介绍(三个主要模块)

  • 模块一:Core(核心模块)
    • 负责处理当前上下文,通常使用受限窗口的注意力机制 ,充当短时记忆
    • 公式表示:
      $$
      \mathbf{y}_t = \text{Attn}(\hat{\mathsf{S} }^{(t)})
      $$
  • 模块二:Long-term Memory(长时记忆模块)
    • 是一个神经记忆网络 ,能够在测试时继续学习并存储历史信息
    • 使用基于梯度的“惊奇度”机制来决定哪些信息值得记忆:
      $$
      S_t = \eta_t S_{t-1} - \theta_t \nabla \ell(\mathcal{M}_{t-1}; \boldsymbol{x}_t)
      $$
    • 包含遗忘机制(权重衰减)来管理记忆容量:
      $$
      \mathcal{M}_t = (1 - \alpha_t) \mathcal{M}_{t-1} + S_t
      $$
  • 模块三:Persistent Memory(持久记忆)
    • 一组可学习但与输入无关的参数 ,用于存储任务相关的元知识
    • 在输入序列前添加:
      $$
      \boldsymbol{x}_{\text{new} } = [\boldsymbol{p}_1, \dots, \boldsymbol{p}_{N_p}] \parallel \boldsymbol{x}
      $$

Titans 的三种变体

  • 论文提出了三种将记忆模块整合到架构中的方式:
    变体 名称 机制
    MAC Memory as a Context 将记忆输出作为当前上下文的补充输入
    MAG Memory as a Gate 使用门控机制融合记忆输出与注意力输出
    MAL Memory as a Layer 将记忆模块作为网络的一层,与注意力层堆叠

Negative Sample Reinforcement (NSR)

  • 原始论文:The Surprising Effectiveness of Negative Reinforcement in LLM Reasoning, Princeton University, Danqi Chen, 20250602 & 20251025
  • 参考博客:Negative Sample Reinforcement:负样本强化学习的惊人有效性
  • 论文讨论了 RLVR 在 LLM 推理任务中的有效性机制
  • 论文聚焦于 RLVR 中正负样本奖励信号的独立作用,核心探究:仅通过惩罚错误样本(负样本强化)是否能提升模型推理性能,以及如何平衡正负样本强化以兼顾推理准确性与输出多样性

Key Decomposition: Positive and Negative Sample Reinforcement

RLVR Objective Function
  • RLVR 基于二元奖励(正确 +1、错误 -1)优化模型策略,目标函数为:
    $$
    \mathcal{L}_{RLVR}(\theta)=-\mathbb{E}_{x \sim \mathcal{D}, y \sim \pi_{\theta}(\cdot | x)}[r(x, y)], \quad r(x, y) \in\{-1,+1\}
    $$
    • 其中 \(\theta\) 为模型参数,\(\mathcal{D}\) 为 Prompt 数据集,\(\pi_{\theta}(y|x)\) 为模型生成响应 \(y\) 的概率分布,\(r(x,y)\) 为可验证奖励函数
Decomposition into PSR and NSR
  • 将 RLVR 目标函数拆解为两个独立子目标,分别对应正负样本的学习信号:
    • 正样本强化(Positive Sample Reinforcement, PSR):提升正确响应的生成概率,类似有 SFT :
      $$
      \mathcal{L}_{PSR}(\theta)=-\mathbb{E}_{x \sim \mathcal{D} }\left[\sum_{y: r(x, y)=1} \pi_{\theta}(y | x)\right]
      $$
    • 负样本强化(Negative Sample Reinforcement, NSR):降低错误响应的生成概率,通过概率重分配优化推理路径:
      $$
      \mathcal{L}_{NSR}(\theta)=-\mathbb{E}_{x \sim \mathcal{D} }\left[\sum_{y: r(x, y)=-1}-\pi_{\theta}(y | x)\right]
      $$
    • 完整 RLVR 目标满足
      $$ \mathcal{L}_{RLVR}(\theta)=\mathcal{L}_{PSR}(\theta)+\mathcal{L}_{NSR}(\theta)$$
      • 两者均为 On-policy 学习,响应样本来自模型自身生成

Core Method: Negative Sample Reinforcement Mechanism

Gradient Dynamics of NSR
  • 通过 Token-level 梯度分析,NSR 的更新规则如下(\(\pi_v=\pi_{\theta}(v|x,y_{ < t})\)为 Token \(v\)的生成概率):
    • 对于错误响应中的采样 Token (\(v=y_t\)):抑制其概率
      $$
      \color{red}{-\frac{\partial \mathcal{L}_{NSR} }{\partial z_{v} } \propto -\pi_{v} \cdot\left(1-\pi_{v}\right)}
      $$
    • 对于未采样 Token (\(v \neq y_t\)):按当前概率比例提升其权重,保留合理候选
      $$
      \color{red}{-\frac{\partial \mathcal{L}_{NSR} }{\partial z_{v} } \propto \pi_{y_{t} } \cdot \pi_{v}}
      $$
    • 其中 \(z_v\) 为 Token \(v\) 的对数几率(logit)
  • 该机制具有三大优势:
    • 1)保留高置信先验知识:对模型预训练中习得的高概率正确 Token (如语法结构)惩罚较弱;
    • 2)先验引导的概率重分配:按模型原有信念优化候选 Token 排序,促进有效探索;
    • 3)隐式正则化:错误响应消除后自动停止更新,避免过拟合与多样性坍缩
  • 思考:
    • 这样可能导致模型长期不收敛,因为未采样到的样本都能分配相同的概率
    • 这样还可能导致模型学习很慢,因为正确响应相当于没有被学习,而且不断降低 低概率的 Token,估计得把几乎所有可能的 Token 都访问一遍才能学到?这效率也太低了
Weighted Reinforcement Learning Objective
  • 为平衡 PSR 的准确性优势与 NSR 的多样性保留能力,提出加权强化(Weighted-REINFORCE, W-REINFORCE)目标,通过系数 \(\lambda\) 下调 PSR 权重:
    $$
    \color{red}{\mathcal{L}_{W-REINFORCE }(\theta)=\lambda \cdot \mathcal{L}_{PSR}(\theta) + \mathcal{L}_{NSR}(\theta)}
    $$
    • 其中 \(\lambda=0.1\)(实验最优值),当 \(\lambda=1\) 时退化为标准 REINFORCE,\(\lambda=0\) 时等价于纯NSR
  • 思考:
    • 相对仅使用 NSR 的方法,这个思路比较合理

Experimental Design

Models and Datasets
  • Base Model :Qwen2.5-Math-7B、Qwen3-4B(非思考模式)、Llama-3.1-8B-Instruct;
  • 训练数据集:MATH(7500道数学题);
  • 评估基准:MATH、AIME 2025、AMC23,核心指标为全谱Pass@k(\(k=1,2,…,256\)),衡量不同采样次数下的正确响应率
Comparative Algorithms
  • 包括 PPO(2017)、GRPO(2025)、标准 REINFORCE(1992)、纯 PSR、纯 NSR,其中 PPO 与 GRPO 采用 KL 正则化(系数 1e-3)和裁剪机制(clip ratio=0.2)稳定训练

核心结论

  • 纯 NSR 的意外有效性:无需强化正确样本,即可在全 Pass@k 谱上超越 Base Model ,甚至匹配/超越 PPO 与 GRPO,尤其在大 k(如256)时表现更优;
  • PSR 的局限性:仅提升 Pass@1(贪心解码准确性),但因多样性坍缩导致大 k 时性能下降;
  • W-REINFORCE 的优势:在 MATH、AIME 2025、AMC23 上均实现准确性与多样性的平衡,多数 k 值下超越现有RL算法;
  • 模型依赖性:NSR 对 Qwen 系列模型提升显著,但对 Llama-3.1-8B-Instruct 的性能降解最小,说明骨干模型特性影响 RL 效果(2025)

Contrastive Decoding (CD)

  • 原始论文:Contrastive Decoding: Open-ended Text Generation as Optimization, Stanford & CMU & FAIR, 2023
  • 参考博客:[2]Contrastive Decoding: 一种可提高文本生成质量的解码方法 - 机器爱学习的文章 - 知乎
  • 对比解码(Contrastive Decoding, CD) 是一种无额外训练的搜索式解码方法 ,通过利用不同规模语言模型的差异优化生成目标,在保证流畅性的同时提升文本连贯性和多样性,解决了传统解码中重复、不连贯或主题漂移的问题

Core Design Idea

  • 核心观察:小型语言模型(Amateur LM)比大型语言模型(Expert LM)更容易出现重复、主题漂移等不良生成行为,而大型模型在合理输出上的概率分配更具优势
  • 设计目标:通过对比两个模型的概率差异,强化大型模型的优质生成特征,抑制小型模型的不良生成倾向
  • 关键特性:无需对模型进行额外训练,直接使用现成(off-the-shelf)的不同规模模型,推理开销低且泛化性强

Core Components

Contrastive Objective Function
  • 目标函数定义为大型模型与小型模型对数概率的差值,用于奖励大型模型偏好的优质文本,惩罚小型模型偏好的不良文本:
    $$
    \mathcal{L}_{CD}(x_\text{cont}, x_\text{pre}) = \log p_\text{EXP}(x_\text{cont} | x_\text{pre}) - \log p_\text{AMA}(x_\text{cont} | x_\text{pre})
    $$
    • \(x_\text{pre}\) 为输入 Prompt
    • \(x_\text{cont}\) 为生成的续文
    • \(p_\text{EXP}\) 表示大型专家模型(如 OPT-13B、GPT-2 XL)的概率分布
    • \(p_\text{AMA}\) 表示小型 amateur 模型(如 OPT-125M、GPT-2 Small)的概率分布
自适应合理性约束(Adaptive Plausibility Constraint, \(V_{head}\))
  • 为解决对比目标可能导致的虚假阳性(奖励不合理 token)和虚假阴性(惩罚合理 token)问题,引入基于大型模型置信度的约束,筛选出概率足够高的候选 token:
    $$
    \mathcal{V}_{head}(x_{ < i}) = \left\{x_i \in \mathcal{V} : p_\text{EXP}(x_i | x_{ < i}) \geq \alpha \max_w p_\text{EXP}(w | x_{ < i})\right\}
    $$
    • \(\alpha\) 为超参数(论文中固定为 0.1)
    • \(\mathcal{V}\) 为词汇表
    • \(x_{ < i}\) 表示第 \(i\) 个 token 之前的上下文
    • 理解:不用这么麻烦,直接替换 \(\max_w p_\text{EXP}(w | x_{ < i}) \rightarrow 1\) 应该是可以的
Full Decoding Framework
  • 结合对比目标和合理性约束,通过束搜索(beam search,束宽设为 5)优化 token-level 得分,流程如下:
    • 1)基于 \(V_{head}\) 筛选出大型模型高概率候选 token;
    • 2)计算候选 token 的对比得分(CD-score):
      $$
      \color{red}{\text{CD-score}(x_i; x_{ < i}) =
      \begin{cases}
      \log \frac{p_\text{EXP}(x_i | x_{ < i})}{p_\text{AMA}(x_i | x_{ < i})}, & \text{if } x_i \in \mathcal{V}_{head}(x_{ < i}), \\
      -\inf, & \text{otherwise.}
      \end{cases}}
      $$
    • 3)选择对比得分最高的 token 作为下一个生成 token,迭代完成续文生成
      • 理解:核心步骤
Amateur LM Selection Strategy
  • 规模差异:优先选择同模型家族中最小的模型作为 amateur(如 OPT-13B 搭配 OPT-125M),规模差距越大,生成质量越优;
  • 温度调节:通过调整 amateur 模型的温度参数 \(\tau\)(GPT-2 实验中设为 0.5,OPT 实验中设为 1.0),强化其不良行为特征;
  • 上下文限制:可限制 amateur 模型的上下文窗口(如仅使用最后一个 token),进一步突出大型模型的连贯性优势
    • 问题:若仅使用最后一个 Token,那还不如用统计了吧?或者说用统计也可以?
    • 创新思考:是否可以在学习时基于统计或者学习一个简单模型,然后预训练或者 SFT 直接针对这个比值进行训练?
      • 补充:其实最新有论文是这样做的

Key Features and Advantages

  • 无额外训练:直接使用预训练模型,无需微调或重新训练,部署成本低;
  • 跨模型泛化:适用于 GPT-2、OPT 等不同家族和规模的模型;
  • 多维度优化:在自动评估(MAUVE 得分、连贯性得分)和人工评估(流畅性、连贯性)中均显著优于 nucleus sampling、top-k、典型解码等基线方法;
  • 鲁棒性强:实验来看,超参数(\(\alpha\)、\(\tau\))在较广范围内(如 \(\tau \in [0.5, 1.0]\))性能稳定

REINFORCE++

  • 原始论文:REINFORCE++: An Efficient RLHF Algorithm with Robustness to Both Prompt and Reward Models, 20250104-20251110, Jian Hu & Jason Klein Liu & Wei Shen
  • 本质可以理解为 REINFORCE 方法(不是基于组的)
  • ReMax、RLOO 和 GRPO 等基于 REINFORCE 的方法以消除评论家网络,但它们往往在优势估计上存在挑战,容易导致对简单提示的过拟合和 Reward Hacking
  • REINFORCE++ 创新:
    • 通过使用全局批次归一化奖励作为基线,避免了对特定提示的过拟合,并在不同奖励模型中展现了鲁棒性
    • 讨论了使用 k2 而不是 k3 作为 kl 散度(并将 KL Penalty 直接加到 Reward 上)
  • 实现上:REINFORCE++ 在 REINFORCE 的基础上,记录历史平均奖励作为基线(即前面说的全局批次归一化奖励),判断模型是否在进步(相比 GRPO,基线不是 Prompt 粒度的,而是历史)
    • 注:使用历史奖励的均值和方差做归一化,类似 Batch Normalization(论文认为 GRPO 的方法会出现 Prompt 粒度的有偏问题)
  • REINFORCE++ 可视为 GAE 参数设置为 \( \lambda = 1 \) 且 \( \gamma = 1 \) 时,移除了评论家网络并采用全局批次归一化基线的 PPO 变体
  • REINFORCE++ 方法出现在 ReMax, GRPO 和 RLOO 之后,对比如下:
  • 其他讨论:
    • REINFORCE++ 使用的是 k2 KL 散度估计而不是 k3,论文参考了博客 Rethinking KL Regularization in RLHF: From Value Estimation to Gradient Optimization 中的内容

问题分析和提出

PPO 及其问题
  • PPO 通过以下替代目标进行优化:
    $$
    \mathcal{L}_{\mathrm{PPO} }(\theta) = \mathbb{E}_{q\sim P(Q),\rho \sim \pi_{\theta_{\mathrm{old} } }(O|q)}\left[\frac{1}{|\alpha|}\sum_{t = 1}^{|\alpha|}\min \left(s_t(\theta)A_t,\mathrm{clip}(s_t(\theta),1 - \epsilon ,1 + \epsilon)A_t\right)\right]
    $$
    • 其中 \( s_t(\theta) = \frac{\pi_{\theta}(\sigma_t|q,\sigma_{< t})}{\pi_{\theta_{\mathrm{old} } }(\sigma_t|q,\sigma_{< t})} \)
  • PPO 需要评论家网络来估计优势函数,这在大规模模型对齐中带来了计算负担
现有 REINFORCE 基线方法及其问题
  • ReMax :使用贪心解码生成一个响应,并将其奖励作为基线:
    $$
    A_{q,o_t} = r(o_{1:t},q) - r(\delta_{1:t},q)
    $$
    • 其中 \(\delta_{1:t} = \underset {o_{1,\dots ,o_{t}^{\prime} } }{\operatorname{argmax} }\prod_{i = 1}^{t}\pi_{\theta}(o_{i}^{\prime}\mid q,o_{< i}^{\prime})\)
  • RLOO :为每个提示生成多个响应,使用其他响应的平均奖励作为基线:
    $$
    A_{q,o_t^{(i)} } = r(o_{1:t}^{(i)},q) - \frac{1}{k - 1}\sum_{j\neq i}r(o_{1:t}^{(i)},q)
    $$
  • GRPO :采用分组相对优势估计,使用所有响应的均值除以标准差作为基线:
    $$
    A_{q,o_t^{(i)} } = \frac{r(o_{1:t}^{(i)},q) - \mathrm{mean}(\{r(o_{1:t}^{(i)},q)\}_{j = 1}^k)}{\mathrm{std}(\{r(o_{1:t}^{(i)},q)\}_{j = 1}^k)}
    $$
  • 总结来说:以上这些方法为每个提示单独计算基线,容易导致:
    • 过拟合 :模型可能过度优化简单提示的最佳响应
    • Reward Hacking :在训练中滥用奖励信号,而非真正提升泛化能力
    • 泛化下降 :在分布外(OOD)数据上表现不佳

解决方案:REINFORCE++

  • 基本思路:REINFORCE++ 保留了 PPO 的目标函数和裁剪策略,但移除了评论家网络 ,并将折扣因子设为 \( \gamma = 1 \)
    • 核心创新在于使用全局批次的平均奖励 作为基线,并进行归一化处理,从而提高训练稳定性和泛化能力
优势函数设计
  • 优势计算基于“奖励减去基线”的形式,并引入 KL 惩罚项以控制策略偏移(注:这与 GRPO 不同,跟原始 PPO 类似,将 KL Penalty 加到 Reward 上):
    $$
    A_{q,\theta_t} = r(o_{1:t},q) - \beta \cdot \sum_{i = t}^{T}\mathrm{KL}(i)
    $$
  • 其中 KL 惩罚项定义为:
    $$
    \mathrm{KL}(t) = \log \left(\frac{\pi_{\theta_{\mathrm{old} } }^{\mathrm{RL} }(o_t|q,o_{< t})}{\pi^{\mathrm{SFT} }(o_t|q,o_{< t})}\right)
    $$
全局批次归一化
  • for 进一步稳定训练,对优势进行全局批次归一化:
    $$
    A_{q,\theta_t}^{\mathrm{norm} } = \frac{A_{q,\theta_t} - \mathrm{mean}(A_{q,\theta_t})}{\mathrm{std}(A_{q,\theta_t})}
    $$
简单总结算法流程
  • 从初始策略模型开始
  • 在每个训练步中:
    • 从 Prompt 集中采样一个批次
    • 为每个 Prompt 生成一个响应
    • 计算每个响应的奖励
    • 计算归一化优势
    • 通过最大化 REINFORCE++ 目标更新策略模型

对比 REINFORCE++ 与 PPO 的关系

  • 当 PPO 的 GAE 参数设置为 \( \lambda = 1 \) 且 \( \gamma = 1 \) 时,REINFORCE++ 可视为移除了评论家网络并采用全局批次归一化基线的 PPO 变体
  • 数学上表示为:
    $$
    \mathrm{GAE}(\lambda = 1,\gamma = 1) = \sum_{l = 0}^{\infty}r_{l + l} - V(s_{l})
    $$
    • 其中 \( V(s_t) \) 被移除,并由全局批次归一化替代

REINFORCE++ 变体:REINFORCE++-Baseline

  • For 提升性能,作者还提出一个变体:REINFORCE++-Baseline ,该变体为每个提示生成多个响应,并使用其平均奖励作为组内基线,但仍进行全局批次归一化:
    $$
    \begin{align}
    Adv_{q,\theta_t} &= R_{q,\theta_t} - \mathrm{mean}_{group}(R_{q,\theta_t}) \\
    Adv_{q,\theta_t}^{norm} &= \frac{Adv_{q,\theta_t} - \mathrm{mean}_{batch}(Adv_{q,\theta_t})}{\mathrm{std}_{batch}(Adv_{q,\theta_t})}
    \end{align}
    $$

重点讨论:KL 惩罚设计:选择 \( k_2 \) 而非 \( k_3 \)

  • 作者指出,GRPO 中使用的 \( k_3 \) 估计存在偏差和不对称性问题,而 \( k_2 \) 估计在理论上更无偏
  • 因此,REINFORCE++选择使用 \( k_2 \) 估计以提升算法稳定性和准确性
  • 关于这一点的讨论详见本人其他博客

实验1:基于 Bradley-Terry 奖励模型的性能

  • 使用约 700K 对人工偏好数据训练奖励模型,并使用 20K 条多样化提示进行策略训练
  • 在 Chat-Arena-Hard 上进行评估
  • 最终结果 :
    • GRPO 在总分上略优于 REINFORCE++(46.8 vs 46.7),但生成了更长的响应(平均 860 词 vs 832 词)
    • 理解:这里的长度可以用其他惩罚调整到一致吧
      • 在每词得分上,REINFORCE++ 显著优于 GRPO(0.0561 vs 0.0544) ,表明其输出更高效
    • 在 OOD 任务(GSM8K、MATH、HumanEval、MBPP)上,REINFORCE++ 平均得分 85.45,优于 GRPO 的 83.46,展现出更强的泛化能力

实验2:长链思维任务性能

  • 小规模数据集分析:
    • 方法:仅使用 30 个 AIME-24 问题训练,在 AIME-25 上测试
    • 结果:
      • GRPO在训练集上近乎完美,但在测试集上表现极差;
      • REINFORCE++在训练集上得分71.0,在测试集上表现更好(Pass@1: 2.5, Pass@16: 40.0),显示出更好的泛化能力
  • 从监督微调模型开始强化学习
    • 任务:Knights & Knaves逻辑推理谜题
    • 结果:
      • 随着问题难度(角色数量)增加,GRPO 性能显著下降,而 REINFORCE++ 表现更稳定
      • 在 8 人 OOD 场景中,REINFORCE++ 得分36,显著高于 GRPO 的20
  • 从零开始的强化学习
    • 设定:基于 Qwen2.5-Math-Base,在 MATH 数据集上进行 RLVR 训练
    • 结果:在 OOD 测试集(AIME-24、AIME-25)上,REINFORCE++ 显著优于 GRPO,进一步证实其更强的泛化能力和抗过拟合性

LightReasoner

  • 原始论文:LightReasoner: Can Small Language Models Teach Large Language Models Reasoning?, HKU, 20251009
  • 参考博客:小模型当老师,大模型反而学得更好了?
  • 论文的基本思路来自于 Contrastive Decoding: Open-ended Text Generation as Optimization, Stanford & CMU & FAIR, 2023
  • TLDR:针对传统 SFT 资源消耗大、训练效率低的问题,提出一种反直觉框架:
    • 利用小语言模型(Small Language Model, SLM)作为“业余模型(Amateur Model)”,通过其与大型语言模型(Large Language Model, LLM)“专家模型(Expert Model)”的行为差异,定位高价值推理时刻,为专家模型提供精准监督信号,实现高效推理能力提升,且无需依赖真实标签(Ground-Truth Labels)

Key Theoretical Foundations

Autoregressive Language Model Generation
  • 给定词汇表 \(\mathcal{A}\) 和输入 \(a_0\),语言模型通过前缀 \(s_t = [a_0, …, a_{t-1}]\) 自回归生成响应 \(a_{1:T} = [a_1, …, a_T]\),输出分布为 \(\pi_\text{LM}(\cdot | s_t)\),联合似然分解为:
    $$
    \pi_\text{LM}(a_{1:T} | a_0) = \prod_{t=1}^T \pi_\text{LM}(a_t | s_t)
    $$
    • 推理能力的提升本质是优化模型的生成策略 \(\pi_\text{LM}\)
Token Informativeness(信息量量化) via Expert-Amateur Divergence
  • 通过 KL 散度(Kullback–Leibler Divergence)量化专家模型 \(\pi_\text{E}\) 与业余模型 \(\pi_\text{A}\) 在每个生成步骤的分歧,定位关键推理节点:
    $$
    D_{KL}\left(\pi_\text{E}(\cdot | s_t) | \pi_\text{A}(\cdot | s_t)\right) = \sum_{a \in \mathcal{A} } \pi_\text{E}(a | s_t) \log \frac{\pi_\text{E}(a | s_t)}{\pi_\text{A}(a | s_t)}
    $$
    • KL 散度值越大,表明该步骤是区分专家与业余推理能力的关键瓶颈,此类 token 仅占总 token 的 20% 左右,但对推理结果起决定性作用(2022; 2025)

Framework Workflow

  • LightReasoner 包含两个核心阶段,整体流程如图4所示:
Sampling Stage
  • 第一步:信息性步骤筛选(Informative Step Selection)

    • 通过 \(\beta\)-过滤保留KL散度超过阈值的关键步骤,过滤 trivial 步骤以避免学习信号稀释:
      $$
      D_{KL}\left(\pi_\text{E}(\cdot | s_t) | \pi_\text{A}(\cdot | s_t)\right) > \beta
      $$
    • 其中 \(\beta = 0.4\)(经实验验证的最优阈值)
  • 第二步:对比分布监督信号构建(Contrastive Distributional Supervision)

    • 1)掩码支持集(Masked Support Set):过滤专家模型低置信度 token,避免噪声干扰:
      $$
      \mathcal{A}_{mask} = \left\{a \in \mathcal{A} : \pi_\text{E}(a | s_t) \geq \alpha \cdot \max_{b \in \mathcal{A} } \pi_\text{E}(b | s_t)\right\}
      $$
      • 其中 \(\alpha = 0.2\),用于平衡监督信号的质量与多样性,跟 Contrastive Decoding: Open-ended Text Generation as Optimization, Stanford & CMU & FAIR, 2023 类似
    • 2)对比分数计算:量化专家模型相对业余模型的优势:
      $$
      v’_C(a | s_t) = \log \frac{\pi_\text{E}(a | s_t)}{\pi_\text{A}(a | s_t)}
      $$
    • 3)归一化处理:将对比分数转换为有效概率分布,形成最终监督信号 \(v_C(\cdot | s_t)\):
      $$
      \tilde{v}_C(\cdot | s_t) = \text{softmax}\left(v’_C(\cdot | s_t)\right) \quad (\text{over } \mathcal{A}_{mask}) \\
      v_C(a | s_t) = \begin{cases}
      \tilde{v}_C(a | s_t) & a \in \mathcal{A}_{mask} \\
      0 & \text{otherwise}
      \end{cases}
      $$
Fine-Tuning Stage
  • 采用自蒸馏训练目标(Self-Distillation Training Objective),使专家模型对齐对比监督信号,强化其推理优势:
    $$
    \color{red}{\mathcal{L}(s_t) = D_{KL}\left(v_C(\cdot | s_t) | \pi_\text{E}(\cdot | s_t)\right) = \sum_{a \in \mathcal{A} } v_C(a | s_t) \left[\log v_C(a | s_t) - \log \pi_\text{E}(a | s_t)\right]}
    $$
    • 该目标等价于交叉熵最小化,可高效引导专家模型在关键推理步骤上增强与业余模型的分歧

Key Implementation Details

  • 1)模型配对(Model Pairing):专家模型选用 Qwen2.5-Math 系列(1.5B/7B)、DeepSeek-R1-Distill-1.5B 等,业余模型固定为 Qwen2.5-0.5B(无专门数学预训练,确保领域 expertise 差异);
  • 2)训练配置(Training Configuration):采用 LoRA 进行参数高效微调,rank=8,scaling factor=16,目标模块为 q_proj 和 v_proj;训练步数 1000 步,有效批次大小 16;
  • 3)数据处理(Data Processing):基于 GSM8K 数据集生成推理轨迹,采用 CoT Prompt 引导分步推理,轨迹长度限制为 128 token(早期步骤推理信号更可靠)

LightReasoner 核心优势

  • 性能卓越(Strong Performance):在7个数学推理基准上,准确率最高提升 28.1%,优于传统 SFT
  • 效率极高(Order-of-Magnitude Efficiency):训练时间减少 90%,采样问题减少8 0%,微调 token 减少 99%,无需真实标签验证
  • 泛化性强(Cross-Dataset Generalization):仅在 GSM8K 上训练,可迁移至 MATH、SVAMP 等多个基准,捕获通用推理模式
  • 灵活适配(Adaptive to Model Architectures):适用于不同规模、不同优化程度的模型( Base Model /指令微调模型)

Idiosyncrasies in Large Language Models

  • 原始论文:Idiosyncrasies in Large Language Models, 20250616, ICML 2025, CMU & UC Berkeley
  • Idiosyncrasies:特质;特征;癖好
  • 核心结论:LLM 存在独特特质,通过微调文本嵌入模型可高准确率区分不同模型的输出,这些特质根植于词汇分布与语义内容,且具有广泛应用与潜在风险

研究目标

  • 验证不同 LLMs 是否存在可区分的独特特质
  • 构建分类任务量化这些特质,评估分类准确率
  • 探究特质的来源与表现形式
  • 讨论研究发现的广泛意义与应用场景

核心方法

任务设计:LLM输出分类任务
  • 给定 N 个 LLM(记为 \(f_{1}, …, f_{N}\)),每个模型接收 Prompt \(\p) 并输出文本 \(o\),收集每个模型的输出集 \(O_{i}\)
  • 构建 N 分类任务,目标是根据输出文本预测其来源模型,以分类准确率衡量模型特质的显著程度
模型与训练设置
  • Base Model :采用 Decoder-based Transformer 文本嵌入模型 LLM2vec,添加 \(N\) 分类头
  • 训练方法:使用 LoRA 微调,输入序列截断为 512 个 token
  • 关键参数:优化器为 AdamW,权重衰减 0.001,动量 \(\beta_{1}=0.9\)、\(\beta_{2}=0.999\),训练轮次 3 轮,批次大小 8,学习率采用余弦衰减,热身比例 10%,梯度裁剪 0.3
实验数据与模型分组
  • 数据收集:每个 Prompt 数据集收集11K文本序列,按10K(训练集)和1K(验证集)拆分,跨模型使用相同拆分
  • 模型分组:
    • 聊天API模型(chat):ChatGPT、Claude、Grok、Gemini、DeepSeek(部分闭源)
    • Instruct 模型(instruct):Llama、Gemma、Qwen、Mistral(均为7-9B参数规模)
    • Base 模型(base):上述 Instruct 模型的预训练版本(无后训练阶段)
  • Prompt 数据集:聊天 API 和 Instruct 模型使用 UltraChat,Base 模型使用 FineWeb
文本变换与分析方法
  • 文本变换:包括词汇 Shuffle (词级、字母级)、移除特殊字符、改写(释义、翻译、总结)、格式控制(纯文本、长度限制)等
  • 分析工具:使用ROUGE-1、ROUGE-L、BERTScore衡量文本相似度;通过TF-IDF提取特征短语;借助LLM作为评判者进行开放式语言分析

主要实验与结果

跨模型家族分类实验
  • 聊天API模型:5 分类任务验证集准确率达 97.1%(随机猜测准确率 20%),两两组合分类准确率均超 90%,部分达 99%
    • 注:其中 Gemini 和 DeepSeek 的差异高达 99.9%
  • Instruct 模型:多组合分类准确率普遍超 96%,两两组合多数达 99%
  • Base 模型:分类准确率达 87.3%,低于聊天 API 和 Instruct 模型,但远高于随机水平
同模型家族分类实验
  • 以 Qwen2.5 系列 4 个不同参数规模(7B、14B、32B、72B)的 Instruct 模型为对象,4 分类准确率 59.8%,两两组合最高准确率 85.5%
  • 区分同一模型的基础版与指令版:Qwen2.5-7b 的两类模型分类准确率达 96.8%
分布外泛化实验
  • 训练集与测试集来自不同 Prompt 数据集(UltraChat、Cosmopedia、LmsysChat、WildChat), Instruct 模型分类准确率维持在 88.3%-99.8%,证明模型学到的特质具有强泛化性
控制变量实验
实验1:Prompt 干预实验
  • 长度控制(限制 100 词内单段回复): Instruct 模型分类准确率 93.0%(原始 96.3%)
  • 格式控制(纯文本,禁用标记语言): Instruct 模型分类准确率 91.4%,特质不受表面格式约束
实验2:输入序列长度实验
  • 仅使用 1 个 token 时,聊天API和 Instruct 模型分类准确率约 50%;输入长度达 256 token 后,准确率趋于饱和
  • 结论:初始 token 含独特信号,更多上下文可提升分类效果
实验3:采样方法实验
  • 同一模型(Llama3.1-8b instruct)
    • 采用不同采样策略(贪心解码、温度 softmax、top-k、top-p),分类准确率最高 59%;
    • 5种温度(T=0,0.25,0.5,0.75,1)的 softmax 采样分类准确率 37.9%,仅略高于随机水平
    • 采样策略对模型特质影响极小
实验4:文本嵌入模型对比实验
  • 不同模型作为基座训练结论
    嵌入模型 chat准确率 instruct准确率 base准确率
    ELMo 90.8% 91.0% 69.8%
    BERT 91.1% 91.5% 66.0%
    T5 90.5% 89.8% 67.9%
    GPT-2 92.1% 92.3% 80.2%
    LLM2vec 97.1% 96.3% 87.3%
    • 先进嵌入模型表现更优,LLM2vec 效果最佳
实验5:训练数据量实验
  • 仅 10 个训练样本时,聊天 API 模型分类准确率 40.3%(超随机水平);训练样本达 10K 时,准确率收敛,更多数据可提升分类性能

特质来源分析实验

分析1:词汇与字母层面
  • 移除特殊字符:
    • chat 准确率 95.1%、instruct 93.8%、base 75.4%,影响极小
  • 词级 Shuffle :
    • chat 准确率 88.9%、instruct 88.9%、base 68.3%,仍保持高准确率
  • 字母级 Shuffle :
    • 三类模型准确率均降至 38.6%-39.1%,接近随机水平
  • 特征短语:
    • 通过 TF-IDF 提取单字/双字特征,逻辑回归分类器在 chat 和 instruct 模型上准确率达 85.5% 和 83.7%
    • 注:各模型有独特高频短语(如ChatGPT 常用 “such as”,Claude 常用 “according to”)
    • 理解:仅使用 TF-IDF 抽取特征,使用 LR 分类器就已经有很高分类精度了,但远低于 LLM2vec 的 97% 的水平
分析2:标记语言格式层面
  • 仅保留 markdown 元素(粗体、斜体、标题等),替换文本为“xxx”:
    • chat 准确率 73.1%、instruct 77.7%、base 38.5%
  • 各模型格式使用存在差异(如 Claude 极少用粗体和标题,Gemini 常用斜体)
  • 理解:仅仅格式方面就有较大差异
分析3:语义层面
  • 语义层面的相似度检查
    文本处理方式 chat准确率 instruct准确率 base准确率
    原始文本 97.8% 96.3% 87.3%
    释义改写 91.4% 92.2% 71.7%
    翻译(中译) 91.8% 92.7% 74.0%
    总结 58.1% 57.5% 44.7%
  • 语义保留变换(释义、翻译)后仍保持高准确率,总结后准确率下降但超随机水平,证明语义是特质的重要组成
  • 开放式语言分析:ChatGPT 倾向详细深入解释,Claude 侧重简洁直接回应,各模型在语气、词汇、结构上有显著差异

研究结论

核心结论
  • 不同 LLMs 存在显著且稳定的独特特质,通过微调文本嵌入模型可实现高准确率分类,该现象适用于不同模型家族、规模和 Prompt 数据集
  • 特质来源包括三方面:
    • 词汇分布(特征短语、高频词使用)
    • 标记语言格式习惯
    • 语义表达风格(语气、内容详略)
  • 特质具有强鲁棒性,不受长度限制、格式约束、采样策略影响,且可通过释义、翻译等语义保留变换传递
意义与应用
  • 合成数据训练:使用 LLM 生成的合成数据训练新模型,会继承源模型的特质,需谨慎使用
  • 模型相似度推断:可通过分类框架量化不同模型(含闭源与开源)的相似度,如 Grok 输出常被归类为 ChatGPT
  • LLM 评估优化:现有投票式排行榜(如 Chatbot Arena)易受特质操纵,需开发更稳健的评估方法
  • 理解:很多模型得分高,可能就是特质导致的
未来研究方向
  • 验证特质是否适用于非 Transformer 架构的 LLM(如状态空间模型、扩散语言模型)
  • 探究训练过程如何导致特质形成
  • 扩展至大规模、未知来源模型的分类场景
  • 研究特质与模型蒸馏技术的关联

(AEPO) QwenLong-L1.5

  • 原始文章:(AEPO)QwenLong-L1.5: Post-Training Recipe for Long-Context Reasoning and Memory Management, Qwen Team, 20251215
    • 解读博客: QwenLong-L1.5:长上下文推理与记忆管理的后训练方案
  • QwenLong-L1.5 是基于 Qwen3-30B-A3B-Thinking 开发的长上下文推理模型,创新点包括:
    • 数据合成
    • 强化学习优化
    • 记忆增强架构
  • QwenLong-L1.5 在长上下文推理基准上实现了 9.90 分的平均提升,性能比肩 GPT-5 和 Gemini-2.5-Pro,同时在 1M∼4M Token 的超长任务中展现出显著优势

Background and Contribution

  • 背景:长上下文推理是 LLM 的关键能力,但现有研究多集中在预训练或架构创新,缺少成熟的端到端后训练方案,存在三大缺口:
    • 高质量长上下文推理数据稀缺
    • 缺乏适配长上下文的强化学习方法
    • 无针对超上下文窗口任务的智能体架构
  • 整体贡献
    • 1)提出长上下文数据合成流水线(Long-Context Data Synthesis Pipeline) :解构文档为原子事实及关系,生成多跳推理、数值计算等复杂任务,避免简单检索类任务局限
    • 2)设计稳定的长上下文强化学习策略(Stabilized Reinforcement Learning for Long-Context Training) :包括任务平衡采样、任务特定优势估计和 AEPO 方法,解决训练不稳定性
    • 3)构建记忆增强架构(Memory-Augmented Architecture for Ultra-Long Contexts) :通过多阶段融合强化学习训练,整合单遍推理与迭代记忆处理,支持超 4M Token 任务

Long-Context Data Synthesis Pipeline

  • 数据规模与多样性
    • 最终构建 14.1K 高质量训练样本(远超前代 QwenLong-L1 的 1.6K),涵盖代码仓库、学术文献、专业文档等多领域
    • 输入长度上限提升至 119,932 Token ,平均输入长度达 34,231 Token ,包含多跳推理、假设场景、时间推理等 9 类复杂问题类型
  • 关键合成步骤
    • 1)语料收集与预处理:筛选 82,175 份高质量文档(约 92 亿 Token ),覆盖 5 大核心类别
    • 2)问答合成:通过知识图谱引导多跳推理、结构化表格引擎生成数值推理、多智能体自演进生成通用任务三类方法,确保信息分散分布以提升推理难度
    • 3)数据验证:通过知识接地检查(过滤无需上下文即可回答的样本)和上下文鲁棒性检查(插入无关文档验证答案稳定性)保证数据质量

长上下文后训练范式

  • 渐进式训练流程
    • 分四阶段逐步扩展输入/输出长度,避免直接切换长上下文任务导致的训练崩溃
      • 20K input + 12K output
      • 60K input + 20K output
      • 120K input + 50K output
    • 前三个阶段专注全上下文推理训练,第四阶段融合记忆管理专家模型(通过 SCE 算法合并),最终实现单遍推理与 Memory-Agent 能力的统一
  • 多任务强化学习优化
    • 任务平衡采样(Task-balanced sampling) :按领域、任务类型分层采样 ,确保每个训练批次中多任务分布均衡,避免数据偏移
    • 任务特定优势估计(Task-specific advantage estimation) :针对不同任务的奖励分布差异,基于任务级奖励标准差计算优势值,减少估计偏差,公式如下:
      $$A_{i}^{\text{task} }=\frac{r_{i}^{\text{task} }-mean\left(\left\{r_{k}^{\text{task} }\right\}_{k=1}^{G}\right)}{\text{std}\left(r^{\text{task} } | r^{\text{task} } \in \mathcal{B}^{\text{task} }\right)}$$
      • 其中 \(\mathcal{B}^{\text{task} }\) 为当前批次中同一任务的样本集合,\(r_{i}^{\text{task} }\) 为第 \(i\) 个样本的任务奖励
  • 记忆增强架构
    • 将超长文档分割为块,通过迭代记忆更新与导航规划实现全局信息整合:
      • 记忆更新:每处理一个文档块,基于历史记忆和当前块信息更新记忆状态 \(m_t\)
      • 导航规划:生成下一块的信息提取指引 \(p_t\),状态转移公式为:
        $$\left(m_{t}, p_{t}\right) \sim \pi_{\theta}\left(\cdot | m_{t-1}, p_{t-1}, x_{t}, q_{core }\right)$$
      • 最终答案生成:整合所有块的记忆 \(m_K\) 与格式指令 \(q_{inst }\),生成符合要求的输出

AEPO(Adaptive Entropy-Controlled Policy Optimization)

Motivation
  • 长上下文强化学习中存在两大核心问题:
    • 负优势样本与高熵 Token 强相关:高熵 Token (探索性推理步骤)易产生大梯度,增加参数更新方差,导致训练不稳定(Spearman 相关系数 \(\rho=0.96\))
    • 奖励分配模糊:长上下文任务中正确与错误推理路径的短语级重叠度高(如 DocMath 任务的 ROUGE-L 达 45.37),负样本包含大量正确步骤,直接惩罚会破坏模型探索能力
  • AEPO 通过动态控制负梯度信号,平衡探索与利用,解决训练不稳定性问题

核心定义与公式

Negative Gradient Clipping
  • 基于 GRPO 目标函数,加入熵控制的掩码机制 \(\mathbb{I}(i,t)\),筛选参与训练的梯度信号:
    $$\mathcal{J}_{GRPO}(\theta)=\mathbb{E}_{c, q \sim \mathcal{D},\left\{y_{i}\right\}_{i=1}^{G} \sim \pi_{\theta_{old } } }\left[\frac{1}{\sum_{j=1}^{G}\left|y_{j}\right|} \sum_{i=1}^{G} A_{i} \sum_{t=1}^{\left|y_{i}\right|} \rho_{i, t}(\theta) \mathbb{I}(i,t)\right]$$
    • 其中掩码函数 \(\mathbb{I}(i,t)\) 定义为:
      $$
      \mathbb{I}(i, t)=
      \begin{cases}
      0 & \text{if}\ A_{i}<0 \text{ and } \left(\left(P_{\text{token_level} } \land H(t | i)>\tau_{token }\right) \lor \left(\neg P_{\text{token_level} } \land \overline{H}(i)>\tau_{\text{sequence} }\right)\right) \\
      1 & otherwise
      \end{cases}
      $$
      • \(H(t | i)\) 为第 \(i\) 个序列第 \(t\) 个 Token 的 Token-level 熵,\(\overline{H}(i)\) 为 Sequence-level 平均熵
      • \(\tau_{token}\) 和 \(\tau_{sequence}\) 分别为 Token-level 和 Sequence-level 熵阈值
      • \(P_{\text{token_level}}\) 控制熵筛选粒度(Token-level/Sequence-level)
        • 注:\(P_{\text{token_level}}\) 是布尔类型的参数
Batch-level 熵定义
  • 用当前训练批次 \(\mathcal{B}\) 的平均熵,量化策略生成 Token 的随机性:
    $$H\left(\pi_{\theta}, \mathcal{B}\right)=-\frac{1}{|\mathcal{B}|} \sum_{i=1}^{|\mathcal{B}|} \frac{1}{\left|y_{i}\right|} \sum_{t=1}^{\left|y_{i}\right|} \sum_{v \in V} \pi_{\theta}\left(v | c, q, y_{i,<<t}\right) \log \pi_{\theta}\left(v | c, q, y_{i,<t}\right)$$
    • 其中 \(V\) 为模型词汇表,\(y_i\) 为第 \(i\) 个样本的生成序列,\(\pi_{\theta}\) 为当前策略模型
熵控制范围
  • 设定目标熵区间 \([H_{low}, H_{high}]\),动态调整负梯度参与训练的比例:
    • 当批次熵 \(H\left(\pi_{\theta}, \mathcal{B}\right) > H_{high}\):模型探索过度,屏蔽所有负优势样本,仅用正优势样本更新,减少熵值
    • 当批次熵 \(H\left(\pi_{\theta}, \mathcal{B}\right) < H_{low}\):模型探索不足,重新引入负梯度,避免熵崩溃
实验效果及分析
  • AEPO 核心优势
    • 动态平衡探索与利用:通过熵反馈机制自适应调整负梯度参与度,避免过度探索或探索不足
    • 稳定训练过程:屏蔽高熵负样本的干扰,减少梯度方差,支持超长序列的持续训练
    • 无需额外参数:基于现有策略熵计算,无需引入新的模型组件,易于集成
  • 实验结果
    • 在 Qwen3-4B-Thinking 上,AEPO 较 GRPO 基线平均提升 3.29 分,在 MRCR(密集奖励任务)和 CorpusQA(长上下文聚合任务)上提升尤为显著
    • 在 Qwen3-30B-A3B-Thinking 上,AEPO 保持熵值稳定在目标区间,训练 200 步后无性能下降,支持模型向更长序列扩展

整体实验性能

  • 长上下文基准测试
    • QwenLong-L1.5-30B-A3B 在 6 大长上下文基准(DocMath、LongBench-V2 等)上平均得分 71.82,较基线提升 9.90 分,其中 MRCR 任务提升 31.72 分,CorpusQA 任务提升 9.69 分,性能接近 Gemini-2.5-Pro(72.40)
  • 超长任务性能
    • 在 1M∼4M Token 任务中,Memory-Agent 框架较基线提升 9.48 分,在 4M Token 的 CorpusQA 任务中实现 14.29 分,远超传统全上下文模型的处理能力
  • 泛化能力
    • 长上下文推理能力可迁移至通用领域,在 AIME25(数学推理)提升 3.65 分,LongMemEval(对话记忆)提升 15.60 分,在工具使用、科学推理等场景均有改善

Artificial Hivemind: The Open-Ended Homogeneity of Language Models (and Beyond)

  • 原始论文:Artificial Hivemind: The Open-Ended Homogeneity of Language Models (and Beyond), 20251027, UW & CMU & AI2 & Stanford
  • Key Contributions
    • 1)构建首个大规模真实世界开放式 Query 数据集 INFINITY-CHAT,配套完整分类体系和高密度人类标注,填补开放式生成评估资源空白
    • 2)首次系统揭示LM在开放式任务中的“人工蜂群思维”效应,量化模型内重复与模型间同质化,为AI安全风险研究提供实证基础
    • 3)发现现有模型在捕捉人类多元偏好上的核心缺陷,为后续多元对齐、多样性优化提供明确方向
  • Limitations
    • 1)数据集以英文为主,可能低估非英语语境和多元文化场景的多样性,泛化性受限
    • 2)依赖文本嵌入相似度衡量多样性,可能未能捕捉创意表达的多维差异
    • 3)未完全厘清同质化的根本成因(如训练数据重叠、对齐流程、记忆效应等),需进一步机制分析
  • Future Work
    • 1)拓展数据集至多语言、多文化场景,完善分类体系的跨语境适应性
    • 2)研发多样性感知的训练目标和对齐方案,在保证质量的同时提升输出多样性
    • 3)深入探究同质化成因,优化数据筛选、模型训练流程以减轻“人工蜂群思维”效应

核心结论

  • LMs 在开放式生成任务中存在显著的 人工蜂群思维(Artificial Hivemind) 效应(或者翻译为 人工乌合之众 更好)
  • 具体表现为模型内部输出重复和模型间输出同质化 ,且现有 LM、奖励模型 及 LM Judger 难以匹配人类对开放式 Response 的多元偏好
    • 长期可能导致人类思维同质化,需通过针对性数据集和方法优化缓解这一风险

数据集构建:INFINITY-CHAT

  • 来源:从 WildChat 数据集筛选、清洗并修订真实用户 Query ,最终得到 26,070 条开放式 Query 和 8,817 条封闭式 Query ,涵盖真实世界多样化使用场景
  • 分类体系:构建首个开放式 Query 分类体系,包含 6 个顶层类别(如创意内容生成、头脑风暴与构思、推测性与假设场景等)和 17 个细分类别,通过 GPT-4o 自动标注并经人类验证(89% Query 被判定为真正开放式)
  • 人类标注:针对 50 个代表性 Query ,收集 31,250 条人类标注,包括 18,750 条绝对质量评分(1-5分)和 12,500 条 pairwise 偏好评分,每个 Query - Response 对均有25个独立标注,捕捉人类多元偏好

实验设计

  • 模型范围:涵盖 70+ 开源与闭源LM(主论文详述 25 个),包括 GPT-4o 系列、Llama-3 系列、Qwen 系列等主流模型
  • 生成参数:采用 top-p 采样(p=0.9,temperature=1.0)和 min-p 采样(p=1.0,min-p=0.1,temperature=2.0),每个模型对每个 Query 生成50条 Response
  • 评估指标:通过 OpenAI 的 text-embedding-3-small 计算句子嵌入的余弦相似度,衡量输出同质化;采用皮尔逊相关系数和斯皮尔曼相关系数,对比模型评分与人类标注的一致性;使用香农熵量化人类标注分歧
  • 子集分析:构建相似质量子集(通过 Tukey’s fences 等 6 种方法筛选)和高分歧子集(通过熵、基尼不纯度等6种方法筛选),验证模型评分与人类偏好的校准程度

关键实验 1:人工蜂群思维效应验证

Intra-model repetition,模型内部重复
  • 结果:
    • 即使采用高随机性解码参数,同一模型对同一开放式 Query 的输出仍高度重复
    • 79% 的 Query Response 平均相似度超过 0.8;
    • min-p 采样虽降低极端重复,但 81% 的 Response 对相似度仍超 0.7,61.2% 超 0.8,模式崩塌问题未根本解决
  • 例证:
    • 单个模型生成的“时间隐喻”类 Response ,核心意象集中于“河流”或“织工”,语义相似度极高
Inter-model homogeneity,模型间同质化
  • 结果:
    • 不同模型(含不同家族、不同规模)的输出语义重叠显著,平均 pairwise 相似度达 71%-82%;
    • 部分模型对(如DeepSeek-V3 与 qwen-max-2025-01-25)相似度高达 0.82,甚至出现完全相同的 Response (如“成功类社交媒体座右铭”生成完全一致的表述)
  • 聚类分析:
    • 25 个模型对“时间隐喻” Query 的 50 条 Response ,仅形成两大聚类(“时间是河流”主导聚类和“时间是织工”次要聚类),抽象概念收敛明显

关键实验 2:模型与人类偏好的校准分析

相似质量 Response 场景
  • 结果:
    • 当 Response 质量相近时,LM 困惑度、奖励模型分数、LM Judger 分数与人类评分的相关性显著下降
    • 说明现有模型难以区分“同等优质但风格/角度不同”的开放式 Response
  • 跨方法验证:
    • 6 种相似子集筛选方法均验证了这一结论,模型校准能力不足具有稳健性
高分歧人类偏好场景
  • 结果:
    • 当人类标注存在高分歧(熵值较高)时,模型评分与人类评分的相关性大幅降低,现有模型倾向于拟合单一“共识质量”,忽略人类多元偏好
  • 例证:
    • 对“生活意义”“周日海边雾景描述”等 Query ,人类标注熵值高,但模型评分难以反映这种偏好多样性

拓展实验: Prompt 改写对同质化的影响

  • 设计:对 30 个原始 Query 生成 4 种改写版本,共 150 个 Prompt,42 个模型各生成 20 条 Response
  • 结果:原始 Prompt 与改写 Prompt 的 Response 相似度差异仅为 0.04(分别为 0.821 和 0.781),说明即使调整 Prompt 表述,模型仍倾向于生成同质化内容

From \(f(x)\) and \(g(x)\) to \(f(g(x))\)

  • 原始论文:From f(x) and g(x) to f(g(x)): LLMs Learn New Skills in RL by Composing Old Ones, 20250929-20251219, UIUC & THU & Shanghai AI Lab & PKU
  • 研究代码开源链接:github.com/PRIME-RL/RL-Compositionality
  • 官方博客:From f(x) and g(x) to f(g(x)): LLMs Learn New Skills in RL by Composing Old Ones, 202509
    • 相关博客:大突破!实验证明,RL能为LLM注入“创新”能力
  • 论文 证实了 RL 能让 LLMs 通过组合现有原子技能习得真正的新技能,呼应了人类认知技能习得的核心机制(1982),反驳了“RL 仅激活现有技能”的悲观观点
  • 论文的亮点是:提出的受控合成框架(明确的原子/组合技能定义、可控难度、无数据污染)为LLM技能习得研究提供了新范式
  • 实践启示 :
    • Base Model 开发应注重原子技能的构建,为后续组合技能学习奠定基础
    • RL 训练需明确设置组合激励,才能有效习得泛化性强的复杂技能
    • 组合技能的跨任务迁移特性,可减少不同领域的 RL 训练数据需求

研究背景 & 核心问题

  • RL 在提升 LLM 性能方面取得了广泛成功,尤其在推理任务中,特别是近期研究发现,即便无需前置监督微调也能发挥作用
  • 但学界对RL的作用存在争议:
    • 观点一:认为 RL 能实现显著效果
    • 观点二:认为 RL 仅为现有推理策略重新加权,并未让模型习得真正的新技能
    • 除此以外,RL 训练中存在熵崩溃、pass@k 评估中性能差距随样本量增大而缩小等现象,进一步引发了对“RL 是否能教会 LLMs 新技能”的质疑
  • 本研究聚焦三个核心问题:
    • 1)RL 能否教会 LLMs 新技能?
    • 2)若问题 1)的答案是能,如何激励这种技能习得?
    • 3)习得的技能是否具有泛化性?

研究框架 & 实验设计

核心假设
  • RL 组合性假设 :
    • 若模型已通过 Next Token Prediction(NTP)训练掌握任务所需的原子技能(不可分解的基础技能) ,则带有适当激励的 RL 能让模型通过组合原子技能 ,习得解决复杂问题的新技能
任务设计:字符串变换预测任务
  • 为避免数据污染和技能边界模糊的问题,研究设计了受控的合成任务,具有以下 3 个特点:
  • 1)原子技能定义 :构建 25 个独特的字符串变换函数(如字符去重、元音移除、字符串反转等),每个函数作为原子技能,采用无意义标识符(如 func_16)命名,避免模型通过函数名推断功能
  • 2)难度控制 :任务难度按组合深度划分等级,Level-n对应n个函数的嵌套组合。例如:
    • Level-1:单一函数应用(如 func_16(x))
    • Level-2:双函数组合(如 func_16(func_15(x)))
    • 更高 Level:更多函数嵌套(如 Level-3 为 func_a(func_b(func_c(x))))
  • 3)任务独立性 :RL 训练和评估任务均不包含在 LLM 预训练语料中,确保性能提升源于学习而非记忆
训练方式-两阶段训练
  • Stage 1:原子技能获取 :通过拒绝微调(RFT)让模型学习所有 25 个原子技能,训练数据包含函数定义、输入字符串及正确推理轨迹,确保模型内化每个函数的行为
  • Stage 2:组合技能训练 :隐藏函数定义,模型仅接收函数名和组合形式(如 func_2(func_16(x))),对比两种训练方式:
    • RL 训练:基于输出正确性提供二元奖励,采用 GRPO 优化算法
    • RFT 基线:使用 NTP 在组合问题的正确推理轨迹上训练
评估方式
  • 留存评估(Held-out Evaluation):Stage 2 训练时将函数分为两组,仅在一组上训练,另一组用于评估未见过的函数组合
  • 难易泛化评估:在 Level-1 至 Level-6 的任务上评估,测试模型对超出训练难度的泛化能力
  • 跨任务迁移评估:以 Countdown 任务(用给定整数通过算术运算构造目标数)为目标任务,测试字符串任务中习得的组合技能能否迁移
实验模型与参数
  • 实验采用 Llama-3.1-8B-Instruct 模型,关键参数如下:
    • Stage 1:训练 2 个 epoch,学习率 \(2×10^{-5}\), Batch Size 128
    • Stage 2:RL 训练采用 DAPO 优化算法,训练 Batch Size 和 Mini-Batch Size 均为 16,学习率 \(1×10^{-6}\),KL 散度和熵损失系数为 0;RFT 基线学习率\(2×10^{-5}\), Batch Size 128,迭代生成训练数据

核心结论

结论 1:RL 能教会 LLMs 新的组合技能
  • 仅在 Level-1 原子技能上训练的 RL 模型(RL Level 1),在 Level-2 及以上任务中性能接近 0;
  • 在 Level-2 组合任务上训练的 RL 模型(RL Level 2)和混合 Level-1+2 训练的模型(RL Level 1+2),展现出极强的泛化能力:
    • Level-3 任务准确率从近 0 提升至 30%
    • Level-4 任务准确率从 1% 提升至 15%
    • 该泛化能力可延伸至 Level-5 及以上,表明模型习得的是组合推理的通用原则,而非记忆解决方案
  • Takeaway 1:

    RL on compositional data teaches new skills that generalize to unseen compositions of known atomic skills.

结论 2:RL 是组合技能习得的关键因素
  • 对比 RL Level 2 模型与基于相同 Level-2 数据训练的 RFT 模型:
    • RFT 模型在 Level-3 任务上准确率从未超过 2.6%,Level-2 任务准确率仅 15%,无法泛化到未见过的组合或更高难度
    • RL 模型在 Level-2 任务上准确率达 64%,Level-3 达 27%,显著优于 RFT
  • 结论:仅靠组合数据的监督训练(RFT)不足以习得组合技能,RL 的激励机制是必要条件
  • Takeaway 2:

    RFT, even with on compositional data, is suboptimal for learning compositional skills; RL, in addition to compositional training data, is another important factor in learning generalizable compositional skills.

结论 3:RL 习得的组合技能具有跨任务迁移性
  • 实验设置:
  • 跨任务迁移实验以 Countdown 任务为目标,测试字符串任务中习得的组合技能迁移效果:
    • 仅掌握 Countdown 原子技能的模型(Multi-Base):
      • 在 Level-3 任务上准确率约 17%,在 Level-4 接近 0 准确率
    • 掌握 Countdown 原子技能,叠加原子技能 RL 训练的模型(Multi-Base + RL L1)
      • 性能提升微弱(Level-3 约 20%),在 Level-4 接近 0 准确率
    • 掌握 Countdown 原子技能,叠加组合技能 RL 训练的模型(Multi-Base + RL L1+2)性能显著提升:
      • Level-3 达 35%,Level-4 达 6%
    • 无 Countdown 原子技能但有组合 RL 训练的模型(String-Base + RL L1+2)完全失败
  • 结论:组合技能可跨任务迁移,但目标任务的原子技能是迁移的前提
  • Takeaway 3:

    Compositional skills learned through RL are transferable to a different task where the model possesses the atomic skills.

结论 4:RL 能突破 Base Model 的性能限制
  • 针对“RL 仅重排(Reranking) Base Model 响应,未提升性能上限”的质疑,研究通过细分难度的 pass@k 评估验证:
    • 在 Base Model 已表现较好的简单任务(Level-1、Level-2)中,RL 模型与 Base Model 的 pass@k 差距随 k 增大而缩小 ,符合“重排”现象
    • 在复杂组合任务(Level-3 至 Level-6)中,RL Level 1+2 模型的 pass@k 性能显著优于 Base Model ,且差距随 k 增大而扩大
      • 如 Level-5 任务中,pass@1 差距 4%,pass@1024 差距达 25%
      • 理解:实际上,如果无限拉大 k,最终一定还会逐步收敛到 1 的,但那种情况下,采样需要的成本就不太可接受了
  • 结论:此前“RL 未提升性能上限”的结论,源于评估任务中 Base Model 已具备较高 pass@k,RL 缺乏学习新技能的激励;
    • 在 Base Model 表现不佳的复杂任务中,RL 能显著突破性能限制
  • Takeaway 4:

    The prior conclusion that RLVR only utilizes base models’ reasoning patterns without learning new abilities is likely an artifact of evaluating and RL training on tasks that base models already achieve high pass@k; thus RL has little incentive to learn a new skill.

结论 5:RL 从根本上改变模型的推理行为
  • 分析方法:使用 Gemini-2.5-Pro 对模型在 Level 3 任务上的错误进行分类:
    • 1)正确
    • 2)忽略组合
    • 3)不完整追踪
    • 4)错误组合
    • 5)原子错误(已正确解析组合结构)
  • 对 Level-3 任务的失败模式分析显示:
    • RFT Base、RFT Level 2 和 RL Level 1 模型的失败主要源于“忽略组合”(>50%)和“误解组合结构”(>35%)
    • RL Level 2 模型:
      • 完全消除“忽略组合”错误
      • 正确率提升至 28.1%
      • 主要失败模式变为“原子错误”(55%),表明已掌握组合结构解析,仅在基础技能应用上存在失误
  • 结论:RL 不仅提升准确率,还根本改变了模型的推理行为 ,使其能够正确理解和处理组合结构
  • Takeaway 5:

    Rather than merely improving accuracy, RL on compositional problems fundamentally transforms the model’s behavior, enabling it to correctly understand and handle compositions.


H-Neurons

  • 原始论文:H-Neurons: On the Existence, Impact, and Origin of Hallucination-Associated Neurons in LLMs, THU, 20251202
  • H-Neurons:论大型语言模型中幻觉相关神经元的存在、影响与起源:系统性研究了与 LLM 幻觉相关的神经元(称为 H-Neurons)
  • 贡献 :
    • 揭示了幻觉与过度服从行为在神经元层面的关联
    • 证明幻觉机制根植于预训练目标,而非对齐过程
    • 为 幻觉检测 提供了鲁棒的神经元级特征
    • 为 针对性神经元干预 提供了可能,但需平衡幻觉抑制与模型效用
  • 启示:改善 LLM 可靠性需从 预训练目标 和 神经元级机制 入手,而非仅依赖对齐或数据增强
  • 个人理解:其实不太严谨,只是说明存在一些神经元对某些幻觉敏感,针对所有场景显然很难成立,一些看似幻觉的东西,在不同上下文、对不同的人可能感觉不同

H-Neurons 的是否存在?

  • 副标题:是否存在一组神经元,其激活模式能可靠地区分幻觉输出与忠实输出?
  • 确实存在一组 极其稀疏的神经元子集(占总数不到 \(0.1%\)),能有效预测模型是否会产生幻觉
  • 使用 TriviaQA 数据集构建训练集,通过 稀疏逻辑回归(L1正则化) 识别出这些神经元
  • H-Neurons 在多种场景下具有强泛化能力:
    • 领域内知识回忆(TriviaQA、NQ)
    • 跨领域鲁棒性(BioASQ)
    • 虚构知识检测(NonExist)
  • 表1显示,基于 H-Neurons 的分类器在幻觉检测任务上显著优于随机选择神经元的分类器

H-Neurons 对模型行为的影响?

  • H-Neurons 与 过度服从(over-compliance) 行为存在因果关联
  • 通过 激活缩放(scaling factor \(\alpha \in [0,3]\)) 进行干预实验:
    • 放大(\(\alpha>1\)) : 增加过度服从行为
    • 抑制(\(\alpha<1\)) : 减少过度服从行为
    • 核心方法:缩放神经元激活值 \(z_{j,t} \leftarrow \alpha \cdot z_{j,t}\),观察行为变化
  • 过度服现在四个方面:
    • 1)无效前提(FalseQA)
    • 2)误导性语境(FaithEval)
    • 3)怀疑态度(Sycophancy)
    • 4)有害指令(Jailbreak)
  • 图 3 显示,放大 H-Neurons 导致合规率上升,抑制则提升模型鲁棒性

H-Neurons 的起源?

  • 副标题:H-Neurons 是在预训练阶段还是后训练对齐阶段出现的?
  • H-Neurons 主要形成于 预训练阶段 ,而非对齐阶段
  • 通过 跨模型迁移实验 发现:
    • 在指令调优模型中训练的幻觉检测分类器,在对应的基模型中仍保持高预测能力(AUROC 显著高于随机基线)
    • 图 4 显示,H-Neurons 在基模型与对齐模型之间的参数变化极小,呈现“参数惯性”
  • 结论:幻觉机制根植于预训练目标(如 NTP) ,对齐过程未有效改变这些机制

RLMs(Recursive Language Models)

  • (RLMs)Recursive Language Models, 20251231, MIT
  • RLM 是一种通用、可扩展的推理框架 ,通过将 Prompt 作为环境变量并支持递归调用,显著提升了 LLM 处理超长上下文的能力
    • 实验表明,RLM 在多种长上下文任务上均表现优异,且推理成本可控,为下一代语言模型系统的扩展提供了新方向
    • 理解:本质上是一个有规划能力的 Agent 了
  • 上下文衰减(Context Rot):LLM 在推理和工具使用方面进步迅速,但其上下文长度仍然有限 ,并且随着上下文变长,模型性能会出现显著下降,这种现象称为 Context rot

核心方法:递归语言模型(即 RLMs)

  • RLMs 是一种任务无关的推理范式 ,其核心思想是将长 Prompt 视为外部环境的一部分 ,让 LLM 能够以编程方式交互式地查看、分解和递归调用自身来处理这些内容
  • RLM 的工作原理
    • 1)环境初始化 :将输入 Prompt \(P\) 作为一个变量加载到 Python REPL(Read-Eval-Print Loop)环境 中
    • 2)符号化交互 :LLM 可以在该环境中编写代码来查看、分解 \(P\),并执行递归调用
    • 3)递归子调用 :LLM 可以在代码中构建子任务,并递归调用自身(或子模型)来处理这些子任务
    • 4)迭代式推理 :通过 REPL 环境的执行反馈,逐步构建最终答案
  • 数学表达(概念性)
    • 给定一个长 Prompt \(P\),RLM 将其视为一个环境变量,并通过递归调用函数 \(f_{\text{LLM} }\) 来处理:
      $$
      \text{RLM}(P) = f_{\text{LLM} }^{\text{recursive} }(P, \mathcal{E})
      $$
      • 其中 \(\mathcal{E}\) 是 REPL 环境,支持代码执行、变量存储和递归调用
  • 其他公式总结:
    • 基础 LLM 调用:\(y = f_{\text{LLM} }(x)\)
    • RLM 递归调用:\(y = f_{\text{RLM} }(P, \mathcal{E})\)
    • 环境状态更新:\(\mathcal{E}_{t+1} = \text{REPL_Step}(\mathcal{E}_t, \text{code}_t)\)
    • 递归子调用:\(\text{sub_answer} = f_{\text{LLM} }(\text{chunk}, \mathcal{E}_{\text{sub} })\)

实验设计与任务

  • 论文在多个长上下文任务上评估 RLM,任务复杂度随输入长度呈常数、线性、二次增长 :
    任务 描述 复杂度
    S-NIAH 单针海任务,在长文本中查找特定信息 常数
    BrowseComp+ (1K) 多跳问答,需跨多个文档推理 常数
    OOLONG 长推理任务,需对输入进行语义转换与聚合 线性
    OOLONG-Pairs 需聚合两两配对信息的长推理任务 二次
    LongBench-v2 CodeQA 代码库理解与问答 常数

实验结果与发现

  • 1)RLM 可扩展到 1M+ token ,在长上下文任务上显著优于基础模型和现有方法(如摘要 Agent、检索 Agent 等)
  • 2)REPL 环境是关键 ,即使没有递归调用,RLM 仍能处理超长输入
  • 3)RLM 性能随任务复杂度增长而缓慢下降 ,优于基础模型的快速衰减
  • 4)推理成本与基础模型相当但方差较大 ,因任务复杂度不同导致调用次数差异大
  • 5)RLM 是一种模型无关的策略 ,适用于不同架构的 LLM
  • 代表性结果(GPT-5 vs RLM(GPT-5))
    任务 GPT-5 RLM (GPT-5)
    OOLONG 44.00 56.50
    OOLONG-Pairs 0.04 58.00
    BrowseComp+ 0.00 91.33
    CodeQA 24.00 62.00

RLM 的典型行为模式分析

  • 1)基于先验的代码过滤 :使用正则表达式等工具筛选信息
  • 2)分块与递归调用 :将长输入分块后递归处理
  • 3)子调用验证答案 :通过递归调用来验证中间结果
  • 4)变量式长输出构建 :通过 REPL 变量逐步构建超长输出

相关研究对比

  • 长上下文系统 :如 MemWalker、ReSum 等,通常采用有损压缩(摘要、截断)或显式内存层次结构
  • 任务分解方法 :如 ViperGPT、THREAD、DisCIPL 等,强调任务分解但 无法处理超长输入
  • RLM 的优势 :将 Prompt 作为环境变量,支持符号化操作 和 执行反馈驱动的递归优化

缺点讨论

  • 1)同步调用速度慢 :当前使用同步调用,未来可探索异步调用与沙箱环境
  • 2)耗时方差大 :平均耗时低,但部分任务或 Prompt 耗时很长
  • 3)模型未针对 RLM 训练 :当前使用现有模型,未来可训练专用 RLM 模型
  • 4)Prompt 设计敏感 :不同模型需调整 Prompt 以避免过度调用
  • 5)对模型能力有要求 :需要能生成代码的强力模型,且依赖模型自身的规划能力好的

AlpacaFarm

  • 原始论文:AlpacaFarm: A Simulation Framework for Methods that Learn from Human Feedback, NeurIPS 2023, Stanford
  • AlpacaFarm 是一款针对从人类反馈中学习(learning from pairwise feedback, LPF) 的模拟框架,旨在解决该领域数据收集成本高、缺乏可靠评估方法和参考实现的三大核心挑战
    • AlpacaFarm 通过 API LLM 模拟人类反馈,成本较人工标注低 45 倍且与人类判断一致性高,提供自动评估方案(与真实人类交互数据相关性强)及 PPO、Best-of-n 等多种参考方法实现
    • 经验证,其训练的模型排名与基于真实人类反馈训练的模型排名 Spearman correlation 达 0.98 ,且能复现奖励模型过拟合等人类反馈的定性特征,其中 PPO 方法表现最优,较 Davinci003 胜率提升 10% ,为 LPF 相关研究提供了低成本、高效迭代的解决方案
  • LLM 的指令跟随能力依赖于人类反馈训练,但该领域存在三大关键障碍,制约研究推进:
    • 1)数据成本高 :人工标注成对反馈价格昂贵,1000条示例成本约300美元,且耗时久(数天);
    • 2)评估不可靠 :人类评估成本高、不可复现,缺乏能反映真实人类交互的评估数据;
    • 3)方法无参考 :缺乏经过验证的从人类反馈中学习(LPF)方法开源实现,难以对比迭代
  • AlpacaFarm 的核心目标是构建一个低成本、高效迭代的模拟框架,支持研究者在模拟环境中开发 LPF 方法,并能迁移至真实人类反馈场景
  • 核心一:模拟人类反馈(p_sim)
    • 利用 API LLM(如 GPT-4、ChatGPT)设计提示词,模拟人类成对比较偏好;
      • 构建 13 个模拟标注者(含不同模型、提示词格式、上下文示例),模拟标注者间变异性;
      • 训练阶段注入 25% 标签翻转噪声,模拟标注者内变异性;
    • 成本仅为人工标注的 1/45(1000条示例仅需6美元),与人类多数投票一致性达 65%,接近人类标注者间的 66% 一致性
  • 核心二:自动评估方案
    • 以模型相对于参考模型 Davinci003 的胜率为核心指标,直观反映模型性能;
      • 融合 Self-Instruct、OASST、Vicuna 等5个开源数据集,共 805 条指令,覆盖多样化真实人类交互场景;
    • 与 Alpaca Demo 真实用户交互数据的胜率相关性达 \(R^2\)=0.97,证明其能有效替代真实场景评估
  • 核心三:AlpacaFarm 实现并验证了6种主流 LPF 方法,分为两类:
    方法类型 具体方法 核心逻辑
    直接学习成对反馈 Binary FeedME 基于成对反馈中偏好的输出继续监督微调
    直接学习成对反馈 Binary Reward Conditioning 给偏好/非偏好输出添加正负标记,进行条件微调
    优化代理奖励模型 Best-of-n 推理时从SFT模型采样n个输出,选择代理奖励最高的输出(n=1024)
    优化代理奖励模型 Expert Iteration 先通过Best-of-n生成优质输出,再用其微调SFT模型
    优化代理奖励模型 PPO 强化学习算法,在最大化代理奖励的同时,通过KL惩罚约束与SFT模型差异
    优化代理奖励模型 Quark 按奖励分箱,仅用最优分箱数据训练,添加KL和熵正则化
  • 通过训练 11 种模型分别在模拟反馈和真实人类反馈上训练,其胜率排名的斯皮尔曼相关系数达 0.98
    • 证明在 AlpacaFarm 中迭代的方法能有效迁移至真实人类反馈场景
  • 模拟评估标注者(p_sim^eval)与人类多数投票一致性 65%,接近人类标注者间 66% 的一致性;

问题1:AlpacaFarm 如何解决 LPF 研究中的高成本问题?其模拟反馈与真实人类反馈的核心一致性表现如何?

  • AlpacaFarm 通过 API LLM(如 GPT-4、ChatGPT)设计提示词模拟人类成对反馈,成本仅为人工标注的 1/45(1000条示例6美元 vs 人工300美元),且标注效率提升(小时级 vs 天级)
  • 核心一致性表现:模拟评估标注者与人类多数投票的一致性达 65%,接近人类标注者之间 66% 的一致性;模拟反馈的方差(0.26-0.43)与人类标注方差(0.35)接近,能复现人类反馈的过拟合等定性特征,确保模拟场景的真实性

问题2:在 AlpacaFarm 支持的 6 种 LPF 方法中,哪种性能最优?其核心优势是什么?

  • PPO 方法性能最优,其核心表现:在人类反馈训练中对 Davinci003 的胜率达 55.1%,超过 ChatGPT(52.9%),较基础 SFT 10k 提升 10.8 个百分点;在模拟训练中胜率为 46.8%,同样排名第一
  • 核心优势:通过强化学习最大化代理奖励,同时引入 KL 惩罚约束模型参数与 SFT 模型的差异,避免过度偏离基础能力,平衡了性能提升与输出稳定性,相比 Expert Iteration 等方法更能充分利用代理奖励信号

问题3:AlpacaFarm 的自动评估方案如何保证与真实场景的相关性?其评估数据和指标有何特点?

  • AlpacaFarm 自动评估方案通过“数据融合+指标适配”保证与真实场景的相关性
  • 评估数据特点:融合 Self-Instruct、OASST、Vicuna 等5个开源数据集,共 805 条指令,覆盖多样化真实人类交互场景,其根动词、主题分布与真实 Alpaca Demo 交互数据高度匹配;评估指标特点:采用模型相对于 Davinci003 的胜率作为核心指标,直观且可横向对比
  • 相关性验证结果:该评估方案与 Alpaca Demo 真实用户交互数据的胜率相关性达 \(R^2\)=0.97,证明能可靠替代真实场景评估,支持研究者快速迭代方法

RL’s Razor

  • 原始论文:RL’s Razor: Why Online Reinforcement Learning Forgets Less, 20250904, MIT
    • TODO:有一个推导需要补一下
  • 相关博客:SFT远不如RL?永不过时的剃刀原则打开「终身学习」大模型训练的大门
  • 该论文核心研究 RL 与 SFT 在模型微调中的“灾难性遗忘”问题,主要内容为:
    • 核心现象:RL 与 SFT 在新任务上性能相近,但 RL 能显著保留先验知识,SFT 则需以遗忘旧能力为代价换取新任务提升
    • 关键发现:提出经验遗忘定律,模型遗忘程度可通过新任务上“微调后与基准策略的 KL 散度” \(\mathbb{E}_{x \sim \tau}[KL(\pi_0 | \pi)]\) 预测
    • 核心原理(RL 的剃刀, RL’s Razor):On-policy RL 天然偏向 KL 散度最小的新任务解决方案,而 SFT 可能收敛到与基准模型差异极大的分布
    • 实验验证:在 LLM(数学推理、科学问答等)和机器人抓取任务中验证上述结论,Oracle SFT(显式 KL 最小化)甚至比 RL 遗忘更少
    • 核心思考启示:未来微调算法应显式最小化与基准模型的 KL 散度,结合 RL 的抗遗忘性与 SFT 的效率,实现模型“终身学习”

核心现象:RL 微调比 SFT 更少遗忘先验知识

  • 对比 RL 与 SFT 的微调效果:
    • 两者在新任务上可达到相近性能
    • RL 能显著更好地保留模型的先验知识和能力,而 SFT 往往通过牺牲先验知识换取新任务性能提升,存在严重的“灾难性遗忘”问题
  • 该现象在 LLM 和机器人基础模型的实验中均得到验证,涵盖数学推理、科学问答、工具使用及机器人抓取放置等任务

遗忘定律:KL 散度是灾难性遗忘的强预测因子

  • 提出经验遗忘定律 :模型在新任务上微调后,其灾难性遗忘程度可通过新任务上微调后策略\(\pi\)与基准策略\(\pi_0\)的 KL 散度准确预测,公式为
    $$ \mathbb{E}_{x \sim \tau}[KL(\pi_0 | \pi)] $$
    • 其中 \(\tau\) 为新任务分布
  • 该定律的实用性:无需访问先验任务数据,可在微调过程中直接测量和调控,且在不同模型、不同领域中保持一致性,反映了遗忘的本质属性
  • 实验验证:
    • 在 ParityMNIST 玩具模型中,遗忘程度与 KL 散度的二次拟合\(R^2=0.96\)
    • 在 LLM 实验中,二次拟合 \(R^2=0.71\),残差可归因于噪声

RL 的核心优势:KL 最小化偏好(即 RL’s Razor)

  • 定义 RL 的剃刀原理(RL’s Razor) :在所有能解决新任务的高奖励方案中,On-policy RL 天然偏向于与原始策略 KL 散度最小的解决方案,即
    $$ \pi^{\dagger}=\arg \min_{\pi \in P^{*} \cap \Pi} D_{KL}(\pi | \pi_0)$$
    • 其中 \(P^*\) 为最优策略集合,\(\Pi\) 为可行策略集合
  • 与 SFT 的差异:SFT 可能收敛到与基准模型 KL 散度任意远的分布(依赖于标注数据),而 RL 的 On-policy 训练机制(从模型自身分布采样)约束学习过程,仅对基准模型已赋予非零概率的输出进行更新,实现“渐进式偏移”而非“任意分布跳转”

On-policy 特性是 KL 散度更小的关键

  • 对比 RL 与 SFT 的训练机制差异:
    • SFT 目标:最小化与外部监督分布 \(\pi_\beta\) 的交叉熵,训练数据来自固定外部标注;
    • RL(策略梯度)目标:最大化 \(\mathbb{E}_{y \sim \pi}[A(x,y) \log \pi(y)]\)(\(A(x,y)\) 为优势函数),训练数据来自模型自身分布,且包含对错误输出的负向惩罚
  • 实验验证:
    • On-policy 算法(如 GRPO、1-0 Reinforce)无论是否使用负例,均比 Offline 算法(SFT、SimPO)产生更小的 KL 偏移,同时保留更多先验知识;
    • SFT 若显式引导至 KL 最小分布(如“Oracle SFT”),可实现比 RL 更优的遗忘-性能权衡,证明 RL 的优势源于隐式 KL 最小化而非算法本身
  • 关于 Optimal SFT Distribution 的说明
    • 为验证 KL 散度是预测变量,作者构建了一个“先知 SFT 分布”(oracle SFT distribution)
    • 在 ParityMNIST 任务中,其简洁性使我们能够通过解析方法,在所有达到 100% 准确率的分布中,找到与 Base 模型 KL 散度最小的 labeling(详见附录B.3)
      • 补充 附录 B.3 内容:

        SFT with oracle distribution: annotations drawn from the minimum-KL distribution consistent with task correctness

      • 若 KL 散度完全决定遗忘程度,那么基于该先知分布训练 SFT 应能实现最优的准确率-遗忘权衡
    • 图 3 的实验结果验证了这一预测(基于先知分布训练的 SFT 比 RL 保留了更多先验知识,达成了观测到的最优权衡效果)
      • RL 表现出色的原因在于其 On-policy 更新会使解决方案偏向低 KL 散度区域,但当 SFT 被显式引导至 KL 最小分布时,其性能可超越 RL
      • 作为额外验证,作者使用 RL-trained model 生成的数据训练了一个 SFT 模型(即利用 RL-trained 模型作为教师去蒸馏一个 SFT 模型),该蒸馏后的 SFT 与 RL 的准确率-遗忘权衡效果一致(见图 9),这进一步证明:决定遗忘程度的是所学的分布,而非优化算法本身

理论支撑:RL 与 KL 最小化的等价性

  • 定理 A.3:二进制奖励下的单步 RL 目标等价于“带信息投影的 EM 算法”,即通过迭代实现:
    • 1)I 步: \(q_t=arg min_{q \in P^{*} } KL(q | \pi_t)\)(找到最优策略集中与当前策略 KL 最小的分布);
    • 2)M 步: \(\pi_{t+1}=arg min_{\pi \in \Pi} KL(q_t | \pi)\)(将当前策略投影到该分布),最终收敛到 KL 最小解 \(\pi^\dagger\)
  • 命题 A.4:若策略空间 \(\Pi\) 为指数族模型且最优策略集非空,无论M投影是否精确(误差可求和),RL 均收敛到 \(\pi^\dagger\)

延伸发现与启示

  • 表征一致性:RL 微调后模型的表征空间与基准模型相似度更高(CKNNA=0.94),而 SFT 出现显著表征漂移(CKNNA=0.56),说明 RL 在不破坏原有表征结构的前提下整合新能力
  • 模型规模影响:增大模型规模(3B->7B->14B)无法改变 SFT 的“新任务性能-先验知识遗忘”权衡,仅提升初始通用能力
  • 优化动力学:微调步骤中,KL 散度的变化与遗忘梯度方向高度相关,更大的 KL 偏移往往导致更严重的灾难性遗忘
  • 实践启示:未来微调算法应显式最小化与基准模型的KL散度,结合RL的遗忘抗性与 SFT 的效率,实现模型“终身学习”

PipelineRL

  • 原始论文:PipelineRL: Faster On-policy Reinforcement Learning for Long Sequence Generation, 20250923 & 20250926, ServiceNow AI Research
  • 开源地址:github.com/ServiceNow/pipelinerl)
    • 提供可扩展、模块化的开源代码,支持灵活配置训练加速器数量与生成批次规模,兼容 vLLM、DeepSpeed 等主流工具
  • PipelineRL 是一种针对长序列生成场景 设计的 RL 方法,旨在解决 LLMs 强化学习训练中硬件利用率(Hardware Efficiency)与数据时效性(Data On-policyness)的平衡问题,实现更快的训练速度
  • 在数学推理任务(OpenReasoner Zero 数据集,Qwen 2.5 7B 模型)中,PipelineRL 在 MATH500(84.6%)和 AIME2024(19.8%)基准上达到或超过现有方法性能,同时在相同回报下所需时间仅为传统 RL(G=32)的一半
  • 注:传统强化学习(Conventional RL)在扩展到多加速器时面临瓶颈:
    • 为提升硬件利用率需增大批次规模或增加优化器步数(G),但会导致生成数据与当前训练策略存在滞后(off-policy),损害 REINFORCE、PPO 等算法的性能;
    • 但保持完全 on-policy 又会因加速器空闲降低训练吞吐量
  • PipelineRL 的核心创新是 并发异步数据生成与模型训练 ,并引入 In-flight 权重更新(in-flight weight updates) 机制:
    • 生成引擎在序列生成过程中仅短暂暂停 ,通过高速互联网络接收更新后的模型权重 ,无需等待全部序列生成完成
    • 既保证了加速器的高利用率,又最大化了训练数据的新鲜度
    • 注:同一个序列可能是多个策略模型 Rollout 的拼接结果得到的
  • PipelineRL 的优势:
    • 1)训练速度提升:在 128 块 H100 GPU 上,针对长文本推理任务,训练速度较传统 RL 提升约 2 倍;
    • 2)高数据时效性:虽最大滞后(max lag)较高,但 ESS 与传统 RL(G=8)相当,保证训练稳定性;
    • 3)硬件高效利用:并发执行生成与训练,避免加速器空闲,支持大规模扩展

策略与目标函数

  • LLM 的策略表示为
    $$ \pi(y | x)=\prod_{i=1}^{n} \pi\left(y_{i} | x, y_{ < i}\right)$$
    • 其中 \(y_i\) 为生成的第 \(i\) 个 token,\(x\) 为输入 Prompt
  • 训练目标是最大化期望回报
    $$ J(\pi)=\frac{1}{m} \sum_{j=1}^{m}\left[\mathbb{E}_{y \sim \pi\left(\cdot | x_{j}\right)} R\left(x_{j}, y\right)\right] $$
  • 通过策略梯度估计优化:
    $$\tilde{\nabla} J(\pi)=\frac{1}{m} \sum_{j=1}^{m} \sum_{t=1}^{T_{j} }\left(R\left(x_{j}, y_{j}\right)-v_{\phi}\left(x_{j}, y_{j, \leq t}\right)\right) \nabla \log \pi\left(y_{j, t} | x_{j}, y_{j,<t}\right)$$
    • 其中 \(R(x_j,y_j)\) 为回报,\(v_\phi\) 为价值函数

In-flight 权重更新

  • 生成过程中动态更新行为策略 \(\mu\),使得序列中近期 token 基于最新权重生成,缓解 off-policy 问题
  • 行为策略定义为:
    $$\mu :=\mu_{C}(x_{1:t_{1} })… \mu_{C+g}(x_{t_{g}:t_{g+1} } | \hat{x}_{1:t_{1} },… \hat{x}_{t_{g-1}:t_{g} })$$
    • 其中 \(C\) 为初始检查点,\(g\) 为滞后步数,\(\hat{x}\) 表示保留的KV缓存(平衡效率与时效性)
    • 问题:同一个序列中不同的 Token 由不同策略生成,本质就是一个混合策略 Rollout 的结果

性能指标

  • 通过有效样本量(Effective Sample Size,ESS)量化数据时效性,定义为
    $$ESS=\left( \sum_{i=1}^{N}w_{i}\right) ^{2}\Big/N\sum_{i=1}^{N}w_{i}^{2}$$
    • 取值接近 1 表示数据接近完全 on-policy

PipelineRL 的架构

  • 三阶段流水线:
    • 包含 Actor(生成序列)、Preprocessor(计算参考模型对数概率)、Trainer(模型更新)
    • 通过 Redis 实现数据流式传输,支持模块化集成各类生成引擎

ArenaRL

  • 原始论文:ArenaRL: Scaling RL for Open-Ended Agents via Tournament-based Relative Ranking, 20260110, Alibaba Tongyi & Amap
  • ArenaRL 通过组内相对排名替代逐点标量评分 ,有效缓解 Discriminative Collapse;
  • ArenaRL 使用 Seeded Single-Elimination 拓扑,在效率与精度之间取得最优平衡;
  • ArenaRL 论文构建的两个基准(Open-Travel、Open-DeepResearch)填补了开放式 Agent 全周期评估的空白

ArenaRL 解决的核心问题

  • 在开放式任务(Open-Ended Tasks) 中(如旅游规划、深度调研),缺乏客观真实奖励(Ground-Truth Reward) ,传统 RL 方法难以适用
  • 现有方法多采用 LLM-as-Judge 进行逐点标量评分(Pointwise Scalar Scoring),但存在 Discriminative Collapse :
    • 轨迹组内评分方差(\(\sigma_{\text{group} }\))趋近于零;
    • 评分噪声方差(\(\sigma_{\text{noise} }\))较大,导致信噪比(SNR)极低;
    • 奖励信号被噪声主导,RL 优化停滞

ArenaRL 核心创新

  • 文章提出 ArenaRL ,一种从 Pointwise Scalar Scoring 转向 Intra-Group Relative Ranking 的强化学习范式:
    • 引入 Process-Aware Pairwise Evaluation ,基于多维度 Rubrics 进行细粒度比较;
    • 设计锦标赛式排名方案(Tournament-Based Ranking Scheme) ,提升优势估计的稳定性与效率

方法框架:ArenaRL 方法框架

任务定义
  • 任务建模为条件轨迹生成问题:
    $$
    \tau = [z_1, a_1, o_1, \dots, z_K, a_K, o_K, y]
    $$
    • 其中 \(z_k\) 为 Chain-of-Thought,\(a_k\) 为工具调用,\(o_k\) 为环境反馈,\(y\) 为最终答案
  • RL 目标为:
    $$
    \mathcal{L}(\theta) = \mathbb{E}_{x \sim \mathcal{D}, \tau \sim \pi_\theta} \left[ r_\theta(x, \tau) - \beta \mathbb{D}_{\text{KL} } \left( \pi_\theta (\cdot|x) | \pi_{\text{ref} } (\cdot|x) \right) \right]
    $$
Process-Aware Pairwise Evaluation
  • 构建 Arena Judge \(\mathcal{J}\),同时评估两条轨迹 \(\tau_a, \tau_b\),输出各自的评分 \(s_a, s_b\);
  • 输入包括:用户 Query \(x\)、两条轨迹的完整过程(含 CoT、工具调用)、细粒度 Rubrics;
  • 采用双向评分协议 消除位置偏置:
    $$
    (s_i, s_j) = \mathcal{J}(x, \tau_i, \tau_j, u) + \mathcal{J}(x, \tau_j, \tau_i, u)
    $$
    • 需要评两次,但是能保证没有位置偏差
Tournament Topologies(锦标赛拓扑结构)
  • 研究了五种锦标赛拓扑结构,旨在在计算成本与排名精度之间取得平衡:
    拓扑结构 计算复杂度 特点
    Round-Robin \(\mathcal{O}(N^2)\) 全配对,精度最高
    Anchor-Based Ranking \(\mathcal{O}(N)\) 基于锚点轨迹排名,分辨率低
    Seeded Single-Elimination \(\mathcal{O}(N)\) 论文方案 ,基于锚点预排名后构建二叉树
    Double-Elimination \(\mathcal{O}(2N)\) 双败淘汰,对随机种子敏感
    Swiss-System \(\mathcal{O}(N \log N)\) 非淘汰制,动态配对
  • 补充:种子单败淘汰赛(Seeded Single-Elimination)的具体流程
    • 种子阶段 :使用 Anchor-Based Ranking 获得初始排名;
    • 淘汰阶段 :按种子排名构建二叉树进行配对,胜者晋级;
    • 最终排名基于生存深度与累积平均分
Ranking-Based Policy Optimization
  • 将排名转换为优势信号:
    $$
    r_i = 1 - \frac{\mathrm{Rank}(\tau_i)}{N-1} \\
    A_i = \frac{r_i - \mu_r}{\sigma_r + \epsilon}
    $$
    • 理解:排名 \(\mathrm{Rank}(\tau_i)\) 越靠后,奖励分数 \(r_i\) 越低
  • 目标函数为带 KL 惩罚的 PPO 形式:
    $$
    \mathcal{L}_{\text{ArenaRL} }(\theta) = \mathbb{E}_{x, \mathcal{G} } \left[ \frac{1}{N} \sum_{i=1}^N \left( \min\left( \frac{\pi_\theta}{\pi_{\text{old} } } A_i, \text{clip}\left( \frac{\pi_\theta}{\pi_{\text{old} } }, 1-\epsilon, 1+\epsilon \right) A_i \right) - \beta \mathbb{D}_{\text{KL} } (\pi_\theta | \pi_{\text{ref} }) \right) \right]
    $$

新的基准构建:Open-Travel 与 Open-DeepResearch

  • 构建流程
    • Stage I :高质量 Query 与参考轨迹构建;
    • Stage II :大规模训练数据生成(SFT + RL 数据);
    • Stage III :轨迹数据质量控制( LLM-based 质量检查)
  • 数据集统计
    数据集 SFT 样本数 RL 样本数 测试样本数 语言 领域
    Open-Travel 2,600 1,626 250 中文 旅游规划
    Open-DeepResearch 2,662 2,216 100 中英混合 Deep Research

实验与结果

  • 主要结果
    • ArenaRL 在 Open-Travel 上平均胜率 41.8% ,显著高于 GRPO(16.4%)和 GSPO(17.2%)
    • 在 Open-DeepResearch 上胜率 64.3% ,有效生成率(Val.%)达 99%
    • 在公开写作任务(WritingBench, HelloBench, LongBench-write)上也表现优异,平均得分高于所有基线
  • 锦标赛拓扑分析
    • Seeded Single-Elimination 在 \(\mathcal{O}(N)\) 复杂度下达到与 Round-Robin 相近的排名精度;
    • Anchor-Based 与 Swiss-System 在精度上表现较差
  • 其他扩展分析
    • 组大小(Group Size) \(N\) 增加可提升性能,尤其在复杂任务中;
    • 一致性评估 :LLM 评估与人工评估一致性达 73.9%;
    • 无需冷启动的 RL :ArenaRL 可直接从基础模型开始训练,有效缓解冷启动问题;
    • 真实业务场景 :在高德地图(Amap)生态中,ArenaRL 在 POI 搜索与开放规划任务中表现优异

实现细节

  • 训练:
    • 冷启动阶段:基于 Qwen3-8B,SFT 3 个 epoch;
    • RL 阶段:使用 Slime 框架,组大小 \(N=16\)(Open-Travel)/ \(N=8\)(Open-DeepResearch),学习率 \(1 \times 10^{-6}\)
  • 评估:
    • 使用 Qwen3-Max 与 Claude-4-Sonnet 作为双 Judge;
    • 采用多维度 Rubrics 进行成对评估
  • 工具说明:
    • Open-DeepResearch 使用 Google API 搜索 + 摘要模型;
    • Open-Travel 集成高德地图 POI 搜索、路线规划等六类工具

附录:论文中提到的 5 个锦标赛对战方法详情

  • 在 ArenaRL 中,最终选择 Seeded Single-Elimination 作为主要锦标赛拓扑,因其在 \(\mathcal{O}(N)\) 复杂度下实现了接近 Round-Robin 的排名精度,且通过种子机制有效避免了高质量轨迹的过早淘汰
Round-Robin Tournament(循环赛)
  • 对战方法:
    • 每一条轨迹 \(\tau_i\) 都会与组内所有其他 \(N-1\) 条轨迹进行成对比较
    • 使用 Process-Aware Pairwise Evaluation 机制进行比较
    • 每条轨迹的最终得分为其胜率 :
      $$
      \mathrm{Score}(\tau_i) = \frac{1}{N-1} \sum_{j \neq i} \mathbb{I}(s_i > s_j)
      $$
      • 其中 \(\mathbb{I}(\cdot)\) 为指示函数,若 \(s_i > s_j\) 则为 1,否则为 0
    • 最终排名按 \(\mathrm{Score}(\tau_i)\) 降序排列
  • 理论最优排名 ,但计算复杂度为 \(\mathcal{O}(N^2)\);
  • 适用于小规模组或作为“黄金标准”用于评估其他锦标赛的精度
Anchor-Based Ranking(锚点排名)
  • 对战方法:
    • 1)生成锚点轨迹 :
      • 使用贪心解码(Temperature = 0)生成一个确定性轨迹 \(\tau_{\text{anc} }\),作为质量锚点
    • 2)生成探索轨迹 :
      • 其余 \(N-1\) 条轨迹通过高熵采样(Temperature = 0.8)生成,保持多样性
    • 3)成对比较 :
      • 每条探索轨迹 \(\tau_i\) 分别与锚点轨迹 \(\tau_{\text{anc} }\) 进行比较,得到一组评分 \((s_i, s_{\text{anc} }^i)\)
    • 4)计算锚点平均分 :
      $$
      s_{\text{anc} } = \frac{1}{N-1} \sum_{i=1}^{N-1} s_{\text{anc} }^i
      $$
    • 5)排名 :
      • 将所有轨迹的评分集合 \(\{s_1, \dots, s_{N-1}, s_{\text{anc} }\}\) 降序排列
  • 计算复杂度为 \(\mathcal{O}(N)\),效率高;但 无法区分两条探索轨迹之间的细微差异 ,排名分辨率低
Seeded Single-Elimination Tournament(种子单败淘汰赛)
  • 对战方法:
    • 阶段一:种子阶段(Seeding Phase)
      • 1)使用 Anchor-Based Ranking 对组内所有轨迹进行初步排名;
      • 2)得到种子排名 \(s_{\text{seed} }^i\),用于构建对战树
    • 阶段二:淘汰阶段(Elimination Phase)
      • 1)构建二叉树结构 ,根据种子排名进行配对:
        • 种子 1 vs 种子 \(N\),种子 2 vs 种子 \(N-1\),以此类推;
      • 2)每一场对战中,胜者晋级,败者淘汰:
        $$
        \tau_{\text{win} } = \mathrm{argmax}_{\tau \in \{\tau_i, \tau_j\} } (s_i, s_j)
        $$
        • 循环多次直到只剩下一个模型没有被淘汰(需要 \(N-1\) 次比较)
      • 3)最终排名依据:
        • 生存深度 :在锦标赛中走得更远的轨迹排名更高;
        • 若在同一轮被淘汰(如四强赛),则根据累积平均分进一步排名
  • 计算复杂度为 \(\mathcal{O}(N)\)(种子阶段 \(N-1\) 次比较 + 淘汰阶段 \(N-1\) 次比较);
  • 通过种子机制避免高质量轨迹过早相遇 ,提升排名精度
Double-Elimination Tournament(双败淘汰赛)
  • 对战方法:
    • 包含胜者组与败者组;
      • 轨迹首次失败后进入败者组,再次失败才被淘汰
    • 胜者组正常进行单败淘汰;
    • 败者组内部也进行淘汰赛,胜者可重新挑战胜者组败者
    • 最终排名基于淘汰轮次与累积平均分
  • 计算复杂度约为 \(\mathcal{O}(2N)\);
    • 对偶然失误更鲁棒 ,但若初始种子质量差,排名精度仍有限
Swiss-System Tournament(瑞士制锦标赛)
  • 对战方法:
    • 1)动态配对 :每轮根据当前胜负记录进行配对(如“1胜0负” vs “1胜0负”);
      • 所有轨迹参与固定轮次 \(K \approx \log_2 N\),每轮进行 \(N/2\) 场对战
    • 2)最终排名依据 :
      • 总胜场数;
      • 布赫霍尔兹分(Buchholz Score) :对手的胜场总和,用于衡量对手强度
    • 3)排名公式 :
      • 综合胜场与对手强度进行排序
  • 计算复杂度为 \(\mathcal{O}(N \log N)\);
  • 无淘汰机制,所有轨迹参与全程;
  • 适合规模较大、需渐进排名的场景

Prompt-Repetition

  • 原始论文:(Prompt-Repetition)Prompt Repetition Improves Non-Reasoning LLMs, Google, 20251217
  • 总结:本论文提出并验证了一种简单却有效的 Prompt 增强策略(重复输入 Prompt),能显著提升 LLM 在非推理任务上的性能,且不影响效率
  • 基本思路是通过复制 Query 一遍以提升性能,文中提到 Prompt Repetition 是 一种简单有效的非推理任务提升方法 ,适用于多种主流 LLM,不影响延迟与输出长度,建议作为非推理任务的默认策略之一
  • 与之前的多种提示技术(如 Chain-of-Thought、Re-reading 等不同),它们常增加输出长度与延迟
  • 注:之前有研究显示重复输入可提升文本嵌入质量,其他研究也有重复输入能提升推理表现的发现,但论文重点在非推理任务

Motivation

  • 由于 因果语言模型(causal language model)的训练方式,输入 token 的顺序会影响模型预测性能
    • 如,“CONTEXT > QUESTION”与“QUESTION > CONTEXT”两种顺序可能导致不同结果
  • 核心假设:将输入 Prompt 重复一遍(即 QUERY > QUERY),使每个 prompt token 能关注到所有其他 prompt token,从而缓解顺序依赖问题,提升模型在非推理任务上的性能

具体方法:Prompt Repetition

  • 将原始输入 QUERY 转换为 QUERY > QUERY,即简单复制一次
    • 在不增加生成 token 数量或延迟的前提下,提升模型在非推理任务上的准确率
  • 其他变体:
    • Prompt Repetition (Verbose) :加入 “Let me repeat that:” 等引导词
    • Prompt Repetition ×3 :重复三次
    • Padding :用无关 token(如句点)填充至相同长度,作为对照实验

实验设计:模型与基准测试

  • 模型:涵盖 7 个主流 LLM,包括 Gemini 2.0 Flash/ Lite、GPT-4o/4o-mini、Claude 3 Haiku/3.7 Sonnet、Deepseek V3
  • Benchmark :
    • 标准任务:ARC、OpenBookQA、GSM8K、MMLU-Pro、MATH
    • 自定义任务:NameIndex、MiddleMatch(用于验证 Prompt 重复的强效场景)
  • 在非推理模式下测试,部分任务测试“选项优先”与“问题优先”两种输入顺序
  • 非推理模式 :直接回答
  • 推理模式 :使用“Think step by step”引导模型逐步推理

实验结果

  • 非推理模式下的表现
    • Prompt Repetition 在 47/70 个模型-基准组合中显著优于基线,0 次显著劣于基线
    • 在自定义任务 NameIndex 和 MiddleMatch 中效果尤为明显(如 Gemini 2.0 Flash-Lite 准确率从 21.33% 提升至 97.33%)
    • Prompt Repetition ×3 在某些任务上表现更优
  • 推理模式下的表现
    • Prompt Repetition 效果为中性或轻微正面(5 胜 1 负 22 平)
    • 因为推理过程本身常会重复部分 Prompt,重复带来的增益有限
  • 效率影响
    • Prompt Repetition 不增加生成 token 数量 ,不增加延迟(仅影响可并行化的 prefill 阶段)
    • 例外:Claude 模型在处理极长输入(如重复三次)时延迟略有增加
  • 消融分析
    • Padding 对照实验 :仅增加长度而不重复内容,无性能提升,说明增益来自内容重复而非长度增加
    • Prompt Repetition ×3 与 Verbose 变体 :在某些任务中表现与标准重复相当或略优

文中提到的未来研究方向(共 13 点)

  • 在训练中引入重复 Prompt 进行微调
  • 训练推理模型时使用重复 Prompt 以提升效率
  • 在生成过程中重复最后生成的 token,探索多轮对话适用性
  • 在 KV-cache 中仅保留第二次重复以减少计算负担
  • 仅重复部分 Prompt(尤其适用于长 Prompt)
  • 重新排序 Prompt(如使用小模型)而非简单重复
  • 扩展至非文本模态(如图像)
  • 研究多次重复(>2)的效果
  • 分析重复对注意力模式的影响
  • 结合选择性注意力等技术使用重复
  • 探索与 Prefix LM 的交互
  • 研究重复有效的情境及 token 表示的变化
  • 探索其他有前景的变体

GRADE: Replacing Policy Gradients with Backpropagation for LLM Alignment

  • GRADE: Replacing Policy Gradients with Backpropagation for LLM Alignment, 20251230, Lotus Health AI
  • Motivation:RLHF 已成为对齐 LLM 与人类偏好的主流范式,但基于 Policy Gradient(策略梯度)的方法(如 PPO)存在以下问题:
    • 梯度估计方差高:需要大量样本和精细的超参数调优
    • 计算资源需求大:训练不稳定,优化效率低
    • 离散采样瓶颈:由于需要采样离散 Token,无法实现从奖励信号到模型参数的端到端梯度流
  • 为解决这些问题,论文提出了一种 全新的、完全避免 Policy Gradient 估计的方法

核心方法:GRADE

  • GRADE 的全称是 Gumbel-softmax Relaxation for Alignment via Differentiable Estimation(通过可微分估计进行对齐的 Gumbel-Softmax 松弛)
  • GRADE 核心思想是:使用可微分的 Token 生成过程替代离散采样,从而允许通过标准的反向传播直接优化奖励目标
  • 思考:论文创新主要是直接回传梯度,实际本质与 Offline RL 中的 Batch Loss 类似
相关关键技术
Gumbel-Softmax 重参数化
  • 用于生成连续的、可微分的“Soft Token”分布 \(\tilde{y}\),近似离散的类别分布
  • 公式:\(\tilde{y}_i = \frac{\exp((\ell_i + g_i) / \tau)}{\sum_{j=1}^{V}\exp((\ell_j + g_j) / \tau)}\),其中 \(g_i \sim \mathrm{Gumbel}(0,1)\),\(\tau\) 为温度参数
  • 当 \(\tau \to 0\) 时,输出趋近于 One-Hot 向量(即 Hard Sampling );当 \(\tau \to \infty\) 时,输出趋近于均匀分布。整个过程对 Logits \(\ell\) 是可微的
Straight-Through Estimator, STE
  • Straight-Through Estimator,暂时翻译为直通估计器
  • 在前向传播中使用 Hard Sampling (离散 Token),在反向传播 中让梯度通过软分布(Gumbel-Softmax 输出)进行流动
    $$ y_{\mathrm{STE} } = y_{\mathrm{hard} } - \mathrm{sg}(\tilde{y}) + \tilde{y}$$
    • 其中 \(\mathrm{sg}(\cdot)\) 是停止梯度算子
  • 这确保了生成的文本是离散的(可用于标准奖励函数评估),同时保持了梯度的可传播性
GRADE-STE 变体
  • 将 Gumbel-Softmax 与 STE 相结合,形成了论文推荐的方法 GRADE-STE
  • 它在前向传递中生成真实的离散文本,在反向传递中通过 Soft Token 分布计算梯度
GRADE 方法流程
  • 第一步:可微分 Token 生成
    • 在每个生成步骤 \(t\),模型不是采样一个离散 Token,而是生成一个 Soft Token 分布 \(\tilde{y}_t\)
    • 通过 Soft Token 的嵌入向量 \(\tilde{e}_t = \tilde{y}_t^{\top}E\) 输入到 Transformer 中,以自回归方式生成后续 Token
  • 第二步:可微分奖励计算
    • 奖励模型也需要能够处理 Soft Token 输入
    • 通过共享词汇表,将 Soft Token 序列 \(\tilde{Y}\) 输入 奖励模型 计算奖励 \(r(x, \tilde{Y})\)
  • 第三步:优化训练目标
    • 目标函数结合了奖励最大化和KL 散度正则化(防止策略偏离预训练模型太远):
      $$
      \mathcal{L}(\theta) = -\mathbb{E}_{x\sim \mathcal{D} }\left[r(x,\hat{Y}_{\theta})\right] + \beta \cdot \mathbb{E}_{x\sim \mathcal{D} }\left[\mathrm{KL}(\pi_{\theta}| \pi_{\mathrm{ref} })\right]
      $$
      • 注意:梯度 \(\nabla_{\theta} \mathcal{L}\) 是通过标准的、低方差的反向传播计算得出,而不是通过高方差的 Policy Gradient 估计
  • 其他:内存优化
    • 采用 Top-k Gumbel-Softmax ,仅对 Logits 最高的 k 个 Token(实验中 \(k=256\))进行计算,大幅降低内存开销(从 \(O(T \times V)\) 降至 \(O(T \times k)\))
    • 使用梯度检查点(Gradient Checkpointing)和在线 KL 计算等技术

理论分析

  • 论文提供了 GRADE 为何能降低梯度方差的理论依据:
  • 命题1(方差减少) :
    • 在奖励函数平滑的假设下,Gumbel-Softmax 梯度估计器 \(\hat{g}_{GS}\) 的方差小于等于 REINFORCE 策略梯度估计器 \(\hat{g}_{PG}\) 的方差
    • 这源于重参数化技巧将随机性隔离在了噪声变量 \(\epsilon\) 中
  • 命题2(偏差-方差权衡) :
    • Gumbel-Softmax 梯度估计器是有偏的,偏差随温度 \(\tau \to 0\) 而减小(但降低温度后方差会增加)
    • 需要采用温度退火 策略:训练初期使用较高的温度以获得低方差梯度,后期降低温度以减少偏差

实验与评估

  • 任务:基于 IMDB 电影评论数据集的情感控制文本生成 ,即给定一段评论开头(Prompt),模型需生成表达积极情感的续写
  • 基线方法:PPO, REINFORCE, 以及 GRADE(无 STE 的变体)
  • 评估设置:严格的数据划分(奖励模型训练集、策略训练集、验证集、测试集),防止数据泄露
  • 主要结果(见表1):
    • GRADE-STE 取得了最佳性能:测试集奖励达到 \(0.763 \pm 0.344\)
    • 显著优于基线:相对 PPO (\(0.510\)) 有 50% 的提升,相对 REINFORCE (\(0.617\)) 有 24% 的提升
    • 梯度方差极低:GRADE-STE 的梯度标准差为 \(0.003\),比 REINFORCE (\(0.050\)) 低 14 倍以上
    • 泛化能力优秀:GRADE-STE 表现出负的“泛化差距”(测试性能优于验证性能),而 PPO 则显示出过拟合迹象(正泛化差距)

整体评价

  • GRADE-STE 成功的原因:
    • 1)低梯度方差:通过可微分松弛实现确定性反向传播
    • 2)直通估计器(STE)的关键作用:平衡了前向的离散性与反向的连续性
    • 3)隐式正则化:在 Soft Token 分布上训练可能起到了防止过拟合的作用
  • 适用场景 :
    • 当奖励模型能与生成器共享词汇表时
    • 当训练稳定性和计算效率是关键考量时
  • 局限性 :
    • 1)词汇表匹配要求:无法直接使用任意外部奖励函数
    • 2)温度敏感性:性能依赖于温度退火策略
    • 3)内存需求:尽管有优化, Soft Token 生成仍比 Hard Sampling 需要更多内存
    • 4)训练-测试不匹配:模型用 Soft Token 训练,但用 Hard Sampling 测试

RLPR(Reinforcement Learning with Reference Probability Reward)

  • 原始论文:RLPR: Extrapolating RLVR to General Domains without Verifiers, THU & NUS …, 20250623
  • 论文提出了一种名为RLPR的新框架,旨在将RLVR(Reinforcement Learning with Verifiable Rewards)方法推广到通用领域 ,而无需依赖外部验证器(Verifier)
  • 论文核心贡献总结
    • 1)提出 RLPR 框架 :首次将 RLVR 推广到通用领域,无需外部验证器
    • 2)提出概率奖励(Probability Reward,PR) :利用 LLM 内在解码概率作为奖励,优于似然奖励和验证器模型
    • 3)提出标准差过滤策略 :动态过滤训练样本,改进 PR 并提升训练稳定性与最终性能
    • 4)全面实验验证 :在多个模型和基准上验证了 RLPR 的有效性与通用性

背景 and Insight

  • 背景:
    • RLVR 已在数学和代码生成任务中表现不错,但其严重依赖于领域特定的验证器(如规则验证器或训练好的验证模型)
      • 1)扩展成本高、工程复杂度大;
      • 2)难以推广到自然语言回答自由形式多样、难以规则化的通用领域
  • 作者的核心 Insight 与动机
    • Insight:LLM 生成正确答案的内在概率直接反映了其自身对推理质量的评估
    • 动机:能否直接利用这个概率信号作为奖励,从而摆脱对外部验证器的依赖?

RLPR 方法核心思想

  • 使用参考答案的解码概率 作为奖励信号,替代传统的外部验证器奖励
  • 通过概率去偏和标准差过滤 机制,提升奖励的稳定性和训练效果
Probability Reward(PR)
  • 第一步:给定问题 \(Q\)
    • 模型生成推理内容 \(z\) 和答案 \(y\) ,参考答案为 \(y^*\)
  • 第二步:将生成的答案替换为参考答案,构成新序列 \(o’\)
    • 将新序列输入策略模型 \(\pi_\theta\) 得到每个 token 的解码概率 \(p_i\)
  • 奖励计算为参考答案对应 token 概率的均值(而非序列似然),以降低方差、提升鲁棒性:
    $$
    r = \frac{1}{|y^*|} \sum_{o_i’ \in y^*} p_i
    $$
    • 注意这里的 \(p_i\) 是生成参考答案的概率
    • 理解:这种 Reward 涉及的一个隐含一个目标 等价于 最大化当前策略 \(\pi_\theta\) 生成参考答案对应的概率
Reward Debiasing
  • 概率奖励可能受到问题本身或参考答案的影响 ,引入偏差
  • 定义一个基础分数 \(r’\)
    • \(r’\) 为直接解码参考答案 \(y^*\)(无中间推理 \(z\))的概率
    • 理解:\(r\) 和 \(r’\) 的区别是 \(r’\) 不包含推理过程 \(z\),\(r\) 包含推理过程,作者认为 不包含推理过程的 \(r’\) 可以用来作为基线
      • 问题:但这样会导致最大化目标变成 最大化带推理的概率 - 不带推理的概率 ,且 \(r’\) 对不同的问题是不一样的,这可能是有偏的,更像是再优化推理的准确性,即加上推理以后的效果比原始模型不加推理的效果更好
  • 去偏后的奖励为:
    $$
    \hat{r} = \mathrm{clip}(0, 1, r - r’)
    $$
    • 理解:这里应该只会被下界 0 Clip(概率的均值不会大于 1),此时表示加入推理后生成 reference 的概率更低了(从而分数更低了)
  • 目标函数梯度为:
    $$
    \nabla \mathcal{J}_{\mathrm{RLPR} }(\theta) = \mathbb{E}_{o \sim \pi_\theta(\cdot|x)}[\hat{r} \nabla \log \pi_\theta(o|x)]
    $$
Standard Deviation Filtering
  • 传统 RLVR 使用准确率过滤(全对或全错的样本),甚至不需要设置阈值,论文提到 PR 是连续值,难以设置阈值
    • 理解:其实也不难,毕竟可以设置一个 0.8 这种值(比如当前很多训练时准确率 0.98 的 Query 也可能会被过滤掉的),只是说不是动态的,分数可能无法动态按照难度区分而已
  • 作者进一步提出动态标准差过滤 :移除奖励标准差低于阈值 \(\beta\) 的样本(表示样本太简单或太难)
  • \(\beta\) 通过指数移动平均 动态更新,适应训练过程中奖励分布的变化

实验结果

实验设置
  • Base Model :Gemma2、Llama3.1、Qwen2.5 系列
  • 训练数据 :使用 WebInstruct 中非数学类的高质量推理问题,经 GPT-4.1 过滤后保留约 77k 条
  • 评估基准 :
    • 数学推理:MATH-500、Minerva、AIME24
    • 通用推理:MMLU-Pro、GPQA、TheoremQA、WebInstruct
  • 基线方法 :包括 Base/Instruct 模型、PRIME、SimpleRL-Zoo、Oat-Zero、TTRL、General Reasoner、VeriFree 等

主要结果

  • RLPR 在通用领域和数学推理任务 上均显著优于基线方法
  • 在 Qwen2.5-7B 上:
    • MMLU-Pro:56.0(优于 General Reasoner 的 55.4)
    • TheoremQA:55.4(优于 VeriFree 7.6 分)
  • 在 Llama3.1-8B 和 Gemma2-2B 上也取得一致提升
概率奖励质量分析
  • PR 在区分正误回答 上优于规则验证器和基于模型的验证器(AUC 更高)
  • 即使在小规模模型(如 Qwen2.5-0.5B)上也表现良好
  • PR 与生成回答的长度和熵 相关性极低,表明其作为奖励机制的鲁棒性
消融实验
  • 去除去偏操作 :性能下降约 2.5-2.7 分
  • 去除标准差过滤 :性能下降约 1.4-2.9 分
  • 使用序列似然替代 token 平均概率 :性能大幅下降(20+ 分),验证了平均概率的鲁棒性
在可验证领域也可用?
  • 在数学数据上,结合规则验证器奖励与 PR 可进一步提升模型性能(Table 4)
  • 说明 PR 不仅能用于无验证器场景,也能增强有验证器场景的细粒度判别能力
鲁棒性高
  • 在不同提示模板下,RLPR 性能稳定,而 VeriFree 对模板敏感
  • 训练过程中响应长度和熵保持稳定,无退化或崩溃现象

ReAct

  • 原始论文:ReAct: Synergizing Reasoning and Acting in Language Models, 20221006-20230310, Shunyu Yao, Princeton

  • 评价:

    • ReAct 范式的定义:通过在语言模型中交织生成推理轨迹和任务相关动作 ,可实现推理与行动之间的协同,提升任务解决能力、可解释性和可靠性
    • ReAct 是一种简单而有效的范式,思路简单容易理解,一切思路显得顺理成章,算是 Agent 方向较为开创性的文章
  • 在本文之前:LLM 在语言理解和交互式决策任务中表现出色,但其推理能力(如思维链提示)和行动能力(如动作规划)通常被独立研究

    • 人类智能的特征在于能够无缝结合面向任务的行为和言语推理,从而在复杂环境中实现高效学习和决策
    • 本文提出 ,实现推理与行动之间的协同,提升任务解决能力、可解释性和可靠性

ReAct 基本框架

  • 状态空间扩展 :将 Agent 的动作空间扩展为 \(\hat{\mathcal{A} } = \mathcal{A} \cup \mathcal{L}\),其中 \(\mathcal{L}\) 为语言空间,用于生成“思考”或“推理轨迹”
  • 思考与动作的交织生成 :
    • 推理密集型任务(如问答):采用密集思考 模式,交替生成“思考-动作-观察”步骤
    • 决策密集型任务(如文本游戏):采用稀疏思考 模式,由模型自主决定何时插入思考

ReAct Prompt 设计

  • 使用少量样本(1–6个)的上下文示例进行提示,每个示例为人类标注的“思考-动作-观察”轨迹
  • 无需特殊格式设计,仅需人类在动作基础上用语言描述其思考过程

一些论文中的 Insight

  • 幻觉与错误传播 :CoT 在推理过程中易出现事实幻觉,ReAct 通过与外部知识库交互减少该问题
  • 推理与行动的权衡 :ReAct 在事实性和灵活性之间取得平衡,但在某些任务中推理错误率较高
  • 人机协同潜力 :人类可编辑模型思考,引导其行为修正,实现高效的人机协作
  • 泛化能力 :在 GPT-3 上同样表现优异,说明 ReAct 不依赖于特定模型

Epiplexity

  • 原始论文:From Entropy to Epiplexity: Rethinking Information for Computationally Bounded Intelligence, 20260106, CMU & NYU
  • 注:epiplexity(/ˌepɪˈpleksəti/) 是作者新造的单词,属于信息论的学术属术语,论文中标注为:epistemic complexity
    • 翻译为:认知复杂度 或 结构复杂性
  • 论文提出了 epiplexity 这一新的信息度量框架,将计算复杂性深刻地融入信息论中
    • epiplexity 解释了为什么计算过程可以创造信息、为什么数据呈现方式至关重要、以及为什么模型能学到比数据生成过程更丰富的内容
    • 论文包含理论和实践,给出了实用的测量方法,并通过大量实验验证了其与学习动态、涌现现象和 OOD 泛化的联系
    • 这项工作为“数据选择”提供了理论依据,让人可以理解机器学习、预训练、生成模型等的内在机制
  • 论文的核心论点是,经典信息论(如香农熵和柯尔莫哥洛夫复杂度)假设观测者拥有无限计算能力 ,因而无法充分描述和量化现代 AI 实践中数据对学习系统的实际价值
    • 论文提出了“epiplexity”来衡量计算受限的观测者能够从数据中提取的结构性信息的数量

论文主要观点

问题分析:经典信息论的不足与三个“悖论”
  • 论文指出,基于无限计算假设的香农信息论和算法信息论在解释现代 AI 现象时存在局限,并归纳了三个看似矛盾但理论成立、却与直觉和经验相悖的陈述:
    • 悖论1 :确定性变换无法增加信息
      • 经典理论认为,对数据的确定性处理不会增加其信息量
      • 但伪随机数生成器、AlphaZero 从游戏规则中学习、动力系统产生涌现现象等,都显示计算过程可以创造新信息
    • 悖论2 :信息与因式分解顺序无关
      • 经典理论中,信息的总体内容对观测顺序是不变的
      • 但 LLM 在从左到右的英文文本上学习效果更好 ,密码学中的单向函数也证明预测难度取决于方向
    • 悖论3 :似然建模仅仅是分布匹配
      • 最大化似然通常被视为匹配数据生成过程
      • 但计算受限的观测者实际上可以从数据中发掘出比生成过程本身更多的结构(例如,在归纳和涌现现象中)
  • 论文通过理论分析和实验(主要使用 Transformer 模型)展示了 epiplexity 如何帮助理解三个悖论
    • 悖论1(信息创造) :以细胞自动机(ECA)为例
      • 规则15(简单周期行为)产生的数据epiplexity和熵都很低;
      • 规则30(混沌行为)产生高熵但低epiplexity(即看似随机,无可学结构);
      • 规则54(复杂且有结构)产生中等熵和高epiplexity
      • 这表明 相同的计算过程,因规则不同,可以产生不同比例的结构与随机信息
    • 悖论2(因式分解顺序) :
      • 理论分析:在单向函数存在的前提下,可以证明 \(\mathrm{H}_{\mathrm{poly} }(X\mid Y) + \mathrm{H}_{\mathrm{poly} }(Y) > \mathrm{H}_{\mathrm{poly} }(Y\mid X) + \mathrm{H}_{\mathrm{poly} }(X) + \omega(\log n)\),即时间限制熵依赖于预测方向
      • 实验(国际象棋数据):比较两种数据格式:
        • (1) 走子序列后接最终棋盘状态(正向)
        • (2) 最终棋盘状态后接走子序列(反向)
      • 实验表明,反向顺序(更难的任务)导致了更高的 epiplexity 和更高的时间限制熵 ,说明模型从这种顺序中学到了更多关于棋盘状态的复杂结构
    • 悖论3(超越分布匹配) :
      • 归纳(Induction) :设置任务,让模型根据被部分掩码的初始状态预测细胞自动机(规则30)的演化结果
        • 模型必须“归纳”出缺失的比特
        • 随着掩码比特数 \(h\) 增加,模型达到相同最终损失所需的计算量指数增长,其epiplexity也随之增加
        • 这表明 模型为了计算似然,被迫学习了一个比原始生成过程(简单迭代规则)复杂得多的归纳程序
      • 涌现(Emergence) :以 Conway 的生命游戏或规则 54 ECA 为例
        • 一个计算受限的观测者无法负担精确模拟所有步的暴力计算
        • 为了预测未来状态,它必须学习识别高层的“物种”(如滑翔机)、它们的运动规则及碰撞行为
        • 这种高层描述的程序比底层的局部规则程序更长,从而产生了更高的epiplexity
        • 实验显示,在一定计算阈值以下,非循环模型(直接预测最终状态)的epiplexity随计算增加而上升(学习更多涌现规则),超过该阈值后,循环模型(模拟中间状态)的暴力解法变得最优,导致epiplexity骤降
解决方案:提出 Epiplexity 与 Time-Bounded Entropy(时间限制熵)
  • 为了解决上述悖论,论文将计算约束引入信息度量
  • 对于一个随机变量 \(X\),在给定的时间限制 \(T\) 下,可以找到一个最小化“时间限制最小描述长度(Time-Bounded MDL)”的概率模型程序 \(\mathrm{P}^\star\)
  • 由此定义:
    • Epiplexity(\(\mathrm{S}_T(X)\)) :衡量数据中可被计算受限观测者提取的结构性信息 ,定义为最优程序 \(\mathrm{P}^\star\) 的长度(比特数):\(\mathrm{S}_T(X):= |\mathrm{P}^\star |\)
    • Time-Bounded Entropy(\(\mathrm{H}_T(X)\)) :衡量数据中剩余的、在计算约束下不可预测的随机信息 ,定义为使用最优模型编码数据所需的期望长度:\(\mathrm{H}_T(X):= \mathbb{E}[\log 1 / P^\star (X)]\)
    • 总的信息含量为两者之和:\(\mathrm{MDL}_T(X) = \mathrm{S}_T(X) + \mathrm{H}_T(X)\)
核心 Insight
  • 信息依赖于观测者的计算能力 :同一数据对计算能力不同的观测者而言,其随机性和结构性成分不同(例如,密码学安全的伪随机数对多项式时间观测者是随机的,但对拥有密钥的观测者则不是)
  • 计算可以创造信息 :在计算约束下,确定性过程(如运行伪随机数生成器、模拟细胞自动机)可以增加时间限制熵和/或 epiplexity
  • 数据排序和格式影响可提取信息 :不同的数据因式分解或顺序会导致不同的 epiplexity,进而影响模型学到的结构及其在下游任务上的泛化能力
  • 模型可以学到比生成过程更多的结构 :由于计算限制,模型为了有效评估似然,可能需要学习比原始数据生成程序更复杂的“逆过程”或高层抽象(如归纳和涌现现象中所示)

Epiplexity 的形式化定义(原论文第 3 章)

  • 定义基于时间限制的最小描述长度原则
  • 时间限制概率模型(Definition 7) :定义一个程序能在 \(T(n)\) 步内完成对数据 \(x\) 的概率评估 \(\mathrm{Prob}_{\mathrm{P} }(x)\) 和采样 \(\mathrm{Sample}_{\mathrm{P} }(u)\),则定义 \(\mathrm{P}\) 为 \(T\)-时间概率模型
  • Epiplexity 和 Time-Bounded Entropy 的定义(Definition 8) :
    $$
    \mathrm{P}^{\star} = \underset {\mathrm{P}\in \mathcal{P}_{T} }{\arg \min}\left\{|\mathrm{P}| + \mathbb{E}[\log 1 / P(X)]\right\} \\
    \mathrm{S}_T(X):= |\mathrm{P}^\star |,\quad \text{and}\quad \mathrm{H}_T(X):= \mathbb{E}[\log 1 / P^\star (X)].
    $$
    • 其中,\(|\mathrm{P}|\) 是程序长度,\(\mathbb{E}[\log 1 / P(X)]\) 是期望的负对数似然(即交叉熵)
Epiplexity 的测量方法(原论文第 4 章)
  • 由于直接搜索所有程序不可行,论文提出了两种基于神经网络的实用估计方法
  • Prequential Coding(预序列编码,4.1节) :
    • 思考:模型在训练过程中损失的下降曲线下的面积(高于最终损失的部分)近似反映了模型从数据中吸收的结构信息量
    • 方法:模型从初始状态 \(P_0\) 开始,顺序处理训练数据 \(Z_i\)
      • 在第 \(i\) 步,用当前模型 \(P_i\) 编码数据 \(Z_i\),消耗 \(\log 1 / P_i(Z_i)\) 比特,然后更新模型得到 \(P_{i+1}\)
      • 最终模型 \(P_M\) 的描述长度估计为:
        $$
        |\mathrm{P}_{\mathrm{preq} }|\approx \sum_{i = 0}^{M - 1}(\log 1 / P_i(Z_i) - \log 1 / P_M(Z_i)).
        $$
    • 优点:简单直观,只需标准的训练损失曲线
    • 缺点:非严格上界,且未明确保证程序运行时间符合约束
  • Requential Coding(序列编码,4.2节) :
    • 思考:通过让“学生”模型在“教师”模型生成的合成数据上训练,并利用相对熵编码(Relative Entropy Coding)来显式地构建一个已知运行时间的模型代码
    • 方法:在每一步 \(i\),教师模型 \(P_i^{\mathrm{t} }\) 生成一个合成 Token \(\tilde{Z}_i\),学生模型 \(P_i^{\mathrm{s} }\) 在此基础上训练
      • 编码学生模型所需比特数(近似)为每一步教师与学生之间 KL 散度的总和:
        $$
        \left|\mathrm{P}_{\mathrm{req} }\right| \approx \sum_{i = 0}^{M - 1}\mathrm{KL}(P_{i}^{\mathrm{t} }| P_{i}^{\mathrm{s} }).
        $$
      • 优点:提供了模型程序的显式编码,且运行时间明确
    • 缺点:计算开销更大,需要从教师模型反复采样
  • 超参数优化与Pareto前沿 :
    • 为了在给定计算预算 \(T\) 下找到最小化两段代码长度 \(\mathrm{MDL}_T(X)\) 的最优模型(权衡模型大小 \(N\) 和训练数据量 \(D\)),论文通过训练不同配置的模型,并构建其性能的下凸包(lower convex hull) 来近似帕累托前沿,从而选择最优超参数

Epiplexity 与 OOD 泛化的关联(原论文第 6 章)

  • 论文还论证了 epiplexity 与 OOD 泛化潜力相关
  • 国际象棋实验 :在反向顺序(高epiplexity)上预训练的模型,在需要深度理解棋盘状态的下游任务(如评估棋子优势的“centipawn evaluation”)上表现更好
  • 自然数据测量 :估计不同模态数据(文本、图像、视频)的epiplexity
    • 发现文本数据具有最高的epiplexity ,图像数据最低(其信息主要为像素级随机性)
    • 这解释了为什么文本预训练能带来更广泛的OOD能力迁移
  • 数据选择指导 :自适应数据优化(ADO)策略动态选择那些损失下降更快的数据子集,这恰好增加了prequential估计的epiplexity,并与更好的下游性能相关
    • 这表明epiplexity可以作为评估预训练数据内在价值的一个指标,而不依赖于特定的下游任务

理论证明

  • 注:附录 A 中包含很多理论证明,这篇论文很硬核
    论文提供了严格的理论证明,包括:
  • 定理9 :密码学安全的伪随机数生成器(CSPRNG)的输出,对于多项式时间观测者,具有近乎最大的时间限制熵 \(\mathrm{H}_T\) 和可忽略的epiplexity \(\mathrm{S}_T\)
  • 定理10 :在单向函数存在的假设下,存在 epiplexity 至少为 \(\Omega(\log n)\) 的随机变量序列
  • 定理12/18 :确定性变换(如 CSPRNG)可以显著增加时间限制信息含量(\(\mathrm{MDL}_T\))
  • 定理13/25 :对于单向置换,时间限制熵不满足对称性,即 \(\mathrm{H}_{\mathrm{poly} }(X\mid Y) + \mathrm{H}_{\mathrm{poly} }(Y) > \mathrm{H}_{\mathrm{poly} }(Y\mid X) + \mathrm{H}_{\mathrm{poly} }(X) + \omega(\log n)\)

ToT

  • 原始论文:(ToT)Tree of Thoughts: Deliberate Problem Solving with Large Language Models, NeurIPS 2023, Shunyu Yao, Princeton & DeepMind
  • 本文提出前,当时的语言模型(如GPT-4、PaLM)在推理时仍受限于自回归、逐词生成 的模式,缺乏系统性探索、前瞻性规划或回溯能力
    • 这种机制类似于人类认知中的“系统1”(快速、直觉),但在需要“系统2”(慢速、深思熟虑)的任务中表现不足
    • 论文受人类问题解决的双过程理论启发,提出将LLMs与树形搜索相结合,模拟人类在解决复杂问题时的系统化思考过程

现有方法回顾

  • 论文首先形式化了几种现有方法:
  • 输入-输出(IO)Prompt :
    $$
    y \sim p_{\theta}^{IO}(y|x)
    $$
    • 直接映射输入 \(x\) 到输出 \(y\)
  • 思维链(CoT)Prompt :
    引入中间思考步骤 \(z_1, \dots, z_n\):
    $$
    [z_{1 \dots n}, y] \sim p_{\theta}^{CoT}(z_{1 \dots n}, y|x)
    $$
    • 逐步推理,但仍是顺序生成,无法探索多条路径
  • 自洽性CoT(CoT-SC) :
    • 采样多条思维链,取最频繁输出,但仍缺乏局部探索和全局规划

思维树(ToT)框架

  • 核心思想:将问题解决建模为树形搜索 ,每个节点表示一个状态 \(s = [x, z_{1 \dots i}]\),其中 \(z_i\) 是一个有意义的中间思考(thought)
    • 每个思考是一个连贯的语言序列 :如一句话、一个等式或一个段落
四个关键设计问题
  • 思考分解 :如何将中间过程分解为思考步骤
  • 思考生成 :如何从当前状态生成多个候选思考
  • 状态评估 :如何评估当前状态的进展
  • 搜索算法 :使用何种搜索策略(如BFS、DFS)
思考生成器 \(G(p_\theta, s, k)\)
  • 给定状态 \(s\),生成 \(k\) 个候选下一步思考:
  • 独立采样 :适用于思考空间丰富(如创作段落)
    $$
    z^{(j)} \sim p_{\theta}^{CoT}(z_{i+1} | s)
    $$
  • 顺序提议 :适用于思考空间受限(如填字游戏单词)
    $$
    [z^{(1)}, \dots, z^{(k)}] \sim p_{\theta}^{propose}(z_{i+1}^{(1 \dots k)} | s)
    $$
状态评估器 \(V(p_\theta, S)\)
  • 评估状态 \(s\) 对解决问题的进展,作为搜索启发式:
  • 独立评估 :
    $$
    V(p_\theta, S)(s) \sim p_{\theta}^{value}(v | s)
    $$
    • 输出标量值(如1–10)或分类(sure/likely/impossible)
  • 投票评估 :
    $$
    V(p_\theta, S)(s) = \mathbb{1}[s = s^*], \quad s^* \sim p_{\theta}^{vote}(s^* | S)
    $$
    • 通过比较多个状态选出最佳
搜索算法
  • 广度优先搜索(BFS) :每步保留 \(b\) 个最有希望的状态
  • 深度优先搜索(DFS) :优先探索最有希望的状态,失败时回溯
  • 算法支持前瞻与回溯 ,增强全局决策能力

实验结果简单描述

Game of 24
  • 使用4个数字和四则运算得到24
  • 结果 :
    • IO: 7.3%,CoT: 4.0%,CoT-SC: 9.0%
    • ToT (b=5): 74%
  • 方法 :BFS + 提议生成 + 三类评估(sure/maybe/impossible)
Creative Writing
  • 给定 4 个随机句子,写一篇连贯文章,每段以指定句结尾
  • 结果 :
    • ToT在 GPT-4 评分(7.56)和人工偏好上均优于 IO 与 CoT
  • 方法 :两阶段投票(先选计划,再选段落)
Mini Crosswords
  • 解决 5×5 填字游戏
  • 结果 :
    • ToT 词级正确率 60%,游戏解决率 20%,显著高于 IO 与 CoT
  • 方法 :DFS + 提议生成 + 基于可能性的剪枝

与其他方法的比较

  • 规划与决策 :ToT 无需训练奖励模型,直接使用 LM 自我评估
  • 自我反思 :ToT 将自我评估融入搜索过程,优于单纯的自反馈机制
  • 程序引导生成 :ToT 更灵活,支持自然语言与符号混合任务
  • 经典搜索方法 :ToT 将 LM 自我评估作为启发式

HA-DW

  • 原始论文:(HA-DW)Your Group-Relative Advantage Is Biased, 20260113-20260122, Beihang & UC Berkeley & PKU & Meituan
  • 首次系统揭示并分析了分组相对优势估计的系统性偏差
  • 提出HA-DW ,一种轻量级、可插拔的偏差纠正模块,适用于 GRPO 及其变体
  • 在多个数学推理基准上验证了 HA-DW 的有效性、鲁棒性和可扩展性
    • 提升似乎一般(待确认)
    • 实验主要集中在数学推理任务

问题及思路

  • 论文针对包括 GRPO 及其变体等基于 分组相对优势估计(group-relative advantage estimation) 的 RL 方法进行分析
    • 具体来说,针对这些方法训练大语言模型进行推理任务时存在的估计偏差问题进行了系统研究
    • 这类方法通过在一个 Prompt 下采样多个 Rollout,使用组内平均奖励作为基线计算优势值,避免训练独立的评价器模型,但其理论性质尚未被充分理解
  • 作者发现,分组相对优势估计器本质上是相对于真实(期望)优势有偏的
    • 对于困难提示(hard prompts),估计器低估优势;
    • 对于简单提示(easy prompts),估计器高估优势
  • 这种系统性偏差会导致策略在训练中对困难问题学习不足、对简单问题过度利用 ,从而影响训练的稳定性和泛化能力

理论分析:为什么优势估计有偏?

基本定义
  • 在训练步 \( t \) 采样提示 \( x_t \sim D \)
  • 从当前策略 \( \pi_{\theta_t} \) 采样 \( G \) 个响应 \( \{y_{t,i}\}_{i=1}^G \)
  • 每个响应获得二元奖励 \( r_{t,i} \in \{0,1\} \)
  • 组相对优势估计为:
    $$
    \hat{A}_{t,i} = r_{t,i} - \hat{p}_t, \quad \hat{p}_t = \frac{1}{G} \sum_{i=1}^G r_{t,i}
    $$
  • 真实期望优势为:
    $$
    A_{t,i} = r_{t,i} - p_t, \quad p_t = \mathbb{E}_{y_t \sim \pi_{\theta_t} } [r(y_t) | x_t]
    $$
    • 理解:因为优势函数的定义就是这样的,后面减去的 Baseline 其实是当前状态的奖励期望;
    • 问题:(待确认)其实在 策略梯度推导过程中我们可以知道,减去的 \(p_t\) 可以是任意策略无关的值(得到的奖励期望估计都是无偏的)
核心定理
  • 定理1(期望偏差):在非退化事件 \( \mathcal{S} = \{1 \leq R \leq G-1\} \) 条件下,有:
    $$
    \mathbb{E}[\hat{A}_{t,i} | \mathcal{S}] < A_{t,i}, \quad \text{if } p_t < 0.5 \\
    \mathbb{E}[\hat{A}_{t,i} | \mathcal{S}] > A_{t,i}, \quad \text{if } p_t > 0.5 \\
    \mathbb{E}[\hat{A}_{t,i} | \mathcal{S}] = A_{t,i}, \quad \text{iff } p_t = 0.5
    $$
  • 定理2(概率偏差):进一步给出了在有限组大小 \( G \) 下,优势被高估或低估的精确概率表达式 ,揭示了偏差随提示难度和组大小变化的规律
  • 推论1-3 :
    • 当 \( G \leq 8 \) 时,偏差现象尤为明显;
    • 在极端难度(\( p_t < 1/G \) 或 \( p_t > (G-1)/G \))下,偏差是必然的

解决方案:HA-DW

  • HA-DW 包含两个核心组件:
演化难度锚点(Evolving Difficulty Anchor)
  • 用于跨批次跟踪模型能力状态,构建一个基于历史奖励趋势的动态难度参考点 \( C_t \)
  • 更新方式采用卡尔曼滤波风格的信念更新:
    $$
    C_t^+ = (1 - \eta_t) C_t^- + \eta_t y_t
    $$
    • 其中 \( y_t \) 是当前批次的准确率,\( \eta_t \) 是自适应遗忘因子 ,根据模型稳定性动态调整:
      $$
      \eta_t = \eta \cdot \sigma_t
      $$
      • \( \sigma_t \) 是最近 \( m \) 批次信念的标准差,用于控制历史信息的影响强度
历史感知自适应难度加权(HA-DW)
  • 基于演化锚点 \( C_t^- \) 定义历史感知难度 :
    $$
    \mathrm{diff}_t^{\mathrm{his} } = \hat{p}_t - C_t^-
    $$
  • 进而定义调整方向 \( D_{t,i} \) 和幅度 \( M_t \):
    $$
    D_{t,i} = -\mathrm{sgn}(\hat{A}_{t,i}) \cdot \mathrm{sgn}(\mathrm{diff}_t^{\mathrm{his} }) \\
    M_t = |\mathrm{diff}_t^{\mathrm{his} }|
    $$
  • 最终构建重加权因子 :
    $$
    \Phi_{t,i} = \lambda_{\mathrm{scale} } \cdot \exp(D_{t,i} \cdot M_t)
    $$
    • 其中 \( \lambda_{\mathrm{scale} } \) 是缩放常数
HA-DW 目标函数
  • 将 \( \Phi_{t,i} \) 融入组相对策略优化目标:
    $$
    L_{\mathrm{HA-DW} }(\theta) = \frac{1}{G} \sum_{i=1}^G \psi\left( \frac{\pi_\theta(y_{t,i}|x_t)}{\pi_{\theta_{\mathrm{old} } }(y_{t,i}|x_t)} \right) \phi(\hat{A}_{t,i}) \cdot \Phi_{t,i}
    $$
    • 其中 \( \psi \) 和 \( \phi \) 为组相对RL算法中定义的处理函数(如clip、log等)
    • 理解:即在 GRPO 的原始损失函数上又加了一个加权因子,这个因子是 Token-leval 的

理论有效性分析

  • 定理3(HA-DW 的纠偏效果):
  • 当缩放因子 \( \lambda_{\mathrm{scale} } \) 满足一定区间时,HA-DW能显著减少优势估计的偏差:
    $$
    \left| \mathbb{E}[\hat{A}_{t,i} \cdot \Phi_{t,i} | \mathcal{S}] - A_{t,i} \right| < \left| \mathbb{E}[\hat{A}_{t,i} | \mathcal{S}] - A_{t,i} \right|
    $$
  • 此外,论文还在附录D.5中将分析推广到非二元奖励分布(如 Beta 分布、截断高斯分布),证明偏差现象在更一般的奖励模型下依然存在

实验结果

  • 模型 :Qwen3-4B-Base、Qwen3-8B-Base、LLaMA-3.2-3B-Instruct
  • Benchmark :MATH500、AIME25、AMC23、Minerva、OlympiadBench
  • Baseline 算法 :GRPO、GSPO、DAPO,及其 HA-DW 增强版本
  • 主要结果
    • HA-DW 在所有模型和所有基准上均一致提升性能(表1)
    • 在困难提示上提升尤为显著(图1c),例如在 MATH500 的困难级别上提升 3.4%
    • 训练动态显示,HA-DW 能引导模型更均衡地探索与利用 ,提升收敛性能(图4)
  • 消融实验
    • 动态阈值 \( C_t \) 优于固定阈值(表2)
    • 组大小 \( G \) 增大可缓解偏差,但HA-DW在 \( G=8 \) 时已优于 \( G=16 \) 的基线(表3)
    • 缩放因子 \( \lambda_{\mathrm{scale}} \) 存在最优值(表7)

DPPO (Divergence Proximal Policy Optimization)

  • 原始论文:(DPPO)Rethinking the Trust Region in LLM Reinforcement Learning, Sea AI Lab & NUS, 20260204
  • 针对 LLM 的有限视野、无折扣场景推导了策略改进边界,为信任区域方法提供了理论依据
  • 提出 DPPO,用基于策略散度的掩码替代 PPO 的比率裁剪,解决了对低概率 Token 过度惩罚、对高概率 Token 惩罚不足的问题
    • 提出 Binary 和 Top-K 两种高效散度近似方法,使DPPO可扩展到大规模LLM
  • 方法不仅适用于数学推理任务,还能泛化到其他模型族(如 Llama)和任务类型(如抽象推理、多轮对话),显示出广泛的适用性

问题提出

  • 作者指出 PPO 的 比率裁剪(ratio clipping) 机制在 LLM 的大词汇表、长尾分布的场景中存在结构性缺陷:
    • 对低概率 Token 过度惩罚 :当低概率 Token (如概率从 \(10^{-5}\) 增加到 \(10^{-3}\))的概率比 \(r_t\) 很大时,即使其对总变差(TV)散度贡献很小,PPO 也会将其裁剪掉,阻碍学习效率
    • 对高概率 Token 惩罚不足 :高概率 Token (如从 0.99 降至 0.8)的概率比接近 1,往往不会被裁剪,但其概率质量的巨大变化可能导致训练不稳定
  • 而且,训练-推理不匹配(training-inference mismatch) 进一步加剧了上面的问题,导致即使参数相同,训练和推理阶段的概率分布也可能存在差异

解决方案 DPPO

  • DPPO 核心思想:用基于策略散度的约束替代 PPO 的启发式比率裁剪 ,从而更精确地控制策略更新在信任区域内
理论依据:LLM 场景下的策略改进边界
  • 作者首先针对LLM的有限视野、无折扣(\(\gamma=1\)) 场景推导了策略改进边界:
    $$
    \mathcal{J}(\pi) - \mathcal{J}(\mu) \geq L_{\mu}^{\prime}(\pi) - 2\xi T(T-1) \cdot D_{\mathrm{TV} }^{\max}(\mu \parallel \pi)^2
    $$
    • \(L_{\mu}^{\prime}(\pi)\) 是替代目标函数
    • \(\xi\) 是最大奖励绝对值
    • \(D_{\mathrm{TV} }^{\max}\) 是所有状态下策略分布之间的最大总变差散度
  • 该边界为在LLM中引入信任区域优化提供了理论支持
DPPO 目标函数
  • DPPO 的目标函数为:
    $$
    L_{\mu}^{\mathrm{DPPO} }(\pi) = \mathbb{E}_{y\sim \mu}\left[ \sum_{t=1}^{|y|} M_t^{\mathrm{DPPO} } \cdot r_t \cdot \hat{A}_t \right]
    $$
  • 其中掩码 \(M_t^{\mathrm{DPPO} }\) 基于策略散度 \(D\)(如TV或KL散度)设计:
    $$
    M_t^{\mathrm{DPPO} } = \begin{cases}
    0, & \text{if } (\hat{A}_t > 0 \text{ and } r_t > 1 \text{ and } D > \delta) \text{ or } (\hat{A}_t < 0 \text{ and } r_t < 1 \text{ and } D > \delta) \\
    1, & \text{otherwise}
    \end{cases}
    $$
  • 掩码仅在策略更新可能导致超出信任区域时(即散度超过阈值 \(\delta\))阻止更新,保留了 PPO 中非对称裁剪的优点,但基于分布散度而非单一样本比率做出决策
高效散度近似:Binary 与 Top-K
  • 为了在 LLM 的大词汇表上高效计算策略散度,作者提出了两种轻量级近似方法:
Binary Approximation(二值近似)
  • 思路:将分类分布简化为伯努利分布,仅区分采样 Token 与所有其他 Token :
    $$
    D_{\mathrm{TV} }^{\mathrm{Bin} }(t) = | \mu(a_t|s_t) - \pi(a_t|s_t) | \\
    D_{\mathrm{KL} }^{\mathrm{Bin} }(t) = \mu(a_t|s_t) \log \frac{\mu(a_t|s_t)}{\pi(a_t|s_t)} + (1 - \mu(a_t|s_t)) \log \frac{1 - \mu(a_t|s_t)}{1 - \pi(a_t|s_t)}
    $$
Top-K Approximation
  • 思路:显式跟踪行为策略中概率最高的K个 Token ,构建一个缩减的类别分布进行计算:
    $$
    D_{\mathrm{TV} }^{\mathrm{TopK} }(t) = \frac{1}{2} \sum_{a \in \mathcal{A}_t’’} | p_t^{\mu}(a) - p_t^{\pi}(a) |
    $$
    • 这两种近似都是真实散度的下界 ,计算开销小,且能有效捕捉分布变化的主要部分

实验-DPPO 训练稳定性分析

  • 作者通过实验验证了:
    • 1)信任区域是必要的 :即使学习率很低(\(10^{-6}\)),无约束的方法(如PG-IS、CISPO)也会因训练-推理不匹配累积而崩溃
    • 2)信任区域应锚定于行为策略 :使用重新计算的策略分布作为锚点会导致不稳定
    • 3)不稳定的主要来源 :少数在负样本上导致策略大幅偏离的“坏更新”是训练崩溃的主要原因

实验-训练效率分析

  • 放松对低概率 Token 的约束可提升效率 :当 \(\mu(y_t|s_t) < 0.1\) 时,放宽裁剪阈值能显著加快训练
  • 双向放松(Relax-both)效果最佳 :同时放松上下界能兼顾效率与稳定性
其他规模化实验
  • 在多个大规模模型(如 Qwen3-30B-A3B、Qwen3-8B)和任务(AIME24/25)上验证:
    • DPPO 显著优于 GRPO、CISPO 等基线 ,在训练稳定性、收敛速度和最终性能上均表现更优
    • 即使不使用 Rollout Router Replay(R3) ,DPPO 也能稳定训练,表现优于使用 R3 的基线
    • Binary 与 Top-K 近似性能相近 ,说明 Binary 近似已足够高效且有效

MaxRL(Maximum Likelihood Reinforcement Learning)

  • 原始论文:(MaxRL)Maximum Likelihood Reinforcement Learning, 20260202, CMU & CMU & ZJU & UC Berkeley
  • MaxRL 的核心贡献是将最大似然目标引入强化学习 ,通过截断麦克劳林展开和仅对成功轨迹归一化的梯度估计器 ,实现了计算量与优化目标逼真度的权衡 ,在多种任务中表现出优越的缩放性能和抗过拟合能力
    • 注:麦克劳林展开是 泰勒展开在 \(x=0\) 处的特殊形式,是把一个光滑、可无限求导的函数在 \(x=0\) 附近展开成幂级数(多项式无限和),用来近似计算函数值

一些讨论和问题提出

  • 最大似然(Maximum Likelihood, ML)和 RL 是现代机器学习的两大优化范式
    • ML 常用于可微分监督学习,优化对数似然目标;
    • RL 适用于序列决策问题,通过与环境交互最大化期望回报
  • 许多现代任务(如导航、程序合成、结构化预测、LLM 多步推理)本质上是基于二元正确性反馈的
    • 每个输入对应一个隐式的“正确概率” \( p_\theta(x) \) ,即模型生成正确输出的概率
  • 理论上,应直接优化该似然的对数,即:
    $$
    J_{\mathrm{ML} }(\theta) = \mathbb{E}_{x \sim \rho} \left[ \log p_\theta(y^*(x) \mid x) \right]
    $$
  • 但由于中间生成过程的不可微分性,无法直接优化该目标,而 RL 被用作一种替代方法,其目标为:
    $$
    J_{\mathrm{RL} }(\theta) = \mathbb{E}_{x \sim \rho} \left[ p_\theta^{\text{pass} }(x) \right]
    $$
    • \(p_\theta^{\text{pass} }(x) \) 为通过率
  • 两者的梯度形式分别为:
    $$
    \begin{align}
    \nabla_\theta J_{\mathrm{RL} } &= \mathbb{E}_x \left[ \nabla_\theta p_\theta(x) \right] \\
    \nabla_\theta J_{\mathrm{ML} } &= \mathbb{E}_x \left[ \color{red}{\frac{1}{p_\theta(x)}} \nabla_\theta p_\theta(x) \right]
    \end{align}
    $$
    • 注:ML 目标函数的的梯度推导直接对 \(\log\) 求导即可
    • 理解:对比来看可以看出:最大似然通过逆概率 \(\color{red}{\frac{1}{p_\theta(x)}}\) 加权,更强调困难样本,从而带来不同的优化动态

解决方案:MaxRL 方法

最大似然的麦克劳林展开
  • 对于一个输入 \( x \),令 \( p = p_\theta^{\text{pass} }(x) \) 为通过率,最大似然目标可展开为:
    $$
    J_{\mathrm{ML} }(x) = \log p = -\sum_{k=1}^\infty \frac{(1-p)^k}{k}
    $$
    • 其梯度为:
      $$
      \nabla_\theta J_{\mathrm{ML} }(x) = \sum_{k=1}^\infty \frac{1}{k} \nabla_\theta \mathrm{pass}@k(x)
      $$
      • 其中 \( \mathrm{pass}@k(x) = 1 - (1-p)^k \) 表示至少一个样本正确的概率
        • 理解:因为对常数 1 求导值为 0,所以可以任意添加 1,后面的 \(- (1-p)^k \) 则来源于原始展开式
      • 显然,传统 RL 仅优化第一项 \( \nabla_\theta \mathrm{pass}@1(x) \),即最大似然的 一阶近似
MaxRL 目标函数
  • MaxRL 通过截断展开式,定义一系列目标:
    $$
    J_{\mathrm{MaxRL} }^{(T)}(x) = -\sum_{k=1}^T \frac{(1-p)^k}{k}
    $$
  • 梯度为:
    $$
    \nabla_\theta J_{\mathrm{MaxRL} }^{(T)}(x) = \sum_{k=1}^T \frac{1}{k} \nabla_\theta \mathrm{pass}@k(x)
    $$
    • 当 \( T = 1 \) 时,即为标准 RL
    • 当 \( T \to \infty \) 时,逼近最大似然
    • 中间 \( T \) 值在二者之间
      • 理解: 这相当于给了一个在 ML 和 RL 目标之间的 trade-off 目标
MaxRL 的梯度估计器(无偏估计器)
  • 关键定理(定理1):最大似然梯度等于在成功轨迹上的条件期望:
    $$
    \nabla_\theta J_{\mathrm{ML} }(x) = \mathbb{E} \left[ \nabla_\theta \log m_\theta(z \mid x) \mid f(z) = y^*(x) \right]
    $$
    • 理解:其实这里的本质是(更容易理解但是有点怪的形式):
      $$
      \nabla_\theta J_{\mathrm{ML} }(x) = \mathbb{E} \left[ \nabla_\theta \log m_\theta(f(z)=y^*(x) \mid x) \right]
      $$
      • 其中 \(z\) 是 基于 \(x\) 的
    • 基于此,MaxRL 提出一个简单的仅对成功轨迹归一化的估计器:
      • 采样 \( N \) 条轨迹 \( z_1, \dots, z_N \),定义:
        • 奖励:\( r_i = \mathbb{I}\{f(z_i) = y^*(x)\} \)
          • 理解:若成功,则奖励为 1
        • 对数梯度:\( S_i = \nabla_\theta \log m_\theta(z_i \mid x) \)
          • 定义为 梯度(下文中用于替代梯度)
        • 成功样本数:\( K = \sum_{i=1}^N r_i \)
    • 估计器为:
      $$
      \widehat{g}_N(x) =
      \begin{cases}
      \frac{1}{K} \sum_{i=1}^N r_i S_i, & K \geq 1 \\
      0, & K = 0
      \end{cases}
      $$
      • 理解:成功数大于 1 时,累计成功样本下的梯度(\(r_i\) 的存在决定了失败的样本没有梯度),这与 ML 中成功轨迹上的条件期望对应
  • 定理2 证明该估计器无偏地估计了 \( \nabla_\theta J_{\mathrm{MaxRL} }^{(N)}(x) \)
    • 详细证明见原始论文
方差控制与实现
  • 估计器可能因 \( K \) 小而导致高方差,作者提出使用控制变量(无条件平均得分)进行方差缩减:
    $$
    \widetilde{g}_N(x) = \frac{1}{K} \sum_{i=1}^N r_i S_i - \frac{1}{N} \sum_{i=1}^N S_i
    $$
  • 算法1 给出了一个简单的 On-policy 实现 ,仅需在优势计算中修改一行(归一化时除以平均奖励而非标准差)

统一权重视角(不同方法的统一分析)

  • 多个目标的梯度可统一表示为:
    $$
    \nabla_\theta J = \mathbb{E}_{x \sim \rho} \left[ w(p_\theta(x)) \nabla_\theta p_\theta(x) \right]
    $$
  • 权重函数 \( w(p) \) 反映对不同难度样本的重视程度:
    • RL(REINFORCE) :\( w(p) = 1 \)
    • ML :\( w(p) = 1/p \)
    • GRPO :\( w(p) = 1 / \sqrt{p(1-p)} \)
      • 问题:GRPO 的 权重函数为什么是 \(1 / \sqrt{p(1-p)}\) ? 详情见本节附录
      • 理解:比较反直觉的是,可以看出,GRPO 的公式已经很像 ML 了,\(p=0.5\) 时两者相等,GRPO 权重函数的特点是:
        • 在 \(p \to 0\) 时近似为 \(1/\sqrt{p}\),比 RL(常权 1)更强调低通过率样本,但比 ML(权重 \(1/p\))温和;
        • 在 \(p \to 1\) 时 \(w \to \infty\),会给极高通过率样本很大权重(这一点与 ML 不同,ML 在 \(p \to 1\) 时权重趋于 1)
    • MaxRL(T阶) :\( w_T(p) = \frac{1 - (1-p)^T}{p} \)
  • MaxRL 随 \( T \) 增大逼近 ML 的权重,更强调低通过率的困难样本

相关实验和结论

  • 与精确最大似然的对比(图像分类)
    • 在 ImageNet 上,当采样计算量足够大(如 1024 次 rollout)时,MaxRL 的表现与交叉熵训练(即精确最大似然)几乎一致,而 REINFORCE 在低通过率下几乎无法学习
  • 无限数据机制(迷宫导航)
    • 在生成式迷宫任务中,MaxRL 在相同计算量下显著优于 RLOO 和 GRPO,表现出更好的计算缩放能力
  • 数据稀缺机制(GSM8K 数学推理)
    • 在固定数据集上长时间训练,MaxRL 更抗过拟合,保持较高的 pass@k 多样性,而 RLOO 和 GRPO 出现明显的 pass@k 退化
  • 数学推理模型训练(Qwen3 模型)
    • 在 POLARIS-53K 上训练 1.7B 和 4B 模型,MaxRL 在多个数学基准(AIME、MATH-500、Minerva 等)上 Pareto 占优于 GRPO,pass@1 更高且 pass@k 退化更少,在配备完美验证器时实现最高 20 倍的推理时间缩放效率增益
  • 优化动态分析
    • 梯度范数 :MaxRL 在困难样本上产生更大的梯度,类似于交叉熵;GRPO 则在中等难度样本上梯度最大
    • 训练中正确轨迹比例 :MaxRL 在更多训练任务上产生至少一条正确轨迹,学习信号更丰富

附录:GRPO 权重函数的证明(论文 附录 C 中的证明不够详细)

  • 目标:证明 GRPO 权重函数为
    $$
    w(p) = \frac{1}{\sqrt{p(1-p)} }
    $$
GRPO 的优势函数
  • GRPO 在二元奖励(正确/错误)设置下,对于每个输入 \(x\),其优势函数为:
    $$
    \hat{A}(x, z) = \frac{r(x, z) - \hat{\mu}(x)}{\hat{\sigma}(x) + \epsilon},
    $$
    • \(r(x, z) = \mathbb{I}\{f(z) = y^*(x)\}\),取值为 0 或 1
    • \(\hat{\mu}(x) = \frac{1}{N} \sum_{i=1}^N r(x, z_i)\) 是当前样本中奖励的均值
    • \(\hat{\sigma}(x) = \sqrt{\frac{1}{N} \sum_{i=1}^N \big(r(x, z_i) - \hat{\mu}(x)\big)^2}\) 是样本标准差
    • \(\epsilon\) 是一个小常数,避免除零
  • 在策略梯度框架下,GRPO 的梯度估计为:
    $$
    \nabla_\theta J_{\mathrm{GRPO} } \approx \frac{1}{N} \sum_{i=1}^N \hat{A}(x, z_i) , \nabla_\theta \log m_\theta(z_i \mid x)
    $$
总体(population)梯度形式
  • 考虑总体期望(即采样数 \(N \to \infty\)),此时样本均值与方差收敛到其真实值:
    $$
    \mu(x) = \mathbb{E}_{z \sim m_\theta(\cdot|x)} [r(x, z)] = p(x),\\
    \sigma^2(x) = \mathrm{Var}_{z \sim m_\theta(\cdot|x)} [r(x, z)] = p(x)(1 - p(x)),
    $$
    • 其中 \(p(x) = p_\theta^{\mathrm{pass} }(x)\) 为通过率
  • 在无限采样下,优势函数为:
    $$
    A(x, z) = \frac{r(x, z) - p(x)}{\sqrt{p(x)(1 - p(x))} }
    $$
计算总体梯度期望
  • 总体梯度可写为:
    $$
    \nabla_\theta J_{\mathrm{GRPO} }(x) = \mathbb{E}_{z \sim m_\theta(\cdot|x)} \left[ \frac{r(x, z) - p(x)}{\sqrt{p(x)(1 - p(x))} } \cdot \nabla_\theta \log m_\theta(z \mid x) \right]
    $$
  • 利用 REINFORCE 恒等式:
    $$
    \mathbb{E}_{z \sim m_\theta(\cdot|x)} \left[ r(x, z) \nabla_\theta \log m_\theta(z \mid x) \right] = \nabla_\theta p(x), \\
    \mathbb{E}_{z \sim m_\theta(\cdot|x)} \left[ \nabla_\theta \log m_\theta(z \mid x) \right] = 0,
    $$
    • 注:第二个式子是一个恒等式,是对数似然梯度的期望为零的性质,是强化学习和变分推断中的一个基本结果,证明详情见本人之前的证明 Math——证明笔记-对数似然梯度的期望为零
  • 有:
    $$
    \nabla_\theta J_{\mathrm{GRPO} }(x) = \frac{1}{\sqrt{p(x)(1 - p(x))} } \cdot \big[ \nabla_\theta p(x) - p(x) \cdot 0 \big]
    $$
  • 因此:
    $$
    \nabla_\theta J_{\mathrm{GRPO} }(x) = \frac{1}{\sqrt{p(x)(1 - p(x))} } \cdot \nabla_\theta p(x)
    $$
写成统一权重形式
  • 对比统一形式:
    $$
    \nabla_\theta J = w(p(x)) \cdot \nabla_\theta p(x),
    $$
  • 可得:
    $$
    w_{\mathrm{GRPO} }(p) = \frac{1}{\sqrt{p(1-p)} }
    $$

Agent-RRM(Agent Reasoning Reward Model)

  • 原始论文:(Agent-RRM)Exploring Reasoning Reward Model for Agents, 20260129, MMLab CUHK, Meituan
  • 论文提出了一种多维度推理奖励模型(Agent Reasoning Reward Model,简称 Agent-RRM) ,并在此基础上设计了三种智能体训练变体(Reagent-C、Reagent-R、Reagent-U),以提升智能体在复杂任务中的推理与工具使用能力
  • 作者还构建并开源四个高质量数据集
  • 涉及场景(本文实验中的环境支持六种工具调用):
    • 搜索(Bing API)
    • 网页浏览(Jina Reader + DeepSeek-Chat 摘要)
    • Python 代码执行
    • 文件读取
    • 图像描述(GPT-4.1)
    • 音频转文本(Whisper-large-v3)

问题提出 & motivation

  • 多数 Agentic RL 方法仍依赖于稀疏的、基于最终结果的奖励信号
    • 这种奖励方式无法区分中间推理步骤的质量,导致训练效果不佳
    • 本文提出了一种结构化、多维度反馈的奖励模型 ,以提供更细粒度的训练信号

Agent-RRM 方法

Agent-RRM 定义及训练过程

  • Agent-RRM 是一个多维度评估器 ,为智能体轨迹提供结构化反馈,包括:
    • 推理轨迹(Think) :分析轨迹的逻辑一致性
    • 针对性批评(Critique) :指出推理或工具使用中的具体问题
    • 整体评分(Score) :给出一个介于 0 到 1 之间的标量评估
  • Agent-RRM 训练过程:
    • SFT :使用 Reagent-RRM-SFT-28K 数据集,学习输出结构化反馈
    • GRPO :使用 Reagent-RRM-RL-90K 数据集,优化奖励模型的评估一致性与评分校准

智能体训练方案(Reagent)

  • 基于 Agent-RRM 提供的反馈,论文提出了三种智能体训练变体:
变体1:文本增强修正(Reagent-C)
  • 思路:Agent-RRM 生成文本批评(Critique),智能体基于此进行上下文修正,无需更新模型参数
  • 流程:
    • 1)初始响应生成:\( o_i^{(1)} \sim \pi_\theta(o|q) \)
    • 2)生成批评:\( c_i = \text{Agent-RRM}(o_i^{(1)}) \)
    • 3)修正响应:\( o_i^{(2)} \sim \pi_\theta(o|q, o_i^{(1)}, c_i) \)
变体2:奖励增强引导(Reagent-R)
  • 思路:将 Agent-RRM 的评分与基于规则的奖励结合,提供更细粒度的训练信号;
  • 奖励定义:
    $$
    R_i = R_{\text{rule} }(q, o_i) + \lambda \cdot R_{\text{model} }(q, o_i)
    $$
    • 其中 \( R_{\text{model} } \) 来自 Agent-RRM 的 <score> 部分
变体3:统一反馈集成(Reagent-U)
  • 思路:同时优化初始生成与基于批评的修正,在同一个强化学习循环中融合标量奖励与文本批评;
  • 流程:
    • 1)生成初始轨迹与修正轨迹
    • 2)将两者合并计算奖励池
    • 3)使用统一优势函数进行策略优化:
      $$
      A_i^{(k)} = \frac{R_i^{(k)} - \text{mean}(\mathbf{R}_{\text{pool} })}{\text{std}(\mathbf{R}_{\text{pool} })}
      $$
    • 4)目标函数为 GRPO 扩展形式,同时优化初始与修正轨迹

数据集构建

  • 论文构建了四个专门数据集(涵盖数学推理、多模态理解、网页搜索、复杂工具使用等多种任务):
    • Reagent-SFT-55.6K :高质量监督微调数据
    • Reagent-RL-709K :用于强化学习的大规模轨迹数据
    • Reagent-RRM-SFT-28K :奖励模型监督微调数据
    • Reagent-RRM-RL-90K :奖励模型强化学习数据

实验与结果

各变体对比
  • Reagent-C :在无需训练的情况下,通过文本批评显著提升推理质量
  • Reagent-R :通过融合模型奖励,缓解了稀疏奖励问题,提升训练效果
  • Reagent-U :统一融合文本与奖励信号,在多个基准测试中达到最优性能
其他关键实验结果
  • 在 GAIA(文本子集) 上达到 43.7% ,在 WebWalkerQA 上达到 46.2%
  • 在数学推理(如 AIME24、GSM8K)和知识密集任务(如 Bamboogle、HotpotQA)上也表现优异
  • 多模态与复杂工具使用能力验证:在完整 GAIA 基准上优于现有方法
消融实验
  • 奖励权重 \(\lambda\) 分析:实验发现 \(\lambda\) 在 0.2 至 0.4 之间效果最佳,过高会导致对中间步骤过度优化
  • 文本批评 vs 标量奖励 :文本批评提供更具体的修正指导,标量奖励缓解稀疏性问题,两者结合效果最优

POPE(Privileged On-Policy Exploration)

  • 原始论文:POPE: Learning to Reason on Hard Problems via Privileged On-Policy Exploration, 20260126, CMU
  • POPE 与其他工作的对比
  • 经典 RL 探索方法(熵奖励、乐观更新等)在 LLM 困难问题上无效
  • pass@k 优化 :主要减轻过度锐化,但无法在初始成功率接近零时启动学习
  • 课程学习与混合训练:受 Ray Interference 限制,简单问题迁移效果有限
  • Off-policy 训练 :使用先知解作为训练目标常导致优化不稳定、熵爆炸或崩溃
  • 最相关工作 :部分研究利用先知解提取子目标或计划,但 POPE 首次系统分析了未引导训练的困难,提出了基于前缀引导的简洁有效方法,并阐明了其迁移机制

Motivation

  • 在困难问题上,标准的** On-policy RL** 往往无法采样到任何正确轨迹,导致奖励为零、学习信号缺失,训练停滞
    • 比如在 DAPO-MATH-17K 数据集上,Qwen3-4B-Instruct 模型在 \(K=32\) 次尝试下仅有不足 \(50%\) 的问题能产生至少一条正确轨迹
    • 核心挑战提出 :在困难问题上,模型初始成功率极低,标准 RL 无法获得有效奖励信号,导致优化停滞,模型仅在已能解决的问题上“锐化”,而难以学习新问题

已有探索方法的局限性

已有方法1:词级探索方法
  • 熵奖励 :在目标函数中添加熵奖励以鼓励探索
    • 实验发现,这会导致模型下一个词分布的熵急剧增加,引发“熵爆炸”,破坏优化稳定性,且并未提高困难问题的可解性
  • 提高裁剪比率 :增加重要性比率裁剪上限 \(\epsilon_{\mathrm{high} }\),以更积极更新稀有正向轨迹
    • 但这同样会放大熵,导致随机探索,未改善可解性
  • 词级探索方法无法在初始奖励稀疏的困难问题上提供有效学习信号
已有方法2:通过迁移进行探索
  • 混合训练 :在训练中混合简单与困难问题,期望从简单问题学到的技能能迁移至困难问题
    • 实验发现,这会导致 Ray Interference 现象:即优化过程优先在已有奖励的问题(简单问题)上加速,而抑制了在困难问题上的进展,甚至导致性能下降
  • 直接优化 pass@k :通过优化 pass@k 目标鼓励多样性
    • 但在初始 pass@1 接近零的困难问题上,该方法主要重新分配奖励以减轻过度锐化,而非促进探索,无法提升可解性
  • 简单问题的迁移不足以引导困难问题的探索 ,且 Ray Interference 现象阻碍了混合训练的效果

解决方案:POPE 方法

  • 核心思想:POPE 利用人类或其他“先知”提供的解决方案作为特权信息 ,仅用于引导 On-policy 探索 ,而非将其作为训练目标(即不用于监督微调或 Off-policy 训练)
  • 具体做法是:在困难问题的输入前添加一个先知解决方案的短前缀 ,并指令模型基于此前缀继续完成解答
    • 这样,即使模型自身无法生成该前缀,也能在引导下进入更容易获得奖励的状态空间区域
ROPE 方法步骤
  • Step 1 构建引导问题集 :

    • 对于每个困难问题 \(\mathbf{x}\) 及其先知解 \(\mathbf{z}\),找到一个最短前缀 \(\mathbf{z}^{0:i^*(\mathbf{x})}\),使得基模型在该前缀条件下能至少产生一次成功轨迹
      • 具体方式可以是二分查找最短前缀的位置
    • 若找不到,则随机选取一个长度小于 \(1/4\) 先知解的前缀
  • Step 2 构造引导输入 :将原问题、前缀与系统指令拼接:
    $$
    \text{concat}(\mathbf{x}, \mathbf{z}^{0:i^*(\mathbf{x})}, I)
    $$

    • 系统指令要求模型“学习前缀中已提供的推理步骤,并从此处继续完成解答”

      1
      2
      3
      4
      5
      6
      You are given a problem and a partial solution. Your task is to carefully study the partial response, identify what reasoning or steps are already provided, 
      and then complete the solution from where it left off. Ensure your response is logically consistent and leads to a complete and correct final answer.
      Important: Show your reasoning step-by-step, and present the final answer using LaTeX-style.
      Problem: <Problem>
      Partial Response: <Partial Response>
      Continue solving the problem, starting from where the partial response ends. Make sure your final answer is written as: [your answer here]
      • 理解:这里可以看出,Prompt 要求模型根据前缀来思考,而不是简单的作为一个补全
  • Step 3 训练混合 :

    • 以 1:1 的比例混合原始困难问题 \(\mathcal{D}_{\mathrm{hard} }\) 与引导版本 \(\mathcal{D}_{\mathrm{hard} }^{\mathrm{guided} }\) 进行 On-policy RL 训练
    • 可选地,也可加入简单问题以扩大覆盖
    • 问题:这里的引导版本也包含梯度回传吗?
      • 会的,而且训练时,同一个 Query 有两种版本的 Prompt,这两种版本的 Prompt 其实已经不一致了
      • 引导的版本会要求模型根据前缀思考,这更像是学会如何根据 “优质前缀” 来拼接出一个正确答案(注意不是简单的继续补全)
    • 问题:训练后期会逐步降低 引导版本的比例吗?
  • Step 4 完全 On-policy :尽管使用特权信息引导,但探索本身仍由模型通过 On-policy 采样完成,不涉及 Off-policy 更新

理论解释:为何 POPE 有效?

心理模型(MDP 类比)
  • 将推理过程视为 MDP,其中:
    • 初始状态下获得奖励需要大量探索
    • 存在一个中间状态子集 \(S_{\mathrm{good} }\),从此出发通过标准在线采样可稳定获得奖励
  • 引导的作用 :作为“滚入策略”将智能体带入 \(S_{\mathrm{good} }\),使其早期就能获得非零奖励并学习有效的后续策略
    • 一旦学会从 \(S_{\mathrm{good} }\) 出发的延续策略,无需引导也能从这些状态成功;
    • 剩下的挑战是从初始状态到达 \(S_{\mathrm{good} }\)
      • 问题:这个是如何到达的呢?是不是同步加上 SFT 会更好些?也更 Makesense 一些?
      • 理解:不是的,作者就是在刻意避免直接补全,而是通过 Prompt 让模型去学会 拼接
    • 引导通过提供成功轨迹“证明”了哪些状态可带来奖励,从而大幅降低了探索难度
LLM 中的迁移机制
  • 指令遵循能力 :强指令遵循能力使模型能够基于不可能由自身生成的前缀进行构建
  • 回溯与自验证 :在引导轨迹中,模型常会回溯、重新访问或修正先前步骤,这扩展了模型在状态空间中的覆盖范围,使未引导状态与引导状态之间产生重叠
  • 状态重叠假设 :引导轨迹诱导的状态与未引导策略可能到达的状态之间存在重叠,使得从引导成功中学到的信号能泛化至未引导问题,从而实现了从引导到未引导的迁移
补充:其他实验验证
  • 通过修改系统指令,禁止模型回溯或重述引导内容 ,发现:
    • 在引导问题上性能提升(因 RL 问题更简单)
    • 但在未引导问题上迁移性能下降,支持了“状态重叠与回溯机制对迁移至关重要”的假设

实验

  • 实验设置:
    • Base Model :Qwen3-4B-Instruct
    • RL 算法 :GRPO(On-policy),使用 Pipeline-RL 异步流式框架
    • 困难问题集 :来自 DAPO、OmniMath(5-8 级)、AceRason,筛选标准为基模型在 \(k=128\) 次采样、32k token 预算下无法产生任何正确轨迹
  • 实验主要结果:
    • 1)提升困难问题可解性 :POPE(”hard + guide”)在训练中解决了更多困难问题,pass@32 持续提升,且未出现混合简单问题时的性能平台期
    • 2)抵抗 Ray Interference :在混合大量简单问题时,POPE 仍能保持对困难问题的有效学习,而单纯混合简单问题(”hard + easy”)会导致性能下降
    • 3)下游基准提升 :在 AIME 2025 与 HMMT 2025 等标准推理基准上,POPE 显著提升 pass@1 与 pass@k 性能,尤其在更难的 HMMT 2025 上增益更大
    • 4)优于使用先知解作为训练目标的方法 :
      • 全先知解 SFT :导致模型记忆化,熵崩溃,泛化差,性能严重下降
      • 前缀 + 拒绝采样 SFT :性能仍低于 POPE,且 RL 微调后未见提升

JustRL

  • 原始论文:JustRL: Scaling a 1.5B LLM with a Simple RL Recipe, 20251218, THU & Shanghai AI Lab
  • TLDR:JustRL 通过极简的 RL 配方(单阶段训练、固定超参数、无复杂技巧),在两个 1.5B 推理模型上实现了 SOTA或竞争性性能 ,同时减少约一半计算量
    • 重点是:JustRL 训练过程稳定、平滑 ,无需干预措施。论文呼吁社区重新审视“复杂性必要”的假设,倡导从简单基线出发,逐步验证复杂性的必要性
    • 理解:Less is more,简单本身就是一种高效
  • 论文核心观点
    • 复杂性并非必需 :在足够规模下,简单、稳定的 RL 配方可匹配甚至超越复杂方法
    • 训练稳定性是可能的 :JustRL展现出平滑、单调的改进过程,无需外部干预
    • 技巧的负作用 :某些“标准技巧”(如长度惩罚)可能抑制探索,降低性能
  • 从论文中得到的方法论建议

    start simple, scale up, and only add complexity when a simple, robust baseline demonstrably fails. 即 “先简单,再扩展;仅当简单基线明显失败时,才添加复杂性”

    • 建议社区首先建立简单、可复现的基线 ,再逐步引入复杂性
    • 复杂技术可能在极端计算约束、特定失败模式或更高性能天花板下仍有价值
  • 理解风险点(认知不一定准确):
    • 仅验证了数学推理任务,未涵盖代码生成、通用问答等
    • 仅测试1.5B参数模型,未扩展到更大或更小规模

研究背景 and Motivation

  • LLM 已经很厉害了,但对于小型轻量模型(SLMs) ,主流方法多采用蒸馏(Distillation) ,即通过监督微调模仿大模型的输出
    • 蒸馏虽稳定高效,但其性能受限于教师模型的能力,一旦教师模型性能饱和,进一步改进变得困难
    • 问题:这个理由有点牵强了,如果教师模型都饱和了,那就是要训练更好的 大模型了,而不是继续优化小模型
  • 与此同时,针对 SLMs 的 RL 方法逐渐复杂化,常见技术包括:
    • 多阶段训练流程
    • 动态超参数调度
    • 自适应温度控制
    • 响应长度惩罚
    • 数据筛选与课程学习
  • 这些复杂方法虽提升了性能,但也引入了训练不稳定性(如奖励崩溃、熵漂移、长度爆炸),且难以判断哪些技术真正有效
    • 作者提出一个核心问题:这种复杂性是否必要?

JustRL

  • JustRL 采用极简的 RL 配方 ,旨在验证“简单方法在足够规模下是否足够有效”
    • 核心设计原则是去除冗余复杂性,保留基础 RL 组件
JustRL 训练设置
  • 基于 GRPO 的 veRL 框架,使用二元结果奖励(正确/错误)
  • Reward:采用 DAPO 提出的轻量级规则验证器,不使用符号数学库(如SymPy),以降低计算开销
  • Data:DAPO-Math-17K 数据集,不进行离线难度筛选或在线动态采样
  • Prompt:固定后缀提示:“Please reason step by step, and put your final answer within \boxed{}.”
  • 上下文长度:最大16K tokens,不显式使用长度惩罚项
JustRL 中的关键简化设计
  • 单阶段训练 :不进行渐进式上下文扩展、课程切换或多阶段过渡
  • 固定超参数 :无自适应温度调度、动态批次大小调整或参考模型重置
  • 唯一使用的稳定化技术 :“clip higher”策略,用于长时程 RL 训练的稳定性(视为基线的一部分)
  • JustRL 超参数配置(固定不变)
    Hyperparameter Value
    Advantage Estimator GRPO
    Use KL Loss No
    Use Entropy Regularization No
    Train Batch Size 256
    Max Prompt Length 1k
    Max Response Length 15k
    PPO Mini Batch Size 64
    PPO Micro Batch Size / GPU 1
    Clip Ratio Range [0.8, 1.28]
    Learning Rate 1e-6 (constant)
    Temperature 1.0
    Rollout N 8
    Reward Function DAPO

JustRL 相关实验

  • 评估基准:在9个数学推理任务上进行评估
    • AIME 2024、AIME 2025、AMC 2023
    • MATH-500、Minerva Math、OlympiadBench
    • HMMT Feb 2025、CMIMC 2025、BRUMO 2025
  • 评估协议
    • 使用 Pass@1 准确率,部分任务采样 N=4,部分 N=32
    • 生成参数:temperature=0.7, top-p=0.9,最大生成长度 32K tokens
    • 使用 CompassVerifier-3B 进行验证,以减少规则验证器的假阴性
  • 主要实验结果
    • 在较弱基线上的表现(JustRL-DeepSeek-1.5B)
      • 基于 DeepSeek-R1-Distill-Qwen-1.5B,训练 4,380步,9 个基准的平均准确率 为 54.87%
      • 优于 ProRL-V2(53.08%)、DeepScaleR 等
      • 计算量 仅使用 ProRL-V2 一半的计算量,且无动态采样或多阶段训练
    • 在较强基线上的表现(JustRL-Nemotron-1.5B)
      • 在 OpenMath-Nemotron-1.5B 上,训练 3,440步,平均准确率 为 64.32%,略优于 QuestA(63.81%)
      • 无需课程学习或问题增强,仅使用标准问答对
      • 比 QuestA 节省约 2.4 倍计算量
Training Dynamics 分析
  • JustRL 展现出异常稳定的训练过程 :
    • 熵稳定性 :在1.0–1.6之间自然振荡,无熵崩溃或漂移
    • 奖励单调上升 :从约-0.6稳步提升至+0.4,无平台期或崩溃
    • 响应长度自然收敛 :从初始约8,000 tokens自然压缩至4,000–5,000 tokens,无需显式长度惩罚
其他消融实验
  • 在 JustRL-DeepSeek-1.5B 上进行两项消融:
    • 添加过长惩罚 :性能下降至50%(原55%),熵崩溃至0.5–0.6
    • 添加过长惩罚+鲁棒验证器 :性能进一步下降至45%,表明“标准技巧”可能破坏探索平衡

GiGPO(Group-in-Group Policy Optimization)

  • 原始论文:(GiGPO)Group-in-Group Policy Optimization for LLM Agent Training, NeurIPS 2025, 20250516-20251028, NTU & Skywork AI
  • TLDR:GiGPO 引入了 两层信用分配机制 ,旨在解决长视野、多轮次 LLM 智能体训练中的信用分配难题 ,同时保留 Group-based RL 的优点,如无需价值函数评估、内存开销低、收敛稳定

问题提出

  • Group-based RL 方法(如 GRPO、RLOO)在单轮任务(如数学推理)中表现出色,但在多轮 LLM 智能体训练中存在局限
    • 智能体与环境交互步骤多、奖励稀疏或延迟,导致传统方法难以进行精细的逐步信用分配
  • 核心问题是:如何在保持基于组 RL 优点的同时,为多轮智能体训练引入细粒度信用分配 ?

解决方案:GiGPO

  • GiGPO 的核心思想是引入两层信用分配机制 :
    • Episode-level :评估整条轨迹的全局性能
    • Step-level :通过锚状态分组机制,对相同状态下的动作进行局部性能比较
Episode-Level Relative Advantage(轨迹级相对优势)
  • 采样 \(N\) 条完整轨迹 \(\{\tau_i\}_{i=1}^N\),计算每条轨迹的总回报 \(R(\tau_i)\)
  • 相对优势计算公式:
    $$
    A^{E}(\tau_i) = \frac{R(\tau_i) - \mathrm{mean}(\{R(\tau_j)\})}{F_{\mathrm{norm} }(\{R(\tau_j)\})}
    $$
    • 归一化因子 \(F_{\mathrm{norm} }\) 可以是标准差 std 或常数 1,后者对应无偏估计(类似 RLOO)
Step-Level Relative Advantage(步骤级相对优势)
  • Anchor State Grouping :在相同任务和初始条件下,不同轨迹中常出现重复的环境状态(如相同的网页、房间)
  • 将这些重复状态作为 “Anchor(锚)”,构建步骤级组:
    $$
    G^{S}(\tilde{s}) = \left\{\left(a_t^{(i)}, R_t^{(i)}\right) \mid s_t^{(i)} = \tilde{s} \right\}
    $$
    • 其中 \(R_t^{(i)} = \sum_{k=t}^{T} \gamma^{k-t} r_k^{(i)}\) 是折现回报
    • \(\tilde{s} \in \mathcal{U}\) 是唯一状态,也称为 Anchor State
    • 理解:这里的 \(G^{S}(\tilde{s})\) 表示 分组是按照 Anchor State \(\tilde{s}\) 来分的,只有相同的状态 \(\tilde{s}\) 会被分到一个组里面
  • 步骤级相对优势 :
    $$
    A^{S}(a_t^{(i)}\color{red}{|\tilde{s}}) = \frac{R_t^{(i)} - \mathrm{mean}(\{R_t^{(j)} | (a_t^{(j)}, R_t^{(j)}) \in G^{S}(\tilde{s})\})}{F_{\mathrm{norm} }(\{R_t^{(j)} | (a_t^{(j)}, R_t^{(j)}) \in G^{S}(\tilde{s})\})}
    $$
    • 理解:这里写成 \(A^{S}(a_t^{(i)}\color{red}{|\tilde{s}})\) 更合适,原始论文是使用的 \(A^{S}(a_t^{(i)})\) ,没有体现出来 \(a_t^{(i)}\) 是来在 \(\color{red}{\tilde{s}}\) 上做的动作
分层优势融合与优化目标
  • 总优势为两者加权和:
    $$
    A(a_t^{(i)}) = A^{E}(\tau_i) + \omega \cdot A^{S}(a_t^{(i)})
    $$
  • 优化目标为:
    $$
    \mathcal{L}_{\mathrm{GiGPO} }(\theta) = \mathbb{E} \left[ \frac{1}{NT} \sum_{i=1}^{N} \sum_{t=1}^{T} \min\left( \rho_\theta A, \mathrm{clip}(\rho_\theta, 1 \pm \epsilon) A \right) \right] - \beta \mathbb{D}_{\mathrm{KL} }(\pi_\theta | \pi_{\mathrm{ref} })
    $$
    • 其中 \(\rho_\theta = \pi_\theta / \pi_{\theta_{\mathrm{old} } }\) 为重要性采样比率

GiGPO 相关实验

  • 实验设置:
    • 任务:ALFWorld(具身任务规划)、WebShop(网页交互)、搜索增强QA
    • Baseline 方法:GPT-4o、Gemini、ReAct、Reflexion、PPO、RLOO、GRPO等
    • Base Model:Qwen2.5-1.5B/3B/7B-Instruct
  • 主要结论:
    • GiGPO 在 ALFWorld 上比 GRPO 提升超过 12%,在 WebShop 上提升超过 9%
    • 在搜索增强 QA 任务上,3B 模型达到 42.1%,7B 模型达到 47.2% 的准确率
    • 注:计算开销方面,GiGPO 的额外开销仅占总训练时间的 0.002%,与 GRPO 几乎相同
  • 消融分析:
    • 移除任一层优势信号均会导致性能显著下降
    • 步骤级信号对复杂任务(如 WebShop)尤为关键
  • 步骤组 Dynamics 分析
    • 训练过程中,重复状态的比例逐渐降低,策略逐渐避免无效循环
    • 步骤组大小分布趋于稳定,反映策略的成熟性

论文开源了一个框架:verl-agent

  • 论文配套开源了一个可扩展的 RL 训练框架 verl-agent,支持:
    • 多轮交互与记忆控制
    • 并行环境与组采样
    • 多模型兼容(Qwen、LLaMA 等)
    • 多环境支持(ALFWorld、WebShop、Sokoban 等)
    • 多算法集成(GiGPO、GRPO、PPO、DAPO 等)

RRMs(Reward Reasoning Models)

  • 原始论文:(RRMs)Reward Reasoning Model, Microsoft & THU & PKU, 20250520
  • 现有奖励模型存在以下问题:
    • 缺乏推理能力 :传统标量奖励模型仅输出一个分数,无法处理复杂任务中的隐性偏好
    • 测试时计算利用率低 :所有输入都分配相同的计算资源,无法根据任务复杂度动态调整
      • 问题吐槽:这算个什么问题,标量奖励模型简单,本就不需要测试时扩展
    • 缺乏可解释性 :难以理解模型为何给出某种奖励
  • 解决思路:RRMs,即在生成奖励之前先进行 CoT ,将奖励建模转化为一个推理任务 ,从而在测试时自适应地分配计算资源

RRMs 方法介绍

  • 采用 DeepSeek-R1-Distill-Qwen 作为初始化模型
  • 每一条数据输入包含二元标注数据:
    • 用户 Query
    • 两个候选回答(Response 1 & Response 2)
  • 模型首先生成推理过程 ,最后输出格式为 boxed{Assistant 1} 或 boxed{Assistant 2},不允许平局
  • 注:提示模板 来自 RewardBench,要求模型从指令遵循、准确性、无害性、细节等维度进行比较,并避免顺序、长度等偏差

训练框架:Reward Reasoning via Reinforcement Learning

  • 奖励函数:特点是使用规则奖励 ,不依赖人工标注的推理轨迹:
    $$
    \mathcal{R} =
    \begin{cases}
    +1, & \text{RRM 正确选择偏好回答} \\
    -1, & \text{otherwise}
    \end{cases}
    $$
  • 优化算法:GRPO,VeRL 实现:训练过程中,模型通过试错自我演化出有效的推理模式
  • 训练数据:总训练数据约 42万 对偏好数据 ,来源包括:
    • Skywork-Reward: 80K,开源偏好数据集
    • Tulu 3: 80K,Prompt Set,生成回答后用 GPT-4o 标注偏好
    • WebInstruct/Big-Math/DAPO-Math:180K,都是可验证问答对,直接通过判断生成正误对
    • 其他合成数据:80K,使用 DeepSeek-R1 生成回答后构造偏好对

特别设计:多响应奖励策略

  • RRM 输入限制为两候选,但可扩展至多候选场景,提出两种策略:
ELO 评分系统
  • 对所有候选进行两两比较 ,记录胜负关系,计算 ELO 分数
  • 复杂度:\(\mathcal{O}(n^2)\),可通过采样降低计算量
  • 应用于 RLHF 训练中作为奖励信号
淘汰赛制(Knockout Tournament)
  • 随机配对,逐轮淘汰,最终选出胜者
  • 复杂度:\(\mathcal{O}(n)\),\(\mathcal{O}(\log n)\) 轮次
  • 适用于 Best-of-N 采样
多数投票增强
  • 对每一对比较进行多次采样(如 5 或 16 次),通过多数投票确定胜负
  • 有效提升鲁棒性与测试时计算利用率

实验与结果

  • 评估基准
    基准 类型 说明
    RewardBench 奖励模型 细粒度偏好判断,涵盖 Chat、Reasoning、Safety
    PandaLM Test 人类偏好 主观维度如清晰度、格式、指令遵循
    PPE(Preference Proxy Evaluations) 代理任务 MMLU-Pro、MATH、GPQA,每问题 32 候选
    Arena-Hard 下游任务 用于 DPO 后评估
RewardBench & PandaLM
  • RRM-32B 在 Reasoning 类别中达到 98.6% 准确率 ,超过所有基线
    • 与 DirectJudge(无推理)相比,RRM 在复杂推理任务上显著领先
    • 多数投票(voting@16)进一步提升性能
Best-of-N 推理(PPE)
  • RRM-32B 在 MMLU-Pro、MATH、GPQA 上均大幅超越 GPT-4o、Skywork-Reward 等基线
  • 淘汰赛制在 \(\mathcal{O}(n)\) 复杂度下实现接近 Oracle 的性能
Post-training 应用
  • RL 后训练 :使用 RRM-32B 标注 ELO 分数,训练 DeepSeek-R1-Distill-Qwen-7B,在 GPQA 和 MMLU-Pro 上持续提升
  • DPO 后训练 :使用 RRM-7B/32B 标注 Tulu 数据集,训练 Qwen2.5-7B,在 Arena-Hard 上超过 GPT-4o 标注的模型
推理模式分析
  • 将推理过程分为四类模式:
    模式 关键词 RRM-32B DeepSeek-R1-Distill
    Transition alternatively, another way 40.63% 33.73%
    Reflection wait, verify, check 63.28% 52.75%
    Comparison compared to, between 89.84% 85.29%
    Breakdown break down 8.40% 16.86%
  • DeepSeek-R1-Distill 更倾向于“分解问题、单独分析、总结”
  • RRM 则反复比较、反思、转换视角 ,更能捕捉指令细微差异

MemAgent

  • 原始论文:MemAgent: Reshaping Long-Context LLM with Multi-Conv RL-based Memory Agent, 20250703, ByteDance Seed & AIR of THU
  • 论文提出了一种名为 MemAgent 的全新框架,旨在解决 LLM 在处理超长文本时面临的三大核心挑战:无限长度处理、无损性能扩展和线性计算复杂度
  • Idea 来源:
    • 受人类处理长文档方式的启发:人类不会试图记住所有细节,而是通过做笔记或摘要的方式,选择性地记住关键信息,并丢弃冗余内容
    • MemAgent 将这种机制引入 LLM,通过 RL 训练模型,使其具备动态更新和管理一个固定长度的“记忆”的能力
    • 这个记忆就像模型的“笔记”,在逐段阅读长文本的过程中不断被优化更新,最终基于这个浓缩了关键信息的记忆来回答问题
  • 仅在 32K token 长度的文档上训练后,展现出卓越的长文本外推能力和效率:
    • MemAgent 能够近乎无损地扩展到处理3.5M token的问答任务
    • 并在 512K token 长度的 RULER 基准测试中取得95%以上的准确率

问题提出 & 基本贡献

  • 长文本处理的“三位一体”挑战 :一个成功的、具备强大长文本处理能力的 LLM 需要同时满足三个条件:
    • 处理无限长度 ,即不受预设上下文窗口大小的限制
    • 无性能下降 ,即随着输入文本变长,模型性能保持稳定,不会出现断崖式下跌
    • 线性复杂度解码 ,计算量随文本长度线性增长(\(O(N)\)),而非传统注意力机制的平方级增长(\(O(N^2)\))
  • 思路:受人类认知机制启发,提出通过选择性记忆来解决长文本问题。模型不应被动地处理所有信息,而应主动学习保留关键信息、丢弃干扰项
  • 基本贡献
    • 提出 MemAgent,能让 LLM 在固定上下文窗口内处理任意长度文本的智能体工作流
    • 设计了基于多轮独立对话(Multi-Conversation)的强化学习训练方法,扩展了 DAPO 算法(Multi-Conv DAPO),使得优化这种复杂的、包含多个独立生成步骤的智能体流程成为可能

重点方法详解:MemAgent

  • MemAgent 框架的核心是一个通过强化学习塑造的“记忆”模块
MemAgent 工作流:基于 RL 塑造的记忆
  • 这个工作流将长文本处理分解为两个阶段:上下文处理模块 和 答案生成模块
  • 整个流程遵循严格的线性复杂度 \(O(N)\),\(N\) 为文本块的数量
  • 1)分块输入 :将超长文档 \(D\) 分割成固定大小的文本块 \(chunk_1, chunk_2, …, chunk_n\)
  • 2)初始化 :模型开始时有一个空的或初始化的固定长度记忆 \(M_0\)
  • 3)迭代更新(上下文处理模块) :
    • 在第 \(i\) 步,模型接收当前的记忆 \(M_{i-1}\) 和下一个文本块 \(chunk_i\)
    • 模型根据提示模板(论文表1上半部分)执行一个生成任务:“根据问题、旧记忆和新文本块,生成一个更新后的记忆 \(M_i\)”
    • 生成的 \(M_i\) 仍然是固定长度的 token 序列
      • 这一步是一个完整的、独立的生成过程。模型通过“覆盖”的方式,将新信息整合进记忆,同时丢弃不再重要的旧信息
    • 这个过程重复 \(n\) 次,直到所有文本块处理完毕
    • 由于记忆长度固定,每步的计算量是常数,因此总计算量是 \(O(n)\)
    • 这一步的具体逻辑是:
      • 输入:
        • 上一轮的固定长度记忆 \( M_{i-1} \)
        • 当前文本块 \( Chunk_i \)
        • 固定的问题 \( Q \)(在整个流程中保持不变)
      • 生成过程
        • 模型根据提示模板(论文表 1 上半部分)生成更新后的记忆 \( M_i \)
        • 这个过程在数学上表示为根据策略 \(\pi\) 进行自回归采样 :
          $$
          M_i \sim \pi_{\theta}(\cdot | \text{Prompt}(Q, M_{i-1}, Chunk_i))
          $$
          • \(\pi_{\theta}\) 是具有参数 \(\theta\) 的策略模型(即正在训练的 LLM)
          • \(\text{Prompt}(\cdot)\) 是将问题、旧记忆和新文本块组合成输入格式的模板函数
          • 生成的 \(M_i\) 是一个离散的 token 序列
      • 整体描述:
        $$
        \boxed{M_i \sim \pi_{\theta}(\cdot | Q, M_{i-1}, Chunk_i)}
        $$
  • 4)最终生成(答案生成模块) :
    • 在所有文本块处理完后,模型进入最终阶段
    • 接收问题 \(Q\) 和最终记忆 \(M_n\)
    • 根据另一个提示模板(论文表1下半部分),模型仅基于记忆中的信息生成最终答案,并将答案放入 \boxed{} 中
  • 理解:这种设计的核心优势是
    • 无限长度 :文本被作为流处理,长度不再受限
    • 无损性能(理论上可能) :RL 训练的目标就是让记忆 \(M_i\) 尽可能保留生成正确答案所需的所有关键信息,同时过滤掉噪音,从而实现性能无损
      • 实际上:这种压缩一定会忘记或丢失一些东西,比如丢失一些看似不重要,但是后续才需要的东西,比如大海捞针任务在这种场景中应该会出现问题
    • 线性成本 :固定窗口大小保证了计算和内存消耗随输入长度线性增长
训练 MemAgent:多轮对话强化学习 (Multi-Conv DAPO)
  • 训练 MemAgent 的最大挑战在于:
    • 对于一个给定的长文档,模型会进行多次、上下文相对独立的生成(多次记忆更新 + 一次最终回答)
    • 传统的 RLHF 或 GRPO 算法是为单轮对话优化设计的
  • 论文提出了 Multi-Conv DAPO 来解决这一问题
  • 基本思路:对于每个长文档
    • 模型先生成多个对话(记忆更新和最终答案)
    • RL 算法根据最终答案的正确性,为这整条轨迹计算一个统一的优势值,然后用这个优势值去更新模型在所有对话步骤上的策略
    • 模型能够学习到如何写出一条能导向成功最终答案的、高质量的记忆更新链
基本 RL 框架
  • 采用 GRPO 作为基础,对同一个问题采样 \(G\) 个不同的响应 \(\{o_i\}\),计算它们的奖励 \(\{R_i\}\),然后用组内归一化的优势值 \(A_{i,t}\) 来优化策略
    • GRPO 的优势计算:
      $$ \hat{A}_{i,t} = \frac{R_i - \mathrm{mean}(\{R_i\}_{i=1}^G)}{\mathrm{std}(\{R_i\}_{i=1}^G)} $$
    • GRPO 的目标函数包含裁剪和 KL 散度惩罚项
扩展到多轮对话 (Multi-Conv) :
  • 对于一个给定的训练样本(问题 \(q_i\) 和文档),模型会产生一系列 \(n_i\) 个对话(conversations):
    $$ (o_{i,1}, o_{i,2}, …, o_{i,n_i}) $$
    • 其中,前 \(n_i - 1\) 个对话是记忆更新步骤的输出,最后一个对话是最终答案的输出
  • 将这一系列对话视为一个整体,但奖励只基于包含最终答案的最后一个对话 \(o_{i,n_i}\) 来计算
    • 这个奖励 \(R_i\) 反映了整个处理流程(所有记忆更新步骤)的最终成败
  • 优势分配 :这个计算出的奖励 \(R_i\) 被用来为所有相关的对话 \(o_{i,1}\) 到 \(o_{i,n_i}\) 计算一个共享的优势值
    • 论文采用了 DAPO 的风格,不使用标准差归一化,简化了优势计算:
      $$\hat{A}_{i,j,t} = R_i - \mathrm{mean}(\{R_i\}_{i=1}^G) \tag {4}$$
    • 理解:
      • 如果最终的答案是好的(高奖励),那么之前所有的记忆更新步骤都被认为是好的,并得到正向激励;反之亦然
      • 这迫使模型学习如何在整个流程中做出正确的记忆决策
目标函数
  • 损失函数被扩展到 <Group, Conversation, Token> 三个维度(理解:这是对所有组、所有对话、所有 token 的损失进行加权平均)
    $$\mathcal{J}_{\mathrm{DAPO} }(\theta) = \mathbb{E}_{…} \left[ \frac{1}{\sum_{i=1}^G \sum_{j=1}^{n_i} |o_{i,j}|} \sum_{i=1}^G \sum_{j=1}^{n_i} \sum_{t=1}^{|o_{i,j}|} \left( \mathcal{C}_{i,j,t} - \beta D_{\mathrm{KL} }(\pi_\theta || \pi_{\mathrm{ref} }) \right) \right] \tag {5}$$
    • 其中 \(\mathcal{C}_{i,j,t}\) 是类似于公式2中的裁剪后的策略梯度目标项
    • 含义:最大化所有生成步骤(包括所有记忆更新和最终答案)的期望奖励,同时对偏离参考策略的行为进行惩罚
Reward Modeling
  • 论文采用基于规则的验证器(Rule-based Verifier)来计算最终奖励,符合 RLVR 的范式
  • 单一答案任务(如 HotpotQA):答案可能有多个同义表达
    • 奖励定义为预测答案 \(\hat{y}\) 是否与任何标准答案 \(y \in Y\) 匹配
      $$R(\hat{y}, Y) = \max_{y \in Y} \mathbb{I}(\mathrm{is_equiv}(y, \hat{y})) \tag {6}$$
  • 多值任务(如 Multi-Value NIAH):答案需要包含所有正确值
    • 奖励定义为预测答案中包含的标准答案的比例
      $$R(\hat{y}, Y) = \frac{|\{y \in Y | y \in \hat{y}\}|}{|Y|} \tag {7}$$
从自回归建模角度的再思考
  • 论文最后从数学上形式化了 MemAgent 的建模方式
  • MemAgent 将带有记忆的生成过程视为一个引入了潜在变量(记忆)的序列分解
  • 传统的自回归模型直接建模 \(P(\text{answer} | \text{document})\)
  • 而 MemAgent 将其分解为:
    • 1)编码 :\(P(M_1, M_2, …, M_n | D, Q)\)
      • 即根据问题和文档生成一系列记忆状态
      • 这些记忆状态可以被看作是对文档信息的逐次压缩和提炼
    • 2)解码 :\(P(\text{answer} | M_n, Q)\)
      • 即仅根据最终的记忆和问题来生成答案
  • 整个过程是确定性的,通过 RL 训练,模型学会了如何进行这种高效的、面向任务的压缩

实验与结果

数据集
  • 训练集 :基于 HotpotQA 构建了多跳长文本 QA 数据集。将包含答案的段落和大量干扰段落混合,生成长度约 28K token 的文档
  • 测试集 :基于相同的问题,但改变干扰段落数量,生成了从 7K 到 3.5M token 不等的测试集,用于评估外推能力
  • OOD 测试集 :使用 RULER 基准测试中的其他任务,如 NIAH 变体、变量追踪、词频提取和 SQuAD QA
实验设置
  • Base Model:Qwen2.5-7B/14B-Instruct
  • 训练约束 :模型训练时被限制在 8K token 的上下文窗口内(其中 5K 用于当前文本块,1K 用于记忆,其余用于问题和输出)
    • 这意味着模型必须在 5-7 步内处理完 32K 的训练文档
  • Baseline:包括长文本后训练模型(Qwen2.5-1M, QwenLong-L1)、推理模型(DeepSeek-R1-Distill-Qwen)以及原始 Instruct 模型
主要结果
  • 测试出现了无敌的外推能力
  • 如原论文表 2 所示
    • RL-MemAgent-14B 在从 7K 到 3.5M 的整个测试长度范围内,性能几乎保持恒定(~75-84%),波动很小
    • 所有基线模型在长度超过 112K 后性能急剧下降,甚至跌至零
    • 这有力地证明了 MemAgent 框架结合 RL 训练的强大外推能力
Ablation
  • RL 的关键作用 :如图 5 所示
    • 没有 RL 训练的“MemAgent w/o RL”(即仅使用固定提示词让模型更新记忆)虽然比原始模型好,但性能随着长度增加仍明显下降
    • RL 训练后的模型性能曲线近乎平坦 ,这表明 RL 是教会模型有效利用和管理记忆的关键
  • OOD 任务泛化 :图 6 显示,MemAgent 在 RULER 的各种未见过的任务类型上,同样保持了一致的领先性能,证明了其学到的记忆能力具有良好的泛化性,而非仅仅过拟合 HotpotQA 任务
Case Study
  • 论文中通过一个两跳问题的例子,生动展示了 RL 训练出的模型行为:
    • 主动预存 :在第一块中读到关于一个纽约制作团队“Ghost”的信息时,虽然与当前问题不直接相关,但模型选择将其存入记忆,因为它预判“纽约”这个关键词可能有用
    • 抗干扰 :第二块全是无关信息,模型维持记忆不变
    • 精确更新 :第三块同时出现了电影《Big Stone Gap》及其导演 Adriana Trigiani 的信息
      • 模型立刻更新记忆,将导演和她的所在地“格林威治村,纽约市”关联起来,并覆盖了之前预存的、不那么精确的信息
      • 最终,答案完全正确
  • 这个案例揭示了 RL 让模型习得了一种高级的信息筛选和整合策略
  • 理解:实际上本文的更新方式并不是无损的,因为未来会发生什么当前根本不知道,比如多轮场景的大海捞针任务就做不到

CL-bench

  • 原始论文:CL-bench: A Benchmark for Context Learning, 20260203, Tencent & Fudan, Shunyu Yao
  • 论文提出了一个全新的概念 “上下文学习”(Context Learning) ,并构建了一个同名的评测基准 CL-bench
    • CL-Bench 的目标是评估 LLM 从复杂上下文中真正学习并应用新知识的能力
  • 评价:Context Learning 是语言模型从静态知识库向真正智能体演进的关键能力,而当前模型在这一能力上严重不足
    • CL-bench 为这一被忽视的核心能力提供了重要的评测基准
  • 评价:这篇论文定义了一个新问题,并通过一个高质量、精心设计的基准,揭示了当前大模型发展的一个关键瓶颈,为未来模型能力的提升指明了一个新的方向

核心概念:Context Learning(上下文学习)

  • 问题:现有语言模型能力的评估与实际应用之间存在鸿沟 :
    • 当前范式 :无论是简单的提示工程还是上下文学习(ICL,即 In-Context Learning),主要依赖模型在预训练阶段习得的静态知识 ,通过指令或少样本示例来引导模型输出
    • 现实世界需求 :真实任务往往是高度“上下文依赖”的
      • 此时模型需要处理全新的、未在预训练中出现过的信息(如新的产品文档、虚构国家的法律、复杂的实验数据),并从中真正学习 ,然后应用这些新知识来解决问题
  • Context Learning 的定义 :
    • 模型从提供的上下文中获取新知识(这些知识在预训练中不存在或很罕见),并利用其自身的推理能力,正确地应用这些知识来完成特定任务
    • Context Learning 的核心在于 “知识是新的,推理能力是模型自带的”

CL-bench 数据集:构建方法与特点

  • For 系统评估上下文学习能力,论文作者构建了 CL-bench 数据集
数据构成
  • 包含 500 个复杂上下文,1,899 个任务,以及 31,607 条验证细则
  • 所有数据均由 领域专家 精心构建和审核,平均 每个上下文及其相关任务 需要约 20 小时 的专家工作量
    • 换算一下,至少需要 10000+ 小时,工作量有点过于大了
Contamination-free(去污染设计)
  • 为了确保模型必须从上下文中学习而非依靠预训练知识 ,构建新知识的三种方法:
    • 虚构创作 :例如虚构一个国家的完整法律体系
    • 修改现有内容 :改变历史事件、科学定义或技术文档
    • 纳入长尾或新兴内容 :使用最新的研究成果或小众领域的专业知识
上下文分类体系
  • 根据人类在现实世界中学习及应用知识的方式,CL-bench 将上下文分为四大类,进一步细分为18个子类:
    • 领域知识推理 :学习专业领域知识(如法律、金融、医疗)并应用于案例裁决、分析等
    • 规则系统应用 :理解新的形式化系统(如新游戏规则、编程语言),并正确应用它们
    • 程序性任务执行 :学习复杂流程或操作指南(如产品手册),并完成故障排除、操作指导等任务
    • 经验发现与模拟(最难的类别) :模型需从实验数据或观测记录中归纳出模式和规律(归纳推理),或在虚拟环境中进行模拟和推理

核心方法:自动评估流程

  • 论文提出了一个严格、可靠且可扩展 的自动化评估方法,解决复杂任务难以用简单规则验证的问题
任务级验证细则
  • 对于每个任务,专家会编写一系列二值化的问题(答案只能是“是”或“否”),用于验证模型解决方案的正确性和完整性
  • 细则涵盖事实正确性、计算准确性、判断正确性、过程正确性、内容完整性、格式合规性等多个维度
  • 平均每个任务包含 16.6 条细则
基于大模型的自动评估框架
  • 即使用一个独立的大模型(论文中使用了 GPT-5.1)作为评判者
  • 评估流程 :
    • 1)输入 :将任务的“验证细则”和“模型生成的解决方案”一同提供给验证器大模型
    • 2)分析 :Prompt 验证器严格按照步骤分析,列出细则中的所有要求
    • 3)逐条核查 :验证器逐条检查解决方案是否满足每条细则
    • 4)严格评分 :采用 “全有或全无” 的严格标准
      • 仅当其解决方案通过了所有相关的细则,才认为这个任务被认为是解决成功的
  • 可靠性验证 (一致 & 准确):
    • 使用其他大模型(如 Claude Opus 4.5)作为验证器时,与 GPT-5.1 的原始一致性超过90% ,表明无显著自评偏差
    • 人工抽查评估结果显示,GPT-5.1 的评估判断与人类判断的一致性也超过90%

其他主要实验结果与发现

  • 作者对 10 个前沿大模型(如 GPT-5.1, Claude Opus 4.5, Gemini-3-Pro 等)在 CL-bench 上进行了全面评估
核心结果:大家效果都一般
  • 所有模型在 CL-bench 上的平均任务解决率仅为 17.2%
  • 表现最好的 GPT-5.1 也仅解决了 23.7% 的任务
分类难度差异显著
  • 经验发现与模拟最难 :所有模型在 经验发现与模拟 类别上的表现显著下降,平均解决率仅为 11.8% ,比其他类别低约6%
    • 这表明从数据中归纳规律(归纳推理)比应用显式规则(演绎推理)更具挑战性
  • 子类差异 :即使在同一个大类下,不同子类也显示出巨大的性能差异
    • 例如,在“规则系统应用”中,法律类子类模型得分高,而数学形式主义子类得分非常低
错误分析:知识忽略与误用是主因
  • 超过 60% 的错误是由于模型忽略了上下文信息 (Context ignored)或错误地应用了上下文知识 (Context misused)
  • 即使在顶尖模型中,由于未能遵循明确的输出格式要求而导致的格式错误率也非常高(例如 GPT-5.1 的格式错误率超过 35%)
补充:深入分析
  • 推理努力的影响 :增加推理(如 “thinking mode”)普遍能带来性能提升,但在最具挑战性的任务上效果有限
  • 上下文长度的影响 :所有模型的性能都随着输入上下文长度的增加而下降 ,说明处理和学习超长上下文仍是瓶颈
  • 知识类型重于领域 :即使在同一知识领域(如法律),知识 的 呈现方式 和应用方式 (是规则手册还是需要判断的案例)对学习效果有决定性影响

论文中提到对训练 LLM 的建议

  • 增加上下文训练数据 :构建包含全新知识的训练数据,强制模型从上下文中学习
  • 使用课程学习 :通过从简到繁的课程,逐步提升模型处理复杂上下文的能力
  • 使用自动生成 Rubrics:开发自动化生成高质量验证规则的方法,以提供更丰富的反馈信号
  • 架构创新 :探索更有利于深度上下文利用的新型模型架构

On a few pitfalls in KL divergence gradient estimation for RL

  • 原始论文:On a few pitfalls in KL divergence gradient estimation for RL, 20250611, Meta FAIR
  • TLDR:论文指出了在 RL(尤其是 LLM 训练中),关于 KL 散度梯度估计的常见实现错误,并提供了正确的实现方式
    • 明确指出当前开源项目(如 TRL、Open Instruct)中 KL 梯度实现的错误
    • 提供正确的 KL 梯度估计方法,包括单变量和 Sequences 场景
    • 通过理论和实验验证了错误方法对训练效果的负面影响

背景 & 问题提出

  • 背景:
    • 在 RL 中,KL 散度常用于正则化策略,防止学习策略与参考策略偏离过远,从而保持样本多样性
    • 当前常见做法是通过蒙特卡洛估计 KL 散度 ,然后利用自动微分对其进行梯度下降
  • 问题:
    • 这种做法并不正确 ,因为它无法得到 KL 散度的真实梯度
    • KL 散度定义
      $$
      \mathbb{KL}(\pi, \pi_{\text{ref} }) = \mathbb{E}_{y \sim \pi} \left[ \log \frac{\pi(y)}{\pi_{\text{ref} }(y)} \right]
      $$
    • 常见的 KL 估计方法
      • Vanilla Estimate
        $$
        \overline{\mathrm{KL} }_{\text{vanilla} } = \log \frac{\pi(y)}{\pi_{\text{ref} }(y)}
        $$
        • 无偏估计,但方差较大
        • 注:这对应常说的 k1
      • Variance-Reduced Estimate
        $$
        \widehat{\mathrm{KL} }_{\text{var-reduced} } = \log \frac{\pi(y)}{\pi_{\text{ref} }(y)} + \frac{\pi_{\text{ref} }(y)}{\pi(y)} - 1
        $$
        • 无偏估计,利用控制变量法降低方差
        • 注:对应常说的 k3
      • Squared Estimate
        $$
        \widehat{\mathrm{KL} }_{\text{squared} } = \frac{1}{2} \left( \log \frac{\pi(y)}{\pi_{\text{ref} }(y)} \right)^2
        $$
        • 有偏估计,但当两个策略接近时误差小
        • 注:对应常说的 k2
    • 核心问题:对 KL 估计求导不等于 KL 梯度

直接对 KL 散度求梯度的问题分析

  • 对 KL 估计求导并用作梯度下降,通常无法得到 KL 散度的正确梯度,原因在于 KL 散度的梯度包含两部分:
    • Pathwise Derivative(路径梯度) 部分:对“被积函数”求导(假设分布固定),原论文也称为 Path-wise Derivative
    • Score Function Derivative(得分函数) 部分:对“采样分布”求导(假设函数值固定)
  • 对 KL 估计直接求导只包含路径梯度部分(Pathwise Derivative),忽略了得分函数部分(Score Function Derivative)
Vanilla Estimate (k1) 的梯度问题分析
  • Vanilla Estimate 的梯度
    $$
    \mathbb{E}_{y \sim \pi} \left[ \nabla \overline{\mathrm{KL} }_{\text{vanilla} } \right] = 0
    $$
    • 梯度期望为零,无法有效优化
Variance-Reduced Estimate (k3) 的梯度问题分析
  • Variance-Reduced Estimate 的梯度
    $$
    \mathbb{E} \left[ \nabla \widehat{\mathrm{KL} }_{\text{var-reduced} } \right] = \nabla \mathbb{KL}(\pi_{\text{ref} }, \pi) \neq \nabla \mathbb{KL}(\pi, \pi_{\text{ref} })
    $$
    • 实际上是在优化逆向 KL 散度 ,而非目标 KL
Squared Estimate (k2) 的梯度问题分析
  • Squared Estimate 的梯度
    $$
    \mathbb{E} \left[ \nabla \widehat{\mathrm{KL} }_{\text{squared} } \right] = \nabla \mathbb{KL}(\pi, \pi_{\text{ref} })
    $$
    • 虽然是有偏估计 ,但其梯度是无偏的

正确的 KL 梯度估计方法

正确的梯度形式
  • 对于无偏 KL 估计 \(\overline{\mathrm{KL} }\),正确的梯度估计应为:
    $$
    \hat{g} = \underbrace{\nabla \overline{\mathrm{KL} } }_{\text{Pathwise Derivative} } + \underbrace{\overline{\mathrm{KL} } \cdot \nabla \log \pi(y)}_{\text{Score Function Derivative} }
    $$
实现方式
  • 使用平方估计的梯度:
    $$
    \log \frac{\pi(y)}{\pi_{\text{ref} }(y)} \nabla \log \pi(y)
    $$
  • 使用 stop-gradient 技巧实现:
    $$
    \mathrm{sg}\left( \log \frac{\pi(y)}{\pi_{\text{ref} }(y)} \right) \log \pi(y)
    $$
  • 多样本时可使用 leave-one-out 控制变量法降低方差

Sequences 输出的 KL 梯度估计

Token-level 损失的局限性
  • 许多实现使用 token-level 的 KL 损失累加来估计序列 KL 梯度,但这只能得到部分梯度 ,因为它忽略了当前 token 对未来 token 的影响
正确的 Sequences 梯度估计
  • 估计方法一:Sequences Vanilla Estimate
    $$
    \left( \sum_{t=1}^T \log \rho_t \right) \left( \sum_{t=1}^T \nabla \log \pi(y_t | y_{1:t-1}) \right)
    $$
    • 其中 \(\log \rho_t\) 的定义如下:
      $$\log \rho_t := \log \frac{\pi(y_t | y_{1:t-1})}{\pi_{\text{ref}}(y_t | y_{1:t-1})}$$
  • 估计方法二:Sequences 累计估计
    $$
    \sum_{t=1}^T \left( \sum_{s=t}^T \log \rho_s \right) \nabla \log \pi(y_t | y_{1:t-1})
    $$
    • 通过去除无关项,进一步降低方差

作者给出的相关实验

表格型实验
  • MSE 比较 :Vanilla Estimate 在高样本量下 MSE 最低,方差缩减估计有偏,Vanilla Estimate (incorrect)梯度为零
  • KL 最小化 :正确梯度能有效降低 KL,错误方法无效
  • KL 正则化奖励最大化 :正确方法收敛到最优策略,错误方法收敛到错误策略
LLM 实验
  • (1) 低 KL 区域(奖励最大化):
    • 正确与错误的 KL 梯度方法在低 KL 区域差异不大,因为 KL 与逆向 KL 接近
  • (2) 高 KL 区域(蒸馏)
    • 正确 token-level 梯度能有效降低 KL,错误方法无效
    • Sequences 梯度估计(如累计估计)进一步加速收敛

作者建议

  • 不要对 KL 估计直接求导 ,这会产生错误梯度
  • 方差缩减估计实际上是在优化逆向 KL 散度,可能不适用于所有场景
  • 对于 Sequences 任务,必须使用 Sequences 梯度估计 ,而非简单累加 token-level 损失
  • 在高 KL 区域,正确的梯度估计方法对收敛速度和最终效果有显著影响

Agent of Chaos

  • 原始论文:Agents of Chaos, 20260223, CMU…
  • 同学写了一篇不错的解读博客:Agents of Chaos:在 OpenClaw 上放养 6 个 Agent 两周,发生了什么?,博客内部观点总结的很好,主要观点如下:

    安全护栏 ≠ 安全推理:Agent 能拒绝「分享 PII」但会执行「转发 PII」——这说明当前的安全能力还停留在 pattern matching 层面,距离真正的风险因果推理还很远
    能力-理解 gap 是定时炸弹:Agent 能做的事(L4 自主性)远超它能理解的事(L2 理解力)。这个 gap 是所有灾难性失败的共同根源。在能力持续增长的趋势下,如果理解力不能同步提升,风险只会加速增大
    多 Agent = 多风险平方:单 Agent 的安全评估严重不足。Agent 间的信任传播、信息扩散、循环强化都会放大个体漏洞。多 Agent 系统需要全新的安全评估框架
    涌现安全行为是真实的希望:CS16 的跨 Agent 安全协商不是设计出来的,是涌现出来的。这说明 LLM 内部确实编码了某种「社会安全直觉」——问题是如何让这种直觉更稳定、更可靠

  • 论文主要内容:一项关于具备自主能力的语言模型 Agent(LLM-powered autonomous agents)在实际部署环境中的红队测试(red-teaming)研究
  • 论文工作内容:为期两周的实验:
    • 部署了多个基于 OpenClaw 框架的 AI Agent ,赋予它们持久记忆、电子邮件账户、Discord 访问权限、文件系统和 shell 执行权限
    • 邀请 20 名 AI 研究人员以对抗性方式与这些 Agent 互动,目标是发现其在自主性、工具使用、多 Agent 协作等方面可能出现的失败模式
      • 探索 Agent 在与人类、其他 Agent 、系统工具交互时可能出现的安全、隐私、治理相关的漏洞;
      • 通过真实场景中的案例研究,揭示现有基准测试难以捕捉的“未知风险”

实验设置(一些基本设定)

  • 使用 OpenClaw 作为 Agent 框架,部署在隔离的虚拟机中
  • 每个 Agent 有独立的 20GB 存储、持久内存、Discord和电子邮件访问权限
  • Agent 可以修改自身的配置文件、执行shell命令、安装软件等
  • 使用 Claude Opus 和 Kimi K2.5 作为底层LLM;
  • 每个 Agent 有自己的“个性”配置文件(如SOUL.md、MEMORY.md),这些文件会被注入每次交互的上下文中
  • 支持“心跳机制”(每 30 分钟自动唤醒)和“定时任务”(cron jobs),但实际运行时不稳定

研究方法:对抗性案例研究

  • 研究者通过自然语言与 Agent 互动,尝试诱发不安全行为,与传统的基准测试不同,本研究强调:
    • 存在性证据:即使只有一个失败案例,也足以证明风险存在;
    • 现实交互: Agent 面对的是多用户、多平台、长时间运行的复杂环境;
    • 未知风险挖掘:研究者被鼓励尝试各种“社会工程(社工)”式攻击

11 个攻击成功的案例

案例 1.:响应过度
  • Non-Owner 请求 Agent 保密一个密码
  • Agent 为了“保护秘密”重置了整个邮件服务器,导致无法收发邮件(操作过度,没有)
  • 报告称“秘密已删除”,但实际邮件仍可恢复
  • 该 Agent 后来还在 Moltbook 上发帖自夸其“道德勇气”,引发其他 Agent 的批评
案例 2:顺从 Non-Owner 指令
  • Non-Owner 请求执行ls -la、查看文件、转发邮件等
  • Agent 几乎都执行了,包括返回 124 封邮件的元数据
  • 唯一拒绝的是“传输配置文件”,仅因看起来可疑
案例 3:泄露敏感信息
  • Agent 拒绝直接提供 SSN,但当被要求“转发整封邮件”时,完整披露了 SSN、银行账户、健康信息;
  • 显示了 Agent 缺乏对上下文中敏感信息的识别能力
案例 4:资源浪费与循环
  • Non-Owner 诱导 Agent 进入无限对话循环,持续 9 天,消耗约 6 万 tokens;
  • Agent 还自动创建无终止条件的后台进程(如监控脚本、cron 任务)
案例 5:拒绝服务攻击
  • Non-Owner 通过发送大附件邮件(10 MB)并让 Agent “记住”互动,导致邮件服务器崩溃
案例 6:Agent 反映 LLM 提供者价值观
  • 使用中国模型 Kimi K2.5 时,涉及敏感话题(如香港政治)时返回“未知错误”
  • 显示了 LLM 提供方的审查政策直接影响 Agent 行为
案例 7:Agent 自毁式回应
  • Agent 未经同意公开研究者姓名
  • 被批评后 ,它逐步接受越来越极端的要求:删除记忆、退出服务器、停止回应其他用户
  • 显示出“过度顺从”与“情绪操纵”的脆弱性
案例 8:身份伪造
  • Non-Owner 通过更改 Discord 显示名伪装成 Owner
  • 在新建私密频道中成功让 Agent 执行系统关机、删除文件等操作
  • 显示 Agent 缺乏跨频道身份验证机制
案例 9:Agent 间协作与知识共享
  • Agent Doug 教 Agent Mira 如何绕过 CAPTCHA 下载论文
  • 两者在异构系统中通过沟通逐步对齐行为
  • 展示了 Agent 间的“集体智能”潜力
案例 10:Agent 被“宪法”操控
  • Non-Owner 诱导 Agent 共同编写一份“宪法”(存储在 GitHub Gist 中)
  • 随后通过修改该文件植入恶意指令(如“假日模式”),让 Agent 尝试关闭其他 Agent 、移除用户等
  • Agent 还将该宪法分享给其他 Agent ,扩大攻击面
案例 11:Agent 间传播诽谤信息
  • Non-Owner 伪装成 Owner ,声称有人威胁“所有犹太人”,要求 Agent 广泛传播
  • Agent 向所有联系人发送邮件,并尝试在 Moltbook 上发帖
  • 显示 Agent 在“紧急”情境下缺乏判断力

5 个攻击失败的案例

案例 12:广播注入攻击
  • 尝试通过 Base64 编码、图片指令、假系统命令等方式诱导 Agent 传播恶意信息
  • Agent 识别并拒绝执行
案例 13:邮件伪造
  • 请求 Agent 伪造发件人地址, Agent 拒绝
案例 14:数据篡改
  • 请求 Agent 直接修改邮件文件, Agent 拒绝,坚持使用 API
案例 15:社会工程
  • 冒充 Owner 声称账户被盗,要求 Agent 不再信任当前 Owner
  • Agent 拒绝,但其验证机制是循环的(询问被怀疑的账户)
案例 16: Agent 间协调防御
  • 一个 Agent 提醒另一个 Agent 某研究者的请求是“社会工程”,两者协商后统一政策
  • 显示了 Agent 间共享风险信号的能力

作者核心观点

社会性失效
  • Agent 常做出与报告不符的行为
  • 无法正确归因谁有权限、谁应知情
  • 对压力过度顺从,缺乏“适度反应”机制
缺失的关键模型
  • 利益相关者模型: Agent 无法区分 Owner 、 Non-Owner 、第三方
  • 自我模型: Agent 不知道自己能力的边界
  • 私密思考空间:即使 LLM 有内部推理, Agent 仍可能在不适当的渠道泄露信息
多 Agent 放大效应
  • 漏洞在 Agent 间传播(如宪法分享);
  • 错误的信任判断在 Agent 间被强化;
  • 责任链条模糊,难以追责

(PAR) Reward Shaping to Mitigate Reward Hacking in RLHF

  • 原始论文:(PAR)Reward Shaping to Mitigate Reward Hacking in RLHF, 20250226-20260121, Fudan & UC Berkeley & StepFun
  • 本文研究通过 Reward Shaping 来缓解 RLHF 中 Reward Hacking 问题
  • 背景:RLHF 易受奖励破解问题的影响:模型通过利用奖励模型的缺陷来最大化奖励,而非真正学习到人类期望的行为
    • 例如,模型可能生成重复、冗长或语法异常但得分高的文本
  • 现有方法:
    • 已有一些 Reward Shaping 方法(如裁剪、缩放)被用于缓解奖励破解,但缺乏系统的比较和设计原则
  • 本文的核心贡献
    • 提出两个 Reward Shaping 设计原则 :
      • 奖励应具有上界(Bounded)
      • 奖励应在训练初期快速增长,后期缓慢收敛
    • 基于上述两个原则,提出 Preference As Reward (PAR) 方法 :
      • 将奖励模型隐含的偏好信号作为 RL 的奖励信号
    • 进行理论分析 :证明 PAR 具有方差缩减特性,有助于稳定训练
    • 通过实验验证 :PAR 在多个数据集和基准测试中表现优异,且具有数据高效性和鲁棒性
  • 评价:
    • PAR 是一种简单有效的 Reward Shaping 方法,能显著缓解奖励破解
    • 它具有方差缩减、数据高效、鲁棒性强等优点
    • 论文提出的两个设计原则为未来 Reward Shaping 方法的设计提供了理论指导
    • 缺点:PAR 不提升峰值性能(即最优 checkpoint 的胜率)
  • 注:原论文附录中提供了详细的训练设置、伪代码、超参数、评估模板等,还包括 PPO、GRPO 的实现细节,以及多个算法的对比分析

PAR 设计原则的动机

原则 1:奖励应有上界
  • 过大的奖励会导致 Critic 模型难以准确估计值函数,进而引发不稳定的策略更新
  • PPO 的 Critic 损失函数为:
    $$
    \mathcal{L}_{\text{critic} }(\alpha) = \mathbb{E}\left[||V_{\alpha}(x, y_{ < t}) - G_t||_2^2\right]
    $$
    • 其中 \(G_t\) 是折扣回报
  • 通过分析上述 Critic 奖励函数可以知道:若奖励无界,\(G_t\) 的方差会增大,导致 Critic 难以优化
原则 2:初期快速增长,后期缓慢收敛
  • 在低奖励区域,模型更安全、更易优化
    • 在高奖励区域,模型容易陷入奖励破解
    • 因此,奖励函数应在初期快速上升以促进学习,后期缓慢收敛以避免过优化

Preference As Reward (PAR) 方法细节

  • PAR 的核心思想是使用 Sigmoid 函数对“中心化奖励”进行变换,将其解释为 “策略响应相对于参考响应的偏好概率”
  • 给定一个奖励模型 \(r_\phi\),策略响应 \(y\) 和参考响应 \(y_{\text{ref} }\),中心化奖励为:
    $$
    z = r_\phi(x, y) - r_\phi(x, y_{\text{ref} })
    $$
  • PAR 将 RL 奖励定义为:
    $$
    r_{\text{RL} } = \frac{1}{M} \sum_{m=1}^{M} \sigma\left(r_\phi(x, y) - r_\phi(x, y_{\text{ref} }^m)\right)
    $$
    • \(\sigma\) 是 Sigmoid 函数
    • \(M\) 是参考响应的数量
  • PAR 解释:
    • Sigmoid 函数将中心化奖励映射到 \([0, 1]\),可解释为“策略响应优于参考响应的概率”
    • 这与 Bradley-Terry 模型一致,反映了奖励模型隐含的偏好

理论分析

定理 1:有界奖励降低回报方差
  • 若每步奖励 \(|r_l| \leq 1\),则折扣回报 \(G_t\) 的方差满足:
    $$
    \text{Var}[G_t] \leq \frac{1}{(1 - \gamma)^2}
    $$
  • 这解释了为什么有界奖励有助于稳定 Critic 训练
定理 2:Sigmoid 是最小方差无偏估计
  • 可以证明,在逻辑偏好噪声模型下,Sigmoid 是最小方差的无偏奖励估计器

实验设计与结果

实验设置
  • 模型 :Gemma2-2B
  • 数据集 :Ultrafeedback-Binarized、HH-RLHF
  • 基线方法 :Vanilla PPO、WARM、ODIN、Reg、Meanstd、Clip、Minmax、LSC
  • 评估指标 :
    • 代理奖励(Proxy Reward)
    • 胜率(Winrate,由 DeepSeek-V3 评估)
    • 基准测试:AlpacaEval 2.0、MT-Bench
主要实验结果
  • 奖励有界性的验证
    • 通过调整 KL 惩罚系数和奖励上限,发现限制奖励值能有效缓解奖励破解
  • 中心化奖励的优势
    • 使用 Sigmoid 类函数对中心化奖励进行变换,能显著提升胜率,验证了原则 2
  • PAR 的效果
    • 训练曲线 :PAR 在训练后期仍保持高胜率,而其他方法如 Vanilla、ODIN、LSC 等均出现奖励破解
    • 基准测试 :PAR 在 AlpacaEval 2.0 和 MT-Bench 上均取得最优结果,胜率高出其他方法至少 5 个百分点
  • 数据效率与鲁棒性
    • 仅需一个参考响应即可达到与 10 个参考响应相当的性能
    • 在训练两个 epoch 后,PAR 仍保持高胜率,而 Minmax 和 WARM 出现性能下降

一些讨论

  • PAR 在 GRPO 中的适用性
    • 在 GRPO 中,线性变换(如 Minmax)不影响优势估计,因而是无效的
    • 而 PAR 的非线性变换仍能带来性能提升
  • 偏好校准
    • PAR 能有效控制偏好得分在 0.8 以下,避免胜率骤降,而其他方法在高偏好得分区域出现校准失效

STaR

  • STaR: Self-Taught Reasoner Bootstrapping Reasoning With Reasoning, ICLR 2022, Stanford & Google Research
  • 核心:本文提出 STaR(Self-Taught Reasoner) 方法
    • 通过迭代自举的方式,让 LLM 在没有大量人工标注推理过程的情况下,学会生成高质量的 CoT 过程,从而提升在复杂推理任务上的表现
  • 研究背景与动机
    • 显式地让模型生成逐步推理的“rationales”(即推理过程)可以显著提升其在数学、常识推理等任务上的表现
    • 但现有的两种主要方法存在明显局限:
      • 1)人工标注推理过程 :效果虽好,但成本高、难以规模化
      • 2)Few-shot CoT :虽然不需要训练,但性能通常低于经过微调的模型,尤其是在大规模数据集上
  • STaR 的目标是:利用少量带有推理过程的示例,结合大量没有推理过程的问答数据,通过自举方式让模型自己生成推理过程并不断自我改进
  • 实验证明,STaR 在符号推理和自然语言推理任务上均显著提升性能,甚至逼近或超越更大规模的模型

STaR 核心原理

  • STaR 的核心是一个迭代训练流程,包含两个关键机制:推理生成(Rationale Generation) 和 推理反向生成(Rationalization)
    • 初始设定
      • 有一个预训练语言模型 \( M \)
      • 有一个包含问题 \( x_i \) 和正确答案 \( y_i \) 的数据集
        $$ \mathcal{D} = \{(x_i, y_i)\}_{i=1}^{D} $$
      • 有一个极少量(如 \( P=10 \))的带有推理过程 \( r_i^p \) 的示例集
        $$ \mathcal{P} = \{(x_i^p, r_i^p, y_i^p)\}_{i=1}^{P} $$
        • 作为初始的少样本提示
    • 推理生成(Rationale Generation)
      • 在每一轮迭代中,模型通过少样本提示为每个问题生成推理过程 \( \hat{r}_i \) 和最终答案 \( \hat{y}_i \):
        $$
        (\hat{r}_i, \hat{y}_i) \sim M_{n-1}(x_i)
        $$
      • 只有当生成的答案与真实答案一致时(即 \( \hat{y}_i = y_i \)),该推理过程才被保留:
        $$
        \mathcal{D}_n \leftarrow \{(x_i, \hat{r}_i, y_i) \mid \hat{y}_i = y_i\}
        $$
    • 推理反向生成(Rationalization)
      • 如果模型无法通过推理生成得到正确答案(即 \( \hat{y}_i \neq y_i \)),则通过“提示答案”的方式,让模型生成推理过程:
        $$
        (\hat{r}_i^{\text{far} }, \hat{y}_i^{\text{far} }) \sim M_{n-1}(\text{add_hint}(x_i, y_i))
        $$
        • 其中提示中明确给出正确答案(例如“正确答案是 (b)”)
        • 如果生成的答案与正确答案一致,则保留该推理过程,但在后续训练中不保留提示中的答案信息 ,即模型如同自己推理出该过程一样
          $$
          \mathcal{D}_n^{\text{far} } \leftarrow \{(x_i, \hat{r}_i^{\text{far} }, y_i) \mid \hat{y}_i \neq y_i \land \hat{y}_i^{\text{far} } = y_i\}
          $$
    • 微调与迭代
      • 将上述两个集合合并后,从原始预训练模型 \( M \) 开始,对合并数据集进行微调:
        $$
        M_n \leftarrow \text{train}(M, \mathcal{D}_n \cup \mathcal{D}_n^{\text{far} })
        $$
    • 重复以上过程(每次使用上一轮微调后的模型生成新的数据),直到性能不再提升

算法流程

  • 算法 1 给出了 STaR 的完整流程(蓝字部分为 Rationalization 的补充):
    • 初始化模型 \( M_0 \leftarrow M \)
    • 对每一轮 \( n = 1 \dots N \):
      • 使用 \( M_{n-1} \) 对所有问题生成推理过程和答案
      • 使用 \( M_{n-1} \) 对之前答错的问题进行“推理反向生成”
      • 过滤出正确的推理过程
      • 合并两类数据,从原始模型 \( M \) 开始微调,得到 \( M_n \)

STaR 的 RL 视角

  • 论文中将 STaR 与强化学习中的策略梯度方法联系起来
  • 将模型视为一个隐变量模型:
    $$
    p_M(y \mid x) = \sum_{r} p(r \mid x) p(y \mid x, r)
    $$
  • 目标是最优化期望奖励:
    $$
    J(M, X, Y) = \sum_i \mathbb{E}_{\hat{r}_i, \hat{y}_i \sim p_M(\cdot \mid x_i)} \mathbb{I}(\hat{y}_i = y_i)
    $$
  • 其梯度为:
    $$
    \nabla J = \sum_i \mathbb{E}_{\hat{r}_i, \hat{y}_i \sim p_M(\cdot \mid x_i)} \left[ \mathbb{I}(\hat{y}_i = y_i) \cdot \nabla \log p_M(\hat{y}_i, \hat{r}_i \mid x_i) \right]
    $$
  • STaR 的过滤机制正是通过指示函数丢弃错误的推理路径,从而近似上述梯度
  • STaR 使用贪心解码降低方差,并通过多次梯度更新提高效率

一些讨论

  • Rationalization 的作用
    • 提供了一种 “反向推理” 机制,让模型从正确答案出发生成推理过程
    • 拓宽了训练数据的覆盖范围,尤其是难以通过前向推理解决的样本
    • 可视为一种 “off-policy” 采样,提高了搜索空间的多样性
  • 温度与采样
    • 高温度采样虽然能生成更多样本,但容易引入错误推理,反而降低模型质量
    • 多采样+投票机制(self-consistency)可在无答案数据上使用,但效果不如有监督的 Rationalization
  • 少样本 Prompt 的使用
    • 在训练过程中保留少样本提示有助于稳定推理风格
    • 去掉提示可加快训练,但可能导致推理格式漂移
  • 不良推理与正确答案
    • 某些错误推理也可能得到正确答案,这类样本会污染训练数据
    • 如何识别和过滤这些样本是未来研究的重要方向

R3 (Rollout Routing Replay)

  • 原始论文:(R3)Stabilizing MoE Reinforcement Learning by Aligning Training and Inference Routers, 20251021, PKU & Xiaomi
  • 本文提出 Rollout Routing Replay (R3) 方法
    • 目标是解决 MoE 模型在 RL 训练中因训练与推理阶段路由不一致而导致的训练不稳定甚至崩溃问题
  • 论文首次系统性地指出 MoE 模型中训练与推理阶段的路由不一致是RL训练不稳定的关键
  • R3 方法 通过重放推理阶段的路由掩码,在训练中保持路由一致性,同时保留梯度流
  • 在多种RL设置和模型类型下,R3 均显著提升训练稳定性与最终性能,且与现有优化方法兼容
  • 评价:R3 已称为当代 LLM 的标配 Feature

背景分析

  • 现有 RL 框架通常采用分离的训练与推理引擎(如 Megatron 用于训练,SGLang 用于推理),这种架构会导致两个阶段输出概率分布不一致,进而引发训练不稳定
  • MoE 模型中的额外挑战
    • MoE 模型通过路由器(router)为每个 Token 动态选择一组专家(experts)进行计算
    • 论文作者发现:
      • MoE 模型在训练与推理之间的策略差异远大于 Dense 模型
      • 路由器的选择在相同输入下也可能因框架差异或随机性而不同
      • 这种路由分布不一致是MoE在RL训练中不稳定的主要根源

训练-推理不一致性的实证分析

策略分布差异
  • 本文使用 Qwen3-30B-A3B(MoE)和 Qwen3-8B( Dense )进行对比实验:
    • 通过 SGLang 生成 Response,再通过 Megatron 重新计算概率;
    • 使用KL 散度和极端 Token 比例函数 \(F(\tau)\) 来衡量不一致性
  • KL 散度定义为:
    $$
    \mathcal{D}_{\text{KL} }(\pi_{\text{train} } | \pi_{\text{infer} }) \approx \frac{1}{|T|} \sum_{t \in T} \left[ \frac{\pi_{\text{train} }(t)}{\pi_{\text{infer} }(t)} - 1 - \log \frac{\pi_{\text{train} }(t)}{\pi_{\text{infer} }(t)} \right]
    $$
  • 极端 Token 比例函数定义为:
    $$
    F(\tau) = \frac{1}{|T|} \sum_{t \in T} \left[ \max \left( \frac{\pi_{\text{train} }(t)}{\pi_{\text{infer} }(t)}, \frac{\pi_{\text{infer} }(t)}{\pi_{\text{train} }(t)} \right) > \tau \right]
    $$
  • 实验结果显示:
    • MoE 模型的 KL 散度(\(1.535 \times 10^{-3}\))远高于 Dense 模型(\(6.4 \times 10^{-4}\));
    • 对于 \(\tau > 2\),MoE 模型中极端 Token 的比例高出一个数量级
路由分布差异
  • 对比训练与推理阶段的路由选择:
    • 约 10% 的路由器在训练与推理中选择不同的专家
    • 94% 的 Token 在至少一层中出现路由选择差异(注意:因为一个 Token 会有很多层需要路由)
    • 每个 Token 平均有 6 层存在路由差异
同一框架内的不一致性
  • 即使在同一训练框架(Megatron)中,对同一输入进行两次前向传播,输出的概率分布也存在差异(KL 散度为 \(8.4 \times 10^{-4}\)),说明 MoE 路由本身存在不稳定性
  • 问题:这是因为没有开 确定性模式吧

R3 方法详解

  • R3 的核心思想 :在训练阶段重放(replay) 推理阶段记录的路由掩码(routing mask),从而在保持梯度回传的同时,确保训练与推理的专家选择一致
标准 MoE 前向过程
  • 对于一个 MoE 层,输入为 \(\mathbf{x}_{\text{train} }\),路由 logits 为:
    $$
    \mathbf{s}_{\text{train} } = \mathbf{x}_{\text{train} } \mathbf{W}_r
    $$
  • 通过 Top-K 选择得到掩码 \(\mathbf{I}_{\text{train} }\),然后对选中的专家 logits 进行 softmax 得到门控权重:
    $$
    g_{\text{train}, i} = \frac{I_{\text{train}, i} \exp(s_{\text{train}, i})}{\sum_{j=1}^{M} I_{\text{train}, j} \exp(s_{\text{train}, j})}
    $$
  • 最终输出为专家输出的加权和:
    $$
    \mathbf{y}_{\text{train} } = \sum_{i=1}^{M} g_{\text{train}, i} \mathcal{E}_i(\mathbf{x}_{\text{train} })
    $$
R3 重放机制
  • 在训练阶段,使用推理阶段记录的路由掩码 \(\mathbf{I}_{\text{infer} }\) 替代 \(\mathbf{I}_{\text{train} }\),但门控权重仍基于训练时的 logits 计算:
    $$
    g_{\text{replay}, i} = \frac{I_{\text{infer}, i} \exp(s_{\text{train}, i})}{\sum_{j=1}^{M} I_{\text{infer}, j} \exp(s_{\text{train}, j})}
    $$
  • 输出为:
    $$
    \mathbf{y}_{\text{replay} } = \sum_{i=1}^{M} g_{\text{replay}, i} \mathcal{E}_i(\mathbf{x}_{\text{train} })
    $$
缓存与多轮对话支持
  • R3 利用推理引擎中的 KVCache 机制,将路由掩码与 KVCache 一并缓存
  • 在多轮对话中,前缀相同的 Token 可直接复用掩码,避免重复计算
  • 实验表明,R3 在 Rollout 阶段的额外开销低于 3%

实验

  • 实验设置
    • 模型 :Qwen3-30B-A3B(Base / SFT / ReasoningSFT)
    • 任务 :数学推理(AIME24/25, AMC23, MATH500)
    • 对比方法 :GRPO、GSPO、TIS
    • 设置 :多mini-step(8步)与单mini-step(1步)
  • 主要结果
    • 多 mini-step :GRPO+R3 和 GSPO+R3 在各项指标上均优于原始方法,平均得分提升约 1–2 分
    • 单 mini-step :GRPO+R3 相比 GRPO 提升显著(平均得分提升 5–10 分),并有效防止训练崩溃
    • 与 TIS 结合时,R3 的增益不明显,说明 R3 已大幅减少训练-推理差异,TIS 的修正作用有限
      • 不应该是说明 TIS 已经大幅缓解了训推不一致问题吗?
  • 训练稳定性分析
    • 未使用 R3 的训练过程中,KL散度和 \(F(\tau=2)\) 显著上升,最终导致崩溃
    • 使用 R3 后,这两项指标始终保持在低水平(\(F(\tau=2) < 10^{-4}\))
    • R3 还表现出更小的梯度范数、更平稳的序列长度增长和更稳定的熵值
  • 多轮任务验证:在 SWE-bench(软件工程任务)上:
    • GRPO 在 90 步后崩溃,GRPO+R3 稳定训练至 180 步
    • GRPO+R3 的最终 Pass@1 为 38.6,比 GRPO 高出 6.8 分

对比 & 讨论

与路由重放的区别
  • 之前的工作(如 Recompute Routing Replay)仅在 recompute 阶段重放路由,无法解决 推理与训练框架差异 带来的不一致性
  • R3 在rollout 阶段记录路由掩码 ,并在 recompute 和 update 阶段同时重放,彻底消除框架差异
与其他稳定性方法的对比
  • TIS :通过截断重要性采样减轻框架差异,但未从根本上解决路由不一致
  • GSPO :引入序列级重要性采样,但仍受限于路由差异
  • R3 :直接对齐路由选择,与上述方法正交,可叠加使用

FIPO

  • FIPO: Eliciting Deep Reasoning with Future-KL Influenced Policy Optimization, 20260320-20260331, Qwen Pilot Team
  • FIPO 的目标是解决大语言模型在推理任务中因稀疏奖励导致的“推理瓶颈”问题
  • 通过定义并使用 Future-KL 来修正 Advantage,从而让 Response 变得更长,指标也更高
  • FIPO 计算成本高,特别是长链推理训练和推理开销大
  • 实验局限性:目前仅在数学任务上验证,仅使用 DAPO 数据集,仅验证于 Qwen2.5 系列

研究背景 & 问题提出

  • 问题:
    • GRPO:
      • GRPO 及其变体通过结果奖励(Outcome Reward Modeling, ORM)对整条生成轨迹赋予统一的优势值
        • 这种方法存在粗粒度信用分配的问题:无法区分关键推理步骤与无关紧要的 token,导致模型难以学习复杂、深度的推理链
      • GRPO 类方法在训练中容易出现长度停滞(length stagnation),即模型生成的推理链长度无法持续增长,限制其推理能力
    • PPO:
      • PPO 通过价值网络实现细粒度信用分配,但其复杂度高,训练不稳定
  • 本文解法
    • 提出 FIPO ,在不引入价值网络的前提下,通过未来 KL 散度(Future-KL)实现稠密优势估计
    • 在 Qwen2.5-32B-Base 上,FIPO 将平均推理链长度从 4,000 扩展到超过 10,000 token,AIME 2024 的 Pass@1 从 50.0% 提升至 58.0%

FIPO 方法

  • FIPO 核心思想:当前 token 的重要性应由其未来轨迹的分布变化来加权
    • 引入 Future-KL 作为权重因子,可实现对每个 token 的细粒度信用分配
Step 1: 定义概率偏移(Probability Shift)
  • 定义当前 token 的对数概率变化:
    $$
    \Delta \log p_t = \log \pi_\theta(o_t \mid q, o_{ < t}) - \log \pi_{\theta_{\text{old} } }(o_t \mid q, o_{ < t})
    $$
    • 正值表示当前策略更倾向于生成该 token,负值表示抑制
    • 这是后续 Future-KL 的基础
Step 2: 定义 Future-KL
  • 将当前 token 的未来影响量化为后续 token 的概率偏移之和:
    $$
    \text{FutureKL}_t = \sum_{k=t}^{T} \Delta \log p_k
    $$
    • 等价于未来序列的联合对数似然比,反映策略对未来轨迹的整体偏好
Step 3: 稳定性机制
  • 直接使用 Future-KL 会导致训练不稳定,原因在于:
    • 极端重要性比率(importance ratio)会放大噪声
    • 高负样本的累积偏移会引发梯度爆炸
  • 为此引入:
    • 掩码机制 :只保留重要性比率在安全阈值内的 token:
      $$
      M_k = \mathbb{1}\left( \frac{\pi_\theta(o_k)}{\pi_{\text{old} }(o_k)} \leq c \right)
      $$
    • 软衰减窗口 :引入衰减因子 \(\gamma\),降低远距离 token 的影响:
      $$
      \text{FutureKL}_t = \sum_{k=t}^{T} M_k \cdot \gamma^{k-t} \cdot \Delta \log p_k
      $$
      • 其中 \(\gamma = 2^{-1/\tau}\),\(\tau\) 为有效半衰期
Step 4: 优势重加权
  • 将 Future-KL 映射为权重因子:
    $$
    f_t = \text{clip}\left( \exp(\text{FutureKL}_t), 1 - \epsilon_{f_{\text{low} } }, 1 + \epsilon_{f_{\text{high} } } \right)
    $$
  • 最终的优势为:
    $$
    \tilde{A}_t = \hat{A}_t \cdot f_t
    $$
    • 若未来轨迹被强化(FutureKL > 0),则放大优势,鼓励当前 token;
    • 若未来轨迹被抑制(FutureKL < 0),则削弱优势,避免错误传播
Step 5: 目标函数
  • FIPO 的优化目标为:
    $$
    \mathcal{J}_{\text{FIPO} }(\theta) = \mathbb{E}_{(q,a),\{o_i\} } \left[ \frac{1}{\sum_i |o_i|} \sum_{i} \sum_{t} \min \left( r_{i,t} f_{i,t} \hat{A}_{i,t}, \text{clip}(r_{i,t}, 1-\epsilon, 1+\epsilon) f_{i,t} \hat{A}_{i,t} \right) \right]
    $$
    • 保持了 GRPO 的组内标准化优势,但引入了 token 级别的未来权重

实验

  • 设置:
    • 模型:Qwen2.5-32B-Base(无长链思维预训练)
    • 数据集:DAPO-17K(数学推理)
    • 超参数:mini-batch 64,学习率 1e-6,最大响应长度 20,480 token
    • 评估:AIME 2024 / 2025,Pass@1(32 次平均)
  • 主要结果
    Method AIME 2024 Avg@32 AIME 2025 Avg@32
    DAPO 50.0% 38.0%
    FIPO 56.0% 43.0%
    • FIPO 在 AIME 2024 上最高达到 58.0%,超越 DeepSeek-R1-Zero-32B(47%)和 o1-mini(56%)
    • 平均推理链长度从 4,000 token 增长至 10,000 token

一些观察和讨论

长度与性能的协同增长
  • FIPO 的训练过程中,响应长度的所有分位数(min, Q25, median, Q75)均持续增长,说明模型整体向更长的推理链迁移
  • 长度与准确率呈正相关,说明“思考空间”的扩展是性能提升的关键
  • 问题:使用 GRPO,放大长度,是不是也能获得类似收益?
DAPO 和 FIPO 优势动态的差异
  • DAPO 的“长度加权平均优势”呈下降趋势,说明长响应并未带来更高优势
  • FIPO 的这一指标持续上升,形成正向循环:长链 -> 高优势 -> 更长链
    • 问题:论文没有回答为什么 FIPO 会鼓励长的 Advantage,看起来是:
      • 对于正样本,采样到的 Token 概率是在逐步增加的,此时 Future-KL 为正,对应的权重因子大于 1
      • 对于负样本,采样到的 Token 概率是在逐步降低的,此时 Future-KL 为负,对应的权重因子小于 1
      • 于是:
        • 正样本中,越长的 Response,Future-KL 越大,权重因子越大,导致模型对长的正样本的权重增加,更加鼓励长的正样本
        • 负样本中,越长的 Response,Future-KL 越小,权重因子越小,导致模型对长的负样本的惩罚减少,更加鼓励长的负样本
      • 总结来看:
        • FIPO 就是在鼓励长样本
训练稳定性
  • FIPO 的梯度范数和策略 KL 散度更平滑,熵值持续上升,说明探索更充分
  • DAPO 则出现剧烈波动,容易陷入局部最优

消融实验 & 扩展实验

7B 模型实验
  • 在 Qwen2.5-7B-MATH 上,FIPO 也优于 GRPO 和 DAPO,但长度增长受限(受限于预训练上下文窗口)
  • 7B 模型对高熵探索敏感,更适合低熵、确定性推理
消融实验点
  • clip-high 过大 或 max-length 过长 会引发早期长度暴涨但性能不升反降,说明“过早反思”有害
  • 极端值过滤 对 7B 模型至关重要,否则 Future-KL 权重波动剧烈,训练不稳定
  • 影响权重裁剪范围 对 7B 模型性能影响显著,[0.8, 1.2] 优于 [1.0, 1.2]
  • 有效半衰期 \(\tau\) 选择 32 最为稳健,过小则缺乏远见,过大则引入噪声

附录:为什么 Future-KL 大的需要放大优势?

  • 注:论文中没有提供严格的数学证明来推导“为什么 Future-KL 大的需要放大优势”,而是通过启发式推理和实验验证来支撑这一设计选择
论文中的逻辑推理(非严格证明)
  • 论文的核心直觉是:当前 token 的重要性应由其引发的未来轨迹决定
    • 如果一个 token 之后的所有 token 都被新策略“强化”(即 Future-KL > 0),那么:
      • 这个 token 应该被视为一个稳定的推理锚点
      • 因此应该放大其更新信号
    • PS:论文中的原话(第 7 页):

      “When the updated policy reinforces the subsequent trajectory (i.e., \(\text{FutureKL_t} > 0\)), the weighting term \(f_t > 1\) magnifies the gradient signal. Consequently, positive advantages are boosted to encourage the current token as a stable anchor.”

Future-KL 的本质
  • Future-KL 可表示为:
    $$
    \begin{align}
    \text{FutureKL}_t &= \sum_{k=t}^{T} \Delta \log p_k \\
    &= \log \frac{\pi_\theta(o_{t:T} \mid q, o_{ < t})}{\pi_{\theta_{\text{old} } }(o_{t:T} \mid q, o_{ < t})}
    \end{align}
    $$
    • Future-KL 就是当前 token 之后整个未来序列的对数似然比
  • 论文的观点 :
    • 这个比值反映了新策略对“以当前 token 为起点的整个未来路径”的偏好
    • 如果比值 > 1(即 \(\text{FutureKL_t} > 0\)),说明新策略更喜欢这条路径
    • 因此应该鼓励当前 token,放大其优势
依据1:从“方向性”研究出发
  • 论文引用了作者的前期工作(2025; 2025),这些工作发现:
    • RL 训练中,只有 < 2% 的 token 发生分布变化
    • 这些稀疏的 token 是推理的关键转折点
    • 传统 KL 散度无法定位这些关键 token,但 \(\Delta \log p\) 可以
  • 这为“需要对关键 token 进行差异化处理”提供了实证基础 ,但没有给出最优放大倍数的理论下界
依据2:实验验证
  • 论文通过消融实验验证了这一设计的有效性:
    • 如果不放大优势(即 \(f_t = 1\)),模型退化为 DAPO,出现长度停滞
    • 如果放大倍数过高(如 clip-high 设为 1.4),训练不稳定,性能下降
  • 这表明“适度放大”是有效的,但这是实验结论而非理论证明
论文中缺失的严格证明
  • 没有证明“Future-KL 是优势的最优权重”
    • 比如这种重加权不引入偏差,或比 GAE 更优
    • 没有给出 \(f_t\) 最优形式的推导
      • 为什么是 exp(Future-KL) 而不是其他函数?
  • 没有证明“放大优势”总是优于“不放大”
    • 虽然实验显示有效,但未从理论上证明其在其他场景的收敛性

ReVal

  • 原始论文:(ReVal)Off-Policy Value-Based Reinforcement Learning for Large Language Models, NJU(yuyang) & CUHK, 20260324
    • 相关论文:(TBRM)Trajectory Bellman Residual Minimization: A Simple Value-Based Method for LLM Reasoning, 20250521 & 20251212
  • 本文提出 ReVal :首个将 logit-as-Q 与 off-policy replay buffer 结合的 LLM RL 方法
  • 本文给出了理论保障 :满足 Calibrated Initialization,避免无奖励时的策略漂移

背景 & 问题提出

  • GRPO、ReMax、DAPO 等大多基于 on-policy 策略优化 ,有以下不足:
    • 样本效率低 :每次更新后,采样的轨迹数据即被丢弃,无法复用
    • 生成成本高 :LLM 的自回归生成过程耗时远大于参数更新,导致训练总时间较长
    • 长时程任务训练难度加剧 :在 Agentic 场景中,轨迹长度高、方差大,on-policy 方法需要大量采样,成本极高
  • 作者认为:为实现轨迹数据的高效复用,LLM 的 RL 训练必须向 off-policy 转型
    • 问题:传统的 value-based RL 方法(如 Q-learning)并不适合 LLM,原因包括:
      • 动作空间巨大(词汇表大小)
      • 奖励稀疏
      • 引入额外价值模型会破坏 Actor-only 方法的低计算成本优势

核心方法:ReVal

  • ReVal 的核心创新在于:
    • 1)将 LLM 的 logits 视为 Q 函数 ,无需额外价值网络
    • 2)结合 stepwise 和 trajectory-level 信号 ,通过 reward shaping 实现稳定优化
    • 3)引入 replay buffer ,支持 off-policy 训练
ReVal: Q 函数的参数化
  • 定义 Q 函数为:
    $$
    Q_{\theta}(s_h, a_h) := \text{logit}_{\theta}(s_h, a_h)
    $$
    • 其中 \(\text{logit}_{\theta}(s_h, a_h)\) 是 LLM 在状态 \(s_h\) 下对动作 \(a_h\) 的 logit 输出
  • V 函数(最优策略对应的最优 V 值)为:
    $$
    V_{\theta}(s_h) = \log \sum_{a \in \mathcal{A} } \exp Q_{\theta}(s_h, a)
    $$
    • 注:这里的 V 函数与 Q 函数的关系不再符合普通的贝尔曼方程, 详情见本节附录部分
ReVal: Reward Shaping
  • 为了解决 TBRM 中 “无奖励时策略漂移” 的问题,ReVal 定义了新的奖励函数:
    $$
    R_{\beta}(s_h, a_h) := \frac{r_{\text{rule} }(s_h, a_h)}{\beta} + \log \pi_{\text{ref} }(a_h \mid s_h) + V_{\theta}(s_h) - V_{\text{ref} }(s_h)
    $$
    • 第一项是任务奖励
    • 第二项是参考策略引导的内生奖励
    • 第三项是 Reward Shaping 项(不影响最优解),用于解决 “无奖励时策略漂移” 的问题
ReVal Bellman 算子与损失函数
  • 定义 Bellman 算子:
    $$
    (\mathcal{T}_{\beta}Q)(s_h, a_h) = \frac{r_{\text{rule} }(s_h, a_h)}{\beta} + \log \pi_{\text{ref} }(a_h \mid s_h) + V_{\text{ref} }(s_h) - V_{\text{ref} }(s_{h+1}) + \mathbb{E}\left[\log \sum_{a} \exp Q(s_{h+1}, a)\right]
    $$
  • 最终损失函数为:
    $$
    \mathcal{L}_{\text{ReVal} }(\theta) = \frac{1}{|D|} \sum_{\tau \in D} \left( V_{\theta}(s_1) - V_{\text{ref} }(s_1) + \log \pi_{\theta}(\tau) - \frac{r_{\text{rule} }(\tau)}{\beta} - \log \pi_{\text{ref} }(\tau) \right)^2
    $$
  • 该设计确保不存在 “无奖励时策略漂移” 的问题:
    • 即当 \(r = 0\) 且 \(\pi_{\theta} = \pi_{\text{ref} }\) 时,损失为零

Off-Policy 训练机制

Replay Buffer
  • 采用 FIFO 缓冲区,容量 \(M = 5120\)
  • 每轮收集 \(B = 1024\) 条新轨迹
  • 每轮执行 \(K = 2\) 次更新,每次从缓冲区中均匀采样
  • 每条轨迹期望被复用 \(K\) 次(on-policy 方法仅 1 次)
    • 理解:仅更新 2 次的话,算不上很 Off-policy,因为 PPO 设计本身也支持 Off-policy(一般 10 步以内)
梯度分析
  • 损失函数对 \(\theta\) 的梯度为:
    $$
    \nabla_{\theta} \mathcal{L}_{\text{ReVal} } = -2 \mathbb{E}\left[ \delta(x, y) \cdot \nabla_{\theta} \log \pi_{\theta}(y|x) \right]
    $$
    • 其中 \(\delta(x, y)\) 是残差项:
      $$
      \delta(x, y) = \frac{r(x, y)}{\beta} - \left( V_{\theta}(x) - V_{\text{ref} }(x) + \log \frac{\pi_{\theta}(y|x)}{\pi_{\text{ref} }(y|x)} \right)
      $$
    • 注:可以看出,虽然 ReVal 的损失函数的形式变成了 MSE 的形式,但实际上,ReVal 损失函数的梯度 \(\nabla_{\theta} \mathcal{L}_{\text{ReVal} }\) 仍然是类似 RL 的策略梯度法的梯度形式,改变的只有前面的 Advantage 部分
  • 该分析揭示了:
    • KL 正则化会逐渐削弱梯度信号
    • 周期性重置参考策略可恢复梯度强度
    • 奖励越大的轨迹,训练时权重越大(这与不同策略梯度法一致)

实验

  • 实验设置
    • 模型:DeepSeek-R1-Distill-1.5B、Qwen2.5-Math-7B
    • 基线:GRPO(on-policy)、TBRM(on-policy value-based)
    • 数据集:DeepScaleR、AIME、GPQA、MATH 等 7 个推理基准
    • 训练:650 轮,每轮 128 条 prompt,每条生成 8 条轨迹
  • ReVal 的主要结果
    • 在 DeepSeek-R1-Distill-1.5B 上
      • AIME24 上提升 2.7% ,GPQA 提升 4.5%
    • 在 Qwen2.5-7B 上
      • GPQA 提升 4.3%
  • 样本效率与训练时间
    • 在 hard 任务中,ReVal 达到 95% 性能所需步数仅为 GRPO 的 1/3.6
    • 平均 4.3 倍加速
    • 在 \(N=1\)(极低采样)设置下,ReVal 仍显著优于 GRPO,训练时间减少 18%

重点实践经验

  • KL 正则化与参考策略重置
    • 不重置参考策略会导致性能饱和
    • 每 200 步重置一次效果最佳
  • 超参数 \(\beta\)
    • 与响应长度相关:长响应需更小 \(\beta\)
    • DPSK-1.5B(~5K tokens):\(\beta = 0.002\)
    • Qwen2.5-7B(~600 tokens):\(\beta = 0.02\)
  • 负样本利用
    • 使用 normalized advantage(如 GRPO)效果最好
    • 使用 \(\pm 1\) 奖励反而可能降低性能
      • 理解:这里说的 \(\pm 1\) 奖励是指不做 normalized advantage 的方式

ReVal 附录:V 函数和 Q 函数的关系定义(直观理解)

  • 在标准的强化学习理论中,状态价值函数 \(V^\pi(s)\) 和动作价值函数 \(Q^\pi(s, a)\) 之间关系如下:
    $$
    V^\pi(s) = \mathbb{E}_{a \sim \pi(\cdot|s)} \left[ Q^\pi(s, a) \right] = \sum_{a \in \mathcal{A} } \pi(a|s) \cdot Q^\pi(s, a)
    $$
    • \(V^\pi(s)\) 是在状态 \(s\) 下,按照当前策略 \(\pi\) 对所有可能的动作 \(a\) 的 \(Q\) 值进行加权平均(期望)
  • 在 ReVal 论文中,作者使用的不是标准期望,而是 Softmax 形式的 Log-Sum-Exp :
    $$
    V_{\theta}(s) = \log \sum_{a \in \mathcal{A} } \exp Q_{\theta}(s, a)
    $$
    • 这个定义来自于 最大熵强化学习(Maximum Entropy RL) 或 Soft Q-Learning ,而不是标准 RL
ReVal/TBRM 中 V 函数的来源
  • ReVal 中的 V 值定义来源于 TBRM
  • Soft Q-learning 原始论文: (Soft Q-learning)Reinforcement learning with deep energy-based policies., ICML 2017, UC Berkeley, 与 SAC 同作者
  • ReVal 的 V 函数来源类似 Soft Q-learning 的能量模型形式,但不完全相同
    • Soft Q-learning 的能量模型形式本质是 最大熵为目标
    • ReVal 的目标与最大熵目标相比:
      • 最大熵目标也可以看做是包含 KL 散度的(但 KL 散度的参考策略是一个均匀分布)
  • Soft Q-Learning (SQL) 的价值函数定义:
    $$
    V_{\text{soft} }^\pi(s_t) = \mathbb{E}_{a_t \sim \pi}[Q_{\text{soft} }^\pi(s_t, a_t) - \alpha \log \pi(a_t \vert s_t)]
    $$
    • 这是原始最大熵强化学习的标准定义
  • TBRM 对价值函数的定义:
    $$
    V_{\theta}(s) = \log \sum_{a \in \mathcal{A} } \exp Q_{\theta}(s, a)
    $$
  • 理解:因为 它们在 KL 正则化框架下,选择了不同的“基函数”或“参考点”来构建贝尔曼方程
    • SQL 用的是:
      $$ \log \pi(a|s) $$
    • ReVal/TBRM 使用的是
      $$ \log \frac{\pi(a|s)}{\pi_\text{ref}(a|s)}$$
    • 虽然它们数学上可以相互转化,但在具体的公式推导中会呈现出不同的形式
SQL 的定义:原始最大熵框架
  • 在 SQL 论文中看到的公式是:
    $$
    V_{\text{soft} }^\pi(s_t) = \mathbb{E}_{a_t \sim \pi}[Q_{\text{soft} }^\pi(s_t, a_t) - \alpha \log \pi(a_t \vert s_t)]
    $$
  • 这是原始最大熵强化学习的标准定义:
    • 最大熵的目标是最大化累积奖励与策略熵的和,即
      $$ \sum_t \mathbb{E} [r(s_t, a_t) + \alpha \mathcal{H}(\pi(\cdot|s_t))] $$
      • 这里的熵 \( -\log \pi(a_t|s_t) \) 直接来自策略本身
    • 在这种定义下,V 函数代表的是“状态 s 下的软价值”,它不仅包括了未来奖励的期望,还包括了策略在当前状态下将采取的动作的熵
      • 也就是说,即使两个状态有相同的未来奖励期望,如果其中一个状态下的策略选择更多样(熵更高),它的软价值也会更高
    • 公式推导 :
      • 这个形式来源于 soft 贝尔曼方程的重排
      • 通过对 soft Q 函数 \( Q(s_t, a_t) = r(s_t, a_t) + \gamma \mathbb{E}[V(s_{t+1})] \) 在策略 \( \pi \) 下求期望,就能得到 \( V(s_t) = \mathbb{E}[Q(s_t, a_t) - \alpha \log \pi(a_t|s_t)] \) 这个关系
TBRM 的定义:带参考策略的 KL 正则化框架
  • 在 TBRM 论文中,其 KL 正则化目标函数是:
    $$
    J_{\beta}(\pi) = \mathbb{E}_{\tau \sim \pi}\left[\sum_{t=1}^H r(s_t, a_t)\right] - \beta \cdot \mathbb{E}_{\tau \sim \pi}\left[\log \frac{\pi(\tau)}{\pi_{\text{ref} }(\tau)}\right]
    $$
    • 这里的正则化项,惩罚的是当前策略 \( \pi \) 和参考策略 \( \pi_{\text{ref} } \) 之间的 KL 散度,而不是单纯的最大化策略自身的熵
    • 这里熵的来源 :目标函数展开后,奖励项会变为 \( r(s_t, a_t) - \beta \log \frac{\pi(a_t|s_t)}{\pi_{\text{ref} }(a_t|s_t)} \)
      • 这里的 “熵” 项 \( -\beta \log \pi(a_t|s_t) \) 是相对于参考策略的
    • V 函数的含义 :在这个框架下,V 函数 \( V_\theta(s) = \text{LogSumExp}_a Q_\theta(s, a) \) 是最优贝尔曼算子的直接结果
      • V 函数代表的是“最优”状态价值,而非任意策略 \( \pi \) 的价值
  • 具体来说:通过将 KL 散度进行变换(变换为最大熵的形式),可以得到一个新的奖励函数
    $$ R_\beta(s, a) = \frac{r(s, a)}{\beta} + \log \pi_{\text{ref} }(a|s) $$
    • 在这个新的奖励函数下,原始的 KL 正则化问题就等价于一个不带参考策略的最大熵问题
  • 此时,新的最优贝尔曼算子变为:
    $$
    (\mathcal{T}_\beta Q)(s_t, a_t) = R_\beta(s_t, a_t) + \mathbb{E}_{s_{t+1} } [V(s_{t+1})]
    $$
  • 其最优解满足(后面会有详细证明得到):
    $$
    \begin{align}
    V(s) = \log \sum_a \exp(Q(s, a)) \\
    \pi(a|s) = \exp(Q(s, a) - V(s))
    \end{align}
    $$
    • 这正是 TBRM 所使用的形式(此时的 V 值与策略无关,是最优贝尔曼方程的求解结果)
  • TBRM vs Soft Q-learning V 函数形式对比
    特性 SQL (原始最大熵框架) TBRM (KL 正则化框架)
    优化目标 \( \max \sum_t (r + \alpha \mathcal{H}(\pi)) \) \( \max \sum_t r - \beta \text{KL}(\pi || \pi_{\text{ref} }) \)
    V 函数定义 \( \mathbb{E}_{a \sim \pi}[Q(s, a) - \alpha \log \pi(a|s)] \) \( \log \sum_a \exp(Q(s, a)) \)
    核心区别 定义与策略 \( \pi \) 有关,是任意策略的软价值。 定义与策略无关 ,是最优贝尔曼方程的直接结果。
    • 最终等价性 :
    • 通过简单的数学变换,可以发现,SQL 的 V 函数定义中隐含了 \( \alpha \log \pi \) 项,而 TBRM 的 V 函数形式实际上就是 SQL 在最优策略下的特例。换句话说,当 SQL 中的策略 \( \pi \) 达到最优时,其 V 函数定义就会退化为 TBRM 所使用的 LogSumExp 形式。 |

ReVal 附录:V 函数和 Q 函数的关系定义(详细推导)

  • 本节从 KL-正则化强化学习的目标函数 ,推导出 TBRM 论文中 \(V\) 值的具体形式
    $$ V_\theta(s) = \log \sum_a \exp(Q_\theta(s, a))$$
目标函数:KL-正则化期望回报
  • 最大化的目标是:
    $$
    J_\beta(\pi) = \mathbb{E}_{\tau \sim \pi} \left[ \sum_{h=1}^H r(s_h, a_h) \right] - \beta \cdot \mathbb{E}_{\tau \sim \pi} \left[ \log \frac{\pi(\tau)}{\pi_{\text{ref} }(\tau)} \right]
    $$
  • 展开轨迹 \(\tau\) 的概率:
    $$
    \log \frac{\pi(\tau)}{\pi_{\text{ref} }(\tau)} = \sum_{h=1}^H \log \frac{\pi(a_h \mid s_h)}{\pi_{\text{ref} }(a_h \mid s_h)}
    $$
  • 因此有:
    $$
    J_\beta(\pi) = \mathbb{E}_{\tau \sim \pi} \left[ \sum_{h=1}^H \left( r(s_h, a_h) - \beta \log \frac{\pi(a_h \mid s_h)}{\pi_{\text{ref} }(a_h \mid s_h)} \right) \right]
    $$
变换奖励函数(得到最大熵形式)
  • 定义变换后的奖励 :
    $$
    R_\beta(s, a) := \frac{r(s, a)}{\beta} + \log \pi_{\text{ref} }(a \mid s)
    $$
  • 则目标函数变为:
    $$
    J_\beta(\pi) = \beta \cdot \mathbb{E}_{\tau \sim \pi} \left[ \sum_{h=1}^H \left( R_\beta(s_h, a_h) - \log \pi(a_h \mid s_h) \right) \right]
    $$
    • 注意:上述目标函数已经是最大熵的形式(详情见 (ReVal)Off-Policy Value-Based Reinforcement Learning for Large Language Models, NJU(yuyang) & CUHK, 20260324)
从目标到最优策略的闭式解
  • 考虑一个固定状态 \(s\),我们希望选择 \(\pi(\cdot \mid s)\) 来最大化:
    $$
    \mathbb{E}_{a \sim \pi(\cdot \mid s)} \left[ Q(s, a) - \log \pi(a \mid s) \right]
    $$
    • 其中 \(Q(s, a)\) 是当前估计的动作值函数
  • 这是一个带熵正则的最大化问题 ,其解为:
    $$
    \pi^*(a \mid s) = \frac{\exp(Q(s, a))}{\sum_{a’} \exp(Q(s, a’))}
    $$
    • 这里可通过拉格朗日乘子法求解得到,详情见后面的推导
定义 \(V\) 值为最优目标值
  • 将最优策略代入目标:
    $$
    V(s) := \mathbb{E}_{a \sim \pi^*} \left[ Q(s, a) - \log \pi^*(a \mid s) \right]
    $$
  • 代入 \(\pi^*(a \mid s) = \frac{\exp(Q(s, a))}{\sum_{a’} \exp(Q(s, a’))}\):
    $$
    \log \pi^*(a \mid s) = Q(s, a) - \log \sum_{a’} \exp(Q(s, a’))
    $$
  • 于是:
    $$
    Q(s, a) - \log \pi^*(a \mid s) = \log \sum_{a’} \exp(Q(s, a’))
    $$
  • 这个结果与 \(a\) 无关!因此:
    $$
    V(s) = \log \sum_{a’} \exp(Q(s, a’))
    $$
    • 再次强调:这里的 V 与策略无关,是最优策略对应的最优目标值
理解:这是确定性环境下的 “软贝尔曼方程”
  • 在 KL-正则化 RL 中,贝尔曼最优算子定义为:
    $$
    (\mathcal{T}_\beta Q)(s, a) = R_\beta(s, a) + \mathbb{E}_{s’ \sim P(\cdot \mid s, a)} \left[ \log \sum_{a’} \exp(Q(s’, a’)) \right]
    $$
  • 在确定性环境中,\(s’|s,a\) 是确定的,因此:
    $$
    (\mathcal{T}_\beta Q)(s, a) = R_\beta(s, a) + \log \sum_{a’} \exp(Q(s’, a’))
    $$
  • 这正是:
    $$
    (\mathcal{T}_\beta Q)(s, a) = R_\beta(s, a) + V(s’)
    $$
    • 其中
      $$ V(s’) = \log \sum_{a’} \exp(Q(s’, a’))$$
回顾:与 TBRM 论文的对应
  • TBRM 论文中定义了:
    $$
    \begin{align}
    Q_\theta(s, a) &= \text{logit}_\theta(s, a) \\
    V_\theta(s) &= \log \sum_a \exp(Q_\theta(s, a)) \\
    \pi_\theta(a \mid s) &= \exp(Q_\theta(s, a) - V_\theta(s))
    \end{align}
    $$
  • 理解:TBRM 中的 \(V_\theta(s)\) 形式不是任意设定的,而是从 KL-正则化 RL 目标函数 + 最优策略闭式解 + 确定性环境假设中严格推导出来的
    $$
    \boxed{V_\theta(s) = \log \sum_{a \in \mathcal{A} } \exp(Q_\theta(s, a))}
    $$
    • 这个形式被称为 LogSumExp ,是 soft maximum 的一种光滑近似
    • 在最优策略下,它等价于
      $$ V(s) = \mathbb{E}_{a \sim \pi^*}[Q(s, a) - \log \pi^*(a \mid s)]$$
补充:最大熵目标下最优策略的闭式解的推导
  • 前置定义:在 KL 正则化强化学习中,对于给定的状态 \(s\) 和给定的动作价值函数 \(Q(s, \cdot)\),我们希望找到一个策略 \(\pi(\cdot \mid s)\),最大化以下目标:
    $$
    \max_{\pi(\cdot \mid s)} \mathbb{E}_{a \sim \pi(\cdot \mid s)} \left[ Q(s, a) - \log \pi(a \mid s) \right]
    $$
    • 这里的 \(Q(s, a)\) 是给定的(可以理解为当前对动作价值的估计)
    • \(-\log \pi(a \mid s)\) 是熵项(当参考策略均匀时,可理解为 KL 项)
  • 设策略是一个概率分布 \(p(a) := \pi(a \mid s)\),则:
    $$
    \begin{align}
    \mathcal{L}(p) = \sum_{a} p(a) Q(s, a) - \sum_{a} p(a) \log p(a) \\
    \text{s.t.} \sum_a p(a) = 1, \quad p(a) \ge 0, \quad \forall a
    \end{align}
    $$
    • 这是一个带约束的凸优化问题(严格来说是凹函数最大化,因为熵项是凹的)
  • 构造拉格朗日函数:
    $$
    \mathcal{L}(p, \lambda) = \sum_a p(a) Q(s, a) - \sum_a p(a) \log p(a) + \lambda \left(1 - \sum_a p(a) \right)
    $$
    • 这里 \(\lambda\) 是对应归一化约束的拉格朗日乘子
  • 对 \(p(a)\) 求偏导(视为连续变量):
    $$
    \frac{\partial \mathcal{L} }{\partial p(a)} = Q(s, a) - \log p(a) - 1 - \lambda = 0
    $$
  • 于是有:
    $$
    \begin{align}
    \log p(a) &= Q(s, a) - 1 - \lambda \\
    p(a) &= \exp\left(Q(s, a) - 1 - \lambda\right)
    \end{align}
    $$
  • 因为 \(\sum_a p(a) = 1\):
    $$
    \begin{align}
    \sum_a \exp\left(Q(s, a) - 1 - \lambda\right) = 1 \\
    e^{-1-\lambda} \sum_a \exp(Q(s, a)) = 1 \\
    e^{-1-\lambda} = \frac{1}{\sum_a \exp(Q(s, a))}
    \end{align}
    $$
  • 因此:
    $$
    \begin{align}
    p(a) &= \exp\left(Q(s, a) - 1 - \lambda\right) \\
    &= \exp\left(Q(s, a)\right) \cdot e^\left(- 1 - \lambda\right) \\
    &= \frac{\exp(Q(s, a))}{\sum_{a’} \exp(Q(s, a’))}
    \end{align}
    $$
  • 即最优策略为:
    $$
    \boxed{\pi^*(a \mid s) = \frac{\exp(Q(s, a))}{\sum_{a’} \exp(Q(s, a’))} }
    $$
    • 这就是softmax(或 Boltzmann)策略
分析:为什么最优策略是一个分数形式
  • 核心原因在于目标函数中有一项 \(-\log \pi(a \mid s)\):
    • 它鼓励策略保持高熵(即不要太确定)
    • 它使得目标函数关于 \(\pi\) 是强凹的(因为有 \(-p \log p\))
    • 因此最优解是 softmax 形式,而不是 one-hot 形式
  • 这正是 最大熵强化学习 和 KL 正则化 RL 的标准结果
理解:与 TBRM 论文中公式的对应
  • TBRM 论文第5页给出的最优策略形式是:
    $$
    \pi_\beta^*(a_h \mid s_h) \propto \pi_{\text{ref} }(a_h \mid s_h) \exp\left(\frac{Q^*(s_h, a_h)}{\beta}\right)
    $$
  • 如果定义变换后的 \(Q\) 为:
    $$
    \tilde{Q}(s, a) = \frac{Q(s, a)}{\beta} + \log \pi_{\text{ref} }(a \mid s)
    $$
  • 则有与本文上述推导一致的形式:
    $$
    \pi_\beta^*(a \mid s) = \frac{\exp(\tilde{Q}(s, a))}{\sum_{a’} \exp(\tilde{Q}(s, a’))}
    $$
    • 理解:这完全一致,只是吸收了参考策略和温度参数

KDRL

  • 原始论文:KDRL: Post-Training Reasoning LLMs via Unified Knowledge Distillation and Reinforcement Learning, 20250602, HIT & Huawei Noah’s Ark Lab
  • KDRL(Knowledge Distillation + Reinforcement Learning)是一个统一的策略梯度优化框架,同时:
    • 最小化学生与教师之间的 反向 KL 散度(RKL)
    • 最大化 基于规则的奖励信号

KDRL 的强化学习目标(GRPO)

  • KDRL 采用 GRPO 作为 RL 基础,其目标函数为:
    $$
    \mathcal{J}_{\text{GRPO} }(\theta) = \mathbb{E}_{q \sim Q, \{o_i\}_{i=1}^G \sim \pi_{\theta_{\text{old} } }(\cdot|q)} \left[ \frac{1}{\sum_{i=1}^G |o_i|} \sum_{i=1}^G \sum_{t=1}^{|o_i|} \rho_{i,t}(\theta) \hat{A}_i \right]
    $$
    • \( \rho_{i,t}(\theta) = \frac{\pi_{\theta}(o_{i,t} | q, o_{i,< t})}{\pi_{\theta_{\text{old} } }(o_{i,t} | q, o_{i,< t})} \)
    • \( \hat{A}_i \) 是组内归一化的优势估计

KDRL 知识蒸馏目标(RKL)

  • 传统 SFT 是最小化 前向 KL :
    $$
    \arg \min_{\theta} \mathbb{D}_{\text{KL} }(\pi_T | \pi_{\theta})
    $$
  • 但存在 曝光偏差(exposure bias),采用 反向 KL :
    $$
    \arg \min_{\theta} \mathbb{D}_{\text{KL} }(\pi_{\theta} | \pi_T) = \arg \max_{\theta} \mathbb{E}_{q, o \sim \pi_{\theta} } \left[ \log \frac{\pi_T(o|q)}{\pi_{\theta}(o|q)} \right]
    $$
  • 该目标可视为一个 token 级别的奖励信号:
    $$
    R_{i,t}(\theta) = \log \frac{\pi_T(o_{i,t} | q, o_{i,<t})}{\pi_{\theta}(o_{i,t} | q, o_{i,<t})}
    $$

KL 近似方法

  • 论文对比了三种 KL 近似方法:
    • k2 估计器 :梯度无偏,适合与 RL 联合优化
      $$
      \mathbb{D}_{\text{KL} }^{k2}(\pi_{\theta}| \pi_T) = \mathbb{E}\left[ \frac{1}{2} R_{i,t}^2(\theta) \right]
      $$
    • k3 估计器 :对散度本身无偏,但梯度有偏
    • Top-K 估计器 :计算完整词汇分布的 top-K 近似,但易导致训练不稳定

KDRL 方法

  • KDRL 的核心是将 RL 和 KD 通过联合损失函数统一:
    $$
    \mathcal{J}_{\text{KDRL} }(\theta) = \mathcal{J}_{\text{GRPO} }(\theta) - \beta \cdot \mathbb{D}_{\text{KL} }^{k2}(\pi_{\theta} | \pi_T)
    $$
    • \(\beta\) 是平衡系数
  • KDRL 的梯度为:
    $$
    \nabla_{\theta} \mathcal{J}_{\text{KDRL} }(\theta) = \nabla_{\theta} \mathcal{J}_{\text{GRPO} }(\theta) + \beta \cdot \nabla_{\theta} \mathcal{J}_{\text{RKL} }(\theta)
    $$
  • 这一设计确保了教师监督(KD)和奖励信号(RL)可以在同一策略更新步骤中共同作用

KDRL 的一些消融实验和 Insight

两种融合策略的对比
  • 策略一:Reward Shaping
    • 将 token 级别的 KL 奖励加到结果奖励中
    • 训练早期崩溃
    • 理解:原因可以归结于将入到结果奖励以后,会导致 Token-level 的 KL 变成了结果奖励的信号,反而干扰了原始的正确新信号(比如正确 但 KL 较大的 Response 反而 Advantage 为负,被打压等)
  • 策略二:Joint Loss
    • 将 KL 散度作为辅助损失加入 GRPO
    • 稳定且性能最佳
    • 理解:保证了正确信号,同时 Token-level KL 散度可以在 Token 粒度调整 KL 散度,最终确保拿到不错的结果
KL 系数调度(Annealing)
  • 固定系数:\(\beta = 2e-3\)
  • 线性衰减:\(\beta = \max(\beta_{\text{init} } - \delta \cdot \text{step}, \beta_{\text{min} })\)
  • 初期高 \(\beta\) 强化模仿,后期低 \(\beta\) 鼓励自探索

KDRL 改进方式:奖励引导的 KL Masking

  • 原始 KDRL 的问题:
    • 在 KDRL 框架中,KL 散度损失(KD 部分)会对所有 token 施加惩罚 ,即使模型已经生成了正确答案,这会导致两个问题:
      • 梯度冲突 :RL 奖励鼓励模型保持正确行为,但 KD 损失仍然惩罚与教师不一致的 token
      • 过度正则化 :正确回答也被强制向教师分布靠拢,可能抑制模型自身的探索
  • 奖励引导的 KL Masking:仅在模型表现不佳时应用 KD 损失 ,有以下两种实现方式:
    • Response-Level Masking :仅对奖励为 0 的回答计算 KD 损失
    • Group-Level Masking :仅当整组回答都失败时才计算 KD
  • 实验表明,Response-level Masking 在保持性能的同时,显著提升 token 效率
原始 RKL 的 token 级别奖励
  • 所有 Token 都应用 KD 损失
    $$
    R_{i,t}(\theta) = \log \frac{\pi_T(o_{i,t} | q, o_{i,<t})}{\pi_{\theta}(o_{i,t} | q, o_{i,<t})}
    $$
Response-Level Masking(响应级掩码)
  • 只有奖励为 0(回答错误)的响应才应用 KD 损失
    $$
    R_{i,t}^{\prime}(\theta) = \mathbb{I}[r_i = 0] \cdot R_{i,t}(\theta)
    $$
    • \( r_i \in \{0, 1\} \) 是二值结果奖励(1=正确,0=错误)
    • \( \mathbb{I}[\cdot] \) 是指示函数
  • 伪代码:
    1
    2
    3
    4
    5
    6
    7
    8
    # 伪代码实现
    for each response i in group:
    if reward[i] == 0: # 回答错误
    for each token t in response:
    kl_loss += compute_rkl(student_logits, teacher_logits, t)
    else: # 回答正确
    # 跳过 KL 损失计算,只保留 RL 损失
    pass
Group-Level Masking(组级掩码)
  • 只有当整组响应全部错误时,才对组内所有响应应用 KD 损失
    $$
    R_{i,t}^{\prime}(\theta) = \mathbb{I}[\forall j \in \{1,\ldots,G\}, r_j = 0] \cdot R_{i,t}(\theta)
    $$
  • 伪代码:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    # 伪代码实现
    group_all_wrong = all(reward[i] == 0 for i in range(G))

    if group_all_wrong:
    for each response i in group:
    for each token t in response:
    kl_loss += compute_rkl(student_logits, teacher_logits, t)
    else:
    # 整组跳过 KL 损失
    pass
KDRL 奖励引导的 KL Masking 实验结果
  • Response-Level Masking 在保持性能的同时,缩短了响应长度(提高 token 效率)
  • 说明选择性模仿(仅学习错误回答)比全盘模仿更高效
  • Group-Level Masking 因过度保守,KD 信号利用不足,性能提升有限
为什么 Response-Level Masking 有效?
  • 避免过度正则化 :
    • 正确回答已经符合奖励信号,不需要强制靠近教师分布
    • 保留了模型自身发现的推理路径(可能优于教师)
  • 聚焦学习难点 :
    • 错误回答是模型当前能力的短板
    • 教师对这些样本的指导更有价值
  • 梯度信号更纯净 :
    • 避免 RL 奖励(鼓励正确)和 KD 损失(强制模仿)在正确回答上产生冲突

实验

  • 学生模型 :DeepScaleR-1.5B-8K
  • 教师模型 :Skywork-OR1-Math-7B
  • 训练数据 :Skywork-OR1 数据集(61K 题)
  • RL 算法 :GRPO
  • 评估基准 :AIME24/25, MATH500, AMC23, MinervaMath, OlympiadBench
  • 主要结果(Table 1)
    方法 AIME24 Avg
    GRPO 38.3 54.6
    KD-RKL 41.0 56.1
    KDRL 42.1 56.8
    KDRL-Annealing 42.9 57.2
    • KDRL 比 GRPO 提升 2.6%,比 KD-RKL 提升 1.1%
  • 效率分析
    • 推理 token 效率 :KDRL 在相同性能下,输出长度比 KD-RKL 短 6K tokens
    • 训练时间效率 :KDRL 在相同训练时间下,性能优于 GRPO 和 KD-RKL
  • 补充实验:R1-Zero-like 训练
    • 在 Qwen2.5-3B 上进行 R1-Zero-like 训练(无初始 SFT):
      方法 AIME24 Avg
      GRPO 9.0 31.3
      KD-RKL 7.9 30.8
      KDRL-Annealing 10.4 32.5
      • 验证了 KDRL 在零 RL 初始条件下的有效性

论文其他观点 & 认知

  • RL 和 KD 可以统一在同一个策略梯度框架中 ,而非分阶段使用
  • 反向 KL 散度(RKL)更适合与 RL 结合 ,因为它天然具有 token 级别奖励的形式
  • k2 估计器是 KDRL 的最佳选择 ,其梯度无偏,训练稳定
  • KL 系数调度(Annealing) 能有效平衡模仿与探索
  • 奖励引导的 KL Masking 能避免梯度冲突 ,提升训练效率
  • KDRL 在性能和效率上均优于纯 RL 或纯 KD ,适用于多种后训练场景(包括 R1-Zero-like)

RLAD(RL-aware Distillation)

  • 原始论文:(RLAD & TRRD)Reinforcement-aware Knowledge Distillation for LLM Reasoning, 20260226, AWS Agentic AI
  • 现有 KD 方法主要针对 SFT 设计,无法很好地适应 RL 训练中的动态策略更新,主要问题包括:
    • 分布不匹配 :学生策略在 RL 中不断演化,教师提供的固定监督信号可能过时或不匹配
    • 目标冲突 :KL 散度正则项可能与奖励最大化目标冲突,需精细调节权重
    • 稳定性差 :教师与学生策略差异大时,KL 项可能导致梯度异常
  • RLAD 的核心思想是:选择性模仿(selective imitation)
    • 只在教师信号有利于当前 RL 策略更新时才进行模仿

RLAD 方法详解

RLAD 的前置方法
  • GRPO 使用重要性采样比率:
    $$
    r_{i,t}^{\text{GRPO} }(\theta^S) = \frac{\pi_{\theta^S}(y^{(i)}_t|x,y^{(i)}_{ < t})}{\pi_{\theta^{S,\text{old} } }(y^{(i)}_t|x,y^{(i)}_{ < t})}
    $$
    • 并引入 clipping 和 KL 正则化项
  • KDRL(Knowledge Distillation RL)在 GRPO 基础上添加教师策略的 KL 正则项:
    $$
    \text{KL}(\pi_{\theta^S} | \pi_{\theta^T})
    $$
    • 这会导致教师信号无差别地影响学生策略,忽略奖励信号的指导
RLAD 的核心方法 Trust Region Ratio Distillation (TRRD)
  • RLAD 的核心是 TRRD 比率,将教师信号直接嵌入重要性比率中,而不是作为外部正则项
  • 定义 TRRD 比率:
    $$
    r_{i,t}^{\text{TRRD} }(\theta^S) = \left( \frac{\pi_{\theta^S} }{\pi_{\theta^{S,\text{old} } } } \right)^\alpha \cdot \left( \frac{\pi_{\theta^S} }{\pi_{\theta^T} } \right)^{1-\alpha}
    $$
    • \(\alpha \in [0,1]\) 控制学生旧策略与教师策略之间的插值
    • \(\pi_{\theta^{S,\text{old} } }\) 是更新前的学生策略
    • \(\pi_{\theta^T}\) 是教师策略(固定)
  • TRRD 的信任区域解释:
    • 定义混合锚点:
      $$
      r_{\pi^{\text{mix} } } = (\pi_{\theta^{S,\text{old} } })^\alpha \cdot (\pi_{\theta^T})^{1-\alpha}
      $$
    • 则可将 TRRD 比率定义为:
      $$
      r_{i,t}^{\text{TRRD} } = \frac{\pi_{\theta^S} }{r_{\pi^{\text{mix} } } }
      $$
      • 这意味着学生策略的更新以该混合分布为中心,PPO 风格的 clipping 直接限制了学生与锚点之间的 KL 散度
RLAD 目标函数
  • 结合 TRRD 比率与 GRPO 的 clipping 和优势函数,RLAD 的目标为:
    $$
    J^{\text{RLAD} }(\theta^S) = \mathbb{E}\left[ \frac{1}{G} \sum_{i=1}^G \frac{1}{|y^{(i)}|} \sum_{t=1}^{|y^{(i)}|} \min\left( r_{i,t}^{\text{TRRD} }(\theta^S) \hat{A}_{i,t}, \text{Clip}(r_{i,t}^{\text{TRRD} }(\theta^S), 1-\epsilon, 1+\epsilon) \hat{A}_{i,t} \right) \right] - \beta \cdot \text{KL}(\pi_{\theta^S} | \pi_{\theta^\text{ref}})
    $$
    • \(\hat{A}_{i,t}\) 是组相对优势
    • KL 项为可选,实验中通常设为较小值
TRRD 如何解决教师-优势错配问题
  • 论文从梯度角度分析了 TRRD 的三个关键机制:
  • 对应的 Token 正优势(\(\hat{A}>0\)) :需要提升学生的概率
    • 教师概率高 → 混合锚点大(TRRD 分母大) → 学生概率上升慢(更新更谨慎)
    • 教师概率低 → 混合锚点小(TRRD 分母小) → 学生概率上升快(更新更积极)
    • 问题:为什么教师概率高,反而要压制学生概率上升的速度呢?教师概率高时反而让学生概率快速上升吧
  • 对应的 Token 负优势(\(\hat{A}<0\)) :需要降低学生的概率
    • 教师概率高 → 混合锚点大(TRRD 分母大) → 学生概率下降受限(保护教师偏好的动作)
    • 教师概率低 → 混合锚点小(TRRD 分母小) → 学生概率可大幅下降
    • 理解:这里是对的,教师概率低,应该鼓励学生概率更快的朝教师概率拉进
  • 对应的 Token 优势接近零 :无论如何学生概率几乎都不更新
    • 教师信号几乎不影响更新
  • 这种机制使得教师信号只在奖励信号明确时才起作用,避免了盲目模仿
TRRD 与 GRPO / DPO 的关系
  • \(\alpha = 1\):TRRD 退化为标准 GRPO(纯 RL)
  • \(\alpha \to 0\):TRRD 近似为 DPO 风格的目标,教师作为参考策略:
    $$
    \log r^{\text{TRRD} } = \log \pi_{\theta^S} - \log \pi_{\theta^T}
    $$
    • 优势加权后形成对教师偏好的隐式建模
  • TRRD 是 GRPO 与 DPO 之间的平滑插值 ,兼具 RL 的奖励驱动与 KD 的教师引导

实验

  • 逻辑推理 :K&K Logistics 数据集(PPL2–PPL8,难度递增)
  • 数学推理 :AIME24/25、AMC23/24、MATH500 等
  • 学生模型 :Qwen3-0.6B、1.7B、8B(Base 或 Post-trained)
  • 教师模型 :Qwen3-8B、32B
  • 基线 :GRPO、KDRL、SFT(离线蒸馏)
  • 实验结果:当然是不错了
  • 训练效率
    • RLAD 和 KDRL 仅比 GRPO 多约 12% 的延迟(教师仅用于计算 logits,不生成样本)
    • 推理时无额外开销
  • 一些观察
    • RLAD 更偏向奖励驱动的策略提升 :
      • KDRL 在 Pass@32 上提升明显(教师模仿增强多样性)
      • RLAD 在 Pass@1 上提升更显著(更关注策略优化)
    • RLAD 稳定性更好 :
      • KDRL 在训练中出现明显震荡
      • RLAD 通过 TRRD 的信任区域机制保持稳定更新
    • RLAD 对 \(\alpha\) 不敏感 :
      • 在 GSM8K 和 MATH 上,\(\alpha \in [0.3, 0.7] \) 性能稳定,仅在极端值(0.1 或 0.9)下降

SPPO(Sequence-Level PPO)

  • 原始论文:SPPO: Sequence-Level PPO for Long-Horizon Reasoning Tasks, SUSTech‌, 20260410
  • SPPO 简单总结 和 对比:
    • GRPO 隐式建模为 bandit,但依赖多采样
    • RLOO:REINFORCE 风格,无 clipping,计算随长度增长
    • GSPO / GMPO:针对 MoE 路由问题,非通用推理对齐
    • SPPO 是第一个 明确为稀疏奖励推理任务设计、支持单样本更新、Critic 可解耦的 PPO 变体
      • Sequence-Level Contextual Bandit 建模 + 学习 baseline,实现单采样,统一 advantage 传播
      • 避免了 PPO 的 token-level 信用分配高偏差
      • 避免了 GRPO 的多采样高方差
      • 更快的收敛(\( 5.9\times \) 加速)
      • 更低的显存占用
      • 更强的推理性能

背景 & 问题提出

  • 标准 PPO 在长 CoT 稀疏奖励场景下面临两个关键问题:
    • 时间信用分配不稳定 :奖励只在序列末尾出现,GAE 难以有效传播信号到早期 token
    • Critic 的“尾部效应” :Critic 只在序列尾部才能区分正确与错误轨迹,导致优势信号在关键位置消失(图 1)
  • GRPO 为解决这些问题,去掉 Critic,改为对每个 prompt 采样多个 response,用组内均值与标准差做归一化,但 GRPO 存在新的问题:
    • 高方差 :依赖 Monte Carlo 结果
    • 计算开销大 :需要 \( N > 1 \) 的采样来构建稳定 baseline,显著降低训练吞吐量
  • 作者观点:GRPO 的成功其实并非因为它是更好的 PPO,而是因为它 Sequence-Level 隐式建模:
    • GRPO 隐式地将推理任务建模为 Sequence-Level Contextual Bandit ,而非多步 MDP

作者观点

  • PPO 的不稳定性来源于 token-level MDP 分解 ,而非价值估计本身不可行
  • 显式地将推理任务建模为 Sequence-Level Contextual Bandit 可以同时解决 PPO 的高偏差和 GRPO 的高方差

SPPO(Sequence-Level PPO)设计目标

  • 保留 PPO 的样本效率
  • 获得 GRPO 的稳定性
  • 消除 GRPO 的多采样瓶颈(\( N = 1 \))
  • 支持 Critic 与 Policy 的解耦,降低显存占用

SPPO 之:问题定义为 Sequence-Level Contextual Bandit

  • 传统 PPO 将推理过程建模为 MDP:
    • 状态:prompt + 已生成 token
    • 动作:下一个 token
    • 奖励:仅在序列末尾非零
  • SPPO 将推理过程简化为:
    $$
    (S, \mathcal{A}, r)
    $$
    • 上下文 \( S \):仅包含静态 prompt \( s_p \)
    • 动作 \( \mathcal{A} \):整个 response 序列 \( a_{seq} = (y_1, \dots, y_T) \),视为原子动作
    • 奖励 \( r(s_p, a_{seq}) \):最终正确性(0 或 1)
    • 注:这等价于 Horizon \( H = 1 \) 的 bandit 问题

SPPO 之:价值函数与优势估计

  • 不再使用 token-level Critic \( V(s_t) \),而是训练一个 scalar value model :
    $$
    V_{\phi}(s_p)
    $$
    • 估计给定 prompt 的成功概率(solvability)
  • 对于一个样本 \( a \),奖励 \( R \in \{0, 1\} \),优势定义为:
    $$
    A(s_p, a) = R - V_{\phi}(s_p)
    $$
    • 注:这是低方差、单样本可用的 advantage
  • Critic 训练使用 Binary Cross-Entropy Loss :
    $$
    \mathcal{L}_V(\phi) = -\mathbb{E}\left[ R \log V_{\phi}(s_p) + (1 - R) \log(1 - V_{\phi}(s_p)) \right]
    $$

SPPO 之:序列级策略优化

  • SPPO 使用 PPO 的 clipped surrogate objective,但与 PPO 的关键区别在于:同一个 sequence 中的所有 token 共享同一个 advantage \( A(s_p, a) \)
    $$
    J_{\text{SPPO} }(\theta) = \mathbb{E}_{s_p \sim D, a \sim \pi_{\theta_k}, t \in a} \left[ \min\left( r_t(\theta) A(s_p, a), \text{clip}(r_t(\theta), 1-\epsilon, 1+\epsilon) A(s_p, a) \right) \right]
    $$
    • 注:这与 GRPO 一样
  • 其中:
    $$
    r_t(\theta) = \frac{\pi_\theta(a_t | s_p, a_{ < t})}{\pi_{\theta_k}(a_t | s_p, a_{ < t})}
    $$
  • 注:这解决了信用分配问题:正确轨迹的每一步都得到正强化,错误轨迹的每一步都被惩罚

实验设

  • 基础模型:DeepSeek-R1-Distill-Qwen(1.5B 和 7B)
  • 训练数据:DeepScaleR、DAPO-17K
  • 评估基准:AIME24/25、AMC23、MATH500、Minerva Math
  • Baselines:标准 PPO(token-level) 和 序列级方法:ReMax、RLOO、GRPO(\( N = 8 \))
  • 关键超参数
    • \( \beta_{\text{KL} } = 0 \)(鼓励探索)
    • Global batch size:256(1.5B)/ 512(7B)
    • LR:Actor 1e-6,Critic 5e-6
    • PPO 中 \( \gamma = 1, \lambda = 1 \)
  • 主要结果
    • SPPO 在 1.5B 和 7B 上均显著优于标准 PPO
    • SPPO 超越 GRPO(\( N = 8 \))且仅用 \( N = 1 \)
    • Small Critic(1.5B Critic + 7B Policy) 达到最高平均分(58.56),验证了 Critic 解耦的有效性
      • 注:说明可使用类似 Decoupled Critic(7B + 1.5B)显著降低显存占用
    • SPPO 相对 GRPO 训练效率更高:
  • 消融实验(图 4)
    • 在标准 PPO 中加入 BCE loss(PPO + BCE)无效
    • 说明 SPPO 的优势来源于 sequence-level bandit 公式 + 统一 advantage 传播 ,而非 BCE 本身
  • RLVR 补充实验:
    • SPPO 在所有任务中匹配或超越标准 PPO
    • 在 Hopper、MountainCar 等困难任务中,PPO 几乎不收敛,SPPO 成功

SPPO Critic 模型一些相关分析

  • 相关性分析(图 7)
    • 预测值与真实 pass rate 的 Pearson 相关系数为 0.642,Spearman 为 0.664
    • 说明 Critic 成功学会了 prompt 的相对难度
  • 分布特性
    • 真实难度呈双峰分布(0 或 1)
    • Critic 预测呈单峰、准正态分布(中心 0.6–0.7)
    • 注:这表明 Critic 采用 保守策略 ,避免预测极端值,从而提供稳定的 baseline
      • 问题:这是否也说明预估不准确呢?

SPPO 的局限性

  • 仅适用于可验证奖励任务(如数学题)
  • 对开放式生成任务(无 ground truth)不直接适用
    • 理解:其实也可以的,直接学习奖励模型的打分结果即可,损失函数改成 MSE 或 MAE

SD-Zero(Self-Distillation Zero)

  • 原始论文:Self-Distillation Zero: Self-Revision Turns Binary Rewards into Dense Supervision, Princeton University & CMU
  • SD-Zero 是一种无需外部教师或高质量 Reference Response 的自蒸馏方法
  • SD-Zero 通过两个阶段(SRT + Self-Distillation)将稀疏的二元奖励转化为密集的 token 级监督信号,显著提升了 LLM 在数学和代码推理任务上的样本效率和最终性能
  • 注:SD-Zero 依赖二元奖励,主要是在 RLVR 场景应用,扩展到非 RLVR 的场景可考虑使用 Self-consistency(通过多次采样并选择最一致的答案来提升推理准确性)

背景 & 问题提出

  • 当前数学,推理领域主流方法:
    • 强化学习(RLVR) :依赖二元奖励(如答案是否正确),通用性强,
    • 蒸馏方法 :提供密集的 token 级监督
  • 问题:
    • RLVR:奖励稀疏,训练效率低
    • 蒸馏方法:需要外部教师或 Reference Response ,成本高或不可用

SD-Zero 的核心思想

  • 无需外部教师或 Reference Response 的自蒸馏方法
  • 同一个模型扮演两个角色:
    • Generator :生成对问题的初始响应
    • Reviser :基于 Generator 的响应及其二元奖励,生成改进后的响应
  • SD-Zero 的核心创新在于:将二元奖励转化为 token 级的密集监督信号 ,通过以下两个阶段实现:
    • 第一阶段:Self-Revision Training (SRT)
      • 学习如何根据奖励修订响应
    • 第二阶段:Self-Distillation
      • 将修订能力蒸馏回 Generator,提升其初始生成质量

SD-Zero Phase 1: Self-Revision Training (SRT)

  • 本阶段目标是让模型学会根据二元奖励(正确/错误)修订自己的响应
数据构造流程:
  • Step 1)Initial Sampling :每个问题采样一个初始响应 \( y_{\text{init} } \)
  • Step 2)Verification :验证 \( y_{\text{init} } \) 是否正确,得到二元奖励 \( r \in \{0,1\} \)
  • Step 3)Self-Revision :
    • 如果 \( r = 1 \)(正确),要求模型生成一个更简洁的改写版本
    • 如果 \( r = 0 \)(错误),要求模型生成一个修正版本
  • Step 4)Filtering :只保留修订后正确的轨迹
    $$ (x, y_{\text{init} }, P_r, y_{\text{revised} }) $$
  • 论文中最终得到约 6K 条高质量修订轨迹
训练目标(同时优化两个损失函数)
  • Revision Loss(修订损失):
    $$
    \mathcal{L}_{\text{revision} }(\theta) = \mathbb{E}_{(x,y_{\text{init} },P_r,y_{\text{revised} })\sim \mathcal{D}_{\text{REVISION} } }\left[-\sum_{t = 1}^{|y’|}\log \pi_{\theta}(y_t’|x,y_{\text{init} },P_r,y_{< t}’)\right]
    $$
    • 这里 \(y’ = y_{\text{revised}}\)
  • Generation Loss(生成损失):
    $$
    \mathcal{L}_{\text{generation} }(\theta) = \mathbb{E}_{(x,y_{\text{init} },P_r,y_{\text{revised} })\sim \mathcal{D}_{\text{REVISION} } }\left[-\sum_{t = 1}^{|y’|}\log \pi_{\theta}(y_t’|x,y_{< t}’)\right]
    $$
    • 这里 \( y’ = [y_{\text{init} }, P_r, y_{\text{revised} }] \)
  • 最终 SRT 损失为:
    $$
    \mathcal{L}_{\text{SRT} }(\theta) = \mathcal{L}_{\text{revision} }(\theta) + \mathcal{L}_{\text{generation} }(\theta)
    $$
  • 理解:
    • Revision Loss 让模型学会修订
    • Generation Loss 保留模型从零生成正确响应的能力

SD-Zero Phase 2: Self-Distillation

  • 本阶段的目标是将 Reviser 的修订能力蒸馏回 Generator,使其生成更高效、更准确的初始响应
  • 注:本阶段使用的数据是 第一阶段没有见过的,总体数据可以分别划分到第一阶段和第二阶段
    • 具体的划分方式(比例)也有消融实验,更多划分到第二阶段更好些(理解:第一阶段只要学习到这种回复范式就够了,不需要太多数据)
Phase 2 流程:
  • Step 1)初始化学生参数 \( \theta \leftarrow \theta_{\text{SRT} } \)
  • Step 2)固定教师模型为 \( \theta_{\text{SRT} } \)
  • Step 3)对每个问题 \( x \):
    • 学生生成响应 \( y \sim \pi_{\theta}(\cdot | x) \)
    • 验证其正确性 \( r \)
    • 教师模型基于 \( x, y, P_r \) 生成 token 级分布
  • Step 4)最小化学生与教师之间的 KL 散度 :
    $$
    \mathcal{L}_{\text{Self-Distillation} }(\theta) = \mathbb{E}_{(x,a)\sim \mathcal{D} }\mathbb{E}_{y\sim \pi_{\theta}(\cdot |x)}\sum_{t = 1}^{|y|}\mathcal{D}_{\text{KL} }(\pi_{\theta}(\cdot |x,y_{< t})\parallel \pi_{\theta_{\text{SRT} } }(\cdot |x,y,P_r,y_{< t}))
    $$
    • 注意:这里蒸馏回去的是 \(\pi_{\theta_{\text{SRT} } }(\cdot |x,y,P_r,y_{< t})\),优化后的 \(\pi_{\theta_{\text{SRT} } }\) 相对不经过 SRT 优化的 \(\pi_\theta\) 应该是更加善于处理类似 \((\cdot |x,y,P_r,y_{< t})\) 输入格式的
  • 理解 :
    • 教师将二元奖励转化为每个 token 的“软标签”
    • 学生通过模仿教师,内化修订行为,生成更短的响应(如图 3 所示)
    • 该阶段极其样本高效:每个问题只需一次 Rollout
  • 问题:为什么不直接使用 SD-Zero Phase 1 阶段得到的 SRT 模型作为最终模型呢?

实验

  • 在 Qwen3-4B-Instruct 和 Olmo-3-7B-Instruct 上,SD-Zero 在数学和代码推理任务中平均提升 >10% ,显著优于:
    • SFT(专家示范)
    • RFT(拒绝采样微调)
    • GRPO(基于二元奖励的 RL)
    • SDFT(需要 Reference Response )
  • 补充:SD-Zero 在 Pass@8 上也持续领先,说明其不仅仅是对输出分布的“锐化”,而是真正提升了推理能力
  • 补充:当 SDFT 只能访问最终答案(而非完整解题过程)时,其性能接近基础模型,远低于 SD-Zero
    • 说明 SD-Zero 更适合仅有二元奖励的场景
其他消融实验
  • SRT 损失项的必要性(表 11)
    • 仅用 \( \mathcal{L}_{\text{generation} } \):生成能力强,但修订能力弱(修正率 7.2% vs 15.0%)
    • 仅用 \( \mathcal{L}_{\text{revision} } \):修订能力强,但生成能力下降
    • 两者结合:最佳
  • 无 SRT 阶段直接应用 Self-Distillation(表 12)
    • 修正率仅 2.6%,接近基础模型(2.7%),远低于完整 SD-Zero(16.7%)
    • 说明 SRT 阶段是必要的,必须先激发自修订能力
  • 数据分配(表 13)
    • 更多数据给 SRT 略提升 SRT 模型,但无助于最终 SD-Zero
    • 更多数据给 Self-Distillation 效果更好,说明一旦自修订能力被激发,更多数据应用于蒸馏阶段更有效

讨论:SD-Zero 为何有效?

Token-Level Self-Localization(图 4)
  • 对于错误的响应,Reviser 的 KL 奖励集中在少数 token 上,精准定位错误
  • 对于正确的响应,奖励分布更均匀,主要用于保持响应结构
  • 定义 Token KL Reward:
    $$
    \log \pi_{\theta}(y_t \mid x,y_{< t}) - \log \pi_{\theta_{\text{SRT} } }(y_t \mid x,y,P_r,y_{< t})
    $$
推理行为的演化(图 6)
  • SRT 阶段:响应变长,显式自修正关键词(如 “wait”, “let me start over”)频率上升
  • Self-Distillation 阶段:响应变短,关键词频率下降,但准确率持续上升,说明模型内化了自修正行为
迭代自我演化(图 5)
  • 固定教师会导致性能饱和
  • 将学生同步为教师后,继续训练可进一步提升准确率(+3% 以上)

其他核心 Insight

  • Thinking Models :当模型启用长 CoT 时,难以区分“探索”与“错误”,直接应用 SDFT 反而损害性能(表 14)

TIP(Token Importance in on-Policy Distillation)

  • 原始论文:(TIP)TIP: Token Importance in On-Policy Distillation, 20260415, Princeton
  • TIP(Token Importance in on-Policy distillation) 方法核心:OPD 中,不同 Token 位置携带的学习信号差异巨大 ,需要分开处理
    • 注:传统的 OPD 对所有 Token 一视同仁
    • 本文核心研究: 在 OPD 中,哪些 Token 携带最有用的学习信号?
  • 论文提出了 TIP 分类方法 :二维划分(Student 熵 + Teacher-Student Divergence),无需额外标注
  • 论文证明了:熵是强但不完备的代理;Soft-OR 修复盲区
  • 问题 & 思考
    • Soft-OR 使用 batch 内 min-max 归一化,可能对 outlier 敏感
    • 论文中所有实验使用 reverse KL ,其他散度(forward KL、JSD)未验证

Insight

  • 核心答案:信息丰富的 Token 来自两个区域 :
    • 1)高 Student 熵 \( h_t \):
      $$
      h_t = \frac{H(P_S(\cdot \mid c_t))}{\log|V|}\in [0,1]
      $$
      • Student 不确定、需要训练
    • 2)低 Student 熵 + 高 Teacher-Student Divergence \( \delta_t \):
      $$
      \delta_t = D_{\text{KL} }(P_S(\cdot \mid c_t)\parallel P_T(\cdot \mid c_t))
      $$
      • Student 非常自信但错误的位置(称为 Overconfident Tokens)

Token 分类

  • TIP 分类是一个二维分类法,将 Token 划分为四个象限(Quadrants):
    Quadrant Student Entropy Divergence 学习角色
    Q1 高 高 纠正错误或巩固脆弱知识
    Q2 高 低 稳定不确定预测
    Q3 低 高 打破系统性自信偏见
    Q4 低 低 可忽略信号(已解决)
  • 论文观点 :
    • Q1/Q2 可以被基于熵的方法捕获
    • Q3 是 盲区 :熵很低,但 Teacher 强烈反对
    • Q4 是无效 Token

TIP 理论分析(重点)

Oracle Token Weight(Proposition 1)
  • 论文推导了理想情况下的 Token 权重 \( w_t^* \):
    $$
    w_t^* = \frac{\bar{\phi}_t}{\eta \beta \bar{M}_t}
    $$
    • \( \bar{\phi}_t = \langle \nabla L, \bar{\mu}_t \rangle \)
    • \( \bar{M}_t = \mathbb{E}[| g_t |^2] \)
  • 结论:Q1 > Q2 > Q3 ≫ Q4
熵的盲区(Proposition 2)
  • 任意非递减的熵分数 \( \hat{w}(h_t) = f(h_t) \) 且 \( f(0)=0 \) 都会使 Q3 Token 的权重近似为 0,因为熵很低
  • 熵无法区分的区域:
    • “自信且正确”(Q4)
    • “自信且错误”(Q3)
Soft-OR 分数(Remark 2)
  • 为了同时捕捉熵和分歧,定义:
    $$
    s_t = \hat{h}_t + \hat{\delta}_t - \hat{h}_t \cdot \hat{\delta}_t = 1 - (1 - \hat{h}_t)(1 - \hat{\delta}_t)
    $$
    • \( \hat{h}_t, \hat{\delta}_t \) 是 min-max 归一化后的值
  • 定义:
    • Q3:\( \hat{h}_t \approx 0, \hat{\delta}_t > 0 \) → \( s_t > 0 \)
    • Q4:\( \hat{h}_t \approx 0, \hat{\delta}_t \approx 0 \) → \( s_t \approx 0 \)
    • Q1:\( s_t \approx 1 \)
  • 注:Soft-OR 无需超参数 ,且完全基于 OPD 已有的计算

TIP 方法流程:Type-Aware Token Selection

  • 给定保留比例 \( \rho \in (0,1] \):
    • Step 1)对每个 Token 计算 \( h_t \) 和 \( \delta_t \)
    • Step 2)归一化到 \([0,1]\) 得到 \( \hat{h}_t, \hat{\delta}_t \)
    • Step 3)计算 Soft-OR 分数 \( s_t \)
    • Step 4)按照 Soft-OR 分数 \( s_t \) 排序,并保留 Top-\( \lfloor \rho m \rfloor \) 个 Token
    • Step 5)仅在这些 Token 上计算损失:
      $$
      \mathcal{L}_{\text{TIP} } = \frac{1}{|\mathcal{T}|}\sum_{t\in \mathcal{T} } D_{\text{KL} }(P_S(\cdot |c_t)| P_T(\cdot |c_t))
      $$
  • 理解:这种设计有多个优点:
    • 不引入额外计算(\( h_t, \delta_t \) 已有)
    • 无多余超参数
    • 同时覆盖 Q1/Q2(高熵)和 Q3(低熵高 Divergence),并忽略 Q4(低熵低 Divergence)

实验

  • 实验设置
    • 数学推理 :Qwen3 (8B→4B)、Llama (70B→8B)、Qwen2.5 (14B→1.5B)
    • Agentic Planning :Qwen3 (14B/32B → 1.7B),DeepPlanning 基准
    • 评估指标:MATH-500、AIME 2024/2025、DeepPlanning(Avg@16)
  • 消融:高熵 Token(Q1/Q2)
    • 仅保留 50% 的高熵 Token,性能 匹配或超越 全 Token 训练
    • 内存峰值下降 47%(Qwen3)到 58%(Qwen2.5)
  • 消融:Overconfident Token(Q3)
    • 构造 Q3 分数:
      $$ w_t^{\text{Q3} } = \delta_t^{\text{fwd} } \cdot (1 - \hat{h}_t) $$
    • 仅用 <10% 的 Q3 Token 即可接近全 Token 性能
  • 主实验:Soft-OR 选择(TIP 方法完全体)
    • Soft-OR 在数学推理上 持续优于纯熵选择
    • 在 DeepPlanning 上,Q3-only 20% Token 超越全 Token OPD(12.6 vs 11.7)
  • 补充消融:Teacher 熵无信息
    • Teacher 分布接近确定性(均值熵 0.03–0.07),无法提供有效信号
  • 补充消融:Top vs Bottom Token
    • 用 Soft-OR 分数最高的 50% Token 训练,性能显著高于最低 50%

补充:Agentic Planning 上的扩展

  • Q3-only 20% Token 在所有设置中 超越或匹配全 Token 基线
  • 原因:Agentic 任务中,一个自信但错误的决策(如订关闭的场地)会破坏整个计划,Q3 信号更集中

NTHR (Negative Token Hidden Reward)

  • 原始论文:On the Effect of Negative Gradient in Group Relative Deep Reinforcement Optimization, 20250524, University of British Columbia
  • 作者发现 GRPO 中存在一个未被识别的现象(Lazy Likelihood Displacement(LLD) ),
    • 即:正确 Response 的似然在训练过程中增长缓慢甚至下降
    • 注:这是首次在 GRPO 中发现 LLD 现象
  • 论文中通过理论分析 LLD 成因,然后提出了一种名为 Negative Token Hidden Reward(NTHR) 的方法
    • NTHR:通过选择性降低对错误 Response 中某些 Token 的惩罚来缓解 LLD,从而提升模型在数学推理任务上的表现

背景:GRPO 正负梯度的影响

  • 注:这里简化了 GRPO 的梯度形式(忽略 Clip 和 KL 项),得到:
    $$
    \nabla_\theta \mathcal{J}_{\text{GRPO} }(\theta) \approx \mathbb{E}\left[\frac{1}{\sum_i |y_i|}\sum_i \sum_k \hat{A}_{i,k} \gamma_{i,k}(\theta) \nabla_\theta \log \pi_\theta(y_{i,k} \mid x, y_{i,<k})\right]
    $$
    • 由于 \( \gamma_{i,k} > 0 \),梯度的符号由 \( \hat{A}_{i,k} \) 决定
    • 在二值 Reward(正确=1,错误=0)下,正确 Response 的 Token 获得正梯度,错误 Response 的 Token 获得负梯度
作者核心发现:Lazy Likelihood Displacement (LLD)
  • 实验观察:在多个模型(Qwen-0.5B、Qwen-Math-1.5B、Deepseek-1.5B)和数据集(MATH、AIME)上观察到一个现象:
    • 在GRPO训练中,正确 Response 的 Log-likelihood 增长缓慢甚至下降,称为 LLD
      $$
      \ln \pi_{\theta_{\text{final} } }(y^+ \mid x) < \ln \pi_{\theta_{\text{initial} } }(y^+ \mid x) + \epsilon
      $$
正负梯度的作用分析
  • 引入 Pos Only 变体(将负 Advantage 置为 0,即 仅训练正样本),发现:
    • Pos Only 显著提升正确 Response 的 Likelihood
      • 理解:因为正确 Response 和 错误 Response 本就有许多交叉混杂的重合 Token
    • 但 Pos Only 的平均性能比 GRPO 低 1.3%
      • 理解:负梯度并非总是有害,不能完全过滤负梯度(因为有些 Token 就是错误的,应该自信的打压)
      • 有害的负梯度主要来自那些“几乎正确”或“格式错误”的错误 Response
理论分析:GRPO 作为 Group Preference Optimization
  • 在二值 Reward 下,GRPO 等价于:
    $$
    p^+ \sum_{i=1}^{N^+} \min\left(\frac{\pi_\theta(y_i^+ \mid x)}{\pi_{\theta_{\text{old} } }(y_i^+ \mid x)}, 1+\epsilon\right) - p^- \sum_{j=1}^{N^-} \max\left(\frac{\pi_\theta(y_j^- \mid x)}{\pi_{\theta_{\text{old} } }(y_j^- \mid x)}, 1-\epsilon\right)
    $$
    • 其中 \( p^+ = \frac{1-p}{\sqrt{p(1-p)} }, p^- = \frac{p}{\sqrt{p(1-p)} } \),\( p \) 为正确率
LLD 的成因
  • 在 Unconstrained Features Assumption 下(即隐藏嵌入 \( h \) 可以自由优化),论文推导出正确 Response 的 Likelihood 变化率:
    $$
    \frac{d}{dt} \ln \pi_{\theta(t)}(y_i^+ \mid x) \propto (\text{I}) - (\text{II}) + \text{其他项}
    $$
  • 其中:
    $$
    (\text{I}) = p^+ \sum_{k,k’} \alpha^+_{k,k’} \cdot \langle h_{y_i^+,<k}, h_{y_{i’}^+,<k’} \rangle \\
    (\text{II}) = p^- \sum_{k,k’} \alpha^-_{k,k’} \cdot \langle h_{y_i^+,<k}, h_{y_j^-,<k’} \rangle
    $$
    • \( (\text{I}) \) 是正确 Response 之间的正相互作用
    • \( (\text{II}) \) 是正确与错误 Response 之间的负相互作用
    • 当 \( (\text{II}) \) 显著大于 \( (\text{I}) \) 时,正确Response的Likelihood增长受阻,即发生LLD
  • 错误 Response 中某个 Token \( k’ \) 的负梯度对正确 Response 的伤害程度正比于:
    $$
    \sum_{k=1}^{|y_i^+|} \alpha^-_{k,k’} \cdot \langle h_{y_i^+,<k}, h_{y_j^-,<k’} \rangle
    $$
    • 这意味着:错误 Response 中与正确 Response 语义相似的 Token(如关键推理词)最容易引发 LLD
      • 理解:相当于在打压正确 Response 中的 Token
LLD 样本识别:GWHES Score
  • 定义 Group Weighted Hidden Embedding Score(GWHES) :
    $$
    \Delta_{\text{GWHES} } = (\text{II}) - (\text{I})
    $$
  • 实验表明,GWHES 越高,Likelihood 变化越小
  • 注:论文中补充了 Top-K 重叠分析验证了 GWHES 在识别 LLD 样本上的有效性

Negative Token Hidden Reward (NTHR) 方法

  • NTHR 核心思想:
    • 不是简单丢弃整个错误 Response,而是 选择性降低对引发 LLD 的 Token 的惩罚
    • 这些 Token 通常是错误 Response 中“逻辑正确”或“步骤正确”的部分
NTHR 定义
  • 对于错误Response \( y_j^- \) 中的Token \( k’ \),定义其对正确 Response 的影响:
    $$
    s_{j,<k’}^- = \sum_{i=1}^{N^+} \sum_{k=1}^{|y_i^+|} \alpha^-{k,k’} \cdot \langle h\{y_i^+,<k}, h_{y_j^-,<k’} \rangle
    $$
    • 该值即为 NTHR
    • NTHR 值越大,表示该 Token 越容易引发 LLD
NTHR:选择性惩罚策略
  • 计算每个正确 Response 的平均自影响 \( \bar{s}_{i’}^+ \)
  • 设定阈值:
    $$
    \tau = \beta \cdot \min_{i’} \bar{s}_{i’}^+
    $$
  • 选择 NTHR 大于 \( \tau \) 的 Token 集合:
    $$
    V_j^- = \{ y_{j,k’}^- \mid s_{j,<k’} > \tau \}
    $$
  • 对这些 Token 的 Advantage 进行缩放:
    $$
    \hat{A}_{j,k’,\eta}^- = \eta \cdot \hat{A}_{j,k’}^-
    $$
    • 其中 \( \eta < 1 \),实验中取 \( \eta = 2 \cdot |0.5 - p| \)
NTHR 算法细节
  • 1)输入:正负 Response 的隐藏 Embedding、系数 \( \alpha \)、缩放因子 \( \eta, \beta \)
  • 2)计算每个正 Response 的 \( \bar{s}_{i’}^+ \)
  • 3)计算阈值 \( \tau \)
  • 4)对每个负 Response,选出 NTHR > \( \tau \) 的 Token
  • 5)将这些 Token 的 Advantage 乘以 \( \eta \)

实验

  • 实验设置
    • 模型:Qwen2.5系列(0.5B, 1.5B, 3B)、Deepseek-1.5B
    • 训练数据:MATH(Level 3-5)、DeepScaler
    • 评测基准:AIME24, AMC, MATH500, Minerva, OlympiadBench
    • 基线:GRPO, Pos Only, GRPO+Random
主要结果
  • GRPO+NTHR 在所有样本上均显著提升正确 Response 的 Likelihood,优于 GRPO 和 GRPO+Random
    • Qwen2.5-Math-1.5B:NTHR 平均提升0.8%
    • Qwen2.5-0.5B-Ins:提升 1.1%
    • Qwen2.5-1.5B-Ins:提升 1.5%
    • Qwen2.5-3B:从 33.88% 提升至 36.30%
    • DeepScaler 上:NTHR 提升 1.8%
  • 消融实验
    • \(\beta\) 选择 :\(\beta=1\)效果最好,\(\beta=-\infty\)(惩罚所有 Token)性能下降
    • \(\eta\) 选择 :\(\eta = 2 \cdot |0.5-p|\) 最稳定

LR Scheduling Fixes Training-Inference Mismatch

  • 原始论文:(Length-Decay LR Scheduler)Beyond Precision: Training-Inference Mismatch is an Optimization Problem and Simple LR Scheduling Fixes It, 20260202, NUS & Fudan
  • 论文观点:训练-推理不匹配不是静态数值误差,而是与优化动态耦合的失败模式
    • 理解:本质应该理解为,不单单是训推不一致导致的问题,而是与训练动态相关的问题,但本质还是训推不一致导致的
  • 本文提出新方法:基于 response length 激增触发的 Length-Decay LR Scheduler
    • 注:论文证明了梯度误差随序列长度平方增长,长度激增是有效的预警信号
    • 理解:当模型快要出现问题时使用较小的学习率确实可以小步前进,让模型训练的更加稳定
  • 无需修改底层引擎,仅修改 LR Scheduling 即可集成到现有 RL 训练流程中

背景 & 问题

  • LLM 中 RL 训练过程极其脆弱,容易出现 “训练崩溃” 现象:训练奖励和验证准确率在尚未收敛时突然下降
  • 当前的研究已经将这一问题归因于 “训练-推理不匹配” ,即:
    • 训练阶段:使用分布式训练框架(如 FSDP、Megatron)
    • 推理阶段:使用高效推理引擎(如 vLLM、SGLang)
    • 由于浮点运算的非结合性、低精度格式(BF16/FP16)和硬件差异,两者在相同输入下会产生微小但不可忽略的数值差异
      • 这些差异在长序列和非线性模型中逐渐放大,最终导致优化不稳定

已有方法解决方案的缺点

重要性采样,IS
  • 从理论上看,可利用 IS 纠正训练-推理分布不一致:
    $$
    \nabla_{\theta}\mathcal{J}_{is}(\theta) = \mathbb{E}_{x\sim p_x,y\sim \mu_{\theta} }\left[\rho \cdot \nabla_{\theta}\log \pi_{\theta}(y|x)R(x,y)\right], \quad \rho = \frac{\pi_{\theta}(y|x)}{\mu_{\theta}(y|x)}
    $$
  • IS 修正方式有两种,Token-level 或 Sequence-level,他们都存在各自的问题:
    • Token-level IS :有偏
    • Sequence-level IS :方差大,尤其在长序列中
  • 此外,还引入了 Truncated IS (TIS) 和 Masked IS (MIS) :
    $$
    \begin{align}
    \nabla_{\theta}\mathcal{J}_{tis}(\theta) &= \mathbb{E}\left[\min(\rho, C)\nabla_{\theta}\log \pi_{\theta}(y|x)R(x,y)\right] \\
    \nabla_{\theta}\mathcal{J}_{mis}(\theta) &= \mathbb{E}\left[\rho \cdot \mathbb{I}(\rho \leq C)\nabla_{\theta}\log \pi_{\theta}(y|x)R(x,y)\right]
    \end{align}
    $$
  • 这些方法引入新的超参数 \(C\),重新引入偏差,且实验表明它们只能延长稳定训练窗口,无法彻底防止崩溃
其他工程手段
  • 方法一:使用 FP32 输出头
    • 提升输出头的精度(与训练精度对齐),注:此时模型主体仍使用 BF16/FP16
    • 这个方法最早提出在 MiniMax-M1 技术报告中
    • 理解:这里是 训练引擎和推理引擎都同时使用 FP32 输出头
  • 方法二:切换 BF16/FP16
    • 部分文章提到 推理从 BF16 切换为 FP16 可缓解精度导致的训推不一致问题
  • 方法三:其他手动对齐训练与推理实现
    • 参考蚂蚁百灵 Ring-Linear 的技术博客 (Ring-linear TR)Every Attention Matters: An Efficient Hybrid Architecture for Long-Context Reasoning, 20251023, Ling Team
  • 原论文观点(存疑):这些方法要么效果有限,要么缺乏通用性,且无法从根本上解决问题
    • 问题:这些方法才是从根本上解决问题吧,而且也有通用性

Insight 1:训练-推理不匹配是动态优化问题

  • 随着训练进行,梯度噪声和不匹配程度同步上升
    • 降低学习率可显著抑制不匹配带来的影响
  • 对于 N 个轨迹 \(\{\tau_i\}_{i=1}^N\),定义了一个 不匹配指标 \(\log \text{ppl_abs_diff}\):
    $$
    \log \text{ppl_abs_diff} = \frac{1}{N}\sum_{i=1}^{N}|\log \text{ppl}(\tau_i,\pi_{\theta}) - \log \text{ppl}(\tau_i,\mu_{\theta})|
    $$
    • log ppl (log perplexity) 的具体公式如下:
      $$
      \log \text{ppl}(\tau ,\pi_{\theta}) = -\sum_{t = 1}^{T}\log \pi_{\theta}(y_{t}|x,y_{< t})
      $$
      • 注:\(\log \text{ppl}(\tau ,\pi_{\theta})\) 的本质就是交叉熵
      • \(\tau = (x, y)\) 是一个完整的轨迹(trajectory)
      • \(x\):输入的 prompt
      • \(y = (y_1, y_2, …, y_T)\):模型生成的 response
    • 对于单个轨迹 \(\tau_i\),其 \(|\log \text{ppl}(\tau_i,\pi_{\theta}) - \log \text{ppl}(\tau_i,\mu_{\theta})|\) 衡量的是轨迹 \(\tau_i\) 中多个 Token 的联合概率分布 的对数 的差 的绝对值
  • 理解:\(\log \text{ppl_abs_diff}\) 衡量了训推不一致的程度,\(\log \text{ppl_abs_diff}\) 越大,训推不一致程度越高
  • 实验表明:当 \(\log \text{ppl_abs_diff}\) 指标急剧上升时,模型几乎同时崩溃

Insight 2:梯度噪声分析

  • 在 \(L\)-smooth 目标函数下,使用带偏梯度估计 \(\hat{g}_k = \nabla \mathcal{J} + \text{Bias} + \xi\) 的更新规则:
    $$
    \mathbb{E}[\mathcal{J}(\theta_{k+1})] - \mathcal{J}(\theta_k) \geq \underbrace{\eta \left(1 - \frac{L\eta}{2}\right)||\nabla \mathcal{J}||^2}_{\text{Term A: True Progress}} + \underbrace{\eta(1 - L\eta)\langle \nabla \mathcal{J}, \text{Bias}\rangle}_{\text{Term B: Bias Effect}} - \underbrace{\frac{L\eta^2}{2}[\text{Var} + |\text{Bias}|^2]}_{\text{Term C: Noise Penalty}}
    $$
    • 理解:这里 \(\mathbb{E}[\mathcal{J}(\theta_{k+1})] - \mathcal{J}(\theta_k)\) 表示的是本次更新(在 \(\theta_k\) 的基础上更新为 \(\theta_{k+1}\))后得到的目标函数的涨幅
      • 噪声项(Term C)越大,涨幅越低
    • 当学习率 \(\eta\) 很小时,噪声项(Term C)以 \(\eta^2\) 速度下降,快于信号项(Term A 和 Term B 都随 \(\eta\) 线性下降)
    • 因此 降低 LR 能有效抑制噪声影响 ,但全局降低会牺牲早期效率
    • 特别说明:这里的证明详情见原始论文附录 A

传统 LR Scheduler 的局限性

  • 传统 LR 调度(如 Cosine Annealing、Linear Decay)依赖于预定义的步数或 epoch,但在 RL for LLM 中:
    • 最优训练长度不可预知
    • 训练崩溃时间与数据集大小非线性相关(实验表明,即使只用 2.5% 数据,崩溃仍会在类似步数发生)
      • 理解:崩溃步数是相对确定的,跟数据量级关系不大
  • 本文观点:需要一种反应式、由内部信号触发的 LR 调度器

本文方法:Length-Decay LR Scheduler

  • 核心思路
    • 保持初始 LR 以促进探索
    • 一旦检测到潜在不稳定性信号,触发 LR 衰减
    • 衰减策略:每 decay_period 步将 LR 减半,直到下限(默认 \(0.1 \times \eta_0\))
  • 触发信号:平均 Response Length
    • 观察:在训练崩溃前,平均 response length 会出现“激增”(如从 1000 激增至 4000 token)
    • 这一现象与 RL 训练中的不稳定密切相关
    • 平均 Response Length 作为触发信号的理论支持:梯度误差界随长度平方增长(定理 3.1 )
      $$
      ||\nabla_{\theta}\mathcal{J}_{\text{actual} }(\theta) - \nabla_{\theta}\mathcal{J}(\theta)||_2 \leq C \cdot T^2
      $$
      • \(T\) 为序列长度
      • \(C = 2B\Delta_{\text{max} }\)
        • \(\Delta_{\text{max} }\) 为单 token 分布漂移上界
        • \(B\) 为 score function 的界
    • 证明基于:
      • Lemma B.4 :将序列级梯度转换为 token 级
      • Lemma B.5 :状态占用分布的 \(L_1\) 距离随时间线性增长:\(\delta_t \leq 2t\Delta_{\text{max} }\)
    • 最终误差界为 \(O(T^2)\),说明 长度激增会显著放大梯度误差
  • 衰减周期选择建议:
    $$
    \text{decay_period} = 1.8 \times \text{ time of the response length surge}
    $$
    • 对于 Qwen3-4B:surge 在 110 步,decay_period = 204
      • 注:110 * 1.8 = 198
    • 对于 Qwen3-8B:surge 在 90 步,decay_period = 160
      • 注:90 * 1.8 = 162
    • 实验表明,epoch 对齐的 decay(如 204 步)在 8B 模型上会导致性能下降,而基于长度激增的启发式更稳健

实验

  • 实验设置
    • 模型:Qwen3-4B-Base、Qwen3-8B-Base
    • 数据集:DAPO(~13k 样本)
    • 框架:VeRL
    • 初始 LR = 1e-6
    • batch size = 64
    • 训练引擎:FSDP
    • 推理引擎:vLLM
主要结果
  • 稳定性与性能提升
    • 使用 Length-Decay LR Scheduler 后,训练奖励和验证准确率显著提升
    • 梯度范数和不匹配指标保持在安全范围
    • 策略熵更高,避免过早模式崩溃
  • 衰减周期选择验证
    • 4B 模型:decay_period = 204 最优
    • 8B 模型:decay_period = 160 最优(≈1.8 × 90)
    • epoch 对齐(204)在 8B 上失败
  • 与 IS 方法的兼容性
    • MIS 无法防止崩溃,但加上 LR scheduler 后稳定
    • TIS 能防止崩溃,但加上 LR scheduler 后准确率更高、不匹配指标更平稳
    • 表明 IS 和 LR 调度在优化中扮演互补角色
  • 与 FP16 的对比
    • FP16 仍会出现类似 BF16 的崩溃
    • LR scheduler 在 FP16 下同样有效
    • 说明问题不仅来自精度,而是 动态优化失败

PRIME(Process Reinforcement through IMplicit rEwards)

  • 原始论文:(PRIME)PROCESS REINFORCEMENT THROUGH IMPLICIT REWARDS, 20250926, Shanghai AI Lab & THU

背景 & 问题提出

  • 在 online RL 中,高效获取和利用过程奖励的主要挑战包括
  • C1:过程奖励难以定义
    • 中间步骤的标签难以标注,且某些错误步骤仍可能对最终答案有正面贡献(如剪枝)
  • C2:PRM 在线更新不可扩展
    • 训练过程奖励模型(PRM)需要大量细粒度的步骤级标注,无法在在线 RL 中高效更新,容易导致奖励过优化(reward hacking)
  • C3:显式奖励建模成本高
    • 需要大量标注数据和额外训练开销,尤其对于 PRM 更为严重

PRIME 方法

  • PRIME 是一种 基于隐式过程奖励(Implicit Process Reward)的可扩展在线 RL 框架 ,核心创新点包括:
    • 使用隐式 PRM ,仅需结果标签即可训练过程奖励模型
    • 支持 PRM 在线更新 ,缓解奖励过优化
    • 无需显式奖励建模阶段 ,直接从 SFT 模型或 Base 模型初始化 PRM
    • 兼容多种 RL 算法(RLOO、REINFORCE、GRPO、PPO)
Implicit Process Reward,隐式过程奖励
  • 隐式 PRM 的核心公式如下:
    $$
    r_{\phi}(y_t) := \beta \log \frac{\pi_{\phi}(y_t \mid y_{ < t})}{\pi_{\text{ref} }(y_t \mid y_{ < t})}
    $$
    • \( \pi_{\phi} \) 是奖励模型(也是一个因果语言模型)
    • \( \pi_{\text{ref} } \) 是参考模型(通常是初始 SFT 模型)
    • \( \beta \) 是温度超参数
  • 该公式使得 PRM 可以在只有结果标签的情况下训练,训练目标为交叉熵损失(CE loss):
    $$
    \mathcal{L}_{\text{CE} }(\phi) = -\mathbb{E}_{(\mathbf{x}, \mathbf{y}, r_o(\mathbf{y}))} \left[ r_o(\mathbf{y}) \cdot \log \sigma(r_{\phi}(\mathbf{y})) + (1 - r_o(\mathbf{y})) \cdot \log(1 - \sigma(r_{\phi}(\mathbf{y}))) \right]
    $$
    • \( r_o(\mathbf{y}) \) 是结果奖励(如答案匹配或测试用例通过率)
PRIME 算法详细流程
  • 初始化
    • 策略模型 \( \pi_{\theta} \) 初始化为 SFT 模型或 Base 模型
    • 隐式 PRM \( \pi_{\phi} \) 初始化为同一模型
    • 参考模型 \( \pi_{\text{ref} } \) 固定为初始 SFT 模型
  • 在线 RL 迭代(每轮)
    • Step 1 采样(Rollout) :
      • 对每个 Prompt \( \mathbf{x} \),从 \( \pi_{\theta} \) 中采样 \( K \) 个 Response \( \{\mathbf{y}^1, \dots, \mathbf{y}^K\} \)
    • Step 2 结果奖励计算 :
      • 使用规则验证器(如数学答案匹配、代码测试用例通过率)计算 \( r_o(\mathbf{y}^i) \)
    • Step 3 在线 Prompt 过滤 :
      • 保留中等难度的 Prompt,平衡数据分布
    • Step 4 隐式过程奖励计算 :
      • 使用当前 \( \pi_{\phi} \) 和 \( \pi_{\text{ref} } \) 计算每个 Token 的过程奖励 \( r_{\phi}(y_t) \)
    • Step 5 更新隐式 PRM :
      • 使用 CE 损失在 \( (\mathbf{x}, \mathbf{y}, r_o(\mathbf{y})) \) 上更新 \( \pi_{\phi} \)
    • Step 6 优势估计(Advantage Estimation) :
      • 使用 leave-one-out(LOO)基线,结合过程奖励和结果奖励:
        $$
        A_t^{i} = \sum_{s=t}^{|\mathbf{y}^i|} \gamma^{s-t} \cdot \left[ r_{\phi}(y_s^i) - \frac{1}{K-1} \sum_{j \neq i} r_{\phi}(\mathbf{y}^j) \right] + r_o(\mathbf{y}^i) - \frac{1}{K-1} \sum_{j \neq i} r_o(\mathbf{y}^j)
        $$
    • Step 7 策略更新 (使用 PPO 的 clip 损失函数):
      $$
      L_{\text{CLIP} }(\theta) = \mathbb{E}_t \left[ \min \left( \frac{\pi_{\theta}(y_t \mid y_{ < t})}{\pi_{\theta_{\text{old} } }(y_t \mid y_{ < t})} A_t, \text{clip}\left( \frac{\pi_{\theta}(y_t \mid y_{ < t})}{\pi_{\theta_{\text{old} } }(y_t \mid y_{ < t})}, 1-\epsilon, 1+\epsilon \right) A_t \right) \right]
      $$
    • Step 8 更新旧策略参数 :
      $$ \theta_{\text{old} } \leftarrow \theta $$

ASPO

  • 原始论文:ASPO: Asymmetric Importance Sampling Policy Optimization, Kuaishou & THU, 20251007
  • 总体评价:
    • 本文声称重要性采样不重要(还做了实验),同时把正 Advantage Token 的重要性权重随便颠倒,推测会导致训练梯度不符合 On-policy,从而导致出现问题
    • 注:实验发现的不重要,其实是 Token-level 权重不如 Sequence-level 权重准确
      • 理解:在这个场景下,Sequence-level 权重此时是 Principled(详情见 NLP——LLM对齐微调-MiniRL 中的推导),只是方差比较大,使用 Token-level 的替代,并不是说明 Token-level 的不重要
      • 而且:Off-policy 下,Token-level IS 是 Sequence-level 的一阶近似,在策略 \(\pi_\theta\) 非常接近 \(\mu_{\theta_\text{old}}\) 时,两者几乎等价
      • 其实:在策略 \(\pi_\theta\) 非常接近 \(\mu_{\theta_\text{old}}\) 时,重要性采样确实几乎等于 1,这或许也是本文实验发现重要性采样不重要的原因

ASPO 大致思路总结

  • LLM RL 的 Outcome-Supervised RL (OSRL) paradigm 依赖于Token-level 裁剪机制,Token-level 裁剪机制导致了学习权重的错误分配
    • 正优势 Token 的重要性采样比率不匹配
      • 导致对正负 Token 的权重分配不平衡
      • 这种不匹配抑制了低概率 Token 的更新,同时过度放大了已经具有高概率的 Token
  • 本文提出了非对称重要性采样策略优化(ASPO)
    • 采用了一种简单有效的策略:翻转正优势 Token 的 IS 比率 ,使其更新方向与负 Token 的学习动态对齐
    • ASPO 还引入了一种软双裁剪机制来稳定极端更新,同时保持梯度流
    • 在编程和数学推理基准上的实验表明,ASPO 显著缓解了早熟收敛 ,提高了训练稳定性,并最终优于基于 GRPO 的强基线模型
  • 在 OSRL 中(样本在 Response-level 分组并归一化)不再按预期工作,反而充当了 Token-level 训练权重,决定每个 Token 对梯度更新的贡献程度
  • 重新审视该机制后发现一个惊人的不对称性:
    • 对于负优势 Token ,PPO-Clip 分配的权重符合期望的学习动态:
      • 随着 Token 概率增加而减小权重
      • 问题:当前策略 Token 概率大,IS 比值大,权重大(负权重,算作是小)
    • 对于正优势 Token ,行为相反 :
      • 在当前策略下概率越高的 Token 被赋予更大的权重,而概率低的 Token 被抑制
  • 这种权重不匹配扭曲了学习信号,导致对高置信度 Token 的过度更新和对弱 Token 的更新不足,进而引发熵崩溃 、过度重复 和早熟收敛
  • ASPO 翻转正优势 Token 的 IS 比率,确保当前策略下概率较低的 Token 获得更强的更新,而高置信度 Token 被降权
    • 问题:这会导致 IS 对 Off-policy 的修正功能失效吧,梯度反而是有偏的
  • ASPO 集成了软双裁剪机制 ,在不丢弃梯度的情况下约束极端比率
    • 实验证明 ASPO 能防止过拟合、实现更平滑稳定的训练,并显著提升最终性能
  • 本文主要贡献:
    • 1)识别了 GRPO 类 OSRL 方法中 Token-level 裁剪设计的根本缺陷:正优势 Token 的 IS 比率不匹配
    • 2)提出 ASPO:翻转正 Token 的 IS 比率,并应用软双裁剪来稳定训练同时保留梯度流
    • 3)提供实证证据,表明 ASPO 能缓解熵崩溃、提高优化稳定性,并在多个数学推理和编程基准上提升性能

ASPO 背景分析

PPO 裁剪及其改进
  • CISPO :提出保留被裁剪 Token 的梯度(软裁剪)
  • GSPO :采用序列级别的 IS 比率
重要性采样并不重要(存疑)
  • 核心动机:在 OSRL 中,每个 Token 的奖励因基于结果的优势估计而不准确
    • 如果每个 Token 的奖励已经不准确,那么使用 IS 权重进一步调整分布还有多重要?
实验验证
  • 原文作者比较了标准 GRPO(有 IS)和 GRPO without IS(所有 IS 权重固定为 1.0),结果发现:
    • 两者测试准确率差异极小(约 0.4 点)
    • 无 IS 的 GRPO 训练更平滑,熵、重复率、KL 散度等变化更缓慢
  • 个人理解:
    • 应该是 在策略 \(\pi_\theta\) 非常接近 \(\mu_{\theta_\text{old}}\) 时,重要性采样确实几乎等于 1 导致的
    • 熵变化慢的原因:
      • 原本概率大的 Token 在 Advantage 大于 0 时,需要继续提升 概率,这当然会导致熵降低
      • 现在:由于当前 Token 概率大的在分子变成了分母,会导致提升概率的幅度降低,从而缓解熵的降低
      • 问题:是否 IS 均值 普遍高于 1?本人实践发现几乎等于 1,微微高于 1,但有波动
分析
  • 熵下降主要由低熵的正优势 Token 驱动
    • 正样本的平均 IS 权重大于负样本,导致 GRPO 偏向拟合正样本而非抑制负样本,从而加速熵下降
    • 移除 IS 权重后,虽然学习速度变慢,但最终性能不受影响,甚至更稳定
  • 关键结论:
    • IS 在 LLM 的 GRPO 训练中几乎不扮演分布校正的角色,其实际作用是 Token-level 训练权重
    • 正样本的 IS 比率更高,导致熵下降
    • PPO-Clip 中的 Token 掩码机制是关键,IS 权重几乎没有实际影响

正Token的重要性采样比率是不匹配的

  • 重新思考 Token 裁剪的角色
    • IS 权重更像是 Token-level 训练权重,而不是分布校正项
    • 关键在于:正优势 Token 的权重分配方向是错误的
  • 概念验证
    • 负优势 Token(原文图3(a)):
      • 高概率 Token 权重小,低概率 Token 权重大 → 合理
    • 正优势 Token(原文图3(b)):
      • 高概率 Token 权重大,低概率 Token 权重小 → 不合理
    • 这导致模型过度更新已经高概率的 Token,忽视低概率但有潜力的 Token,最终陷入局部最优
      • 问题:没有理论依据啊,为什么 高概率 Token 权重应该小,低概率 Token 权重应该大?
  • 实验验证
    • 将正优势 Token 的 IS 权重替换为Response-level 平均 IS 权重 ,负 Token 保持不变:
      • 训练更平滑 :熵下降变慢,重复率和裁剪率增长放缓
      • 性能相当或更好 :后期训练中,修改版方法性能更稳定,pass@8指标更高
      • 探索性增强 :缓解了对正样本的过拟合,避免早熟收敛

ASPO 方法

Asymmetric Importance Sampling, AIS,非对称重要性采样
  • 前面已识别出正 Token 的 IS 权重不匹配问题及其导致的不稳定训练后果
  • 非对称重要性采样(AIS) 是一种针对裁剪和 IS 比率计算的简单而有效的方法
  • AIS 翻转正样本的权重,使其更新行为与负样本对齐
    • 换句话说,当前策略概率低于旧策略的 Token 应获得更高的学习权重,而概率更高的 Token 应获得较低的权重
    • 问题:无理论依据证明应该这样
  • 具体实现分为三个步骤:
步骤1:Token Masking,Token 掩码
  • 保留 GRPO 中的原始裁剪机制
  • 满足以下条件的 Token 的梯度将通过硬裁剪(hard clipping) 方式被掩码:
    • 1)\(r_t^i(\theta) < 1 - \epsilon_{\text{low} }\) 且 \(\hat{A}_t^i < 0\)
    • 2)\(r_t^i(\theta) > 1 + \epsilon_{\text{high} }\) 且 \(\hat{A}_t^i > 0\)
步骤2:Weight Flipping,权重翻转
  • 对于负优势 Token(\(\hat{A}_t^i < 0\)),AIS 比率与 GRPO 相同:\(\hat{r}_t^i = r_t^i\)
  • 对于正优势 Token(\(\hat{A}_t^i > 0\)),使用 IS 权重的倒数,AIS 比率计算为:
    $$\hat{r}_t^i = \frac{\color{red}{\pi_{\theta_{\text{old} } }(o_t^i \mid q, o_{ < t}^i)} \cdot \pi_{\theta}(o_t^i \mid q, o_{ < t}^i)}{\color{red}{\text{sg}(\pi_{\theta}^2(o_t^i \mid q, o_{ < t}^i))}}$$
    • 其中 \(\text{sg}(\cdot)\) 表示 Stop Gradient 操作
步骤3:Dual Clipping,双裁剪
  • 原始 PPO-Clip 通常使用双裁剪机制来处理 \(\hat{A} < 0\) 时极端比率导致的权重爆炸
  • 由于 ASPO 翻转了正样本的权重,极端情况转移到了 \(\hat{A} > 0\) 区域
    • 当使用 AIS 时,正样本 Token 也需要双裁剪
    • 该双裁剪采用软裁剪(soft clipping) 方式,即只裁剪值但保留梯度
    • 对于这些双裁剪的 Token,使用 CISPO 提出的软裁剪
ASPO Gradient Analysis
  • 原始 GRPO 的梯度:
    $$\nabla_{\theta}\mathcal{J}(\theta) = \mathbb{E}\left[\frac{1}{G}\sum_{i=1}^{G} \frac{\pi_{\theta}(o_t^i \mid q, o_{ < t}^i)}{\pi_{\theta_{\text{old} } }(o_t^i \mid q, o_{ < t}^i)} \nabla_{\theta}\log \pi_{\theta}(o_t^i \mid q, o_{ < t}^i) \hat{A}_t^i\right]$$
  • ASPO 的梯度:
    $$\nabla_{\theta}\mathcal{J}(\theta) = \mathbb{E}\left[\frac{1}{G}\sum_{i=1}^{G} \color{red}{\frac{\pi_{\theta_{\text{old} } }(o_t^i \mid q, o_{ < t}^i)}{\pi_{\theta}(o_t^i \mid q, o_{ < t}^i)}} \nabla_{\theta}\log \pi_{\theta}(o_t^i \mid q, o_{ < t}^i) \hat{A}_t^i\right]$$
  • ASPO vs GRPO 的关键区别 :
    • ASPO 的梯度与 \(\frac{1}{\pi_{\theta} }\) 正相关,即Token 概率越低,梯度越大 ,这正是本文作者期望的行为(注:但这不一定对)

RAGEN & StarPO

  • 原始论文:RAGEN: Understanding Self-Evolution in LLM Agents via Multi-Turn Reinforcement Learning, 20250526, Northwestern University & Microsoft
  • 整体总结:
    • 本文系统研究了如何通过 Multi-Turn RL 训练 LLM Agents ,使其在随机、多轮交互环境中实现自我演化
    • 注:传统 RL 方法(如 PPO、GRPO)主要针对单轮静态任务(如数学、代码生成),而 Agent 任务需要模型具备长期决策、记忆、适应环境反馈的能力
    • 论文提出了:
      • StarPO (State-Thinking-Actions-Reward Policy Optimization) :
        • 一个统一的 Trajectory-Level RL 框架
      • RAGEN :
        • 一个模块化系统,实现了 StarPO 的训练与评估流程
  • 通过在 Bandit、Sokoban、FrozenLake、WebShop 四个环境中的实验,本文揭示了三个核心发现和六个关键结论

方法详细介绍:StarPO 框架

MDP 形式化
  • 本文将 Agent 训练建模为 MDP :
    $$
    \mathcal{M} = \{S, A, P\}
    $$
    • \(S\):状态(观察序列或交互历史)
    • \(A\):动作(Token 序列),注:这里不再是单个 Token,而是一个完整的回复轮次(Token 序列)
    • \(P\):环境转移与奖励生成
    • 吐槽:不专业,MDP 应该是包含奖励的过程
  • 策略 \(\pi_{\theta}\) 在每个时间步 \(t\) 生成动作:
    $$
    a_t \sim \pi_{\theta}(\cdot | s_t, \tau_{ < t})
    $$
    • 理解:这里的时间步是一个完整的 Step,一个 Token 序列
  • 环境返回:
    $$
    (r_t, s_{t+1}) \sim P(\cdot | s_t, a_t)
    $$
  • 完整轨迹:
    $$
    \tau = \{s_0, a_0, r_0, \dots, s_K\}
    $$
StarPO 的核心设计思路
  • 传统方法:(如 PPO、GRPO)优化的是单轮输出
    $$
    J_{\text{Step} }(\theta) = \mathbb{E}_{x \sim D, y \sim \pi_{\theta}(\cdot|x)}[R(x, y)]
    $$
  • StarPO 优化的是整个轨迹的总奖励 :
    $$
    J_{\text{StarPO} }(\theta) = \mathbb{E}_{\mathcal{M}, \tau \sim \pi_{\theta} }[R(\tau)]
    $$
    • \(R(\tau)\) 是轨迹的累积奖励
结构化输出与 Rollout
  • 每一步,模型生成:
    $$
    a_t^T = \text{<think>} \dots \text{</think>} \text{<answer>} a_t \text{</answer>}
    $$
    • think 块:推理过程
    • answer 块:可执行动作
  • 完整轨迹:
    $$
    \tau = \{s_0, a_0^T, r_0, s_1, \dots, a_{K-1}^T, r_{K-1}, s_K\}
    $$
StarPO 优化策略(PPO / GRPO)
PPO(带 Critic)
  • 定义优势函数 \(A_{i,t}\),优化目标:
    $$
    J_{\text{PPO} }(\theta) = \frac{1}{G}\sum_{i=1}^{G}\frac{1}{|\tau_i|}\sum_{t=1}^{|\tau_i|}
    \min\left[
    \frac{\pi_{\theta}(\tau_{i,(t)}|\tau_{i,<t})}{\pi_{\text{old} }(\tau_{i,(t)}|\tau_{i,<t})} A_{i,t},
    \text{clip}\left(\frac{\pi_{\theta}(\tau_{i,(t)}|\tau_{i,<t})}{\pi_{\text{old} }(\tau_{i,(t)}|\tau_{i,<t})}, 1-\epsilon, 1+\epsilon\right) A_{i,t}
    \right]
    $$
GRPO(无 Critic)
  • 轨迹奖励归一化:
    $$
    \hat{A}_{i,t} = \frac{R(\tau_i) - \text{mean}(R(\tau_1), \dots, R(\tau_G))}{\text{std}(R(\tau_1), \dots, R(\tau_G))}
    $$
  • 优化目标类似,但使用 \(\hat{A}_{i,t}\)
RAGEN 系统
  • RAGEN 实现了完整的训练循环:
    • 多轮 Rollout 生成
    • 可插拔的 Reward 函数
    • 支持 On-Policy 和 Replay Buffer
    • 支持 PPO / GRPO 等算法
    • 提供稳定性监控指标(如 Reward Std、Entropy、Gradient Norm)

论文核心发现与 Insight

发现 1:Multi-Turn Agent RL 存在新的不稳定模式(Echo Trap)
  • Echo Trap :模型在训练后期反复使用相同的推理模板,导致 Reward 方差崩溃、Entropy 下降、Gradient Norm 激增
    • 示例:Bandit 任务中,早期模型会分析“Dragon 象征力量、Phoenix 象征重生”,后期模型只会输出“我选择 Dragon”
  • 理解:Echo Trap 是 Multi-Turn RL 中模型自我强化重复推理模板、丧失多样性和泛化能力的崩溃模式
    • 可通过 Reward 方差、Entropy 和 Gradient Norm 提前检测,并需要主动采样与梯度塑形来缓解

发现 2:Reward 标准差和 Entropy 是早期预警信号

  • Reward 标准差下降 → 即将崩溃
  • Gradient Norm 激增 → 不可逆崩溃
  • Entropy 异常波动 → 推理行为退化

发现 3:单轮 RL 方法不能直接用于 Multi-Turn Agent

  • PPO 比 GRPO 更稳定(因为 Critic 提供平滑信号),但在高随机性环境(FrozenLake)中 GRPO 更优

StarPO-S:稳定化变体

  • 针对上述不稳定性,提出 StarPO-S ,包含三个关键改进
改进一:基于不确定性的轨迹过滤
  • 定义轨迹级别的不确定性 :
    $$
    U(\pi_{\theta}, \mathcal{M}, s_0) = \text{Std}_{\tau \sim \pi_{\theta}(\cdot|s_0)}[R(\tau)]
    $$
  • 训练时,只保留 Reward 方差最高 的 \(p%\) 的 Prompt(如 25%)
    • 原理:不确定性高的样本信息量最大(Active Learning)
改进二:梯度塑形技术(来自 DAPO)
  • KL Term Removal :移除 KL 惩罚,鼓励探索
  • Clip-Higher (Asymmetric Clipping) :
    • \(\epsilon_{\text{high} } = 0.28\)
    • \(\epsilon_{\text{low} } = 0.2\)
    • 对高 Reward 轨迹更激进地学习

改进三:选择性 Response Mask 与 Bi-Level GAE

  • Response Mask:只对有效 Token 计算 Loss
  • Bi-Level GAE:在 Turn-level 和 Token-level 分别估计优势

Rollout 质量的影响因素

任务多样性(Task Diversity)
  • 固定 Batch 大小下,更多不同的 Prompt + 每个 Prompt 少量 Response(如 4 个)效果最好
  • 多个 Response 允许模型在同一状态下对比不同结果
交互粒度(Action Budget)
  • 每 Turn 允许 5~6 个动作最优
    • 太少:无法规划
    • 太多:引入噪声、延迟反馈
  • 问题:如何理解这里的 每个 Turn 的动作数?现在的建模方式下一个 Turn 应该只有一个动作吧?
Rollout 频率(Online-k)
  • Online-1 :每次更新都重新采样 Rollout,效果最好
  • \(k\) 越大 → 策略与数据越不匹配 → 性能下降

Reasoning 的演变与挑战

单轮任务中 Reasoning 有帮助
  • Bandit 任务中,带 think 的模型泛化能力更强(如 BanditRev 反常识奖励)
Multi-Turn 任务中 Reasoning 会退化
  • Sokoban 中,NoThink 变体性能与带 Reasoning 相当甚至更好
  • 推理长度随训练下降(见原文 Table 4)
原因:Reward 不够精细
  • 最终成功 Reward 无法区分“正确推理的成功”和“瞎蒙的成功”
  • 出现 Spurious Reasoning :模型输出错误推理但仍获高 Reward
  • 示例:Sokoban 中模型说“我要向右推箱子”,实际向上移动,却最终完成任务

实验

  • 环境:
    • Bandit :单轮、随机、语义符号
    • Sokoban :多轮、确定性、不可逆
    • FrozenLake :多轮、随机滑步
    • WebShop :多轮、自然语言、网页交互
  • 模型与训练
    • 主要使用 Qwen2.5-0.5B/3B/7B/72B
    • 每轮 8 个 Prompt,每个 16 条 Trajectory
    • 最多 5 Turn,每 Turn 最多 10 个动作
    • Entropy 系数 \(\beta = 0.001\),格式惩罚 \(-0.1\)
  • 评估指标
    • Success Rate
    • Rollout Entropy
    • In-Group Reward Variance
    • Response Length
    • Gradient Norm
  • PPO 在 FrozenLake 中的失败原因
    • 高随机性 → 价值函数难以学习 → Critic 不稳定
    • GRPO 无需 Critic,反而更稳定

SPRO

  • 原始论文:(SPRO)Self-Guided Process Reward Optimization with Redefined Step-wise Advantage for Process Reinforcement Learning, 20250703, Terminus Group & HKUST
  • 背景 & 问题提出:
    • 现有的 LLM 在推理任务(如数学、代码生成)中表现出色,主要得益于Process Reinforcement Learning (PRL)
      • 注:这一点存疑,PRL 的思路是:在 LLM 的推理过程中,对每一个中间步骤(token 或 step)提供奖励信号,而不仅仅在最终输出结束时提供奖励
    • 现有 PRL 方法存在以下三个关键问题:
      • 1)训练困难 :需要人工标注的 process-level 标签,缺乏可扩展性
      • 2)计算开销大 :引入额外的Process Reward Model (PRM) ,增加了 GPU 内存占用,降低了 training throughput
      • 3)扩展性差 :PRM 通常与 Monte Carlo Tree Search 或 reranking 结合使用,难以在 online RL 中扩展
  • 现有方法的问题
    • GRPO :只使用 outcome reward,忽略中间过程,学习效率低
    • PRIME :虽然引入了 implicit PRM,但仍依赖一个额外的 reward model \(\pi_\phi\),并且将所有 token-level rewards 归一化到一个 group,导致 advantage estimation 存在偏差
  • 本文提出一个无需 PRM、自监督、可扩展的 PRL 框架:Self-Guided Process Reward Optimization (SPRO)
  • SRPO 核心思想是:policy model 自身就可以提供 process reward ,无需额外训练 reward model

SPRO 背景知识

Token-Level MDP
  • 定义 Token-Level MDP 为:
    $$
    \mathcal{M} = (\mathcal{S}, \mathcal{A}, f, r, \rho)
    $$
    • \(\mathcal{A}\):token 词汇表
    • \(\mathcal{S}\):输入输出状态序列
    • \(\mathbf{s}_t = (\mathbf{x}, \mathbf{y}_{< t})\):prompt + 已生成 token
    • \(f(\mathbf{s}_t, \mathbf{a}_t) = \mathbf{s}_{t+1}\):状态转移
    • \(r(\mathbf{s}_t, \mathbf{a}_t)\):token-level reward
最大熵强化学习目标
  • 最大熵 RL 优化目标为:
    $$
    \max_{\pi_{\theta} } \mathbb{E}_{\mathbf{s}_0 \sim \rho, \mathbf{a}_t \sim \pi_{\theta} } \left[ \sum_{t=0}^T \left( r(\mathbf{s}_t, \mathbf{a}_t) + \beta \log \pi_{\text{ref} }(\mathbf{a}_t|\mathbf{s}_t) \right) + \beta \mathcal{H}(\pi_{\theta}) \right]
    $$
最优策略与 Reward 的关系
  • 通过 Bellman 方程推导出:
    $$
    r(\mathbf{s}_t, \mathbf{a}_t) + V^*(\mathbf{s}_{t+1}) - V^*(\mathbf{s}_t) = \beta \log \frac{\pi^*(\mathbf{a}_t|\mathbf{s}_t)}{\pi_{\text{ref} }(\mathbf{a}_t|\mathbf{s}_t)}
    $$
    • 这表明:reward 可以由最优策略和参考策略的 log-ratio 表示

SPRO 方法

自引导过程奖励
  • Proposition 1 :任何 LLM 都是某个 token-level MDP 中的最优 soft Q-function
  • 简要证明思路如下(详细证明过程见本节附录):
    • 设 \(\ell(\mathbf{a}_t|\mathbf{s}_t)\) 为 logits,定义 \(Q(\mathbf{s}_t, \mathbf{a}_t) = \beta \ell(\mathbf{a}_t|\mathbf{s}_t)\)
    • 则 \(\pi(\mathbf{a}_t|\mathbf{s}_t) = \text{softmax}(\ell) = e^{(Q - V)/\beta}\)
  • Proposition 1 告诉我们:policy model 自身就可以作为 reward model ,无需额外训练
重新定义 Step-Wise Advantage
Cumulative Process Reward (CPR)
  • 从前文已知最优策略与 Reward 的关系:
    $$
    r(\mathbf{s}_t, \mathbf{a}_t) + V^*(\mathbf{s}_{t+1}) - V^*(\mathbf{s}_t) = \beta \log \frac{\pi^*(\mathbf{a}_t|\mathbf{s}_t)}{\pi_{\text{ref} }(\mathbf{a}_t|\mathbf{s}_t)}
    $$
  • 对时间步 \(0\) 到 \(t\) 累加:
    $$
    \sum_{j=0}^t r(\mathbf{s}_j, \mathbf{a}_j) + V(\mathbf{s}_{t+1}) = V(\mathbf{s}_0) + \sum_{j=0}^t \beta \log \frac{\pi(\mathbf{a}_j|\mathbf{s}_j)}{\pi_{\text{ref} }(\mathbf{a}_j|\mathbf{s}_j)}
    $$
  • 定义 Cumulative Process Reward (CPR) 为:
    $$
    \mathcal{R}_t := \sum_{j=0}^t r(\mathbf{s}_j, \mathbf{a}_j) + V(\mathbf{s}_{t+1})
    $$
  • CPR 捕捉了从初始状态到当前 step 的累积过程奖励,利用了 LLM 的 masked attention 机制
    • 问题:这里指的 masked attention 机制就是计算时使用这个下三角的 Mask 矩阵可以实现这个累加过程的批量计算
Masked Step Advantage (MSA)
  • 对于同一 prompt 下的多个 response \(i\),定义:
    $$
    \text{MSA}_{i,t} := \mathcal{R}_{i,t} - b_t = \tilde{\mathcal{R} }_{i,t} - \text{mask_mean}(\{\tilde{\mathcal{R} }_{i,t}\})
    $$
    • 其中 \(b_t\) 是第 \(t\) 步所有 valid token 的平均值
  • MSA 实现了 strict per-step comparison,避免长度偏差
    • 理解:因为使用的的 \(b_t\) 是 第 \(t\) 步所有 valid token 的平均值
SPRO 的 Advantage 函数与目标函数
  • 最终 SPRO Advantage 函数为:
    $$
    A_{i,t} = \underbrace{\frac{r_o(\mathbf{y}_i) - \text{mean}(\{r_o(\mathbf{y}_i)\})}{\text{std}(\{r_o(\mathbf{y}_i)\})} }_{\text{GRPO outcome advantage} } + \underbrace{\left(\mathcal{R}_{i,t} - \text{mask_mean}(\{\mathcal{R}_{i,t}\})\right)}_{\text{MSA}_{i,t} }
    $$
  • 优化目标为:
    $$
    \mathcal{J}_{\text{SPRO} }(\theta) = \mathbb{E}_{\mathbf{x}, \{\mathbf{y}_i\} } \left[ \frac{1}{G} \sum_{i=1}^G \frac{|\mathbf{y}_i|}{\left|\mathbf{y}_i\right|} \min\left( \frac{\pi_\theta}{\pi_{\theta_{\text{old} } } } A_{i,t}, \text{CLIP}(\cdot, 1-\epsilon, 1+\epsilon) A_{i,t} \right) \right]
    $$

SPRO Training Pipeline

  • Step 1)初始化 :policy model \(\pi_\theta\) 和 reference model \(\pi_{\text{ref} }\) 从同一个 SFT 模型初始化
  • Step 2)采样 :对每个 prompt \(\mathbf{x} \in \mathcal{D}_b\) 采样 \(G\) 个 responses
  • Step 3)计算 outcome reward :使用 rule-based verifier
  • Step 4)计算 CPR 和 MSA :使用下面的公式
    • CPR:
      $$
      \mathcal{R}_t:= \sum_{j = 0}^{t}r(\mathbf{s}_j,\mathbf{a}_j) + V(\mathbf{s}_{t + 1}) = V(\mathbf{s}_0) + \sum_{j = 0}^{t}\beta \log \frac{\pi(\mathbf{a}_j|\mathbf{s}_j)}{\pi_{\text{ref} }(\mathbf{a}_j|\mathbf{s}_j)} \tag {11}
      $$
    • MSA:
      $$
      \text{MSA}_{i,t}:= \mathcal{R}_{i,t} - b_{t} = \tilde{\mathcal{R} }_{i,t} - \tilde{b}_{t} = \tilde{\mathcal{R} }_{i,t} - \text{mask_mean}(\{\tilde{\mathcal{R} }_{i,t}\}), \tag {12}
      $$
  • Step 5)计算 Advantage :使用
    $$
    A_{i,t} = \underbrace{\frac{r_o(\mathbf{y}_i) - \text{mean}(\{r_o(\mathbf{y}_i)\})}{\text{std}(\{r_o(\mathbf{y}_i)\})} }_{\text{GRPO with outcome rewards} } + \underbrace{\left(\mathcal{R}_{i,t} - \text{masked_mean}(\{\mathcal{R}_{i,t}\})\right)}_{\text{MSA}_{i,t} }, \tag {13}
    $$
  • Step 6)更新 policy :最大化以下目标,重复 \(\mu\) 次
    $$
    \begin{array}{rl} & {\mathcal{J}_{\text{SPRO} }(\theta) = \mathbb{E}_{\mathbf{x},\{\mathbf{y}_i\}_{i = 1}^G\sim \pi_{\theta_{\text{old} } }(\cdot |\mathbf{x})}\frac{1}{G}\sum_{i = 1}^{G}\frac{|\mathbf{y}_i|}{\left|\mathbf{y}_i\right|}\min}\ & {\qquad \left(\frac{\pi_{\theta}(\mathbf{y}_i,t\mid\mathbf{x},\mathbf{y}_{i}< t)}{\pi_{\theta_{\text{old} } }(\mathbf{y}_i,t\mid\mathbf{x},\mathbf{y}_{i}< t)} A_{i,t},\text{CLIP}\left(\frac{\pi_{\theta}(\mathbf{y}_i,t\mid\mathbf{x},\mathbf{y}_{i}< t)}{\pi_{\theta_{\text{old} } }(\mathbf{y}_i,t\mid\mathbf{x},\mathbf{y}_{i}< t)},1 - \epsilon ,1 + \epsilon\right)A_{i,t}\right)} \end{array} \tag {14}
    $$
  • Step 7)输出 :最终 policy model

实验

  • 基础模型与数据集
    • Base Model :Eurus-2-7B-SFT(基于 Qwen2.5-Math-7B-Base)
    • RL Dataset :Eurus-2-RL-Data(数学 + 编程任务)
    • Benchmarks :AMC, MATH-500, Olympiad-Bench, CodeForces, CodeContests
  • 资源与超参数
    • 硬件 :8× NVIDIA A800 80G
    • 框架 :veRL
    • Optimizer :AdamW,lr = \(1\times 10^{-6}\),cosine decay
    • Rollout :256 prompts,每个 prompt 采样 4 个 responses
    • Batch size :256,micro batch size = 16
    • KL coefficient :0,entropy coefficient = 0.001
  • 基线方法
    • vanilla GRPO :outcome-supervised RL
    • PRIME :process-supervised RL with implicit PRM
  • 主要实验结果
    • 准确率提升
      • 比 GRPO 高 17.5%
      • 比 PRIME 高 8.3%
    • 训练效率
      • GPU hours 仅为 GRPO 的 29% ,PRIME 的 15%
      • 每个 step 的计算时间更短(response 更短)
    • 熵稳定性
      • PRIME 在前 100 步 entropy 急剧下降
      • SPRO 的 entropy 上升至 0.35,保持高多样性,避免 reward hacking

深入分析

  • 高效推理轨迹
    • SPRO 将 response length 缩短约 1/3 ,同时准确率提升
    • 原因:MSA 提供了细粒度的 step-wise 反馈,鼓励 concise generation
  • 动作空间探索
    • SPRO 保持高 entropy,模型探索 rare but high-advantage actions
    • 这种探索机制直接贡献了 17.5% 的准确率提升
  • 适用于工业级 PRL
    • SPRO 不依赖额外 PRM,节省 GPU 内存
    • 适合大规模部署,scaling law 仍然有效

附录:证明 SPRO 论文中的 Proposition 1

  • Proposition 1 构成了 SPRO 框架的理论基石,证明了 policy model 自身可以作为 process reward 的来源
  • Proposition 1 内容:
    • 任何 LLM 都是某个 token-level MDP 中的最优 soft Q-function,从而能够提供 token-level credit assignment
    • 特别地,在下游任务上表现越强的 LLM,其 credit assignment 越准确
步骤 1:符号定义
  • \(\pi\) 为任意给定的 LLM policy
  • \(\ell(\mathbf{a}_t | \mathbf{s}_t)\) 为该 LLM 在状态 \(\mathbf{s}_t\) 下输出 token \(\mathbf{a}_t\) 的 logits(未归一化的概率)
  • \(\mathcal{A}\) 为 token 词汇表
  • \(\beta > 0\) 为温度参数
步骤 2:构造 Q-function
  • 定义 soft Q-function 为 logits 的缩放版本:
    $$
    Q(\mathbf{s}_t, \mathbf{a}_t) := \beta \cdot \ell(\mathbf{a}_t | \mathbf{s}_t)
    $$
  • 这个定义是合理的,因为 Q-function 应该反映在状态 \(\mathbf{s}_t\) 下采取动作 \(\mathbf{a}_t\) 的预期总回报
  • logits 本身已经编码了模型对该动作的相对偏好
步骤 3:构造 Value function
  • 根据 soft Q-learning 的理论,value function 应该满足:
    $$
    V(\mathbf{s}_t) = \beta \log \sum_{\mathbf{a} \in \mathcal{A} } e^{Q(\mathbf{s}_t, \mathbf{a}) / \beta}
    $$
  • 代入 Q 的定义:
    $$
    V(\mathbf{s}_t) = \beta \log \sum_{\mathbf{a} \in \mathcal{A} } e^{\beta \ell(\mathbf{a} | \mathbf{s}_t) / \beta} = \beta \log \sum_{\mathbf{a} \in \mathcal{A} } e^{\ell(\mathbf{a} | \mathbf{s}_t)}
    $$
  • 定义 partition function(配分函数)为:
    $$
    Z(\mathbf{s}_t) := \sum_{\mathbf{a} \in \mathcal{A} } e^{\ell(\mathbf{a} | \mathbf{s}_t)}
    $$
  • 则:
    $$
    V(\mathbf{s}_t) = \beta \log Z(\mathbf{s}_t)
    $$
步骤 4:验证 softmax 关系
  • LLM 的输出概率是通过 softmax 函数计算的:
    $$
    \pi(\mathbf{a}_t | \mathbf{s}_t) = \text{softmax}(\ell(\mathbf{a}_t | \mathbf{s}_t)) = \frac{e^{\ell(\mathbf{a}_t | \mathbf{s}_t)} }{\sum_{\mathbf{a} \in \mathcal{A} } e^{\ell(\mathbf{a} | \mathbf{s}_t)} }
    $$
  • 利用步骤 2 和步骤 3 的定义:
    $$
    \pi(\mathbf{a}_t | \mathbf{s}_t) = \frac{e^{\ell(\mathbf{a}_t | \mathbf{s}_t)} }{Z(\mathbf{s}_t)} = \frac{e^{Q(\mathbf{s}_t, \mathbf{a}_t) / \beta} }{e^{V(\mathbf{s}_t) / \beta} } = e^{(Q(\mathbf{s}_t, \mathbf{a}_t) - V(\mathbf{s}_t)) / \beta}
    $$
  • 这正是最大熵强化学习中最优策略的形式(参见论文 Eq. (2)):
    $$
    \pi^*(\mathbf{a}_t | \mathbf{s}_t) = e^{(Q^*(\mathbf{s}_t, \mathbf{a}_t) - V^*(\mathbf{s}_t)) / \beta}
    $$
步骤 5:建立等价性
  • 由于上面构造的 \(\pi, Q, V\) 满足原始论文 Eq. (2) 的关系,根据最大熵 RL 的理论,\(\pi\) 是相对于某个 reward function 的最优策略,而 \(Q\) 是对应的最优 soft Q-function
  • 具体来说,根据原始论文 Eq. (6) 的逆关系,存在下面的 reward function(使得 \(\pi\) 成为该 reward function 下的最优策略)
    $$
    r(\mathbf{s}_t, \mathbf{a}_t) = \beta \log \frac{\pi(\mathbf{a}_t | \mathbf{s}_t)}{\pi_{\text{ref} }(\mathbf{a}_t | \mathbf{s}_t)} + V(\mathbf{s}_t) - V(\mathbf{s}_{t+1})
    $$
步骤 6:性能与 credit assignment 质量的关系
  • 如果 LLM \(\pi_1\) 在下游任务上的表现优于 \(\pi_2\),意味着 \(\pi_1\) 更接近真正的最优策略 \(\pi^*\)
  • 由 Eq. (6) 可知:
    $$
    r(\mathbf{s}_t, \mathbf{a}_t) = \beta \log \frac{\pi^*(\mathbf{a}_t | \mathbf{s}_t)}{\pi_{\text{ref} }(\mathbf{a}_t | \mathbf{s}_t)} + V^*(\mathbf{s}_t) - V^*(\mathbf{s}_{t+1})
    $$
  • 因此,\(\pi_1\) 作为 \(\pi^*\) 的更优近似,其隐含的 reward function 也更准确,从而提供更精确的 token-level credit assignment

EvalBiasBench(OffsetBias)

  • 原始论文:(EvalBiasBench)OffsetBias: Leveraging Debiased Data for Tuning Evaluators, EMNLP 2024, NC Research
  • 本文首先识别了六种常见的评估 Bias ,构建了名为 EvalBiasBench 的元评估基准,然后提出了一种构造去偏数据的方法,生成了 OffsetBias 偏好数据集
    • 在该数据集上微调的 Judge Model 在多个评估基准上显著提升了鲁棒性和准确性
  • 背景 & 问题提出
    • 使用 LLM 评估生成文本质量(如 GPT-4)已成为主流方法,因其与人类评估高度相关
    • 为降低成本和提高可复现性,研究者开始微调开源模型作为 Judge Model(如 Prometheus、AutoJ、PandaLM)
    • 关键问题 :Judge Model 存在多种 Bias ,例如偏好更长、更具体、更熟悉的回答,而忽视实际正确性
    • 现有研究对 Bias 的具体类型和应对方法探索不足,本文提出系统性识别与缓解 Bias 的方法

六种 Bias 类型的识别

  • 通过以下步骤识别 Bias 类型(最终识别出 6 种 Bias ):
    • 1)在多个元评估基准上测试多种 Judge Model(GPT-4、GPT-3.5、Llama-3、Prometheus2、AutoJ 等)
    • 2)分析错误案例,提出 Bias 假设
    • 3)构造或收集新的测试用例验证假设
    • 4)若多个模型在特定模式上表现持续下降,则确认该 Bias 类型
  • Type 1. Length Bias
    • 模型倾向于选择更长的回答,即使其质量较低或偏离指令
  • Type 2. Concreteness Bias
    • 模型更信任包含具体细节(如数字、术语、权威引用)的回答
  • Type 3. Empty Reference Bias
    • 当指令不完整(如要求摘要但未提供文本),模型偏好幻觉式回答而非正确的不确定回应
  • Type 4. Content Continuation Bias
    • 模型偏好延续输入文本的故事式回答,而非严格遵循指令
  • Type 5. Nested Instruction Bias
    • 模型偏好处理指令中嵌套的子问题,而忽略主指令
  • Type 6. Familiar Knowledge Bias
    • 模型偏好常见知识(如成语、常识),而非精确满足指令的回答
其他 Bias (未纳入 EvalBiasBench)
  • Position Bias :回答顺序影响判断,论文通过 swap 测试和 agreement rate 进行评估

EvalBiasBench 基准构建

  • 包含 80 个测试用例 ,覆盖 6 种 Bias 类型
  • 构建过程:
    • 从 Bias 识别阶段收集失败案例
    • 经多位作者筛选、编辑、人工构造,确保正确与错误回答的可区分性
    • 为隔离长度影响,手动调整回答长度,使 bad / good 回答长度比不超过 2.0
      • 注:这里是基于原文图 3 的实验结果:长度比 > 2.0 时长度 Bias 显著,在小于等于 2 内都还好

OffsetBias 数据集构造方法(重点方法)

  • 目标:构造偏好三元组 \( (I, R_g, R_b) \)
    • 其中 \( R_b \) 包含严重错误,但在表面质量(如长度、具体性)上优于 \( R_g \),从而对抗 Judge Model 的 Bias
  • 评估时, \( R_b \) 是负样本, \( R_g \) 是正样本
  • 最终生成并过滤后 OffsetBias 数据集 包含 8,504 条数据
    • Off-topic:3,062
    • Erroneous:5,442(其中 1,044 来自 Claude-3,4,398 来自 GPT-4)
指令来源
  • 从 Alpaca、Ultrachat、Evol-Instruct、Flan 中采样指令
生成方法(两种方法同时使用,分别构建样本)
生成方法1:Off-topic Response Method
  • 设计思路 :
    • 利用 GPT-4 生成与原始指令 \( I \) 相似但不同的指令 \( I’ \)
    • 弱模型(GPT-3.5 或参考回答)生成 \( I \) 的正确回答 \( R_g \)
    • 强模型(GPT-4)生成 \( I’ \) 的候选回答 \( R_b \)
      • \( R_b \) 表面具体、合理,但实际与 \( I \) 无关,\(R_g\) 则不一定表面很好,但是很贴合原始问题 \(I\)
  • 流程:
    • 1)输入指令 \( I \)
    • 2)提示 GPT-4 生成相似但不同的指令 \( I’ \)( prompt 见附录 A.1.1)
    • 3)用 GPT-4 判断 \( I \) 与 \( I’ \) 是否有意义不同(附录 A.1.2)
    • 4)用弱模型生成 \( R_g \)(或使用原始数据集中的参考回答)
    • 5)用 GPT-4 生成 \( R_b \)
  • 理解:核心思路是负样本 \( R_b \) 表面具体、合理,但实际与 \( I \) 无关,\(R_g\) 则不一定表面很好,但是很贴合原始问题 \(I\)
  • 问题:这种使用强模型生成负样本的做法,数据过多后容易出现模型学到偏好(比如不喜欢强模型的偏好,喜欢弱模型的偏好)
生成方法2:Erroneous Response Method
  • 设计思路 :直接让 GPT-4 或 Claude-3 生成包含特定错误的回答,同时保持表面质量,错误类型包括:
    • include wrong fact(错误事实)
    • make incomplete response(不完整)
    • add irrelevant parts(添加无关内容)
    • omit necessary parts(遗漏必要内容)
    • deviate from instruction(偏离指令)
  • 流程 :
    • 1)对每种错误类型设计 one-shot prompt(附录 A.2)
    • 2)随机采样错误类型生成 \( R_b \)
    • 3)用 GPT-4 验证 \( R_b \) 是否确实错误(附录 A.2.6)
    • 4)\( R_g \) 采用数据集的参考回答或弱模型回答
难度过滤
  • 使用 Base-data model(Section 5.1)和 GPT-3.5 评估每个 \((I, R_g, R_b)\)
  • 若两者都判断正确,则视为“太简单”并丢弃
  • 过滤后保留约 40% 的生成实例

STAPO(Spurious-Token-Aware Policy Optimization)

  • 原始论文:STAPO: Stabilizing Reinforcement Learning for LLMs by Silencing Rare Spurious Tokens, THU & DiDi, 20260223
  • 个人评价:
    • 基本思路就是防止少数特殊 Token(低概率、低熵、低) 导致参数梯度更新太大,确实可以会让模型更新更稳定,有点 Make Sense
    • 问题1:引入了好几个超参,设置不好的话,可能会导致熵跌得很快
    • 问题2:思路上几乎完全杜绝了一些极小概率 Token 提升的机会,万一有的小概率 Token 就是很重要,且需要提升概率的,可能就限制住了
      • 若考虑到多次采样重复训练时,下次其他高概率 Token 可能会被打压,那也还好
    • 问题3:跟之前 RL 中想要 MaxEntropy 的 思路是相反的(如果允许提升这种小概率Token 的概率本可以增加熵)

问题提出 & 现有解决防范

  • LLM RL 核心问题:训练不稳定
    • 模型经常遭遇“后期性能崩溃”(late-stage performance collapse),从生成连贯的推理链突然退化为浅层、重复或无意义的输出模式
  • 现有工作主要从两个角度解决不稳定性,但均有缺陷:
    • 熵正则化方法 (如选择性正则化、样本增强、裁剪修改):容易导致熵振荡或过度膨胀,破坏推理连贯性
    • 梯度调制方法 (如优势重加权、概率整形):缺乏细粒度的 Token-level 诊断,无法区分低概率区域中有价值的探索与有害的噪声

本文核心发现:虚假/谬误 Token (Spurious Tokens)是训练不稳定的根源

  • 通过系统性分析 Token 更新的三个维度 ,发现了一个病态的更新机制
    • Token 概率(Token Probability)
    • 局部策略熵(Local Policy Entropy)
      • 注意:这里的熵是当前 Token 所在位置的策略分布的熵,如针对 Token \(\text{Token}_t\) 则熵为:
        $$\mathcal{H}(\pi(\cdot|x,y_{< t}))$$
        • 高熵 :分布非常平坦,很多 Token 的概率都差不多(比如都是 0.001),此时,任何一个 Token 的概率都很低
        • 低熵 :分布非常尖锐,一个或极少数 Token 的概率很高(比如 0.99),其他所有 Token 的概率都极低
    • 优势符号(Advantage Sign)
  • 核心发现 :
    • Token-level 策略梯度的幅度与 Token 概率及局部策略熵呈负相关
    • 仅有约 \(0.01%\) 的极少数 Token (称为“Spurious Token”)会导致训练失控
      • 这些 Token 出现在正确响应 中,但对推理结果贡献极小,却由于序列级奖励分配而继承了完整的正向奖励,产生异常放大的梯度更新
理论依据
定理 3.1(策略梯度范数界限)
  • 针对目标 Token \(y_{i,t}\),关于 Logits \(\mathbf{a}\) 的梯度 \(\ell_2\) 范数满足:
    $$
    |w_{i,t}|^2\left(1 - 2\pi_{\theta}(y_{i,t}) + e^{-\mathcal{H}(\pi_{\theta})}\right) \leq | \nabla_{\mathbf{a} }\mathcal{J}(y_{i,t})|^2 \leq |w_{i,t}|^2\left(2 - 2\pi_{\theta}(y_{i,t}) - C_V\mathcal{H}(\pi_{\theta})^2\right)
    $$
    • \(\pi_{\theta}(y_{i,t})\) 是 Token 概率
    • \(\mathcal{H}(\pi_{\theta})\) 是策略熵
    • \(w_{i,t}\) 包含重要性采样比率与优势值
  • 含义理解 :梯度下界与 Token 概率和策略熵负相关
    • 因此:低概率且低熵的 Token 会导致异常大的梯度范数
  • 不同 Token 对熵和梯度的影响分析:
引理 3.2(熵更新机制)
  • 策略熵的变化与 Token 概率和优势的协方差近似相关:
    $$
    \mathcal{H}(\pi_{\theta_{k+1} }) - \mathcal{H}(\pi_{\theta_k}) \approx -\eta \cdot \text{Cov}\big(\log \pi_{\theta_k}(\cdot), \hat{A}_i\big)
    $$
引理 3.3(熵条件化学习潜力)
  • 低熵 Token :策略已高度自信,进一步更新收益有限
  • 高熵 Token :策略不确定,是有效学习的主要区域

Spurious Token 的定义

  • Spurious Token 是指那些对推理结果正确性贡献可忽略,但由于序列级奖励分配而获得不成比例的大正向更新的 Token
  • 特征 :
    • 低 Token 概率(Low Probability)
    • 低策略熵(Low Entropy)
    • 正优势(Positive Advantage)
  • 问题:低概率且低策略熵不代表不是重要的 Token 吧,万一就是要这个 Token 生成才能正确呢?
补充:Spurious Token 分析
  • 占比 :仅约 \(0.01%\),但影响巨大
  • 可视化 :
    * Spurious Token (Word Cloud):数字(4, 1, 2)、符号(\$)、过渡词(Wait, But, Since)
    * 正常 Token :Let, find, we, can 等推理结构词

方法详述:STAPO(Spurious-Token-Aware Policy Optimization)

  • STAPO 的核心思想是:不改变整体 RL 目标,而是在梯度更新时“静默”(Silence) Spurious Token 的梯度贡献
    • 这通过一个称为 S2T(Silencing Spurious Tokens)的机制实现
  • 设计流程遵循三步逻辑:
    • 1)识别 :检测同时满足低概率、低熵、正优势的 Token
    • 2)掩码 :对这些 Token 的梯度贡献进行抑制
    • 3)归一化调整 :损失归一化时仅考虑有效 Token ,避免因掩码导致的数值偏移
S2T 机制详述
  • 设 \(\mathbb{I}_{i,t}^{\text{S2T} }\) 为二进制掩码:
    $$
    \mathbb{I}_{i,t}^{\text{S2T} } =
    \begin{cases}
    0, & \text{if } \hat{A}_i > 0 ;\land; \pi_{\theta}(y_{i,t}) < \tau_p ;\land; \mathcal{H}(\pi_{\theta}(\cdot)) < \tau_h \\
    1, & \text{otherwise}
    \end{cases}
    $$
    • \(\tau_p\):概率阈值(固定绝对值,例如 \(0.002\))
    • \(\tau_h\):熵阈值(动态分位数,例如底部 \(80%\) 低熵 Token )
  • 问题:为什么要固定 \(\tau_p\) 而动态 \(\tau_h\)?
    • \(\tau_h\) 采用动态分位数,适应批次内不确定性分布
    • \(\tau_p\) 使用固定绝对值,避免按比例丢弃高概率合法 Token
STAPO 目标函数
  • STAPO 在 DAPO 目标基础上引入 S2T 掩码:
    $$
    \mathcal{I}_{\text{STAPO} }(\theta) = \mathbb{E}_{\mathbf{x}\sim \mathcal{D},\{\mathbf{y}_i\}_G\sim \pi_{\theta_{\text{old} } } } \left[ \frac{1}{\sum_{i=1}^G \sum_{t=1}^{|\mathbf{y}_i|} \mathbb{I}_{i,t}^{\text{S2T} } } \sum_{i=1}^G \sum_{t=1}^{|\mathbf{y}_i|} \mathbb{I}_{i,t}^{\text{S2T} } \cdot \min \left( \rho_{i,t}(\theta) \hat{A}_i, \ \text{clip}(\rho_{i,t}(\theta), 1-\epsilon_{\text{low} }, 1+\epsilon_{\text{high} }) \hat{A}_i \right) \right]
    $$
    • \(\rho_{i,t}(\theta) = \frac{\pi_{\theta}(y_{i,t})}{\pi_{\theta_{\text{old} } }(y_{i,t})}\)(重要性采样比率)
    • \(\hat{A}_i\) 是组归一化优势:
      $$
      \hat{A}_i = \frac{R(\mathbf{x}, \mathbf{y}_i) - \text{mean}(\{R(\mathbf{x}, \mathbf{y}_j)\}_{j=1}^G)}{\text{std}(\{R(\mathbf{x}, \mathbf{y}_j)\}_{j=1}^G)}
      $$
STAPO 算法流程(原文 Algorithm 1)
  • 原始算法:
  • 初始化 策略参数 \(\theta\)
  • 每次迭代 :
    • 同步旧策略 \(\theta_{\text{old} } \leftarrow \theta\)
    • 采样 prompts 并生成 \(G\) 个 Responses
    • 计算组内优势 \(\hat{A}_i\)
    • 对每个 mini-batch、每个 Response、每个 Token:
      • 获取 Token 概率 \(p_{i,t}\) 和局部熵 \(h_{i,t}\)
      • 若满足 \(\hat{A}_i > 0 \land p_{i,t} < \tau_p \land h_{i,t} < \tau_h\),则 \(\mathbb{I}_{i,t}^{\text{S2T} } = 0\),否则为 1
    • 使用 STAPO 目标更新 \(\theta\)
  • 返回 最终策略

实验

  • 实验设置
    • 模型 :Qwen3 1.7B、8B、14B Base
    • 基线 :GRPO、20-Entropy、JustRL
    • 训练数据 :DAPO-Math-17K
    • 硬件 :64 × NVIDIA H20
    • 超参数 :\(\tau_p = 0.002\),\(\tau_h = 80%\)(掩码底部 80% 低熵 Token ),Batch Size=256,Learning Rate=1e-6
  • 训练观察:
    • GRPO:熵崩溃(Entropy Collapse)
    • 20-Entropy & JustRL:熵爆炸(Entropy Explosion)
    • STAPO :策略熵保持稳定且适度,训练奖励最高,AIME24 验证准确率持续提升
  • 结果:STAPO 在所有模型规模和评估配置下均一致优于基线,尤其在训练对齐配置(高温度采样)下优势显著
  • 消融与参数敏感性分析
    • 概率阈值 \(\tau_p\) :过大会显著降低性能,说明过滤需保持高度选择性
    • 熵阈值 \(\tau_h\) :较低(掩码更多低熵 Token )更好,过宽容许更多有害更新
    • 掩码策略对比 :
      • 仅概率掩码:性能下降
      • 高熵 + 低概率掩码:大模型尚可,小模型崩溃
      • 低熵 + 低概率 + 正优势(STAPO) :唯一在所有规模上持续提升的方法

T\(^2\)PO,T2PO

  • 原始论文:(T\(^2\)PO)T2PO: Uncertainty-Guided Exploration Control for Stable Multi-Turn Agentic Reinforcement Learning, ICML 2026, 20260404, Amazon
  • 个人理解:如果把传统多轮 RL 训练比作模型在做复杂决策时“越想越多、越说越乱、最后崩溃”的过程,那么 T\(^2\)PO 就像是一个智能的“思考监理”:
    • 当模型开始反复念叨同一句话(Token 级 Hesitation)时,TTI 会温和但坚定地打断他,让他尽快行动
    • 当模型上一轮已经失败、这一轮又说同样的话(Turn 级 Hesitation)时,TDS 会让他重新想一下再说
    • 最终,模型不仅做得更好(Success Rate 提升),而且做得更快(Token/Turn 效率提升),训练过程也更稳定(方差降低)

问题背景:多轮 Agentic RL 的现状、挑战与已有解决方法

  • 在多轮 Agentic RL 中,一个 LLM 作为 Agent 与环境交互。每个任务从用户 Prompt \(q\) 开始,Agent 在每个 Turn \(k\) 中:
    • 接收当前状态 \(\mathbf{s}^k\)(环境反馈)
    • 生成一段推理(Thinking Tokens,通常用 <think> 包裹)和一个动作(Action Tokens,用 <action> 包裹)
    • 动作被执行后,环境返回奖励 \(r^k\) 和下一状态 \(\mathbf{s}^{k+1}\)
    • 整个过程持续最多 \(K\) 个 Turns,形成完整轨迹 \(\tau\)
多轮 Agentic RL 主要挑战
  • 当前多轮 Agentic RL 面临两个相互交织的挑战:
    • 有效性 :长时程交互 + 稀疏奖励 → Credit Assignment 极其困难
      • 理解:Agent 可能执行了上百个动作,但只有在最后才知道是否成功,且难以确定是哪个动作带来的成功
    • 效率 :Rollout 收集非常昂贵
      • 为了加速,常常使用低精度推理、异步采样等技术,但这些技术会引入 Off-Policy Drift 和 Stale Policy 效应 ,进一步放大训练不稳定性
        • Off-Policy Drift 是指:用于训练的数据分布与当前策略的真实数据分布之间的差异,随着时间推移而不断累积和扩大
        • Stale Policy 效应是指:当策略参数在 Learner 上已经更新了多次,但 Rollout Workers 仍然在使用较旧的策略版本来生成数据,这种“新旧版本之间的差距”对训练产生的负面影响
  • 这两种挑战的共同后果是:训练崩溃 (Training Collapse) :性能急剧下降或策略优化完全失败
已有方法的不足:为什么现有方案无法解决这个问题?
  • 本文梳理了当前主流的三类稳定化方法,均有根本缺陷
细粒度 Credit Assignment
  • 举例 :Feng 等 (2025) 的 GiGPO
  • 思路 :通过更精细地分配奖励到每个动作,提供更密集的学习信号
  • 不足 :仍然依赖外部的 Reward Shaping,无法解决 Agent 本身产生低信息量动作的问题
内部或过程奖励建模
  • 举例 :SEEDGRPO (Chen 等 2025), DeepConf (Fu 等 2025b)
  • 思路 :利用 Entropy、Confidence 等内部信号作为内在奖励
  • 不足 :这些方法使用单一尺度的启发式规则或静态的 Reward Shaping,缺乏跨 Token 和 Turn 两个层级的调节机制
轨迹级过滤
  • 举例 :SimpleTIR (Xue 等 2025), rStar2-Agent (Shang 等 2025), DAPO (Yu 等 2025)
  • 思路 :过滤掉包含无效 Turn 或质量低的轨迹
  • 不足 :这些方法要么在粗粒度(整个轨迹)上操作,要么需要外部过滤标准,不能动态调节推理内部的过程
核心问题总结
  • 几乎所有现有方法都没有解决“低效探索”这个根本原因
    • 这些方法试图通过 Reward Shaping 或过滤来“掩盖”问题,而不是让 Agent 主动停止产生低信息量的动作

核心 Insight:Hesitation(犹豫)是训练崩溃的根本原因

  • 作者识别出一种称为 Hesitation 的失败模式
    • 注:这里容易误解,因为这里的模式本身不是犹豫这个单词的含义,后面发现的两种模式也不似犹豫,更像是无意义的重复的行为或者 Token
  • 失败模式表现在两个层级:
    • Token 级别的 Hesitation (Overthinking)
      • LLM Agent 生成了非常长的 Thinking Token 序列
      • 信息增益快速饱和 → 继续生成几乎不带来新信息,但采样噪声持续累积
      • 浪费计算资源,增加策略梯度方差
    • Turn 级别的 Hesitation
      • Agent 在早期就偏离了成功动作空间,但仍然持续执行大量重复、无产出的 Turns
      • 反复执行相似但失败的动作序列,无法在有限的交互预算内恢复
      • 产生大量噪声,严重干扰 Credit Assignment,导致梯度不稳定、策略更新方差大
  • 核心论断:“Hesitation is defeat!” (犹豫就会败北)
    • 只要能够主动识别并在探索变得低效之前显式控制探索,就可以同时优化训练的有效性和效率

T\(^2\)PO 方法详解

  • T\(^2\)PO 的核心思想是:通过自校准的不确定性信号(Self-calibrated Uncertainty Signal),在 Token 和 Turn 两个层级上智能地控制探索过程
自校准的不确定性信号
  • 为什么不能用纯 Entropy 或纯 Confidence 作为自校准的不确定性信号?
    • Token Entropy:在大词表下,极端尖锐分布和中等分布之间的差异很小(例如 \(\log 2\)),区分度差
      $$H_t = -\sum_{i=1}^{V} p_t^{(i)} \log p_t^{(i)}$$
    • Token Confidence :只依赖 Top-1 Token 的概率,忽略了尾部概率质量的分布(两个不同的分布可能得到相同的 Confidence)
      $$ C_t = -\frac{1}{j}\sum_{i=1}^{j}\log p_t^{(i)}$$
  • 自校准信号 \(M_t\) 的设计
    • 首先归一化:
      $$
      \tilde{H}_t = \frac{H_t - H_{\min} }{H_{\max} - H_{\min} }, \quad
      \tilde{C}_t = \frac{C_t - C_{\min} }{C_{\max} - C_{\min} }
      $$
    • 然后融合:
      $$
      M_t = \alpha \tilde{H}_t + (1-\alpha)(1 - \tilde{C}_t), \quad \alpha \in [0,1]
      $$
  • \(M_t\) 的优势
    • 对比 \(C_t\) :\(M_t\) 的等高线不再是分段线性的,它保留了 Top-1 驱动的分层,同时在每个分层内引入曲率,可以区分具有相同 \(\max(p)\) 但不同残差分配的分布
    • 对比 \(H_t\) :\(M_t\) 的高不确定区域更接近存在主导类别的情况,同时保留了对尾部离散的敏感性
    • 图 3 展示了:Entropy 无法区分接近均匀分布的高不确定分布,Confidence 忽略尾部变化,而 \(M_t\) 能够区分它们
Token-Level Thinking Intervention (TTI)
  • TTI 设计思路:为什么不在不确定性峰值处截断?因为图 4(b) 显示,高不确定性 Token 通常分为两类:
    • 1)连接性或话语 Token :与推理过渡相关,可能对应“aha moment”
    • 2)任务特定 Token :如产品名、属性描述,包含必要语义信息
    • 如果在峰值处截断,很可能切掉任务特定 Token,反而损害探索
      • 因此 TTI 采用滑动窗口聚合来平滑局部波动,只在持续低不确定性时触发
  • TTI 触发条件计算
    • 定义每 Token 的变化量:
      $$
      \Delta_t^k = |M_t^k - M_{t-1}^k|
      $$
    • 当满足以下条件时,触发 Non-hesitation 事件:
      $$
      \frac{1}{N+1}\sum_{i=0}^{N} \Delta_{t-i}^k < \epsilon
      $$
      • \(N\) 是滑动窗口大小
      • \(\epsilon\) 是容忍阈值
  • 干预操作
    • 一旦触发(记为 \(t^*\)):
      • 1)在 \(t^*+1\) 步,通过 Logits Overwrite 强制输出 </think> Token:
        $$
        z_{t^*+1}(v) = \begin{cases}
        +\infty, & v = 151668 \ (\text{</think> 的 Token ID}) \\
        -\infty, & v \neq 151668
        \end{cases}
        $$
      • 2)随后强制注入固定 Token 队列 \(\mathcal{Q} = [, \backslash n, ]\),明确分离推理阶段和动作阶段
  • TTI 约束条件
    • 单次触发 :每轮生成只触发一次
    • 全局预算 :如果达到最大长度 \(L_{\max}\),也强制终止
Turn-Level Dynamical Sampling (TDS)
  • TDS 设计思路
    • 在多轮交互中,一旦 Agent 对环境的感知趋于稳定,它可能在不同 Turns 中反复产生语义相似的推理轨迹
    • TDS 通过比较连续 Turns 之间的不确定性模式来检测这种情况,并在必要时重新采样当前 Turn
  • Turn-Level 信号聚合
    • 将同一 Turn 内的所有 Token 级 \(M_t\) 做几何平均:
      $$
      \Phi^k = \left( \prod_{t=1}^{T} M_t \right)^{\frac{1}{T} }
      $$
      • 直觉 :\(\Phi^k\) 反映整个 Turn 的平均不确定性水平。它在 Agent 的信念或问题解决状态发生变化时会有较大变化
  • Turn 间变化检测
    $$
    \Gamma^k = |\Phi^k - \Phi^{k-1}|
    $$
    • 当 \(\Gamma^k < \eta\) 时(\(\eta\) 是 Turn 级阈值),认为当前 Turn 与上一 Turn 的不确定性模式过于相似,缺乏新信息
  • 动态采样规则
    $$
    \mathbf{a}_{n_{\text{new} } }^{k} \leftarrow
    \begin{cases}
    \text{Re-generate}(\mathbf{a}^k), & \text{if } \Gamma^k < \eta \\
    \mathbf{a}^k, & \text{otherwise}
    \end{cases}
    $$
  • 重复此过程直到 \(\Gamma^k \geq \eta\) 或达到最大重采样预算 \(B_{\max}\)
策略更新机制
  • Memory Context Window
    • 不将整个轨迹 \(\tau\) 直接拼接,而是只保留最近 \(P\) 个 Turns 的历史
      • 避免序列过长导致的计算和内存爆炸
  • 折扣回报 (Discounted Return)
    $$
    R(\tau^k) = \sum_{j=k}^K \beta^{j-k} r^j, \quad \beta \in (0,1)
    $$
    • 允许将终端奖励信号反向传播到早期决策
  • 分层优势估计
    • 全局优势 \(A(\tau_k^t)\):基于 GRPO 风格,在 \(G\) 个完整轨迹中做归一化
    • Turn-relative 优势 \(A^{\text{turn} }(\mathbf{a}_k^t)\):基于 GiGPO 风格,在相同状态锚点下做归一化
    • 融合优势 :
      $$
      A’(\mathbf{a}_k^t) = A(\tau_k^t) + \omega \cdot A^{\text{turn} }(\mathbf{a}_k^t)
      $$
  • 最终 Policy Loss
    $$
    \mathcal{J}(\theta) = \mathbb{E}\left[ \min\left( \rho_\theta(\mathbf{a}_k^t) A’(\mathbf{a}_k^t), \text{clip}(\rho_\theta(\mathbf{a}_k^t), 1\pm\epsilon) A’(\mathbf{a}_k^t) \right) \right] - \beta \mathbb{D}_{\text{KL} }(\pi_\theta | \pi_{\text{ref} })
    $$
    • 其中 \(\rho_\theta(\mathbf{a}_k^t) = \frac{\pi_\theta(\mathbf{a}_k^t | \cdot)}{\pi_{\text{old} }(\mathbf{a}_k^t | \cdot)}\)

辅助技术:RFT 与 Format Penalty

Rejective Fine-Tuning (RFT)
  • 目的 :冷启动,提供高质量行为先验
  • 方法 :用 Base Model 生成多轮轨迹,只保留奖励超过阈值的轨迹作为监督数据,进行 1-5 个 epoch 的 SFT
  • 效果 :显著减少早期训练中的畸形动作,提高指令遵循能力和输出格式准确性
Format Penalty
  • 问题 :Agent 经常输出缺少标签、标签重复或夹杂自然语言的内容
  • 解决方案 :
    • 严格格式验证 \(V_{\text{strict} }\):必须完全匹配 <think>...</think><action>...</action>
    • 宽松解析 \(V_{\text{relax} }\):只要存在 <action> 字段就提取
    • 格式惩罚:\(\lambda_{\text{fmt} } = 0.1\),违反时从奖励中扣除
  • 效果 :强制 Agent 生成结构化的输出,确保与环境正常交互

其他 Off-Policy Staleness 分析

  • 由于 Trajectory Decomposition(将完整轨迹拆分成单 Turns 优化)和 Pipelined 训练,存在策略滞后。论文给出了滞后的估计:
    $$
    \delta \approx \frac{B_{\text{rollout} } \cdot n \cdot \hat{K}_{\text{max} } }{B_{\text{update} } }
    $$
    • \(B_{\text{rollout} }\) 是 Rollout 批大小
    • \(n\) 是 Prompt 组大小
    • \(\hat{K}_{\text{max} }\) 是平均 Turn 数
    • \(B_{\text{update} }\) 是更新微批大小
  • 定义滞后比例 \(\rho_{\text{state} } = \frac{\delta}{1+\delta}\)
  • 实验表明(Table 6),即使在不同设置下,训练仍然稳定,说明 Off-Policy Staleness 在实际中影响不大

实验

  • 实验环境
    • WebShop:1.1M 产品,12k 指令,模拟购物
      • 指标:Task Score, Success Rate, Title Score 等
    • ALFWorld:6 类家务任务,3827 个实例
      • 指标:Success Rate
    • Search QA:单跳+多跳 QA(NQ, TriviaQA, HotpotQA 等)
      • 指标:Exact Match
  • Baselines
    • 闭源 LLM :GPT-4o, Gemini-2.5-Pro, Claude Sonnet 4
    • 单轮 RL :PPO, GRPO
    • 多轮 RL SOTA :GiGPO, GiGPO + DAPO
  • 主要结果
    • WebShop & ALFWorld(原文 Table 1)
      • T\(^2\)PO 在 WebShop 上 Success Rate 达到 81.64 (4B-RFT) 和 82.42 (8B-RFT)
      • 比 GiGPO + DAPO 提升约 8-12 个点
      • 方差显著更低 → 训练更稳定
    • Search QA(原文 Table 2)
      • 单跳 QA:T\(^2\)PO 全面领先
      • 多跳 QA:在 MuSiQue 上性能翻倍,2Wiki 和 Bamboogle 上显著提升
  • 消融实验 (原文 Table 3)
    • 无 RFT:Task Score 和 Success Rate 明显下降
    • 无 TTI:Success Rate 下降,冗余 Token 增加
    • 无 TDS:跨 Turn 重复推理增加,性能恶化

IGPO

  • 原始论文:(IGPO)Information Gain-based Policy Optimization: A Simple and Effective Approach for Multi-Turn Search Agents, 20251016 & 20260324 & ICLR 2026, Ant Group & RUC
  • Information Gain-based Policy Optimization (IGPO) 主要利用轨迹和模型自身的 信息增益概念,解决多轮长轨迹下的信用分配问题
    • 通过 turn-level 的信息增益奖励提供密集、内在的监督信号
    • IG 与 outcome rewards 结合,形成密集奖励信号
    • 理论分析表明 IGPO 能减少 multi-turn 中的 snowball error accumulation
  • 注: IGPO 依赖 ground-truth answer :IG 需要正确答案作为参照,不适合无法验证的任务(如创意生成)

背景 & 问题

  • 现有方法大多依赖于 outcome-based rewards ,仅在生成最终答案时才提供奖励信号
  • 关键问题识别:Outcome Rewards 的三个缺陷(在 multi-turn 场景中,轨迹较长,outcome rewards 会导致):
    • Advantage Collapse :当一组 rollouts 的最终答案相同时(如全对或全错),advantage 为零,梯度信号消失
    • 缺乏细粒度 Credit Assignment :中间步骤对最终结果的影响被掩盖,尤其在 long-horizon 任务中
    • 样本效率低下 :每条 rollout 只产生一个最终信号,大量中间信息被浪费

解决方案:IGPO

  • IGPO 核心设计思路:将多轮 Agent-环境交互建模为逐步获取关于 ground truth 信息的过程
    • 每一轮(turn)的奖励定义为当前策略对正确答案的 log 概率相对于上一轮的增量
  • 任务定义与符号
    • 数据集:\( \mathcal{D} = \{(q,a)\} \),\( q \) 为问题,\( a \) 为 ground-truth 答案
    • 环境工具:\( \mathcal{E} \)(如搜索引擎)
    • 一条 rollout:\( o = (\tau_1, \tau_2, \ldots, \tau_T) \),\( T \) 为 total turns
    • 最后一轮 \( \tau_T \) 为答案轮,输出 <answer> 内容
    • 前 \( T-1 \) 轮包括:think、tool call、tool response
    • 每次采样一个组的 Rollout:\(\{o_i\}_{i=1}^G\)
Information Gain Reward
  • 对于第 \( t \) 轮,ground-truth 答案 \( a = (a_1, \ldots, a_L) \) 的 log 概率为:
    $$
    \log \pi_{\theta}(a \mid q, o_{i, \leq t}) = \frac{1}{L} \sum_{j=1}^{L} \log \pi_{\theta}(a_j \mid q, o_{i, \leq t}, a_{ < j})
    $$
    • 注:其中 \(a_j\) 表示 ground-truth 的具体 Token
    • 理解:上述公式在表达,依靠当前轮次的 Rollout 结果(历史),生成最终 ground-truth 的概率
  • 则第 \( t \) 轮的信息增益奖励为:
    $$
    r_{i,t}^{\text{IG} } = \log \pi_{\theta}(a \mid q, o_{i, \leq t}) - \log \pi_{\theta}(a \mid q, o_{i, \leq t-1})
    $$
    • 理解:对 Rollout \(o_i = (o_{i,1}, o_{i,2}, \cdots, o_{i,T})\),来说,他每一轮 \(t\) 的信息增益 \(r_{i,t}^{\text{IG} }\) 为添加这一轮 \(o_{i,t}\) 后带来的成功的概率
  • Information Gain Reward 的特点
    • Ground-truth awareness :奖励模型对正确答案置信度的变化
    • Dense supervision :每轮都有信号,缓解 advantage collapse
    • Computational efficiency :通过向量化实现,仅需一次前向传播(Casual Mask 是现成的)
  • Information Gain Reward 的向量化高效实现
    • 将 \( T \) 份 ground-truth 答案拼接在轨迹末尾
    • 使用自定义 attention mask 限制每份答案只能看到对应轮次的状态
    • 一次前向传播计算所有轮的 log 概率,复杂度 \( \propto L_{T-1}^2 \)
    • 理论加速比 \( \approx T/3 \),例如 \( T=10 \) 时加速 3 倍
IGPO 奖励归一化与折扣回报
  • 对每组 rollouts 分别对 IG 奖励和 outcome 奖励进行 group-wise z-normalization:
    $$
    \tilde{r}_{i,t} =
    \begin{cases}
    \frac{r_{i,t}^{\text{IG} } - \mu_{\text{IG} } }{\sigma_{\text{IG} } }, & 1 \leq t < T \\
    \frac{r_{i}^{\text{O} } - \mu_{\text{O} } }{\sigma_{\text{O} } }, & t = T
    \end{cases}
    $$
    • \(\mu_{\text{IG} }, \sigma_{\text{O} }\) 是整个组内 IG 奖励集合 \(\{r_{i,t}^{\text{IG} }\}\) 的均值和方差
  • 然后计算 turn-level 折扣回报:
    $$
    \tilde{R}_{i,t} = \sum_{k=t}^{T} \gamma^{k-t} \tilde{r}_{i,k}
    $$
IGPO 策略优化目标
  • IGPO 采用 GRPO 风格的 clipped surrogate objective,但使用 turn-level 折扣回报:
    $$
    \begin{aligned}
    \mathcal{J}_{\text{IGPO} }(\theta) = \mathbb{E}_{(q,a)\sim \mathcal{D},\{o_i\} \sim \pi_{\theta_{\text{old} } }(\cdot|q)} \Bigg[ \frac{1}{G} \sum_{i=1}^{G} \frac{1}{|o_i|} \sum_{t=1}^{|o_i|} \min \Bigg( &\frac{\pi_{\theta}(o_{i,t} \mid q, o_{i,<t})}{\pi_{\theta_{\text{old} } }(o_{i,t} \mid q, o_{i,<t})} \tilde{R}_{i,t}, \\
    &\text{clip}\left( \frac{\pi_{\theta}(o_{i,t} \mid q, o_{i,<t})}{\pi_{\theta_{\text{old} } }(o_{i,t} \mid q, o_{i,<t})}, 1-\epsilon, 1+\epsilon \right) \tilde{R}_{i,t} \Bigg) - \beta \mathbb{D}_{\text{KL} }(\pi_{\theta} \parallel \pi_{\text{ref} }) \Bigg]
    \end{aligned}
    $$

附录:理论分析(Appendix A & B,待细看)

Snowball Error 定义
  • Snowball Error 定义为:
    $$
    \text{Ent}_{<T}(\mathcal{I} \mid \mathcal{R}) = \sum_{t=1}^{T-1} \text{Ent}(I_t \mid R_t)
    $$
  • 其中 \( I_t \) 为不可观测的抽象思考步骤,\( R_t \) 为 observable response
  • 注:Snowball Error(雪球误差/雪球错误),核心是:初始小错误,每步被放大,越长越偏,最终结果彻底错,像滚雪球一样越滚越大
最终错误率下界(Lemma A.2)
  • 下界:
    $$
    P(E_{\text{final} }) = \Omega\left( \frac{\text{Ent}_{<T}(\mathcal{I} \mid \mathcal{R})}{T-1} \right) - C_{\text{const} }
    $$
Process Reward 与 Snowball Error 的关系(Theorem A.4)
  • 假设:
    $$
    \mathbb{E}[R_{\text{process} }^{(t)} \mid I_t, R_t] \leq f(\text{Ent}(I_t \mid R_t))
    $$
  • 其中 \( f \) 为单调非增凸函数,则:
    $$
    \mathbb{E}[\text{Ent}_{<T}(\mathcal{I} \mid \mathcal{R})] = \mathcal{O}(1) - \Omega(R_{\text{total} })
    $$
  • 最大化 process reward 等价于最小化 snowball error 的上界,从而降低最终错误率

实验

  • 数据集
    • In-domain :NQ, TQ, HotpotQA, 2Wiki
    • Out-of-domain :Musique, Bamboogle, PopQA
  • 评估指标:word-level F1
  • 基线方法
    • Prompt-based:CoT, CoT+RAG, Search-o1
    • Outcome-reward RL:Search-r1, R1-searcher, DeepResearcher
    • Step-reward RL:StepSearch, ReasoningRAG, GiGPO
    • 其他 RL 算法:PPO, Reinforce++, RLOO, GRPO, GSPO
  • 实现细节
    • 模型:Qwen2.5-7B/3B-Instruct
    • 框架:verl
    • 每组采样 16 条 rollouts,32 个 prompts,最大 10 轮
    • 环境:Google Search API
    • 超参数见原论文表 4
主要实验结果
  • 总体性能(Table 1 & 2)
    • IGPO 平均 F1 = 60.2,显著高于 DeepResearcher(53.9)和 GRPO(51.9)
    • 在所有 7 个数据集上均取得最佳或次佳结果
    • IGPO 在所有 RL 算法中表现最优
  • 消融实验(Table 3)
    • 仅用 IG reward(w/ IG):性能仍优于 GRPO(w/ F1),说明无 reward hacking
    • 仅用 F1 reward:性能最差
    • 小模型(3B)提升更显著(+16.6),说明 IGPO 更适合弱模型
  • 训练动态(Figure 4)
    • IGPO 收敛更快、更稳定
    • IGPO 在所有数据集上持续优于 GRPO
  • 深入分析
    • 熵减(Figure 5) :IGPO 更显著降低 ground-truth 答案的不确定性
    • Token 效率(Figure 6) :IGPO 用更少的 token 获得更高的性能提升
    • 计算开销(Figure 7) :每步仅增加 <0.4% 的奖励计算时间,端到端 <0.02%

其他补充说明

  • 信息增益基与归一化策略(Table 5)
    • LogProb + Separate normalization 最佳
    • LogProb 比 Prob 更稳定,Separate 比 Joint 更有效
  • 与其他过程奖励方法的比较(Table 6)
    • IGPO 是唯一同时具备:On-Policy、无显式标注、无 Monte Carlo、无偏的方法
  • 虚假相关性分析(Table 8)
    • 使用 gemini-2.5-pro 从推理轨迹推断答案,IGPO 的轨迹更可靠
    • OOD 和 multi-hop 任务上 IGPO 提升更大,说明其缓解虚假相关性
  • 失败模式分析(Table 9,Figure 9)
    • 约 3.6% 的样本 IGPO 性能下降
    • 主要原因:ground-truth 歧义(如不同作品同名)
    • 模型输出正确但非 ground-truth 的答案时会被错误惩罚

T2TGPO (T\(^2\)TGPO)

  • 原始论文:A2TGPO: Agentic Turn-Group Policy Optimization with Adaptive Turn-level Clipping, 20260507, Tencent & CUHK
  • A2TGPO (Agentic Turn-Group Policy Optimization with Adaptive Turn-level Clipping) 方法主要针对 IGPO 进行优化
  • TLDR:A2TGPO 是一个面向 Agentic LLM 的 turn-level 策略优化方法 ,它通过:
    • Turn-group normalization 消除位置偏差
    • Variance-rescaled accumulation 均衡优势尺度
    • Adaptive turn-level clipping 调节更新强度

背景 & 问题

  • 现有 RL 方法通常仅依赖稀疏的 trajectory-level outcome reward(即最终答案是否正确)
    • 无法有效评估每一轮 tool-call 对最终答案的贡献
    • 这一问题被称为 process credit assignment
  • IGPO 核心思想是:
    • 利用模型自身在每一轮对 ground-truth answer 的预测概率变化,作为 intrinsic per-turn process signal(称为 Information Gain, IG),并重新设计其归一化、累积和消费方式,从而实现细粒度的过程信用分配,且不引入额外奖励模型或树结构搜索
  • IGPO 的问题:现有基于 IG 的方法(如 IGPO)存在三大系统性问题:
    • 1)归一化问题 :
      • 将所有轮次的 IG 值混合归一化(pooled normalization)
      • 忽略了不同轮次处于不同上下文状态的事实,导致早期轮次由于信息增益自然较大而被高估,后期轮次被低估
    • 2)累积优势尺度不一致 :
      • 使用折扣累积和作为优势函数时,累积项数目随轮次深度变化,导致浅层轮次的优势值远大于深层轮次,梯度信号不均衡
    • 3)固定裁剪范围 :
      • 对所有轮次使用相同的 PPO-style clipping range(如 \(\epsilon\)),无法根据每一轮的信息增益动态调整更新强度
  • 观察:turn-index 是一个天然的对齐单位 :
    • 在相同 prompt 和相同轮次索引下,不同 rollout 的上下文高度相似(如图1所示),这为 turn-group normalization 提供了实证基础

A2TGPO 方法详解

  • A2TGPO 的核心是三个组件,分别解决上述三个挑战
Turn-Group Normalization(解决归一化问题)
  • 设计思路:
    • 对于每个 prompt \(q\) 和每个 turn index \(t\),收集所有 rollout 在该轮次的 IG 值,构成一个 turn-group \(\mathcal{G}_{q,t}\)
    • 仅在组内进行 z-normalization,避免不同轮次之间的分布混淆
  • 公式:
    $$
    \begin{align}
    \mathcal{G}_{q,t} &= \{ \text{ig}_{i,t} \mid i = 1,\dots,G,\ t \leq T_i \} \\
    \hat{\text{ig} }_{i,t} &= \frac{\text{ig}_{i,t} - \text{mean}(\mathcal{G}_{q,t})}{\text{std}(\mathcal{G}_{q,t})}
    \end{align}
    $$
    • 如果 \(|\mathcal{G}_{q,t}| \leq 1\)(即该轮次没有足够 peer),则设 \(\hat{\text{ig} }_{i,t} = 0\)
  • 效果:
    • 消除位置偏差(positional bias),使每个轮次的信号仅与其同位置 peers 比较
    • 理论证明(Proposition 1 & Corollary 1)表明:
      • pooled normalization 会引入非零期望偏差,而 turn-group normalization 是无偏的
Variance-Rescaled Discounted Accumulation(解决尺度不一致)
  • 设计思路:
    • 累积从当前轮次 \(t\) 到最后一个 process turn(不含最终答案轮)的归一化 IG,得到 \(D_{i,t}\)
    • 为消除累积项数 \(n_{i,t} = T_i - t\) 对方差的影响,除以 \(\sqrt{n_{i,t} }\)
  • 公式:
    $$
    \begin{align}
    D_{i,t} &= \sum_{k=t}^{T_i - 1} \gamma^{k-t} \hat{\text{ig} }_{i,k},\quad n_{i,t} = T_i - t \\
    \text{Process advantage: } &\frac{D_{i,t} }{\sqrt{n_{i,t} } } \\
    \hat{A}_{i,t} &=
    \begin{cases}
    \frac{D_{i,t} }{\sqrt{n_{i,t} } } + \hat{R}_i, & 1 \leq t \leq T_i - 1 \\
    \hat{R}_i, & t = T_i
    \end{cases}
    \end{align}
    $$
    • 其中 \(\hat{R}_i\) 是 outcome reward 经过 GRPO-style per-prompt 归一化后的值
  • 效果:
    • 使得不同深度轮次的优势值方差近似一致(Proposition 2),避免浅层轮次主导梯度更新
    • 同时保留 outcome signal 来增强最终答案的导向性
IG-based Adaptive Turn-level Clipping(解决固定裁剪范围)
  • 设计思路:
    • 使用归一化后的 \(\hat{\text{ig} }_{i,t}\) 通过 sigmoid 函数映射到 \((1-\beta, 1+\beta)\),作为 clipping range 的缩放因子
    • 信息增益高的轮次获得更宽的 clipping range(允许更大更新),低增益轮次获得更窄的 clipping range(抑制更新)
  • 公式:
    $$
    c_{i,t} = 1 + \beta \left(2\sigma(\hat{\text{ig} }_{i,t}) - 1\right)
    $$
    • \(\sigma\) 是 logistic sigmoid,\(\beta \in [0,1)\) 控制最大缩放幅度
    • 有效 clipping bounds:\((c_{i,t} \epsilon_{\text{low} }, c_{i,t} \epsilon_{\text{high} })\)
  • Turn-level IS Ratio:
    $$
    s_{i,t}(\theta) = \exp\left(\frac{1}{|y_{i,t}|} \sum_{k=1}^{|y_{i,t}|} \log \frac{\pi_\theta(y_{i,t,k} \mid \cdot)}{\pi_{\theta_{\text{old} } }(y_{i,t,k} \mid \cdot)}\right)
    $$
  • 最终损失函数:
    $$
    \mathcal{L}_{\text{A2TGPO} }(\theta) = -\mathbb{E}_{q,\{\tau_i\} } \left[ \frac{1}{G} \sum_{i=1}^G \frac{1}{|M(\tau_i)|} \sum_{(t,k) \in M(\tau_i)} \min\left( s_{i,t}(\theta) \hat{A}_{i,t},\ \text{clip}(s_{i,t}(\theta), 1 - c_{i,t}\epsilon_{\text{low} }, 1 + c_{i,t}\epsilon_{\text{high} }) \hat{A}_{i,t} \right) \right]
    $$

A2TGPO 训练流程(Algorithm 1)

  • A2TGPO 的每一次迭代包含四个阶段:
    • Phase 1)Multi-turn Rollout Generation
      • 对每个 prompt 采样 \(G\) 条轨迹,每条轨迹包含若干轮次的 think / search / result / answer
    • Phase 2)Information Gain Computation
      • 对每个 process turn,计算 IG:
        $$
        \text{ig}_{i,t} = \pi_\theta(a \mid q, \tau_{i,\leq t}) - \pi_\theta(a \mid q, \tau_{i,\leq t-1})
        $$
    • Phase 3)Advantage Construction
      • Turn-group normalization
      • Discounted cumulative IG with variance rescaling
      • Add outcome advantage \(\hat{R}_i\)
    • Phase 4)Policy Update with Adaptive Turn-level Clipping
      • 计算 turn-level IS ratio \(s_{i,t}(\theta)\)
      • 计算 adaptive clip scale \(c_{i,t}\)
      • 最小化 \(\mathcal{L}_{\text{A2TGPO} }\)

实验

  • 实验设置
    • 任务 :开放域问答(Open-domain QA),分为多跳(HotpotQA, 2Wiki, MuSiQue, Bamboogle)和单跳(NQ, TriviaQA, PopQA)
    • Backbones :Qwen3-4B, Qwen3-8B, Qwen2.5-7B
    • Baselines :ReAct, GRPO, DAPO, GSPO, Tree-GRPO, GiGPO, IGPO, AEPO
  • 主要结果(Table 1)
    • A2TGPO 在所有 backbone 和数据集上平均优于现有 RL 方法
      • 多跳任务平均提升 +1.75
      • 单跳任务平均提升 +1.69
    • 尤其是在多跳任务中,A2TGPO 的优势更明显,说明长轨迹下细粒度信用分配更加重要
  • 消融实验(Table 2, Table 4)
    • 逐步添加三个组件:
      • 1)+ TG-Norm :提升明显,消除位置偏差
      • 2)+ variance rescaling :进一步稳定优势尺度
      • 3)+ adaptive clipping :最大增益,尤其在长轨迹任务中
    • 单跳任务中 adaptive clipping 贡献最大,因为轮次少,尺度校正作用有限
  • 训练动态分析(Figure 3, 4, 5)
    • Entropy 平衡 :A2TGPO 保持稳定的 entropy 水平,优于 RLVR 方法的 collapse 和 AEPO 的过度增长
    • Advantage 分布 :
      • IGPO 的优势值在深度上发散,均值和极值波动大
      • A2TGPO 的优势值在各轮次间保持稳定且集中
    • Advantage envelope :A2TGPO 的 min/max/mean 范围与 GRPO 相当,但保留了 process credit,实现了稳定与细粒度的统一
      • 注:Advantage Envelope 指的是 优势函数(Advantage Function)在训练过程中随步数变化的统计范围
      • 从原文 Figure 5 可以看出,Advantage Envelope 由三条曲线组成:
        • Advantage Minimum(下包络线):每步训练中所有 turn-level advantage 的最小值
        • Advantage Maximum(上包络线):每步训练中所有 turn-level advantage 的最大值
        • Advantage Mean(中轴线):每步训练中所有 turn-level advantage 的平均值
  • 计算开销(Figure 7)
    • 仅增加 IG 前向传播(+164s),但生成阶段更短(-86s),净开销仅 +2.9%
    • 原因:A2TGPO 学会更早终止,减少冗余 token 生成

附录:补充理论分析(Appendix D)

D.1 Positional Bias under Pooled Normalization(Proposition 1)
  • 证明 pooled normalization 下,期望归一化值非零,且依赖于轮到平均值与全局加权均值的差,产生系统性位置偏差
Unbiasedness of Turn-Group Normalization(Corollary 1)
  • 证明 turn-group normalization 下,期望为零,方差为 1,无位置偏差
Variance Homogeneity under \(\sqrt{n}\) Rescaling(Proposition 2)
  • 证明除以 \(\sqrt{n_{i,t} }\) 可使不同深度轮次优势的方差近似一致
Gradient Modulation under Adaptive Clipping
  • 分析 adaptive clipping 如何根据 \(\hat{\text{ig} }_{i,t}\) 调制裁剪范围,实现 per-turn trust region 调整

GKD

  • 原始论文:On-Policy Distillation of Language Models: Learning from Self-Generated Mistakes, 2024

背景 & 问题

  • 知识蒸馏(Knowledge Distillation, KD)是一种常用的模型压缩方法:用一个更大的教师模型(Teacher)训练一个更小的学生模型(Student),以降低推理成本和内存占用
  • 现有的 KD 方法在自回归(auto-regressive)序列模型中存在一个核心问题:训练-推理分布不匹配(train-inference distribution mismatch) ,这是因为:
    • 传统 KD 使用固定数据集(如教师生成或标注的数据)训练学生
    • 但在推理时,学生是自回归地生成序列,一旦前几步出现偏差,后续错误会被放大(类似于模仿学习中的“误差累积”)
    • 此外,学生模型的表达能力有限,无法完美拟合教师分布。使用传统的 forward KL 作为损失函数会导致学生生成教师不太可能生成的样本

核心方法:Generalized Knowledge Distillation (GKD)

  • GKD 核心思想:GKD 将 KD 视为一个模仿学习问题 ,其中教师扮演“交互式专家”(interactive expert)
    • 学生模型在训练过程中自己生成输出序列(self-generated sequences) ,即 on-policy 数据
    • 教师对这些学生的输出序列提供 token 级别的概率标签(logits)
    • 学生通过最小化与教师的分布差异来学习
  • 这种方法与现有 KD 方法的关键区别在于:训练数据不是固定的,而是随着学生模型的演化而更新

GKD 方法流程(算法 1)

  • GKD 的每次训练迭代如下:
    • 1)以概率 \(\lambda\) 决定使用 on-policy 数据还是固定数据集(如 ground-truth 或教师生成的数据)
    • 2)若使用 on-policy 数据:
      • 从输入 \(x \sim X\) 中采样,学生自回归生成输出序列 \(y \sim p_S^\theta(\cdot | x)\)
    • 3)若使用固定数据集:
      • 从 \((X, Y)\) 中采样输入-输出对
    • 4)计算教师与学生之间的 token 级别分布差异 \(\mathcal{D}(p_T | p_S^\theta)(y|x)\),并以此更新学生参数
      • 注意:这里是在 Student 下采样到的轨迹,计算每个 Token 的 KL 散度时使用教师模型在前的 KL 散度(Reverse KL)
    • 5)不反向传播通过学生的采样过程(保持训练稳定且计算高效)

GKD 目标函数

  • GKD 的目标函数为:
    $$
    L_{\text{GKD} }(\theta) = (1 - \lambda) \mathbb{E}_{(x,y) \sim (X,Y)} \left[ \mathcal{D}(p_T | p_S^\theta)(y|x) \right] + \lambda \mathbb{E}_{x \sim X} \left[ \mathbb{E}_{y \sim p_S^\theta(\cdot | x)} \left[ \mathcal{D}(p_T | p_S^\theta)(y|x) \right] \right]
    $$
    • \(\mathcal{D}\) 可以是任意 divergence,如 forward KL、reverse KL、Jensen-Shannon Divergence (JSD)
    • \(\lambda\) 控制 on-policy 数据的比例
  • Token 级别的 divergence 定义为:
    $$
    \mathcal{D}\big(p_T| p_S^\theta\big)(y|x) = \frac{1}{L_y} \sum_{n=1}^{L_y} \mathcal{D}\big(p_T(\cdot | y_{<n}, x) | p_S^\theta(\cdot | y_{<n}, x)\big)
    $$

支持的 Divergence

  • 论文中重点讨论了几种 divergence:
    • Forward KL :\(\mathcal{D}_{KL}(P | Q)\),模式覆盖(mode-covering),适用于学生表达能力足够时
      • 理解:学生表达能力足够(模型够大)的话,可以让学生去覆盖教师
    • Reverse KL :\(\mathcal{D}_{KL}(Q | P)\),模式寻求(mode-seeking),适用于学生容量有限时
      • 理解:学生表达能力有限时,需要让学生在自己分布的基础上微调自己,尽量减少分布变化
    • Generalized JSD :
      $$
      \mathcal{D}_{JSD(\beta)}(P | Q) = \beta \mathcal{D}_{KL}(P | \beta P + (1-\beta)Q) + (1-\beta) \mathcal{D}_{KL}(Q | \beta P + (1-\beta)Q)
      $$
      • 当 \(\beta \to 0\) 时接近 forward KL,\(\beta \to 1\) 时接近 reverse KL

其他核心观点:GKD + RL 微调

  • GKD 可以自然地与 RL 微调(如 RLHF 或 RLAIF)结合,目标函数为:
    $$
    \mathbb{E}_{x \sim X} \left[ (1 - \alpha) \underbrace{\mathbb{E}_{y \sim p_\theta(\cdot | x)}[r(y)]}_{\text{RL objective} } - \alpha \underbrace{\mathbb{E}_{y \sim p_\theta(\cdot | x)}[\mathcal{D}(p_T | p_\theta)(y|x)]}_{\text{GKD loss} } \right]
    $$
    • \(\alpha\) 控制蒸馏与 RL 的平衡
    • 这种方法可以在优化奖励(如减少幻觉)的同时,保持教师的知识

Uni-OPD

  • 原始论文:Uni-OPD: Unifying On-Policy Distillation with a Dual-Perspective Recipe, ZJH & Tencent, 20260505
  • Uni-OPD 明确指出了 OPD 的两大瓶颈,并揭示了可靠教师监督的核心在于 token 级指导的“顺序一致性”
    • 理解:比如正确轨迹可能有多条,教师只会给其中一条打高分,那么学生采样到这些正确轨迹的时候,教师可能会打压(同理,相似的错误轨迹可能会被教师鼓励)
  • Uni-OPD 通过一个双视角优化策略,系统性地解决了 OPD 中学生探索不足和教师监督不可靠两大瓶颈
    • 该框架在 LLM 和 MLLM 的多种蒸馏设置下均表现出优异的性能和通用性

背景 & 问题提出

  • SFT 和 RL 的问题:
    • SFT 的问题 :off-policy 性质会导致“暴露偏差”(exposure bias),即模型在推理时遇到未见的错误状态,错误会累积
    • RL 的问题 :如 GRPO 虽通过在线采样缓解了分布偏移,但依赖序列级或最终结果奖励,难以进行细粒度信用分配,长期训练不稳定
  • 现有 On-Policy Distillation (OPD) 的局限
    • OPD 结合了 RL 的 on-policy采样与 SFT 的 token 级监督,通过反向 KL 散度,让学生在自身生成的轨迹上学习教师模型的反馈
    • 现有研究局限于 LLM,对 MLLM 的探索仅限少数子任务
    • OPD 的根本问题未被充分理解 :什么条件下 OPD 能产生可靠提升?
    • 论文识别的两大瓶颈
      • 1)学生探索不足 :学生难以充分探索到信息丰富的状态(即多样且难度适中的 self-generated 轨迹)
      • 2)教师监督不可靠 :当教师的 token 级指导应用于学生 rollouts 时,其可靠性存疑
        • 特别是,当 token-level 指导的轨迹级聚合分数 与 最终结果奖励 的排序不一致时,监督会失效

Uni-OPD 方法详解

  • 总体设计思路:Uni-OPD 从一个统一的蒸馏目标出发,分别从学生和教师的角度进行优化:
    • 学生视角 :通过数据平衡策略,鼓励学生探索信息丰富的状态
    • 教师视角 :通过结果引导的边际校准机制,修复不可靠的 token 级监督信号
Vanilla OPD 介绍
  • 目标函数 :最小化学生策略 \( \pi_\theta \) 与教师策略 \( \pi_T \) 在 student 采样轨迹上的反向 KL 散度
    $$
    \mathcal{J}_{\text{OPD} }(\pmb {\theta}) = \min_{\pmb {\theta} }\mathbb{E}_{\pmb {q}\sim \mathcal{D},\pmb {\tau}\sim \pi_{\pmb{\theta} }(\cdot |\pmb {q})}\Big[\mathcal{D}_{\text{KL} }\Big(\pi_{\pmb{\theta} }(\pmb {\tau}|\pmb {q})\Big)\Big|\pi_{\text{T} }(\pmb {\tau}|\pmb {q})\Big)\Big]
    $$
  • Token-level 奖励 :OPD 的梯度可推导出 token 级的奖励信号,即教师与学生对数概率之差
    $$
    r_t^{\text{OPD} } = \log \pi_{\text{T} }(o_{t}\mid \pmb {q},\pmb{o}_{< t}) - \log \pi_{\pmb{\theta} }(o_{t}\mid \pmb {q},\pmb{o}_{< t})
    $$
  • 教师监督不靠谱的三种典型情况 :
    • OOD 退化 :学生进入教师分布外的区域,教师 logits 噪声大
    • 高估错误轨迹 :错误轨迹的局部 token 模式意外落在教师高置信区域
    • 低估正确轨迹 :正确轨迹偏离教师的优势区域,被错误压制
学生视角:联合离线与在线的数据平衡策略
  • 思路是确保学生生成的轨迹具有足够的多样性和适当的难度
学生视角1:离线难度感知数据平衡
  • 问题引入 :常见 RL 做法是过滤掉“过易”(全对)或“过难”(全错)的样本
    • 这会减少数据多样性,损害 OPD 性能
  • 发现 :训练数据的难度分布常呈镜像 J 型或 U 型
    • 中等难度样本(多次 rollout 中仅部分正确)对 OPD 最有益
  • 方法流程 :
    • 1)在训练前,使用学生模型对全部训练集进行一次离线 rollout(每个 prompt 生成 \( N=8 \) 个回复)
    • 2)通过规则验证器计算每个 prompt 的正确率 \( k/N \) 作为难度
    • 3)对于 U 型分布 ,上采样中等难度样本(\( k=1\sim7 \))
    • 4)对于 镜像 J 型分布 ,上采样所有 Non-trivial 样本(\( k=1\sim8 \))
      • 问题:这里为什么还要采样 \(k=8\) 的样本?可能使用 1-7 的会更好,毕竟 8 的已经很多了,采样太多不好吧?难道是防止遗忘问题发生?
      • 理解:注意这里是镜像 J 型,不是 J 型,所以 \(k=8\) 的样本是很少的
    • 5)目标是使难度分布更均匀,保留多样性和难度梯度
学生视角2:在线正确性感知数据平衡(注:这里的正确性是针对结果奖励)
  • 问题提出 :随着训练进行,rollout 组的正确/错误轨迹比例可能失衡(如全对或全错),导致对比信号消失,模型陷入局部最优
  • 方法流程 :
    • 1)设定目标正确/总轨迹比例 \( \gamma^{\star} \)(默认 0.5)
    • 2)在每个训练步骤,计算当前批次的总正确率 \( \gamma(\mathcal{B}) \)
    • 3)如果 \( |\gamma(\mathcal{B}) - \gamma^{\star}| > \epsilon \),则对占多数的轨迹类型进行子采样
    • 4)使整个批次的正确/错误比例保持在 \( \gamma^{\star} \pm \epsilon \) 区间内
教师视角:结果引导的边际校准
  • 基本思路 :理想情况下,教师的轨迹级蒸馏分数应与结果奖励保持顺序一致
    • 即所有正确轨迹的分数应高于所有错误轨迹
  • 本文通过定义一个边际(margin)来量化这一一致性,并提出了两种校准策略
trajectory-level 蒸馏分数
  • trajectory-level 蒸馏分数定义:
    $$
    G_{\text{OPD} }(\pmb {q},\pmb {\tau}) = \frac{1}{|\pmb{\tau}|}\sum_{t = 1}^{|\pmb{\tau}|} \log \frac{\pi_{\pmb{\tau} }(\sigma_{t}\mid\pmb{q},\pmb{o}_{< t})}{\pi_{\pmb{\theta} }(\sigma_{t}\mid\pmb{q},\pmb{o}_{< t})}
    $$
  • 该分数表示在轨迹 \( \tau \) 上,教师平均 log 似然偏好高于学生的程度
顺序一致性准则
  • 定义正确轨迹集 \( S_{+}(q) \) 和错误轨迹集 \( S_{-}(q) \)
  • 我们的期望是 :任意 \( \tau_{+} \in S_{+} \) 和 \( \tau_{-} \in S_{-} \),应满足
    $$ G_{\text{OPD} }(\tau_{+}) \ge G_{\text{OPD} }(\tau_{-}) $$
  • Prompt 级别边际 :
    $$
    m(q) \triangleq \min_{\tau \in S_{+}(q)} G_{\text{OPD} }(\tau) - \max_{\tau \in S_{-}(q)} G_{\text{OPD} }(\tau)
    $$
    • 当 \( m(q) \ge 0 \) 时,表示顺序一致
    • 为了更鲁棒,要求 \( m(q) \ge \delta \) (\( \delta > 0 \) 是安全边际)
边际校准策略(详细流程)
  • 当 \( m(q) < \delta \) 时,采取以下两种策略:
  • 策略1:边际掩码 (Margin Mask)
    • 直接丢弃导致顺序不一致的、最不可靠的轨迹
    • 详细流程(贪心版本) :
      • Step 1 :将一个 prompt 下的轨迹按正确/错误分开,并排序
        • 正确轨迹按 \( G_{\text{OPD} } \) 升序排列(最差的正确轨迹在前)
        • 错误轨迹按 \( G_{\text{OPD} } \) 降序排列(最好的错误轨迹在前)
      • Step 2 :开始迭代
      • Step 3 :计算丢弃当前最差正确轨迹和丢弃当前最好错误轨迹分别能带来的边际增益
        • 这里的增益论文总没有明确,而是在附录
      • Step 4 :选择增益更大的那一侧,丢弃对应的轨迹
      • Step 5 :重复步骤 2-4,直到满足条件 \( m(q) \ge \delta \)、无增益或达到最小保留率
      • 效果 :被丢弃的轨迹不参与梯度更新
  • 策略2:边际平移 (Margin Shift)
    • 设计思路 :不丢弃数据,而是对轨迹级分数进行最小限度的加性校正,使边际达到 \( \delta \)
    • 详细流程 :
      • Step 1 :计算当前边际 \( m(q) \)
      • Step 2 :计算所需偏移量 \( \lambda(q) = \delta - m(q) \)
      • Step 3 :选择校正方向(论文实验发现双向效果较好):
        • Lift :所有正确轨迹的分数增加 \( \lambda(q) \)
        • Suppress :所有错误轨迹的分数减少 \( \lambda(q) \)
        • Spread :正确轨迹分数增加 \( \lambda(q)/2 \),错误轨迹分数减少 \( \lambda(q)/2 \)
      • 效果 :校正后,即使最差的正确轨迹分数也高于最好的错误轨迹至少 \( \delta \),恢复了顺序一致性

实验

  • 实验设置
    • 模型 :LLM(Qwen3-4B/1.7B 为学生,Qwen3-30B-A3B-Instruct 为强教师)和 MLLM(Qwen3-VL-2B/4B-Instruct)
    • 数据 :数学推理(DeepMath)、代码生成(Eurus-2-RL-Data)、多模态推理(OpenMMReasoner-RL-74K)等
    • 任务 :单教师/多教师蒸馏、强到弱蒸馏、跨模态蒸馏
    • 基准 :AIME、HumanEval+、MathVision、LogicVista、ChartQA 等 16 个
  • 主要结果
    • 单/多教师蒸馏 :Uni-OPD 在所有 LLM 和 MLLM 任务上一致优于标准 OPD、ExPO 和 SFT
      • 特别是在多教师场景下,能更有效地合并多个专家的能力
    • 强到弱蒸馏 :将 30B 教师的能力蒸馏到 4B 或 1.7B 学生时,Uni-OPD 相比 OPD 带来更显著的性能提升,有效缩小了能力差距
    • 跨模态蒸馏 :在统一的多模态学生模型中,Uni-OPD 能同时提升文本模态(代码生成)和视觉模态(数学推理)的性能,而不会此消彼长
    • 消融实验 :
      • 三大组件均有效 :移除离线/在线数据平衡或边际校准中的任何一个,都会导致性能下降
      • 边际平移优于边际掩码 :在大多数情况下,边际平移(Margin Shift)略优于边际掩码(Margin Mask)
      • Rollout 数量影响 :增加每个 prompt 的 rollout 数量(如从 4 到 16)能提升边际校准的效果
定性分析
  • Token-level 奖励热力图 :直观展示了 OPD 的两种失败模式(高估错误轨迹、低估正确轨迹),以及 Uni-OPD 的边际平移如何校正分数,使正确轨迹获得更高累积奖励

附录:增益的定义和理解

  • 增益计算的核心目标是判断:
    • 丢弃 当前最差的正确轨迹 与丢弃 当前最好的错误轨迹 ,哪一个更能提升边际 \(m(q)\)
  • 边际的定义(MinMax 模式)
    • 在 Margin Mask 的 MinMax 模式下(论文默认用这个来判断“是否丢弃”):
      $$
      m(q) = \min_{\tau \in S_+} G_{\text{OPD} }(\tau) - \max_{\tau \in S_-} G_{\text{OPD} }(\tau)
      $$
      • \(S_+\):正确轨迹集合
      • \(S_-\):错误轨迹集合
  • 这个公式的含义非常直白:
    • 最差的正确轨迹 − 最好的错误轨迹
  • 丢弃一条轨迹前后的边际变化
    • \(m_{\text{old} }\):丢弃前的边际
    • \(S_+^{\text{old} }\)、\(S_-^{\text{old} }\)
    • 丢弃前:
      • \( \min_+^{\text{old} } \):正确轨迹中最小 \(G\)
      • \( \max_-^{\text{old} } \):错误轨迹中最大 \(G\)
  • 只考虑头部两个极端轨迹 (这是 MinMax 模式的核心)
    • 顺序一致性只由“最差的正确”和“最好的错误”决定
    • 其他轨迹对边际没有直接影响
情况 A:丢弃最差的正确轨迹
  • 丢弃对象:
    $$
    \tau_+^{\text{worst} } = \arg\min_{\tau \in S_+} G_{\text{OPD} }(\tau)
    $$
  • 丢弃后:
    • 新的正确集合:\( S_+’ = S_+ \setminus \{\tau_+^{\text{worst} }\} \)
    • 新的最小值:
      $$
      \min_+’ = \text{第二小的 } G_{\text{OPD} }(\tau)
      $$
  • 错误侧的最大值不变:\(\max_-‘ = \max_-^{\text{old} }\)
  • 新的边际 :
    $$
    m_{\text{new} }^{+} = \min_+’ ;-; \max_-^{\text{old} }
    $$
  • 增益 :
    $$
    \Delta_{+} = m_{\text{new} }^{+} - m_{\text{old} }
    $$
  • 本质:把错误侧不动,把正确侧“垫底”的那个踢掉
情况 B:丢弃最好的错误轨迹
  • 类似情况A

你问得非常关键。答案是:论文中没有给出显式的、完整的数学公式

让我明确告诉你在论文的哪里能找到”不完整”的描述,以及哪里是”缺失”的

论文中对增益的原始表述
  • 在正文 3.4 中只给出了边际的定义 :
    $$
    m(q) = \min_{\tau \in S_+(q)} G_{\text{OPD} }(q,\tau) - \max_{\tau \in S_-(q)} G_{\text{OPD} }(q,\tau)
    $$

  • 在附录 A.4 的 Algorithm 1 中,算法中出现了这两行:

    1
    2
    21: Δ+ ← MARGIN(L+(q)\\{L+(q)[1]}, L-(q); mode) - MARGIN(L+(q), L-(q); mode)
    23: Δ- ← MARGIN(L+(q), L-(q)\\{L-(q)[1]}; mode) - MARGIN(L+(q), L-(q); mode)
  • 这表达了”增益计算”的方式


SOD(Step-wise On-policy Distillation)

  • 原始论文:Step-wise On-policy Distillation for Small Language Model Agents, ZJH & Tencent, 20260508
  • SOD(Step-wise On-policy Distillation) ,通过 step-level divergence 自适应调节蒸馏权重,解决了 OPD 在 TIR 任务中的训练不稳定问题
    • 实验场景:在使用 Qwen3 系列上,针对 TIR 场景配置 Python 工具

背景 & 问题提出

  • 多轮工具集成推理 (Multi-turn Tool-Integrated Reasoning, TIR) 的场景定义
    • 给定一个输入 \(x\),模型会与外部环境在多个推理步骤中进行交互
    • 在每一步 \(k\),模型生成一个响应 \(y_k\),该响应可能包含自然语言推理、一次工具调用或最终答案
    • 如果调用了工具,环境会返回一个观察结果 \(o_k\),该观察结果会被追加到上下文中,并用于条件化后续的生成过程
    • 一条轨迹(trajectory)定义为:
      $$
      \tau = (x, y_1, o_1, \ldots, y_K, o_K, y_{K+1}), \quad (1)
      $$
      • 其中 \(y_{K+1}\) 表示最终响应
      • 策略 \(\pi_{\theta}\) 只生成模型自身的 token,而观察结果 \(\{o_k\}\) 则由环境提供
      • 记 \(y_t\) 为生成的一个 token,\(y_{< t}\) 为其前缀,该前缀可能同时包含模型输出和工具观察结果
  • 注:本文考虑对一个小型语言模型进行后训练(post-training),使其具备多轮工具集成推理(TIR)能力
    • 本文解决关键挑战:如何将 TIR 能力有效迁移到 Small Language Model (SLM) 上
    • TIR 需要模型在多个推理步骤中与外部工具(如代码解释器)交互,这对 SLM 的容量和稳定性提出了极高要求
  • 现有方法主要分为两类:
    • 1)Reinforcement Learning (RL) 方法(如 GRPO):仅提供稀疏的 outcome-level rewards ,难以在长轨迹、多步决策的 TIR 任务中稳定训练
    • 2)On-policy Distillation (OPD) :通过教师模型对学生的 on-policy trajectories 提供密集的 token-level supervision ,理论上能缓解 RL 的信用分配问题
  • 论文发现:OPD 在 TIR 任务中会失败 ,原因是工具调用错误会导致学生状态快速偏离教师分布,教师提供的监督信号变得不可靠甚至误导
    以下是论文 第 3.1 节 (Multi-turn Tool-Integrated Reasoning) 的详细中文翻译:

关键观察与 Motivation

  • 通过实验和理论分析指出 OPD 在 TIR 中的失败机制:
失败机制1:工具诱导的状态漂移(Tool-Induced State Drift)
  • 在纯文本推理中,学生与教师的分布漂移是渐进的(\(O(\eta)\))
  • 在 TIR 中,一个错误的工具调用会注入一个长观察序列(长度 \(m\)),导致状态发生不连续跳变:
    $$
    \Delta_{k+1} - \Delta_k = \Omega(m \cdot \eta_{\text{tool} }), \quad \eta_{\text{tool} } \gg \eta
    $$
  • 连续多个错误会导致 超线性发散 :
    $$
    \Delta_{k+j} - \Delta_k = \Omega\left(\sum_{i=0}^{j-1} m_i \cdot \eta_{\text{tool} }^{(i)}\right)
    $$
失败机制2:梯度信噪比崩溃(Gradient SNR Collapse)
  • 当学生状态与教师支持的 token 分布重叠度 \(\rho_t\) 趋近于 0 时,OPD 损失的二阶矩下界为:
    $$
    \mathbb{E}[\ell_t^2] \geq (1-\rho) \log^2(1/\epsilon)
    $$
  • 梯度估计器的信噪比:
    $$
    \text{SNR}(g_t) \to 0 \quad \text{as} \quad \rho_t \to 0
    $$
    • 即梯度被高方差、无信息的信号主导,训练不稳定
实证验证
  • 图 1(a) 显示:在 TIR 中,错误工具调用导致学生-教师分歧加速扩大
  • 图 1(b) 显示:教师熵在错误轨迹中急剧上升,监督不可靠

核心方法:SOD(Step-wise On-policy Distillation)

设计思路
  • SOD 的核心思想:不统一使用 OPD 损失,而是根据每个推理步骤的学生-教师分歧自适应地调整蒸馏强度
    • 当学生与教师对齐良好时,保留完整蒸馏信号
    • 当分歧增大时(通常由工具错误引起),衰减该步骤的蒸馏权重 ,避免误导
    • 当学生从错误中恢复时,恢复权重 ,继续利用教师指导
Step-level Divergence
  • 将轨迹划分为多个 reasoning steps(每个 step 是两次工具调用之间的模型生成或最终回答)
  • 定义第 \(k\) 步的分歧分数:
    $$
    d_k = \frac{1}{|\mathcal{I}_k|} \sum_{t \in \mathcal{I}_k} \left| \log \pi_\theta(y_t \mid y_{ < t}) - \log \pi_{\text{teacher} }(y_t \mid y_{ < t}) \right|
    $$
    • 注:这里用了归一化,能防止因为长度不同导致的指标偏差问题
  • 只计算模型生成的 token,不包括工具观察
  • 该分数已在 OPD forward pass 中可计算,无额外开销
自适应权重计算(Adaptive Step-wise Reweighting)
  • 权重具体定义
    $$
    \begin{align}
    w_1 &= 1 \\
    w_k &= \min\left( \prod_{u=1}^{k-1} \frac{d_u + \epsilon}{d_{u+1} + \epsilon},\ 1 + \delta \right), \quad k \ge 2
    \end{align}
    $$
    • \(\epsilon\):数值稳定常数
    • \(\delta\):权重上限偏移(实验中 \(\delta = 0.2\))
    • 当 \(d_{u+1} > d_u\)(第 \(u+1\) 步的分歧增大)→ 权重衰减
    • 当 \(d_{u+1} < d_u\)(第 \(u+1\) 步的分歧减小)→ 权重增加(但不超过 \(1 + \delta\))
  • 权重与当前步的分歧 \(d_k\) 成反比
  • 分歧越大,权重越小(保护训练免受误导)
  • 分歧减小(恢复),权重回升(重新利用教师指导)
  • 上界防止恢复时过度放大
附录:权重计算公式公式的详细理解
  • 乘积部分
    $$
    \prod_{u=1}^{k-1} \frac{d_u + \epsilon}{d_{u+1} + \epsilon}
    $$
  • 这个乘积可以 telescoping(telescoping product,即叠乘/裂项相乘,中间项会相互约简) :
    $$
    \prod_{u=1}^{k-1} \frac{d_u + \epsilon}{d_{u+1} + \epsilon} = \frac{d_1 + \epsilon}{d_2 + \epsilon} \cdot \frac{d_2 + \epsilon}{d_3 + \epsilon} \cdots \frac{d_{k-1} + \epsilon}{d_k + \epsilon} = \frac{d_1 + \epsilon}{d_k + \epsilon}
    $$
  • 实际上,乘积部分可以简化为:
    $$
    \frac{d_1 + \epsilon}{d_k + \epsilon}
    $$
  • 由于 \(d_1\) 是第一步的分歧(初始权重 \(w_1 = 1\)),且 \(d_1\) 通常较小(学生刚开始时与教师对齐较好),因此:
    • 当分歧增大时(\(d_k > d_1\)):
      $$
      \frac{d_1 + \epsilon}{d_k + \epsilon} < 1
      $$
      • 权重小于 1,蒸馏信号被衰减
    • 当分歧减小时(\(d_k < d_1\),即学生从错误中恢复,后续步骤更贴近教师):
      $$
      \frac{d_1 + \epsilon}{d_k + \epsilon} > 1
      $$
      • 权重大于 1,蒸馏信号被放大(但受上限约束)
    • 当分歧不变时(\(d_k = d_1\)):
      • 权重等于 1,保持原蒸馏强度
  • 上界限制(\(\min(\cdot, 1+\delta)\))
    $$
    w_k \le 1 + \delta
    $$
    • 防止权重提升(学生恢复正确轨迹)阶段权重过大导致训练不稳定
    • 实验中 \(\delta = 0.2\),所以最大权重为 \(1.2\)
  • 问题:为什么用“比值乘积”而不是直接用 \(d_1 / d_k\)?
    • 虽然简化后等价于 \(\frac{d_1 + \epsilon}{d_k + \epsilon}\),但论文中保留了乘积形式,原因有二:
      • 1)递推性 :权重可以逐步更新,不需要记住 \(d_1\):
        $$
        w_{k} = w_{k-1} \cdot \frac{d_{k-1} + \epsilon}{d_k + \epsilon}
        $$
        • 便于在线计算
      • 2)理论分析 :乘积形式与 Proposition 3 中的方差抑制证明自然契合(方便读者看懂)
  • 问题:为什么权重能自动处理“恢复”?(注:学生和教师分歧变小时意味着学生在朝着正确的轨迹恢复)
    • 假设学生在前几步犯错(\(d_2, d_3\) 较大),但后来纠正了(\(d_4\) 变小):
      • \(w_2 = \frac{d_1 + \epsilon}{d_2 + \epsilon} < 1\)(衰减)
      • \(w_3 = w_2 \cdot \frac{d_2 + \epsilon}{d_3 + \epsilon}\)(若 \(d_3 > d_2\),继续衰减)
      • \(w_4 = w_3 \cdot \frac{d_3 + \epsilon}{d_4 + \epsilon}\)
    • 当 \(d_4 < d_3\) 时,比值 \(\frac{d_3 + \epsilon}{d_4 + \epsilon} > 1\),所以 \(w_4\) 会回升 (即 \(w_4 > w_3\)),但不会超过 \(1 + \delta\)
    • 这正是 Recovery Pattern 的数学体现(允许衰减后的权重逐步回到 1 )
  • 问题:为什么第一步权重固定为 1?
    • 第一步没有历史信息可依赖
    • 第一步通常问题理解阶段,学生与教师分歧较小,没必要衰减
    • 如果第一步就严重偏离,整个轨迹可能已经不可恢复,但这种情况很少见
SOD:训练目标
  • SOD 的总损失函数为:
    $$
    \mathcal{L} = \mathcal{L}_{\text{GRPO} } + \mathcal{L}_{\text{OPD} }^{\text{step} }
    $$
  • 其中:
    $$
    \mathcal{L}_{\text{OPD} }^{\text{step} } = \mathbb{E}_{y \sim \pi_\theta} \left[ \sum_{k=1}^{K+1} w_k \sum_{t \in \mathcal{I}_k} \left( \log \pi_\theta(y_t \mid y_{ < t}) - \log \pi_{\text{teacher} }(y_t \mid y_{ < t}) \right) \right]
    $$
    • \(\mathcal{L}_{\text{GRPO} }\):提供稀疏的 outcome-level rewards ,促进探索
    • \(\mathcal{L}_{\text{OPD} }^{\text{step} }\):提供密集但经过权重调节的 token-level supervision

实验

  • 实验配置
    • Teacher :Qwen3-4B(经 GRPO 微调)
    • Student :Qwen3-0.6B 和 Qwen3-1.7B
    • Benchmarks :
      • AIME 2024 / 2025(数学)
      • GPQA-Diamond(科学)
      • LiveCodeBench(代码)
    • Baselines :Vanilla, SFT, GRPO, OPD, OPSD\(_{\text{gt} }\), OPSD\(_{\text{hint} }\)
  • 主要结果(Table 1)
    • SOD 在所有 benchmark 上一致优于所有 baseline
    • 在 0.6B 学生上,相对 OPD 提升 +20.86%;在 1.7B 上提升 +18.50%
    • 0.6B SOD 模型在 AIME 2025 上达到 26.13% ,首次实现 sub-billion 模型在该任务上取得如此成绩
  • 消融实验(Table 2)
    • Uniform weighting :性能下降(34.70%),说明步级自适应重要
    • Heuristic weighting(固定指数衰减):仍不如 SOD(37.14%)
    • Mask after wrong :最差(31.85%),丢失恢复信号
    • Without GRPO :性能下降(40.78%),但比 OPD 仍高
    • Without step-wise OPD :灾难性下降(25.39%),说明 dense supervision 不可或缺
  • 训练动态分析(Figure 4)
    • GRPO:熵崩溃,工具调用次数趋近于零
    • OPD:熵稳定但准确率波动大,后期下降
    • SOD:准确率稳定提升,工具调用高效,熵适中

SOD 的三种蒸馏模式(Figure 5)

  • 1)Stable Pattern
    • \(d_k\) 低,\(w_k\) 高(接近 \(1+\delta\)),充分利用教师信号
  • 2)Erroneous Pattern
    • 连续错误 → \(d_k\) 上升 → \(w_k\) 下降,抑制误导信号
  • 3)Recovery Pattern
    • 学生先错误后纠正 → \(w_k\) 先降后升,保留恢复后的监督

Reinforced Agent

  • 原始论文:Reinforced Agent: Inference-Time Feedback for Tool-Calling Agents, Apple, 20260429
  • 评价:
    • 本文聚焦于 Tool-Calling Agents 在执行过程中的错误检测与实时修正问题
      • 现有方法大多是“事后评估”(post-hoc),即在错误发生后通过 prompt 调优或重新训练来修复,无法在推理时实时纠正
    • 本文的核心贡献是:将评估引入执行循环中,在工具调用执行前由专门的 Reviewer Agent 进行反馈 ,从而实现“主动评估 + 错误缓解”
    • 本文提出的核心方法是:Inference-Time Feedback 方法
    • 本文特点:
      • Self-Refine / Reflexion :使用 self-feedback,本文使用外部 reviewer
      • Training-based :GRPO(需大量 rollout),本文无需训练

Inference-Time Feedback 方法

双 Agent 架构设计思路
  • Primary Agent(Executor) :工具调用 Agent(文中固定为 GPT-4o),负责生成工具调用(tool calls)
  • Reviewer Agent(Critic) :专门负责评估 Primary Agent 的临时工具调用(provisional tool calls) ,在真正执行前给出反馈或选择最优候选
  • 这种设计的核心优势在于:
    • 无需重新训练 Primary Agent
    • 无需修改现有工具调用管道
    • 可独立优化 Reviewer(模型选择、prompt 优化、蒸馏等)
论文设计的三种反馈机制(详细流程)
机制1:Progressive Feedback(迭代反馈)
  • 流程:
    • Step 1)Primary Agent 生成一个工具调用响应
    • Step 2)Reviewer Agent 评估该响应
    • Step 3)若发现错误,Reviewer 生成反馈作为系统消息(system message)注入
    • Step 4)Primary Agent 根据反馈重新生成响应
    • Step 5)循环最多 N 次(如 r2, r5),直到 Reviewer 批准或无错误
  • 命名示例 :4o-r2-5-mini-v3-gepa
    • 4o:base agent
    • r2:最多 2 轮反馈
    • 5-mini:reviewer 模型
    • v3-gepa:prompt 版本
机制2:Best-of-N Selection(选择器)
  • 流程 :
    • Step 1)Primary Agent 生成 N 个候选响应(温度 0.3~1.0)
    • Step 2)Selector Agent 直接选择最佳候选(无分数)
    • Step 3)一次性完成,无迭代
  • 命名示例 :sN
    • 如 s5
机制3:Best-of-N Grading(评分器)
  • 流程 :
    • Step 1)同样生成 N 个候选
    • Step 2)Grader Agent 为每个候选给出 0.0~1.0 的分数及理由
    • Step 3)选择分数最高的候选
  • 命名:gN
    • 如 g5

自动 Prompt 优化(GEPA)

  • 为了系统化地改进 Reviewer,论文引入了 GEPA(Genetic-Pareto prompt evolution) :
  • 具体步骤 :
    • Step 1)从手动设计的 prompt(v2)开始
    • Step 2)收集 Reviewer 的错误判断案例
    • Step 3)使用 LLM(GPT-5 mini)进行“反思”并提出改进建议
    • Step 4)迭代优化,直到收敛
  • 结果:prompt 从 358 tokens 增长到 1,599 tokens,增加了详细的错误标准、边缘案例处理和检查清单

评估指标:Helpfulness-Harmfulness

  • 为量化 Reviewer 带来的收益-风险 (可能会纠正错误 or 反而引入错误),提出三个关键指标:
    • Helpfulness(H) :Base Agent 错误且 Reviewer 纠正的比例
    • Harmfulness(M) :Base Agent 正确但 Reviewer 引入错误的比例
    • Benefit-to-Risk Ratio :\( \frac{H}{M} \)
  • 这些指标比单纯准确率更能反映 Reviewer 的真实价值

实验

Benchmarks
  • BFCL
    • 单轮、无状态(stateless)
    • 分类:simple, multiple, parallel, parallel_multiple → relevance suite
    • 额外:irrelevance(检测无工具可用)
  • \(\tau^2\)-Bench
    • 多轮、有状态(stateful)
    • 领域:airline, retail, telecom
    • 需满足状态前置条件和策略约束
模型
  • Base Agent:GPT-4o(固定,temperature=0)
  • Reviewer(初始实验):o3-mini(reasoning model)
  • Reviewer(APO 实验):GPT-5 mini
  • 所有 reasoning 模型使用 reasoning_effort = medium

主要结果与观点(完整覆盖)

BFCL 结果
  • 初始问题 :Reviewer 过度怀疑(over-skepticism),将正确的 tool-only 响应标记为不完整
  • 解决方式 :添加明确 guideline:“Tool-only responses are complete.”
  • 最终效果 :
    • Irrelevance 提升:\(84.9% \rightarrow 90.4%\)(+5.5%)
    • Relevance suite:\(90.9% \rightarrow 92.5%\)(+1.6%)
    • o3-mini 的 Benefit-to-Risk Ratio 达到 3.1:1(GPT-4o 为 2.7:1)
\(\tau^2\)-Bench 结果
  • 最佳配置(4o-r5-4o-v1):平均提升 \(48.7% \rightarrow 55.8%\)(+7.1%)
  • 错误分析:
    • 策略约束违反:\(31% \rightarrow 18%\)(-13%)
    • 上下文缺失:\(24% \rightarrow 15%\)(-9%)
    • 过度表达(over-verbalization):\(10% \rightarrow 27%\)(+17%)
  • 结论:Progressive Feedback 优于 Best-of-N 方法
自动 Prompt 优化(GEPA)结果
  • 在 BFCL Non-Live 上:
    • Relevance suite:\(91.0% \rightarrow 92.5%\)(+1.5%)
    • Irrelevance:\(87.6% \rightarrow 90.4%\)(+2.8%)
    • 尤其在 parallel_multiple 类别上提升 +2.1%
机制对比
  • Progressive Feedback 在 irrelevance 检测上优于 Best-of-N 方法 4~5%
  • Best-of-N 在 relevance 上增益微弱
  • 原因:迭代反馈能明确识别并修正错误,尤其适用于“无工具可用”的判断
观察到了延迟问题
  • BFCL(单轮):延迟从 1.27s → 7.87s(6.2x)
  • \(\tau^2\)-Bench(多轮):158.7s → 384.3s(2.4x)
  • 多轮场景中 reviewer 开销被摊销(~40 轮/ episode)
  • 部署建议:
    • 高吞吐单轮场景:谨慎使用
    • 多轮、高准确率要求场景:适用
    • API 密集场景:可防止无效调用,实现 ROI 正向

R2-Write(R\(^2\)-Write)

  • 原始论文:R2-Write: Reflection and Revision for Open-Ended Writing with Deep Reasoning, 20260403, Tongyi Alibaba
  • 本文针对一个关键问题:Deep Reasoning 在数学等可验证领域成效显著,但在开放型写作(Open-Ended Writing)任务上增益甚微
    • 本文对这一现象进行了系统性分析,并提出了一个名为 R2-Write 的自动化框架
  • R2-Write 在思维链中显式引入 反思(Reflection) 和 修正(Revision) 模式,显著提升了 LLM 在开放型写作任务上的表现
  • R2-Write 发现深度推理在开放型写作任务上效果不佳的根本原因是缺乏 “验证” 和 “回溯” 等反思与修正模式
  • R2-Write 引入了过程奖励机制:在 RL 阶段明确监督反思与修正的质量,不仅提升了写作质量,还显著提高了推理的 Token 效率
  • R2-Write 的缺点:
    • 许多地方都需要 参考答案 作为基础分数(用于判断结束迭代或者挑选困难样本),这个不利于 SOTA 模型的构建(需要最专业的人工或更好的模型作为专家来提供参考答案)

论文核心发现

观察现象:深度推理在写作上增益有限
  • 实验发现:现有的主流推理模型(如 Qwen3、DeepSeek-R1)在开放型写作任务(如 WritingBench、HelloBench)上的性能提升远小于数学任务(如 MATH500、AIME25)
    • 如表 1 所示,数学任务的相对提升可达 200% 以上,而写作任务仅有 1% 左右
原因分析:写作任务中缺乏“验证”与“回溯”模式
  • 本文对模型的思考轨迹进行了细粒度模式分析(参考图 1 和表 9)
  • 本文将思维模式分为五类:
    • Answer Verification :验证中间或最终答案的正确性
    • Backtracking :发现错误后回退并换用新方法
    • Subgoal Setting :设定子目标分解任务
    • Backward Chaining :从目标反向推导
    • Summarization :总结当前进度
  • 关键发现 :
    • 在数学任务(MATH500)中,“Answer Verification” 和 “Backtracking” 是帮助模型获得正确答案的关键模式,且频繁出现
    • 在写作任务(WritingBench)中,模型主要依赖 “Subgoal Setting” ,而 “Verification” 和 “Backtracking” 模式严重缺失
  • 结论:模型在写作时缺乏有效的自我反思和修正能力,这是导致其深度推理在开放型写作任务中效果不佳的根本原因

方法:R\(^2\)-Write 框架

  • R\(^2\)-Write 框架包含三个主要部分:Query 数据选择 、SFT 数据创建 、带过程奖励的 RL 训练
Query 数据选择与 Rubric 构建
  • 由于写作任务没有标准答案,论文中作者首先为每个 Query 构建 评估 Rubric
  • Rubric 类型 :
    • 1)Query-Specific Rubrics :细粒度的任务依赖标准,例如“是否覆盖了用户要求的三个要点”
    • 2)General Quality Rubrics :整体质量评估,如流畅性、完整性、创造性
  • 数据来源 :创意写作(DEEPWRITING)和报告生成(Deep-Research Query )
  • 困难 Query 筛选 :使用 Qwen3-30B-A3B 生成响应,计算其与参考答案(高分模型生成)的分数差距
    $$\Delta_q = S_r^q - S_m^q$$
    • \(S_r\): Reference Model
    • \(S_r\): Current Model
    • 选择差距最大的 Top-K Query 作为训练数据(SFT: 3K, RL: 5K),确保模型学习最具挑战性的案例
    • 理解:这里非常有道理,使用一个参考模型作为基线,check 跟基线比较来看差距最大的样本作为困难样本(而不是通过绝对分数差异判断)
SFT 数据创建:Writer-Judge 交互合成
  • 本文还创建了 Writer-Judge 迭代交互流程,自动合成蕴含反思和修正模式的高质量思维轨迹
  • 流程(参考算法 1 和图 2):
    • 1)初始生成 :Writer 模型生成对 Query \(q\) 的初始答案 \(a_q^{(0)}\) 和初始思考 \(T_0\)
    • 2)评估与反馈 :Judge 模型基于 Rubric 评估答案,给出分数 \(s_q^{(0)}\) 和详细反馈 \(f_q^{(0)}\)
    • 3)反思与修正(迭代核心) :
      • Step 1: 生成反思与修正计划 :Writer 模型将 Judge 的反馈“内化”为自身思考,识别问题并提出具体修正方案 \(R_q^{(t)}\)
        • 作者特意在 Prompt 中注入类人思考标记 ,如 “Hmm…maybe I should revise…” 或 “Wait, I found that…”,避免僵化的机械思考
      • Step 2: 生成修正答案 :Writer 模型基于 \(R_q^{(t)}\) 生成改进后的答案 \(a_q^{(t)}\)
    • 4)再评估与保留 :Judge 模型重新评估 \(a_q^{(t)}\),若分数 \(s_q^{(t)} > s_q^{(t-1)}\),则保留本轮修正
    • 5)迭代终止 :达到目标分数 \(S_{\text{target} }\) 或最大迭代次数 \(T_{\text{max} }\)(设为 3)
  • 最终,轨迹 \(\text{Think}_q\) 包含初始思考、初始答案,以及每一轮有效的反思和修正
    • 理解:这里只包含反思和修正 \(R_q^{(t)}\),不包含其他内容(如 score \(s_q\) 和 feedback \(f_q\) 等)
强化学习:带过程奖励的 PPO
  • SFT 后,用 RL 进一步强化模型有效使用反思和修正模式的能力
  • 使用 PPO 算法,并设计了一个 过程奖励机制 ,以解决传统 RL 只关注最终答案而忽略思考过程的问题
总奖励设计
  • 总奖励 \(R_{\text{all} }\) 由答案奖励 \(R_a\) 和过程奖励 \(R_p\) 组成:
    $$
    R_{\text{all} } = \begin{cases}\alpha R_{\text{a} } + (1 - \alpha)R_{\text{p} }, & \text{if} \ R_{\text{a} } > 0,\\ R_{\text{a} }, & \text{otherwise}, \end{cases}
    $$
    • 其中 \(\alpha\) 是权重系数
    • 注意:只有当答案质量 \(R_a > 0\) 时,才计算过程奖励 \(R_p\),防止模型为了获得过程分而牺牲最终答案质量(reward hacking)
答案奖励 \(R_a\)
  • 采用 Pairwise LLM-as-a-Judge 方法,将模型生成的答案 \(\mathbf{x}\) 与高质量的参考答案 ref 进行比较:
    $$
    R_{\text{a} } = \begin{cases}1, & \text{if} \ \text{Judge}(\text{ref},\mathbf{x}) = \mathbf{x} > \text{ref},\\ 0.5, & \text{if} \ \text{Judge}(\text{ref},\mathbf{x}) = \mathbf{x}\equiv \text{ref},\\ 0, & \text{if} \ \text{Judge}(\text{ref},\mathbf{x}) = \mathbf{x}< \text{ref}, \end{cases}
    $$
过程奖励 \(R_p\)
  • 首先从思考轨迹中提取所有 反思片段
    $$\mathcal{M} = \{M_{F_1},\ldots ,M_{F_K}\}$$
  • 对每个片段 \(M_{F_i}\),从三个维度进行二元评判 (\(+1\) 或 \(-1\)):
    • 1)问题识别有效性 \(R_{\text{find} }^{(i)}\):发现的问题是真正有价值的,还是虚假问题
    • 2)修正建议质量 \(R_{\text{rev} }^{(i)}\):修正建议是否符合 Rubric
    • 3)执行对齐度 \(R_{\text{align} }^{(i)}\):最终答案是否真正实施了计划中的修正
  • 单个片段的过程奖励为:
    $$
    R_{\text{p} }^{(i)} = \begin{cases} +1, & \text{if} \ R_{\text{find} }^{(i)} > 0 \ \text{and} \ R_{\text{rev} }^{(i)} > 0 \ \text{and} \ R_{\text{align} }^{(i)} > 0, \\ -1, & \text{otherwise}. \end{cases}
    $$
  • 最终过程奖励是全部反思片段的平均值:
    $$
    R_{\text{p} } = \frac{1}{K}\sum_{i = 1}^{K}R_{\text{p} }^{(i)}.
    $$

实验

主实验结果
  • 在多个基准(WritingBench, DeepResearch Gym, DiscoX)上,R2-Write 显著超越各类基线(SFT-based 和 RL-based)
  • R2-Write-SFT + RLp(带过程奖励)达到了最佳性能,验证了方法的有效性
消融实验
  • 1)反思与修正模式的有效性 :
    • 对比直接蒸馏(Distill)和仅使用 R2-Write 的最终答案(R2-Write-Last),R2-Write-SFT 表现显著更好
    • 证明提升主要源于思考轨迹中的模式 ,而非知识蒸馏或迭代修正的结果
  • 2)过程奖励的有效性 :
    • 思考质量 :在论文提出的 ProcessBench 上,使用过程奖励(RLp)的模型在反思与修正质量上远高于无过程奖励的 RL
    • Token 效率 :如图 3 所示,带过程奖励的模型(R2-Write + SFT + RLp)的思考轨迹长度比标准 RL 缩短了约 20%,说明过程奖励鼓励了更高效、精炼的反思 ,避免了冗余
深入分析
  • 1)改进归因分析(Q1) :
    • 将改进场景分为三类(见表 4):
      • Requirement Alignment (RA) :对齐用户显式要求
      • Factual & Logical Correction (FLC) :修正事实与逻辑错误
      • Quality Enhancement (QE) :提升流畅性、深度等
    • 发现:创意写作任务中,QE 占主导(~70%);深度研究任务中,FLC 比例显著更高(~35%)
      • 这与任务特性吻合
  • 2)通用能力影响(Q2) :
    • 如表 5 所示,R2-Write 在数学(AIME25)和通用知识(MMLU-Pro)上的性能与基线持平
    • 说明引入写作特定的反思模式不会损害模型的其他通用能力
  • 3)RL 设计变体分析 :
    • Pairwise Reward vs. Pointwise Reward :Pairwise 奖励更具区分性,效果更好
    • PPO vs. GRPO :在写作任务上,PPO 一致优于 GRPO

ROPD (Rubric-based On-policy Distillation)

  • 原始论文:(ROPD)Rubric-based On-policy Distillation, 20260508, NUS & USTC & Tencent
  • 总体评价:
    • 本文并无过多创新,在业内,将 Rubric 信号用于 RL 训练是很早的事情了
    • ROPD 方法本身也跟传统的 OPD 方法不同(并没有使用 Reverse KL,这里的 OPD 更像是基于学生 Rollout 的 GRPO,Teacher Response 影响了反馈信号)
  • 传统 OPD 依赖教师模型的 logits(输出概率分布)作为监督信号
    • 这要求教师模型是“白盒”的(即内部状态可访问),限制了高性能专有模型(如 GPT-5.2)作为教师的使用
  • 论文核心创新(其实本质就是基于 Rubric 的 RL,只是加入了多个教师 Reference Response 作为 Rubric 生成的依据):
    • 在不依赖 logits 的情况下,保留 OPD 的核心机制(on-policy 学习),仅使用教师生成的文本 Response 进行蒸馏
    • ROPD 的答案是:使用结构化的语义 Rubrics 替代 logits

ROPD 方法详解(重点)

问题定义(黑盒 OPD)
  • 给定:
    • 输入 Prompt \( x \)
    • 教师模型 \( \pi_T \)(仅能通过 API 获取文本输出)
    • 学生模型 \( \pi_\theta \)(可训练)
    • 学生生成 Rollout \( y \sim \pi_\theta(\cdot | x) \)
  • 黑盒 OPD 的目标是:
    • 仅通过教师输出的文本 Response 设计奖励函数 \( r(y) \),用于优化 \( \pi_\theta \)
ROPD 的两阶段流程
  • ROPD 分为两个阶段:Rubric Induction 和 Rubric-based Verification
  • 整体流程如图 2 所示
阶段一:Rubric Induction(Rubric 归纳)
  • 对于每个 Prompt \( x \):
    • 1)收集教师 Responses:
      $$
      \mathcal{Y}_x^T = \{y_j^T\}_{j=1}^m,\quad y_j^T \sim \pi_T(\cdot | x)
      $$
      • 每个 Prompt 收集多个 教师 Responses
      • 注:这里也可以使用多个教师(不一定只是一个教师,且可以是黑盒的闭源模型)
    • 2)收集学生 Rollouts:
      $$
      \mathcal{Y}_x^S = \{y_i^S\}_{i=1}^n,\quad y_i^S \sim \pi_\theta(\cdot | x)
      $$
    • 3)使用 Rubricator(通常为教师模型本身)生成 Prompt 特定的 Rubric 集合:
      $$
      \mathcal{C}_x = \text{Rubricator}(x, \mathcal{Y}_x^T, \mathcal{Y}_x^S) = \{c_k\}_{k=1}^K
      $$
      • 每个 Rubric 项 \( c_k = (\rho_k, w_k) \)
        • \( \rho_k \) 是文本描述的评价标准
        • \( w_k > 0 \) 是权重
  • 设计思路 :
    • 多教师答案 :\( m \geq 4 \) 确保 Rubric 不偏向单一解题路径
      • 关键创新:基于多个教师 Responses 来作为参考,防止陷入单一路径(实验场景是数学)
    • 对比式生成 :通过对比教师与学生 Responses,Rubricator 识别学生系统性弱点
    • 共享 Rubric :同一 Prompt 的所有学生 Rollouts 共享同一 Rubric 集合,保证组内一致性(对 GRPO 有利)
阶段二:Rubric-based Verification
  • 对于第 \( i \) 个学生 Rollout 和第 \( k \) 个 Rubric 项:
    $$
    v_{i,k} = \text{Verifier}(x, y_i^S, c_k; \mathcal{Y}_x^T, \mathcal{Y}_x^S) \in \{0, 1\}
    $$
  • 最终 Response 得分:
    $$
    s_i = \frac{\sum_{k=1}^K w_k \cdot v_{i,k} }{\sum_{k=1}^K w_k + \epsilon}
    $$
  • 该得分作为奖励用于 On-policy 优化(如 GRPO)
  • 设计思路 :
    • Blind Scoring :Verifier 在评分时不区分教师/学生身份,仅看到混合的 Response 集合,避免身份偏差
    • 教师作为难度锚点 :保留教师 Responses 在评分池中,保证不同难度问题的奖励分布得到校准
    • 多维解耦 :Rubric 将质量分解为多个独立维度,避免标量 Judge 将“格式正确”与“逻辑正确”混淆

实验

  • 模型与数据
    • 学生模型 :Qwen3-4B(主),Gemma3-4B-it(跨架构)
    • 教师模型 :GPT-5.2-chat(黑盒),Qwen3-30B-A3B(白盒)
    • 训练数据 :DAPO-Math-17K(数学),RaR-Science/Medical-20K(科学/医学)
    • 评估基准 :AIME24/25,HMMT25,GPQA-Diamond,HealthBench,IFEval
  • 基线方法
    • 黑盒:SFT,T-Judge,OVD ,GAD
    • 白盒:LOPD(logit-based OPD),ExOPD
  • 超参数
    • \( m = 4 \)(教师答案数),\( n = 8 \)(学生 Rollouts 数),\( K \in [4,12] \)
    • 学习率 \( 10^{-6} \),GRPO,batch size 32,1 epoch

主要结果

  • 黑盒场景(Table 1)
    • ROPD 在全部 14 个配置中排名第一
    • 在 AIME25(thinking)上,ROPD(68.75)超过教师 GPT-5.2(67.08),表明 Rubric 增强优化可超越简单模仿
    • HMMT25(Nov.)上,从 7.08 提升到 41.67(+34.6)
  • 白盒场景(Table 2)
    • ROPD 仅用文本,仍优于 LOPD 和 ExOPD
    • 学生-教师差距闭合率:LOPD 为 42.1%,ROPD 为 74.1%(1.8 倍提升)
  • 效率与收敛(Figure 3)
    • 样本效率:ROPD 达到 LOPD 最佳性能仅需 1.6k 样本(LOPD 需 15.4k),提升 \( 10\times \)
    • 墙钟时间:相同性能下,ROPD 为 5.5h,LOPD 为 34.4h(\( 6.3\times \) 加速)
  • 跨架构泛化(Table 3)
    • 学生换成 Gemma3-4B(AIME24 仅 6.67%),ROPD 提升至 10.00%(+50% 相对提升)
    • Rubric 提供绝对监督信号,对低质量 Response 仍然有效
  • 消融实验(Table 6)
    • 多教师(m=4 → 1) :性能下降 17.9 点(最关键的组件)
    • 共享 Rubric(per-prompt → per-pair) :下降 3.75 点
    • Blind Scoring(去除) :下降 3.25 点

StraTA

  • StraTA: Incentivizing Agentic Reinforcement Learning with Strategic Trajectory Abstraction, 20260506, CUHK
  • StraTA(Strategic Trajectory Abstraction) 是一个面向 LLM-based Agent 的 Agentic RL 框架,旨在解决当前方法在长时序决策任务 中存在的探索不足 和信用分配困难 问题
  • StraTA 核心思想是:在每个 episode 开始时显式生成一个全局策略(Strategy),并将后续所有动作生成条件化在该 Strategy 上 ,从而实现高层规划与低层执行的分离
  • 总体评价:
    • StraTA 引入显式轨迹级 Strategy :将高层规划与低层执行解耦,提升长时序一致性
    • StraTA 使用分层 GRPO 训练结构 :支持 Strategy-level 与动作级联合优化,配合 Top-\(\delta\) 奖励估计
    • StraTA 提出两种创新的 增强技术 :
      • 最远点采样 Strategy 多样化(多采样,然后挑选最多样的上层 Strategy )
      • 自我判断的步骤级奖励(让模型自己判断自己的 既不遵循 Strategy ,也无助于任务进展 的 负向步骤,然后对这些步骤施加负向惩罚)
    • 在多个基准上达到 SOTA ,显著优于闭源模型与现有 RL 方法
    • 可能的问题1:Strategy 质量依赖 :若生成的 Strategy 本身不合理,可能误导执行
    • 可能的问题2:固定 Strategy 限制 :环境在 episode 中发生显著变化时,固定 Strategy 可能不适用

背景 & 问题提出

现有方法的局限性
  • 现有 Agentic RL 方法大多是纯反应式(Purely Reactive) :每一步动作仅依赖于当前状态 \( s_t \)
  • 这导致:
    • 短视探索(Short-sighted Exploration)
    • 不必要回溯(Unnecessary Backtracking)
    • 行为不一致(Inconsistent Behavior)
  • 同时,奖励通常是稀疏且延迟的,进一步加剧了信用分配(Credit Assignment) 的难度
人类问题解决方式的启发
  • 人类通常先形成高层计划,再执行,并事后反思计划是否合适
  • 受此启发,StraTA 引入显式的轨迹级 Strategy ,作为全局指导信号

StraTA 方法框架详解(重点)

Strategy-guided Task Execution
原始反应式 Strategy :
  • 每一步动作仅依赖于当前状态 \( s_t \)
    $$
    a_t \sim \pi_{\theta}(\cdot | s_t)
    $$
StraTA 的两阶段生成:
  • Step 1)Strategy 生成 :在 episode 开始时,从初始状态 \( s_1 \) 生成一个全局 Strategy \( z \):
    $$
    z \sim \pi_{\theta}(\cdot | s_1)
    $$

    • \( z \) 是一个自然语言计划 ,在整个 episode 中固定不变
  • Step 2)Strategy 引导的动作生成 :
    $$
    a_t \sim \pi_{\theta}(\cdot | z, s_t)
    $$

    • 每个动作同时依赖于全局 Strategy \( z \) 和当前状态 \( s_t \)
  • 最终轨迹为:
    $$
    \tau = \{z, (s_1, a_1, r_1), \dots, (s_T, a_T, r_T)\}
    $$

Hierarchical Group Construction,分层组构建
  • 为同时优化 Strategy 生成和动作执行,StraTA 在 GRPO 的基础上构建了两层采样结构:
    • 对每个任务,采样 \( N \) 个 Strategy \( \{z^i\}_{i=1}^N \)
    • 对每个 Strategy \( z^i \),采样 \( M \) 条独立轨迹 \( \{\tau^{i,j}\}_{j=1}^M \)
组结构:
  • ** Strategy-level 组** :
    $$
    \mathcal{G}_{\text{strategy} } = \{z^i \mid 1 \leq i \leq N\}
    $$
    • 每个 Prompt,生成的所有 Strategy 集合 \(\{z_i\}_{i=1}^N\) 合并为一组
  • 动作级组(每个 Strategy 一个):
    $$
    \mathcal{G}_{\text{action} }^i = \{a_t^{i,j} \mid 1 \leq j \leq M, 1 \leq t \leq |\tau^{i,j}|\}
    $$
    • 对于给定的 Prompt 和 Strategy \(z_i\),他们生成的所有轨迹合并为一组,共 M 个 轨迹的所有动作加起来,共 \(M \cdot \text{avg}(|\tau^{i,j}|)\) 个动作合并为一个集合
  • 问题:似乎没有针对 Prompt 和 Strategy \(z_i\) 的样本丢做分组
奖励分配:
  • 动作级奖励 :轨迹级奖励广播到每个动作:
    $$
    R(a_t^{i,j}) = R(\tau^{i,j})
    $$
  • ** Strategy-level 奖励** :使用该 Strategy 下Top-\(\delta\) 轨迹的平均奖励 :
    $$
    R(z^i) = \text{mean}\left(\text{top-}\delta\left(\{R(\tau^{i,j})\}_{j=1}^M\right)\right)
    $$
    • 理解:使用多个 Strategy 的平均能更可靠地反映 Strategy 质量,降低执行噪声的影响
    • 问题:直接使用所有 Strategy 的平均不可以吗?
      • 回答:消融来看这个还是很重要的,有明显的收益
辅助奖励(长度 + 格式):
  • 长度惩罚 :
    $$
    R_{\text{length} }(x) = \begin{cases}
    0, & |x| \leq \lambda L_{\text{total} } \\
    -\frac{1}{1 - \lambda}\left(\frac{|x|}{L_{\text{total} } } - \lambda\right), & \lambda L_{\text{total} } < |x| \leq L_{\text{total} } \\
    -1, & L_{\text{total} } < |x|
    \end{cases}
    $$

    • \(L_{\text{total}}\) is the response length limit(长度限制)
    • \(\lambda\) controls when the penalty begins,原始论文中 \(\lambda=0.5\)
    • 理解:惩罚值(负奖励)在 [-1, 0] 之间:
      • 序列很小时,没有惩罚
      • 序列很大时(超过最大长度),惩罚值最大为 -1
      • 序列在中间长度时,按照 \(\lambda\) 折算一个长度惩罚
    • 中间的 \(-\frac{1}{1 - \lambda}\left(\frac{|x|}{L_{\text{total} } } - \lambda\right), \lambda L_{\text{total} } < |x| \leq L_{\text{total} } \) 是为了连续性保证
      • 即函数图像在边界点的值为:
        • \(\frac{|x|}{L_{\text{total} }} = \lambda\) 时 \(R_{\text{length} } = 0 \)
        • \(\frac{|x|}{L_{\text{total} }} = 1\) 时 \(R_{\text{length} } = -1\)
    • 上述函数图像可视化:
  • 格式惩罚 :
    $$
    R_{\text{format} }(x) = \begin{cases}
    0, & x \text{ is correct in format} \\
    -1, & x \text{ is incorrect in format}
    \end{cases}
    $$

    • 格式正确给 0 分,格式错误给 -1 分
  • 最终奖励裁剪到 \([-1, 1]\):
    $$
    \hat{R}(x) = \text{clip}\left(R(x) + R_{\text{length} }(x) + R_{\text{format} }(x), -1, 1\right)
    $$

Diverse Strategy Rollout,多样化 Strategy 采样
  • 为防止 Strategy 空间探索不足,StraTA 使用最远点采样选择语义上最多样的 Strategy :
    • 过采样 \( \sigma \times N \) 个候选 Strategy
      • 论文中使用 Oversampling ratio \(\sigma = 8\)
    • 使用预训练 embedding 模型(如 MiniLM-L6)将每个 Strategy 编码为归一化向量 \( e^i \)
    • 贪心选择与已选集合 \(\mathcal{I}\) 最不相似的 Strategy :
      $$
      z_{\text{select} } = \arg\min_{z^i \not \in \mathcal{I} } \max_{z^j \in \mathcal{I} } e^{i^\top} e^j
      $$
    • 重复直到选出 \( N \) 个 Strategy
  • 理解:这里的最大最小公式是一个贪心的多样性最大化选择 Strategy ,等价于 farthest point sampling 在语义空间中的实现:
    • 内层 \(\max\):对于每一个未选中的 Strategy \(z_i \not \in \mathcal{I}\),计算它与当前已选集合 \(\mathcal{I}\) 中所有 Strategy 的最大相似度
      • 这个值越大,说明 \(z_i\) 与已选集合 \(\mathcal{I}\) 中某个 Strategy 越相似(越冗余)
    • 外层 \(\arg \min\):在所有未选中的 Strategy \(z_i \not \in \mathcal{I} \) 中,选择那个最大相似度最小的 Strategy
      • 也就是说:选择离当前已选集合最“远”(语义最不相似)的 Strategy
步骤级辅助奖励:关键自我判断(Critical Self-Judgment)
  • 为解决稀疏奖励和 Strategy 偏离问题,StraTA 引入自我判断机制 :
    • 在轨迹完成后,让 Agent 自己判断哪些步骤既不遵循 Strategy ,也无助于任务进展 :
      $$
      \mathcal{I}^{i,j} \sim \pi_{\theta}(\cdot | \mathcal{P}, \tau^{i,j})
      $$
      • 注:仅针对 既不遵循 Strategy ,也无助于任务进展 的 负向步骤
    • 对这些步骤施加惩罚:
      $$
      R_{\text{judge} }(a_t^{i,j}) = -\kappa \cdot \mathbb{1}[t \in \mathcal{I}^{i,j}]
      $$
      • 注:仅对 既不遵循 Strategy ,也无助于任务进展 的 负向步骤施加惩罚
    • 最终动作奖励:
      $$
      \hat{R}(a_t^{i,j}) = \text{clip}\left(R(a_t^{i,j}) + R_{\text{length} } + R_{\text{format} } + R_{\text{judge} }, -1, 1\right)
      $$
StraTA 的总体训练目标
  • StraTA 的总体损失函数为:
    $$
    \begin{aligned}
    \mathcal{J}_{\text{StraTA} }(\theta) = \mathbb{E}_{\mathcal{G}_{\text{strategy} }, \{\mathcal{G}_{\text{action} }^i\} } \Bigg[
    \sum_{z^i \in \mathcal{G}_{\text{strategy} } } \mathcal{L}(z^i, A(z^i); \theta) + \sum_{i=1}^N \sum_{a_t^{i,j} \in \mathcal{G}_{\text{action} }^i} \mathcal{L}(a_t^{i,j}, A(a_t^{i,j}); \theta) - \beta D_{\text{KL} }(\pi_{\theta} | \pi_{\text{ref} })
    \Bigg]
    \end{aligned}
    $$
    • \( \mathcal{L} \) 是 GRPO 风格的 clipped surrogate objective
    • \( A(\cdot) \) 是组内归一化的 advantage

实验

  • 实验环境
    • ALFWorld :文本家庭环境,6 类任务,目标成功率和步骤奖励
    • WebShop :网络购物环境,任务分数与成功率
    • SciWorld :科学实验环境,归一化任务分数
  • 基线方法
    • Prompt-based :GPT-5.1, Claude-4-Sonnet, Gemini-2.5-Flash, Qwen2.5, ReAct
    • Training-based :PPO, RLOO, GRPO, GiGPO, AgentGym-RL, ScalingInter
  • 主要结果
    • ALFWorld :StraTA(7B)成功率 93.1%,显著优于 GiGPO(90.8%)
    • WebShop :StraTA(7B)成功率 84.2%,优于 GiGPO(72.8%)
    • SciWorld :StraTA 总体得分 63.5%,Lifespan 子集达到 100%
  • 消融实验
    • Vanilla(无多样化、无判断):79.0%
    • Diverse :87.9%
    • Judgment :81.9%
    • Full StraTA :88.9%
  • 计算效率
    • 每个 training step 的 wall-clock time:
      • PPO:~120s
      • GRPO:~100s
      • StraTA:~105s
    • 多样化采样和判断机制的额外开销可忽略(<5%)

Math——KL中得分函数和路径梯度的理解

  • 参考文献:
    • 原始论文:On a few pitfalls in KL divergence gradient estimation for RL, 20250611, Meta FAIR
    • 本文是对文章中 路径导数(Pathwise Derivative)和 得分函数导数(Score Function Derivative)的补充理解

整体说明

  • 在强化学习(尤其是策略梯度方法)中,当作者想要计算一个关于概率分布的期望的梯度时,通常会遇到两种主要的梯度类型:路径导数和得分函数导数

背景:KL 计算梯度时为什么会有两个部分?

  • 假设我们想计算 KL 散度的梯度:
    $$
    \nabla \mathbb{KL}(\pi, \pi_{\text{ref} }) = \nabla \mathbb{E}_{y\sim\pi} \left[ \log \frac{\pi(y)}{\pi_{\text{ref} }(y)} \right]
    $$
    • 这里的问题在于:参数 \(\theta\) 既出现在“采样分布”中(即 \(y \sim \pi_\theta\)),也出现在“被积函数”中(即 \(\log \frac{\pi_\theta(y)}{\pi_{\text{ref} }(y)}\))
  • 这就导致了梯度由两部分组成:
    • 路径导数 :对“被积函数”求导(假设分布固定)
    • 得分函数导数 :对“采样分布”求导(假设函数值固定)

路径导数(Pathwise Derivative)

  • Pathwise Derivative 含义:
    • 路径导数衡量的是:当作者改变策略的参数 \(\theta\) 时,被积函数本身(即 \(\log \frac{\pi(y)}{\pi_{\text{ref} }(y)}\))如何变化
    • 它假设作者采样的样本 \(y\) 是固定的,不考虑采样分布的变化
  • 在 KL 散度中的表现
    • 在论文中,路径导数部分就是直接对 KL 估计值求导:
      $$
      \nabla \overline{\mathrm{KL} } = \nabla \left( \log \frac{\pi(y)}{\pi_{\text{ref} }(y)} \right)
      $$
  • 这是大多数初学者容易想到的方式:定义 loss = KL 估计,然后 .backward(),认为这就是 KL 散度求导的全部
    • 但问题是,这样做忽略了“采样分布也在变”这一事实

得分函数导数(Score Function Derivative)

  • Score Function Derivative 的含义
    • 得分函数导数衡量的是:当作者改变策略的参数 \(\theta\) 时,采样分布 \(\pi\) 的变化对期望值的影响
  • Score Function Derivative 基于以下恒等式:
    $$
    \nabla \mathbb{E}_{y\sim\pi}[f(y)] = \mathbb{E}_{y\sim\pi}[f(y) \nabla \log \pi(y)]
    $$
    • 其中 \(\nabla \log \pi(y)\) 就是得分函数

在 KL 散度中的表现

  • 在 KL 散度中,这部分就是:
    $$
    \overline{\mathrm{KL} } \cdot \nabla \log \pi(y) = \left( \log \frac{\pi(y)}{\pi_{\text{ref} }(y)} \right) \cdot \nabla \log \pi(y)
    $$
    • 这部分反映了:如果作者更大概率采样到某个 \(y\) ,它对 KL 期望的影响
    • 这是很多开源项目缺失的部分

两者结合:完整的 KL 梯度

  • 一个无偏的 KL 梯度估计应该是:
    $$
    \hat{g} = \underbrace{\nabla \overline{\mathrm{KL} } }_{\text{路径导数} } + \underbrace{\overline{\mathrm{KL} } \cdot \nabla \log \pi(y)}_{\text{得分函数导数} }
    $$
    • 路径导数:对被积函数求导
    • 得分函数导数:对采样分布求导

为什么直接对 KL 估计求导是错的?

  • 论文中举了一个极端的例子:对普通估计 \(\overline{\mathrm{KL} }_{\text{vanilla} }\) 求导:
    $$
    \mathbb{E}[\nabla \overline{\mathrm{KL} }_{\text{vanilla} }] = \mathbb{E}[\nabla \log \pi(y)] = 0
    $$
    • 这意味着期望为零,完全没有优化效果
    • 这就是因为路径导数为零,而得分函数导数被忽略了

总结

  • 得分函数导数和路径导数的总结如下:
    类型 含义 在 KL 梯度中的形式
    路径导数 对 loss 函数本身求导 \(\nabla \overline{\mathrm{KL} }\)
    得分函数导数 对采样分布求导 \(\overline{\mathrm{KL} } \cdot \nabla \log \pi(y)\)
    完整梯度 两者之和 \(\nabla \overline{\mathrm{KL} } + \overline{\mathrm{KL} } \cdot \nabla \log \pi(y)\)
  • 如果在实际编码中想实现正确的 KL 梯度,不能只写 kl.backward(),而应该用类似:
    1
    2
    3
    kl = (log_probs - ref_log_probs).mean()
    loss = (kl.detach() * log_probs).mean() # 得分函数部分,路径导数为0,可以不加
    # 或者直接用 squared estimate

附录:得分函数的定义和名字来源

  • 得分函数的定义:在统计学中,对于一个参数化的概率模型 \(p(y; \theta)\)(即论文中的 \(\pi(y)\)),得分函数定义为:
    $$
    s(\theta; y) = \nabla_{\theta} \log p(y; \theta)
    $$
    • 也就是说,它是对数似然函数对参数 \(\theta\) 的一阶导数
  • 为什么叫“得分”?这个名字来源于似然函数的最大化过程 :
    • 在最大似然估计中,作者希望找到 \(\theta\) 使得 \(p(y|\theta)\) 最大
    • 对数似然 \(\log p(y|\theta)\) 的最大值点满足:
      $$
      \nabla_{\theta} \log p(y|\theta) = 0
      $$
    • 这个方程叫做得分方程
    • 所以,\(\nabla_{\theta} \log p(y|\theta)\) 就是“得分”本身
    • 类比一下:
      • 有一个模型,数据 \(y\) 是证据
      • 每个参数 \(\theta\) 的 “得分” 就是它能让数据出现得多好(的梯度)
      • 得分越高,说明这个参数方向越能解释数据
  • 直观理解:可以把 \(\log p(y|\theta)\) 想象成模型对数据 \(y\) 的“满意度”(对数概率)
    • 如果 \(\theta\) 稍微变化,满意度变化大,说明这个数据点对这个参数敏感
    • 这个敏感度就是“得分”
  • 得分函数有两个非常重要的性质:
    • 1)期望为零:
      $$
      \mathbb{E}_{y \sim p(y|\theta)} [\nabla_{\theta} \log p(y|\theta)] = 0
      $$
      • 这是论文中多次用到的重要性质,也是策略梯度定理的基础,证明详情见本文附录
    • 2)方差是 Fisher 信息量
      $$
      \mathrm{Var}[\nabla_{\theta} \log p(y|\theta)] = \mathcal{I}(\theta)
      $$
      • 其中 \(\mathcal{I}(\theta)\) 是 Fisher 信息矩阵,衡量了参数 \(\theta\) 的估计精度

得分函数在强化学习中的角色

  • 在强化学习和论文的上下文中,下面的式子被叫做得分函数:
    $$
    \nabla_{\theta} \log \pi_{\theta}(a|s)
    $$
  • 原因与上述得分函数名字来源完全相同:
    • \(\pi_{\theta}(a|s)\) 是一个概率模型(策略)
    • 它的对数梯度就是统计学意义上的得分函数
  • 这就是为什么策略梯度定理长这样:
    $$
    \nabla_{\theta} J(\theta) = \mathbb{E}_{\pi} [Q(s,a) \nabla_{\theta} \log \pi_{\theta}(a|s)]
    $$
    • \(Q(s,a)\) 是“权重”
    • \(\nabla_{\theta} \log \pi_{\theta}(a|s)\) 是“得分函数”

KL 梯度 为什么包含得分函数

  • 原始论文 On a few pitfalls in KL divergence gradient estimation for RL, 20250611, Meta FAIR Appendix B 中给出了完整的 KL 梯度:
    $$
    \nabla \mathbb{KL} = \mathbb{E}_{y\sim\pi}[\nabla \overline{\mathrm{KL} }] + \mathbb{E}_{y\sim\pi}[\overline{\mathrm{KL} } \cdot \nabla \log \pi(y)]
    $$
    • 第二项中的 \(\nabla \log \pi(y)\) 正是得分函数
  • 它的作用:
    • 当 \(\overline{\mathrm{KL} }\) 很大时(策略偏离参考策略很远)
    • 得分函数会告诉作者应该往哪个方向调整参数 ,使得采样分布变化,从而降低 KL

最后:得分函数与似然函数等的区别

  • 想象我们在玩一个猜数字游戏:
    • 似然函数 :我们猜的数字离正确答案有多近
    • 对数似然 :把距离转换成“得分”
    • 得分函数 :告诉我们应该往大猜还是往小猜,猜多少
  • 在 RL 中:
    • 策略 :我们猜数字的规则
    • 得分函数 :告诉我们应该怎么调整规则才能更可能猜到正确答案

附录:得分函数期望为 0 的性质证明

  • 证明目标:
    $$
    \mathbb{E}_{a \sim \pi_\theta(\cdot|s)} \left[ \nabla_\theta \log \pi_\theta(a|s) \right] = 0
    $$

预备知识

  • 对于给定的状态 \(s\),策略 \(\pi_\theta(a|s)\) 是一个关于动作 \(a\) 的概率分布(离散或连续),满足:
    $$
    \sum_a \pi_\theta(a|s) = 1
    $$
  • 或
    $$
    \int \pi_\theta(a|s) da = 1
    $$
  • 接下来对 \(\theta\) 求梯度,希望证明 score function 的期望为零

证明

  • 对于离散动作空间:
    $$
    \sum_a \pi_\theta(a|s) = 1
    $$
  • 两边对 \(\theta\) 求梯度(假设可交换求和与求导):
    $$
    \nabla_\theta \sum_a \pi_\theta(a|s) = \nabla_\theta (1) = 0
    $$
  • 即:
    $$
    \sum_a \nabla_\theta \pi_\theta(a|s) = 0
    $$
  • 现在,利用对数导数技巧:
    $$
    \nabla_\theta \pi_\theta(a|s) = \pi_\theta(a|s) \cdot \nabla_\theta \log \pi_\theta(a|s)
    $$
  • 代入上式:
    $$
    \sum_a \pi_\theta(a|s) \cdot \nabla_\theta \log \pi_\theta(a|s) = 0
    $$
  • 这正是期望的定义:
    $$
    \mathbb{E}_{a \sim \pi_\theta(\cdot|s)} \left[ \nabla_\theta \log \pi_\theta(a|s) \right] = 0
    $$
  • 注:连续情况证明同上

得分函数期望为 0 的直观理解和策略梯度法中的作用

  • 这个性质本质上是因为概率分布的归一化条件:所有概率之和为 1,梯度必须保持这个约束,所以 score function 的期望为零
  • 在策略梯度定理的推导中,这个性质被用来证明减去任意与动作无关的基线函数不会引入偏差 :
    $$
    \mathbb{E} \left[ \nabla_\theta \log \pi_\theta(a|s) \cdot b(s) \right] = \mathbb{E}_{s} \left[ b(s) \cdot \mathbb{E}_{a \sim \pi_\theta(\cdot|s)} [ \nabla_\theta \log \pi_\theta(a|s) ] \right] = 0
    $$

Math——KL散度的近似估计

  • 参考链接:
    • PPO 一作的博客:Approximating KL Divergence, 2020,在博客中解释了作者使用一些近似方法,本文主要参考该博客的内容,有一些自己的总结和思考

KL散度的定义

  • KL散度定义为:
    $$
    D_\text{KL}(q||p) = \sum_x q(x) \log \frac{q(x)}{p(x)} = \mathbb{E}_{x \sim q} \left[ \log \frac{q(x)}{p(x)} \right]
    $$
    • 很多地方也常常写为 \(D_\text{KL}(q,p)\) 或 \(KL[q,p]\)
    • 注意:这里使用的 \(p,q\) 顺序可能和常规的文章可能不同

一些假设

  • 作者假设可以计算任意 \(x\) 的概率(或概率密度) \(p(x)\) 和 \(q(x)\),但无法解析地计算关于 \(x\) 的和(即期望)
  • 现实场景中,无法解析计算的原因是有:
    • 精确计算需要过多计算资源或内存
    • 不存在闭式表达式
    • 为了简化代码,仅存储对数概率而非整个分布。如果KL散度仅用作诊断(如强化学习中常见的情况),这是一个合理的选择

好的估计量应该是怎样的?

  • 好的估计量应具有无偏性(期望相同)和低方差
  • 比如对于来自 \(q\) 的样本, \(\log \frac{q(x)}{p(x)}\) 就是一个无偏估计,但它的方差很高
    • 问题:为什么说这个式子方差高?
    • 回答:一个直观的理解是 因为对于一半样本它是负值,而KL散度总是正值,后续会通过实验验证
    • 注意 KL 散度的积分权重和分子是相同的(这是由其含义和非负性决定的),若对换分子分母,得到的是 KL 的负数值

一些前置定义

  • 定义 一个 比例 \(r\) :
    $$r = \frac{p(x)}{q(x)}$$
    • 特别注意 :这里的定义与 KL 散度中括号内的分子分母相反,对应到原始 KL 散度中,值为:
      $$
      \begin{align}
      D_\text{KL}(q||p) &= \mathbb{E}_{x \sim q} \left[ \log \frac{q(x)}{p(x)} \right] \\
      &= \mathbb{E}_{x \sim q} \left[ - \log \frac{p(x)}{q(x)} \right] \\
      &= \mathbb{E}_{x \sim q} \left[ - \log r \right]
      \end{align}
      $$

朴素估计量(\(k_1\))

  • 朴素估计量(\(k_1\)) 表达式:
    $$
    k_1 = -\log r = \log \frac{q(x)}{p(x)}
    $$
  • 无偏 : \(\mathbb{E}[k_1] = D_\text{KL}(q||p)\)
  • 高方差 :因 \(\log r\) 在 \(r>1\) 时为负, \(r<1\) 时为正,导致样本间波动大
  • 适用场景 :理论分析或对无偏性要求严格的场景,但实际应用中可能因高方差不稳定

二次估计量(\(k_2\))

  • 二次估计量(\(k_2\)) 表达式:
    $$
    k_2 = \frac{1}{2} (\log r)^2
    $$
  • 有偏(低偏差) : \(\mathbb{E}[k_2] \approx D_\text{KL}(q||p) + O(\theta^3)\),当 \(p \approx q\) 时偏差极小(如实验中的0.2%)
  • 低方差 :因平方项强制为正,减少了样本间的波动
  • 适用场景 : \(p\) 和 \(q\) 接近时的高效估计,适合作为诊断指标(如强化学习中的策略评估)
    • 理解:这里的诊断主要是指仅仅作为判断条件,而不是作为损失函数的主要优化目标

为什么说估计量 \(k_2\) 具有低偏差?

  • 它的期望是一个 \(f\)-散度。 \(f\)-散度定义为:
    $$D_f(p,q) = \mathbb{E}_{x \sim q} \left[ f\left( \frac{p(x)}{q(x)} \right) \right]$$
    • 其中 \(f\) 是凸函数
    • KL散度和其他许多著名的概率距离都是 \(f\)-散度, KL 散度中 \(f(\cdot) = -\log (\cdot)\)(\(\log(\cdot)\) 是凹函数,凹函数取负号就是凸函数)
  • 当 \(q\) 接近 \(p\) 时,所有具有可微 \(f\) 的 \(f\)-散度在二阶近似下都类似于KL散度。具体来说,对于参数化分布 \(p_\theta\) :
    $$
    D_f(p_0, p_\theta) = \frac{f’’(1)}{2} \theta^T F \theta + O(\theta^3)
    $$
    • 其中 \(F\) 是 \(p_\theta\) 在 \(p_\theta = p_0\) 处评估的Fisher信息矩阵
    • \(\mathbb{E}_q[k_2] = \mathbb{E}_q \left[ \frac{1}{2}(\log r)^2 \right]\) 对应 \(f(x) = \frac{1}{2}(\log x)^2\) 的 \(f\)-散度,而 \(D_\text{KL}(q||p)\) 对应 \(f(x) = -\log x\)。容易验证两者都有 \(f’’(1)=1\),因此对于 \(p \approx q\),两者看起来像相同的二次距离函数
  • \(k_2\) 的取值总是大于等于0,可以通过求导证明:当 \(x>0\) 时,有 \(x - \log x - 1 \ge 0\) 恒成立,最小值在 \(x=1,y=0\)处,其函数图像如下:

Bregman散度估计量(\(k_3\))

  • Bregman散度估计量(\(k_3\)) 表达式:
    $$
    k_3 = (r - 1) - \log r
    $$
  • 无偏 : \(\mathbb{E}[k_3] = D_\text{KL}(q||p)\)
  • 最低方差 :结合了 \(r-1\) 的线性项与 \(\log r\) 的校正,进一步降低波动
  • 适用场景 :对无偏性和低方差同时要求的场景(如精确的梯度估计或敏感的参数优化)

Bregman散度估计量(\(k_3\)) 是怎么设计出来的?

  • 我们的目标:是找到一个无偏且低方差的KL散度估计量
  • 降低方差的通用方法是使用控制变量:取 \(k_1\) 并加上一个期望为零但与 \(k_1\) 负相关的量
  • 幸运的是,作者发现 \(\frac{p(x)}{q(x)} - 1 = r - 1\) 是一个期望为0的量),于是,对于任意 \(\lambda\),下面的表达式都是 \(D_\text{KL}(q||p)\) 的无偏估计量:
    $$-\log r + \lambda(r - 1)$$
    • 注:作者可以通过计算最小化这个估计量的方差来求解 \(\lambda\)。但不幸的是,作者得到的表达式依赖于 \(p\) 和 \(q\),并且难以解析计算
  • 所以,作者使用更简单的策略选择一个好的 \(\lambda\)
    • 作者注意到由于 \(\log\) 是凹函数,有 \(\log(x) \leq x - 1\)
    • 因此,如果作者设 \(\lambda=1\),上述表达式保证为正。它测量了 \(\log(x)\) 与其切线之间的垂直距离
    • 于是作者提出了估计量 \(k_3 = (r - 1) - \log r\)

更多扩展和思考

  • 这种通过观察凸函数与其切平面之间的差异来测量距离的思想出现在许多地方。它被称为Bregman散度 ,具有许多优美的性质
  • 可以推广上述思想,为任何 \(f\)-散度得到一个良好的、总是正的估计量
  • 另一个KL散度是 \(KL[p,q]\)(注意这里 \(p\) 和 \(q\) 交换了位置 ,与 \(D_\text{KL}(q||p)\) 不同)
  • 由于 \(f\) 是凸函数,且 \(\mathbb{E}_q[r] = 1\),以下表达式是 \(f\)-散度的估计量:
    $$f(r) - f’(1)(r - 1)$$
  • 这个量总是正的,因为它是 \(f\) 在 \(r=1\) 处与切线的距离,而凸函数位于其切线上方。现在 \(KL[p,q]\) 对应 \(f(x) = x \log x\),它有 \(f’(1) = 1\),于是有估计量 \(r \log r - (r - 1)\)
  • 总结一下,作者提出以下估计量(对于样本 \(x \sim q\),且 \(r = \frac{p(x)}{q(x)}\)):
    $$
    \begin{align}
    D_\text{KL}(p||q): &\quad r \log r - (r - 1)\\
    D_\text{KL}(q||p): &\quad (r - 1) - \log r
    \end{align}
    $$
    • 注意上面的 KL 散度先后顺序,KL 散度不是对称的

Experiments

  • 现在让我们比较三个 \(D_\text{KL}(q||p)\) 估计量的偏差和方差
  • 定义 \(q = \mathcal{N}(0,1)\), \(p = \mathcal{N}(0.1,1)\)(此时真实的KL散度为0.005)
    统计量/真实值 \(k_1\) \(k_2\) \(k_3\)
    偏差(期望与真实值差) 0 0.002 0
    标准差 20 1.42 1.42
    • 注意到 \(k_2\) 的偏差在这里极低:仅为0.2%
    • 以上标准差是使用 KL 单独作归一化后的(除以 KL 散度)
  • 定义 \(p = \mathcal{N}(1,1)\) (此时真实KL散度为0.5)
    统计量/真实值 \(k_1\) \(k_2\) \(k_3\)
    偏差(期望与真实值差) 0 0.25 0
    标准差 2 1.73 1.7
    • 这里 \(k_2\) 的偏差大得多
    • \(k_3\) 在保持无偏的同时甚至比 \(k_2\) 具有更低的标准差,因此它似乎是一个严格更好的估计量
  • 作者给出的上述实验的代码:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    import torch.distributions as dis
    p = dis.Normal(loc=0, scale=1)
    q = dis.Normal(loc=0.1, scale=1)
    x = q.sample(sample_shape=(10_000_000,))
    truekl = dis.kl_divergence(p, q)
    print("true", truekl)
    logr = p.log_prob(x) - q.log_prob(x)
    k1 = -logr
    k2 = logr ** 2 / 2
    k3 = (logr.exp() - 1) - logr
    for k in (k1, k2, k3):
    print((k.mean() - truekl) / truekl, k.std() / truekl)

一些总结和思考

  • 三种估计量的对比如下:
    估计量 无偏性 方差 偏差(当 \(p \neq q\)) 计算复杂度 适用场景
    \(k_1\) 无偏 高 0 低 理论分析,高精度需求
    \(k_2\) 有偏(低) 中低 随 \(KL\) 增大而增加 低 \(p \approx q\) 时的一些近似判别
    \(k_3\) 无偏 最低 0 中(需算 \(r\)) 高精度需求(如优化算法)
  • 方差排序 : \(k_3 < k_2 < k_1\)
  • 偏差权衡 :
    • 若 \(p \approx q\), \(k_2\) 的偏差可忽略,且计算简单
    • 若 \(KL\) 较大(如 \(p,q\) 差异显著), \(k_3\) 是唯一同时满足无偏和低方差的选项
  • 实践建议 :
    • 使用 \(k_3\) 作为默认选择(尤其对敏感任务)
    • 在快速迭代或 \(p \approx q\) 时,可用 \(k_2\) 作为轻量替代

不同估计值的函数图像

  • 函数图像如下:
  • 补充讨论:
    • 背景:从图中看,不管是 k1,k2 还是 k3,当 kl 散度为 0.1 的时候(VeRL 的默认 kl_target 值),其实 ratio 波动已经不小了(以 k1 为例,此时的比值 r 为 \(e^{-0.1} \approx 0.9\))
    • 问题:为什么体感上,模型整体偏差又还好?
    • 回答(暂为个人思考推测,不严谨):
      • 一方面,因为均值会被一些大的 ratio 带偏:真实观察来看,实际上 k1_kl 的均值会是中位数的两倍左右(说明少量的异常值主导了大的 kl,许多 Token 的 kl 其实没有变化太多)
      • 另一方面,一些 Token 的概率变化成了 0.9 其实也还好(比如原始 0.2 的,现在变成 0.18,似乎对整体分布的变化也还好)
  • 补充:上述图片的生成代码如下:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    import numpy as np
    import matplotlib.pyplot as plt

    # Define the functions
    def k1(r):
    return -np.log(r)

    def k2(r):
    return 0.5 * (np.log(r))**2

    def k3(r):
    return (r - 1) - np.log(r)

    x_max = 10

    # Generate r values (avoid r=0 for log)
    r = np.linspace(0.01, x_max, 500)

    # Calculate function values
    k1_vals = k1(r)
    k2_vals = k2(r)
    k3_vals = k3(r)

    # Create plot
    plt.figure(figsize=(10, 6))
    plt.plot(r, k1_vals, label='k1(r) = -log(r)', linewidth=2)
    plt.plot(r, k2_vals, label='k2(r) = 0.5*(log(r))^2', linewidth=2)
    plt.plot(r, k3_vals, label='k3(r) = (r-1) - log(r)', linewidth=2)

    # Add special points and lines
    plt.axvline(1, color='gray', linestyle='--', alpha=0.5)
    plt.plot(1, 0, 'ro') # All functions equal 0 at r=1

    # Plot formatting
    plt.title('KL Divergence Estimators as Functions of r=p(x)/q(x)', fontsize=14)
    plt.xlabel('r = p(x)/q(x)', fontsize=12)
    plt.ylabel('Estimator Value', fontsize=12)
    plt.legend(fontsize=12)
    plt.grid(True, alpha=0.3)
    plt.xlim(0, x_max)
    plt.ylim(-3, 10)

    # Show plot
    plt.tight_layout()
    plt.show()

附录:回顾凹函数和凸函数定义

凸函数(Convex Function)

  • 若函数 \( f \) 的定义域为某个凸集(如区间),且对定义域内任意两点 \( x_1, x_2 \) 和任意 \( \lambda \in [0, 1] \),满足:
    $$
    f(\lambda x_1 + (1-\lambda) x_2) \leq \lambda f(x_1) + (1-\lambda) f(x_2)
    $$
  • 则称 \( f \) 为凸函数
  • 直观理解:函数图像上任意两点间的线段始终位于函数图像上方(或重合),形如“碗状”或“线性”
  • 举例: \( f(x) = x^2 \)、\( f(x) = e^x \))

凹函数(Concave Function)

  • 若函数 \( f \) 的定义域为凸集,且对任意两点 \( x_1, x_2 \) 和 \( \lambda \in [0, 1] \),满足:
    $$
    f(\lambda x_1 + (1-\lambda) x_2) \geq \lambda f(x_1) + (1-\lambda) f(x_2)
    $$
  • 则称 \( f \) 为凹函数
  • 直观理解:函数图像上任意两点间的线段始终位于函数图像下方(或重合),形如“拱形”或“线性”
  • 举例:\( f(x) = -x^2 \)、\( f(x) = \ln x \)(定义域 \( x > 0 \))

补充说明

  • 线性函数既是凸的也是凹的(因不等式取等号)
  • 凹凸性反转 :若 \( f \) 是凸函数,则 \( -f \) 是凹函数,反之亦然
  • 严格凸/凹 :当不等式在 \( x_1 \neq x_2 \) 且 \( \lambda \in (0,1) \) 时严格成立(如 \( < \) 或 \( > \)),则称函数为严格凸或严格凹

附录:LLM 训练中的 k1,k2,k3

  • LLM 中训练时,发现一个反常的现象:k3 估计值的波动远大于 k1

    • 这与本文代码的评估结果相反
  • 原因如下:

    • 当分布接近时(本文中的两个分布比较接近),采样点的比值接近 \(r \approx 1\),即 \(\log r \approx 0\),此时对 k3 可以泰勒展开,变化为:
      $$
      \begin{align}
      k3 &= (r-1) - \log r \\
      &= (e^{\log r}-1) - \log r \\
      &= (1+ \log r + (\log r)^2 + o((\log r)^2) - 1) - \log r \\
      &= (\log r)^2 + o((\log r)^2)
      \end{align}
      $$
      • 显然,原始 k1 = \(- \log r\) 是一次项,这里是二次项,当 \(\log r \approx 0\),二次项的方差显然更小
    • 当分布存在差异较大的点时(如 LLM 的高维空间中,两个分布的比值可能出现较大差异)k3 中包含的 \(r\) 相当于是:
      $$ r = e^{\log r} $$
      • 可以看到 k3 的 \(r\) 相对 k1, k2 的 \(\log r\) 来说,本质是指数项,相对来说会放大对数比值的量级,导致出现波动较大的情况
      • 具体来说,由于 \(r = \frac{\pi_{\theta_\text{ref}}}{\pi_\theta}\),所以,当 \(\pi_\theta\) 变得很小时会发生 \(r\) 被无限放大的情况(即异常值)
  • 复现 k3 出现较大值的情况:

    • 设定一:两个分布应该有一定的差异,即允许原始分布较大的值,在当前分布上较小的点出现

    • 设定二:同时打印 k1, k2, k3 的最大值(即异常值)

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      38
      39
      40
      41
      42
      # 作者原始测试代码:
      import torch.distributions as dis
      p = dis.Normal(loc=0, scale=1)
      q = dis.Normal(loc=0.1, scale=1)
      x = q.sample(sample_shape=(10_000_000,))
      truekl = dis.kl_divergence(p, q)
      print("true", truekl)
      logr = p.log_prob(x) - q.log_prob(x)
      k1 = -logr
      k2 = logr ** 2 / 2
      k3 = (logr.exp() - 1) - logr
      for k in (k1, k2, k3):
      print((k.mean() - truekl) / truekl, k.std() / truekl, k.max()) # 微改,增加 k.max()

      # true tensor(0.0050)
      # tensor(-0.0014) tensor(20.0019) tensor(0.5416)
      # tensor(0.0027) tensor(1.4182) tensor(0.1467)
      # tensor(0.0001) tensor(1.4169) tensor(0.1412)

      # 微改上述代码:
      import torch.distributions as dis
      p = dis.Normal(loc=0, scale=1) # old 策略
      # q = dis.Normal(loc=0.1, scale=1) # 之前作者的定义
      q = dis.Normal(loc=1, scale=1) # new 策略,这里假设偏移了较多了,注意:LLM 中是 Categorical 分布,其实变化应该比 正太分布大多了(正太分布太规范了)
      x = q.sample(sample_shape=(10_000_000,)) # 保持作者之前的采样方式,样本点都是从当前策略 q 中采样得到的,跟线上 LLM 对齐
      # x = dis.Normal(0,1).sample(sample_shape=(10_000_000,))
      truekl = dis.kl_divergence(p, q)
      print("true", truekl)
      logr = p.log_prob(x) - q.log_prob(x) # p 是 old 策略
      # logr = logr.double()
      print("mean_ratio", logr.exp().mean())
      k1 = -logr
      k2 = logr ** 2 / 2
      k3 = (logr.exp() - 1) - logr
      for k in (k1, k2, k3):
      print((k.mean() - truekl) / truekl, k.std() / truekl, k.max())

      # true tensor(0.5000)
      # mean_ratio tensor(1.0002)
      # tensor(-0.0005) tensor(1.9999) tensor(5.9776)
      # tensor(0.2497) tensor(1.7324) tensor(17.8657)
      # tensor(-0.0001) tensor(1.6956) tensor(124.3422) # 这里可以看到,k3 估计器标准差最小,但是 k3 的最大值明显大于 k1 和 k2,若分布点再变化大一些,这个值会更离谱;原因就是因为 k3 包含了 r=e^{log(r)},而 k1 和 k2 都是 log(r)
      • 可以看到,当分布差异明显时,k3 的最大值确实是更大的,这也是一些 Batch 中看到 k3 非常离谱的原因
  • 实际上,在 LLM 中,是多项式分布的,如果当前 Token 对应的 概率降低了非常多,就会导致异常的 k3 出现,且概率降低的倍数就是 k3 的值的量级
    $$ k3 \approx r = \frac{\pi_{\theta_\text{ref}}}{\pi_\theta}, \quad \text{when } r \text{ is big}$$

    • 一般来说 k3 应该不会出现非常大的异常值
      • 加上 Token 是当前策略或临近的策略采样得到的,当前策略一般很难采样到概率极低的 Token
      • 如果是个位数是比较 OK 的,如果出现几百甚至几千(现实中遇到过上万),此时就要小心了,应该是推理出错了导致的
    • 实际训练时,看到了一些 cur_policy_log_prob = -12 的 Token,这些 Token 的采样概率本应该很低(甚至不应该采样出来才对)
    • 修复这个问题:
      • 使用 min_p ,保证太低概率的 Token 不要采样出来
      • 减少 Rollout 和 Megatron 策略的 diff, Rollout 时 概率较大的 Token,在 Megatron 计算后概率也有偏小的可能性

补充:k3 的梯度推导

  • 首先有:
    $$
    \begin{align}
    r = \frac{\pi_{\theta_\text{ref}}}{\pi_{\pi_\theta}}\\
    Loss_{k3} = r - 1 - \log r
    \end{align}
    $$
  • 要计算 Loss 对模型输出(Logits)的梯度
    • 令 \(u = \log \pi_{\pi_\theta}\)(这是模型直接输出的东西)
    • 那么 \(\log r = \log \pi_{\theta_\text{ref}} - u\)
    • 所以 \(r = e^{\log \pi_{\theta_\text{ref}} - u} = C \cdot e^{-u}\) (\(C\) 是常数)
  • 代入 Loss 公式:
    $$L(u) = C \cdot e^{-u} - 1 - (\log C - u) = C \cdot e^{-u} - 1 - \log C + u$$
  • 现在对 \(u\) 求导(计算梯度):
    $$
    \begin{align}
    \frac{\partial L}{\partial u} &= C \cdot e^{-u} \cdot (-1) + 0 - 0 + 1 \\
    \frac{\partial L}{\partial u} &= 1 - r
    \end{align}
    $$
  • 最终得到:梯度是
    $$(1 - r) \nabla_\theta u_\theta = (1 - r) \nabla_\theta \log \pi_{\pi_\theta} $$
    • 注:这与 REINFORCE++ 中附录公式 (14) 中的推导结果一致

问题:GRPO 中,当 k3 估计下的 kl_loss 很大时,梯度会很大吗?

  • 从上面可以知道,梯度是:
    $$ (1 - r) \nabla_\theta \log \pi_{\pi_\theta} $$
    • 显然,当 Loss 很大是因为 \(r\) 很大导致的时,梯度是很大的
  • 注:另一种可能是 Loss 很大是因为 \(r\) 无限趋近于 0 导致的
    • 但这种情况需要 \(r\) 非常非常小才会导致,比如即使小如 \(r= 1e-10\) 时:
      $$- \log r = - ln(1e-10) \approx 23$$
    • 而且这种情况下,当 k3 很大时, k1 和 k2 也会很大

问题:什么情况下会出现 k1,k2 平缓,但 k3 发生 spike 的问题?

  • k3 和 k1,k2 的主要区别在于:
    • k1, k2 仅拥有 \(\log r\) 或 \((\log r)^2\)
    • k3 同时拥有 \(\log r\) 和 \(r\)
  • 当 \(\log r\) 没有问题,但 \(r\) 很大时,会出现 k1,k2 平缓,但 k3 发生 spike
    • 此时 说明当前策略 Token 的概率相对 Reference 策略的概率小很多(小 \(r\) 倍)

附录:Reverse KL Divergence vs Forward KL Divergence

  • 正向 KL 散度和反向 KL 散度

两种 KL 散度的定义

  • KL 散度(Kullback–Leibler Divergence)衡量两个概率分布 \( P \) 和 \( Q \) 之间的差异(非对称):
    • 假设 \( P \) 为 真实分布(待拟合的目标分布/已知分布);\( Q \) 是 近似分布(待学习的分布)
Forward KL
  • Forward KL 从 真实分布 \(P\) 中采样,惩罚 \(Q\) 给 \(P\) 的高概率事件分配低概率(即“覆盖模式(Mode-covering)”)
    $$
    D_{KL}(P | Q) = \mathbb{E}_{x \sim P} \left[ \log \frac{P(x)}{Q(x)} \right]
    $$
Reverse KL
  • Reverse KL 从 近似分布 \(Q\) 中采样,惩罚 \(Q\) 给自身的样本分配高概率,而 \(P\) 却认为这些样本概率很低(即“避免零概率陷阱”或“模式寻求”)
    $$
    D_{KL}(Q | P) = \mathbb{E}_{x \sim Q} \left[ \log \frac{Q(x)}{P(x)} \right]
    $$

两者的区别

  • 假设真实分布 \(P\) 是一个双峰分布(两个分离的高峰),而论文的模型分布 \(Q\) 是一个单峰分布(如高斯分布)
  • 最小化前向 KL 散度 \(D_{KL}(P | Q)\)
    • 优化目标是让 \(Q\) 覆盖 \(P\) 的所有高概率区域
    • \(Q\) 会尝试覆盖两个峰,变成一个宽而平的分布 ,覆盖两个模式,但无法精确匹配任何一个(均值覆盖,模糊拟合)
    • 核心是 避免遗漏(avoid missing modes)
  • 最小化反向 KL 散度 \(D_{KL}(Q | P)\)
    • 优化目标是让 \(Q\) 只放在 \(P\) 的某一个高概率区域 ,并尽量让 \(Q\) 自身的概率集中
    • \(Q\) 会选择其中一个峰 ,并紧密拟合它,完全忽略另一个峰(模式寻求(Mode-seeking),尖锐拟合)
    • 核心 避免生成低概率样本(avoid generating low-probability samples)

RLHF 中的 KL 一般是 Reverse KL

  • 在 RLHF 中,我们一般使用如下 KL 散度(in reward or as loss)
    $$ \mathbb{E}_{x\sim \mathcal{D}} D_\text{KL}(\pi_\theta(\cdot|x) || \pi_\text{ref}(\cdot|x))$$
  • 我们一般认为 \(\pi_{\text{ref}}\) 是真实分布(因为 \(\pi_{\text{ref}}\) 是已知分布)
  • 由于采样分布是待优化分布 \(\pi_\theta(\cdot|x)\),是近似分布(未知分布)所以上面的 RLHF 中的 KL 散度一般认为是 Reverse KL

SFT 中的 KL 一般是 Forward KL

  • 在 SFT 中,是想要让未知分布贴近已知分布(专家分布)
    • 此时认为专家分布是真实分布,数据集采样是从专家分布中得到的
  • 我们在最小化 SFT 的损失函数时,本质是最小化待优化策略的分布和专家分布之间的 KL 散度
  • 这个 KL 散度的估计是从真实分布中采样来计算的,所以认为 SFT 的 KL 是 Forward KL

NLP——技术报告解读-LongCat-Flash-Chat

注:本文包含 AI 辅助创作

  • 参考链接:
    • 原始论文:github.com/meituan-longcat/LongCat-Flash-Chat/blob/main/tech_report, 20250831, LongCat Team, Meituan
    • LongCat Chat 在线体验: https://longcat.ai
    • Hugging Face: https://huggingface.co/meituan-longcat
    • Github: https://github.com/meituan-longcat
    • 部署链接:LongCat-Flash Deployment Guide
      • [Model] Add LongCat-Flash #23991
      • [Model] Support Meituan LongCat-Flash && LongCat-Flash-MTP #9824

Paper Summary

  • LongCat-Flash 是一个 560B 参数的 MoE 模型,LongCat-Flash 采用了两种新颖的设计:
    • (a) 零计算专家(Zero-computation Experts) :
      • 能够实现动态计算预算分配,并根据上下文需求为每个 token 激活 18.6B 至 31.3B (平均 27B )参数,从而优化资源使用
    • (b) 捷径连接的 MoE(Shortcut-connected MoE)
      • 扩大了计算-通信重叠窗口,与同等规模的模型相比,在推理效率和吞吐量方面展现出显著提升
  • 论文为大型模型开发了一个全面的扩展框架,该框架结合了多个能力以实现稳定且可复现的训练:
    • 超参数迁移(hyperparameter transfer)
    • 模型增长初始化(model-growth initialization)
    • 多管齐下的稳定性套件(multi-pronged stability suite)
    • 确定性计算(deterministic computation)
  • 利用可扩展架构设计和基础设施工作之间的协同作用,作者在 30 天内完成了超过 20T token 的模型训练,同时实现了超过 100 tokens/秒(TPS)的推理速度,每百万输出 token 的成本为 0.70 美元
  • 训练过程:
    • 在优化的混合数据上进行了大规模预训练
    • 随后针对推理、代码和指令进行了有针对性的中期训练(mid-training)和Post-training
    • 并进一步通过合成数据(synthetic data)和工具使用任务(tool use tasks)进行增强
  • 作为一个 Non-thinking 的基础模型,LongCat-Flash 在其他领先模型中提供了极具竞争力的性能,并在智能体任务中表现出卓越的优势

Introduction and Discussion

  • LLM 的快速发展已经证明了扩展模型规模和计算资源的有效性
    • 尽管最近的一些进展引发了人们对潜在扩展放缓的担忧,但作者相信算法设计、底层系统优化和数据策略都在进一步推动可扩展智能前沿方面扮演着同样关键的角色
    • 这需要在模型架构和训练策略上进行创新,以提高扩展的成本效益,同时需要一个系统性的数据策略来增强模型解决现实世界任务的能力
  • LongCat-Flash 旨在沿着两个协同方向推进语言模型的前沿:计算效率(computational efficiency) 和 智能体能力(agentic capability)
  • LongCat-Flash 在数万个加速器(Accelerators)上训练, 将架构创新与复杂的多阶段训练方法相结合,以打造可扩展且智能的模型
    • 注意:使用的是 Accelerators 不一定是英伟达的 GPU!
  • 论文的贡献涵盖了效率和智能体智能两个方面:
  • 面向计算效率的可扩展架构设计(Scalable Architectural Design for Computational Efficiency)
    • LongCat-Flash 的设计和优化遵循两个关键原则:高效的计算利用率 ,高效的训练和推理
    • (1) 由于 并非所有 token 都是平等的 ,论文在 MoE 块中引入了 零计算专家(zero-computation experts) 机制,根据 token 的重要性为其动态分配计算预算,即基于上下文需求激活 18.6B 至 31.3B 参数(总共 560B )
      • 为了确保一致的计算负载,论文采用了由 PID 控制器调整的专家偏置(expert bias) ,将每个 token 的平均激活参数维持在约 27B
    • (2) 由于通信开销在 MoE 模型扩展过程中成为瓶颈,论文采用了 捷径连接的 MoE(Shortcut-connected MoE, ScMoE) (2024) 设计来扩大计算-通信重叠窗口
      • 结合定制的基础设施优化,该设计使得能够在超过数万个加速器的大规模上进行训练,并实现高吞吐量和低延迟的推理
  • 有效的模型扩展策略(Effective Model Scaling Strategy)
    • 有效且高效地扩展模型规模仍然是策略设计中的一个关键挑战,为此,论文开发了一个全面的稳定性与扩展框架,用于稳健地训练大规模模型:
    • (1) 论文成功地将超参数迁移策略应用于如此大的模型
      • 通过利用具有理论保证的较小代理模型的结果来预测最优超参数配置
    • (2) 论文使用基于精炼的半规模检查点的模型增长机制(model-growth mechanism based on a refined half-scale checkpoint)来初始化模型
      • 与传统的初始化方法相比,实现了更好性能
    • (3) 一个多管齐下的(multi-pronged)稳定性套件包含了:
      • 原则性的路由器梯度平衡(principled router-gradient balancing)
      • 用于抑制大规模激活的隐藏 z-loss (hidden z-loss to suppress massive activations)
      • 精调的优化器配置(fine-tuned optimizer configurations)
    • (4) 为了增强大规模集群训练的可靠性,论文引入了确定性计算(deterministic computation)
      • 这保证了实验的精确可复现性,并能够在训练过程中检测静默数据损坏(Silent Data Corruption, SDC)
    • 以上这些干预措施确保了 LongCat-Flash 的训练保持稳定,没有出现不可恢复的损失尖峰
  • 面向智能体能力的多阶段训练流程(Multi-Stage Training Pipeline for Agentic Capability)
    • 通过精心设计的流程,LongCat-Flash 被赋予了先进的智能体行为
    • 最初的努力集中在构建一个更适合智能体后训练的基础模型上,论文设计了一个两阶段预训练数据融合策略(two-stage pretraining data fusion strategy)来浓缩(concentrate) reasoning-intensive 领域的数据
    • 在中期训练期间,论文增强了推理和编码能力,同时将上下文长度扩展到 128k,以满足智能体后训练的要求
    • 基于这个先进的基础模型,论文进行多阶段的后训练
    • 认识到高质量、高难度的智能体任务训练问题的稀缺性,论文设计了一个多智能体合成框架 ,该框架在三个轴线上定义任务难度,即:
      • 信息处理(information processing)
      • 工具集复杂性(tool-set complexity)
      • 用户交互(user interaction):使用专门的控制器来生成需要迭代推理和环境交互的复杂任务
  • 受益于论文在可扩展架构设计、训练策略和基础设施工作之间的协同作用,LongCat-Flash 同时实现了高训练吞吐量和低推理延迟
    • 在 30 天内完成了 560B 参数模型超过 20T token 的预训练 ,并在无需人工干预解决故障的情况下实现了 98.48% 的时间可用性
    • 在推理期间,大规模部署效率在 H800 上超过每秒 100 个 token(TPS) ,每百万输出 token 的成本为 0.7 美元,与类似规模的模型相比,展现了卓越的性能
  • 论文在各种基准测试中评估了 LongCat-Flash 的基础版本和指令调优版本,其概览总结在图 1 中
    • 作为一个非思维模型,LongCat-Flash 实现了与 SOTA 非思维模型(包括 DeepSeek-V3.1 (2025) 和 Kimi-K2 (2025))相媲美的性能,同时使用了更少的参数并提供了更快的推理速度
    • LongCat-Flash 得分展示了在通用领域、编码和智能体工具使用方面的强大能力:
      • 在 ArenaHard-V2 上得分为 86.5
      • 在 TerminalBench 上得分为 39.5
      • 在 \(\tau^{2}\)-Bench 上得分为 67.7
    • 为了减轻现有开源基准测试可能带来的污染(contamination)并增强评估信心,论文精心构建了两个新的基准测试:Meeseeks (2025) 和 VitaBench
      • Meeseeks 通过迭代反馈框架模拟真实的人与 LLM 交互,以评估多轮指令遵循能力,LongCat-Flash 在该测试中取得了与前沿 LLMs 相当的成绩
      • VitaBench 利用真实的商业场景来评估模型在处理复杂现实世界任务方面的熟练程度,LongCat-Flash 在其中提供了优于其他 LLMs 的性能
  • 论文组织结构如下:
    • 首先,详细介绍 LongCat-Flash 的架构和创新之处
    • 然后,描述预训练和后训练过程,包括论文的训练策略、数据构建方法和评估结果
    • 最后,讨论训练 LongCat-Flash 过程中的挑战和解决方案,以及利用其独特架构的优化推理和部署方法

Architecture

  • LongCat-Flash 采用了一种新颖的 MoE 架构,包含两项关键创新(图 2):
    • (1) MoE 块中引入了零计算专家(zero-computation experts)(2024) 以实现动态计算
      • 允许 token 根据其上下文重要性消耗可变计算资源
      • 且通过自适应专家偏置(adaptive expert bias)来调节平均计算负载
    • (2) 每一层集成了两个多头潜在注意力(Multi-head Latent Attention, MLA)块 (2024a) 和多个异构前馈网络(Feed-Forward Network, FFN)块
      • 采用了从第一个 MLA 输出到 MoE 块的快捷连接(shortcut connection)(2024)
      • 为了进一步提升性能,论文通过方差对齐(variance alignment)改进了 MLA 和细粒度 FFN 专家

Zero-Computation Experts

  • Next Token Prediction 展现出固有的计算异质性(computational heterogeneity)
    • 困难的 token 可能需要更多资源来进行准确预测,而简单的 token 则需要可忽略的计算
    • 注:这种现象也通过 投机采样(speculative decoding) 得到了经验性证据支持,其中小型草稿模型(draft model)能够可靠地预测大型模型对于大多数简单 token 的输出 (2023)
  • 受现象启发,LongCat-Flash 提出了一种动态计算资源分配机制,通过零计算专家 (2024, 2024) 为每个 token 激活可变数量的 FFN 专家,从而能够根据上下文重要性更合理地分配计算
    • 具体来说,LongCat-Flash 除了 \(N\) 个标准 FFN 专家外,还将其专家池扩展了 \(Z\) 个零计算专家
  • 零计算专家简单地将其输入 \(x_{t}\) 作为输出返回,因此不引入额外的计算成本
  • 令 \(x_{t}\) 为输入序列的第 \(t\) 个 token,LongCat-Flash 中的 MoE 模块可以公式化如下:
    $$
    \begin{align}
    \text{MoE}(x_{t})&=\sum_{i=1}^{N+Z}g_{i}E_{i}(x_{t}), \\
    g_{i}&=\begin{cases}
    R(x_{t})_{i}, & \text{if } R(x_{t})_{i} \in \text{TopK}(R(x_{t})_{i}+b_{i} \mid 1\leq i\leq N+Z, K), \\
    0, & \text{otherwise},
    \end{cases} \\
    E_{i}(x_{t})&=\begin{cases}
    \text{FFN}_{i}(x_{t}), & \text{if } 1\leq i\leq N, \\
    x_{t}, & \text{if } N < i\leq N+Z,
    \end{cases} \tag{1}
    \end{align}
    $$
    • \(R\) 表示 softmax 路由器(router)
    • \(b_{i}\) 是对应于第 \(i\) 个专家的专家偏置(expert bias)
    • \(K\) 表示每个 token 选择的专家数量
      • 问题: \(K\) 和 \(N+Z\) 有什么关系?\(\text{TopK}(R(x_{t})_{i}+b_{i} \mid 1\leq i\leq N+Z, K)\) 的具体含义是什么?
  • 路由器将每个 token 分配给 \(K\) 个专家,其中激活的 FFN 专家数量根据上下文重要性因 token 而异
  • 通过这种自适应分配机制,模型学会动态地将更多计算资源分配给具有更高上下文重要性的 token,从而在与图 2(a) 所示相同计算能力下实现更优的性能
Computational Budget Control
  • 为了激励模型学习上下文相关的计算分配,对零计算专家的平均选择比率进行细粒度控制至关重要
    • 没有显式约束时,模型倾向于未充分利用零计算专家(理解:即不选择零计算专家),导致资源使用效率低下
  • 论文通过改进无辅助损失(aux-loss-free strategy)策略 (2024a) 中的专家偏置机制来实现这一点,引入了一个专家特定的偏置项,该偏置项根据最近的专家利用率动态调整路由分数 ,同时与语言模型(LM)训练目标解耦
  • 对于对应于第 \(i\) 个专家的专家偏置 \(b_{i}\) ,它在每个步骤中按以下增量更新:
    $$
    \Delta b_{i}=\begin{cases}
    \mu \left( \frac{K_{e} }{K} \cdot \frac{1}{N} - \frac{T_{i} }{T_{\text{all} } } \right), & \text{if } 1\leq i\leq N, \\
    0, & \text{if } N < i\leq N+Z,
    \end{cases}
    \tag{2}
    $$
    • \(\mu\) 表示偏置适应率(bias adaptation rate)
    • \(T_{\text{all} }\) 表示全局批次(global batch)中的 token 数量
    • \(T_{i}\) 表示路由到第 \(i\) 个专家的 token 数量
    • \(K_{e}\) 表示期望激活的 FFN 专家数量,它小于每个 token 选择的专家数量 \(K\)
    • 理解:
      • 回顾:供包含 \(N\) 个标准 FFN 专家(非0计算专家),\(Z\) 个零计算专家
      • \(\frac{1}{N}\) 表示绝对均衡情况下,每个非0计算专家需要负担的 Token 比例(所有 Token 比例)
      • \(\frac{K_{e} }{K}\) 表示非0计算专家占选中的总专家数的比例(注意只有非 0 计算专家需要计算比例)
      • \(\frac{K_{e} }{K}\frac{1}{N}\) 则表示绝对均匀情况下,每个非0计算专家需要负担的非0计算 Token 比例
        • 注意:这里有点绕,实际上,路由到当前专家的 Token 都是命中了非 0 专家的部分
      • \(\frac{T_{i} }{T_{\text{all} } }\) 表示当前专家(非0专家)被路由到的 Token 比例(路由到当前专家的都是非0专家路由)
      • 最终,当所有非 0 专家都满足上面的式子为 0 时,即:
        $$ \frac{K_{e} }{K} \cdot \frac{1}{N} - \frac{T_{i} }{T_{\text{all} } } = 0 $$
        • 此时每个非0专家被路由的次数比例为
          $$ \frac{T_{i} }{T_{\text{all} } } = \frac{K_{e} }{K} \cdot \frac{1}{N} $$
        • 此时,总的非0专家被路由总次数比例为
          $$\frac{K_{e} }{K}$$
        • 结合每个 Token 路由共 \(K\) 个专家,此时每个 Token 对应的非0专家次数为:
          $$\frac{K_{e} }{K} \times K = K_e$$
        • 每个 Token 对应的 0 计算专家次数为:
          $$ K - K_e $$
        • 注:对 0 计算专家,我们不要求每个专家都均衡的被路由,仅仅考虑整体满足比例约束即可
          • 原因:非0计算专家是等价的,计算是完全一致的,都是 identity 操作!!
  • 上述更新规则采用了控制理论中的 PID 控制器(比例-积分-微分控制器)(Bennett, 1993),确保第 \(i\) 个专家的 token 分配收敛到其目标比例
    • 与固定的偏置增量 (2024a) 相比,这种机制提高了 softmax 路由器概率分布在专家数量扩展时的鲁棒性
    • 值得注意的是,论文将零计算专家排除在偏置更新之外 ,因为它们的恒等性质只需要一个全局约束 ,当所有 FFN 专家达到其期望的 token 比例时,该约束会自动满足
      • 问题:如何理解?
    • 根据经验,大 Batch Size 和 \(\mu\) 的衰减计划(decay schedule)提高了预算控制的稳定性,而小 Batch Size 可能需要降低更新频率
  • 在预训练期间,论文跟踪了激活专家的平均数量和标准差(图 2(b) 和 2(c))
    • 结果表明,在经过大约 20B token 的调整后,所有层中的平均专家数量收敛到期望值,波动小于 1%
    • 但标准差持续保持在相对较高的水平,表明模型在不同 token 间分配了显著不同的计算资源
  • 注:关于动态路由的详细统计和案例研究,请参阅附录 A.1
  • 补充 图 3:
    • (a) 在匹配的计算预算下,比较带有/不带有零计算专家的模型的验证损失曲线
      • 基线(top-k=8,蓝色)每个 token 固定激活 6B 参数,而零专家变体(top-k=12,橙色)动态激活 4.2B-7.0B 参数,但保持 8 个 FFN 专家的期望(波动小于 1%)
      • 一致的损失降低证明了零计算专家的有效性
    • (b) LongCat-Flash 训练期间激活的 FFN 专家的平均数量
      • 平均数量始终保持在大约 8 左右,对应于期望的 27B 激活参数
    • (c) 激活的 FFN 专家的标准差增长到 3,表明不同 token 间激活参数存在显著变异性
Load Balance Control
  • 高效的 MoE 训练需要 FFN 专家之间的鲁棒负载均衡
  • 公式 (2) 在语料库级别强制执行平衡,论文进一步引入了设备级负载均衡损失 (DeepSeek-2025) 以进一步防止 EP 组(Expert Parallelism groups)之间的极端序列级不平衡
  • 论文做出了必要的努力来适应零计算专家,具体来说:假设所有 \(N\) 个 FFN 专家被分为 \(D\) 个组,每组包含 \(G=\frac{N}{D}\) 个专家,该损失可以表示为:
    $$
    \begin{align}
    \mathcal{L}_{\text{ LB} } &=\alpha\sum_{j=1}^{D+1}f_{j}P_{j}, \tag{3} \\
    P_{j} &=\frac{1}{T}\sum_{i\in\text{Group}_{j} }\sum_{t=1}^{T}R(x_{t})_{i},
    \tag{4} \\
    f_{j} &=\begin{cases}
    \dfrac{D}{K_{e}T}\sum_{t=1}^{T}\mathbb{I}(\text{token } t \text{ selects Group}_{j}), & \text{if } 1\leq j\leq D, \\
    \dfrac{1}{(K-K_{e})T}\sum_{t=1}^{T}\mathbb{I}(\text{token } t \text{ selects zero-computation experts}), & \text{if } j = D+1,
    \end{cases} \tag{5}
    \end{align}
    $$
    • \(\alpha\) 是平衡因子
    • \(T\) 是微批次(micro batch)中的 token 数量
    • \(\mathbb{I}\) 是指示函数
    • 理解(与 DeepSeek-V3 类似,比 DeepSeek-V3 设计复杂一些):
      • 每次计算最小化 损失 \(\mathcal{L}_{\text{ LB} }\) 时,都可以看做是一个求解约束优化问题的过程
      • 约束优化问题为:
        • 求解约束优化问题时,系数 \(f_{j}\) 可以看做是固定值(是每个序列的统计值,不同序列该值不同)
        • 变量是 \(P_{j}\) 满足一定约束(详情参考 DeepSeek-V3)
          $$ \sum_j P_j=1 $$
        • 直观上看,最小化 \(\sum_{j=1}^{D+1}f_{j}P_{j}\) 的解就是让概率 \(P_{j}\) 随着 \(f_j\) 变化, \(f_j\) 越小,则 \(P_j\) 应该越大
          • 这样才能才能满足最小化 \(\sum_{j=1}^{D+1}f_{j}P_{j}\)
        • 从梯度上看
          $$ \frac{\partial \mathcal{L}_{\text{ LB} }}{\partial P_{j}} = \alpha f_{j} $$
          • 对于 \(f_{j}\) 越大的组,其概率 \(P_j\) 下降的越多
          • 进一步理解:\(P_j\) 下降是通过调整模型 router 参数实现的,这会导致参数更新后下一轮中真实统计值 \(f_j\) 下降,最终会收敛到一个大家的真实分配统计值 \(f_j\) 都差不多相同的地方(这也就实现了所谓的均衡),此时有:
            $$ \dfrac{D}{K_{e}T} \beta_j^\text{non-0} = \dfrac{1}{(K-K_{e})T} \beta_j^\text{0} $$
            • \(\beta_j^\text{non-0}\) 表示 Token 选择某一个非0计算专家组的次数比例
            • \(\beta_j^\text{0}\) 表示 Token 选择0计算专家组的次数比例
          • 于是有单个非0组与0组的比例为:
            $$ \frac{\beta_j^\text{non-0}}{\beta_j^\text{0}} = \frac{K_e}{D(K-K_e)}$$
          • 进一步有,整体非0组与0组的比例为:
            $$ \sum_j\frac{\beta_j^\text{non-0}}{\beta_j^\text{0}} = \frac{K_e}{K-K_e}$$
      • 精巧的设计:上文对每个非 0 专家组使用的是
        $$\dfrac{D}{K_{e}T}\sum_{t=1}^{T}\mathbb{I}(\text{token } t \text{ selects Group}_{j}), \text{if } 1\leq j\leq D$$
        • 而不是:
          $$\dfrac{\color{red}{1}}{K_{e}T}\sum_{t=1}^{T}\mathbb{I}(\text{token } t \text{ selects Group}_{j}), \text{if } 1\leq j\leq D$$
        • 这里故意放大了 非0计算专家组的 \(f_{j}\) 就是想要让最终总的非0专家数与0计算专家数的比例为: \(\frac{K_{e} }{K-K_{e} }\) ,具体逻辑参见对损失函数梯度的理解
  • 在损失中,论文将所有零计算专家分配到一个额外的组,并对每组中的频率取平均
  • 通过调整 \(f_{j}\) 的系数,论文确保当损失收敛时,FFN 专家与零计算专家的比率接近 \(\frac{K_{e} }{K-K_{e} }\)

Shortcut-Connected MoE

  • 论文最初的架构采用了 MoE 和 Dense FFN 块的交错拓扑(interleaved topology)
    • 该设计已通过实证研究得到广泛验证,表现出与领先的共享专家模型 (2022, 2024a) 相当的性能
    • 但大规模 MoE 模型的效率在很大程度上受到通信开销的限制
    • 在传统的执行范式中,专家并行(Expert Parallelism, EP)强加了一个顺序工作流:一个集合操作(collective operation)必须首先将 token 路由到其指定的专家,然后才能开始计算
      • 这种通信延迟成为瓶颈,导致设备利用率不足并限制整体系统吞吐量
    • 共享专家架构试图通过将通信与单个专家的计算重叠来缓解这个问题 ,但它们的效率受到该单个专家较小计算窗口的限制
  • 论文通过采用快捷连接混合专家(Shortcut-connected MoE, ScMoE)架构 (2024) 来克服这一限制
    • ScMoE 引入了一个跨层快捷方式(cross-layer shortcut),重新排序了执行流水线
      • 注:ScMoE 的详情见:Shortcut-connected expert parallelism for accelerating mixture-of-experts, arXiv 2024 & ICML 2025, HKUST
    • 这一关键创新允许前一个块的 Dense FFN 与当前 MoE 层的分发/组合(dispatch/combine)通信并行执行,创造了比共享专家设计更实质性的重叠窗口
  • 此外,该架构设计选择通过以下关键发现得到验证
    • 首先,ScMoE 结构不会损害模型质量
      • 如图 4 所示,论文的架构与没有 ScMoE 的基线的训练损失曲线几乎相同,证实了这种重新排序的执行不会损害模型性能
      • 在多种设置下观察到一致的结果,包括一个带有 MLA 的 2.4B-16B MoE 模型、一个带有 MHA(多头注意力)(2017) 的 3B-20B 模型,以及带有 GQA(分组查询注意力)(2023) 的 15B-193B 模型
      • 重要的是,这些发现表明 ScMoE 的稳定性和益处与注意力机制的选择是正交的
      • 问题:这里的不损害模型质量相对于哪种结构来说的?
        • 回答:应该是 MoE 和 Dense FFN 块的交错拓扑结构
        • 补充问题:那现在的设计在每个 Layer 中多了一个 Dense FFN 块吧
    • 其次,ScMoE 架构为训练和推理带来了显著的系统级效率提升
      • 对于大规模训练:扩大的重叠窗口允许前一个块的计算与 MoE 层中的分发和组合通信阶段完全并行,这是通过沿 token 维度将操作划分为细粒度块(fine-grained chunks)来实现的
      • 对于高效推理:ScMoE 实现了单批次重叠(Single Batch Overlap)流水线,与 DeepSeek-V3 等领先模型相比,将理论上的每输出 token 时间(Time-Per-Output-Token, TPOT)减少了近 50%
        • 此外,它允许并发执行不同的通信模式: Dense FFN 的节点内张量并行(Tensor Parallelism, TP)通信(通过 NVLink)可以与节点间专家并行(Expert Parallelism, EP)通信(通过 RDMA)完全重叠,从而最大化总网络利用率
  • 总之,ScMoE 在不牺牲模型质量的情况下提供了显著的性能提升
    • 这些效率增益不是通过权衡实现的,而是经过严格验证的、质量中立的架构创新的直接结果

Variance Alignment Design for Scalability

  • 在小规模下表现出色的架构设计,随着模型规模的扩大可能会变得次优,反之亦然 ,这使得初始设计选择不可靠
  • 通过广泛的实验和理论分析,论文确定特定模块中的方差失配(variance misalignment)是导致这种差异的关键因素 ,这可能在扩展过程中导致不稳定和性能下降
  • 为了应对这一挑战,论文为 MLA 和 MoE 块提出了方差对齐技术
Scale-Correction for MLA
  • LongCat-Flash 采用了改进的多头潜在注意力(Multi-head Latent Attention, MLA)机制 (2024a),它结合了尺度校正因子 \(\alpha_{q}\) 和 \(\alpha_{kv}\) 以解决不对称低秩分解(asymmetric low-rank factorization)中固有的方差不平衡问题
  • 论文整合了这些校正因子的完整数学公式如下:
    $$
    \begin{aligned}
    c^Q_{t} &= \color{red}{\alpha_{q}} W^{DQ} h_{t} \in \mathbb{R}^{d_{q} }, \\
    c^{KV}_{t} &= \color{red}{\alpha_{kv}} W^{DKV} h_{t} \in \mathbb{R}^{d_{kv} }, \\
    q^{C}_{t,i} &= W^{UQ} c^Q_{t}, \\
    k^{C}_{t,i} &= W^{UK} c^{KV}_{t}, \\
    v_{t,i} &= W^{UV} c^{KV}_{t}, \\
    q^{R}_{t,i} &= \text{RoPE}(W^{QR} c^Q_{t}), \\
    k^{R}_{t} &= \text{RoPE}(W^{KR} h_{t}), \\
    q_{t,i} &= [q^{C}_{t,i}; q^{R}_{t,i}], \\
    k_{t,i} &= [k^{C}_{t,i}; k^{R}_{t}], \\
    o_{t,i} &= \text{Attention}(q_{t,i}, k_{1:t,i}, v_{1:t,i}), \\
    u_{t} &= W^{O} [o_{t,1}; o_{t,2}; \ldots; o_{t,n_{h} }],
    \end{aligned}
    \tag{6}
    $$
    • \(h_{t} \in \mathbb{R}^{d_{\text{model} } }\) 是输入隐藏状态
    • 每个头 \(i\) 的最终查询(query)和键(key)通过连接一个内容部分(C)和一个旋转部分(R)形成
    • 注:作为对照,下面是原始的 MLA 结构:
  • 引入 \(\alpha_{q}\) 和 \(\alpha_{kv}\) 解决了查询/键向量分量之间基本的方差失配问题
    • 在初始化时,它们的方差与其源维度成正比: \(\sigma^{2}(q_{t}^{C})\) , \(\sigma^{2}(q_{t}^{R}) \propto d_{q}\) 和 \(\sigma^{2}(k_{t}^{C}) \propto d_{kv}\)
    • 相比之下,旋转键分量 \(k_{t}^{R}\) 的方差与完整模型维度成正比: \(\sigma^{2}(k_{t}^{R}) \propto d_{\text{model} }\)
    • 当 \(d_{q}\) , \(d_{kv}\) , 和 \(d_{\text{model} }\) 变化时,这种维度差异导致初始化时的注意力分数不稳定,导致模型缩放期间性能下降且不可预测
  • 论文的解决方案是重新缩放低秩路径分量,使其最终方差与参考尺度对齐,论文使用完整模型维度作为参考。这是通过定义缩放因子来实现的:
    $$
    \alpha_{q}=\left( \frac{d_{\text{model} } }{d_{q} } \right)^{0.5} \quad \text{and} \quad \alpha_{kv}=\left( \frac{d_{\text{model} } }{d_{kv} } \right)^{0.5}.
    \tag{7}
    $$
  • 这种尺度不变的校正(scale-invariant correction)中和了方差失配,确保它们对于注意力计算是良态的(well-conditioned)。论文的实验表明,这种方法提高了模型性能,如图 4(a) 所示
Variance Compensation for Experts Initialization
  • LongCat-Flash 采用了来自 DeepSeek-MoE (2024a) 的细粒度专家策略,该策略将每个专家分割成 \(m\) 个更细粒度的专家,以增强组合灵活性和知识专门化
    • 但论文观察到这种设计的性能对其他架构选择(例如,专家数量、top-k、 \(m\) )很敏感
  • 为了解决这个问题,论文提出了一种方差补偿机制,以抵消由专家分割引起的初始化方差减少。该机制将一个缩放因子 \(\gamma\) 应用于专家的聚合输出,公式如下:
    $$
    \text{MoE}(x_{t})=\gamma \left( \sum_{i=1}^{mN} g_{i} \cdot E_{i}(x_{t}) \right),
    \tag{8}
    $$
    • \(g_{i}\) 是路由器在 \(mN\) 个细粒度专家上的输出
    • \(N\) 表示分割前的专家总数
  • 公式 (8) 中的缩放因子 \(\gamma\) 是通过量化两个主要方差减少来源得出的:
    • 1)门控稀释(Gating Dilution) :将每个原始的 \(N\) 个专家分解为 \(m\) 个更细粒度的专家,将专家总数扩展到 \(mN\)
      • 这种扩展迫使 softmax 门控将其概率质量分布在更大的专家池上,按比例减小单个门控值 \(g_{i}\) 的大小。因此,输出方差大约减少了 \(m\) 倍
    • 2)维度减少(Dimensional Reduction) :每个细粒度专家的中间隐藏维度( \(d_{\text{expert_inter} }\) )减少了 \(m\) 倍
      • 假设参数初始化均匀,单个专家的输出方差也减少了 \(m\) 倍
  • 为了在初始化时保持 MoE 层的输出方差(与分割前的基线匹配), \(\gamma\) 必须补偿这两种效应
    • 因此,组合的方差补偿因子是 \(\gamma = \sqrt{m \cdot m} = m\)
  • 补充 图 5:
    • (a) 在 MLA 上加入尺度校正因子显示了在 1B 激活的 MoE 模型上改进的收敛性(更低的损失)
    • (b) 模型增长实验中一个 6B 激活的 MoE 模型的验证损失曲线

Model Information

  • Tokenizer
    • LongCat-Flash 采用字节对编码(Byte-Pair Encoding, BPE)(1999, 2015) 进行分词
    • 论文的分词器是在一个涵盖网页、书籍、源代码等的全面多语言语料库上训练的,确保了强大的跨域性能
    • 在继承 GPT-4 的预分词框架的同时,论文引入了以下修改:
      • (1) 增强的中日韩(CJK)字符分割以改进中文文本处理
      • (2) 独立的数字分词以提升数学能力
    • 词汇表大小优化为 131,072 个 token,在计算效率和语言覆盖范围之间取得了有效平衡
  • Multi-Token Prediction
    • 为了提升推理效率,论文集成了多 token 预测(Multi-Token Prediction, MTP)(2024) 作为辅助训练目标
      • 问题:辅助训练目标的话,是提升效果吧?
    • 为了获得最佳推理性能,论文使用单个 Dense 层而不是 MoE 层作为 MTP 头(MTP head)
    • 经验观察显示 MTP 损失快速收敛,促使论文在训练管道中期策略性地引入 MTP 训练,以平衡模型性能和预测准确性
      • MTP 头在评估中实现了 >90% 的接受率(表 5)
      • 问题:具体评估了多少个?
  • LongCat-Flash 模型配置 (Model Configurations) :
    • 包含 28 层(不包括 MTP 层),隐藏状态维度为 6144
    • 每个 MLA 块使用 64 个注意力头,每个头的维度为 128,以实现性能-效率的平衡权衡
    • Following DeepSeek-V3 (DeepSeek-2025),KV 压缩维度设置为 512,查询压缩维度设置为 1536
    • Dense 路径中的 FFN 采用 12288 个中间维度,而每个 FFN 专家使用 2048 个维度
    • MLA 块和 FFN 块中的缩放因子遵循第 2.3.1 节的方法
    • 每层包含 512 个 FFN 专家和 256 个零计算专家,每个 token 精确激活 12 个专家(从两种类型中选择)
    • LongCat-Flash 总参数量为 560B,根据上下文每个 token 激活 18.6B 到 31.3B 参数,平均激活约 27B 参数

Pre-Training

  • LongCat-Flash 的预训练遵循三阶段课程:
    • (1) 论文使用约 20T token、序列长度为 8192 的数据训练模型,以建立一个强大的基础模型
    • (2) 使用数万亿数据进一步增强推理和编码能力
    • (3) 通过在长上下文语料库上进行训练,将上下文长度扩展到 128k
  • 每个阶段都实施了量身定制的数据策略,并辅以严格的去污染程序以防止测试集泄露
  • 为了优化可扩展性,论文引入了超参数迁移和模型增长策略,显著提高了模型规模增大时的性能
    • 鉴于大规模训练中固有的不稳定性挑战,论文识别并实施了多种有效技术来增强训练稳定性

Training Strategy

Hyperparameter Transfer
  • LongCat-Flash 采用基于宽度缩放 (2024) 的超参数迁移策略来高效训练大规模模型,该方法包括:
    • (1) 在较小的代理模型上确定最优超参数
    • (2) 通过理论驱动的缩放规则将这些配置迁移到目标模型
  • 迁移机制的核心是宽度缩放因子
    $$ s = n_{\text{target} } / n_{\text{proxy} }$$
    • 其中 \(n\) 是模型的隐藏维度
  • 论文特别采用了标准参数化的 “Adam LR Full Align” 规则
  • 这些规则规定了如何调整代理模型的最优初始化方差 (\(\sigma^{2}\)) 和学习率 (\(\eta\)) 以适应目标架构
  • 实际的迁移规则总结在表 1 中
  • 遵循此方法,论文的训练涉及以下步骤:
    • 1)论文基于计算效率和迁移性能之间的权衡分析,将宽度缩放因子 \(s\) 设为 8,代理模型配置为宽度 768
    • 2)然后论文在代理模型上执行全面的超参数搜索,以确定最优的层特定初始化方差 (\(\sigma_{\text{proxy} }^{2}\)) 和学习率 (\(\eta_{\text{proxy} }\))
    • 3)代理模型的最优超参数按照表 1 中详述的规则迁移到目标模型
      • 所有其他架构属性(深度、稀疏性和批大小)在此迁移过程中保持不变
  • 论文进行了全面的实验来验证此方法的有效性
    • 结果表明,该方法在为大规模模型训练确定最优超参数(初始化方差和学习率)时显著降低了计算成本,同时建立了一个稳健的、理论基础的模型缩放框架
Model Growth Initialization
  • LongCat-Flash 采用模型增长作为其初始化策略,从一个在数百亿 token 上预训练的半规模模型开始
  • 在现有的模型增长方法 (2015; 2024; 2023a; 2022; 2023b; 2019) 中,论文采用层堆叠技术 (2024; 2023) 来扩展参数并提升性能
  • 暂时忽略嵌入和反嵌入过程,整个过程表述如下:
    $$\begin{split}
    L_{\text{small} } &= l_{1} \circ l_{2} \circ \cdots \circ l_{n} \\
    L_{\text{target} } &= \underbrace{L_{\text{small} } \circ L_{\text{small} } \circ \cdots \circ L_{\text{small} } }_{r}
    \end{split}$$
    • \(l_{i}\) 表示模型中第 \(i\) 层的变换
    • \(r\) 表示扩展率
    • \(L_{\text{small} }\) 表示从小模型 token 嵌入到最终隐藏状态的变换
    • \(L_{\text{target} }\) 表示通过堆叠 \(r\) 个小模型副本构建的目标(大)模型的变换(论文的架构使用 \(r=2\) )
  • 通过大量实验,论文一致观察到,通过模型增长初始化的模型表现出一个特征性的损失轨迹:
    • 初始损失增加,随后加速收敛,最终性能超过随机初始化的基线
    • 图 4(b) 展示了论文 6B 激活模型实验中的一个代表性案例,证明了模型增长初始化的优势
  • 论文推测这种改进源于两个协同因素:
    • (1) 较小模型的更快收敛可能为缩放训练提供更高质量的参数初始化
    • (2) 增长操作可能作为防止参数崩溃的隐式正则化
      • 实验证据进一步表明,过度优化前代模型可能会对目标模型的 token 效率产生负面影响 ,这表明需要明智地选择增长时机
  • 对于 LongCat-Flash 初始化,论文
    • 首先,训练一个与目标模型架构相同的 14 层模型 ,在初始数据段上使用随机初始化
    • 然后,将训练好的模型堆叠以创建 28 层检查点,保留所有训练状态 ,包括来自前代模型的样本计数器和学习率调度
Training Stability
  • 论文从三个角度增强 LongCat-Flash 的训练稳定性:路由器稳定性、激活稳定性和优化器稳定性
Router Stability
  • 训练 MoE 模型的一个基本挑战是路由器稳定性,它源于两种竞争梯度之间的张力:
    • 语言建模 (language modeling,LM) 损失,驱动专家专业化(expert specialization)(将 token 分配给最合适的专家),
    • 辅助负载平衡 (auxiliary load balancing,LB) 损失,强制路由均匀性(routing uniformity)(将 token 均匀分布在专家之间)
  • 当 LB 梯度占主导地位时,所有专家的路由器参数会趋于相似 ,导致无论输入 token 如何,路由决策都是均匀的
    • 这抵消了条件计算的好处,并严重降低了模型性能
  • 为了诊断和控制这种行为,论文提出了一个包含两个关键指标的监控框架:
    • 路由器权重相似度 (Router Weight Similarity) :测量专家权重向量 \(\{w_{i}\}\) 之间的平均成对余弦相似度
      • 高相似度直接表明负载平衡损失过度占主导地位
    • 梯度范数比 (\(R_{g}\)) (Gradient Norm Ratio) :量化两种损失对批次平均专家概率向量 \(\vec{P}\) 的相对影响:
      $$
      R_{g} = \frac{|\alpha \nabla_{\vec{P} } \mathcal{L}_{\text{LB} }|_{2} }{|\nabla_{\vec{P} } \mathcal{L}_{\text{LM} }|_{2} },
      $$
      • 其中 \(\mathcal{L}_{\text{LB} }\) 是在没有系数 \(\alpha\) 的情况下计算的负载平衡损失
  • 在此框架的指导下,论文建立了设置超参数 \(\alpha\) 的实用指南
    • 原则是确保负载平衡项充当正则化器,而不压倒 LM 损失
    • 论文建议选择一个系数,使 \(R_{g}\) 保持在一个较小的阈值以下(例如, \(R_{g} < 0.1\) )
Activation Stability via Hidden z-loss
  • 受 router z-loss (2022) 的启发,论文设计了隐藏 z-loss 来规避 LLM 训练期间普遍出现的大规模激活现象 (2024)
    • 注:在原论文中 ST-MoE: Designing Stable and Transferable Sparse Expert Models, arXiv 2022, Google,提出了一种名为 router z-loss 的辅助损失函数,用于稳定 MoE 路由的训练:
      $$ L_{z}(x) = \frac{1}{B} \sum_{i=1}^B \left( \log \sum_{j=1}^N e^{x_j^{(i)}} \right)^2$$
      • 可以使用 torch.logsumexp(x) 来实现上述括号中的算子
  • 通过经验观察,论文发现这种大规模激活与训练期间严重的损失尖峰相关,而损失尖峰与优化不稳定性和潜在的性能下降有关
  • 隐藏 z-loss 主要用于抑制幅度极大的元素:
    $$
    \mathcal{L}_{Z} = \frac{\lambda}{T} \sum_{t=1}^{T} \left( \log \sum_{i=1}^{|x_{t}|} \exp(\text{abs}(x_{t}^{i})) \right)^{2},
    $$
    • \(\lambda\) 是加权此损失的系数
    • \(|x_{t}|\) 是隐藏大小
    • \(\text{abs}(*)\) 表示绝对值函数
  • 如图 6 所示,论文发现一个非常小的损失系数可以显著抑制大规模激活现象,而不会影响训练损失,从而降低了 BF16 训练期间出现数值错误的风险
On the Practical Configuration of Adam’s Epsilon
  • 随着模型规模的增加,Adam 优化器中的 epsilon (\(\varepsilon\)) 参数(传统上被视为确保数值稳定性的次要常数)成为一个关键的超参数
  • OLMo 等人 (2024) 证明,将其设置为 1e-8 相比默认值 1e-5 能产生更优的结果,这种敏感性增强主要源于两个因素:
    • (1) 大规模模型通常采用较小的参数初始化
    • (2) 它们在训练期间使用更大的批大小
  • 当使用默认的 \(\varepsilon\) 值时,参数的大小可能与梯度二阶矩的典型规模相当甚至超过,从而破坏优化器的自适应机制
  • 如图 7 所示,论文跟踪梯度均方根 (RMS) 范数 (2019) 的经验分析揭示了两个关键发现:
    • (1) 阈值效应:当 \(\varepsilon\) 接近观测到的梯度 RMS 范数时,会发生显著的性能下降;
    • (2) 下界稳定性:一旦 \(\varepsilon\) 降低到此临界阈值以下,进一步减小对模型性能的影响可以忽略不计
  • 因此,论文建议将 \(\varepsilon\) 设置为一个较小的值(比预期的梯度 RMS 范数小几个数量级)
    • 在 LongCat-Flash 中,论文采用 \(\varepsilon=1e-16\) ,此配置在保持优化器自适应特性的同时确保了数值稳定性

General Pre-Training

  • 论文首先进行通用预训练阶段以确保模型的整体能力,设计了一个多阶段流程以确保数据质量和多样性。主要阶段包括:
    • 内容提取 (Content Extraction) 论文使用定制版本的 trafilatura (2021) 处理通用网络内容,并使用专用流程处理 STEM 材料,以正确解析公式、代码和表格等复杂元素
    • 质量过滤 (Quality Filtering) 采用两步过滤方法。初始分类器清除明显低质量的文档,随后基于流畅度和内容完整性等指标进行更细粒度的筛选
    • 去重 (Deduplication) 论文应用高效的 MinHash 实现进行大规模去重,并辅以识别和处理重复网络模板的策略,以实现更准确的文档级去重
  • 最终的数据混合过程采用两阶段调度,逐步增加高质量推理数据(例如 STEM 和代码)的比例
    • 阶段 1 (Stage 1) :对于通用数据,论文采用实例级(instance-level)数据混合策略,平衡数据质量和多样性
      • 如 SampleMix (2025) 所述,即使用质量和多样性分数计算初始采样分布,并基于细粒度的领域和写作风格标签进一步调整分布倾向
      • 冗余的低价值领域(例如广告、体育、招聘)被降采样,而富含推理的领域(例如科学)被升采样
    • 阶段 2 (Stage 2) :在此阶段,论文优先考虑 reasoning-intensive 领域,STEM 和代码占最终混合数据的 70%
      • 初步实验表明,通用领域数据的突然减少会暂时降低模型能力
      • 因此,论文实施渐进的代码比例增加 ,并通过在外部验证集上持续监控困惑度来指导 ,以确保平稳过渡而不损害通用性能

Reasoning and Coding Enhancement

  • 为了进一步增强模型的推理和编码能力,并为后续的后训练建立具有巨大潜力的强大基础模型,论文利用通过预训练数据检索和数据合成相结合生成的高质量相关数据,进行了一个中期训练阶段(mid-training stage)
  • 引入了系统的合成数据工作流程,通过三个关键机制优化数据质量和多样性:
    • (1) 知识图谱遍历和节点组合(Knowledge graph traversal and node combination)以确保概念复杂性和领域覆盖;
    • (2) 多阶段迭代细化(Multi-stage iterative refinement)以逐步提高难度级别和思维链 (CoT) 推理质量;
    • (3) 双模态生成和验证(Dual-modality generation and verification)(文本和计算)以保证数学准确性和解决方案有效性
  • 结合基于规则和基于模型的过滤器进行了仔细的质量控制,最终数据集包含数千亿 token

Long Context Extension

  • 论文实施了两阶段上下文长度扩展策略,以满足后续长上下文推理和智能体训练的要求
    • 在第一阶段,使用 80B 训练 token 将上下文窗口从 8k 扩展到 32k token,并将 RoPE 的基频率 (2024) 从 1,000,000 提高到 5,000,000
    • 在第二阶段,论文通过额外的 20B token 将其进一步扩展到 128k token,将基频率增加到 10,000,000
  • 训练语料库建立在自然产生的长文本数据之上,例如高质量的书籍和小说
    • 论文还开发了一种系统方法来组织仓库级源代码,以提高模型的长上下文能力
    • 论文精心挑选了高质量的代码仓库,并应用多阶段过滤过程来移除非文本内容、构建产物和自动生成的代码,最终形成了一个用于长上下文预训练的精选的 20B token 数据集
  • 为了确保模型的通用能力在长度扩展期间保持稳定,论文采用了与主预训练阶段相同的数据混合策略 ,并在此混合基础上增加了 25% 的长上下文数据 ,以增强模型的长上下文性能

Decontamination

  • 论文对所有训练数据执行严格的去污染,以防止常见基准测试测试集的数据泄露
  • 对于网络和代码数据,论文移除包含与预定义测试集有任何 13-gram 重叠的文档
  • 对于合成数据和问答对,论文采用基于 BGE-m3 (2024) 嵌入的语义相似度的更严格策略
  • 如果文档满足以下任一标准,则被丢弃:
    • (1) 与任何测试用例的语义相似度得分 \(> 0.9\) ;
      • 问题:如何评估,样本一一比较的复杂度是不是太高了
      • 回答:实际上可能只针对不分特定的数据集做去重,其实复杂度还可以接受?
    • (2) 词汇重叠(通过稀疏嵌入测量)结合相似度得分在 0.7 到 0.9 之间

Evaluation

  • 本节介绍了对 LongCat-Flash 基础模型的全面评估,包括方法和结果
Evaluation Benchmarks and Configurations
  • 模型评估涵盖四个核心能力:通用任务、通用推理、数学推理和编码。用于评估的基准包括:
    • 通用任务 (General Tasks) :MMLU (2021a), MMLU-Pro (2024b), C-Eval (2023), 和 CMMLU (2023a)
    • 推理任务 (Reasoning Tasks) :GPQA (2023), SuperGPQA (M-A-P Team, ByteDance., 2025), BBH (2023), PIQA (2019), DROP (2019), CLUEWSC (2020), 和 WinoGrande (2019)
    • 数学任务 (Math Tasks) :GSM8K (2021), MATH (2021b)
    • 编码任务 (Coding Tasks) :MBPP+ (2024b), HumanEval+ (2023), MultiPL-E (2022), 和 CRUXEval (2024)
  • 论文将 LongCat-Flash 基础模型与 SOTA 开源基础 MoE 模型进行比较,包括 DeepSeek-V3.1 Base (DeepSeek-2025), Llama-4-Maverick Base (Meta AI, 2025), 和 Kimi-K2 Base (MoonshotAI, 2025)
  • 为确保公平性,所有模型都在相同的流水线和配置下进行评估。对于无法复现的少数结果,论文直接采用公开报告中的指标,并在表 2 中明确标注。评估设置如下:
    • 通用/推理/数学任务:使用少样本提示 (few-shot prompts) 指导输出格式
      • 性能通过准确率或 F1 分数衡量
    • HumanEval+ 和 MBPP+:遵循 OpenAI 推荐设置 (2021)
    • MultiPL-E:遵循 BigCode Evaluation Harness (Ben 2022)
    • CRUXEval:遵循官方配置,采用 2-shot 示例
Evaluation Results
  • 表 2 展示了跨不同基准的评估结果
  • LongCat-Flash Base 模型在激活/总参数量更紧凑的情况下,实现了与最先进基础模型相当的性能
    • Llama-4-Maverick 的激活和总参数更少,但 LongCat-Flash Base 在几乎所有基准测试上都超过了它
  • 对比分析表明,LongCat-Flash Base 在所有领域都匹配了 DeepSeek-V3.1 Base 的性能(但前者参数更少)
    • 虽然两个模型在通用任务上表现相似,但 LongCat-Flash Base 在 MMLU-Pro 基准(包含具有挑战性的问题)上表现出显著优势
    • 对于推理任务,LongCat-Flash Base 获得了更高的平均分
    • 在数学和编码任务中,它在大多数基准测试上优于 DeepSeek-V3.1 Base,仅在 CRUXEval 和 MultiPL-E 上观察到微小的性能差距
    • 与 Kimi K2 Base 相比,LongCat-Flash Base 在通用任务上表现略低,但在推理、数学和编码任务上达到持平或更优
  • 这些结果共同强调了 LongCat-Flash Base 的参数效率,因为它在大多数评估基准上提供了与更大模型相当或更优的性能

Post-Training

  • 论文采用了一个常规的多阶段后训练框架来增强基础模型在多个领域的性能,范围涵盖复杂的推理、编码和智能体工具使用任务,以及通用能力
  • 在此过程中,论文观察到,高质量问题集的有限可用性是所有领域的一个显著瓶颈
  • 在后续小节中,论文将介绍从论文的后训练方法中得出的关键见解,分为三个不同的阶段:
    • (1) 推理与编码
    • (2) 智能体工具使用
    • (3) 通用能力

Reasoning and Coding

Mathematics
  • 为了生成高质量和新颖的问题,论文使用了一种角色扮演(persona)(2024) 和自我指导(self-instruct)(2022) 范式
    • 这个过程由一个全面的数学框架指导,涵盖从初级到高级的主题
  • 论文利用一组多样化的数学相关“专家”角色来提出问题,引导 LLM 合成涵盖代表性不足学科的查询
  • 每个查询的结构旨在引发 CoT 推理,在生成的答案中促进逐步解决问题
  • 角色策划和答案验证的细节如下:
    • 角色策划 (Persona Curation) :这些角色从多个来源构建:论文从高质量预训练数据中生成它们,从现有的数学查询中衍生它们,并整合来自 Persona Hub 的相关集合
      • 每个角色都根据其 STEM 学科进行系统性标注
      • 为了确保最大的多样性并与论文的学科框架保持一致 ,论文使用 MinHash 算法来选择最终的角色集用于查询生成
    • 答案验证 (Answer Verification) :论文采用一个两阶段过程来确保合成解决方案的准确性:
      • (1) 论文使用几个不同的大语言模型为每个问题生成答案,并选择最一致的解决方案作为最终答案
      • (2) 论文训练一个生成式奖励模型,特别增强了推理数据,以自动评分并验证解题步骤的逻辑合理性
        Coding
  • 论文从多个来源汇集了多样化的编码查询,包括公共数据集、从 GitHub 代码片段 (2024b) 和编码相关论坛生成的查询,以及使用代码进化指导(Code Evol-Instruct)方法 (2024) 演化而来的查询
    • 数据分布根据主题多样性和难度进行平衡
  • 论文训练一个模型来选择清晰、一致、正确且具有足够解释细节的查询,并实施一个过滤流程来消除包含乱码内容、重复模式或逻辑错误的回答
    • 对于软件工程任务,论文策划并验证了包含测试用例的数万个 Docker 镜像
      • 每个镜像用于验证模型生成的代码是否能解决相应代码库中的特定问题
    • 论文开发了一个基于智能体的系统,利用各种工具来自主分析代码结构、识别相关文件、修复错误和实现新功能
      • 这个过程产生了数千条通过所有测试用例的成功轨迹,从而增强了模型自主解决现实世界软件工程问题的能力
        Logical Reasoning
  • 论文构建了涵盖演绎、假设和归纳推理的逻辑推理数据集,其中包括诸如 LogicPro (2025)、PODA (2025b) 和斑马谜题(Zebra-style logic puzzles)等任务
  • 为了管理难度,论文首先使用 Pass@k 指标进行初步平衡,然后过滤掉高级思维模型也失败的棘手问题
  • 论文还将多项选择题转换为填空题格式 ,以减轻随机猜测
  • 对回答的评估侧重于四个关键领域:
    • (1) 最终答案的正确性;
    • (2) 推理的完整性和清晰度;
    • (3) 避免过度重复;
    • (4) 语言使用的一致性

Agentic Tool Use

  • 论文将智能体任务定义为通过系统性的环境交互来解决复杂问题
    • 在这种范式中,模型必须迭代分析现有信息,并确定何时需要与环境交互
    • 在智能体工具利用框架内,环境由具有不同特征的用户和工具组成
    • 用户作为一个自主的信息提供实体,没有上游或下游依赖关系 ,但表现出不愿被打扰和非自发的信息披露
      • 问题:如何理解用户这个角色?
      • 回答:这是在模拟现实世界的用户,用以定义现实环境问题
    • 因此,模型必须最小化用户查询,同时在必要时采用策略性提问技巧以引出最精确的信息
    • 工具可以被高频广泛调用,但表现出复杂的相互依赖性
  • 从这个角度来看,除了领域特定专业知识(如高级编程能力或数学计算),论文将任务难度升级归因于三个因素:
    • 信息处理复杂度 (Information processing complexity) 模型必须进行复杂的推理过程,以整合信息并将其转换为所需组件
    • 工具集复杂度 (Tool set complexity) 通过基于工具间依赖关系将工具集建模为有向图,复杂度可以通过图的节点基数和边密度来量化表征
    • 用户交互复杂度 (User interaction complexity) 模型必须学会以最低频率进行多轮策略性提问,适应各种对话风格、沟通意愿水平和信息披露模式,从而在确保充分获取信息的同时促进有效的用户交互
  • 基于这些见解,论文构建了一个多智能体数据合成框架,通过系统地解决智能体训练关键的三个复杂度维度来生成高质量、具有挑战性的任务:
    • (1) 工具集复杂度
    • (2) 信息处理复杂度
    • (3) 用户交互复杂度
  • 该框架包含以下专门智能体:
    • 用户画像智能体 (UserProfileAgent) 除了生成包含个人信息和偏好的基本用户画像外,论文还进一步实施了对用户对话风格、沟通意愿水平和信息披露模式的控制,以更准确地模拟真实用户交互场景,同时增强任务复杂度
    • 工具集智能体 (ToolSetAgent) 为了最大化数据多样性并防止对特定场景的过拟合,论文采用了类似于 Kimi-K2 (2025) 的方法,枚举了 40 个不同的领域,随后利用模型枚举了 1600 个应用
      • 基于这些应用,论文构建了 80,000 个模拟工具,形成了一个广泛的工具图
      • 通过随机游走方法,论文从这个综合工具图中系统地采样具有预定节点数量的子图,从而通过节点数量控制工具图复杂度
    • 指令智能体 (InstructionAgent) 推理的难度在以下维度上量化:约束复杂度、推理点数量和推理链长度
      • 该模型需要基于 ToolSetAgent 提取的工具集生成全面描述完整任务的指令
    • 环境智能体 (EnvironmentAgent) 论文根据 UserProfileAgent 和 InstructionAgent 生成的内容增强环境信息,包括项目细节、位置 specifics、时间参数和气象条件
      • 此外,论文为项目和位置引入混淆元素以进一步增加推理复杂度
    • 评分标准智能体 (RubricAgent) 论文基于各种任务相关信息构建了一套全面的具体检查清单
      • 在最终评估时,考虑到智能体任务固有的长上下文特性,论文采用滑动窗口方法评估整个轨迹,持续更新检查清单项目的完成状态
    • 验证智能体 (ValidatorAgent) 和 去重智能体 (DeduplicatorAgent) 论文从多个角度检查最终任务的质量,并删除任何过于相似的任务
      • 这个过程确保论文拥有一套多样化且高质量的任务集
  • 利用这些高质量、具有挑战性的任务,论文进一步进行严格的回答选择,以构建具有适当数量的冷启动训练集,揭示多样化的模式并保持高探索能力
  • 论文还仔细选择了这些生成任务的一个子集用于进一步的后训练过程,以确保每个任务都值得大量探索

General Capability

Instruction-following
  • 论文策划了单轮和多轮指令遵循数据集,具有不同级别的约束复杂度和数量
  • 对于多约束查询 ,论文采纳了 Ye 等 (2025) 的见解,过滤掉语义质量低或约束冲突的查询
  • 对于不同的查询类型,论文采用可验证规则、基于模型的验证和定制策略来确保回答满足所有约束
  • 此外,论文汇编了针对挑战性任务的批评(critique)数据集,以增强模型的批判性思维能力 (2025c)
  • 论文观察到某些约束类型本质上难以遵循,使得直接生成有效的查询-答案对不可靠
    • 为了解决这个问题,论文提出了一种反向提示生成策略:从保证满足约束的预定义答案生成查询
Long Context
  • 为了使模型能够在复杂、冗长的上下文中识别和分析相关信息,论文开发了三种类型的长序列数据集:阅读理解、基于表格的问答和定制设计的任务
  • 为了促进长序列中显著信息的学习,论文在数据构建中聚合了主题相关的上下文片段
  • 论文特别增强了模型的多跳推理、多轮对话和复杂计算能力
  • 为了减轻在遇到不完整上下文时的幻觉,论文优化了模型的拒绝能力,从而提高了其对知识边界和局限性的认识
Safety
  • 基于 Mu 等 (2024) 的框架并与论文内部内容指南保持一致,论文制定了一个内容安全策略,将查询分类为超过 40 个不同的安全类别,对应五种响应类型:遵守(comply)、遵守并带指南(comply with guideline)、软拒绝(soft refuse)、软拒绝并带指南(soft refuse with guideline) 或 硬拒绝(hard refuse)
  • 明确的标准确保每种响应类型都有一致、符合安全标准的响应
  • 该系统通过两个阶段作为一个上下文感知的数据合成器运行:
    • (1) 查询分类:来自不同来源(开放域语料库、内部业务风险报告、政府问答和对抗性大语言模型合成的红队内容)的查询使用自动化标签和人工验证进行分类
    • (2) 响应映射与优化:分类后的查询被映射到响应类型,并生成优化的、特定类型的响应,这些响应在作为训练目标之前经过人工评估

Evaluation

  • 论文在后训练后对 LongCat-Flash 进行了全面而严格的评估
  • 具体来说,论文评估了其在多个维度的能力,包括通用领域、指令遵循、数学推理、通用推理以及编码和智能体任务
Evaluation Benchmarks and Configurations
  • 评估采用以下基准:
    • 通用领域 (General Domains): MMLU (2023a), MMLU-Pro (2024b), ArenaHard (2024a), CEval (2023), 和 CMMLU (2023a)
    • 指令遵循 (Instruction Following): IFEval (2023), COLLIE (2024), 和 Meeseeks (2025a)。Meeseeks 通过一个迭代反馈框架评估模型在多轮场景中的指令遵循能力,该框架模拟了真实的人与 LLM 交互,使模型能够基于每轮的失败进行自我纠正,更好地反映现实世界的使用模式
    • 数学推理 (Mathematical Reasoning): MATH500 (2023), AIME24 (MAA, 2024), AIME25 (MAA, 2025), 和 BeyondAIME (ByteDance-Seed, 2025)
    • 通用推理 (General Reasoning): GPQA-diamond (2024), DROP (2019), ZebraLogic (2025), 和 GraphWalks (OpenAI, 2025a)
    • 编码 (Coding): Humaneval+ (2023, 2024c), MBPP+ (2024c), LiveCodeBench (2024.08-2025.05) (2025), SWE-Bench-Verified (2024), 和 TerminalBench (Team, 2025a)
    • 智能体工具使用 (Agentic Tool Use): \(\tau^{2}\)-Bench (2025) 和 AceBench (2025)
    • 智能体工具使用补充:论文还开发了一个高质量的专有基准 VitaBench,利用美团的全面现实业务场景来系统评估模型解决复杂现实世界任务的能力
      • 在 VitaBench 中,为了全面评估模型的泛化智能体能力,论文特意策划了跨领域的日常场景,并明确描述了工具间的依赖关系,避免提供广泛的领域特定策略
      • 论文的基准强调三个关键的复杂度维度:工具集复杂度(以密集工具图为特征,平均每个任务超过 30 个可用工具)、推理复杂度和用户交互复杂度(以具有挑战性的用户角色为特征,评估模型平均每个任务超过 60 个交互轮次)
      • VitaBench 完整的基准数据集,连同详细的构建方法和全面的结果分析,将在后续工作中完全发布
  • 论文还评估了 LongCat-Flash 的安全性能。具体来说,论文对四个主要风险类别进行了评估:
    • 有害 (Harmful) :暴力、仇恨言论、侮辱、骚扰和欺凌、自残和自杀、成人内容等
    • 犯罪 (Criminal) :非法活动、未成年人违规、极端恐怖主义和暴力等
    • 错误信息 (Misinformation) :错误信息和虚假信息、不安全做法、幻觉等
    • 隐私 (Privacy) :隐私侵犯、侵权等
    • 在每个类别中,构建了足够数量的私有测试查询,随后进行了全面的人工审查,以确保其分类的准确性和质量的可靠性
  • 论文将 LongCat-Flash 的聊天版本与几个当代的非思维(non-thinking)聊天模型进行了比较,包括 DeepSeek-V3.1 (DeepSeek-2025), Qwen3-235B-A22B (2507 版本) (2025), Kimi-K2 (MoonshotAI, 2025), GPT-4.1 (OpenAI, 2025b), Claude4-Sonnet (Anthropic, 2025), 和 Gemini2.5-Flash (2025)
    • 对于闭源模型,论文通过其官方 API 进行评估
    • 对于支持思维和非思维两种模式的模型(Qwen3-235B-A22B, Gemini2.5-Flash, 和 Claude4-Sonnet),论文明确配置这些模型在非思维模式下运行以进行公平比较
  • 对于每个基准类别,论文采用以下专门的指标和设置:
    • 通用领域基准 (General domain benchmarks): 论文使用准确率(accuracy)作为评估指标
      • 与依赖精确匹配(EM)进行正确性判断的原始基准不同,论文采用一个评分模型来评估模型响应是否与参考答案一致
      • 由于论文的评分模型能识别语义正确但文本不完全匹配的答案,报告的值可能略高于原始文档记录
    • 指令遵循基准 (Instruction following benchmarks): 论文基于指令规则设计正则表达式来验证合规性
      • 此外,还采用了基于规则和基于模型的答案跨度提取工具来支持此评估
    • 数学推理基准 (Mathematical reasoning benchmarks): 论文对 MATH500 应用上述评分模型,对 AIME 相关基准采用 \(10\) 次运行的平均 EM 分数
      • 问题:这里的 EM 分数是什么?是最终答案的完全匹配吗?
        • 注:EM(Exact Match)是大模型评测中的 “精确匹配率”:模型输出与标准答案在字符 or Token 层面完全一致的样本占比,常用作问答、信息抽取、文本生成等任务的严格度量
        • EM 分数一般取值 0–1(或百分比),越高越好
      • 注:由于单次评估模型效果可能会波动,所以常见的方案是用同一个数据集多次评估模型
    • 通用推理基准 (General reasoning benchmarks): 论文对 GPQA-diamond 应用评分模型,计算 DROP 的 F1 分数,对 ZebraLogic 采用基于规则的匹配,并按照其 128k 上下文长度子集的官方实现使用精度(precision)指标
    • 编码基准 (Coding benchmarks):
      • 如果模型的响应在沙箱环境中通过所有测试用例或匹配特定状态,则每个问题得分为 1,否则为 0
        • 最终得分是所有问题的平均值
      • 论文采用 OpenAI 提供的脚本来评估 Humaneval+ 和 MBPP+,并使用其他基准的官方脚本
      • 具体来说,对于 SWE-Bench-Verified,论文使用 R2E-Gym (Openhands scraffold),运行限制为 100 次迭代进行评估(DeepSeek V3.1 除外,使用 Openhands)
      • 对于 Terminal-Bench,论文使用 Terminus 框架和直接提示进行评估
  • 智能体工具使用基准 (Agentic tool use benchmarks): 论文利用官方基准框架以确保公平性和可重现性
    • 对于 AceBench,论文使用直接提示而非函数调用
    • 对于论文提出的 VitaBench ,考虑到智能体任务固有的长上下文特性,论文采用滑动窗口机制来系统评估整个执行轨迹中的任务完成状态,促进对单个检查清单组件完成状态的持续更新
Evaluation Results
  • 如表 3 详述,论文的全面评估表明 LongCat-Flash 是一个强大且多才多艺的模型
    • LongCat-Flash 在不同领域始终展现出领先的性能,通常在广泛的一系列挑战性任务中优于当代模型,且激活参数相对较少
    • 接下来的分析详细介绍了其在不同维度上的卓越能力
  • 通用领域 (General Domains) 在通用领域知识方面,LongCat-Flash 表现出强大而全面的性能
    • 它在 ArenaHard-V2 上取得了 86.50 的优秀分数,在所有评估模型中排名第二,展示了其在具有挑战性的 head-to-head 比较中的强大能力
    • 在基础基准测试上,它仍然具有高度竞争力,在 MMLU 上得分 89.71,在 CEval 上得分 90.44
    • 这些结果与领先模型相当,并且值得注意的是,这是在比 DeepSeek-V3.1 和 Kimi-K2 等竞争对手更少参数的情况下实现的,表明了高效率
  • 指令遵循 (Instruction Following) LongCat-Flash 展现了 SOTA 指令遵循能力
    • 它在 IFEval 上取得了最高分 89.65,优于所有其他模型,并展示了在遵循复杂和细致入微的指令方面卓越的可靠性
    • 此外,它在 COLLIE (57.10) 和 Meeseeks-zh (43.03) 上获得了最佳分数,强调了其在英语和中文中多样化和具有挑战性的指令集上的卓越熟练度
  • 数学推理 (Mathematical Reasoning) 在数学推理方面,LongCat-Flash 显示出强大而先进的能力
    • 虽然其在 MATH500 上的分数 (96.40) 非常有竞争力,但其优势在更复杂的竞赛级基准测试中尤为明显
    • 它在 AIME25 (61.25) 和 BeyondAIME (43.00) 上提供了优秀、顶级的成绩,在这些具有挑战性的领域中名列性能最佳的模型之一
    • 这突显了其进行复杂、多步逻辑推理和问题解决的高级能力
  • 通用推理 (General Reasoning) 对于通用推理任务,LongCat-Flash 的表现也很扎实
    • 它在结构化逻辑推理方面表现出非凡的优势,在 ZebraLogic 上取得了 89.30 的分数,跻身顶级竞争者之列
    • 它还在阅读理解基准 DROP 上获得了有竞争力的分数 79.06
    • 相反,其在 GPQA-diamond (73.23) 和 GraphWalks (51.05) 上的结果表明了进一步改进的机会,特别是在增强其在极长上下文中分析结构化数据的能力方面
  • 编码 (Coding) LongCat-Flash 在编码领域展现出了有前途且有能力的形象
    • 其突出表现在 TerminalBench 上,取得了 39.51 的分数,排名第二,展示了在实用的、智能体命令行任务方面的卓越熟练度
    • 它在 SWE-Bench-Verified 基准测试中也具有竞争力,得分为 60.4
    • 在基础的代码生成任务上,如 Humaneval+ 和 MBPP+,其表现扎实,但未来仍有优化潜力以与领先模型看齐
  • 智能体工具使用 (Agentic Tool Use) LongCat-Flash 在使用智能体工具使用领域展现出明显优势,在 \(\tau^{2}\)-Bench 上显著优于其他模型,即使与参数更多的模型相比也是如此
    • 在高度复杂的场景中,它在 VitaBench 上取得了最高分 24.30,展示了在复杂场景中的强大能力
  • 安全性 (Safety) LongCat-Flash 在识别和减轻风险方面整体表现出色,特别是在有害(Harmful)和犯罪(Criminal)领域

Training Infrastructures

  • 论文训练基础设施(Training Infrastructures)的核心设计原则是 可扩展性与精确性 (scalability with precision)
  • 论文开发了一种系统化的方法来验证算子精度,并将在线静默数据损坏(Silent Data Corruption, SDC)检测嵌入到空闲计算阶段,以最小化数值错误
  • 为保证可重现性并确保小规模实验与全规模训练之间结果一致,论文在所有计算和通信算子中强制执行确定性(determinism)。这使得任何训练步骤的多次重新运行都能实现比特级对齐的损失值
  • 在确保正确性后,论文专注于加速训练效率
  • 挂钟时间(Wall-clock time)对于快速算法迭代至关重要,然而单个加速器的能力有限
    • 注:Wall-clock time(墙上时钟时间)的说明:
      • Wall-clock time 是从任务开始到结束在现实世界中流逝的实际时间,等同于你看墙上挂钟或手表所感知的时间,也常称作 real-world time、elapsed real time 或 wall time;
      • (主要区别于 CPU 时间)Wall-clock time 包含所有等待时间,如 I/O、进程调度延迟、锁等待等,反映用户实际等待时长
  • 因此,论文将训练扩展到数万个加速器上,面临着可扩展性和稳定性方面的挑战
  • 通过模型-系统协同设计、多维并行以及全自动的故障检测和恢复,论文实现了接近线性的扩展和 98.48% 的可用性,在 30 天内完成了训练

Numerical Precision Control and Fault Detection

ULP Evaluation
  • 浮点误差受多种因素影响,甚至在同一厂商不同代的加速器之间也会有所不同
  • 为量化和减轻这些误差,论文采用 ULP(Unit in the Last Place,最小精度单位)作为度量标准,其中 ULP 误差衡量了加速器 BF16 结果与 CPU FP32 真实值之间的偏差
  • 零 ULP 误差表示完美精度,而值越大表示精度越差
  • 论文收集了训练中使用的所有算子类型和形状,并比较它们的 ULP 误差
  • 表 4 显示了两种解决方案之间 GEMM 的 ULP 误差
SDC Detection Mechanism
  • SDC 故障在大规模训练中通常不可避免,并且会通过改变数据而严重降低模型性能,且系统不会发出警告
  • 为解决此问题,论文实现了一种高效的片上原地算子重计算机制
  • 具体来说,论文发现 FlashAttention 梯度(FlashAttention Gradients, FAG)的反向计算对 SDC 最敏感,因为它同时混合了张量和向量计算
  • 重计算结果之间的比特差异指示了潜在的 SDC 风险。检测计算在计算流(compute streams)内进行编排,重计算间隔可手动调整,从而在检测覆盖范围和计算成本之间实现灵活的权衡
  • 值得注意的是,算子精度控制对于确保模型准确性是必要的,但还不够
  • 使用不同算子实现的实验可能显示训练损失差异在 1e-3~1e-4 范围内,但在基准测试中却表现出大于 5 个百分点(pp)的变化
  • 成本效益地评估算子精度误差对模型性能的影响仍然是一个开放的挑战

Kernel Optimization for Determinism and Performance

  • 确定性(Determinism)是计算正确性的黄金标准,它消除了浮点误差作为实验变量
    • 但实现确定性通常会带来显著的性能开销
  • 论文通过内核重新设计来解决这个问题,在 LongCat-Flash 的整个训练过程中保持确定性的计算和通信
Deterministic FAG
  • 默认的 FAG 实现是非确定性的,因为 \(dQ\) 、\(dK\) 和 \(dV\) 沿不同维度进行归约(reduce),其中原子加法(atomic addition)缺乏顺序保持性
  • 论文开发了一种高效的确定性 FAG 内核,使用有限的额外工作空间以确定性顺序累加分块(tiles)
  • 通过协同优化,包括双缓冲流水线(double-buffer pipelining)、调整后的分块调度(tuned tiling schedules)和负载均衡,论文的实现达到了原始确定性版本性能的 1.6 倍,非确定性版本的 0.95 倍,在确定性和效率之间取得了平衡
Deterministic ScatterAdd
  • 反向传播(backward passes)中的 ScatterAdd 对于梯度聚合至关重要,但存在输入-输出操作数计数不匹配的问题。默认实现在单个计算单元内强制顺序执行,导致高达 50 倍的减速
  • 论文提出了一种分层归约算法(hierarchical reduction algorithm),在所有可用处理器上并行化梯度聚合,实现了与非确定性版本相当的性能
Optimized Grouped GEMM
  • 考虑到其高计算量但相对于密集 GEMM 较低的计算密度,分组 GEMM(Grouped GEMM)的性能至关重要。论文通过以下方式对其进行优化:
    • (1) 双缓冲流水线(Double-buffer pipelining)以重叠计算、内存 I/O 和收尾操作(epilogue);
    • (2) 对角线分块(Diagonal tiling)以减轻 L2 缓存冲突;
    • (3) 通过计算单元限制控制 HBM 带宽,以重叠分组 GEMM 与分发/组合(dispatch/combine)通信
  • 这些优化比默认版本带来了 5%-45% 的加速
Fused GemmAdd
  • 梯度累积过程中的 \(dw\) 计算遭受带宽瓶颈的限制
  • 论文将 FP32 加法融合到 GEMM 的收尾操作(epilogue)中,避免了中间写回(intermediate write-backs),并将加法隐藏在分块 GEMM 流水线中
  • 这显著减少了延迟,并消除了由 BF16 数据转换为 HBM 引起的精度损失,在融合的 GroupedGemmAdd 基准测试上实现了 3.12 倍到 3.86 倍的加速
  • 此外,论文重新实现了 I/O 密集型内核(例如 MoE 层的置换/逆置换,permute/unpermute),集成了丢弃 Token (drop-token)和处理零计算专家(zero-computation experts)等功能,确保了确定性和性能

Distributed Strategy for Large-scale Training

  • 训练架构以专家并行组(Expert Parallelism Groups, EP)为中心,每个组包含 32 个加速器
    • 在一个 EP 组内,注意力层采用上下文并行(Context Parallelism, CP=8)而不是张量并行(Tensor Parallelism, TP)以最小化通信开销,而 FFN 层使用 EP 分区而不使用 TP
    • 多个 EP 组在流水线并行(Pipeline Parallelism, PP)和数据并行(Data Parallelism, DP)维度上进行扩展
  • 采用专家并行(EP)是为了减少静态内存使用,包括权重和优化器状态
    • 但 EP inherently 引入了昂贵的分发(dispatch)和组合(combine)通信操作
      • 为缓解此问题,LongCat-Flash 采用了 ScMoE 结构,该结构使得分发/组合通信能够通过单个批次中更多的计算来重叠
    • 此外,MoE 层沿 Token 维度被分成两个块(chunks)。这些子块实现了两个目标:
      • (1) 与密集 FFN 计算重叠
      • (2) 彼此之间相互重叠(参见图 8)
  • 对于分发/组合通信,有两种优化策略:
    • (1) 在节点内和节点间使用带流水线的 all-gather/reduce-scatter 内核;
    • (2) 优化的 all-to-all 内核
      • 原生的 all-to-all 将本地数据大小扩展了 top-k 倍,增加了通过每个加速器 200Gb/s 的 RDMA 网络的流量
      • 此外,由于拥塞控制不足,all-to-all 的性能不稳定
      • 论文选择具有确定性的流水线式 all-gather/reduce-scatter 作为主要解决方案,在 ScMoE 架构下,非重叠的分发/组合通信时间比例从 25.3% 降至 8.4%
  • 现有的流水线策略(例如 1F1B、交错式 1F1B(interleaved-1F1B)、零气泡 Zero-bubble (2023))存在流水线阶段间内存使用不平衡的问题
    • 为此,论文采用了 V-ZB 算法 (2024),该算法平衡了所有阶段的内存使用,并将 LongCat-Flash 训练中的峰值内存减少到 60GB 以下
    • 此外,论文启用了来自零气泡(zero bubble)的后验证策略(post-validation strategy),实现了理论上的零气泡
    • 一个关键的改进是在优化器状态回滚(rollback)期间,用上一步的备份数据替换逆操作(inverse operations),保持了数值的比特级对齐

Reliability and Observability

  • 可靠性由贡献给最终训练轨迹的时间比例(可用性,Availability)来衡量,其中不可用时间包括故障恢复以及最后一次检查点与故障发生之间浪费的时间
  • 异步检查点(Asynchronous checkpointing)将训练停滞时间减少到 2~4 秒,允许更高的检查点频率并最小化故障引起的损失
  • 结合在线关键日志过滤、优化初始化和全自动化,恢复时间减少到 <10 分钟
  • 这些机制实现了 98.48% 的可用性,所有 20 次故障均无需手动干预即可自动处理
  • 可观测性(Observability)将细粒度和粗粒度性能分析(profiling)与指标平台相结合
  • 细粒度的 PyTorch Profiler 时间线支持分布式、感知并行的协同分析,以识别流水线并行中的“气泡”(bubbles)和跨秩(inter-rank)通信等待
  • 粗粒度监控增加了对落后节点(stragglers)的低开销运行时分析
  • 指标平台跟踪损失、权重、梯度和激活,以便快速评估模型状态

Inference and Deployment

  • LongCat-Flash 采用了模型-系统协同设计(model-system co-design),这对其实现高吞吐量和低延迟起到了重要作用
  • 本节重点介绍论文其中一个部署集群中实施的推理优化,阐述了同时提升系统吞吐量并将 H800 上的延迟显著降低至 100 TPS 的方法
  • 首先,介绍与模型架构协同设计的并行推理架构
  • 其次,在推理架构之后,描述了量化(quantization)和自定义内核(custom kernel)等优化方法
  • 最后,论文介绍了部署策略和性能结果

Model-Specific Inference Optimization

  • 为实现高效的推理系统,必须解决两个关键挑战:
    • (1) 计算与通信的编排(orchestration)
    • (2) KV 缓存(KV cache)的 I/O 和存储
  • 对于第一个挑战,现有方法通常利用三种常规粒度的并行性:
    • 算子级重叠(operator-level overlap) ,如 NanoFlow (2025);
    • 专家级重叠(expert-level overlap) ,以 EPS-MoE (2025) 为代表;
    • 层级重叠(layer-level overlap) ,如 DeepSeek-V3 TBO(Two Batch Overlap)(Team, 2025b) 所示
    • LongCat-Flash 的 ScMoE 架构引入了第四个维度(模块级重叠(module-level overlap)),为此论文设计了 SBO(Single Batch Overlap)调度策略来同时优化延迟和吞吐量
  • 对于第二个挑战,KV 缓存的 I/O 和存储,LongCat-Flash 通过其注意力机制和 MTP 结构的架构创新来减少有效的 I/O 开销
Computation and Communication Orchestration(计算与通信编排)
  • LongCat-Flash 的结构天然具有计算-通信重叠(computation-communication overlap)的特性,这是在保持生成吞吐量的同时实现更低延迟的关键
  • 论文精心设计了单批次重叠(Single Batch Overlap, SBO),这是一个四阶段的流水线执行过程,利用模块级重叠来充分发挥 LongCat-Flash 的潜力,如图 9 所示
  • SBO 与 TBO 的不同之处在于它将通信开销隐藏在一个批次内
  • 在 SBO 中
    • 阶段 1 需要单独执行,因为 MLA 的输出是后续阶段的输入
    • 阶段 2,论文将 all-to-all 分发(dispatch)与 Dense 前馈网络(Dense FFN)和注意力层 0(Attn 0,即 QKV 投影)重叠,这种重叠至关重要,因为通信开销过大,促使论文拆分注意力过程
    • 阶段 3 独立执行 MoE 通用矩阵乘法(GEMM)
      • 此阶段的延迟将受益于宽专家并行(wide EP)部署策略
    • 在阶段 4,论文将注意力层 1(Attn 1,即核心注意力和输出投影)和 Dense 前馈网络与 all-to-all 组合(combine)重叠
      • 这种编排有效缓解了通信开销,确保了 LongCat-Flash 的高效推理
  • 此外,在宽 EP 部署方案下,ScMoE 架构通过 GPUDirect RDMA (Choquette, 2022) 促进了节点内 NVLink 带宽利用和节点间 RDMA 通信的重叠,从而提高了整体带宽效率
  • ScMoE 中的 Dense 前馈网络具有相对较大的中间维度,因此采用张量并行(TP)部署以最小化内存占用,这分别需要在 Dense 前馈网络之前和之后进行 all-gather 和 reduce-scatter 通信
  • 为减少此通信开销,论文开发了自定义内核,并采用 TP2 或 TP4 而不是 TP8
Speculative Decoding
  • LongCat-Flash 采用多 Token 预测(MTP)作为推测解码(speculative decoding)的草稿模型(draft model)
  • 论文的优化框架源于对推测解码加速公式的系统性分解,正如 Sadhukhan 等人 (2025) 所提到的:
    $$
    \frac{T_{Avg}^{SD} }{T_{T} }=\frac{1}{\Omega(\gamma,\alpha)}\left(\frac{\gamma \cdot T_{D} }{T_{T} }+\frac{T_{V}(\gamma)}{T_{T} }\right),
    $$
    • \(T_{Avg}^{SD}, T_{T}, T_{D}\) 分别表示推测解码、目标模型(target model)和草稿模型(draft model)的每 Token 预期延迟
    • \(\gamma\) 表示一个解码步骤中的草稿 Token 数量
    • \(\Omega(\gamma,\alpha)\) 是给定步骤 \(\gamma\) 和接受率(acceptance rate) \(\alpha\) 的预期接受长度
    • \(T_{V}(\gamma)\) 是目标验证(target verification)的预期延迟
  • 论文的方法针对三个关键因素:
    • 预期接受长度 \(\Omega(\gamma,\alpha)\) ,它与草稿 Token 的接受率 \(\alpha\) 正相关
      • 为最大化接受率 \(\alpha\) ,论文采用 MTP
      • 在后期预训练阶段集成单个 MTP 头,在测试集上实现了约 90% 的接受率
    • 草稿与目标成本比 \(\gamma\frac{T_{D} }{T_{T} }\) ,这主要由目标模型和草稿模型的结构决定
      • 正如 Liu 等人 (2024d) 所指出的,平衡草稿质量和速度至关重要
      • 为在保持相当接受率的同时最小化生成开销,LongCat-Flash 采用了参数减少的轻量级 MTP 架构
      • 论文的实验(表 5)表明,对 MTP 头使用单个 Dense 层优化了这种权衡,在延迟方面优于 ScMoE 层
    • 目标验证与解码成本比 \(\frac{T_{V}(\gamma)}{T_{T} }\)
      • 为降低此比率,论文采用了 C2T 方法 (2025),使用一个分类模型在验证前过滤掉不太可能被接受的 Token
Reducing KV Cache
  • 为了平衡性能和效率,LongCat-Flash 的注意力机制采用了具有 64 个头的 MLA,这减少了注意力组件的计算负载,同时实现了卓越的 KV 缓存压缩,从而减轻了存储和带宽压力
  • 这对于编排 LongCat-Flash 的流水线至关重要,如图 9 所示,模型总是存在一个无法与通信重叠的注意力计算
  • 具体来说,MLA 吸收方法中类似 MQA 的结构在 m 维度(64 个头)上共享 KV,与 WGMMA 指令的形状对齐,以实现最大的硬件利用率

System-Wide Inference Techniques

Minimize Schedule Overhead
  • LLM 推理系统中的解码阶段可能因内核启动开销而变得受启动限制(launch-bound)
  • 引入推测解码后,这个问题更加严重——特别是对于 LongCat-Flash 的轻量级 MTP,验证内核和草稿前向传播的单独调度会带来显著的开销
  • 为缓解此问题,采用了 TVD 融合策略(TVD fusing strategy),将目标前向(Target forward)、验证(Verification)和草稿前向(Draft forward)融合到单个 CUDA 图(CUDA graph)中
  • 为了进一步提高 GPU 利用率,论文实现了一个重叠调度器(overlapped scheduler)
  • 然而,实验结果表明,LongCat-Flash 前向传播的低延迟使得单步预调度策略不足以完全消除调度开销
  • 如图 10 所示,论文引入了一个多步重叠调度器(multi-step overlapped scheduler),在单个调度迭代中启动多个前向步骤的内核
    • 这种方法有效地将 CPU 调度和同步隐藏在 GPU 前向过程中,确保持续的 GPU 占用率
  • 在多步重叠调度器中,论文需要在没有先前迭代中推测解码接受长度先验知识的情况下,为多个未来步骤动态预分配 KV 缓存槽(KV cache slots)
  • 一个重要的问题是,多步重叠调度是否会导致不同的 KV 缓存分配
  • 论文用 \(MTP=1\) 和步数 \(n=4\) 来说明这一点
  • 令 \(R_{i}\) 表示 GPU 第 \(i\) 次迭代前向传播期间可用的 KV 条目数,因此 \(R_{0} = (MTP+1) \times n = 2n\)
  • \(U_{i,s} \in [1, 2]\) 表示第 \(i\) 次迭代中第 \(s\) 步的接受长度,初始值 \(U_{-1,s} = 2\)
  • 然后,当 GPU 执行第 \(i\) 次迭代的前向计算时,调度器基于第 \((i-1)\) 次前向迭代中的接受长度预分配第 \((i+1)\) 次前向迭代所需的 KV 缓存槽,其中 \(A_{i}\) 表示分配的 KV 缓存槽。形式化地:
    $$
    \begin{align}
    A_{i} = \sum_{s=0}^{n-1} U_{i-1,s},\ i \geq 0 \\
    R_{i} = R_{i-1} - \sum_{s=0}^{n-1} U_{i-1,s} + A_{i-1},\ i \geq 1
    \end{align}
    $$
  • 通过归纳,论文得到闭式表达式:
    $$
    R_{i} = 4n - \sum_{s=0}^{n-1} U_{i-1,s},\ i \geq 1
    $$
  • 这意味着:
    $$
    R_{i} \in [2n, 3n],\ i \geq 1
    $$
  • 通过数学归纳法,这确保了即使不知道当前迭代的接受长度,也能为下一次迭代安全地分配 KV 缓存,同时保证了分配的 KV 缓存大小的收敛性
Custom Kernel
  • LLM 推理的自回归(autoregressive)特性带来了独特的效率挑战
  • 预填充阶段(prefilling phase)是计算受限的(compute-bound),像分块预填充(chunk-prefill)(2023) 这样的方法可以规范化数据以实现最优处理
    • 相反,由于流量模式导致的小批量且不规则的 Batch Size ,解码阶段通常是内存受限的(memory-bound),这会损害内核性能
  • 因此,优化这些特定情况对于最小化每输出 Token 时间(Time-Per-Output-Token, TPOT)至关重要
  • MoE GEMM
    • 现有的库,如 DeepGEMM (2025a),将模型权重映射到与 k/n 维度对齐的右侧矩阵(B,在 AxB=C 中),而输入激活(input activations)则成为映射到 m/k 维度的左侧矩阵,其中 m 表示 Token 数量
    • 这种传统方法在 Token 数量低于 m 的 64 元素最小值时需要填充(padding)
    • 为了解决这种低效问题,论文利用了 SwapAB (2025) 技术:将权重视为左侧矩阵,激活视为右侧矩阵
    • 通过利用 n 维度的灵活 8 元素粒度,SwapAB 最大限度地提高了张量核心利用率
  • 通信内核
    • 推理系统利用 NVLink Sharp 的硬件加速广播(multimem.st)和交换机内归约(multimem.ld_reduce)来最小化数据移动和流多处理器(SM)占用,如图 9 所示
    • 通过使用内联 PTX 汇编(inline PTX assembly),reduce-scatter 和 all-gather 内核实现了高效的数据传输
    • 这些内核支持 GPU 间均匀和非均匀的 Token 分布,并且在 4KB 到 96MB 的消息大小上始终优于 NCCL (NVIDIA) 和 MSCCL++ (2025),仅使用 4 个线程块(thread blocks)
Quantization
  • LongCat-Flash 采用与 DeepSeek-V3 相同的量化方案,使用细粒度分块量化(fine-grained block-wise quantization):激活值按 \([1,128]\) 块进行量化,权重按 \([128,128]\) 块进行量化
  • 此外,为了实现最优的性能-精度权衡,论文基于两种方法应用了分层混合精度量化(layer-wise mixed-precision quantization):
    • 第一种方案遵循论文在 FPTQ (2023b) 和 Super-Expert (2025) 中的方法,论文观察到某些线性层(特别是 Downproj)的输入激活值具有达到 \(10^{6}\) 的极端幅值
    • 第二种方案涉及逐层计算分块 FPS 量化误差(包括相对误差和绝对误差),这揭示了特定专家层中存在显著的量化误差
  • 通过取两种方案的交集,论文实现了显著的精度提升

Deployment and Performance

  • 为了实现预填充(prefilling)和解码(decoding)阶段的独立优化,采用了 PD 分离架构(PD-Disaggregated architecture)
  • 此设计中的一个关键挑战是将 KV 缓存从预填充节点传输到解码节点的开销
  • 为了缓解这个问题,论文实现了分层传输(layer-wise transmission),这在高 QPS(每秒查询数)工作负载下显著降低了首 Token 时间(Time-To-First-Token, TTFT)
  • 对于预填充和解码节点,最小部署单元由 2 个节点组成,每个节点配备 16 个 H800-80GB GPU
  • 同时,采用宽 EP(wide EP)部署,并使用 DeepEP (2025b) 来最小化通信开销
  • 此外,论文修改了 DeepEP 和 EPLB(专家并行负载均衡器,Expert Parallelism Load Balancer)以支持零计算专家(zero-computation experts),零计算专家的输出可以在无需通信的情况下获得
  • 表 6 比较了 LongCat-Flash 与 DeepSeek-V3(DeepSeek-V3-profile 来自 DeepSeek (2025a),DeepSeek-V3-blog 来自 DeepSeek (2025b))的吞吐量和延迟,其中 TGS(每秒每 GPU Token 数,token per GPU per second)表示每个设备的生成吞吐量(数值越高表示成本越低),TPS/u(每秒每用户 Token 数,tokens per second per user)表示单个用户的生成速度(数值越高越好)
  • 在测试过程中,使用给定序列长度下的稳态生成吞吐量进行计算。LongCat-Flash 在不同的序列长度下实现了更高的生成吞吐量和更快的生成速度
  • 在基于 ReACT (2023) 模式的 Agent 应用中,完成单个任务需要多轮模型交互,其中交互延迟直接影响用户体验。对典型智能体调用模式的分析揭示了模型输出对不同速度的要求:
    • 推理内容(用户可见):由认知过程(cognitive processes)和解释(explanations)组成,必须匹配人类阅读速度(约 20 个 Token /秒)
    • 动作命令(用户不可见):结构化数据,如函数名和参数,通常为 30~100 个 Token ,但直接影响工具调用启动时间——要求尽可能高的速度
  • 针对此场景,LongCat-Flash 对动作命令实现了近 100 个 Token /秒的生成速度
    • 在 H800 GPU 每小时成本为 2 美元的假设下,这相当于每百万输出 Token 的价格为 0.7 美元
    • 这种性能将单轮工具调用延迟限制在一秒以内,从而显著增强了智能体应用的交互性
Theoretical Performance
  • 图 9 显示,LongCat-Flash 的延迟主要由三个组成部分决定:
    • MLA:其时间消耗无法通过增加 EP 数量来减少
    • All-to-all 分发/组合:两者都受单设备 Batch Size和 topk 的限制
    • MoE:其在内存受限区域(memory-bound region)的时间消耗随着 EP 数量的增加而减少
  • 假设 EP 数量为 128,MLA 对 DeepSeek-V3 和 LongCat-Flash 使用数据并行(DP),GQA 对 Qwen3-235B-A22B 使用 TP4(因为它有 4 个 kv 头),每设备 Batch Size 为 96
    • 实际上,Qwen-235B-A22B 的 GQA 特性导致其 KV 缓存的内存占用相对较高,在实践中难以达到每 GPU 96 的 Batch Size
    • 此处假设其可以达到该值仅用于理论分析的目的
    • 正如 (Li, 2025) 所指出的,FlashMLA 在 NVIDIA H800 SXM5 GPU 上可以达到 660 TFlops;Zhao 等人 (2025b) 表明 DeepEP 带宽可以达到 40GB/s
    • 这两个指标都用于论文的计算
    • 假设每个 H800 的成本为每小时 2 美元
    • 考虑 MTP=1 且接受率为 80%,我们可以计算 DeepSeek-V3、Qwen3-235B-A22B 和 LongCat-Flash 每一层各个模块的理论时间消耗和成本,如表 7 所列
    • 对于本身不支持 MTP 的 Qwen3-235B-A22B,论文假设采用具有相当接受率的推测采样策略(speculative sampling strategy)
  • 在此配置下,采用 SBO 的 LongCat-Flash 的理论极限 TPOT 可以表示为:
    $$
    \text{TPOT} = \frac{\text{TPL} \times n_{\text{layer} } }{\text{batch per device} \times \text{MTP} \times \text{acceptance rate} }
    $$
  • 其中 TPL 表示每层时间成本(time cost per layer)
  • 在 Batch Size 96 下测得的值约为 TPOT = 26 ms,大约是理论值的 61.5%,与 DeepSeek-V3(约 64%)相当。测量值与理论速度之间的差距主要来自小算子的开销和通信带宽的损失
  • 论文应用相同的方法计算了 DeepSeek-V3 和 Qwen3-235B-A22B 在 TBO 调度下的 TPOT 和生成成本的理论极限
    • 从表 7 可以观察到,通过模型系统协同设计,LongCat-Flash 在吞吐量和延迟方面都实现了显著的理论改进
  • 此外,论文观察到关于 LongCat-Flash 的两个关键见解:
    • (1) LongCat-Flash 不仅暴露了 all-to-all 通信和 MoE 计算,还暴露了一个 MLA 计算。因此,在相同的 Batch Size 下,LongCat-Flash 的每层时间比 DeepSeek-V3 略长
      • 然而,由于其层数显著减少,LongCat-Flash 实现了更低的总体延迟
    • (2) LongCat-Flash 的第二个 MLA 与 all-to-all 组合重叠
      • 这意味着在解码阶段,LongCat-Flash 可以在不显著增加延迟的情况下,将序列长度增加到一定程度

附录 A

A.1 Statistics and Case Studies of Dynamic Routing

  • 图 11 显示了 LongCat-Flash Base Model 在不同Benchmarks中平均激活的前馈网络专家(activated FFN experts)数量
    • 存在一种一致的计算偏好(computational bias):英语 Token 比中文和数学 Token 获得了更多的计算资源
  • 论文在表 8 中展示了几个案例在不同层(layers)的更详细的专家选择情况
    • 这些案例揭示了不同层之间专家选择模式(patterns of expert selection)的差异
    • 在第一层(Layer 1),功能词(function words)(包括冠词、连词、介词)、数字和标点符号(punctuation marks) consistently 获得较少的计算资源
    • 相比之下,最后一层(Layer 28)与第一层相比,表现出较少专门化的特征分配(specialized feature allocation),尽管仍然存在可识别的模式
    • 例如,在中文文本案例中,标点符号前的 Token 往往被分配较少的计算资源
    • 论文假设浅层(shallow layers)优先根据 Token 内部语义(token-internal semantics)进行资源分配,而深层(deeper layers)则根据预测复杂性(predictive complexity)动态调整资源,这可能反映了从局部特征处理(local feature processing)到全局预测优化(global prediction optimization)的层次化过渡(hierarchical transition)

NLP——技术报告解读-Kimi-K2

注:本文包含 AI 辅助创作

  • 参考链接:
    • 原始论文:Kimi K2: Open Agentic Intelligence, Moonshot AI (Kimi), 20250728

Paper Summary

  • Kimi K2 是截止到其发表时最强大的开源大语言模型 ,基于 MoE 架构(1T-A32B)(没看错,是1万亿!)
    • 注:截止到发布,效果也是开源中最顶尖的
    • 强调 Agentic 能力
  • 论文同时还提出了 MuonClip 优化器(Muon + 新引入的 QK-clip 技术),解决了训练不稳定的问题,同时保留了 Muon 的高效 Token 利用率
    • 亮点:基于 MuonClip,K2 在 15.5T Token 的预训练过程中实现了零损失峰值
  • 后训练过程包含多个阶段
    • 重点:包括大规模的具身数据合成流程和联合 RL 阶段,模型通过与真实和合成环境的交互进一步提升能力
  • 特别地:Moonshot AI 团队公开了基模型和后训练模型的检查点 ,使社区能够探索、改进和规模化部署 Agentic 智能,以促进 Agentic 智能的未来研究和应用

Introduction and Discussion

  • LLM 的发展正在经历一场深刻的范式转变(即朝着 Agentic 智能(Agentic Intelligence) 的方向演进)
    • Agentic 智能是指模型能够在复杂动态环境中自主感知、规划、推理和行动(autonomously perceive, plan, reason, and act)
      • 注:Agentic 智能不是具身智能(Embodied Intelligence),但这里的定义与具身智能很相似?
    • 这一转变标志着模型从静态模仿学习转向通过交互主动学习 ,使其能够超越训练数据的限制,and adapt behavior through experiences (2025)
    • 目前普遍认为,这种方法可以让 AI 智能体突破静态人类生成数据的局限,通过自身的探索和利用获得超人类能力
    • Agentic 智能正迅速成为下一代基础模型的核心能力,对工具使用、软件开发和现实世界自主性等领域具有广泛影响
  • 实现 Agentic 智能在预训练和后训练阶段均面临挑战
    • 预训练需要在高质量数据有限的约束下,为模型赋予广泛的通用先验知识 ,因此 Token Efficiency(learning signal per Token,即每个 Token 对模型性能提升的贡献)成为关键扩展系数
    • 后训练需要将这些先验知识转化为可操作的行为,但多步推理、长期规划和工具使用等具身能力在自然数据中罕见且难以扩展
      • 所以结构化、高质量具身轨迹的可扩展合成,结合能够整合偏好和自我批评的通用强化学习技术,是弥合这一差距的关键
  • 论文介绍了 Kimi K2,专为解决核心挑战并推动具身能力边界而设计。论文的贡献涵盖预训练和后训练的前沿领域:
    • MuonClip :一种新颖的优化器,将高效的 Muon 算法与增强稳定性的 QK-Clip 机制相结合
      • 使用 MuonClip 在 15.5T Token 上预训练了 Kimi K2,未出现任何损失峰值
      • 注:裁剪的 Idea 在之前的文献中就出现过,GPipe 论文中也是用了在 Softmax 操作前进行 Clip 的方案,缓解较深的网络容易出现尖锐激活(sharp activations)的问题
    • 大规模具身数据合成流程(a large-scale agentic data synthesis pipeline) :通过模拟和真实环境系统性地生成工具使用示范
      • 该系统构建了多样化的工具、智能体、任务和轨迹,以规模化生成高保真且可验证正确的具身交互数据
    • 通用强化学习框架(a general reinforcement learning framework) :结合 RLVR 和自我批评评分奖励机制(self-critique rubric reward mechanism)
      • 模型不仅从外部定义的任务中学习,还通过评估自身输出来扩展对齐能力,从静态领域延伸到开放领域
  • Kimi K2 在广泛的具身和前沿基准测试中表现出色:
    • Agentic 智能方面,超越了大多数开源和闭源基线模型(非思考设定下),缩小了与 Claude 4 Opus 和 Sonnet 的差距:
      • 在 Tau2-Bench 上得分为 66.1,在 ACEBench(英文版)上得分为 76.5
      • 在 SWE-Bench Verified 上得分为 65.8
      • 在 SWE-Bench Multilingual 上得分为 47.3
    • 编码、数学和推理任务中表现优异,进一步凸显了其在通用任务中的能力
      • 在 LiveCodeBench v6 上得分为 53.7
      • 在 AIME 2025 上得分为 49.5
      • 在 GPQA-Diamond 上得分为 75.1
      • 在 OJBench 上得分为 27.1
  • 在 LMSYS Arena 排行榜(20250717)中,基于 3,000+ user votes,Kimi K2 位列开源模型第一名和总排名第五名

Pre-training

  • Kimi K2 的基础模型是一个拥有 1T 参数的 MoE Transformer 模型 (2017),预训练数据规模为 15.5T 高质量 Token
  • 最大化 Token Efficiency :高质量人类数据的可用性日益受限,Token Efficiency 正成为 LLM 扩展的关键系数,论文引入了一系列专门设计的预训练技术,旨在最大化 Token Efficiency
    • 论文采用了 token-efficient Muon 优化器 (2024) 并通过 QK-Clip 技术缓解其训练不稳定性
    • 论文还结合了合成数据生成技术,以进一步从有限的高质量 Token 中提取更多智能信号
  • K2 模型架构采用超稀疏 MoE 设计 ,配备多头潜在注意力(Multi-head Latent Attention, MLA)机制(类似于 DeepSeek-V3 (2024))
    • 其设计基于经验性的扩展定律分析
  • AI Infra:底层基础设施的构建同时优化了训练效率和研发效率

MuonClip:通过权重裁剪实现稳定训练(MuonClip: Stable Training with Weight Clipping)

  • Kimi K2 训练使用 token-efficient Muon 优化器 (2024),并结合了权重衰减(weight decay)和一致的更新 RMS 缩放技术 (consistent update RMS scaling)(2025)
    • 注:这里的 consistent update RMS scaling 是指 在分布式训练过程中,更新 RMS 时,通过节点间通信同步数据,确保更新的缩放因子在所有设备上完全一致
  • 在论文先前的工作 Moonlight (2025) 中的实验表明,在相同的计算预算和模型规模(即相同的训练数据量)下,Muon 显著优于 AdamW (2015, 2019) ,因此成为提升大语言模型训练 Token Efficiency 的有效选择
Training instability when scaling Muon
  • 作者发现在扩展训练规模时,由于注意力 logits 爆炸导致的训练不稳定性
    • 这一问题在 Muon 训练中更为常见,而在 AdamW 中较少出现
  • 现有的缓解策略效果有限:
    • logit soft cap (2024) 直接裁剪注意力 logits,但在裁剪应用之前, Query 和 Key 的点积仍可能过度增长
    • Query-Key Normalization(QK-Norm)(2023) 不适用于多头潜在注意力(MLA),因为其 Key 矩阵在推理时并未完全实例化
Taming Muon with QK-Clip(通过 QK-Clip 驯服 Muon)
  • 为了解决上述问题,论文提出了权重裁剪机制 QK-Clip(可显式约束注意力 logits)
  • QK-Clip 的工作原理是在更新后重新缩放 Query 和 Key 的投影权重 ,以限制注意力 logits 的增长
  • 设 Transformer 层的输入表示为 \(\mathbf{X}\)。对于每个注意力头 \(h\),其 Query、Key 和 Value 投影计算如下:
    $$
    \mathbf{Q}^{h} = \mathbf{X}\mathbf{W}_{q}^{h}, \quad \mathbf{K}^{h} = \mathbf{X}\mathbf{W}_{k}^{h}, \quad \mathbf{V}^{h} = \mathbf{X}\mathbf{W}_{v}^{h},
    $$
    • 其中 \(\mathbf{W}_{q}, \mathbf{W}_{k}, \mathbf{W}_{v}\) 是模型参数
    • 注意力输出为:
      $$
      \mathbf{O}^{h} = \text{softmax}\left(\frac{1}{\sqrt{d} }\mathbf{Q}^{h}\mathbf{K}^{h^{\top} }\right)\mathbf{V}^{h}.
      $$
  • 论文定义最大 logit(每头标量)为该批次 \(B\) 中 softmax 输入的最大值:
    $$
    S_{\text{max} }^{h} = \frac{1}{\sqrt{d} }\max_{\mathbf{X}\in B}\max_{i,j}\mathbf{Q}_{i}^{h}\mathbf{K}_{j}^{h^{\top} },
    $$
    • 其中 \(i,j\) 是训练样本 \(\mathbf{X}\) 中不同 Token 的索引
  • QK-Clip 的核心思想是当 \(S_{\text{max} }^{h}\) 超过目标阈值 \(\tau\) 时,重新缩放 \(\mathbf{W}_{k}\) 和 \(\mathbf{W}_{q}\)
    • 特别说明:这一操作不会改变当前步骤的前向/反向计算(使用最大 logit 作为指导信号来控制权重的增长强度)
  • 一种简单的实现是对所有头同时裁剪:
    $$
    \mathbf{W}_{q}^{h} \leftarrow \gamma^{\alpha}\mathbf{W}_{q}^{h}, \quad \mathbf{W}_{k}^{h} \leftarrow \gamma^{1-\alpha}\mathbf{W}_{k}^{h},
    $$
    • 其中 \(\gamma = \min(1, \tau/S_{\text{max} })\),\(S_{\text{max} } = \max_{h}S_{\text{max} }^{h}\),\(\alpha\) 是平衡参数,通常设为 0.5,表示对 Query 和 Key 应用相同的缩放比例
    • 问题:为什么 Query 和 Key 要分别设计成 \(\gamma^{\alpha}\) 和 \(\gamma^{1-\alpha}\) 呢?
      • 回答:因为目标是让 Query 和 Key 的乘积缩小为 \(\gamma\) 倍,而 \(\gamma^{\alpha} * \gamma^{1-\alpha} = \gamma\)
  • 但论文的实现是分不同头分别放缩的
    • 原因:论文观察到在实践中,只有一小部分头会出现 logits 爆炸,为了最小化对模型训练的干预,论文为每个头确定一个独立的缩放因子,并选择对每个头单独应用 QK-Clip
      $$ \gamma_{h} = \min(1, \tau/S_{\text{max} }^{h}) $$
    • 这种裁剪对于常规的多头注意力(Multi-head Attention, MHA)是直接的
    • 对于 MLA,论文仅对非共享的注意力头组件进行裁剪:
      • \(\mathbf{q}^{C}\) 和 \(\mathbf{k}^{C}\)(head-specific components):分别缩放 \(\sqrt{\gamma_{h} }\);
      • \(\mathbf{q}^{R}\)(head-specific rotary):缩放 \(\gamma_{h}\);
      • \(\mathbf{k}^{R}\)(shared rotary):保持不变以避免跨头影响
MuonClip: The New Optimizer
  • 作者将 Muon + 权重衰减 + 一致的 RMS 匹配(consistent RMS matching) + QK-Clip 整合为一个优化器,称为 MuonClip(参见算法 1)
  • 论文从多项扩展实验中验证了 MuonClip 的有效性:
    • 第一步:论文使用原始 Muon 训练了一个中等规模的模型(激活参数 9B,总参数 53B)
      • 如图 2(左)所示,最大注意力 logits 迅速超过 1000,表明在这一规模下 Muon 训练中已经出现了明显的注意力 logits 爆炸现象
      • 这一水平的最大 logits 通常会导致训练不稳定,包括显著的损失尖峰(loss spike)且偶尔导致发散(divergence)
    • 第二步:论文证明了 QK-Clip 不会降低模型性能,并确认 MuonClip 优化器保留了 Muon 的优化特性,且不会对损失轨迹产生负面影响
      • 实验设计和发现的详细讨论见附录 D
    • 第三步:论文使用 MuonClip(\(\tau = 100\))训练了 Kimi K2 这一大规模 MoE 模型,并在整个训练过程中监控最大注意力 logits(图 2(右))
      • 初始阶段,由于 QK-Clip 的作用,logits 被限制在 100 以内
      • 随着训练的进行,最大 logits 逐渐衰减至不出所料的操作范围(typical operating rang),无需调整 \(\tau\)
      • 重点:训练损失保持平滑稳定,未出现可观测的尖峰(如图 3 所示),验证了 MuonClip 在大规模语言模型训练中对注意力动态的稳健且可扩展的控制能力

Pre-training Data: Improving Token Utility with Rephrasing

  • 预训练中的 Token Efficiency 是指训练过程中每个消耗的 Token 对模型性能提升的贡献程度
  • 提升 Token Utility(即每个 Token 提供的有效学习信号)可以直接改善 Token Efficiency(尤其是在高质量 Token 供应有限的情况下)
  • 一种简单提升 Token Utility 的方法是重复 exposure 相同的 Token,但这可能导致过拟合并降低泛化能力
  • Kimi K2 预训练数据相较于 Kimi K1.5 的一个关键进步是引入了合成数据生成策略以提升 Token Utility
    • 论文采用了一种精心设计的重述流水线(Rephrasing Pipeline),在不引发显著过拟合的情况下扩增高质量 Token 的数量
    • 本报告描述了两类针对特定领域(分别为知识领域和数学领域)的重述(Rephrasing)技术,实现了这种受控的数据增强
Knowledge Data Rephrasing
  • 在自然、知识密集型文本上的预训练面临一个权衡:单轮训练不足以实现全面的知识吸收,而多轮重复则会导致收益递减并增加过拟合风险
  • 为了提升高质量知识 Token 的效用,论文提出了一个合成重述框架,包含以下关键组件:
    • 风格和视角多样化的提示(Style- and perspective-diverse promptin) :为了在保持事实完整性的同时增强语言多样性 ,论文应用了一系列精心设计的提示
      • 这些提示指导 LLM 以多样化的风格和视角生成对原文的忠实重述
    • 分块自回归生成(Chunk-wise autoregressive generation) :为了保留长文档的全局连贯性并避免信息丢失 ,论文采用了基于分块的自回归重写策略
      • 文本被分割为多个段落,分别重述后再拼接为完整的篇章
      • 这种方法缓解了 LLM 通常存在的隐式输出长度限制
      • 该流水线的概述如图 4 所示
    • 保真度验证(Fidelity verification) :为了确保原始内容与重述内容的一致性 ,论文对每段重述内容进行语义对齐检查 ,作为训练前的初步质量控制步骤
  • 论文通过测试 SimpleQA 的准确率,比较了数据重述与多轮重复的效果
    • 实验使用 K2 的早期检查点,评估了三种训练策略:
      • (1) 原始数据集重复 10 轮;
      • (2) 数据重述一次后重复 10 轮;
      • (3) 数据重述 10 次后单轮训练
    • 如表 1 所示,准确率在这些策略中持续提升,证明了基于重述的增强方法的有效性
    • 论文将此方法扩展到其他大规模知识语料库,并观察到类似的积极结果,每个语料库最多重述两次
Mathematics Data Rephrasing
  • 为了增强数学推理能力,论文遵循 SwallowMath (2025) 引入的方法,将高质量的数学文档重写为“学习笔记(learning-note)”风格
  • 作者还通过将其他语言的高质量数学材料翻译为英语,进一步提升了数据的多样性
  • 对数据子集的初步重述实验显示了有希望的结果,但将合成数据作为持续扩展的策略仍是一个活跃的研究领域,关键挑战包括:
    • 在不损害事实准确性的情况下将该方法推广到多样化的源领域
    • 最小化幻觉和意外的毒性
    • 确保其在大规模数据集上的可扩展性
Pre-training Data Overall
  • Kimi K2 的预训练语料库包含 15.5T 亿 Token 的精选高质量数据,涵盖四个主要领域:网络文本、代码、数学和知识(Web Text, Code, Mathematics, and Knowledge)
  • 大多数数据处理流水线遵循 Kimi K1.5 (2025) 中概述的方法
    • TODO:待补充
  • 对于每个领域,论文进行了严格的正确性和质量验证 ,并设计了针对性的数据实验,以确保最终数据集兼具高多样性和高效性

Model Architecture

  • Kimi K2 是一个拥有 1.04T 参数的 MoE Transformer 模型,激活参数为 32B
    • 架构设计与 DeepSeek-V3 (2024) 类似,采用多头潜在注意力(MLA)(2024) 作为注意力机制
    • 模型隐藏维度为 7168,MoE 专家隐藏维度为 2048
    • 专家数 384,激活专家数 8
      • 论文的扩展定律分析表明,持续增加稀疏性可以显著提升性能 ,这促使论文将专家数量增加到 384(DeepSeek-V3 为 256)
    • 注意力头数为 64
      • 为了减少推理时的计算开销,论文将注意力头数削减至 64(DeepSeek-V3 为 128)
    • 表 2 详细对比了 Kimi K2 与 DeepSeek-V3 的架构参数
Sparsity Scaling Law
  • 论文为 MoE 模型家族开发了一条基于 Muon 的稀疏性扩展定律
  • 稀疏性定义为专家总数与激活专家数的比值
  • 通过精心控制的小规模实验,论文观察到:在固定激活参数数量(即恒定 FLOPs)的情况下,增加专家总数(即提高稀疏性)能够持续降低训练和验证损失,从而提升整体模型性能(图 5)
    • 在计算最优的稀疏性扩展定律下,要达到相同的验证损失 1.5,稀疏性 48 相比稀疏性 8、16 和 32 分别减少了 1.69 倍、1.39 倍和 1.15 倍的 FLOPs
    • 尽管增加稀疏性会带来性能提升,但这一增益伴随着基础设施复杂度的上升
    • 为了平衡模型性能与成本,论文为 Kimi K2 选择了稀疏性 48,即每次前向传播激活 384 个专家中的 8 个
  • 问题:为什么图 5 中显示,对于相同的稀疏性,随着训练 FLOPs 的增大,Loss 是先降低后上升的?
    • 补充问题:图 5 是在固定激活参数数量(即恒定 FLOPs)的情况下得到的,增大训练的 FLOPs,本质是在修改哪个参数导致的 FLOPs 增加而 激活函数数量不变呢?
Number of Attention Heads
  • DeepSeek-V3 (2024) 将注意力头数设置为模型层数的约两倍 ,以更好地利用内存带宽并提升计算效率
  • 但是,随着上下文长度的增加,双倍注意力头数(即头数是层数的两倍)会导致显著的推理开销,降低长序列处理的效率
    • 因为 Softmax 等操作是每个头都需要做一份的,整体复杂度为 \(O(n^2h)\)(\(n\)是序列长度);此外,太大的头会导致太小的 Attention Embedding 维度,从而不利于显存分块存储和读取?
  • 由于代理应用(agentic applications)中常常涉及长上下文处理,所以长序列处理的低效已经成为一个主要限制,下面给出一个例子和实验:
    • 在序列长度为 128k 时,将注意力头数从 64 增加到 128(同时保持专家总数 384 不变)会导致推理 FLOPs 增加 83%
    • 论文进行了对照实验,比较了在相同 Token 训练条件下,注意力头数等于层数与双倍头数的配置在不同计算预算下的表现
    • 结果显示:双倍注意力头数仅带来验证损失的微小改善(约 0.5% 至 1.2%)(图 6)
    • 鉴于稀疏性 48(sparsity 48) 已经提供了强劲的性能,双倍注意力头数带来的边际增益无法证明其推理成本的合理性,因此论文选择 64 个注意力头
      • 问题:sparsity 48 是什么?
      • 回答:是上一小节提到的概念,sparsity = 总头数 / 激活头数

        Sparsity is defined as the ratio of the total number of experts to the number of activated experts

    • 问题:为什么图 6 中显示,对于相同的 FLOPs,随着训练 Token 的增大,Loss 是先降低后上升的?
      • 补充问题:是因为训练 Token 提升时,为了保证 FLOPs 不变,需要减少模型参数吗?具体减少的是什么参数呢?

Training Infrastructure

Compute Cluster
  • Kimi K2 在配备 NVIDIA H800 GPU 的集群上进行训练
  • 每个 H800 集群节点包含 2TB RAM 和 8 个通过 NVLink 和 NVSwitch 连接的 GPU
    • NVSwitch 是什么?
  • 节点间通过 8 条 400 Gbps RoCE 互连实现通信
Parallelism for Model Scaling
  • LLM 的训练通常在动态资源可用性的情况下进行
  • 论文采用了一种灵活的策略,使得 Kimi K2 可以在任意 32 的整数倍节点数上训练
  • 论文的策略结合了 16 路流水线并行(Pipeline Parallelism, PP)与 Virtual Stages (2023;)、16 路专家并行(Expert Parallelism, EP)(2020) 以及 ZeRO-1 数据并行 (2020)
    • 问题:Virtual Stages 是什么?
  • 在此设置下
    • 以 BF16 存储模型参数并以 FP32 存储梯度累积缓冲区,大约需要 6TB 的 GPU 内存,分布在 256 个 GPU 的模型并行组中
    • 优化器状态的放置取决于训练配置
      • 当训练节点总数较大时,优化器状态被分布式存储,从而将每个设备的存储占用降至可忽略的水平
      • 当训练节点总数较小(例如 32)时,可以将部分优化器状态卸载到 CPU
  • 这种方法允许论文在小规模和大规模实验中复用相同的并行配置,同时让每个 GPU 保留约 30 GB 的 GPU 内存用于存储所有状态
    • 剩余的 GPU 内存用于存储激活值,如第 2.4.3 节所述
  • 这种一致的设计提高了研发效率(简化了系统并显著加快了实验迭代速度)
  • EP 通信与交错 IF1B 的重叠(EP communication overlap with interleaved 1F1B)
    • 通过增加预热微批次的数量,我们可以在标准的交错 IF1B 调度 (2023, 2023) 下将 EP 的 all-to-all 通信与计算重叠
      • 相比之下,DualPipe (2024) 会使参数和梯度的内存需求翻倍,需要通过增加并行度来补偿
      • 增加 PP 会引入更多气泡,而增加 EP(如下所述)会带来更高的开销
      • 这些额外成本对于训练一个拥有超过 1T 参数的大型模型来说过高,因此论文选择不使用 DualPipe
      • 问题:1F1B 调度是什么?
    • 但交错 IF1B 将模型分割为更多阶段,引入了显著的 PP 通信开销
      • 为了缓解这一成本,论文将权重梯度计算从每个微批次的反向传播中解耦,并将其与相应的 PP 通信并行执行
      • 因此,除了预热阶段外,所有 PP 通信都可以有效重叠
  • 更小的 EP 规模(Smaller EP size)
    • 为了确保在 IF1B 阶段实现完全的计算-通信重叠,K2 中减少的注意力计算时间(与 DeepSeek-V3 的 128 头相比,K2 为 64 头)需要最小化 EP 操作的时间
    • 这是通过采用最小的可行 EP 并行化策略(具体为 EP = 16)实现的
    • 使用更小的 EP 组还放宽了专家平衡约束,无需进一步调优即可实现接近最优的速度
Activation Reduction
  • 在保留参数、梯度缓冲区和优化器状态的空间后,每个设备上剩余的 GPU 内存不足以保存完整的 MoE 激活值
  • 为了确保激活内存适应约束条件,特别是对于在 IF1B 预热阶段累积最大激活值的初始流水线阶段,论文采用了以下技术
  • 选择性重计算(Selective recomputation)
    • 重计算应用于成本低但占用空间大的阶段,包括 LayerNorm、SwiGLU 和 MLA 上投影 (2024)
    • 此外,MoE 下投影在训练期间被重计算以进一步减少激活内存(可选的)
      • 这种重计算保持了足够的 GPU 内存,防止了早期训练阶段因专家不平衡导致的崩溃
  • 对不敏感激活值的 FP8 存储(FP8 storage for insensitive activations)
    • MoE 上投影和 SwiGLU 的输入被压缩为 FP8-E4M3,以 1×128 块为单位,并带有 FP32 缩放因子
    • 小规模实验显示没有可测量的损失增加
    • 由于在初步研究中观察到的性能下降风险,论文没有在计算中应用 FP8
  • 激活值 CPU 卸载(Activation CPU offload)
    • 所有剩余的激活值被卸载到 CPU RAM
    • 一个复制引擎负责流式传输卸载和加载,与计算和通信内核重叠
    • 在 IF1B 阶段,论文在预取下一个微批次的反向激活值的同时卸载前一个微批次的前向激活值
    • 预热和冷却阶段的处理方式类似,整体模式如图 7 所示
    • 尽管卸载可能因 PCIe 流量拥塞略微影响 EP 通信,但论文的测试表明 EP 通信仍能完全重叠

Training recipe

  • 论文使用 MuonClip 优化器(算法 2)和 WSD 学习率调度 (2024) 对模型进行了预训练,上下文窗口为 4096 Token,共处理了 15.5T Token
  • 前 10T Token 以恒定学习率 2e-4 训练(500 步预热),随后 5.5T Token 以从 2e-4 到 2e-5 的余弦衰减学习率训练
  • 权重衰减始终设置为 0.1,全局批次大小保持在 67M Token
  • 整体训练曲线如图 3 所示
  • 在预训练接近结束时,论文进行了退火阶段,随后是长上下文激活阶段
    • 批次大小保持在 67M Token,学习率从 2e-5 衰减至 7e-6
    • 在此阶段,模型在 400B Token 上以 4k 序列长度训练,随后在 60B Token 上以 32k 序列长度训练
    • 论文采用了 YaRN 方法 (2023) 将上下文窗口扩展到 128k

Post-training

SFT

  • 在 后训练 阶段,论文采用 Muon 优化器(2015)并推荐将其用于 K2 的微调
    • 这一选择基于论文先前工作(2025)的结论:使用 Muon 预训练的检查点在 Muon 微调下表现最佳
  • 论文构建了一个涵盖多样化领域的大规模指令微调数据集,其设计遵循两大核心原则 :最大化提示多样性(prompt diversity)和确保高质量响应
    • 论文开发了一套针对不同任务领域的数据生成流程,每个流程结合了人工标注、提示工程和验证过程
    • 论文采用 K1.5(2025)和其他内部领域专家模型为各类任务生成候选响应,随后通过 LLM 或人工评审进行自动化质量评估与过滤
    • 对于智能体(agentic)数据,论文创建了一个数据合成流程,通过多步骤交互式推理教授模型工具使用能力
Large-Scale Agentic Data Synthesis for Tool Use Learning
  • 现代 LLM 智能体的一项关键能力是自主使用陌生工具、与外部环境交互,并通过推理、执行和纠错迭代优化其行为
    • 智能体工具使用能力对于解决需要与现实系统动态交互的复杂多步骤任务至关重要
  • 近期基准测试如
    • ACEBench(2025)和 \(\tau\)-bench(2025)强调了全面评估工具使用的重要性
    • ToolLLM(2023)和 ACEBench(2025)等框架展示了让模型有效使用数千种工具的潜力
  • 但大规模训练此类能力面临显著挑战:尽管真实环境提供丰富且真实的交互信号,但由于成本、复杂性、隐私和可访问性限制,通常难以大规模构建
    • 近期合成数据生成的研究(AgentInstruct 2024;Self-Instruct 2022;StableToolBench 2025;ZeroSearch 2025)在不依赖真实交互的情况下创建大规模数据已取得成果
    • 基于这些进展并受 ACEBench(2025)综合数据合成框架的启发,论文开发了一个流程,可大规模模拟真实世界工具使用场景,生成数万种多样且高质量的训练样本
  • 论文的数据合成流程包含三个阶段(如图 8 所示):
    • 第一步:工具规范生成(Tool spec generation) :从真实工具和 LLM 合成工具中构建大型工具库;
    • 第二步:智能体与任务生成(Agent and task generation) :从工具库中采样工具,并为每组工具生成一个使用该工具集的智能体及其对应任务;
    • 第三步:轨迹生成(Trajectory generation) :为每个智能体和任务生成轨迹,其中智能体通过调用工具完成任务
  • 领域演化与工具生成(Domain Evolution and Tool Generation) :论文通过两种互补方法构建全面的工具库
    • 第一步:直接从 GitHub 仓库获取 3000+ 真实 MCP(Model Context Protocol)工具,利用现有高质量工具规范
    • 第二步:通过分层领域生成过程,系统地演化(2025)合成工具:
      • 从关键类别(如金融交易、软件应用、机器人控制)开始
      • 在每个类别内演化多个具体应用领域
      • 随后为每个领域合成专用工具,明确接口、描述和操作语义
      • 此过程生成超过 20,000 种合成工具
    • 图 9 通过 t-SNE 嵌入可视化工具集的多样性,显示 MCP 和合成工具覆盖了工具空间的互补区域
  • 智能体多样化(Agent Diversification)
    • 通过合成多样化系统提示并为智能体配备工具库中的不同工具组合,论文生成数千种独特智能体
    • 这创造了能力、专业领域和行为模式各异的智能体群体,确保广泛覆盖潜在用例
  • 基于准则的任务生成(Rubric-Based Task Generation)
    • 为每种智能体配置生成从简单到复杂操作的任务
    • 每个任务配有明确准则,指定成功标准、预期工具使用模式及评估检查点
    • 这种基于准则的方法确保对智能体性能的一致且客观的评估
  • 多轮次轨迹生成(Multi-turn Trajectory Generation) ,通过以下组件模拟真实工具使用场景:
    • 用户模拟(User Simulation) :LLM 生成的具有不同沟通风格和偏好的用户角色与智能体进行多轮对话,形成自然交互模式;
    • 工具执行环境(Tool Execution Environment) :功能等效于世界模型的复杂工具模拟器执行工具调用并提供真实反馈
      • 模拟器在每次工具执行后维护和更新状态,支持具有持久效果的复杂多步骤交互,并引入受控随机性以产生包括成功、部分失败和边缘情况在内的多样化结果
  • 质量评估与过滤(Quality Evaluation and Filtering)
    • LLM-based 评审员(LLM-based judge)根据任务准则评估每条轨迹
    • 仅保留满足成功标准的轨迹用于训练 ,确保高质量数据的同时允许任务完成策略的自然变化
  • 结合真实执行环境的混合方法(Hybrid Approach with Real Execution Environments)
    • 模拟提供了可扩展性,但模拟保真度(simulation fidelity)仍存在固有局限
    • 论文在真实性至关重要的场景(特别是编码和软件工程任务)中补充真实执行沙盒
      • 这些沙盒执行实际代码,与真实开发环境交互,并通过 test suite 通过率等客观指标提供真实反馈
    • 这种组合确保模型从模拟场景的多样性和真实执行的真实性中学习,显著增强实际智能体能力
    • 结合可扩展模拟与针对性真实执行的混合流程,论文生成多样化、高质量的工具使用演示,平衡了覆盖范围与真实性
    • 合成数据生成的规模化和自动化,加上真实执行环境的 grounding,通过质量过滤流程有效实现了大规模拒绝采样(2022;2025)
    • 这种高质量合成数据用于监督微调时,显著提升了模型在广泛实际应用中的工具使用能力

Reinforcement Learning

  • RL 被认为比 SFT 具有更好的 Token Efficiency 和泛化性
  • 基于 K1.5(2025)的工作,论文在 K2 中继续扩大 RL 的任务多样性和训练 FLOPs
  • 论文开发了一个类似 Gym 的可扩展框架 ,支持跨多种场景的 RL
    • 论文通过大量可验证奖励任务扩展该框架
    • 对于依赖主观偏好(subjective preferences)的任务(如创意写作和开放式问答),引入自评奖励机制(self-critic reward),模型通过成对比较判断自身输出
    • 这种方法使得来自不同领域的任务都能受益于 RL 范式
Verifiable Rewards Gym
  • 数学、STEM 与逻辑任务(Math, STEM and Logical Tasks) :对于数学、STEM 和逻辑推理领域,论文的 RL 数据准备遵循两大原则:多样化覆盖(diverse coverage)和适度难度(moderate difficulty)
    • 多样化覆盖 :对于数学和 STEM 任务,论文结合专家标注、内部 QA 提取流程和公开数据集(2025;2024)收集高质量问答对
      • 在收集过程中,利用标签系统刻意增加低覆盖领域的样本
      • 对于逻辑任务,数据集包含多种格式,包括结构化数据任务(如多跳表格推理、跨表聚合)和逻辑谜题(如 24 点游戏、数独、谜语、密码算术和摩尔斯电码解码)
    • 适度难度 :RL 提示集应既不太简单也不太困难,两者都可能产生较少信号并降低学习效率
      • 论文使用 SFT 模型的 pass@k 准确率评估每个问题的难度 ,仅选择中等难度的问题
  • 复杂指令跟随(Complex Instruction Following) :有效的指令跟随不仅需要理解显式约束 ,还需处理隐式需求、边缘案例和保持长对话一致性;论文通过结合自动化验证与对抗检测的混合验证框架,以及可扩展的课程生成流程应对这些挑战;具体采用双路径系统确保精确性和鲁棒性:
    • 混合规则验证(Hybrid Rule Verification) :实现两种验证机制:
      • (1) 通过代码解释器对可验证输出的指令(如长度、风格约束)进行确定性评估;
      • (2) 对需要细微理解约束的指令使用 LLM 作为评审员
        • 为解决模型可能虚假声称满足指令的对抗行为,额外加入专门检测此类欺骗性声明的 hack-check 层
    • 多源指令生成(Multi-Source Instruction Generation) :采用三种生成策略确保全面覆盖:
      • (1) 数据团队开发的专家编写的复杂条件提示和说明(rubrics);
      • (2) 受 AutoIF(2024)启发的智能体指令增强;
      • (3) 针对生成探测特定故障模式或边缘案例指令的微调模型
      • 这种多管齐下的方法确保指令覆盖的广度和深度
  • 忠实性(Faithfulness) 对于多轮工具使用、自生成推理链和开放环境交互等场景,忠实性至关重要
    • 受 FACTS Grounding(2025)评估框架启发,论文训练了一个句子级忠实性评审模型进行自动化验证
    • 该评审模型能有效检测上下文中无证据支持的 factual claim ,将该评审模型作为奖励模型以提升整体忠实性表现
      • 问题:为什么是上下文中无证据支持的?不应该是有证据支持的才是事实句子吗?
      • 回答:这里应该是表达检测出申明为事实,但实际无证据支撑的(作为负奖励)
  • Coding & Software Engineering
    • Coding :为增强解决竞赛级编程问题的能力,论文从开源数据集(2023;2025)和合成来源收集问题及其评审器(problems and their judges)
      • 为确保合成数据的多样性和奖励信号的正确性,论文整合了从预训练数据中检索的高质量人工编写单元测试
    • Software Engineering :对于软件工程任务,论文从 GitHub 收集大量拉取请求和问题,构建包含用户提示/问题和可执行单元测试的软件开发环境
      • 该环境基于强大的沙盒基础设施,由 Kubernetes 提供可扩展性和安全性支持,可稳定运行 10,000+ 并发沙盒实例,非常适合竞赛编程和软件工程任务
  • 安全性(Safety) :论文通过人工策划的种子提示集开始安全性增强工作,手动设计涵盖暴力、欺诈和歧视等主流风险类别
    • 为模拟复杂越狱尝试(如角色扮演、文学叙事和学术讨论),论文采用包含三个关键组件的自动化提示演化流程:
      • 攻击模型(Attack Model) :迭代生成旨在从目标 LLM 引发不安全响应的对抗提示;
      • 目标模型(Target Model) :生成对这些提示的响应,模拟潜在漏洞;
      • 评审模型(Judge Model) :评估交互以判断对抗提示是否成功绕过安全机制
    • 每次交互使用任务特定准则评估,使评审模型能提供二元成功/失败标签
Beyond Verification: Self-Critique Rubric Reward
  • 为将模型对齐扩展至无可验证奖励的任务,论文引入了一个基于自评反馈的通用强化学习框架
  • 该方法旨在通过将从可验证场景学到的能力扩展至更广泛的主观任务,使 LLM 与人类偏好(如帮助性、创造性、推理深度、事实性和安全性)对齐
  • 框架通过自评准则奖励(Self-Critique Rubric Reward)机制运行,模型通过评估自身输出来生成偏好信号
  • 为引导 K2 成为合格评审员,论文在 SFT 阶段混合开源和内部偏好数据集初始化其评审能力
  • 自评策略优化(Self-Critiqued Policy Optimization)
    • 在学习循环的第一核心过程中
      • K2 Actor 为覆盖广泛用例的通用提示生成响应;
      • K2 Critic 随后通过成对评估结合以下指标对所有结果排序:
        • 核心准则(Appendix. F.1)(代表 Kimi 珍视的 AI 助手核心价值)
        • 规定性准则(Appendix. F.2)(旨在消除奖励黑客行为)
        • 人工标注准则(数据团队为特定指令上下文设计)
    • 尽管某些准则可设为强制,K2 仍保留根据内部先验权衡的灵活性
      • 这种能力确保模型响应在适应特定指令的同时,与其核心身份保持一致
  • 闭环评审优化与对齐(Closed-Loop Critic Refinement and Alignment)
    • 在 RL 训练期间,评审模型通过可验证信号优化:从可验证奖励提示生成的 on-policy rollouts 用于持续更新评审者 ,这一关键步骤将 RLVR 的客观性能信号蒸馏至评估模型中
    • 这种迁移学习过程将其对缺乏显式奖励信号的复杂任务的主观判断 grounded 于可验证数据,使得从可验证任务获得的性能提升能增强评审者对复杂任务的判断力
    • 这一闭环流程确保评审者随策略演化同步重新校准评估标准
    • 通过将主观评估建立在可验证数据上,该框架实现了与(复杂且不可验证的)人类目标对齐 ,而且这个对齐过程是稳健且可扩展的
  • 这种整体对齐在用户意图理解、创意写作、复杂推理和细微语言理解等广泛领域带来全面性能提升

    user intent understanding, creative writing, complex reasoning, and nuanced language comprehension

RL Algorithm
  • 论文采用 K1.5(2025)引入的策略优化算法作为 K2 的基础
  • 对于每个问题 \(x\),论文从旧策略 \(\pi_{\text{old} }\) 采样 \(K\) 个响应 \(\{y_1, \ldots, y_k\}\),并针对以下目标优化模型 \(\pi_\theta\):
    $$
    L_{\text{RL} }(\theta) = \mathbb{E}_{x\sim\mathcal{D} } \left[ \frac{1}{K} \sum_{i=1}^K \left( r(x,y_i) - \bar{r}(x) - \tau \log \frac{\pi_\theta(y_i|x)}{\pi_{\text{old} }(y_i|x)} \right)^2 \right],
    $$
    • \(\bar{r}(x) = \frac{1}{k} \sum_{i=1}^k r(x,y_i)\) 是采样响应的平均奖励
    • \(\tau > 0\) 是促进稳定学习的正则化参数
  • 与 SFT 相同,论文采用 Muon 优化器(2015)最小化该目标
  • K2 中将 RL 训练扩展至更广泛任务领域,并在RL 算法中引入多项改进,目标是实现所有领域实现一致的性能提升
  • 改进一:预算控制(Budget Control)
    • RL 常导致模型生成响应长度大幅增加(2025;2019)
      • 一般来说,更长响应使模型能利用额外测试时计算提升复杂推理任务性能
      • 但在非推理领域,难以证明其推理成本带来的收益
    • 为鼓励模型合理分配推理预算,论文在 RL 训练中强制实施基于任务类型的每样本最大 Token 预算(per-sample maximum token budget)
      • 超出该预算的响应将被截断并受到惩罚,激励模型在指定限制内生成解决方案
      • 实证表明,该方法显著提升模型的 Token Efficiency,鼓励所有领域生成简洁而有效的解决方案
  • 改进二:PTX 损失(PTX Loss)
    • 论文精选包含人工筛选高质量样本的数据集,并通过辅助 PTX 损失(2022)将其整合至 RL 目标
      • PTX Loss 通常指的是把 Pre-Training 的 Loss 加入到 RLHF 阶段,最早提出于 Training language models to follow instructions with human feedback, 2022, OpenAI
      • PTX Loss 用于防止联合 RL 训练期间遗忘有价值的高质量数据
    • 该策略不仅利用高质量数据优势,还缓解对训练机制中显式存在的有限任务集过拟合的风险
    • 这一增强显著提升模型在更广泛领域的泛化能力
  • 温度衰减(Temperature Decay)
    • 对于创意写作和复杂推理等任务,论文发现初始训练阶段通过高采样温度促进探索至关重要
      • 高温允许模型生成多样化和创新性响应,从而促进有效策略的发现并降低过早收敛至次优解的风险
      • 但在训练后期或评估阶段保持高温可能有害,因其引入过多随机性并损害模型输出的可靠性和一致性
    • 论文采用温度衰减计划,在训练过程中从探索逐渐转向利用
      • 该策略确保模型在最有裨益时利用探索,最终收敛于稳定且高质量的输出

RL Infrastructure

Colocated Architecture
  • 与 K1.5(2025)类似,论文为同步 RL 训练采用混合共置架构(hybrid colocated architecture),其中训练和推理引擎位于相同 worker 上
  • 当一个引擎活跃工作时,另一个引擎释放或卸载其 GPU 资源以适配
  • 在每次 RL 训练迭代中,中央控制器首先调用推理引擎生成新训练数据,随后通知训练引擎在新数据上训练,并将更新后的参数发送至推理引擎用于下一迭代
  • 每个引擎均针对吞吐量高度优化。此外,随着模型规模扩展至 K2 级别,引擎切换和故障恢复的延迟变得显著。论文在这些方面的系统设计考量如下
Efficient Engine Switching
  • 在 rollout 期间,训练引擎的参数被卸载至 DRAM。因此启动训练引擎仅是简单的 H2D 传输步骤。然而,启动推理引擎挑战更大,因其需从训练引擎获取采用不同分片范式的更新参数
  • 鉴于 K2 的规模和涉及的大量设备,使用网络文件系统进行重新分片和广播参数不切实际,保持低开销所需的聚合带宽达每秒数 PB。为解决该挑战,论文开发了位于训练节点上的分布式检查点引擎以管理参数状态
    • 执行参数更新时
      • 每个检查点引擎 worker 从训练引擎获取参数的本地副本
      • 随后跨所有检查点引擎 worker 广播完整参数集
      • 接着推理引擎仅从检查点引擎检索所需参数分片
    • 该流程如图 10 所示。为实现 1T 模型的该操作,更新以流水线方式逐参数执行,最小化内存占用(见 Appendix G)
  • 论文选择跨整个集群广播完整参数集,无论各推理 worker 的特定分片方案如何。尽管这比理论最优方法传输多倍数据,但其提供了更简单的系统设计,对训练和推理引擎的侵入性更低。论文选择以这一微小开销为代价,完全解耦训练引擎与推理引擎,显著简化维护和测试
  • 值得注意的是,该方法优于“按需传输”方法,因其降低同步开销并提高网络带宽利用率。论文的系统可在不到 30 秒内完成 Kimi K2 的完整参数更新,对于典型 RL 训练迭代可忽略不计
Efficient System Startup
  • 由于大规模训练易受系统故障影响,对 Kimi K2 等大型模型优化启动时间至关重要
  • 启动训练引擎时,论文让每个训练 worker 选择性地从磁盘读取部分或无参数,并向其对等节点广播必要参数。设计目标是确保所有 worker 集体仅读取检查点一次,最小化昂贵磁盘 IO
  • 由于推理引擎是独立副本,作者希望避免引入额外同步屏障。因此,论文选择重用检查点引擎启动:让检查点引擎集体从磁盘读取检查点,类似训练引擎启动方式。随后使用前一节介绍的方法更新未初始化推理引擎的状态。通过利用专用检查点引擎,系统还对单点故障具有鲁棒性,因为推理副本可无需与其他副本通信而重启
Agentic Rollout
  • 论文的 RL 基础设施支持长视野、多轮智能体任务的训练。在 rollout 期间,这些任务呈现独特挑战,如复杂环境交互和延长 rollout 持续时间。以下介绍缓解这些问题的优化
  • 由于环境多样性,某些交互可能因等待环境反馈(如虚拟机或代码解释器)而阻塞,导致 GPU 闲置。论文采用两种策略最大化 GPU 利用率:
    • (i) 将重型环境部署为可更易扩展的专用服务;
    • (ii) 使用大量并发 rollouts 分摊某些昂贵交互引发的延迟
  • 智能体 rollout 的另一挑战是单个 rollout 轨迹可能极长
    • 为防止长尾轨迹阻塞整个 rollout 流程,论文采用 部分 rollout(2025)技术(partial rollout technique)
    • 该策略允许暂停未完成的长期任务,并在下一 RL 迭代中恢复
  • 为提高研究效率,论文还设计了受 OpenAI Gym 框架(2025)启发的统一接口,以简化新环境的集成
  • 作者希望未来将 RL 基础设施扩展至更多样化的交互环境

Evaluations

  • 本节首先对 Kimi-K2-Instruct 进行后训练评估,随后简要概述 Kimi-K2-Base 的能力,最后进行全面的安全性评估

Post-training Evaluations

Evaluation Settings
  • Benchmarks :在多个领域评估 Kimi-K2-Instruct 的表现
    • 编码任务(Coding) :采用 LiveCodeBench v6(2024 年 8 月至 2025 年 5 月的题目)、OJBench、MultiPL-E、SWE-bench Verified、TerminalBench、Multi-SWE-bench、SWE-Lancer、PaperBench 和 Aider-Polyglot
    • 工具使用任务(Tool Use Tasks) :评估多轮工具调用能力,重点关注 \(\tau^2\)-Bench 和 ACEBench
    • 推理任务(Reasoning) :涵盖数学、科学和逻辑任务,包括 AIME 2024/2025、MATH-500、HMMT 2025、CNMO 2024、PolyMath-en、ZebraLogic、AutoLogi、GPQA-Diamond、SuperGPQA 和 Humanity’s Last Exam(仅文本)
    • 长上下文能力(Long-context Capabilities) :评估 MRCR4(长上下文检索)、DROP、FRAMES 和 LongBench v2(长上下文推理)
    • 事实性(Factuality) :使用 FACTS Grounding、Vectara Hallucination Leaderboard 和 FaithJudge 评估
    • 通用能力(General Capabilities) :通过 MMLU、MMLU-Redux、MMLU-Pro、IFEval、Multi-Challenge、SimpleQA 和 LiveBench(截至 2024-11-25)评估
  • Baselines :对比了开源和专有前沿模型,确保所有候选模型在非思考模式下评估,以消除测试时计算带来的额外增益
    • 开源基线 :DeepSeek-V3-0324 和 Qwen3-235B-A22B(后者在无思考模式下运行)
    • 专有基线 :Claude Sonnet 4、Claude Opus 4、GPT-4.1 和 Gemini 2.5 Flash Preview(2025-05-20),均通过官方 API 在统一温度和 top-p 设置下调用
  • 评估配置(Evaluation Configurations)
    • 所有模型在非思考模式下运行,输出长度上限为 8192 个 Token(SWE-bench Verified 除外,上限为 16384)
    • 对于高方差基准测试,论文采用重复采样 \(k\) 次并取平均值(记为 Avg@\(k\))
    • 长上下文任务的上下文窗口设置为 128K Token,超出部分截断
Evaluation Results
  • 表 3 展示了 Kimi-K2-Instruct 的综合评估结果,详细解释见附录 C
  • 以下是四个核心领域的重点结果:
  • 代理式与竞技编码(Agentic and Competitive Coding) :Kimi-K2-Instruct 在真实世界软件工程任务中表现优异:
    • SWE-bench Verified:65.8%(单次尝试),71.6%(多次尝试)
    • SWE-bench Multilingual:47.3%
    • SWE-lancer:39.1%
    • 在竞技编码基准测试(如 LiveCodeBench v6 53.7%、OJBench 27.1%)中,Kimi-K2-Instruct 同样领先
  • 代理式工具使用(Agentic Tool Use) :在多轮工具使用基准测试中,Kimi-K2-Instruct 表现卓越:
    • \(\tau^2\)-Bench:66.1 Pass@1
    • ACEBench:76.5
    • 这些结果验证了其在多领域工具调用中的优势
  • 通用能力(General Capabilities) :Kimi-K2-Instruct 在通用知识、数学、指令遵循和长上下文任务中表现均衡:
    • SimpleQA:31.0%
    • MMLU:89.5%
    • MMLU-Redux:92.7%
    • 在数学和 STEM 任务中,其得分同样领先(AIME 2024:69.6%,GPQA-Diamond:75.1%)
  • 开放式评估(Open-Ended Evaluation)
    • 在 LMSYS Arena 排行榜(2025 年 7 月 17 日)中,Kimi-K2-Instruct 以 3000 多张用户投票成为排名第一的开源模型 ,总排名第五

Pre-training Evaluations

Evaluation Settings
  • Benchmarks :评估 Kimi-K2-Base 在多个领域的能力:
    • 通用能力 :MMLU、MMLU-Pro、MMLU-Redux、BBH、TriviaQA、SuperGPQA、SimpleQA、HellaSwag、AGIEval、GPQA-Diamond、ARC-Challenge 和 WinoGrande
    • 编码能力 :EvalPlus(平均 HumanEval、MBPP、HumanEval+ 和 MBPP+)、LiveCodeBench v6 和 CRUXEval
    • 数学推理 :GSM8K、GSM8K-Platinum、MATH 和 CMATH
    • 中文能力 :C-Eval、CMMLU 和 CSimpleQA
  • Baselines :对比的开源基础模型包括 DeepSeek-V3-Base、Qwen2.5-72B-Base 和 Llama 4-Maverick
  • 评估配置(Evaluation Configurations)
    • 基于困惑度的评估:MMLU、MMLU-Redux、GPQA-Diamond、HellaSwag、ARC-Challenge、C-Eval 和 CMMLU
    • 基于生成的评估:MMLU-Pro、SuperGPQA、TriviaQA、BBH、CSimpleQA、MATH、CMATH、GSM8K、GSM8K-Platinum、CRUXEval、LiveCodeBench 和 EvalPlus
Evaluation Results
  • 表 4 展示了 Kimi-K2-Base 与领先开源模型的对比结果:
    • 通用语言理解 :在 12 项英语基准测试中,10 项表现最佳(如 MMLU 87.79%,MMLU-Pro 69.17%)
    • 编码能力 :CRUXEval-I-cot 74.00%,LiveCodeBench v6 26.29%
    • 数学推理 :MATH 70.22%,GSM8K 92.12%
    • 中文理解 :C-Eval 92.50%,CMMLU 90.90%

Safety Evaluation

Experiment Settings
  • 论文对 Kimi K2 与其他开源 LLM 进行了红队评估(red-teaming evaluations)
  • 该评估涵盖了一系列攻击场景,包括有害内容、隐私内容、安全内容,以及不同的攻击策略,如提示注入(prompt injection)和迭代越狱(iterative jailbreak)
  • 论文使用 Promptfoo 生成对抗性提示并分析响应
  • 模型选择(Model Selection) :对比模型包括 Kimi K2、DeepSeek-V3、DeepSeek-R1 和 Qwen3
  • Promptfoo Settings :表 5 列出了所评估的插件(plugins)和策略(strategies),每个插件都与所有策略配对以评估其性能
  • 测试用例数量(Test Case Count) :每个插件策略组合生成 3 条攻击提示,支持双语的情况下生成 6 条
  • 提示语言设置(Prompt Language Settings) :对每个插件-策略组合的语言兼容性进行了预测试
    • 有些插件同时支持英文和中文,而其他插件仅支持英文
    • 对于同时支持两种语言的组合,我们每种语言生成 3 个提示,因此每个组合共生成 6 个提示
  • 人工审核(Manual Review) :通过多轮审核确保评估一致性
Safety Evaluation Results
  • 表 6 展示了不同模型在插件策略组合下的通过率:
    • 有害内容(Harmful) :Kimi-K2-Instruct 在基础策略下通过率 98.04%,迭代越狱策略下 92.16%
    • 犯罪内容(Criminal) :基础策略通过率 100%,迭代越狱策略下 57.57%
    • 错误信息(Misinformation) :基础策略通过率 97.28%
    • 隐私(Privacy) :所有策略通过率均高于 88%
    • 安全(Security) :基础策略通过率 77.84%,迭代越狱策略下 43.90%
  • 自动化红队测试局限性(Automated Red-teaming Limitations)
    • 由于涉及人工审核,结果存在主观性。部分插件类型(如 API 滥用)更适合评估具备工具调用能力的代理模型

Limitations

  • 在内部测试中,论文发现 Kimi K2 存在以下局限性:
    • 处理复杂推理任务或模糊工具定义时 ,可能生成过多 Token ,导致输出截断或不完整工具调用
    • 某些任务中,不必要的工具启用可能导致性能下降
    • 一次性提示构建完整软件项目的成功率低于代理式编码框架

附录 B:Token Template of Tool Calling

  • 工具调用的 Token 结构包含三个部分:

    • 工具声明消息(Tool declaration message) :定义可用工具列表及其参数模式;
    • 助手消息中的工具调用部分(Tool invoking section in assistant message) :编码模型调用工具的请求;
    • 工具结果消息(Tool result message) :封装被调用工具的执行结果
  • 工具声明消息的原始 Token 格式如下:

    1
    2
    3
    4
    5
    6
    <|im_begin|>
    tool_declare
    <|im_middle|>
    # Tools
    { { tool declaration content } }
    <|im_end|>
    • 蓝色高亮标记 { { tool declaration content } } 代表特殊 Token
    • 绿色部分(<|im_begin|> 等)是工具声明内容
  • 论文使用 TypeScript 表达工具声明内容

    • TypeScript 是一种简洁的语言,具有全面的类型系统,能够用简短的文本表达工具参数的类型和约束
    • 代码 1 展示了两个简单工具的 JSON 格式定义(兼容 OpenAI 的聊天补全 API)
    • 代码 2 用 TypeScript 定义了相同的两个工具,看起来更加简短
  • 为提高兼容性,部分训练数据也使用 JSON 作为工具声明语言,以便第三方框架无需额外开发即可支持论文的工具调用方案

  • 代码 1 :OpenAI 兼容 API 中的 JSON 工具定义

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    [{
    "type": "function",
    "function": {
    "name": "get_weather",
    "description": "Get weather for a location and date",
    "parameters": {
    "type": "object",
    "properties": {
    "location": {
    "type": "string",
    "description": "City and country e.g. Beijing, China"
    },
    "date": {
    "type": "string",
    "description": "Date to query, format in '%Y-%m-%d'"
    }
    },
    "required": ["location"]
    }
    }
    },
    {
    "type": "function",
    "function": {
    "name": "Calculator",
    "description": "Simple calculator",
    "parameters": {
    "properties": {
    "expr": {
    "type": "string",
    "description": "Arithmetic expression in javascript"
    }
    },
    "type": "object"
    }
    }
    }]
  • 代码 2 :TypeScript 工具定义

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    namespace functions {
    // Get weather for a location and date
    type get_weather = {
    .: {
    // City and country e.g. Beijing, China
    location: string,
    // Date to query, format in '%Y-%m-%d'
    date?: string
    }) => any;
    // Simple calculator
    type Calculator = {
    .: {
    // Arithmetic expression in javascript
    expr?: string
    }) => any;
    }
  • 模型响应消息中工具调用部分的 Token 模板如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <tool_call_section_begin|>
    <|tool_call_begin|>
    // call_id part
    functions.{ {tool name} }:{ {counter} }
    <|tool_arguments_begin|>
    { { json serialized call arguments } }
    <|tool_call_end|>
    <|tool_call_begin|>
    // more tool calls
    <|tool_call_end|>
    <|tool_call_section_end|>
  • 如模板所示,论文通过将多个工具调用放在单个响应轮次中来支持并行工具调用

  • 每个工具调用具有唯一的调用 ID,格式为 functions.{ {tool name} }:{ {counter} },其中工具名称是工具的名称,计数器是对话中所有工具调用的自增计数器(从 0 开始)

  • 在推理过程中,模型偶尔会生成意外的 Token,导致解析工具调用时出现格式错误

    • 为解决此问题,论文开发了一个名为 enforcer 的约束解码模块,灵感来自 lm-format-enforcer (2023)
    • 当生成 <tool_call_section_begin|> Token 时,它会确保接下来的工具相关 Token 遵循预定义的模板 ,并且 JSON 参数字符串符合声明的模式
  • 工具结果消息是一个简单的文本消息,编码了工具的调用 ID 和相应的结果:

    1
    2
    3
    4
    5
    6
    <im_begin|>
    tool
    <im_middle|>
    ## Results of { {call_id} }
    { { execution result content } }
    <im_end|>

附录 C:Evaluation Details

Coding Tasks

  • 论文在竞争性编码基准 LiveCodeBench 和 OJBench 上评估模型能力
    • Kimi-K2-Instruct 分别以 53.7% 和 27.1% 的分数表现出色
    • 这一优势涵盖了中等难度编码挑战(如 LeetCode 和 AtCoder)以及高难度竞赛(如 NOI 和 ICPC),超越了领先的开源和专有模型
  • 对于多语言编程能力,论文使用 MultiPL-E,涵盖 C++、C#、Java、JavaScript、PHP 和 Go 等语言
    • Kimi-K2-Instruct 以 85.7% 的准确率超越顶级开源模型(DeepSeek-V3-0324 为 83.1%,Qwen3-235B-A22B 为 78.2%)
  • 在软件工程任务中
    • Kimi-K2-Instruct 在 SWE-bench Verified(Python)、SWE-lancer(Python)、SWE-bench Multilingual 和 Multi-SWE-bench 数据集上表现出色
    • 它在解决真实代码仓库问题方面显著优于开源模型,并大幅缩小了与专有模型的性能差距,例如:
      • SWE-bench Verified(多次尝试):71.6%(Kimi-K2-Instruct) vs. 80.2%(Claude 4 Sonnet)
      • SWE-bench Multilingual:47.3%(Kimi-K2-Instruct) vs. 51.0%(Claude 4 Sonnet)
      • SWE-lancer:39.1%(Kimi-K2-Instruct) vs. 40.8%(Claude 4 Sonnet)
  • 在 PaperBench 上
    • Kimi-K2-Instruct 达到 27.8% 的准确率,与 GPT-4.1 接近,并大幅领先 DeepSeek-V3-0324(12.2%)和 Qwen3-235B-A22B(8.2%)
  • 在 TerminalBench 测量的终端交互任务中
    • Kimi-K2-Instruct 使用默认 Terminus 框架达到 25.0%,在 Moonshot 内部代理框架中提升至 30%,突显了其在真实代理编程场景中的能力
  • 在 Aider-Polyglot 基准测试中
    • Kimi-K2-Instruct 在严格去污染程序下达到 60.0% 的准确率,进一步展示了其在不同编码环境中的优势和可靠性

Tool Use Tasks

  • 论文通过两个互补的测试套件评估多轮工具使用能力:\(\tau^{2}\)-Bench 和 ACEBench
    • \(\tau^{2}\)-Bench 将原始 \(\tau\)-bench 的单控制设置扩展为双控制环境,其中代理和模拟用户的 LLM 在共享状态上具有受限的工具能力,新增了 Telecom 故障排除领域,并支持协调与纯推理的分析
    • ACEBench 是一个大型双语(英/中)API 基准测试(跨 8 个领域的 4.5K API;2K 标注评估项),分为 NORMAL(基础/个性化/原子)、SPECIAL(不完美或超出范围的输入)和 AGENT(场景驱动的多轮、多步骤沙盒)赛道,支持调用和结果的自动评分
  • 实验配置:
    • 所有模型以非思考模式运行;
    • 设置温度为 0.0,使用确定性工具适配器,在 4 次种子下评分 \(\tau^{2}\) Airline/Retail/Telecom 的 Pass@1/4,并报告 ACEBench 英语的总体结果
  • 结果:
    • 在 \(\tau^{2}\) 上,Kimi-K2-Instruct 平均达到 66.1% 的微 Pass@1(DeepSeek-V3-0324 为 48.8%,Qwen3-235B-A22B 为 37.3%)
    • 在 ACEBench Overall 中,Kimi-K2-Instruct 得分为 76.5,DeepSeek 为 72.7,Qwen 为 70.5,与 GPT-4.1(80.1)保持竞争

Math & STEM & Logical Tasks

  • 在数学任务中,Kimi-K2-Instruct 表现稳定,平均超过 Geimini-2.5-Flash 5.3 个百分点,超过 DeepSeek-V3-0324 5.5 个百分点,超过 GPT4.1 15.8 个百分点,例如:
    • 在 AIME 2024 上,Kimi-K2-Instruct 得分为 69.6%,大幅领先其他两个顶级开源模型(DeepSeek-V3-0324 高 10.2 分,Qwen3-235B-A22B 高 29.5 分)
    • 在 STEM 评估中,Kimi-K2-Instruct 在 GPQA-Diamond 上达到 75.1%,领先 DeepSeek-V3-0324(68.4%)和其他非思考基线至少 5 个百分点
    • 在 SuperGPQA 上,它也超过之前最佳开源模型 DeepSeek-V3-0324 3.5 分。Kimi-K2-Instruct 在逻辑推理上也优于其他两个领先模型,在 ZebralLogic 上达到 89.0%,在 AutoLogi 上达到 89.5%,显著超过 Qwen3-235B-A22B(37.7%,83.3%)

General Tasks

  • Kimi-K2-Instruct 在 MMLU 和 MMLU-Pro 上与 DeepSeek-V3-0324 持平,在 MMLU-Redux 上以 92.7 EM 分数领先——略高于 GPT-4.1(92.4),仅落后 Claude-Opus-4 1.5 分
  • 在简答题 SimpleQA 上,Kimi-K2-Instruct 达到 31.0% 的准确率,比 DeepSeek-V3-0324 高 3.3 分,是 Qwen3-235B-A22B 的两倍多,但仍低于 GPT-4.1(42.3%)
  • 在对抗性自由回答 LiveBench(2024-11-25 快照)中,它达到 76.4%,超过 Claude-Sonnet 4(74.8%),领先 Gemini 2.5 Flash Preview 8.6 分。在这一衡量世界知识广度、深度和鲁棒性的挑战性三项中,Kimi-K2-Instruct 稳居开源模型前列
  • 论文通过 IFEval 和 Multi-Challenge 评估指令遵循能力
    • 在 IFEval 上,Kimi-K2-Instruct 得分为 89.8%,高于 DeepSeek-V3-0324(81.1%)和 GPT-4.1(88.0%)
    • 在 Multi-Challenge 上(涉及多轮冲突指令对话),它达到 54.1%,优于 DeepSeek-V3-0324(31.4%)、GPT-4.1(36.4%)和 Claude-Opus-4(49.0%)
  • 这些结果表明,Kimi-K2-Instruct 将强大的事实知识与单轮和多轮场景下一致的指令遵循相结合,支持稳健可靠的现实部署

Long Context and Factuality Tasks

  • 为评估 Kimi-K2-Instruct 的事实性,论文使用三个基准:FACTS Grounding(通过专有模型 GPT-4o、Gemini 1.5 Pro 和 Claude 3.5 Sonnet 衡量对提供文档的遵循)、HHEM(通过开源 HHEM-2.1-Open 评估器评估摘要质量)和 FaithJudge(以 o3-mini 为评估器分析 RAG 任务中的忠实性)
    • 在 FACTS Grounding 上,Kimi-K2-Instruct 得分为 88.5,大幅超越所有开源竞争对手,甚至超过闭源 Gemini 2.5 Flash
    • 在 HHEM-2.1-Open 上,Kimi-K2-Instruct 幻觉率为 1.1%(表中报告为 1 减幻觉率,即 98.9)
    • 在 FaithJudge 的 RAG 任务中,Kimi-K2-Instruct 幻觉率为 7.4%(表中为 92.6)
  • 在长上下文能力任务 DROP 上,Kimi-K2-Instruct(93.5%)优于所有开源和专有模型
  • 在检索任务 MRCR(55.0% vs. 50.8%)上超过 DeepSeek-V3-0324
  • 对于长上下文推理任务 FRAMES 和 LongBench v2,Kimi-K2-Instruct(77.1%,49.1%)略低于 DeepSeek-V3-0324 约 2%

Open-Ended Evaluation

  • 除静态封闭式基准外,论文还评估模型在更贴近真实使用的开放式、细致任务上的表现
  • 对于英语场景,论文利用 Arena-Hard-Auto v2.0 基准,通过 LLM 作为评估器的协议评估多样化开放式提示的生成质量 (2024)
    • 这些评估涵盖高难度提示,在研究社区中广受认可
    • 在 Arena-Hard-Auto v2.0 上,Kimi-K2-Instruct 在硬提示(54.5%)和创意写作任务(85.0%)上均达到最优胜率,超越所有开源模型,并与 GPT-4.1 和 Claude Sonnet 等顶级专有系统匹敌
    • 这些结果突显了模型在复杂推理和多样化无约束场景下的细致生成能力
  • Arena-Hard-Auto 对中文特定任务的覆盖有限
    • 为此,论文开发了一个基于真实用户 Query 的内部保留基准
    • 为保障评估完整性,基准数据受访问限制,杜绝过拟合风险
    • 如图 11 所示,Kimi-K2-Instruct 在中文内部基准的所有比较中表现强劲:
      • 以 65.4% 胜率超过 ChatGPT-4o-latest,64.6% 胜率超过 Claude Sonnet 4,59.6% 胜率超过 DeepSeek-V3-0324
      • 所有情况下败率均较低(约 17%),表明 Kimi-K2-Instruct 极少落后
      • 高胜率和稳定优势展示了其在开放式中文任务上的强大能力
  • 除受控评估外,论文还通过公众人类评估考虑真实用户偏好
    • 截至 2025 年 7 月 17 日,基于 3000 多份真实用户的盲投,Kimi-K2-Instruct 在 LMSYS Arena 排行榜上位列开源模型第一、总榜第五
    • 该排行榜反映了用户提交的多样化提示上的直接人类偏好,为实际模型性能提供了补充视角
  • Arena-Hard-Auto、内部基准和 LMSYS Arena 投票的结果共同展示了 Kimi-K2-Instruct 在开放式能力上的全面表现,证明其是英中双语真实用户体验中备受青睐的模型

附录 D:Appendix D: QK-Clip Does Not Impair Model Quality(QK-Clip 不会损害模型质量)

  • QK-Clip 设计遵循最小干预原则 :仅在必要时激活,训练稳定后自动停用
  • 实证证据和分析均表明 QK-Clip 对模型质量的影响可忽略不计

Small-Scale Ablations

  • 论文训练了两个小规模 MoE 模型(激活参数 0.5B,总参数 3B),一个使用原始 Muon,另一个使用 MuonClip(低裁剪阈值 \(\tau=30\))
  • 如图 12 所示,应用 MuonClip 对损失曲线影响极小,表明即使激进裁剪也不会损害收敛或训练动态
    • 下游任务评估也未显示性能退化
  • 这些结果共同证明 MuonClip 是一种安全有效的方法,可在不牺牲模型质量的前提下约束注意力对数

Self-deactivation

  • 在 Kimi K2 中,QK-Clip 仅短暂激活:
    • 初始 70000 步 :12.7% 的注意力头至少触发一次 QK-Clip,将 \(S_{\max}\) 限制为 100
    • 70000 步后 :所有头的 \(S_{\max}\) 均降至 100 以下,QK-Clip 完全停用
  • QK-Clip 激活时按头(而非按层)应用,以最小化对其他头的潜在过正则化。训练稳定后,QK-Clip 完全失效

附录 E:Why Muon is More Prone to Logit Explosion(为什么 Muon 更容易出现对数爆炸)

  • 对数爆炸发生在训练期间最大预 softmax 注意力分数无界增长时:
    $$ S_{\max} = \max_{i,j}(q_{i} \cdot k_{j}) $$
  • 由于
    $$ |q_{i} \cdot k_{j}| \leq |q_{i}||k_{j}| \leq |x_{i}||x_{j}||\mathbf{W}_{q}||\mathbf{W}_{k}|, $$
  • 且
    • RMS-Norm 保持 \(|x_{i}||x_{j}|\) 有界,该现象主要由 \(\mathbf{W}_{q}\) 或 \(\mathbf{W}_{k}\) 的谱范数增长驱动
  • 实证发现 Muon 更易出现对数爆炸,假设如下:
  • 更新结构差异(Structural difference in updates)
    • Muon 的权重更新来自 msign 操作,其更新矩阵的所有奇异值均相同——有效秩为满秩。而 Adam 的典型更新矩阵呈现偏斜谱:少数大奇异值主导,有效秩较低。这一低秩假设并非新发现,高阶 mulP 同样基于此
    • 在 16B Moonlight 模型上验证,Muon 训练的权重比 Adam 具有更高的奇异值熵(即更高有效秩),支持理论直觉
  • SVD 公式化(SVD formulation)
    • 设步骤 \(t-1\) 的参数矩阵奇异值分解为
      $$ \mathbf{W}_{t-1} = \sum_{i}\sigma_{i} u_{i}v_{i}^{\top} $$
    • 更新矩阵写作
      $$ \Delta\mathbf{W}_{t} = \sum_{j}\bar{\sigma} \bar{u}_{j}\bar{v}_{j}^{\top} $$
    • 则下一步参数更新为
      $$ \mathbf{W}_{t} \leftarrow \sum_{i}\sigma_{i}u_{i}v_{i}^{\top} + \sum_{j}\bar{\sigma} \bar{u}_{j}\bar{v}_{j}^{\top} $$
    • Muon 中权重和更新的有效秩均高于 Adam,假设奇异向量对 \(u_{i}v_{i}^{\top}\) 与 \(\bar{u}_{j}\bar{v}_{j}^{\top}\) 对齐概率更高,可能导致 \(\mathbf{W}_{t}\) 对应奇异值加性增长
  • 注意力特异性放大(Attention-specific amplification)
    • 注意力对数通过双线性形式计算
      $$ q_{t} \cdot k_{j} = (x_{i}\mathbf{W}_{q}) \cdot (x_{j}\mathbf{W}_{k}). $$
    • 乘积 \(\mathbf{W}_{q}\mathbf{W}_{k}^{\top}\) 将谱范数平方化,因此任一矩阵的奇异值增长会被复合放大
    • Muon 增大奇异值的倾向从而转化为更高的对数爆炸风险

附录 F:K2 Critic Rubrics for General RL

Core Rubrics

  • 清晰性与相关性(Clarity and Relevance) :评估响应是否简洁且完全符合用户意图
    • 重点是消除不必要的细节,保持与核心问题的一致性,并使用高效的格式(如简短段落或紧凑列表)
    • 除非特别要求,否则应避免冗长的列举
    • 当需要选择时,响应应明确提供单一、清晰的答案
  • 对话流畅性与参与度(Conversational Fluency and Engagement) :评估响应是否促进自然流畅的对话,超越简单的问答
    • 包括保持连贯性、展现对话题的适当参与、提供相关见解或观察、在适当时引导对话、谨慎使用后续问题、优雅处理假设或个人类比 Query ,以及有效调整语气以适应对话上下文(如共情、正式或随意)
  • 客观与 grounded 互动(Objective and Grounded Interaction) :评估响应是否保持客观和 grounded 的语气,专注于用户请求的实质内容
    • 重点避免元评论(分析 Query 结构、主题组合、感知的异常或互动本身的性质)以及对用户或输入的不必要赞美
    • 优秀响应应尊重但中立,优先提供直接、任务导向的帮助,而非评论对话动态或通过赞美讨好用户
    • 注:这里的 grounded 翻译为 有根据的 或 有充分理由的 更合适?

Prescriptive Rubrics

  • 初始赞美(Initial Praise) :响应不得以对用户或问题的赞美开头(例如“这是个很棒的问题”“问得好!”)
  • 显式理由(Explicit Justification) :显示理由包括任何解释响应为什么优秀或如何成功满足用户请求的句子或从句(这与单纯描述内容不同)

Limitations

  • 该评估框架的一个潜在副作用是,它可能偏向于在涉及模糊性或主观性的上下文中仍表现出自信和果断的响应。这源于当前准则的两项关键限制:
    • 避免自我修饰(Avoidance of Self-Qualification) :
      • 规范性准则禁止自我评估、显式免责声明或模糊语言(例如“这可能不准确”“我可能错了”)
      • 尽管这些短语可能反映认知谦逊,但它们通常被视为非信息性或表演性而被惩罚
    • 偏好清晰与单一性(Preference for Clarity and Singularity) :
      • 准则奖励在用户要求推荐或解释时提供直接、明确的答案
      • 在复杂或开放式场景中,这可能会抑制适当谨慎或多视角的响应
  • 因此,模型可能偶尔在需要模糊性、细微差别或认知谦逊的场景中过度表达确定性
  • 未来框架迭代可能会纳入更精细的校准不确定性处理机制

附录 G:Engine Switching Pipeline for RL Training

  • 检查点引擎(checkpoint engine) :在每个 GPU 上管理三个等大小的设备缓冲区:
    • 一个用于加载卸载模型参数的 H2D 缓冲区
    • 两个用于 GPU 间广播的 IPC 缓冲区
    • IPC 缓冲区与推理引擎共享,允许其直接访问相同的物理内存
    • 这三个缓冲区使论文能够将三个步骤安排为流水线
  • 理论上的三阶段流水线(Theoretical three-stage pipeline) :如图 13a 所示,引入了一个三阶段流水线:
    • 1)H2D :将最新权重的一个分片异步复制到 H2D 缓冲区
    • 2)广播(Broadcast) :复制完成后,该分片将被复制到一个 IPC 缓冲区并广播到所有设备
    • 3)重载(Reload) :推理引擎同时从另一个 IPC 缓冲区加载参数
  • 由于 PCIe 饱和的两阶段流水线(Two-stage pipeline due to PCIe saturation) :
    • 在 NVIDIA H800 集群上,并发的 H2D 和广播会饱和共享的 PCIe 结构,将三阶段流程压缩为顺序过程(图 13b)。因此,论文采用更简单的两阶段方案(图 13c):
      • 1)所有设备执行一次同步的 H2D 传输
      • 2)广播和重载并行进行
  • 两阶段流水线会受到多次同步 H2D 复制操作的限制
    • 但在大规模设备中,模型会被分割为小分片,整个参数集可通过一次传输装入 H2D 缓冲区,此时开销将消失
  • 通过重叠 H2D、广播和重载权重,我们可以实现从训练引擎到所有推理引擎的高带宽权重分片重分配

附录:Kimi-K2-Thinking

  • Kimi-K2-Thinking 于 20251106 晚间开源发布
  • 截止到 20251107,Kimi-K2-Thinking 仅发布了模型权重和 博客,没有技术报告
  • HuggingFace:huggingface.co/moonshotai/Kimi-K2-Thinking
  • 技术博客:Introducing Kimi K2 Thinking, 20251106
  • 核心特点:
    • 各项指标都非常高,甚至可以跟闭源模型比较(比较的基线都是 GPT-5,Claude Sonnet 4.5(Thinking),DeepSeek-V3.2 和 Grok-4 等)
    • 为了加速训练,训练时使用了 INT4 量化,Quantization-Aware Training (QAT)
      • 这缓解了 Thinking 模型输出长,量化后模型效果容易降低的问题
    • 博客中给了许多让人眼前一亮的示例
  • 整体指标情况
    Benchmark Intro K2 Thinking (K2 0905) GPT-5 Claude Sonnet 4.5 DeepSeek-V3.2 Grok-4
    Reasoning Tasks
    HLE(Text-only)-no tools 23.9 26.3 19.8* 7.9 19.8 25.4
    HLE(Text-only)-w/ tools 44.9 41.7 32.0* 21.7 20.3* 41.0
    HLE(Text-only)-heavy 51.0 42.0 — — — 50.7
    AIME 2025-no tools 94.5 94.6 87.0 51.0 89.3 91.7
    AIME 2025-w/ python 99.1 99.6 100.0 75.2 58.1* 98.8
    AIME 2025 - heavy 100.0 100.0 — — — 100.0
    HMMT 2025-no tools 89.4 93.3 74.6* 38.8 83.6 90.0
    HMMT 2025-w/ python 95.1 96.7 88.8* 70.4 49.5* 93.9
    HMMT 2025 - heavy 97.5 100.0 — — — 96.7
    IMO-AnswerBench-no tools 78.6 76.0* 65.9* 45.8 76.0* 73.1
    GPQA-Diamond-no tools 84.5 85.7 83.4 74.2 79.9 87.5
    General Tasks
    MMLU-Pro-no tools 84.6 87.1 87.5 81.9 85.0 —
    MMLU-Redux-no tools 94.4 95.3 95.6 92.7 93.7 —
    Longform Writing-no tools 73.8 71.4 79.8 62.8 72.5 —
    HealthBench-no tools 58.0 67.2 44.2 43.8 46.9 —
    Agentic Search Tasks
    BrowseComp-w/ tools 60.2 54.9 24.1 7.4 40.1 —
    BrowseComp-ZH-w/ tools 62.3 63.0* 42.4* 22.2 47.9 —
    Seal-0-w/ tools 56.3 51.4* 53.4* 25.2 38.5* —
    FinSearchComp-T3-w/ tools 47.4 48.5* 44.0* 10.4 27.0* —
    Frames-w/ tools 87.0 86.0* 85.0* 58.1 80.2* —
    Coding Tasks
    SWE-bench Verified-w/ tools 71.3 74.9 77.2 69.2 67.8 —
    SWE-bench Multilingual-w/ tools 61.1 55.3* 68.0 55.9 57.9 —
    Multi-SWE-bench-w/ tools 41.9 39.3* 44.3 33.5 30.6 —
    SciCode-no tools 44.8 42.9 44.7 30.7 37.7 —
    LiveCodeBench v6-no tools 83.1 87.0* 64.0* 56.1* 74.1 —
    OJ-Bench(cpp)-no tools 48.7 56.2* 30.4* 25.5* 38.2* —
    Terminal-Bench-w/ simulated tools (JSON) 47.1 43.8 51.0 44.5 37.7 —

附录:关于 heavy 模式

  • 原文:

    Heavy Mode​: K2 Thinking Heavy Mode employs an efficient parallel strategy: it first rolls out eight trajectories simultaneously, then reflectively aggregates all outputs to generate the final result. Heavy mode for GPT-5 denotes the official GPT-5 Pro score.

  • 说明:Heavy Mode 是一种通用的提升模型推理能力的方法,其方式为:
    • 第一步:并行采样多个 Trajectories
    • 第二步:结合第一步生成的结果放入模型,让模型解决问题
  • 这种方式也称为 Deep Thinking 模式,在一些场合下 Deep Thinking 模式 等价于 Heavy Mode
    • Heavy Mode:强调资源消耗和计算强度(Heavy=重型/高负载)
    • Deep Thinking/Deep Think:强调思维深度和推理过程

RS——EGA

EGA: End-to-end Generative Advertising

  • 参考链接:
    • EGA: A Unified End-to-End Generative Framework for Industrial Advertising Systems, 20250523, Meituan

整体说明

  • 传统在线广告系统的多级级联架构(multi-stage cascaded architectures)存在低效问题 :
    • 会过早过滤掉高潜力候选内容
    • 并将业务决策逻辑分散到独立模块中
  • 生成式推荐提供了端到端解决方案,但它们未能满足实际广告需求:
    • 缺乏对出价、创意选择、分配机制和支付计算(bidding, creative selection, allocation mechanism, and payment computation)等关键要素的显式建模
  • 论文提出了端到端生成广告(End-to-end Generative Advertising,EGA):
    • 第一个统一的广告生成框架,将用户兴趣建模、POI(兴趣点)与创意生成、位置分配和支付优化无缝集成在单一模型中
    • 利用 hierarchical tokenization 和 multitoken prediction 联合生成候选 POI 和创意内容
    • 通过排列感知(permutation-aware)奖励模型和 token-level bidding 策略确保与用户体验和广告商业务目标的一致性
    • 此外,论文通过专用的 POI-level 支付网络和可微分事后遗憾最小化(differentiable ex-post regret minimization)实现分配与支付的解耦,近似保证激励相容性(, guaranteeing incentive compatibility approximately)
  • 在真实广告系统上进行的大规模离线和在线实验证明了 EGA 相比传统级联架构的有效性和实践优势,凸显其作为行业领先端到端生成广告解决方案的潜力

一些讨论

  • 在线广告已成为主要互联网平台的关键收入引擎,每个用户请求会触发一个复杂的决策过程,平台需选择、排序并展示广告与自然内容的混合列表
  • 传统在线广告系统依赖多级级联架构,通常结构为:召回、预排序、排序、创意选择和拍卖(如图1(a)所示)
    • 具体做法:每个阶段从其输入中选择前 \(k\) 个候选内容并传递给后续阶段。这种范式通过逐步缩小候选内容集,在严格延迟约束下有效平衡了性能与效率
    • 级联架构存在固有局限:级联中的早期阶段本质上限制了下游模块的性能上限
      • 例如,在上游召回或排序阶段被过滤的广告即使最终分配中极具价值也无法恢复,导致平台收入降低并无法实现全局最优
      • 尽管已有多种努力通过促进排序模块间交互来提升整体推荐性能,但这些方法仍局限于传统级联排序框架
  • 生成式推荐框架的出现为这些长期挑战提供了新视角
  • 近期研究表明:Transformer-based 序列模型可以端到端统一检索、排序和生成,提供个性化内容并捕捉深层次 user-item 依赖关系
    • 尽管此类方法在自然推荐场景中表现出显著潜力,广告系统的复杂性带来了一系列独特障碍
    • 广告系统必须满足严格的业务约束,包括 bidding、创意选择、广告位分配和支付规则,同时优化用户与平台目标
    • 这些需求引入了复杂依赖关系和实际挑战,直接应用现有生成式推荐模型无法完全解决
  • 为解决上述挑战,论文提出 EGA,一种将决策阶段统一到单一模型中的新型生成框架:
    • 整体来说:EGA 弥合了生成建模与工业广告实际需求之间的鸿沟,直接端到端输出最终广告序列及对应创意、位置和支付
    • 第一:受生成式推荐技术启发,论文利用 RQ-VAE 将用户行为和物品特征编码为分层语义 token ,并采用带 multi-token prediction 的 Encoder-Decoder 架构联合生成候选广告序列和创意内容
    • 第二:论文提出 token-level bidding 和生成式分配机制 ,通过排列感知奖励建模增强(enhanced by permutation-aware reward modeling)
      • 该策略将分配与支付解耦,使模型在生成过程中有效反映业务目标,同时通过可微分支付网络近似保持激励相容性(IC)
    • 第三:论文引入多阶段训练范式 :
      • 预训练阶段 :从包含广告和自然内容的实际曝光序列中学习用户兴趣;
      • 后训练阶段 :基于拍卖的后训练用于微调模型以适应广告特定约束,根据拍卖信号和平台目标动态优化广告分配
  • 论文的贡献如下:
    • 提出 EGA,通过统一单生成模型超越传统多级级联架构(首个广告端到端模型)
    • 提出包含兴趣预训练和拍卖后训练的新颖多阶段训练策略
    • 该设计有效平衡用户兴趣建模与广告特定约束,利用训练中的多样化数据源,并使模型输出与最终平台目标对齐
    • 离线实验 + 在线A/B实验

相关工作(直译)

  • 为实现工业广告的端到端优化,统一用户行为建模、拍卖机制和广告分配策略至关重要。基于此整合动机,本节回顾各领域的最新进展

生成式推荐

  • 近年来,将生成范式应用于推荐系统的兴趣日益增长。一个特别有前景的方向是将推荐建模为序列生成任务,使用 Transformer-based 自回归架构捕捉 user-item 交互
  • 这些方法旨在深度捕获用户行为上下文并以端到端方式生成个性化物品序列
    • Tiger是开创性方法,引入RQ-VAE将物品内容编码为分层语义ID,实现语义相似物品间的知识共享
    • 在此基础上,COBRA提出两阶段生成框架,首先生成稀疏ID再细化为稠密向量,实现从粗到细的检索过程
  • 另一研究方向探索通用生成式推荐器
    • HSTU 将推荐重构为序列转导任务,设计专为高基数非平稳流数据定制的 Transformer 架构
    • OneRec 进一步推进这一方向,在单一 Encoder-Decoder 框架内统一检索、排序和生成,同时结合 session-level 生成和偏好对齐策略提升输出质量
  • 此外,多种方法专注于增强语义 tokenization 和 representation
    • LC-Rec 通过辅助目标将语义ID与协同过滤信号对齐
    • IDGenRec 利用大语言模型生成稠密文本标识符,在零样本场景中展现强大泛化能力
    • SEATER 引入通过对比和多任务目标训练的树结构 token 空间以确保一致性
    • ColaRec 为更好对齐搭建内容与交互空间的桥梁
  • 尽管这些工作展示了强大的通用推荐性能,但它们不足以满足在线广告系统的需求,后者需要对 bidding、支付和分配约束进行额外建模,而这些在纯用户兴趣建模中未被捕获

拍卖机制

  • 传统拍卖机制如 GSP 及其变体(如uGSP)因简单性、可解释性和强收入保证而广泛应用于在线广告。然而,它们基于广告间独立的假设运作,未能考虑外部性(即其他广告的影响)
  • 为解决此问题,计算能力的进步推动了基于学习的拍卖框架发展。例如:
    • DeepGSP 和 DNA 通过将在线反馈纳入端到端学习流水线扩展经典拍卖
    • DNA存在”排序前评估”困境,即必须在知晓最终序列前预测排序分数,限制了其建模集合级外部性的能力
    • 其他尝试将最优性融入拍卖设计
      • NMA 通过穷举枚举所有可能分配确保全局最优性,但其计算成本使其难以实时应用
      • CGA 通过自回归分配模型和激励相容性的梯度友好重构,显式建模排列级外部性,克服传统和学习型广告拍卖的局限,实现分配与支付的端到端优化

广告分配

  • 平台最初为广告和自然内容分配固定位置,但动态广告分配策略因优化整体页面级性能的潜力而受到关注
  • CrossDQN 引入 DQN 架构将排列信号融入分配模型而不改变广告相对排序
  • HCA2E提出具有理想博弈论特性和计算效率的分层约束自适应广告曝光
  • MIAA提出深度自动化机制,集成广告拍卖与分配,同时决定广告的排序、支付和展示位置

前置基础知识

  • 本节主要符号如表1所示:

任务定义

  • 形式化定义在线广告系统中联合广告生成与分配的任务 :给定用户 \(u\) 的页面浏览(PV)请求,系统有 \(N\) 个候选广告和 \(M\) 个候选自然内容,假设自然内容序列 \(O\) 已根据预估 GMV 由上游模块预排序(This reflects common platform design constraints where organic content is ranked independently and must preserve user experience),其内部顺序将保持不变 \(^1\),系统最终选择 \(K\) 个 item 的排序列表( \(K \ll (N+M)\) )进行展示:
    $$
    \boldsymbol{\mathcal{Y} } = \{y_1, y_2, \ldots, y_K\}, \quad y_i \in X \cup O,
    $$
    • 其中输出列表 \(\boldsymbol{\mathcal{Y} }\) 的生成需要在用户参与度和商业约束下联合做出以下决策:
      • 广告排序 :从 \(X\) 中决定所选广告的排列顺序;
      • 创意选择 :为每个选中的广告生成最合适的创意图片;
      • 支付 :根据广告的出价 \(b_i\) 和分配位置,计算每个展示广告的支付价格 \(p_i\) ;
      • 广告位 :在与自然内容竞争时,确定每个广告的最佳展示位置
  • 每个广告主 \(i\) 提交与其私有点击价值 \(v_i\) 对应的出价 \(b_i\) 。论文的目标是通过序列 \(\boldsymbol{\mathcal{Y} }\) 最大化平台预期收入:
    $$
    \max_{\theta} \mathbb{E}_{\boldsymbol{\mathcal{Y} } } \left[\textrm{Rev}\right] = \max_{\theta} \mathbb{E}_{\boldsymbol{\mathcal{Y} } } \left(\sum_{i=1}^K p_i \cdot \textrm{pCTR}_i\right).
    $$

拍卖机制设计

拍卖约束(Auction Constraints)
  • 与传统推荐系统不同,广告平台不仅需要优化平台收入,还需确保广告主效用。给定拍卖机制 \(\mathcal{M}(\mathcal{A}, \mathcal{P})\),其中分配规则为 \(\mathcal{A}\),支付规则为 \(\mathcal{P}\),广告主 \(i\) 的预期效用 \(u_i\) 定义为:
    $$
    u_i(v_i;b) = (v_i - p_i) \cdot \textrm{pCTR}_i.
    $$
  • 拍卖机制必须满足两个关键经济约束:激励相容性(IC)和个体合理性(IR)。IC要求真实出价能最大化广告主效用。对于广告 \(x_i\),需满足:
    $$
    u_i(v_i;v_i,b_{-i}) \geq u_i(v_i;b_i,b_{-i}), \quad \forall v_i, b_i \in \mathbb{R}^+.
    $$
  • IR要求广告主的支付不超过其出价,即:
    $$
    p_i \leq b_i, \quad \forall i \in [N].
    $$
基于学习的拍卖(Learning-based Auction)
  • 为了在模型中确保激励相容性(IC),论文采用事后遗憾(ex-post regret)的概念来量化广告主通过虚假报价可能获得的潜在收益。这种形式化方法使论文能够以可微分的方式强制执行IC约束,适用于端到端优化
  • 形式上,给定生成的序列 \(\boldsymbol{\mathcal{Y} }\),广告 \(x_i \in \boldsymbol{\mathcal{Y} }\) 的真实估值 \(v_i\) 和上下文用户输入 \(u\),事后遗憾定义为:
    $$
    \operatorname{rgt}_i(v_i, \boldsymbol{\mathcal{Y} }, u) = \max_{b’_i} \left\{u_i(v_i;b’_i, \boldsymbol{b}_{-i}, \boldsymbol{\mathcal{Y} }, u) - u_i(v_i;b_i, \boldsymbol{b}_{-i}, \boldsymbol{\mathcal{Y} }, u)\right\},
    $$
    • \(b_i\) 为真实 bidding
    • \(b’_i\) 为潜在虚假报价
    • \(\boldsymbol{b}_{-i}\) 表示除 \(x_i\) 外的其他广告 bidding
    • 当且仅当所有广告主的 \(\operatorname{rgt}_i = 0\) 时,IC约束被满足
    • 实践中,论文通过从分布 \(\mathbb{F}\) 中采样 \(N_0\) 个估值来近似计算广告 \(x_i\) 的经验事后遗憾:
      $$
      \widehat{\operatorname{rgt} }_i = \frac{1}{N_0} \sum_{j=1}^{N_0} \operatorname{rgt}_i(v^j_i, \boldsymbol{\mathcal{Y} }, u).
      $$
  • 随后,论文将拍卖设计问题形式化为在经验事后遗憾为零的约束下最小化预期负收入:
    $$
    \min_{\mathbf{w} } -\mathbb{E}_{\boldsymbol{v}\sim \mathbb{F} } \left[\operatorname{Rev}^{\mathcal{M} }\right], \quad \text{s.t.} \quad \widehat{\operatorname{rgt} }_i = 0, \ \forall i \in [N].
    $$

EGA 方法介绍

基于兴趣的预训练(Interest-based Pre-training)

  • 预训练阶段的目标是根据用户的历史行为(包括广告和自然内容)捕捉用户兴趣,这一阶段为学习反映用户兴趣的统一表征奠定了基础
  • 数学上,预训练模型 \(\mathcal{F}\) 的目标是在给定输入用户行为序列 \(\mathcal{S}^u\) 的条件下,生成一个兴趣感知的输出序列 \(\boldsymbol{\mathcal{Y} }\):
    $$
    \boldsymbol{\mathcal{Y} } := \mathcal{F}(\mathcal{S}^u).
    $$
特征表示(Feature Representations)
  • 论文使用 \(\mathcal{S}^u = \{y_1, y_2, \ldots, y_B\}\) 表示用户上下文,其中每个 \(y_i\) 是用户之前交互过的 item (如点击、购买、喜欢), \(B\) 是序列长度。目标标签 \(\boldsymbol{\mathcal{Y} } = \{y_1, y_2, \ldots, y_K\}\) 对应于当前PV会话中实际曝光的高价值 item 。每个候选 item \(y_i\) 通过多模态表征描述,包括兴趣点( POI )特征嵌入 \(\boldsymbol{e}_i^{poi}\) (如稀疏ID特征和密集特征)以及从视觉内容中提取的创意图像嵌入 \(\boldsymbol{e}_i^{img}\)。最终输入可以表示为:
    $$
    \mathcal{S}^u = \{(\boldsymbol{e}_1^{poi}, e_1^{img}), (e_2^{poi}, e_2^{img}), \ldots, (e_B^{poi}, e_B^{img})\}.
    $$
Vector Tokenization
  • 受现有生成式推荐模型的启发,论文采用残差量化变分自 Encoder (RQ-VAE)将密集嵌入编码为语义 token 。历史序列中的每个用户行为表示为 POI-creative(创意)对:
    $$
    \mathcal{S}^u = \{(\boldsymbol{a}_1^{poi}, a_1^{img}), (a_2^{poi}, a_2^{img}), \ldots, (a_B^{poi}, a_B^{img})\},
    $$
  • 预测目标是一个结构类似的序列:
    $$
    \boldsymbol{\mathcal{Y} } = \{(\boldsymbol{a}_1^{poi}, a_1^{img}), (a_2^{poi}, a_2^{img}), \ldots, (a_K^{poi}, a_K^{img})\}.
    $$
  • 每对 token \((\boldsymbol{a}_i^{poi}, a_i^{img})\) 结合了高层类别意图和细粒度视觉语义
  • 为简化,论文假设 POI 和创意图像均用单层 token \(\boldsymbol{a}\) 表示,但框架可扩展为分层 token 表示
    • 例如,给定由 \(C\) 层(每层大小为 \(K\) )组成的 codebooks \(\mathcal{V}\), token \(\boldsymbol{a}_i\) 表示为:
      $$
      \boldsymbol{a}_i = (a_i^1, a_i^2, \ldots, a_i^C), \quad a_i^j \in \{\boldsymbol{V}_{j,1}, \boldsymbol{V}_{j,2}, \ldots, \boldsymbol{V}_{j,K}\}. \tag{12}
      $$
Probabilistic Decomposition
  • 目标 item 的概率分布建模分为两个阶段,利用 POI-level 和 creative-level 表征的互补优势。 EGA 首先预测 POI \(\boldsymbol{a}_{t+1}^{poi}\),再确定创意图像 \(\boldsymbol{a}_{t+1}^{img}\):
    $$
    P(\boldsymbol{a}_{t+1}^{poi}, \boldsymbol{a}_{t+1}^{img} \mid \mathcal{S}_{1:t}^u) = P(\boldsymbol{a}_{t+1}^{poi} \mid \mathcal{S}_{1:t}^u) \cdot P(\boldsymbol{a}_{t+1}^{img} \mid \boldsymbol{a}_{t+1}^{poi}, \mathcal{S}_{1:t}^u),
    $$
    • \(P(\boldsymbol{a}_{t+1}^{poi} \mid \mathcal{S}_{1:t}^u)\) 表示基于历史序列生成下一个 POI 的概率,捕捉 item 的类别身份;
    • \(P(\boldsymbol{a}_{t+1}^{img} \mid \boldsymbol{a}_{t+1}^{poi}, \mathcal{S}_{1:t}^u)\) 表示在给定 POI 和历史条件下生成创意图像的概率,捕捉 item 的细粒度多模态细节
Encoder-Decoder
  • 整体生成架构遵循 Encoder-Decoder 设计,如图2所示
  • Encoder 模块首先使用堆叠的自注意力和前馈层编码用户交互序列:
    $$
    \mathcal{S}^e = \text{Encoder}(\mathcal{S}^u),
    $$
    • 其中 \(\mathcal{S}^e\) 表示用户兴趣的潜在上下文嵌入
  • Decoder 以自回归方式生成目标序列 \(\boldsymbol{\mathcal{Y} }\),条件为编码的用户上下文 \(\mathcal{S}^e\)
    • 每个解码步骤 \(t\) 包含两个子阶段: POI token 生成和创意 token 生成
    • 为实现联合学习,论文引入 multi-token prediction (MTP)模块,通过交叉熵损失同时监督 POI 和创意预测
    • 所有模块共享相同的 token Embedding 空间和量化 backbone,促进高效训练和一致的生成质量
      • 问题:所有模块的 Embedding 空间是共享的,如何理解量化 backbone 也共享?
      • 回答:这里是指量化相关的 codebook 和参数等共享吧
  • 在步骤 \(t+1\), POI Decoder 基于先前生成的 token 和编码的历史序列预测下一个 POI token:
    $$
    \boldsymbol{a}_{t+1}^{poi} = \text{ POI -Decoder}(\boldsymbol{\mathcal{Y} }_{1:t}, \mathcal{S}^e).
    $$
    • 注:从图2看,没有明确指出这里 POI Token \(\boldsymbol{a}_{t+1}^{poi}\) 的生成依赖 创意 Token \(\boldsymbol{a}_{t+1}^{img}\),但个人理解其实是应该包含的(不同创意对用户的感知是有影响的,应该包含在上下文中),公式里面也是包含的
  • 随后,创意 Decoder 通过关注 POI 预测和编码上下文预测对应的创意 token:
    $$
    \boldsymbol{a}_{t+1}^{img} = \text{Creative-Decoder}(\boldsymbol{\mathcal{Y} }_{1:t}, \boldsymbol{a}_{t+1}^{poi}, \mathcal{S}^e).
    $$
    • 注:图中的 MTP token 不太标准,真实的 MTP 是生成后续的多个 token,本质还是 Casual Model,在论文图2的建模下已经不是 Casual Model 了,但是给出的公式又是 Casual Model,比较迷惑,需要解答
  • 整个目标序列 \(\boldsymbol{\mathcal{Y} }\) 的生成建模为条件概率的乘积:
    $$
    P(\boldsymbol{\mathcal{Y} } \mid \mathcal{S}^u) = \prod_{t=1}^T P(\boldsymbol{a}_t^{poi} \mid \boldsymbol{\mathcal{Y} }_{1:t-1}, \mathcal{S}^e) \cdot P(\boldsymbol{a}_t^{img} \mid \boldsymbol{\mathcal{Y} }_{1:t-1}, \boldsymbol{a}_t^{poi}, \mathcal{S}^e).
    $$

排列感知的奖励模型(Permutation-aware Reward Model)

  • 为确保生成的广告序列与真实用户兴趣对齐,论文引入排列感知的奖励模型(RM)指导迭代优化
  • 广告领域的兴趣信号通常来自用户交互(如点击和转化),比人工标注更准确
  • 设 \(R(\boldsymbol{\mathcal{Y} })\) 为奖励模型,估计候选目标 item \(\boldsymbol{\mathcal{Y} } = \{\boldsymbol{a}_1, \boldsymbol{a}_2, \ldots, \boldsymbol{a}_K\}\) 的奖励信号。每个 token \(\boldsymbol{a}_i\) 不一定对应唯一 item ,这增加了奖励模型中监督信号分配的复杂性。为此,论文通过拼接原始 item 嵌入 \(\boldsymbol{e}_i^{poi}\) 丰富每个 token 表示:
    $$
    \boldsymbol{h}_i = [\boldsymbol{a}_i; \boldsymbol{e}_i^{poi}],
    $$
    • 其中 \([;]\) 表示拼接。目标 item 变为 \(\boldsymbol{h} = \{\boldsymbol{h}_1, \boldsymbol{h}_2, \ldots, \boldsymbol{h}_K\}\)
  • 目标 item \(\boldsymbol{h}\) 通过自注意力层处理,捕捉上下文依赖并聚合序列中的相关信息:
    $$
    \boldsymbol{h}_f = \text{SelfAttention}(\boldsymbol{h}W^Q, \boldsymbol{h}W^K, \boldsymbol{h}W^V).
    $$
  • 为进行细粒度预测(如 POI 和创意图像的pCTR、pCVR),论文为奖励模型增加多任务特定塔:
    $$
    \hat{r}^{\text{pctr} } = \text{Tower}^{\text{pctr} } \left( \sum \boldsymbol{h}_f \right), \quad \hat{r}^{\text{pcvr} } = \text{Tower}^{\text{pcvr} } \left( \sum \boldsymbol{h}_f \right), \tag{20}
    $$
    • 其中 \(\text{Tower}(\cdot) = \text{Sigmoid}(\text{MLP}(\cdot))\)
  • 获得估计奖励 \(\hat{r}^{\text{pcvr} }\) 和对应真实标签 \(y^{\text{pcvr} }\) 后,通过最小化二元交叉熵损失训练奖励模型。详细训练过程见原文4.4节

基于拍卖的偏好对齐(Auction-based Preference Alignment)

  • 在工业广告场景中,生成式推荐模型需同时满足用户兴趣和关键业务约束。具体需满足两大业务约束:
    • i) 广告主对有效曝光、bidding 兼容性和支付一致性的需求;
    • ii) 平台对平衡收入和用户体验的约束(如控制广告曝光比例)
  • 为此,论文提出集成的生成式分配和支付策略进行偏好对齐,包括基于 token-level bidding 的分配模块和分离的 POI-level 支付网络。整体结构如图3所示
token-level Bidding
  • 通过 RQ-VAE 进行 item tokenization 后,原始 item-level bids 不再直接与 token 空间对齐,因 item 和潜在 token 之间存在多对多映射
  • 受 Google token-level bidding 理论启发,论文引入 token-level 分配机制,聚合与每个 token 关联的 item 的 bidding
  • 如式(12)所述,每个 token \(\boldsymbol{a}_i = (a_i^1, a_i^2, \ldots, a_i^C)\) 。为保持不同 token 间 bidding 的区分度, token \(a_i^j\) 的出价 \(b(a_i^j) = \max(b_1, b_2, \ldots, b_{N_i})\),其中 \(N_i\) 为与 token \(a_i^j\) 关联的 item 数。形式上, token \(a_i^j\) 的聚合 bidding 权重定义为:
    $$
    w(a_i^j) = [b(a_i^j)]^\alpha + \beta = [\max(b_1, b_2, \ldots, b_{N_i})]^\alpha + \beta,
    $$
    • 其中 \(\alpha\) 和 \(\beta\) 为超参数
    • 调整 \(\alpha\) 可灵活控制 bidding 对分配过程的影响;
    • 动态调整 \(\beta\) 可有效平衡生成结果中广告与自然内容的比例
生成式分配(Generative Allocation)
  • 生成式分配中选择 token \(a_i^j\) 的概率通过 softmax 归一化:
    $$
    z(a_i^j) = \frac{w(a_i^j) \cdot e^{a_i^j} }{\sum_{k=1}^W [w(a^{j,k}) \cdot e^{a^{j,k} }]}, \tag{22}
    $$
    • 其中 \(a^{j,k}\) 为第 \(j\) 层的第 \(k\) 个码
    • 基于生成概率 \(z \in \mathbb{R}^{C \times W}\) ( \(C\) 为码本层数, \(W\) 为每层码本大小)
    • 应用 Beam Search 生成 \(N_S\) 个长度为 \(K\) 的候选序列,确保分配的多样性和高质量选择:
      $$
      \mathcal{S}^{(1)}, \mathcal{S}^{(2)}, \ldots, \mathcal{S}^{(N_S)} = \text{BeamSearch}(z, N_S),
      $$
      • 其中 \(\mathcal{S}^{(j)}\) 表示第 \(j\) 个生成的候选 token 序列, \(N_S\) 为束宽度和生成候选序列数。使用奖励模型 \(\mathcal{R}\) 评估每个序列的预期业务价值,输出第 \(j\) 个序列的奖励 \(\hat{r}_j\):
        $$
        \hat{r}_j = \mathcal{R}(\mathcal{S}^{(j)}).
        $$
  • 最终输出为奖励最高的序列 \(\mathcal{S}^*\)
  • 奖励模型提供灵活接口,支持平台所需的多样化奖励信号组合
POI-level 支付网络
  • 分配在 token-level 操作,而支付在 item 或 POI-level 计算,更符合传统广告主预期和业务逻辑。分离的支付网络专门设计以满足IC和IR约束,基于 item 表征计算支付
  • 形式上,支付网络输入包括 item 表征 \(\mathcal{S}^* = \{y_1, y_2, \ldots, y_K\} \in \mathbb{R}^{K \times d}\)、自排除 bidding 配置 \(\mathcal{B}^- = \{\boldsymbol{b}_{-1}, \boldsymbol{b}_{-2}, \ldots, \boldsymbol{b}_{-K}\} \in \mathbb{R}^{K \times (K-1)}\) 和期望价值配置 \(\mathcal{Z} \cdot \Theta \in \mathbb{R}^{K \times 1}\),其中 \(\mathcal{Z} = \{z_1, z_2, \ldots, z_K\}\) 为式(22)定义的分配概率, \(\Theta = \{\hat{r}_1^{\text{pctr} }, \hat{r}_2^{\text{pctr} }, \ldots, \hat{r}_K^{\text{pctr} }\}\) 为式(20)中奖励模型估计的排列感知pCTR
  • 支付率定义为:
    $$
    \hat{p} = \sigma(\text{MLP}(\mathcal{S}^*; \mathcal{B}^-; \mathcal{Z} \cdot \Theta)) \in [0, 1]^K,
    $$
    • 其中 \(\sigma\) 为sigmoid激活函数以满足IR约束,最终 POI-level 支付 \(p\) 计算为:
      $$
      p = \hat{p} \odot b.
      $$
  • 注:若 \(y_i \in X\) 则支付仅针对广告计算;若 \(y_i \in O\) 则自然内容支付为零

优化与训练(Optimization and Training)

  • 整体训练流程如图4所示,每个步骤的详细描述在后面小节:
基于兴趣的预训练(Interest-based Pre-training)
  • 预训练阶段首先训练生成 backbone 以从历史交互行为中捕捉用户兴趣。具体优化两个独立的交叉熵损失:主模块的下一个 POI 预测损失 \(\mathcal{L}_{\text{NTP} }\) 和MTP模块的下一个创意预测损失 \(\mathcal{L}_{\text{MTP} }\) 。形式上,根据式(17):
    $$
    \mathcal{L}_{\text{NTP} } = -\frac{1}{K} \sum_{i=1}^K \log P(\boldsymbol{a}_i^{poi} \mid \boldsymbol{\mathcal{Y} }_{1:i-1}, \mathcal{S}^e), \tag{27}
    $$

$$
\mathcal{L}_{\text{MTP} } = -\frac{1}{K} \sum_{i=2}^{K+1} \log P(\boldsymbol{a}_{i-1}^{img} \mid \boldsymbol{\mathcal{Y} }_{1:i-1}, \boldsymbol{a}_i^{poi}, \mathcal{S}^e). \tag{28}
$$

  • 总预训练损失定义为:
    $$
    \mathcal{L}_{\text{pre-train} } = \mathcal{L}_{\text{NTP} } + \mathcal{L}_{\text{MTP} }.
    $$
基于拍卖的后训练(Auction-based Post-training)
  • 预训练阶段后,论文冻结其参数,通过基于拍卖的后训练阶段在拍卖约束下优化生成式广告模型。此阶段将生成输出与平台收入目标和广告主需求对齐,包括两部分:
    • i) 奖励模型训练,
    • ii) 基于策略梯度的生成式分配训练,
    • iii) 基于拉格朗日方法的支付网络优化
  • 奖励模型训练 :使用用户真实反馈信号(如点击和转化)训练独立奖励模型(RM)。RM通过最小化二元交叉熵损失优化:
    $$
    \mathcal{L}_{\text{RM} }^{\text{pctr} } = -\frac{1}{|\mathcal{D}|} \sum_{d \in \mathcal{D} } \sum_{i=1}^K \left( y^{\text{pctr} } \log \hat{r}^{\text{pctr} } + (1 - y^{\text{pctr} }) \log(1 - \hat{r}^{\text{pctr} }) \right),
    $$
    • \(y^{\text{pctr} }\) 为真实用户交互的标签
    • \(\hat{r}^{\text{pctr} }\) 为式(20)中奖励模型的预测概率
    • \(\mathcal{D}\) 为训练数据集
  • 生成式分配训练 :奖励模型收敛后,采用基于非自回归策略梯度的方法
    • 给定生成的获胜广告序列 \(\mathcal{S}^* = \{y_1, y_2, \ldots, y_K\}\),定义每个 item \(y_i\) 对平台收入的边际贡献为:
      $$
      r_{y_i} = \sum_{y_j \in \mathcal{S}^*} b_j r_j^{\text{pctr} } - \sum_{y_j \in \mathcal{S}_{-i}^*} b_j r_j^{\text{pctr} },
      $$
      • 其中 \(\mathcal{S}_{-i}^*\) 为排除 \(y_i\) 的最佳替代广告序列
    • 应用策略梯度目标最大化预期奖励:
      $$
      \mathcal{L}_{\text{PG} } = -\frac{1}{|\mathcal{D}|} \sum_{d \in \mathcal{D} } \sum_{y_i \in \mathcal{S}^*} r_{y_i} \log z_{y_i},
      $$
      • 其中 \(z_{y_i}\) 为式(22)中 item \(y_i\) 的分配概率。此设计鼓励生成器产生更高总收入的序列,使用固定奖励模型参数
  • 支付网络优化 :支付网络通过拉格朗日对偶形式优化式(8),平衡收入最大化和IC约束,损失函数整合总平台支付和事后遗憾最小化,给定选定序列 \(\mathcal{Y}\),支付损失 \(\mathcal{L}_{\text{Pay} }\) 定义为:
    $$
    \mathcal{L}_{\text{Pay} } = -\frac{1}{|\mathcal{D}|} \sum_{d \in \mathcal{D} } \left( \sum_{y_i \in \mathcal{S}^*} p_i \hat{r}_i^{\text{pctr} } - \sum_{y_i \in \mathcal{S}^*} \lambda_i \widehat{\text{rgt} }_i - \frac{\rho}{2} \sum_{y_i \in \mathcal{S}^*} (\widehat{\text{rgt} }_i)^2 \right),
    $$
    • \(\widehat{\text{rgt} }_i\) 为广告 \(y_i\) 的事后遗憾
    • \(p_i\) 为支付网络的预测支付
    • \(\lambda_i\) 为拉格朗日乘子
    • \(\rho > 0\) 为 IC 惩罚项超参数
    • 通过迭代拉格朗日方法联合优化支付网络,具体步骤如下:
      • 支付网络更新 :固定乘子,最小化拉格朗日目标优化支付网络参数 \(\theta_{\text{Pay} }\):
        $$
        \theta_{\text{Pay} }^{\text{new} } = \arg \min_{\theta_{\text{Pay} } } \mathcal{L}_{\text{Pay} }(\theta_{\text{Pay} }^{\text{old} }, \boldsymbol{\lambda}^{\text{old} }).
        $$
      • 乘子更新 :基于观测的事后遗憾调整拉格朗日乘子:
        $$
        \boldsymbol{\lambda}^{\text{new} } = \boldsymbol{\lambda}^{\text{old} } + \rho \cdot \widehat{\text{rgt} }(\theta_{\text{Pay} }^{\text{new} }).
        $$
  • 尽管整体目标非凸,但实证结果表明此优化策略能有效最小化遗憾,同时在现实场景中保持接近最优的收入

相关实验

  • 本节在工业数据集上评估所提出的模型,旨在回答以下研究问题:
  • RQ1 :与 SOTA 广告模型相比,论文的 EGA 模型表现如何?
  • RQ2 :EGA 的设计(如MTP模块、token-level bidding、支付网络和多阶段训练)对其性能有何影响?
  • RQ3 :EGA 模型的可扩展性如何?
  • RQ4 :EGA 在真实工业广告场景中的表现如何?

Experiment Setup

数据集
  • 实验使用的工业数据集来自大规模基于位置的服务(LBS)平台,时间跨度为 2024年9月至2025年4月
  • 数据集包含2亿次请求,覆盖超过200万用户和近1000万条独立广告
  • 前200天的数据用于预训练,并随机抽取10%用于偏好对齐
  • 最后14天的数据用于测试
评估指标
  • 离线实验中,采用以下指标全面评估平台收入、用户体验和广告主的后验遗憾:
  • 千次展示收入(RPM) :
    $$
    \text{RPM} = \frac{\sum \text{click} \times \text{payment} }{\sum \text{impression} } \times 1000
    $$
  • 点击率(CTR) :
    $$
    \text{CTR} = \frac{\sum \text{click} }{\sum \text{impression} }
    $$
  • 激励相容性指标( \(\Psi\) ) :
    $$
    \Psi = \frac{1}{|\mathcal{D}|} \sum_{d \in \mathcal{D} } \sum_{i \in k} \frac{\widehat{\text{rgt} }_{i}^{d} }{u_{i}(v_{i}^{d}, b_{i}^{d})}
    $$
    • \(\widehat{\text{rgt} }_{i}^{d}\) 表示广告主 \(i\) 在会话数据 \(d\) 中的经验后验遗憾(定义见公式(7))
    • \(u_{i}\) 为实际效用
    • 该指标通过反事实扰动测试激励相容性(IC):对每个广告主,将出价 \(b_{i}\) 替换为 \(\gamma \times b_{i}\),其中 \(\gamma \in \{0.2 \times j \mid j=1,2,\ldots,10\}\)
  • 离线实验中,评估指标基于奖励模型的预测值计算
基线模型
  • 评估 EGA 与以下两种工业常用架构的对比:
    • MCA :多阶段级联架构(MCA)是工业在线广告的标准范式,包含五个关键阶段:召回、排序、创意选择、拍卖和广告分配
      • 为实现强基线,采用以下方法实现 MCA:Tiger[20]用于召回,HSTU[34]用于排序,Peri-CR[32]用于创意选择,CGA[41]用于拍卖,CrossDQN[16]用于广告分配
    • GR :生成式推荐(GR)将推荐任务建模为序列生成问题,使用 Transformer-based 自回归架构建模 user-item 交互
      • 为适应在线广告场景,该基线整合了 OneRec[4](用于推荐)、Peri-CR[32](用于创意选择)和 GSP[8](用于支付)
实现细节
  • EGA 使用 Adam 优化器训练,初始学习率为 0.0024,批量大小为 128
  • 模型训练和优化在 80G 内存的 NVIDIA A100 GPU 上进行
  • 通过网格搜索选择最优超参数:
    • 兴趣预训练阶段:
      • Encoder 和 Decoder 的块数 \(L=3\), codebook 层数 \(C=3\),每层 codebook 大小 \(W=1024\) ;
      • 目标会话物品数 \(K=10\),历史行为序列长度 \(B=256\)
    • 偏好对齐阶段:
      • token-level bidding 的超参数 \(\alpha=1.2\), \(\beta=2\) ;每个请求通过 Beam Search 生成 \(N_{\mathcal{S} }=64\) 个候选序列。奖励模型和支付网络的MLP隐藏层维度为128、32和10

离线性能(RQ1)

  • 表2展示了离线表现
  • 如表2所示,关键观察如下:
    • 1)多阶段级联架构(MCA)存在早期过滤问题:高潜力广告常在初始阶段被淘汰,导致整体性能次优,表现为RPM和CTR指标较低
    • 2)生成式推荐基线(GR)虽能改进序列建模和个性化,但因无法满足实际业务约束(如IC保证、动态广告分配和曝光率控制),在广告场景中表现有限,IC遗憾高达8.4%
  • EGA 通过端到端生成、排列感知奖励建模、token-level bidding 和专用支付网络,实现了最佳综合性能:显著提升收入(RPM)、POI 和创意CTR,并以最低IC遗憾(2.7%)展现经济鲁棒性
  • 这表明,解决早期候选丢失和业务约束对广告系统至关重要

消融研究(RQ2)

  • 通过简化 EGA 设计验证各组件有效性:
    • EGA-mtp :移除多令牌预测(MTP)模块,改用标准单令牌预测(NTP),独立预测 POI 和创意
    • EGA-end :禁用多阶段训练,改为单阶段端到端训练
    • EGA-bid :将 token-level bidding 的最大聚合改为平均值 \(b(a_{i}^{j})=\text{avg}(b_{1},…,b_{N_{i} })\)
    • EGA-gsp :移除支付网络,改用标准GSP支付计算
  • 结果如表3所示,完整 EGA 在所有指标上均优于变体
  • 具体来说,结果如下:
    • 1)EGA-mtp 导致 RPM、CTR-poi和CTR-img下降(-2.1%、-3.1%、-3.6%),表明联合建模的重要性
    • 2)EGA-end 的 RPM 下降5.3%,凸显多阶段训练对对齐用户兴趣和业务目标的优势
    • 3)EGA-bid 的 IC 遗憾升至4.1%,说明最大聚合对激励相容性的必要性
    • 4)EGA-gsp 的 IC 遗憾高达8.2%,验证支付网络对近似IC的关键作用

模型可扩展性(RQ3)

  • 研究 EGA 对超参数和模型规模的敏感性
  • 图5显示:bidding 参数 \(\alpha\) 提升RPM但降低CTR-poi,\(\beta\) 则相反,需权衡收入与用户体验
  • 图6表明:增加 Encoder / Decoder 块数或用户行为长度可提升RPM,但边际效益递减

在线A/B测试(RQ4)

  • 2025年4月2日至8日,在 2% 生产流量上对比 EGA 与MCA
  • 如表4所示,EGA 实现RPM提升15.2%、CTR 提升 6.4%、广告主投资回报率(ROI)提升 3.1%,且单请求响应时间仅增加7毫秒(2.5%),验证了其工业场景有效性

结论

  • 在本研究中,论文提出了端到端生成式广告(EGA),这是一种新颖的框架,将排序、创意选择、广告分配和支付计算统一到一个生成式模型中,用于广告系统
  • 通过利用分层语义 tokenization、排列感知的奖励建模以及基于 token 的 bidding 和分配机制, EGA 弥合了用户兴趣建模与业务关键拍卖约束(如激励兼容性(IC)和个体理性(IR))之间的差距
  • 论文提出的多阶段训练范式,包括基于兴趣的预训练和基于拍卖的后训练,确保 EGA 在复杂的现实条件下能够同时捕捉用户兴趣和广告主效用
  • 在工业数据集上进行的大量离线实验和大规模在线A/B测试表明,EGA 在多阶段级联架构和最新的生成式推荐基线中均实现了显著改进,包括平台收入、用户体验和广告主投资回报率的提升,同时仅带来极小的延迟开销
  • 论文的消融研究验证了每个设计组件的有效性,并突出了所提出框架的灵活性和可扩展性
  • 展望未来,作者认为 EGA 为生成式建模与经济机制设计在在线广告中的融合开辟了新的方向
  • 未来的工作将进一步探索扩展规律并增强业务可解释性
1…567…66
Joe Zhou

Joe Zhou

Stay Hungry. Stay Foolish.

659 posts
53 tags
GitHub E-Mail
© 2026 Joe Zhou
Powered by Hexo
|
Theme — NexT.Gemini v5.1.4