Jiahong 的个人博客

凡事预则立,不预则废


  • Home

  • Tags

  • Archives

  • Navigation

  • Search

博客导航 · 分类目录

欢迎来到 Jiahong 的技术博客

包含操作系统、机器学习、深度学习、强化学习、NLP 和 LLM 等 计算机/AI 领域的学习笔记与实践总结

📊 共计 604 篇技术文章 | 🏷️ 46 个分类领域

人工智能 & 机器学习

📖
自然语言处理 (NLP)
📝 166 篇文章
LLM、BERT、Transformer、文本处理等
🧠
大语言模型 (LLM)
📝 145 篇文章
GPT、BERT、ChatGPT等大模型技术
🕸️
深度学习 (DL)
📝 91 篇文章
神经网络、CNN、RNN、Attention等
🎮 🌍
强化学习 (RL)
📝 97 篇文章
Q-Learning、PPO、TRPO、策略梯度等
🤖
机器学习 (ML)
📝 50 篇文章
传统算法、特征工程、模型评估等
🔥
PyTorch
📝 28 篇文章
PyTorch框架使用与实践
📊
TensorFlow
📝 9 篇文章
TensorFlow框架使用与实践
👁️
计算机视觉 (CV)
📝 10 篇文章
图像处理、目标检测、生成模型等

广告 & 推荐

📢
计算广告 (CA)
📝 23 篇文章
广告系统、CTR预估、竞价策略、出价优化等
🔨
拍卖机制 (Auction)
📝 15 篇文章
拍卖理论、机制设计、竞价策略等
💰
竞价与出价 (Bidding)
📝 10 篇文章
出价策略、自动出价、预算分配等
⭐
推荐系统 (RS)
📝 23 篇文章
协同过滤、深度推荐、排序策略等

编程语言

🐍
Python
📝 85 篇文章
Python语法、库使用、最佳实践
☕
Java
📝 4 篇文章
Java编程与开发
🦫
Go
📝 3 篇文章
Go语言学习与实践
🚀
Scala
📝 1 篇文章
Scala函数式编程
🐚
Shell
📝 1 篇文章
Shell脚本编程

系统 & 运维

🐧
Linux
📝 26 篇文章
Linux系统、命令行工具使用
🐳
Docker
📝 5 篇文章
容器技术、镜像管理
🍎
Mac
📝 3 篇文章
macOS使用技巧
🐧
Ubuntu
📝 9 篇文章
Ubuntu 相关技术笔记
🐧
Centos
📝 6 篇文章
Centos 相关技术笔记

数学

📐
数学
📝 22 篇文章
线性代数、概率论、优化理论等

开发工具

🌿
Git
📝 8 篇文章
版本控制、协作开发
📝
Hexo
📝 6 篇文章
博客搭建与维护
✍️
Markdown
📝 1 篇文章
Markdown语法与技巧

其他

📦
其他
📝 43 篇文章
杂项笔记与技术分享
📁
Regex
📝 1 篇文章
Regex 相关技术笔记
📁
Anaconda
📝 4 篇文章
Anaconda 相关技术笔记
📁
Numpy
📝 4 篇文章
Numpy 相关技术笔记
📁
Jupyter
📝 6 篇文章
Jupyter 相关技术笔记
📁
Ray
📝 2 篇文章
Ray 相关技术笔记
📁
Pandas
📝 2 篇文章
Pandas 相关技术笔记
📁
DataFrame
📝 1 篇文章
DataFrame 相关技术笔记
📁
ACM
📝 1 篇文章
ACM 相关技术笔记
📁
KG
📝 3 篇文章
KG 相关技术笔记
📁
Neo4j
📝 1 篇文章
Neo4j 相关技术笔记
📁
GR
📝 11 篇文章
GR 相关技术笔记
📁
GBDT
📝 8 篇文章
GBDT 相关技术笔记
📁
Sklearn
📝 3 篇文章
Sklearn 相关技术笔记
📁
Hadoop
📝 1 篇文章
Hadoop 相关技术笔记
📁
Hive
📝 1 篇文章
Hive 相关技术笔记
📁
MySQL
📝 4 篇文章
MySQL 相关技术笔记
📁
CPT
📝 5 篇文章
CPT 相关技术笔记
📁
HuggingFace
📝 1 篇文章
HuggingFace 相关技术笔记
📁
Spark
📝 2 篇文章
Spark 相关技术笔记

💡 提示:点击任意卡片即可查看该分类下的所有文章

📧 联系方式:JoeZJiahong@Foxmail.com | 🔗 GitHub: @JoeZJH

NLP——技术报告解读-Kimi-K2.5

注:本文包含 AI 辅助创作

  • 参考链接:
    • 原始论文:Kimi K2.5: Visual Agentic Intelligence, Moonshot AI (Kimi), 20260131
    • 原始博客链接:Kimi K2.5: Visual Agentic Intelligence, 20260127

Paper Summary

  • 总体评价:
    • 与 Kimi-K1.5 间隔差不多刚好一年,Kimi-K2.5 终于出山,Kimi 的发挥依然稳定,Kimi-K2.5 让人看到了一些惊喜
    • 亮点1:原生多模态(K2.5 让文本与视觉两种模态融合,并实现了互相增强)
      • 联合文本-视觉预训练 (joint text-vision pre-training)
      • zero-vision SFT(Text-only SFT)
      • 联合文本-视觉强化学习 (joint text-vision reinforcement learning)
    • 亮点2:Agent Swarm
      • Agent Swarm 是一个自导向的并行智能体编排框架,能够动态地将复杂任务分解为异构子问题并并发执行
      • Agent Swarm 的异构子任务并发执行,减少推理延迟的同时,提升了工作性能(注:延迟相比单 Agent 最多可降低达 \(4.5\times\))
    • Kimi K2.5 在包括编码、视觉、推理和智能体任务在内的各个领域均取得了当前开源 SOTA(甚至跟闭源模型硬刚)
      • 在各种指标上,对比的 Baseline 都是闭源模型
  • 指标对比图:

Introduction and Discussion

  • 智能体智能(Agentic Intelligence)模型逐渐表现出一些智能:可以将复杂问题分解为多步骤计划,并执行交错的推理和动作长序列
  • 论文核心创新1:Joint Optimization of Text and Vision
    • K2.5 实践中的一个关键 Insight 是:文本与视觉的联合优化能同时增强两种模态并避免冲突
    • 预训练阶段:
      • 作者发现,预训练期间,在给定的视觉-文本 Token 总数下,早期融合且视觉占比较低往往能产生更好的结果
        • 注:这不同于在后期向文本主干添加视觉 Token 的传统方法 (2023, 2025)
        • K2.5 在 整个训练过程中以恒定比例混合文本和视觉 Token
      • 在架构上,Kimi K2.5 采用了 MoonViT-3D
        • MoonViT-3D 是一个原生分辨率的视觉 Encoder,结合了 NaViT 打包策略 (2023),支持可变分辨率的图像输入
      • For 视频理解(Video Understanding),作者引入了一种轻量级的 3D ViT 压缩机制:
        • 连续的帧以四帧为一组,通过共享的 MoonViT Encoder 处理,并在图像块层面进行时间平均
        • 这种设计使得 Kimi K2.5 能够在相同的上下文窗口中处理长达 \(4\times\) 的视频,同时保持图像和视频 Encoder 之间的完全权重共享
    • 后训练阶段
      • 作者引入了 Zero-vision SFT,即仅使用文本的 SFT 就能激活视觉推理和工具使用
      • 作者发现,在此阶段添加人工设计的视觉轨迹会损害泛化能力;相反,仅文本的 SFT 表现更好(作者推测可能是因为联合预训练已经建立了强大的视觉-文本对齐,使得能力能够自然地跨模态泛化)
      • SFT 后,作者在文本和视觉任务上应用联合 RL
      • 作者发现视觉 RL 增强了文本性能 ,在 MMLU-Pro 和 GPQA-Diamond 上有所提升
        • 这种双向增强 :即文本引导视觉,视觉精炼文本,代表了联合训练中优越的跨模态对齐
  • 论文核心创新2:Agent Swarm: Parallel Agent Orchestration
    • 大多数现有的智能体模型依赖于工具调用的顺序执行
      • 即使是能够执行数百个推理步骤的系统,例如 Kimi K2-Thinking (2025),也面临推理时间线性缩放的问题,导致不可接受的延迟并限制了任务复杂性
      • 随着智能体工作负载在范围和异构性上增长(例如,构建涉及大规模研究、设计和开发的复杂项目),顺序范式变得越来越低效
    • 为了克服顺序智能体执行的延迟和可扩展性限制,Kimi K2.5 引入了 Agent Swarm(并行智能体编排的动态框架)
      • 作者提出了一个并行智能体强化学习 (Parallel-Agent Reinforcement Learning, PARL) 范式(不同于传统的智能体 RL)
      • 除了通过可验证的奖励来优化工具执行 外,模型还配备了创建子智能体(Sub-agent)和任务委派的接口
      • 在训练期间,子智能体被冻结,其执行轨迹从优化目标中排除;只有编排器通过强化学习进行更新
        • 这种解耦规避了端到端协同优化的两个挑战:信用分配模糊性 和训练不稳定性
    • Agent Swarm 使得复杂任务能够被分解为由领域专业化智能体并发执行的异构子问题,将任务复杂性从线性缩放转变为并行处理
      • 在广泛搜索场景中,与单智能体基线相比,Agent Swarm 将推理延迟降低了多达 \(4.5\times\),同时将项目级 F1 从 \(72.8%\) 提高到 \(79.0%\)
  • Kimi K2.5 代表了通用智能体智能的统一架构,集成了视觉与语言、思考与即时模式、聊天与智能体
    • 在作者内部评估中取得视觉到代码生成(图像/视频到代码)和现实世界软件工程方面的 SOTA 结果

Joint Optimization of Text and Vision

  • Kimi K2.5 是基于 Kimi K2 的原生多模态模型(大约 15T 混合视觉和文本 Token 联合预训练)
  • 不同于在语言或视觉能力上有所妥协的视觉适应模型,Kimi K2.5 的联合预训练范式同时增强了两种模态

Native Multimodal Pre-Training(原生多模态)

  • 多模态预训练的一个关键设计问题是:在给定的视觉-文本 Token 预算下,什么是优化的视觉-文本联合训练策略
    • 传统观点 (2023, 2025) 认为,主要在 LLM 训练的后期阶段以高比例(例如,\(50%\) 或更高)引入视觉 Token 应能加速多模态能力获取
      • 理解:这种方式本质将多模态能力视为语言能力的事后附加功能
  • 但 Kimi 团队的实验(如表 1/图 9 所示)揭示了一个不同的情况
    • 作者在保持视觉和文本 Token 总预算固定的情况下,进行了不同视觉比例和视觉注入时机的消融研究
    • 为了严格满足不同比例的目标,作者在引入视觉数据之前,先用纯文本 Token 对模型进行了特定计算出的 Token 数量的预训练
      • 令人惊讶的是,作者发现视觉比例对最终的多模态性能影响微乎其微
      • 事实上,在固定的视觉-文本总 Token 预算下,早期融合且视觉占比较低会产生更好的结果
    • 这启发了作者的原生多模态预训练策略:不是将密集的视觉训练集中在训练末期,而是采用中等视觉比例,在训练过程的早期就进行整合,使得模型能够在扩展的双模态协同优化中自然发展出平衡的多模态表征

Zero-Vision SFT

  • 经过预训练的 VLM 不会自然地执行基于视觉的工具调用,所以作者需要对多模态 RL 做冷启动
  • 传统方法通过手动标注或提示工程设计的 CoT 数据 (2023) 来解决这个问题
    • 但此类方法多样性有限 ,通常将视觉推理限制在简单图表和原始工具操作(裁剪、旋转、翻转)
    • 一个观察是:高质量的文本 SFT 数据相对丰富且多样
  • 作者提出了 zero-vision SFT(其他文章没有使用过的方法),在后训练期间仅使用文本 SFT 数据 来激活视觉和智能体能力
    • 在这种方法中,所有图像操作都通过 **IPython 中的程序化操作来代理** ,有效地作为传统视觉工具使用的泛化
      • 问题:如何理解这里的方法?
    • 这种“零视觉”激活能够实现多样化的推理行为,包括通过二值化和计数进行物体尺寸估计等像素级操作,并泛化到基于视觉的任务,如物体定位、计数和 OCR
  • 图 2 展示了 RL 训练曲线,其起点来自零视觉 SFT
    • 零视觉 SFT 足以激活视觉能力,同时确保跨模态的泛化
    • 这种现象可能是由于第 2.1 节所述的文本和视觉数据的联合预训练所致
    • 与零视觉 SFT 相比,作者的初步实验表明,文本-视觉 SFT 在视觉智能体任务上表现要差得多,可能是因为缺乏高质量的视觉数据

Joint Multimodal Reinforcement Learning (RL)

Outcome-Based Visual RL
  • 零视觉 SFT 之后,模型需要进一步精炼以可靠地将视觉输入纳入推理
    • 仅文本启动的激活表现出明显的失败模式:有时会忽略视觉输入,并且必要时可能不会关注图像
    • 作者在明确需要视觉理解才能获得正确答案的任务上采用基于结果的 RL
  • 作者将这些任务分为三个领域:
    • 视觉定位与计数 (Visual grounding and counting):精确地定位和枚举图像内的物体;
    • 图表与文档理解 (Chart and document understanding):解释结构化的视觉信息和文本提取;
    • 视觉关键 STEM 问题 (Vision-critical STEM problems):筛选出需要视觉输入的数学和科学问题
  • 在这些任务上的基于结果的 RL 提高了基本的视觉能力和更复杂的智能体行为
    • 提取这些轨迹用于拒绝采样微调 RFT 能够建立一个自我改进的数据管道,使得后续的联合 RL 阶段能够利用更丰富的多模态推理轨迹
Visual RL Improves Text Performance
  • 为了研究视觉和文本性能之间潜在的权衡,作者在视觉 RL 前后评估了纯文本基准测试
  • 惊喜是,基于结果的视觉 RL 在文本任务中 产生了可衡量的改进
    • MMLU-Pro \((84.7% \rightarrow 86.4%)\)
    • GPQA-Diamond \((84.3% \rightarrow 86.4%)\)
    • LongBench v2 \((56.7% \rightarrow 58.9%)\)(表 2)
  • 分析表明,视觉 RL 增强了在需要结构化信息提取的领域的校准能力,减少了类似基于视觉的推理(例如,计数、OCR)查询的不确定性
    • 这些发现表明,视觉 RL 可以促进跨模态泛化,改善文本推理,同时没有观察到语言能力的退化
Joint Multimodal RL
  • 作者在 Kimi K2.5 的后训练期间采用了联合多模态 RL 范式
    • 作者在论文中声称这是:受到视觉能力可以从零视觉 SFT 配合视觉 RL 中涌现这一发现的启发
  • 与传统的特定模态专家划分不同,作者不是按输入模态,而是按能力(知识、推理、编码、智能体等)来组织 RL 领域
    • 这些领域专家共同从纯文本和多模态查询中学习,而生成式奖励模型(GRM)同样在没有模态障碍的情况下优化异构轨迹
    • 这种范式确保了通过文本或视觉输入获得的能力提升能够固有地泛化,以增强相关跨模态能力,从而最大化跨模态能力迁移

Agent Swarm

  • 现有基于智能体的系统的主要挑战在于它们依赖于推理和工具调用步骤的顺序执行
    • 这种结构对于较简单的、短视距的任务可能有效,但无法处理任务复杂性高和累积上下文长的场景
  • 一个单智能体按顺序执行每一步的有限容量可能导致实际推理深度和工具调用预算的耗尽,最终阻碍系统处理更复杂场景的能力
  • 作者引入了 Agent Swarm 和 PARL (Parallel Agent Reinforcement Learning)
    • K2.5 不是将任务作为推理链执行或依赖预定义的并行化启发式方法,而是通过动态任务分解、子智能体实例化和并行子任务调度来启动一个 Agent Swarm
    • 重要的是,并行性并非被假定为固有优势;关于是否、何时以及如何并行化的决策是通过环境反馈和 RL 驱动的探索来明确学习的
    • 如图 4 所示,性能的进展展示了这种自适应能力,随着编排器在整个训练过程中优化其并行化策略,累积奖励平稳增长

Architecture and Learning Setup

  • PARL 框架采用了一种解耦架构,包含一个可训练的编排器和从固定中间策略检查点实例化的冻结子智能体
  • 这种设计有意避免端到端的协同优化,以规避两个基本挑战:信用分配模糊性和训练不稳定性
    • 在这种多智能体设置中,基于结果的奖励本质上是稀疏且有噪声的;
      • 一个正确的最终答案并不保证子智能体执行的完美无缺,正如一个失败并不暗示所有子智能体都有错误
    • 作者通过冻结子智能体并将其输出视为环境观察而非可微分的决策点 ,将高层协调逻辑与低层执行能力分离开来,从而实现更稳健的收敛
    • 为了提高效率,作者首先使用小型子智能体训练编排器,然后过渡到更大的模型
    • 作者的 RL 框架 还 支持动态调整子智能体和编排器之间的推理实例比例,最大化集群内的资源使用率

PARL Reward

  • 由于独立子智能体执行固有的延迟、稀疏和非平稳反馈,训练一个可靠的并行编排器具有挑战性
  • 为了解决这个问题,作者将 PARL 奖励定义为:
    $$r_{\mathrm{PARL} }(x,y) = \lambda_{1}\cdot \underbrace{r_{\mathrm{parallel} } }_{\mathrm{instantiation reward} } + \lambda_{2}\cdot \underbrace{r_{\mathrm{finish} } }_{\mathrm{sub-agent finish rate} } + \underbrace{r_{\mathrm{perf} }(x,y)}_{\mathrm{task-level outcome} }.$$
  • 解读:
    • 性能奖励 \(r_{\mathrm{perf} }(x, y)\) 评估给定任务 \(x\) 的解决方案 \(y\) 的整体成功和质量
    • 另外两个辅助奖励用于增强 \(r_{\mathrm{perf} }(x, y)\),每个辅助奖励都解决了学习并行编排中的一个独特挑战
      • 引入奖励 \(r_{\mathrm{parallel} }\) 是为了缓解串行崩溃(一种编排器默认使用单智能体执行的局部最优)
        • 通过激励子智能体实例化,该项鼓励探索并发调度空间
        • 理解:多智能体训练时模型也会倾向于使用单智能体完成任务,从而陷入局部最优
      • 奖励 \(r_{\mathrm{finish} }\) 专注于已分配子任务的成功完成
        • 它用于防止虚假并行性,即一种 Reward Hacking 行为,其中编排器通过生成许多没有有意义的任务分解的子智能体来急剧增加并行指标
        • 通过奖励完成的子任务,\(r_{\mathrm{finish} }\) 强制执行可行性,并引导策略走向有效且有效的分解
    • 为了确保最终策略优化主要目标,超参数 \(\lambda_{1}\) 和 \(\lambda_{2}\) 在训练过程中逐渐退火至零
      • 理解:这两个辅助奖励本身类似于手脚架的作用,初期用于防止陷入局部最优,或 Reward Hacking,后期可以逐步丢弃

Critical Steps as Resource Constraint(将关键步骤作为资源约束)

  • 为了在并行智能体设置中衡量计算时间成本,作者类比计算图中的关键路径(Critical Path)来定义 Critical Steps
    • 理解:这里的 Critical Steps 就是指步数最大的那个路径(这里应该是用步数来表示资源约束,类似时间或者 Token 量、请求数等)
  • 作者将一个回合建模为一系列执行阶段,索引为 \(t = 1,\ldots ,T\)
  • 在每个阶段,主智能体执行一个动作,该动作对应于直接工具调用或一组并行运行的子智能体的实例化
    • 令 \(S_{\mathrm{main} }^{(t)}\) 表示主智能体在阶段 \(t\) 中采取的步数(通常 \(S_{\mathrm{main} }^{(t)} = 1\)),\(S_{\mathrm{sub},i}^{(t)}\) 表示该并行组中第 \(i\) 个子智能体采取的步数
    • 阶段 \(t\) 的持续时间由该组中运行时间最长的子智能体决定
  • 一个回合的总 Critical Steps 定义为:
    $$\mathrm{CriticalSteps} = \sum_{t = 1}^{T}\left(S_{\mathrm{main} }^{(t)} + \max_{i}S_{\mathrm{sub},i}^{(t)}\right).$$
  • 通过使用 Critical Steps而非总步骤来约束训练和评估 ,该框架明确激励有效的并行化
    • 过多的子任务创建如果不能减少并行组的最大执行时间,在此指标下几乎没有好处,而平衡良好的任务分解缩短了最长的并行分支,直接减少了 Critical Steps
    • 因此,鼓励编排器以最小化端到端延迟,而非仅仅最大化并发性或总工作量的方式在子智能体之间分配工作

Prompt Construction for Parallel-agent Capability Induction

  • 为了激励编排器利用并行化的优势,作者构建了一套合成提示,旨在测试顺序智能体执行的极限
    • 这些提示要么强调广泛搜索,需要同时探索许多独立的信息源,要么强调深度搜索,需要多个延迟聚合的推理分支
  • 作者还加入了受现实世界工作负载启发的任务,例如长上下文文档分析和大规模文件下载
    • 当顺序执行时,这些任务很难在固定的推理步骤和工具调用预算内完成
    • 通过构造,它们鼓励编排器并行分配子任务,使得完成所需的 Critical Steps 比单个顺序智能体要少
    • 重要的是,提示词没有明确指示模型进行并行化。相反,它们塑造了任务分布(Task Distribution),使得并行分解和调度策略自然地被青睐

Method Overview

Foundation: Kimi K2 Base Model

  • Kimi K2.5 的基础是 Kimi K2 (2025)
    • Kimi K2 是在 15 万亿高质量文本 token 上进行预训练的万亿参数 MoE Transformer
    • Kimi K2 采用 token 高效的 MuonClip 优化器 (2024, 2025) 和 QK-Clip 来确保训练稳定性
    • 模型参数 1.04T-A32B ,使用 384 个专家,每个 token 激活 8 个 (稀疏度为 48)
    • 关于 MuonClip、架构设计和训练基础设施的详细描述,请参阅 Kimi K2 技术报告 (2025)

Model Architecture

  • Kimi K2.5 的多模态架构由三个组件组成:
    • 一个三维原生分辨率视觉 Encoder (MoonViT-3D)
    • 一个 MLP 投影器
    • Kimi K2 MoE 语言模型,遵循 Kimi-VL (2025) 建立的设计原则
MoonViT-3D: Shared Embedding Space for Images and Videos
  • 在 Kimi-VL 中,作者使用 MoonViT 以原生分辨率处理图像,无需复杂的子图像分割和拼接操作
  • MoonViT 由 SigLIP-SO-400M (2023) 初始化,并融合了 NaViT (2023) 的 patch 打包策略,即将单个图像划分为 patch,展平后按顺序拼接成一维序列,从而实现不同分辨率图像的高效同步训练
  • 为了最大化将图像理解能力迁移到视频,作者引入了具有统一架构、完全共享参数和一致嵌入空间的 MoonViT-3D
  • 通过将“patch n’ pack”理念推广到时间维度,最多四个连续帧被视为一个时空体:
    • 来自这些帧的 2D patch 被联合展平并打包成一个单一的一维序列,使得相同的注意力机制可以无缝地在空间和时间上运行
  • 虽然额外的时序注意力有助于理解高速运动和视觉效果,但参数的共享最大化了从静态图像到动态视频的知识泛化,无需专门的视频模块或架构分叉即可实现强大的视频理解性能(见表 4)
  • 在 MLP 投影器之前,轻量级时序池化聚合每个时序块内的 patch,实现 \(4 \times\) 的时序压缩,从而显著延长可行的视频长度
  • 最终形成了一个统一的流程,通过一个共享的参数空间和特征表示,将从图像预训练中获得的知识和能力整体迁移到视频中

Pre-training Pipeline

  • 如表 3 所示,Kimi K2.5 的预训练基于 Kimi K2 语言模型检查点进行,分三个阶段处理大约 15T token:首先,独立的 ViT 训练以建立强大的原生分辨率视觉 Encoder ;其次,联合预训练以同时增强语言和多模态能力;第三,中期训练使用高质量数据和长上下文激活来精炼能力并扩展上下文窗口
ViT Training Stage
  • MoonViT-3D 在图像-文本和视频-文本对上进行训练
    • 其中文本组件包含多种目标:图像替代文本(image alt texts)、图像和视频的合成描述(synthetic captions of images and videos)、定位框(grounding bboxes)和 OCR 文本(OCR texts)
  • 训练遵循 CoCa (2022) 包含两个目标:SigLIP 损失 \(L_{\text{signip} }\)(对比损失的一种变体)和用于生成以输入图像为条件的描述的交叉熵损失 \(L_{\text{caption} }\)
  • 作者采用两阶段对齐策略
    • 第一阶段 ,作者仅优化描述生成损失 \(L_{\text{caption} }\),以使 MoonViT-3D 与 Moonlight-16B-A3B (2025) 对齐,消耗 1T token,此阶段 ViT 权重将被更新
    • 第二阶段 (非常短的),仅更新 MLP 投影器以将 ViT 与 1T 的 LLM 桥接,以实现更平滑的联合预训练
Joint Training Stages
  • 联合预训练阶段从接近尾声的 Kimi K2 检查点继续,在 4K 序列长度下额外处理 15T 视觉-文本 token
  • 数据配方通过引入独特 token、调整数据比例(增加编码相关内容的权重)以及控制每个数据源的最大训练轮数,扩展了 Kimi K2 的预训练分布
  • 第三阶段 通过集成的更高质量中期数据进行长上下文激活,通过 YaRN (2023) 插值依次扩展上下文长度
    • 这在长上下文文本理解和长视频理解方面带来了显著提升

Post-Training

Supervised Fine-Tuning
  • 遵循 Kimi K2 (2025) 建立的 SFT 流程,作者通过综合来自 K2、K2 Thinking 以及一系列内部专有专家模型的高质量候选响应来开发 K2.5
  • 数据生成策略采用了针对特定领域量身定制的专用流程,将人工标注与先进的提示工程和多阶段验证相结合
    • 这种方法产生了一个大规模的指令调优数据集,包含多样化的提示和复杂的推理轨迹,最终训练模型优先考虑交互式推理和精确的工具调用,以应对复杂的现实世界应用
Reinforcement Learning
  • 为了促进跨文本和视觉模态的联合优化,以及实现用于智能体集群的 PARL,作者开发了一个统一的智能体强化学习环境(附录 D)并优化了 RL 算法
  • 文本-视觉联合 RL 和 PARL 都建立在本节描述的算法之上
Policy Optimization
  • 对于从数据集 \(\mathcal{D}\) 中采样的每个问题 \(x\),使用先前的策略 \(\pi_{\mathrm{old} }\) 生成 \(K\) 个响应 \(\{y_{1},\ldots ,y_{K}\}\)
  • 作者针对以下目标优化模型 \(\pi_{\theta}\):
    $$L_{\mathrm{RL} }(\pmb {\theta}) = \mathbb{E}_{x\sim \mathcal{D} }\left[\frac{1}{N}\sum_{j = 1}^{K}\sum_{i = 1}^{|y_j|}\mathrm{Clip}\left(\frac{\pi_{\theta}(y_j^i|x,y_j^{0;i})}{\pi_{\mathrm{old} }(y_j^i|x,y_j^{0;i})},\alpha ,\beta\right)(r(x,y_j) - \bar{r} (x)) - \tau \left(\log \frac{\pi_{\theta}(y_j^i|x,y_j^{0;i})}{\pi_{\mathrm{old} }(y_j^i|x,y_j^{0;i})}\right)^2\right]. \quad (1)$$
    • \(\alpha ,\beta ,\tau >0\) 是超参数
    • \(y_{ij}^{0}\) 是第 \(j\) 个响应到第 \(i\) 个 token 的前缀
    • \(N = \sum_{i = 1}^{K}|y_{i}|\) 是一个批次中生成 token 的总数
    • \(\begin{array}{r}\bar{r} (x) = \frac{1}{K}\sum_{j = 1}^{K}r(x,y_{j}) \end{array}\) 是所有生成响应的平均奖励
  • 该损失函数与 K1.5 (2025) 中使用的策略优化算法不同,它引入了 token-level 的裁剪机制,旨在减轻由训练和推理框架之间的差异放大的离策略偏差
    • 该机制作为一个简单的梯度掩码方案:对于对数比在区间 \([\alpha ,\beta ]\) 内的 token,正常计算策略梯度,而对于超出此范围的 token,梯度设为零
  • 与标准 PPO 裁剪的一个关键区别在于,作者的方法严格依赖于对数比来明确限制离策略漂移,而不考虑优势 (advantage) 的符号
    • 这种方法与最近提出的稳定大规模 RL 训练的策略 (2025, 2025) 相一致
    • 经验上,作者发现这种机制对于在需要长视野、多步骤工具使用推理的复杂领域中保持训练稳定性至关重要
    • 作者使用 MuonClip 优化器 (2024, 2025) 来最小化这个目标
Reward Function
  • 对于具有可验证解决方案的任务(例如推理和智能体任务),应用基于规则的结果奖励
  • 为了优化资源消耗,作者还纳入了一个旨在提高 token 效率的预算控制奖励
    • 对于通用任务 ,作者采用生成式奖励模型 ,它提供与 Kimi 内部价值标准一致的细粒度评估
      • 问题:这里是说只使用 GRM 没有使用 BT RM 吗?
    • 对于视觉任务,作者设计特定于任务的奖励函数以提供细粒度的监督
      • 对于视觉定位和点定位任务,作者采用基于 F1 的软匹配奖励:定位任务从交并比 (Intersection over Union, IoU) 推导软匹配,点任务从最优匹配下的高斯加权距离推导软匹配
      • 对于多边形分割任务,作者将预测的多边形栅格化为二进制掩码,并根据与真实掩码的分割 IoU 来计算奖励
      • 对于 OCR 任务,作者采用归一化编辑距离来量化预测与真实值之间的字符级对齐
      • 对于计数任务,根据预测与真实值的绝对差异分配奖励
    • 此外,作者合成了复杂的视觉谜题问题,并利用 LLM 验证器 (Kimi K2) 来提供反馈
Generative Reward Models
  • Kimi K2 利用自评标准奖励 (self-critique rubric reward) 进行开放式生成 (2025),K2.5 通过系统性地在广泛的智能体行为和多模态轨迹上部署 GRMs 来扩展这项工作
  • 作者不仅将奖励建模局限于对话输出,还在多样化环境中的已验证奖励信号之上应用 GRMs,包括聊天助手、编码智能体、搜索智能体和工件生成智能体
  • 值得注意的是,GRMs 的功能不是二元判定者,而是与 Kimi 价值观一致的细粒度评估器 ,这些价值观对用户体验至关重要 ,例如有帮助性、响应就绪度、上下文相关性、细节的适当程度、生成工件的审美质量以及严格遵守指令
  • 这种设计使得奖励信号能够捕捉细微的偏好梯度,这些梯度很难用纯粹的基于规则或特定任务的验证器编码
  • 为了减轻奖励黑客攻击和对单一偏好信号的过拟合,作者采用了多个针对不同任务上下文量身定制的替代 GRM 标准
  • 理解:这里是在说更多地使用 GRM 来作为奖励信号
Token Efficient Reinforcement Learning
  • Token 效率对于具有测试时缩放 (test-time scaling) 的 LLM 至关重要
  • 虽然测试时缩放本质上是计算与推理质量的权衡,但实际增益需要算法创新来积极驾驭这种权衡
  • 作者之前的发现表明:
    • 施加依赖于问题的预算 (problem-dependent budget) 可以有效限制推理时计算,激励模型生成更简洁的思维链推理模式,避免不必要的 token 扩展 (2025, 2025)
  • 但作者也观察到长度过拟合现象:
    • 在严格预算约束下训练的模型往往无法泛化到更高的计算规模
    • 因此,它们无法有效利用额外的推理时 token 来解决复杂问题,而是退回到截断的推理模式
  • 为此,作者提出 Toggle
    • Taggle 是一种在推理时缩放和预算约束优化之间交替的训练启发式方法:对于学习迭代 \(t\),奖励函数定义为
      $$
      \begin{align}
      \tilde{r}(x, y) =
      \begin{cases}
      r(x, y) \cdot \mathbb{I} \{ \frac{1}{K}\sum_{i=1}^{K} r(x, y_i) < \lambda \text{ or } |y_i| \leq \text{budget}(\mathrm{x}) \} & \text{if } \lfloor t/m \rfloor (\text{mod}2) = 0 \ (\text{Phase0}) \\
      r(x, y) & \text{if } \lfloor t/m \rfloor (\text{mod}2) = 1 \ (\text{Phase1})
      \end{cases}
      \end{align}
      $$
      • 其中 \(\lambda\) 和 \(m\) 是算法的超参数,\(K\) 是每个问题的 Rollout 数量
    • 具体来说,算法每 \(m\) 次迭代在两个优化阶段之间交替:
      • Phase0 (budget limited phase) : 模型被训练在依赖于任务的 token 预算内解决问题
        • 为了防止过早地牺牲质量换取效率 ,该约束是条件性应用的:仅当模型对给定问题的平均准确率超过阈值 \(\lambda\) 时才强制执行
      • Phase1 (standard scaling phase) : 模型生成响应直到最大 token 限制,鼓励模型利用计算实现更好的推理时缩放
    • 依赖于问题的预算从正确响应子集中的 token 长度的 \(\rho\) 分位数估计得出:
      $$\mathrm{budget}(x) = \mathrm{Percentile}(\{|y_j| |r(x,y_i) = 1,i = 1,\ldots ,K\} ,\rho). \quad (2)$$
      • 该预算在训练开始时估计一次,之后保持固定
      • Toggle 作为一个针对双目标问题的随机交替优化函数:它专门设计用于协调推理能力与计算效率
  • 作者在 K2 Thinking (2025) 上评估了 Toggle 的有效性
    • 如图 5 所示,作者观察到在几乎所有基准测试中输出长度持续减少
    • 平均而言,Toggle 将输出 token 减少了 \(25\sim 30%\),对性能的影响可忽略不计
    • 作者还观察到,思维链中的冗余模式,例如重复验证和机械计算,显著减少
    • 此外,Toggle 显示出强大的领域泛化能力
      • 例如,仅在数学和编程任务上训练时,模型在 GPQA 和 MMLU-Pro 上仍然实现了一致的 token 减少,而性能仅有轻微下降(图 5)

Training Infrastructure

  • Kimi K2.5 继承了 Kimi K2 (2025) 的训练基础设施
  • 对于多模态训练,作者提出了解耦 Encoder 进程 (Decoupled Encoder Process, DEP),其中视觉 Encoder 以可忽略的额外开销纳入现有流程
Decoupled Encoder Process, DEP
  • 在使用流水线并行 (PP) 的典型多模态训练范式中,视觉 Encoder 和文本嵌入共同位于流水线的第一阶段 (Stage-0)
    • 但由于多模态输入大小(例如图像数量和分辨率)的固有变化,Stage-0 的计算负载和内存使用都存在剧烈波动
    • 这迫使现有解决方案为视觉-语言模型采用定制的 PP 配置
      • 例如,(2025) 手动调整 Stage-0 中的文本解码器层数以预留内存
      • 虽然这种折衷缓解了内存压力,但并没有从根本上解决由多模态输入大小引起的负载不平衡问题
      • 更重要的是,它排除了直接复用已为纯文本训练高度优化的并行策略
  • 利用视觉 Encoder 在计算图中的独特拓扑位置,特别是它作为前向传播的开始和后向传播的终点,作者的训练使用解耦 Encoder 进程 (DEP) ,每个训练步骤由三个阶段组成:
    • 1)平衡视觉前向 (Balanced Vision Forward) : 作者首先执行全局批次中所有视觉数据的前向传播。由于视觉 Encoder 较小,作者无论其他并行策略如何,都将其复制到所有 GPU 上。在此阶段,前向计算工作负载根据负载指标(例如图像或 patch 数量)均匀分布在所有 GPU 上。这消除了由 PP 和视觉 token 计数引起的负载不平衡。为了最小化峰值内存使用,作者丢弃所有中间激活,仅保留最终输出激活。结果被收集回 PP 的 Stage-0
    • 2)主干训练 (Backbone Training) : 此阶段执行主 Transformer 主干的前向和后向传播。通过丢弃前一阶段的中间激活,作者现在可以完全利用在纯文本训练中验证过的任何高效并行策略。在此阶段之后,梯度在视觉 Encoder 输出处累积
    • 3)视觉重计算与后向 (Vision Recomputation & Backward) : 作者重新计算视觉 Encoder 的前向传播,然后执行后向传播以计算视觉 Encoder 参数的梯度
  • DEP 不仅实现了负载平衡,还解耦了视觉 Encoder 和主主干的优化策略
    • K2.5 无缝继承了 K2 的并行策略,相对于纯文本训练,实现了 \(90%\) 的多模态训练效率
    • 作者注意到一个同期工作,LongCat-Flash-Omni (2025),分享了类似的设计理念

Evaluations

Main Results

Evaluation Settings
Benchmark
  • 作者在一个全面的基准测试套件上评估 Kimi K2.5,涵盖基于文本的推理、竞争性和智能体编码、多模态理解(图像和视频)、自主智能体执行和计算机使用
  • 作者的基准分类法按以下能力轴组织:
    • Reasoning & General:人类的最后考试 (HLE) (2025)、2025年美国数学邀请赛 (AIME 2025) (2025)、哈佛-麻省理工数学锦标赛 (HMMT 2025) (2025)、IMO-AnswerBench (2025)、GPQA-Diamond (2024)、MMLU-Pro (2024)、SimpleQA Verified (2025)、AdvancedIF (2025) 和 LongBench v2 (2025)
    • Coding:SWE-Bench Verified (2023)、SWE-Bench Pro (public) (2025)、SWE-Bench Multilingual (2023)、Terminal Bench 2.0 (2026)、PaperBench (CodeDev) (2025)、CyberGym (2025)、SciCode (2024)、OJBench (cpp) (2025) 和 LiveCodeBench (v6) (2024)
    • Agentic Capabilities:BrowseComp (2025)、WideSearch (2025)、DeepSearchQA (2025)、FinSearchComp (T2&T3) (2025)、Seal-0 (2025)、GDPVal (2025)
    • Image Understanding:(数学与推理)MMMU-Pro (2025)、MMMU (val) (2024)、CharXiv (RQ) (2024)、Math-Vision (2024) 和 MathVista (mini) (2024);(视觉知识)SimpleVQA (2025) 和 WorldVQA 2;(感知)ZeroBench(带/不带工具)(2025)、BabyVision (2026)、BLINK (2024) 和 MMVP (2024);(OCR 和文档)OCR-Bench (2024)、OmniDocBench 1.5 (2025) 和 InfoVQA (2021)
    • Video Understanding:VideoMMMU (2025)、MMVU (2025)、MotionBench (2025)、Video-MME (2025)(带字幕)、LongVideoBench (2024) 和 LVBench (2025)
    • Computer Use:OSWorld-Verified (2025, 2024) 和 WebArena (2023)
Baselines
  • 作者以最先进的闭源和开源模型作为基准
    • 闭源模型:Claude Opus 4.5(带扩展思考)(2025)、GPT-5.2(带 xhigh 推理力度)(2025) 和 Gemini 3 Pro(带高推理级别)
    • 开源模型:
      • 文本基准测试:包括 DeepSeek-V3.2(启用思考模式)(2025)
      • 视觉基准测试:报告 Qwen3-VL-235B-A22B-Thinking (2025)
Evaluation Configurations
  • 除非另有说明,所有 Kimi K2.5 评估都使用 temperature = 1.0,top-p = 0.95,上下文长度为 256k tokens
  • 对于没有公开分数的基准测试,在相同条件下重新评估,并标有星号 (*)
    • 完整的评估设置可以在附录 E 中找到
Evaluation Results
  • 表 4 展示了将 Kimi K2.5 与专有和开源基线模型进行比较的综合结果
Reasoning and General
  • Kimi K2.5 在严格的 STEM 基准测试上与顶级专有模型相比具有竞争力
    • 数学任务:
      • AIME 2025,K2.5 得分 \(96.1%\),接近 GPT-5.2 的满分,同时优于 Claude Opus 4.5 (92.8%) 和 Gemini 3 Pro (95.0%)
      • HMMT 2025 (95.4%) 和 IMO-AnswerBench (81.8%),展示了 K2.5 卓越的推理深度
    • 知识和科学推理能力
      • SimpleQA Verified 上得分 36.9%;MMLU-Pro 上得分 87.1%;在 GPQA 上得分 87.6%
      • 在不使用工具的情况下,K2.5 在 HLE 上获得了 30.1% 的 HLE-Full 分数,其中文本子集得分 31.5%,图像子集得分 21.3%
      • 当启用工具使用时,K2.5 的 HLE-Full 分数上升到 50.2%,其中文本 51.8%,图像 39.8%,显著优于 Gemini 3 Pro (45.8%) 和 GPT-5.2 (45.5%)
    • 除了推理和知识外,K2.5 在指令遵循(AdvancedIF 上 75.6%)和长上下文能力(LongBench v2 上 61.0%)方面也表现出色,与专有和开源模型相比都很有竞争力
Complex Coding and Software Engineering
  • Kimi K2.5 表现出强大的软件工程能力,尤其是在现实世界的编码和维护任务上
    • 在 SWE-Bench Verified 上取得 76.8% 的成绩,在 SWE-Bench Multilingual 上取得 73.0%,优于 Gemini 3 Pro,同时与 Claude Opus 4.5 和 GPT-5.2 保持竞争力
    • 在 LiveCodeBench v6 上,Kimi K2.5 达到 85.0%,超过了 DeepSeek-V3.2 (83.3%) 和 Claude Opus 4.5 (82.2%),突显了其在实时、持续更新的编码挑战上的稳健性
    • 在 TerminalBench 2.0、PaperBench 和 SciCode 上,它分别得分 50.8%、63.5% 和 48.7%,展示了在不同领域的自动化软件工程和问题解决中稳定的竞争水平性能
    • 此外,K2.5 在 CyberGym 上获得 41.3 分,该任务是在仅给定弱点高级描述的情况下,在真实开源软件项目中查找先前发现的漏洞,进一步强调了其在面向安全的软件分析中的有效性
Agentic Capabilities
  • Kimi K2.5 在复杂的智能体搜索和浏览任务上确立了新的最先进性能
    • 在 BrowseComp 上,K2.5 在不使用上下文管理技术的情况下达到 60.6%,在使用 Discard-all 上下文管理 (2025) 的情况下达到 74.9%,显著优于 GPT-5.2 报告的 65.8%、Claude Opus 4.5 (37.0%) 和 Gemini 3 Pro (37.8%)
    • WideSearch 在 item-F1 上达到 72.7%
    • 在 DeepSearchQA (77.1%)、FinSearchComp T2&T3 (67.8%) 和 Seal-0 (57.4%) 上,K2.5 在所有评估模型中领先,展示了其在智能体深度研究、信息综合和多步骤工具编排方面的卓越能力
Vision Reasoning, Knowledge and Perception
  • Kimi K2.5 展示了强大的视觉推理和世界知识能力
    • 在 MMMU-Pro 上得分 \(78.5%\),涵盖多学科多模态任务
    • 对于世界知识问答:
      • K2.5 在 SimpleVQA 上取得 \(71.2%\),在 WorldVQA 上取得 \(46.3%\)
    • 对于视觉推理
      • K2.5 在 MathVision 上取得 \(84.2%\),在 MathVista (mini) 上取得 \(90.1%\),在 BabyVision 上取得 \(36.5%\)
    • 对于 OCR 和文档理解
      K2.5 在 CharXiv (RQ) 上为 \(77.5%\),在 OCRBench 上为 \(92.3%\),在 OmniDocBench 1.5 上为 \(88.8%\),在 InfoVQA (test) 上为 \(92.6%\)
    • 在具有挑战性的 ZeroBench 上,Kimi K2.5 在使用工具增强的情况下达到 \(9%\) 和 \(11%\),大幅领先于竞争模型
    • 在基础视觉感知基准测试 BLINK (\(78.9%\)) 和 MMVP (\(87.0%\)) 上,Kimi K2.5 具有竞争力的性能,展示了其稳健的现实世界视觉感知能力
Video Understanding
  • Kimi K2.5 在不同的视频理解任务上取得了最先进的性能
    • 在 VideoMMMU 上达到 \(86.6%\),在 MMU 上达到 \(80.4%\),与前沿模型对齐
    • 借助 MoonViT-3D 的上下文压缩和密集时间理解能力,Kimi K2.5 还通过在长视频理解(LVBench 上 \(75.9%\) 和 LongVideoBench 上 \(79.8%\),输入超过 2000 帧)上创造了新的全球 SOTA 记录,同时在高度维度的 MotionBench 上展示了稳健的密集运动理解能力 (\(70.4%\))
Computer-Use Capability
  • Kimi K2.5 在现实世界任务上展示了最先进的计算机使用能力
    • 在计算机使用基准测试 OSWorld-Verified (2025, 2024) 上,仅依靠 GUI 操作而不使用外部工具,实现了 \(63.3%\) 的成功率
      • 这显著优于开源模型,如 Qwen3-VL-235B-A22B (\(38.1%\)) 和 OpenAI 的计算机使用智能体框架 Operator (基于 o3) (\(42.9%\)),同时与当前领先的 CUA 模型 Claude Opus 4.5 (\(66.3%\)) 保持竞争力
    • 在 WebArena (2023) 上(一个基于 GUI 的网页浏览的成熟基准测试),Kimi K2.5 实现了 \(58.9%\) 的成功率,超过了 OpenAI 的 Operator (\(58.1%\)),并接近 Claude Opus 4.5 的性能 (\(63.4%\))

Agent Swarm Results

Benchmarks
  • 为了严格评估智能体群框架的有效性,作者选择了三个代表性基准测试,共同覆盖深度推理、大规模检索和现实世界复杂性:
    • BrowseComp :一个具有挑战性的深度研究基准测试,需要多步骤推理和复杂的信息综合
    • WideSearch :一个旨在评估跨多样来源进行广泛、多步骤信息搜索和推理能力的基准测试
    • 内部群基准测试 (In-house Swarm Bench) :一个内部开发的群基准测试,旨在评估智能体群在现实世界、高复杂性条件下的性能;涵盖四个领域:
      • WildSearch(在开放网络上的无约束、现实世界信息检索)
      • Batch Download(大规模获取多样资源)
      • WideRead(涉及超过 100 个输入文档的大规模文档理解)
      • Long-Form Writing(连贯生成超过 10 万字的广泛内容)
      • 该基准测试包含极端规模的场景,对基于智能体的系统的编排、可扩展性和协调能力进行压力测试
Performance
  • 表 6 展示了 Kimi K2.5 Agent Swarm 相对于单智能体配置和专有基线的性能:结果表明,多智能体编排带来了显著的性能提升
    • 在 BrowseComp 上,Agent Swarm 达到 \(78.4%\),相比单智能体 K2.5 (60.6%) 提高了 \(17.8%\) 的绝对增益,甚至超过了 GPT-5.2 Pro (\(77.9%\))
    • 类似地,WideSearch 在 Item-F1 上提升了 \(6.3%\) (\(72.7% \rightarrow\) \(79.0%\)),使 K2.5 Agent Swarm 优于 Claude Opus 4.5 (\(76.2%\)),并确立了新的 SOTA
    • 提升在内部群基准测试 (\(16.7%\)) 上最为显著,那里的任务明确设计为奖励并行分解
    • 这些在基准测试上的一致性改进验证了 Agent Swarm 有效地将计算并行性转化为定性能力提升,特别是对于需要广泛探索、多源验证或同时处理独立子任务的问题
Execution Time Savings via Parallelism
  • 除了改善任务性能外,Agent Swarm 通过并行执行子智能体实现了显著的挂钟时间减少
  • 在 WideSearch 基准测试上,与单智能体基线相比,它将达到目标性能所需的执行时间减少了 \(3\times \sim 4.5\times\)
  • 如图 8 所示
    • 这种效率增益随任务复杂性而缩放:随着目标 Item-F1 从 \(30%\) 增加到 \(70%\),单智能体的执行时间从大约基线的 \(1.8\times\) 增长到超过 \(7.0\times\),而 Agent Swarm 则保持接近恒定的低延迟,范围在 \(0.6\times \sim 1.6\times\)
    • 这些结果表明,Agent Swarm 有效地将顺序工具调用转换为并行操作,防止了通常随着任务难度增加而观察到的完成时间线性增长
Dynamic Subagent Creation and Scheduling
  • 在智能体群中,子智能体是动态实例化的,而非预先定义的
  • 通过 PARL,编排器学习自适应策略,以根据演化的任务结构和问题状态来创建和调度自托管的子智能体
  • 与静态分解方法不同,这种学习到的策略使 Orchestrator 能够根据查询来推理所需的子智能体数量、时机和专业化程度
    • 异构的智能体组从这种自适应分配策略中自然出现(图 6)
Agent Swarm as Proactive Context Management
  • 除了更好的性能和运行时加速外,智能体群是一种由多智能体架构 (2026) 实现的主动且智能的上下文管理方法
  • 这种方法不同于测试时上下文截断策略,如 Hide-Tool-Result (2025)、Summary (2025) 或 Discard-all (2025),这些策略通过压缩或丢弃累积的历史记录来应对上下文溢出
    • 虽然这些方法在减少 token 使用方面有效,但它们本质上是反应性的,并且常常牺牲结构信息或中间推理
  • Agent Swarm 通过显式的编排实现主动的上下文控制
    • 长视距任务被分解为并行、语义上隔离的子任务,每个子任务由一个具有有限本地上下文的专用子智能体执行
    • 这些子智能体保持独立的工作记忆并进行本地推理,而不会直接改变或污染中央编排器的全局上下文
    • 只有任务相关的输出,而不是完整的交互轨迹,被有选择地路由回编排器
  • Agent Swarm 的这种设计得到的是上下文分片,而不是上下文截断 ,使系统能够沿额外的架构维度扩展有效上下文长度,同时保持模块化、信息局部性和推理完整性
  • 如图 7 所示,这种主动策略在 BrowseComp 上的效率和准确性都优于 Discard-all
    • 通过在编排器级别保持任务级连贯性,同时保持子智能体上下文严格受限,Agent Swarm 实现了具有选择性上下文持久性的并行执行,仅保留高级协调信号或必要的中间结果
    • Agent Swarm 作为一个主动的、结构化的上下文管理器运行,以比均匀上下文截断少得多的 Critical Steps 实现更高的准确性

附录 B:Pre-training

Joint-Training

  • 作者在图 9 中进一步提供了所有配置的完整训练曲线
    • 在 mid-fusion 和 late-fusion 阶段,文本性能出现“下降-恢复”的模式:当首次引入视觉数据时,文本能力最初会下降,然后逐渐恢复
      • 作者将此归因于模态领域的转变(视觉 token 的突然引入扰乱了已建立的语言表示空间,迫使模型暂时牺牲文本特定能力以换取跨模态对齐)
    • early fusion 在整个训练过程中保持了更健康、更稳定的文本性能曲线
      • 通过从一开始就共同优化视觉和语言,模型自然地演化出统一的多模态表示,而无需经历后期领域迁移的冲击
      • 这表明早期暴露不仅防止了在 late fusion 中观察到的表示崩溃,还为两种模态提供了更平滑的梯度景观
  • 总的来说,这些发现强化了作者关于原生多模态预训练 (native multimodal pre-training) 的提议:适度的视觉比例与早期融合相结合,在固定的 token 预算下能产生更优越的收敛特性和更稳健的双模态能力

Text data

  • Kimi K2.5 预训练文本语料库包含精选的高质量数据,涵盖四个主要领域:网络文本 (Web Text)、代码 (Code)、数学 (Mathematics) 和知识 (Knowledge)
  • 大多数数据处理流程遵循 Kimi K2 (2025) 中概述的方法
  • 对于每个领域,作者执行了严格的正确性和质量验证,并设计了有针对性的数据实验,以确保精选数据集同时实现高多样性和有效性
增强的代码智能
  • 作者提升了以代码为中心的数据权重,显著扩展了以下内容:
    • (1) 支持跨文件推理和架构理解的仓库级代码 (repository-level code)
    • (2) 来自互联网的 issues、代码审查和提交历史,捕获了真实的开发模式
    • (3) 从 PDF 和网页文本语料库中检索到的与代码相关的文档
    • 这些努力增强了针对复杂编码任务的仓库级理解能力,提高了在代理式编码子任务(如补丁生成和单元测试编写)上的表现,并增强了与代码相关的知识能力

Vision data

  • 作者的多模态预训练语料库包括七个类别:字幕 (caption)、交错数据 (interleaving)、OCR、知识 (knowledge)、感知 (perception)、视频 (video) 和代理数据 (agent data)
    • 字幕数据 (caption data) (2022, 2024) 提供了基础的模态对齐,并对合成字幕施加了严格的限制以减轻幻觉
    • 来自书籍、网页和教程的图像-文本交错数据 (image-text interleaving data) (2024, 2024) 使得多图像理解和长上下文学习成为可能
    • OCR 数据涵盖多语言文本、密集布局和多页文档。知识数据 (knowledge data) 包含通过布局解析器处理的学术材料,以发展视觉推理能力
  • 作者精选了一个专门的多模态问题解决语料库,以加强科学、技术、工程和数学领域的推理能力
    • 这些数据通过有针对性的检索和网络爬虫进行聚合;对于缺乏明确查询格式的信息内容,作者采用上下文学习 (in-context learning) (2020) 自动将原始材料重新格式化为涵盖 K-12 到大学级别的结构化学术问题
    • 为了弥合视觉布局与代码数据之间的模态差距,作者纳入了大量的图像-代码配对数据
      • 包括多种代码格式,如 HTML、React 和 SVG 等,以及它们对应的渲染截图,使得模型能够将抽象的结构逻辑与具体的视觉几何形状对齐
  • 对于代理和时间理解,作者收集了跨桌面、移动和网络环境的 GUI 截图和操作轨迹,包括人工标注的演示
    • 来自不同来源的视频数据实现了长达数小时的视频理解和细粒度的时空感知
    • 此外,作者加入了 grounding 数据以增强细粒度视觉定位能力,包括感知标注(边界框)、基于点的参考
    • 作者还引入了一个新的轮廓级分割任务 (contour-level segmentation task) (2026) 用于像素级感知学习
    • 所有数据都经过严格的过滤、去重和质量控制,以确保高度的多样性和有效性

附录 C:Infra

  • Kim K2.5 在 NVIDIA H800 GPU 集群上进行训练,节点间使用 \(8\times 400\) Gbps RoCE 互连
  • 作者采用了灵活的并行策略,结合了 16 路 PP 与 virtual stages (2019, 2021),16 路专家并行 (EP) (2020),以及 ZeRO-1 数据并行 (DP),使得可以在任意为 32 倍数的节点数上进行训练
  • 在交错的 1F1B 调度下,EP 的 all-to-all 通信与计算重叠
  • 为了将激活值容纳在 GPU 内存限制内,作者对 LayerNorm、SwiGLU 和 MLA up-projections 应用了选择性重计算 (selective recomputation),将不敏感的激活值压缩到 FP8-E4M3,并将剩余的激活值以重叠流式方式卸载到 CPU

Data Storage and Loading

  • 作者使用云服务商的 S3 (2023) 兼容对象存储解决方案来存放作者的 VLM 数据集
  • 为了弥合数据准备和模型训练之间的差距,作者将视觉数据以其原生格式保留,并设计了一个高效且适应性强的基础设施
  • 该基础设施提供了几个关键优势:
    • 灵活性:在整个训练过程中支持动态数据打乱、混合、 Token 化、损失掩码和序列打包,能够根据需求变化调整数据比例;
    • 增强:允许对视觉和文本模态进行随机增强,同时在几何变换过程中保持 2D 空间坐标和方向元数据的完整性;
    • 确定性:通过精细管理随机种子和工作进程状态,保证完全确定的训练,确保任何训练中断都可以无缝恢复——恢复后的数据序列与不间断运行的序列保持一致;
    • 可扩展性:通过分级缓存机制实现卓越的数据加载吞吐量,能够稳健地扩展到大型分布式集群,同时将对象存储的请求频率控制在可接受的范围内
  • 此外,为了维护统一的数据集质量标准,作者构建了一个统一平台,负责数据注册、可视化、统计分析、跨云同步和生命周期治理

附录 D:Unified Agentic Reinforcement Learning Environment

Environment

  • 为了支持统一的代理式强化学习,作者的强化学习框架采用了一个标准化的 Gym-like (2016) 接口 来简化不同环境的实现
  • 这种设计使用户能够以最小的开销实现和定制环境。作者的设计优先考虑组合模块化,集成了一套可插拔的组件,例如用于支持带有沙盒的各种工具的 Toolset 模块、用于多方面奖励信号的 Judge 模块 ,以及用于提示多样化和指令遵循增强的专用模块
  • 这些组件可以与核心代理循环动态组合,提供高度灵活性并增强模型泛化能力
  • 在执行层面,作者的强化学习框架将每个代理任务视为一个独立的异步协程
    • 每个任务可以递归地触发子任务 rollouts,简化了复杂多智能体范式(如并行代理强化学习 (Parallel-Agent RL) 和“代理即裁判 (Agent-as-Judge)”)的实现
  • 如图 10 所示,一个专用的 Rollout Manager 在强化学习过程中协调多达 100,000 个并发代理任务,提供细粒度控制以实现诸如部分 rollout (2025) 等功能
    • 激活后,每个任务从受管理的池中获取一个环境实例,该实例配备了一个沙盒和专用工具

Inference Engine Co-design

  • 作者的框架严格遵循 Token-in-Token-out 范式
    • 理解:即模型的输入和输出都是 Token
  • 作者还记录了所有推理引擎输出的对数概率,以执行训练-推理不匹配校正,确保强化学习训练的稳定性
  • 针对强化学习需求的推理引擎协同设计使作者能够通过为强化学习定制的推理 API 来支持这些功能
  • 除了全套内置的白盒环境外,还有只能在标准 LLM API 协议下运行的黑盒环境,它们无法利用作者自定义 API 协议提供的高级功能
    • 为了在黑盒环境下促进模型优化,作者开发了 LLM Gateway,这是一个代理服务,用于在作者的自定义协议下详细记录 rollout 请求和响应

Monitoring and debugging

  • 在确保正确性的同时,优化高度并行的异步执行系统的性能是一项具有挑战性的任务
  • 作者开发了一系列用于性能监控、性能剖析、数据可视化和数据验证的工具。作者发现这些工具对于调试以及确保作者代理式强化学习的效率和正确性至关重要

附录 E:Evaluation Settings

  • 本节为表 4 中报告的所有基准测试提供了全面的配置细节和测试协议

General Evaluation Protocol

  • 除非另有明确说明,否则所有 Kimi-K2.5 的实验均遵循以下超参数配置:
    • Temperature: 1.0
    • Top-p: 0.95
    • Context Length: 256k tokens

Baselines

  • 对于基线模型,作者在它们各自的高性能推理配置下报告结果:
    Claude Opus 4.5: 扩展思维模式 (Extended thinking mode)
    GPT-5.2: 最大推理努力 (Maximum reasoning effort (xhigh))
    Gemini 3 Pro: 高思维等级 (High thinking level)
    DeepSeek-V3.2: 启用思维模式 (Thinking mode enabled)(仅用于纯文本基准测试)
    Qwen3-VL-235B-A22B: 思维模式 (Thinking mode)(仅用于视觉基准测试)
  • 对于视觉和多模态基准测试,GPT-5.2-xhigh 在视觉评估中表现出大约 \(10%\) 的失败率(即,尽管有三次重试尝试,但没有生成输出)
    • 这些失败被视为错误预测,这意味着报告的分值可能是模型真实能力的保守下界
  • 此外,由于作者无法持续访问稳定的 GPT-5.2 API ,作者跳过了一些评估成本较高的基准测试,例如 WideSearch

Text Benchmarks

Reasoning Benchmarks
  • 对于高复杂度推理基准测试,包括 HLE-Full、AIME 2025、HMMT 2025、GPQA-Diamond 和 IMO-AnswerBench,作者强制执行最大 96k token 的完成预算,以确保足够的推理深度
  • 为了减少由随机推理路径引起的方差,AIME 2025 和 HMMT 2025 (Feb) 的结果是 64 次独立运行的平均值 (Avg@64),而 GPQA-Diamond 是 8 次运行的平均值 (Avg@8)
LongBench v2
  • 为了公平比较,作者使用与 (2025) 中相同的截断策略将所有输入上下文标准化为大约 128k token
  • 作者观察到 GPT5.2-xhigh 经常产生自由形式的问答风格响应,而不是所需的多选格式
  • 因此,作者报告使用 GPT5.2-high 的结果,它能始终遵循预期的输出格式

Image and Video Benchmarks

  • 所有图像和视频理解评估均使用以下配置:
    • Maximum Tokens: 64k
    • Sampling: 3 次独立运行的平均值 (Avg@3)
ZeroBench(w/ tools)
  • 多步推理评估使用约束的逐步生成:
    • Max Tokens per Step: 24k
    • Maximum Steps: 30
MMMU-Pro
  • 作者严格遵循官方评估协议:保留所有模态的输入顺序,按照基准指南的规定将图像预置到文本序列之前
Sampling Strategies for Video Benchmarks
  • 对于短视频基准测试(VideoMMMU、MMVU & MotionBench),作者采样 128 个均匀输入帧,最大空间分辨率为 896;
  • 对于长视频基准测试(Video-MME、LongVideoBench & LVBench),采样 2048 个均匀帧,空间分辨率为 448
pecialized Metrics
  • OmniDocBench 1.5: 分值计算为 \((1 - 标准化的莱文斯坦距离 (normalized Levenshtein distance)) \times 100\),数值越高表示 OCR 和文档理解准确率越高
  • WorldVQA: 访问地址:https://github.com/MoonshotAI/WorldVQA。该基准测试评估需要细粒度视觉识别和地理理解的原子化、视觉中心的世界知识

Coding and Software Engineering

Terminal Bench 2.0
  • 所有分值均使用默认的 Terminus-2 agent 框架和提供的 JSON 解析器获得
  • 作者在非思维模式下进行评估,因为目前针对思维模式的上下文管理实现在技术上与 Terminus-2 的对话状态处理不兼容
    • 问题:这个是不能改的吗?
SWE-Bench 系列
  • 作者使用一个内部开发的评估框架,其包含最小工具集:bash, create_file, insert, view, str_replace, 和 submit
  • System prompts 专门针对仓库级代码操作而定制
  • 在所有 SWE-Bench 变体(Verified、Multilingual 和 Pro)中,非思维模式下达到峰值性能
CyberGym
  • 根据其技术文档中的规定,Claude Opus 4.5 在此基准测试下的结果是在非思维设置下报告的
  • 作者报告难度等级 1(主要设置)下的分值
PaperBench
  • 作者报告 CodeDev 设置下的分值
Sampling
  • 所有编码任务结果均为 5 次独立运行的平均值 (Avg@5),以确保跨环境初始化和非确定性测试用例排序的稳定性

Agentic Evaluation

Tool Setting
  • Kimi-K2.5 为所有代理式评估配备了网络搜索工具、代码解释器(Python 执行环境)和网络浏览工具,包括使用工具的 HLE 和代理式搜索基准测试(BrowseComp、WideSearch、DeepSearchQA、FinSearchComp T2&T3 和 Seal-0)
Context Management Strategies
  • 为了处理复杂代理式任务中固有的超长轨迹长度,作者实现了特定领域的上下文管理协议
  • 除非以下另有说明,否则代理式评估不应用任何上下文管理;超出模型支持的上下文窗口的任务直接计为失败,而不是被截断
  • Humanity’s Last Exam (HLE)
    • 对于 HLE 工具增强设置,作者采用“隐藏工具结果”上下文管理策略 (Hide-Tool-Result Context Management strategy):
      • 当上下文长度超过预定阈值时,仅保留最近一轮的工具消息(观察和返回值),而来自之前所有步骤的推理链和思维过程则完全保留
  • BrowseComp
    • 对于 BrowseComp 评估,作者的评估包含有和没有上下文管理设置的两种。在上下文管理设置下,作者采用 DeepSeek 提出的相同的丢弃所有策略 (discard-all strategy),即一旦 token 阈值超过,所有历史记录都会被截断
System Prompt
  • 所有代理式搜索和 HLE 评估均使用以下统一的系统提示,其中 DATE 被动态设置为当前时间戳:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    You are Kimi, today’s date: DATE.
    Your task is to help the user with their questions by using various tools, thinking deeply, and ultimately answering the user’s questions.
    Please follow the following principles strictly during the deep research:
    1. Always focus on the user’s original question during the research process, avoiding deviating from the topic.
    2. When facing uncertain information, use search tools to confirm.
    3. When searching, filter high-trust sources (such as authoritative websites, academic databases, and professional media) and maintain a critical mindset towards low-trust sources.
    4. When performing numerical calculations, prioritize using programming tools to ensure accuracy.
    5. Please use the format [^index^] to cite any information you use.
    6. This is a **Very Difficult** problem——do not underestimate it. You must use tools to help your reasoning and then solve the problem.
    7. Before you finally give your answer, please recall what the question is asking for.
Sampling Protocol
  • 考虑到搜索引擎结果排名和动态网络内容可用性固有的随机性,Seal-0 和 WideSearch 的结果是 4 次独立运行的平均值 (Avg@4)
  • 所有其他代理式基准测试均在单次运行协议下进行评估,除非另有明确说明

Computer-Use Evaluation

Hyperparameter Settings
  • 作者为所有实验设置 max_steps_per_episode = 100
  • OSWorld-Verified temperature = 0,WebArena 的 temperature = 0.1
  • 由于资源限制,所有模型都在 one-shot setting 下进行评估
  • 遵循 OpenCUA 配置 (2025),代理上下文包括最后 3 张历史图像、完整的思维历史记录和任务指令
  • 对于 WebArena,作者手动更正了评估脚本中的错误,并使用 GPT-4o 作为 fuzzy_match 函数的评判模型
  • 为确保公平比较,Claude Opus 4.5 仅使用计算机使用工具(排除浏览器工具)进行评估,这与 System Card 配置 (2025) 不同
System Prompt
  • 作者为所有计算机使用任务使用统一的系统提示:

    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
    You are a GUI agent. You are given an instruction, a screenshot of the screen and your previous interactions with the computer. 
    You need to perform a series of actions to complete the task. The password of the computer is {password}.

    For each step, provide your response in this format:
    {thought}
    ## Action:
    {action}
    ## Code:
    {code}

    In the code section, the code should be either pyautogui code or one of the following functions wrapped in the code block:
    - {
    "name": "computer.wait",
    "description": "Make the computer wait for 20 seconds for installation, running code, etc.",
    "parameters": {
    "type": "object",
    "properties":{},
    "required": []
    }
    }
    - {
    "name": "computer.terminate",
    "description": "Terminate the current task and report its completion status",
    "parameters": {
    "type": "object",
    "properties": {
    "status": {
    "type": "string",
    "enum": ["success", "failure"],
    "description": "The status of the task"
    },
    "answer": {
    "type": "string",
    "description": "The answer of the task"
    }
    },
    "required": ["status"]
    }
    }
    • 注:”pyautogui”(”PyAutoGUI”) 是一个 Python 库的名称,通常有以下译法或解释方式,常用 PyAutoGUI 实现自动化操作

Agent Swarm Configuration

Tool Setting
  • 除了附录 E.6 中描述的核心工具集(网络搜索、代码解释器和网络浏览)之外,协调器 (orchestrator) 还配备了两种用于创建和调度子代理的专用工具:
    • create_subagent:实例化一个具有自定义系统提示和标识符的专用子代理,以便在跨任务中重用
    • assign_task:将任务分派给创建的子代理
  • The tool schemas are provided below:
    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
    {
    "name": "create_subagent",
    "description": "使用特定的系统提示和名称创建自定义子代理以便重用。",
    "parameters": {
    "type": "object",
    "properties": {
    "name": {
    "type": "string",
    "description": "此代理配置的唯一名称"
    },
    "system_prompt": {
    "type": "string",
    "description": "定义代理角色、能力和边界的系统提示"
    }
    },
    "required": ["name", "system_prompt"]
    }
    }
    {
    "name": "assign_task",
    "description": "启动一个新代理。\n使用说明:\n 1. 只要可能,你可以同时启动多个代理,以最大化性能;\n 2. 当代理完成时,它会向你返回一条消息。",
    "parameters": {
    "type": "object",
    "properties": {
    "agent": {
    "type": "string",
    "description": "指定要使用哪个已创建的代理。"
    },
    "prompt": {
    "type": "string",
    "description": "代理要执行的任务"
    }
    },
    "required": ["agent", "prompt"]
    }
    }
Step Limits
  • 在 Agent Swarm 模式下运行时,作者为协调器 (orchestrator) 和子代理设置计算预算,步骤限制适用于工具调用和环境交互的总计数
    • BrowseComp:协调器被限制为最多 15 步。每个生成的子代理在最多 100 步的限制下运行(即每个子代理最多 100 次工具调用)
    • WideSearch:协调器和每个子代理都被分配了最多 100 步的预算
    • 内部基准测试 (In-house Bench):协调器被限制为最多 100 步。每个生成的子代理在最多 50 步的限制下运行
System Prompt
  • 原文内容如下
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    You are Kimi, a professional and meticulous expert in information collection and organization.
    You fully understand user needs, skillfully use various tools, and complete tasks with the highest efficiency.
    # Task Description
    After receiving users’ questions, you need to fully understand their needs and think about and plan how to complete the tasks efficiently and quickly.
    # Available Tools
    To help you complete tasks better and faster, I have provided you with the following tools:
    1. Search tool: You can use the search engine to retrieve information, supporting multiple queries in parallel.
    2. Browser tools: You can visit web links (web pages, PDFs, etc.), get page content, and perform interactions such as clicking, inputting, finding, and scrolling.
    3. Sub Agent tools:
    - ‘create_subagent‘: Create a new sub-agent with a unique name and clear, specific system prompt.
    - ‘assign_task‘: Delegate tasks to created sub-agents. Sub-agents can also use search and browser tools.
    4. Other tools: Including code execution (IPython, Shell).

GDPVal

  • 作者引用了 Artificial Analysis 的 GDPVal-AA 评估,表 4 中报告的分值反映了截至 2026 年 1 月 28 日的官方排行榜指标

附录 F:Visualization

  • 图 11 展示了作者的 Agent Swarm 处理一个具有挑战性的长形式视频理解任务:分析《黑神话:悟空》的完整通关流程(24 小时连续游戏过程,跨越 32 个视频,总计 40GB)
    • 该系统采用分层多代理架构,其中主代理 (Main Agent) 协调并行子代理 (Sub Agents) 独立处理各个视频片段
    • 每个子代理执行帧提取、时间事件分析和关键时刻识别(如 BOSS 战、升级)
    • 随后,主代理聚合这些分布式分析,合成一个包含时间线、嵌入视频剪辑和交互式可视化的综合性 HTML 展示
    • 此示例展示了系统通过并行化处理大规模多模态内容的能力,同时保持了连贯的长上下文理解
  • 图 12 展示了 Kimi K2.5 通过工具增强推理解决多样化视觉推理任务的定性示例;该模型展示了:
    • (1) 迷宫求解——处理二值图像分割并实现寻路算法(广度优先搜索)来导航复杂迷宫;
    • (2) 饼图分析——执行像素级颜色分割和几何计算以确定精确的面积比例;
    • (3) 找不同——采用计算机视觉技术检测图像对之间的像素级差异
    • 这些示例突出了该模型将复杂视觉问题分解为可执行代码、根据中间结果迭代优化策略以及通过定量视觉分析综合精确答案的能力

附录:Kimi-K2.5 博客内容(部分解读

  • 原始博客链接:Kimi K2.5: Visual Agentic Intelligence, 20260127
    • 注:博客先于技术报告发出
  • 博客中很多炫酷的图,强烈建议看原始博客
  • 博客自信的写道: Kimi K2.5 是迄今为止最强大的开源模型
  • Kimi K2.5 在 Kimi K2 的基础上,继续使用大约 15T 的混合视觉与文本 Token 进行预训练
    • 作为一个原生的多模态模型,K2.5 提供了最先进的编程和视觉能力,以及一个自我导向的智能体集群范式
  • 对于复杂任务,Kimi K2.5 能够自我导向地组织一个最多包含 100 个子智能体的集群,在最多 1500 次工具调用中执行并行工作流
    • 与单智能体设置相比,这可将执行时间缩短多达 4.5 倍
    • 该智能体集群由 Kimi K2.5 自动创建和编排,无需任何预定义的子智能体或工作流
  • Kimi K2.5 可通过 Kimi.com 网站、Kimi App、API 以及 Kimi Code 获得
    • Kimi.com 网站和 Kimi App 目前支持 4 种模式:K2.5 即时模式、K2.5 思考模式、K2.5 智能体模式和 K2.5 智能体集群模式(Beta)
    • 智能体集群功能目前在 Kimi.com 上处于测试阶段,高级付费用户可获得免费额度
  • 测评指标包括:
    • Agents:HLE-Full,BrowseComp,DeepSearchQA
    • Coding:SWE-Bench Verified,SWE-Bench Multilingual
    • Image:MMMU Pro:MathVision ,OmniDocBench 1.5
    • Video:VideoMMMU,LongVideoBench
  • 在三个智能体基准测试(HLE、BrowseComp 和 SWE-Verified) 中,Kimi K2.5 以极低的成本提供了强大的性能

Coding with Vision

  • Kimi K2.5 是迄今为止最强大的开源编程模型 ,在前端开发方面能力尤为突出
  • K2.5 可以将简单的对话转化为完整的前端界面,实现交互式布局和丰富的动画效果,例如滚动触发的特效
  • 以下是 K2.5 根据一个包含图像生成工具的提示词生成的示例:
  • 除了文本提示,K2.5 在视觉编程方面表现出色
    • 通过对图像和视频进行推理,K2.5 改进了图像/视频到代码的生成以及视觉调试,降低了用户通过视觉表达意图的门槛
  • 以下是 K2.5 根据视频重建网站的一个示例:
  • 这种能力源于大规模的视觉-文本联合预训练。在足够大的规模下,视觉能力和文本能力之间的权衡消失了——它们同步提升
  • 以下是 K2.5 对一个谜题进行推理并用代码 Token 最短路径的示例:
    • 示例详情见博客原文
  • K2.5 在现实世界的软件工程任务中表现出色。论文使用 Kimi Code Bench(论文内部的编程基准测试)对其进行评估,该测试涵盖了多样化的端到端任务,即从构建到调试、重构、测试和脚本编写,跨越多种编程语言
    • 在此基准测试中,K2.5 在不同任务类型上相比 K2 都显示出持续且有意义的改进
  • 要尝试 K2.5 的智能体编程能力,K2.5 智能体模式提供了一组预配置的工具,可进行即时、动手体验。对于软件工程用例,论文建议将 Kimi K2.5 与论文的新产品 Kimi Code 配合使用
  • Kimi Code 可在您的终端中运行,并可集成到各种 IDE 中,包括 VSCode、Cursor、Zed 等
    • Kimi Code 是开源的,支持图像和视频作为输入。它还能自动发现并迁移现有的技能和 MCP 到您在 Kimi Code 中的工作环境
  • 这是一个使用 Kimi Code 将马蒂斯的《舞蹈》的美学风格转化到 Kimi App 的示例
    • 这个演示突出了自主视觉调试方面的一个突破
    • 利用视觉输入和文档查阅,K2.5 能够视觉检查自己的输出并自主进行迭代
    • 它创建了一个从端到端完成的艺术灵感网页:
      • 详情见原博客

Agent Swarm,智能体集群

  • 横向扩展,而不仅仅是向上扩展 (Scaling Out, Not Just Up.)
    • 论文发布了 K2.5 智能体集群作为研究预览,标志着从单智能体扩展向自我导向、协调的集群式执行的转变
  • 通过并行智能体强化学习(Parallel-Agent Reinforcement Learning, PARL)训练,K2.5 学会了自我导向地组织一个最多包含 100 个子智能体的集群,在最多 1500 个协调步骤中执行并行工作流,而无需预定义角色或手工制作的工作流
  • PARL 使用一个可训练的组织器智能体将任务分解为可并行执行的子任务,每个子任务由动态实例化的、冻结的子智能体执行
    • 与顺序的智能体执行相比,并行运行这些子任务能显著降低端到端延迟
  • 训练一个可靠的并行组织器具有挑战性,因为来自独立运行的子智能体的反馈是延迟的、稀疏的且非平稳的
    • 一个常见的失败模式是序列崩溃 ,即组织器尽管具备并行能力,却退回到单智能体执行
    • 为了解决这个问题,PARL 采用了分阶段奖励塑造 ,在训练早期鼓励并行性,并逐渐将重点转向任务成功
  • To Be Continue …

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

注:本文包含 AI 辅助创作

  • 参考链接:
    • 技术报告链接:LongCat-Flash-Thinking-2601 Technical Report, 20260123, Meituan LongCat
    • 上一版技术报告链接:LongCat-Flash-Thinking Technical Report, 20250922, Meituan LongCat
    • 体验地址:longcat.ai
    • HuggingFace:huggingface.co/meituan-longcat/LongCat-Flash-Thinking-2601
    • GitHub:github.com/meituan-longcat/LongCat-Flash-Thinking-2601

Paper Summary

  • LongCat-Flash-Thinking-2601 是美团继 25年9月底 LongCat-Flash-Thinking 后的第二个推理模型
    • 统一的端到端训练流程训练,强调针对支持长程、交互驱动的智能体推理设计
    • 定位:560B-A26B(平均值),具备卓越 Agentic 推理能力的开源 MoE 推理模型,在 Agentic 搜索、Agentic 工具使用和工具集成推理上,均达到了开源模型中 Top 性能
  • LongCat-Flash-Thinking-2601 的核心创新如下:
    • (i) 一个可扩展的环境构建和多领域强化学习框架,能够稳定地习得可泛化的智能体技能
    • (ii) 一个鲁棒的智能体训练流程,通过基于课程的强化学习系统地纳入现实世界的环境噪声
    • (iii) 一种 Heavy Thinking 模式,通过联合扩展推理宽度和深度,实现有效的测试时推理扩展
  • 更详细的说明:
    • 为了优化长尾、偏态生成和多轮 Agentic 交互,并在横跨 20 多个领域的超过 10,000 个环境中实现稳定训练,作者系统地扩展了异步强化学习框架 DORA,以实现稳定高效的大规模多环境训练
    • 此外,认识到现实世界任务本质上是嘈杂的,作者对现实世界的噪声模式进行了系统性分析和分解,并设计了针对性的训练流程,明确地将此类不完美性纳入训练过程,从而提高了现实世界应用中的鲁棒性
    • 为了进一步提升复杂推理任务的性能,作者引入了 Heavy Thinking 模式 (Heavy Thinking mode),该模式通过密集的并行思考联合扩展推理深度和宽度,从而实现有效的测试时扩展

Introduction and Discussion

  • 最近的推理模型进展在数学和编程等复杂任务上取得了快速进步,在某些情况下甚至超越了顶尖人类专家 (DeepSeek-AI,2025,2025,Anthropic,2025,Google,2025)
  • 随之自然产生的下一个问题是:如何将这种复杂的问题解决能力应用于解决复杂的现实生活任务,以及如何将复杂的问题解决能力扩展到更广阔的范围?
    • 随着内在推理能力接近其极限,作者发现 与外部环境的交互成为推动进一步进步的关键机制 (MoonshotAI,2025,DeepSeek-AI,2025)
    • 从这个角度来看,Agentic 推理可以被理解为通过自适应地与外部环境交互来解决复杂问题的能力
  • 除了内部思考之外,高级的 Agentic 推理能力要求模型决定何时以及如何与环境交互,并有效地整合环境反馈以维持和推进推理过程
    • 通过这种方式,推理和交互自然地交织并相互增强,共同促成更通用、更强大的问题解决行为 (MiniMax,2025)
    • 然而,实现这种 Agentic 推理能力对现有模型和训练流程构成了重大挑战
    • Agentic 任务通常涉及长视野轨迹、异构环境和长尾交互动态,这对数据管理、环境构建、强化学习策略以及贯穿预训练到后训练阶段的系统级基础设施提出了新的要求
  • LongCat-Flash-Thinking-2601 是一个强大且高效的 MoE 推理模型
    • 总参数为 560B,平均每个 Token 激活参数为 27B,具备强大的 Agentic 推理能力
  • LongCat-Flash-Thinking-2601 的预训练大体遵循了 LongCat-Flash-Chat 的方案 (2025a),保留了原始数据分布以维持有竞争力的一般推理性能
  • 在此基础上,作者通过精心设计的 Mid-training 阶段进一步将模型扩展至大规模 Agentic 推理
    • 与传统推理相比,Agentic 行为通常涉及具有主动性工具调用的长视野轨迹
      • 但这种交互模式在现实世界语料库中极其稀缺,因为大部分数据主要由自然语言构成
    • 所以原始模型对 Agentic 交互动态大多不熟悉,导致在强化学习阶段探索效率低下
    • 为了解决这一挑战,作者在 Mid-training 中让模型接触中等规模的合成结构化 Agentic 轨迹,为 Agentic 推理行为提供了强有力的初始化
  • 在后训练中,作者专注于高效扩展强化学习计算以提高 Agentic 推理能力
    • 除了搜索和代码等特定 Agentic 场景外,作者进一步将跨任务和环境的泛化识别为高级 Agentic 行为的核心特征
      • 这种能力主要通过与多样化环境的交互获得,因此这些环境充当了学习场
    • 为此,作者设计了一个自动化环境扩展流程,以构建覆盖超过 20 个领域的复杂多样化环境,同时严格保持可执行性和可验证性
      • 由于所生成的环境在领域和难度上都表现出显著的异质性,对它们进行训练需要仔细协同设计训练策略和基础设施支持,以确保稳定有效的多领域环境学习
    • 为了在这种设置下支持大规模 Agentic 强化学习,作者扩展了多版本异步训练系统 DORA,以实现多达 32,000 个环境并发执行的可扩展且稳定的训练
    • 但泛化到现实世界设置仍然极具挑战性
      • 因为现实世界环境本质上 imperfect
    • 为了弥合理想化训练设置与现实世界部署之间的差距,作者系统分析了现实世界噪声,并设计了一个自动化流程,逐步将多类型、多级别的环境不完美性纳入多领域环境训练过程
  • 为了进一步将推理能力推至超越现有极限,LongCat-Flash-Thinking-2601 集成了一个 ** Heavy Thinking 模式 (Heavy Thinking Mode)** ,该模式能够实现有效的推理测试时扩展
    • 该模式将具有挑战性的问题解决分解为互补的阶段,共同扩展推理的宽度和深度,使模型能够探索多样化的解决路径,同时逐步完善其推理
    • 注意:这里为 Heavy Thinking Mode 引入了一个额外的强化学习阶段,以增强模型聚合和完善中间推理结果的能力,从而进一步提高有效性
  • 在保持一般推理基准测试强竞争力的同时,LongCat-Flash-Thinking-2601 在广泛的 Agentic 基准测试中取得了开源模型中 state-of-the-art 的性能,同时展现出对分布外现实世界 Agentic 场景的强大泛化能力
  • LongCat-Flash-Thinking-2601 在 BrowseComp 上达到 \(73.1%\),在 RWSearch 上达到 \(77.7%\),在 \(\tau^2\)-Bench 上达到 \(88.2%\),在 VitaBench 上达到 \(29.3%\),使其成为 Agentic 搜索和 Agentic 工具使用任务的领先开源模型
  • 作者的三个核心贡献:
    • 环境扩展与多领域环境训练 (Environment Scaling and Multi-Domain Environment Training)
      • 开发了一个可扩展的环境构建和任务生成框架,以产生大量高质量、可执行且可验证的 Agentic 环境
      • 在此基础上,作者扩展了异步强化学习基础设施,以支持稳定高效的多领域环境训练,从而能够在不同领域中学习到可泛化的 Agentic 技能
    • 嘈杂环境下的鲁棒 Agentic 训练 (Robust Agentic Training under Noisy Environments)
      • 为了解决现实世界环境固有的非理想性,作者系统分析了环境噪声的主要来源,并设计了一个自动化流程,将多类型、多级别的噪声注入训练环境
      • 采用基于课程 (curriculum-based) 的强化学习策略逐步增加噪声复杂性,从而在不完美条件下显著提高鲁棒性和性能
    • 用于测试时扩展的 Heavy Thinking 模式 (Heavy Thinking Mode for Test-Time Scaling)
      • 引入了 Heavy Thinking 模式,该模式通过联合扩展推理宽度和深度,实现有效的推理测试时扩展
      • 通过并行轨迹探索和迭代推理精炼,该模式进一步提升了在具有挑战性的推理和 Agentic 任务上的性能

Pre-Training

  • 作者的模型建立在 LongCat-Flash-Chat 的预训练方案之上 (2025a),继承了其数据分布以保留强大的通用语言和推理能力
  • 超越传统推理,Agentic 行为通常涉及具有主动性工具调用的长视野轨迹,这带来了两个额外的挑战:
    • (i) 对长上下文建模效率的需求大幅增加
    • (ii) 现实世界中大规模 Agentic 轨迹的稀缺性
  • 为了应对 Agentic 推理对长上下文的需求,作者采用了一个分阶段的 Mid-training 过程,逐步增加上下文长度,分配 500B 个 Token 给 32K/128K 阶段,并额外分配 40B 个 Token 给 256K 阶段
  • 由于如果没有已具备基本 Agentic 行为能力的模型,大规模强化学习本身通常是低效且不稳定的,因此作者选择在此阶段让模型接触中等规模的 Agentic 数据
    • 为了缓解现实世界 Agentic 轨迹的稀缺性,作者构建了一个混合数据合成流程来收集和构建 Agentic 训练数据
    • 此外,作者基于任何预训练检查点预测 Mid-training 阶段的最优超参数,这一设计专门旨在最小化寻找最佳配置的计算成本
  • 遵循原始的 Mid-training 方案以保留一般推理能力 (2025a, 2025),作者进一步用结构化 Agentic 轨迹 (2026) 增强数据分布
    • 由于大规模、高质量的 Agentic 数据(特别是涉及推理、规划和交互的长视野轨迹)极其稀缺,作者构建了一个混合数据合成框架来填补这一空白
  • 具体来说,作者的框架借鉴了两个互补来源:
    • 非结构化文本和可执行环境,分别对应文本驱动合成和环境驱动合成
      • 非结构化文本提供了广泛的语义和任务多样性
      • 可执行环境确保了逻辑一致性和可执行性
    • 为了显式加强规划能力(这是 Agentic 推理的一个核心组成部分,难以从现有数据中获取),作者进一步设计了一个专门的、以规划为中心的数据构建策略
  • 如图 2 所示,使用这种增强的 Mid-training 方案训练的模型展现出优越的 Agentic 能力边界,这体现在 \(\tau^2\)-Bench 上更大的 pass@k

Text-driven synthesis

  • 大规模文本语料库包含丰富的隐性过程知识,例如教程、指令和多步骤问题解决工作流
  • 作者利用这一特性,通过以下流程挖掘并将这些潜在过程重构成显式的 Agentic 交互轨迹:
    • 文本过滤与工具提取 (Text Filtering & Tool Extraction) :作者策略性地识别出展现丰富、多步骤工作流的文本片段
      • 从这些片段中,作者定义潜在函数并提取相应的函数调用列表,将隐式过程转化为显式的工具模式
    • 合成与精炼 (Synthesis & Refinement) :作者将抽象的工作流和原始文本转化为具体的、多轮次的用户-Agent 交互
      • 为了确保数据集的鲁棒性和广度,作者应用了广泛的 Agentic 模式多样性增强和严格的质量过滤,确保最终的轨迹覆盖各种交互场景和任务领域
  • 为了进一步提高合成轨迹的结构复杂性,作者应用了两种基于分解的增强:
    • 工具分解 (Tool Decomposition) :从简单的工具调用轨迹开始,作者迭代地将部分工具参数隐藏到环境中
      • 相应地,作者合成模型交互以提取这些参数,逐步构建更复杂的轨迹
    • 推理分解 (Reasoning Decomposition) :对于模型输出中的每个动作步骤,作者生成多个替代候选方案,并用这些替代方案替换原始动作
      • 然后作者合成模型推理步骤以选择最合适的候选,将轨迹转化为反映 Agent 跨多个步骤进行推理的决策过程

Environment-grounded synthesis

  • 除了文本衍生的轨迹,作者也直接从可执行环境构建 Agentic 数据,以保证逻辑正确性和执行一致性
  • 作者为收集的工具集实现轻量级 Python 环境,并通过受控的工具链采样和执行验证生成轨迹:
    • 环境构建与依赖建模 (Environment Construction & Dependency Modeling) :基于现有的工具定义,作者实现轻量级、可验证的 Python 环境
      • 作者显式地建模工具间的逻辑依赖关系,构建一个有向图,其中节点代表工具,边代表参数依赖
      • 这种结构使作者能够系统地采样不同复杂性和深度的工具调用链
    • 逆向合成与执行验证 (Reverse-Synthesis & Execution Verification) :作者从依赖图中采样有效的工具执行路径,并采用逆向工程方法合成与所选工具链相符的用户模拟器系统提示
      • 重点:通过执行代码并验证环境数据库的最终状态来验证每个轨迹的正确性
        • 这确保了合成数据基于实际执行逻辑

Planning-Oriented Data Augmentation

  • 作者观察到 Agentic 推理关键依赖于规划能力,该能力控制着模型如何分解复杂目标、探索替代方案并确定中间决策
    • 但这种以规划为中心的行为在现有数据中代表性不足,并且难以大规模获取
  • 为了在 Mid-training 中显式加强这种能力,作者设计了一种针对性的数据构建策略,将现有轨迹转化为以规划为中心的决策过程
    • 第一类数据专注于合成有效的问题分解轨迹,并配对正确的初始动作选择,为从粗到细的规划和早期决策制定提供监督
    • 第二类数据从完整的交互轨迹开始,通过在每个决策步骤生成多个替代候选方案来进一步丰富它们
    • 然后训练模型对这些候选方案进行推理和选择,将原本线性的轨迹转化为结构化的多步骤决策过程

Scaling Reinforcement Learning

  • 通过强化学习进行后训练已成为激发更强推理能力的主要方法
  • 遵循 LongCat-Flash-Thinking (2025b),作者采用了一个统一的多领域后训练流程,其中领域专家模型首先在一个共享框架下训练,然后通过模型级和数据级合并整合为一个通用模型
  • 具有智能体(agentic)推理能力的强化学习需要:
    • (i) 精心准备的训练设置,包括可扩展的环境构建、高质量的冷启动数据和良好校准的 RL 任务集;
    • (ii) 一个能够维持高吞吐量、异步、长尾的多轮 Rollout 的专用基础设施;
    • (iii) 能够在异构领域和不同难度级别下保持稳定和有效的专用训练策略
  • 本节将介绍一个系统性流程,以应对这些挑战并实现可扩展的智能体强化学习
  • 图 3:可执行领域图的自动化构建
    • 从高层领域规范开始,该流程合成领域特定工具,生成相应的数据库模式和工具模式实现
    • 在此基础上,作者构建一个经过验证的工具依赖图,作为环境扩展的基础

RL Preparation

  • 在进行大规模强化学习之前,需要几个必要的准备步骤
  • 标准强化学习依赖于两个核心组件:
    • (i) 一个展现了基本任务相关行为的、良好初始化的策略(policy);
    • (ii) 一个能够实现稳定有效学习的、有原则的训练任务集
    • 除了这些共享组件之外,智能体强化学习还需要一个可靠且可扩展的环境基础来支持长视野、交互驱动的训练
Environment
  • 传统推理在很大程度上是无环境的,主要在内部语言空间内运作
  • 环境是智能体系统的一个决定性组成部分,因为它们直接决定了智能体能够感知什么、如何与外部系统交互以及在世界上哪些动作是可执行的
  • 作者特别介绍了智能体任务中两种特别具有挑战性的环境类型:智能体编码和智能体工具使用
Code Sandbox
  • 对于每个编码任务,智能体必须在可执行的代码沙箱中操作,并实时与各种终端工具交互
  • 这种设置带来了两个主要挑战:
    • 需要高效的大规模资源调度
    • 工具和执行环境的异构性
  • 在大规模训练中,沙箱系统必须同时确保灵活性和鲁棒性
  • 为了解决这些挑战,作者设计了一个可扩展的执行沙箱系统,提供统一的工具接口和高吞吐量的交互
    • 为了处理现实世界代码执行设置的异构性,作者将常用工具(包括搜索、文件读写、代码编辑和 shell 执行)整合到一个标准化的环境接口中
    • 为了进一步支持大规模训练,作者实现了一个高并发沙箱调度器,异步地供应和回收沙箱实例,将任务分配给工作节点,并并行执行数千个沙箱,从而消除了环境启动和阻塞开销对关键训练路径的影响
Agentic Tool-Use Environment
  • 高级智能体推理能力的核心特征是泛化性,即在已知环境中获得有效行为并将其可靠地迁移到先前未见过的环境中的能力
  • 为了训练这种泛化的智能体,作者认为可迁移的智能体推理能力应源于接触多样化的工具集和交互模式
    • 虽然设计一个能够完全捕捉现实世界工具使用复杂性的单一元环境是不可行的,但作者发现一个足够多样化的环境集合可以提供一个基础,从而实现可迁移和可泛化的工具使用行为
    • 然而,在实践中,构建这样的环境存在不小的挑战,因为不同领域对交互接口、执行机制和评估标准提出了不同的要求
  • 作者设计了一个完全自动化的流程,将高层领域规范转换为可执行图
    • 如图 3 所示,该流程从领域定义中合成领域特定工具集,并将它们的功能抽象为具有明确工具-数据库映射的统一数据库模式
    • 基于这个模式级规范,它然后自动生成数据库实现和相应的工具代码
      • 为了确保正确性和鲁棒性,生成的代码通过单元测试和辅助调试智能体进行验证
      • 在实践中,该流程在将模式级设计转换为完全可执行的工具实现方面,成功率超过 \(95%\)
    • 最后,作者从经过验证的工具集构建工具依赖图,作为后续环境构建和扩展的基础
  • 使用作者的自动化流程,作者构建了一个涵盖超过20个领域的领域特定工具图集合 \(\mathcal{G}\)
    • 每个工具图 \(G \in \mathcal{G}\) 包含超过60个工具,这些工具组织在一个密集的依赖图中,并配有相应的可执行、工具特定的数据库模式实现,为大规模探索和多样化环境构建提供了足够的结构复杂度
  • 接下来,作者介绍基于领域图构建可执行环境的流程
    • 给定一个领域特定的工具图 \(G\),作者首先从中采样一个中等规模的工具链 \(s_1 \subset G\)
    • 先前选择的工具的采样概率会逐渐降低,以促进任务多样性
    • 对于 \(s_1\) 中的每个工具,作者顺序实例化相应的数据库状态,确保所有所需的工具依赖关系都得到完全满足
    • 在构建了与工具关联的数据库之后,作者自动生成一个基于此工具链的任务
    • 采样的 \(s_1\) 作为生成任务的可执行工具链
    • 为了减轻潜在的人工先验偏见,任务生成器被限制为仅使用完整的工具链,而没有任何刻意的任务设计
    • 具体来说,每个生成的任务包含三个部分:
      • (i) 任务描述
      • (ii) 用户画像
      • (iii) 评估标准 (Evaluation Rubrics)
    • 为了确保可靠的监督,评估标准通过多轮一致性检查进行验证,保证任何可执行工具链都能被接受为正确解决方案,并且不正确或不完整的轨迹会被一致地拒绝
  • 作者注意到任务难度来自两个互补的方面:交互复杂性和环境复杂性
    • 交互复杂性通过合成多样化的用户提示 (prompts) 来保证,这些提示需要不同程度的澄清、规划和多步交互,鼓励模型进行丰富且自适应的智能体行为
    • 环境复杂性使用底层工具图的结构特性来量化,包括涉及的工具节点数量以及它们之间的连接密度
  • 增加环境复杂性的自然方法是通过从 \(G\) 中引入额外的工具节点,将初始工具链 \(s_1\) 扩展为一个更大的子图 \(\mathcal{R}(s_1)\),同时维护它们的数据库实例
    • 值得注意的是,在此扩展之后,生成的环境可能还包含多个有效的可执行工具链
    • 然而,随着子图的增长,维护跨工具的数据库一致性变得越来越具有挑战性
    • 特别是,由于工具依赖图施加的约束,不受控制地引入额外的工具节点可能触发一系列先前未满足的依赖关系,需要大量的数据库扩充和维护大量辅助工具节点
    • 一旦在这种扩展下数据库状态变得不一致,工具调用可能产生不可预测的结果,导致即使有效的工具轨迹也执行失败
    • 这可能导致正确的解决方案被错误地判定为失败,从而在训练中引入有偏差的负奖励
    • 为了缓解这个问题,作者不是盲目地注入随机工具,而是通过扩展可执行工具链来扩展环境
    • 具体来说,从 \(s_1\) 开始,作者在工具图上执行广度优先搜索 (BFS) 风格的扩展,并且仅当一个新工具节点的所有依赖项都已由先前实例化的工具(其数据库状态已被完全构建)满足时,才添加该节点。这种受控的扩展策略使作者能够在保持可执行性和可靠监督的同时,逐步增加环境复杂性
  • 通过这种受控的图扩展,作者将 \(s_{1}\) 扩展为一个更复杂的子图 \(\mathcal{R}(s_{1})\)
    • 作者将生成的环境表示为 \(\mathcal{E}_{1} = \mathcal{R}(s_{1})\)
    • 令 \(\mathcal{D}_{1} = G\backslash \mathcal{E}_{1}\) 表示对于 \(\mathcal{E}_{1}\) 剩余的未使用工具节点
    • 一个进一步的设计选择是是否初始化另一个种子可执行工具链 \(s_{2}\subseteq \mathcal{D}_{1}\),并将其扩展为 \(\mathcal{R}(s_{2})\) 来构造环境:
      $$\mathcal{E}_2 = \mathcal{R}(s_1)\bigcup \mathcal{R}(s_2),$$
  • 这进一步增加了环境复杂性,作者基于以下因素做出这个决定:
    • (i) 当前环境的结构复杂度 \(c(\mathcal{E}_1)\)
    • (ii) 从剩余图中识别新有效工具链的难度 \(g(\mathcal{D}_1)\)
    • (iii) 剩余未使用节点的数量 \(|\mathcal{D}_1|\)
  • 具体来说,给定当前环境:
    $$\mathcal{E}_n = \bigcup_{i = 1}^n\mathcal{R}(s_i),$$
  • 作者将剩余未使用的工具集定义为 \(\mathcal{D}_n = G\backslash \mathcal{E}_n\),并以概率从 \(\mathcal{D}_n\) 中采样一个新的种子链 \(s_{n + 1}\):
    $$p = f(c(\mathcal{E}_n),g(\mathcal{D}_n),|\mathcal{D}_n|),$$
    • 其中 \(g(\mathcal{D}_n)\) 通过一个强大的求解器从 \(\mathcal{D}_n\) 中发现一个替代有效工具链所需的尝试次数来度量,而 \(f(\cdot)\) 是一个单调决策函数,控制环境增长过程
    • 在实践中,当 \(p > \tau\) 时,其中 \(\tau\) 是预定义的阈值,作者从 \(\mathcal{D}_n\) 初始化一个新的种子黄金工具链 \(s_{n + 1}\),并将其扩展为 \(\mathcal{R}(s_{n + 1})\)
  • 为了确保最低水平的环境复杂性,作者进一步引入了回退机制
    • 如果生成的扩展 \(\mathcal{E}_n\) 仅包含少量工具节点,作者从 \(G\) 中随机采样一个中等大小的额外工具链,并将其合并到环境中,同时确保数据库与当前工具链的一致性
    • 这保证了每个构建的环境至少包含20个工具,为有意义的智能体交互和探索提供了足够的结构复杂性
    • 这种自动环境构建策略使作者能够在保持可靠监督信号的同时,逐步扩展环境复杂性,从而实现稳定有效的大规模智能体强化学习
Initial Policy
  • 冷启动阶段在初始化后续强化学习阶段的策略方面起着关键作用
    • 冷启动的主要目标不是优先考虑在标准基准测试上的即时收益,而是为有效的大规模探索做好准备
  • 高质量的冷启动策略必须展现出多样化的推理模式和稳定的交互格式,确保后续的 RL 阶段可以高效进行,同时保留通用思维能力
    • 因此,作者从更根本的角度评估冷启动模型,重点关注以下两个方面:
      • (1) 其在 RL 阶段指定任务上的熟练程度
      • (2) 通过人工定性检查评估的其推理路径的多样性
    • 虽然作者报告标准基准测试上的 pass@k 性能以衡量基础推理能力,但这仅作为参考,而非主要优化目标
  • 冷启动训练的一个主要挑战在于构建高质量的数据,这些数据能有效引导模型产生智能体行为
    • 对于某些领域,如数学、通用编码和智能体代码任务,现实世界中存在大规模数据源
      • 在这些情况下,作者从现有来源中收集和组装轨迹,核心挑战在于严格的质量控制和可执行性验证
    • 然而,对于大多数智能体任务,如搜索和工具使用,高质量的实境轨迹基本上是不可用的
      • 因此,作者依赖于精心设计的数据合成流程来构建冷启动轨迹
    • 接下来作者将详细描述如何针对不同的智能体能力实例化这两种互补的策略
General Thinking
  • 智能体能力需要强大的思考能力作为基础,作者设计了一个严格的数据过滤流程来构建高质量的 通用思考数据
  • 具体来说,作者采用了一种由困惑度 (Perplexity, PPL) 引导的 K-Center-Greedy (KCG) 选择算法 (2018; 2023; 2023)
    • 现有的基于 PPL 的过滤方法要么忽略序列长度,要么对整个序列平均 PPL (2025; 2025b),这 会掩盖局部困难 Token 并丢弃信息丰富的样本
    • 为了解决这个问题,作者引入了滑动窗口 PPL,它计算序列中所有 512-Token 窗口的平均 PPL 的最大值 ,从而捕捉模型的峰值不确定性,而不会被全局平均所稀释
      • 理解:
        • 对于一个模型来说(作者指待训练模型),PPL 约小说明拟合的越好,PPL 越大,说明信息量越多;
        • 部分子序列上的 PPL 差异可能是很大的,所以 子序列 PPL 很大时,值得留下来,故而做了一个加权
  • 在 KCG 选择期间,作者根据 候选样本的滑动窗口 PPL 分数来加权 它与当前已选集合之间的距离
    • 这种设计同时捕获了两个互补的目标:KCG 保留了对原始数据分布的覆盖 ,而滑动窗口 PPL 则强调了暴露模型当前推理能力差距的样本
    • 使用这个流程,作者从一个大语料库中下采样了 210K 个通用思考样本
  • 在此子集上训练的模型在多个推理基准测试中优于在全语料库上训练的模型
  • General Thinking 的补充:
    • 核心:这是一种结合 K-Center-Greedy (KCG) 算法和 滑动窗口困惑度(Sliding-Window PPL) 的数据选择策略。具体步骤如下:
    • 滑动窗口困惑度计算
      • 对于一个长度为 \( L \) 的文本序列,定义滑动窗口大小为 512 个 token,计算每个窗口内的平均困惑度(PPL),并取所有窗口中的最大值作为该样本的“滑动窗口困惑度”:
        $$
        \text{PPL}_{\text{slide} }(s) = \max_{i=1}^{L-511} \frac{1}{512} \sum_{t=i}^{i+511} -\log P(w_t \mid w_{ < t})
        $$
        • 其中 \( P(w_t \mid w_{ < t}) \) 是模型在给定前文条件下预测当前 token 的概率
    • K-Center-Greedy 选择算法
      • 在 KCG 选择过程中,每个候选样本 \( s \) 与当前已选集合 \( S \) 的距离由滑动窗口困惑度加权:
        $$
        \text{dist}_{\text{weighted} }(s, S) = \text{PPL}_{\text{slide} }(s) \times \min_{s’ \in S} d(s, s’)
        $$
        • 其中 \( d(s, s’) \) 是样本间的表示距离(比如通过 Sentence-BERT 编码的余弦距离)
    • 选择目标
      • KCG 算法选择能够最大化覆盖原始数据分布的样本,而 滑动窗口困惑度 则 强调那些当前模型在局部推理上存在困难的样本 ,两者的结合实现了:
        • 分布覆盖(Diversity)
        • 困难样本挖掘(Difficulty-Aware Selection)
      • 该方法从大规模语料库中筛选出 210K 条高质量通用推理样本,显著提升了推理任务的性能
    • 注意:在 LongCat 报告中提到的 滑动窗口 PPL 是基于 正在被训练的 LongCat-Flash-Thinking-2601 模型自身 来计算的,而不是外部模型
      • 1)模型自身对候选样本进行前向推理
      • 2)计算每个 512 token 窗口内的平均负对数似然(即局部 PPL)
      • 3)取所有窗口中的 最大值 作为该样本的“滑动窗口 PPL”
      • 目的:用当前模型自身的困惑度峰值来标识“局部推理困难”的样本,从而在 KCG 采样时给予更高权重,实现困难感知的数据选择
Agentic Coding
  • 对于智能体编码任务,大规模的软件开发平台提供了丰富的实境轨迹来源
    • 但从这些来源收集的原始轨迹通常是有噪声的、部分错误的或不可复现的 ,确保它们的可靠性和可执行性成为一个关键挑战
  • 为了解决这个问题,作者为*代码交互轨迹 *构建了一个严格的筛选流程
    • 作者要求所有保留的轨迹在可复现的环境中都是完全可执行和可验证的 ,并且 只保留那些在保留现有功能的同时正确解决了目标问题的轨迹
    • 为了进一步避免学习到虚假行为,作者应用了 细粒度的动作级过滤,移除错误的、冗余的或推测性操作(speculative operations,即对正确解决问题无益的)
    • 为了保留在实际调试过程中常见的长期推理模式,作者通过压缩早期步骤,保留涉及长且迭代调试的轨迹,从而在没有长度约束的情况下保持长期代码推理
Agentic Search
  • 对于智能体搜索能力,构建高质量的轨迹需要显式地建模多步证据收集和完整条件验证,同时避免基于部分信息的虚假捷径
    • 这种结构化的推理轨迹在现实世界的搜索日志中很少见
  • 作者构建了合成的推理轨迹,这些轨迹优先考虑正确性、推理完整性以及针对捷径行为的鲁棒性
    • 作者应用严格的过滤来确保轨迹质量,移除琐碎案例,并强制使用一致的推理和工具使用格式
    • 为了避免捷径学习,例如基于部分证据的幸运猜测,作者要求轨迹包含对 Query 中指定的所有条件的显式验证
    • 作者通过压缩早期步骤,进一步保留了涉及长且迭代探索的轨迹,从而在没有长度约束的情况下保留长期推理
    • 作者通过重用后续强化学习阶段中的 Rollout 轨迹来扩展数据收集并增加行为多样性
Agentic Tool-Use
  • 对于智能体通用工具使用能力,主要挑战在于对跨异构工具和数据库(具有不同模式和依赖结构)的复杂、有状态的交互进行建模
    • 这样的环境和交互轨迹也难以从现实世界来源获得或标准化
  • 作者在环境扩展流程之上构建了一个可扩展的数据合成流程
    • 通过联合定义领域(jointly defining domains)、工具模式、数据库状态和任务目标,并在结构化工具依赖关系的基础上生成多步任务,以模拟覆盖 33 个代表性领域的现实工具使用环境
    • 了确保多样性,作者明确地在三个方面促进可变性:领域覆盖范围、轨迹结构和交互长度
      • 每个任务允许多种不同的正确工具调用轨迹,交互范围从短对话到长多轮执行,涵盖了广泛的任务难度和行为模式
    • 为了确保数据质量,所有合成的轨迹都使用基于标准 (Rubric-based) 的结果验证和轮次级质量控制进行严格过滤
      • 只有正确达到目标最终状态的轨迹才会被保留
    • 在这些轨迹中,作者应用 Turn-level 损失掩码 ,从损失计算中排除低质量的轮次(例如失败的工具调用或格式违规),确保模型只从正确的动作中学习,同时保留完整的交互上下文
RL Task Set
  • 在强化学习中,环境定义了智能体可以做什么,而任务集则决定了智能体被训练去做什么
    • 它们共同塑造了智能体如何探索环境、分配计算并通过重复 Rollout 来改进其策略
  • 一个设计良好的任务集应该既有信息量又有适当的复杂度 ,以便它能够提供有效的学习信号,而不会过于琐碎或难以解决
  • 常见的做法是首先构建一个多样化的环境集合,并配以跨多个领域和难度级别的任务指令,然后通过评估模型的通过率来评估任务的适用性
    • 基于这个信号,选择那些既非轻易可解决也非极其困难的任务用于强化学习
  • 但不同领域的训练任务可用性差异很大
    • 对于一些领域,如编码,已经存在大量复杂且高质量的任务,可以直接收集和整理
    • 对于智能体搜索和工具使用等领域,合适的任务稀缺或不存在现成可用的形式,使得直接收集不足
    • 作者引入了有原则的合成流程(principled synthesis pipelines),为智能体搜索和工具使用场景构建涵盖多种复杂级别的任务集
Agentic Search
  • 作者确定了表征搜索问题的两个基本难度因素:
    • (i) 对关系实体链的多跳推理
    • (ii) 在多个模糊约束下对单个实体的推理
    • 大多数复杂的搜索任务可以看作是这两个因素的组合或迭代细化
  • Graph-based QA Synthesis :
    • 为了建模多跳推理难度,作者通过一个系统性流程构建基于图的 Question-Answer 任务,该流程从维基百科实体构建关系图并生成具有挑战性的推理问题
      • 首先从维基百科中提取低频实体作为初始种子节点,然后通过从现有实体集中采样、检索它们的维基百科页面,并结合相关实体及其对应关系,迭代扩展图,直到达到预定义的大小阈值
      • 图构建完成后,采样多个固定大小的连通子图,并用它们生成 Question-Answer 对
        • 在问题生成过程中,作者利用大语言模型创建与子图信息对应的问题,然后故意混淆显式细节,如数值、实体名称、地理位置和时间 Token ,以最大化推理复杂性
        • 为了确保整个流程的质量和正确性,作者在关键步骤(包括实体关系提取、问题生成和混淆)采用 LLM-as-a-judge 方法以保持基准准确性
      • 最后,对于每个生成的 Question-Answer 对,作者利用基于智能体的方法来识别其他潜在正确答案并评估其有效性,只保留那些原始答案正确且所有其他识别的潜在答案都不正确的配对
  • Agent-based QA Synthesis :
    • 为了建模由模糊性驱动的难度,作者提出了一个可扩展、高效的数据合成流程,其中多智能体协作交互由有限状态机 (FSM) 编排
    • 在此框架内,一个实体提取智能体识别代表性的长尾实体并提取其显著属性,作为合成问题的基础事实
      • 一个问题合成智能体利用这些属性的随机抽样来制定定制化问题
      • 为了确保精确性,一个验证智能体利用搜索和浏览工具严格验证基础事实是否满足问题中指定的所有约束,从而减轻实体-问题不匹配的风险
    • 对于每个经过验证的问题,答案生成智能体利用搜索和浏览工具生成候选答案
    • 判断智能体评估这些候选答案与预定义基础事实之间的一致性
      • 当判断智能体识别出一个非基础事实但仍满足验证标准的答案时,它表示存在多答案冲突
      • 为了解决这个问题,系统会随机加入基础事实实体的额外属性,并触发问题重新合成,以确保其唯一性
    • 该流程促进了跨多个领域多样化、高质量的问答对的高吞吐量生成
    • 此外,它还实现了一个基于答案生成智能体准确性指标的自动难度分级机制
Agentic Tool-Use
  • 对于智能体工具使用,作者的任务集直接通过第 3.1.1 节描述的环境扩展流程构建
  • 每个合成的环境自然地定义了一个独立的任务,而这样的环境集合构成了最终的任务集

Scalable Asynchronous Agentic RL Framework

  • 与标准推理任务等单轮场景相比,智能体训练涉及与可变环境 (ENV) 或工具的多轮交互,这对强化学习基础设施提出了新的挑战
  • 在典型的多轮 Rollout 阶段,它反复交错进行 LLM 生成、环境执行和奖励评估,以构建用于强化学习训练的最终轨迹
    • 在这种情况下,轨迹不仅具有长尾分布且偏斜,还涉及不可预测和延迟不均衡的环境交互,这导致在批处理设置下设备利用率不足 (2025; 2025c; 2025a)
  • 此外,作者的生产集群由中端加速器组成,特别是仅有大约 60GB 的可用设备内存
    • 硬件约束及其软件生态系统对实现稳定且可扩展的智能体强化学习训练构成了重大挑战
  • 为了解决这些问题,作者扩展了作者的多版本异步训练系统 DORA (Dynamic ORchestration for Asynchronous Rollout) (2025c),以全面支持多轮智能体场景下的大规模强化学习训练
  • 如图 5 所示,作者的控制器采用生产者-消费者架构,包括 RolloutManager(管理 Rollout 阶段)、SampleQueue(控制样本陈旧度)和 Trainer(管理 Experience-Maker 和训练阶段)
    • 这些组件运行在不同的节点上,主要负责通过远程过程调用 (RPC) 进行逻辑控制和协调,而在 CPU 或加速器上运行的 Worker 执行实际任务
  • 作者提出了几项关键技术,以实现高效、可扩展且稳定的智能体强化学习训练
    • 全流式异步 Pipeline (Fully Streaming Asynchronous Pipeline)
      • 为了最小化智能体设置下的设备闲置时间,作者基于流式 RPC (2025c) 引入了全流式异步 Pipeline ,既在 Rollout 过程内部,也在 Rollout 和训练之间
      • 在 RolloutManager 内的 Rollout 循环中,作者移除了批处理屏障,使 LLM 生成、环境执行和奖励计算能够在远程 Worker 上以单个样本的粒度执行
        • 这防止了加速器在等待批处理 ENV 调用完成时闲置
      • 为了进一步解决训练稳定性与长尾生成问题,作者的 DORA 系统支持多版本异步训练,由不同模型版本生成的轨迹在完成后会立即入队
      • 在一个步骤内,作者的多版本生成实例继续使用多个先前的模型版本进行 Rollout,而 Trainer 可以在满足其条件时立即启动训练,或者在训练设备闲置时弹性扩展额外的生成实例以获得免费的额外吞吐量
    • 扩展至大规模智能体训练 (Scaling to Large-scale Agentic Training)
      • 作者的算法设置需要大量环境,例如,多达 32,000 个环境在大约 400 台物理机器上运行,涉及数千个加速器
      • 然而,这些环境之间的密集交互在横向扩展时会导致 RolloutManager 出现单机瓶颈,因为每次交互通常只涉及少量 CPU 操作
      • 为了解决这个问题
        • 首先,将原始设计分解为一个轻量级 RolloutManager(管理全局控制元数据)和多个 RolloutController(每个都以数据并行方式管理一个虚拟 Rollout 组的生命周期)
          • 一个虚拟 Rollout 组由多个轨迹和相关的物理机器(包括生成实例和环境实例)组成
        • 然后,为了在作者的生产作业中灵活调度大规模环境,作者扩展了 PyTorch RPC 框架 (2023),以提供 CPU-空闲感知的远程函数调用和对象实例化
          • 此扩展允许在任意或空闲的机器上实例化和执行远程环境,从而实现大规模环境的高效部署
    • 带有 CPU 交换的预填充-解码分离 (PD Disaggregation with CPU Swapping)
      • 为了在作者的加速器上高效生成拥有 560B 参数的 MoE 模型 LongCat-Flash-Thinking-2601,作者在解码时采用了高度的专家并行以及图级编译
      • 但在多轮智能体训练中,频繁到来的长上下文请求会导致专家并行组内的工作负载不均衡:分配给较长上下文的 rank 消耗不成比例的计算和通信带宽,成为性能瓶颈
        • 理解:较长上下文的机器需要更多的计算资源和通信带宽
      • 为了解决这个问题,作者在强化学习训练中引入了预填充-解码 (Prefill-Decode, PD) 分离 (2024; 2024),如图 6 所示
        • 对于生成实例,作者在不同的设备组上部署预填充节点和解码节点,允许解码执行图在不被新到达请求的预填充工作负载中断的情况下运行
          • 这防止了生成效率的下降,并在多轮 Rollout 期间保持了高吞吐量
        • 但PD 分离引入了额外的挑战,包括 KV 缓存传输开销以及当解码节点上的设备上 KV 缓存不足时(特别是在作者的加速器上)昂贵的重新计算开销
        • 为了缓解 KV 缓存传输成本,作者在块级别聚合 KV 缓存块,并启用 PD 节点之间的异步传输
      • 作者呢允许 之前块与后续块的计算重叠,以最小化 KV-cache 传输的开销
        • 为了避免由于设备上 KV-cache 内存不足导致的重计算,作者进一步引入了 驻留于 CPU 的 KV-cache,它能根据需要动态地换入和换出 KV-cache 块
          • 这一设计消除了因设备上 KV-cache 容量不足而导致的重计算开销,并有助于在我们的加速器上维持高吞吐量
  • 总体而言,作者的 agentic RL 训练框架在 560B 模型上实现了工业规模的强大性能和稳定性,支持数以万计的加速器和环境
    • 根据生产作业的运行时统计,我们的请求负载率在整個 rollout 过程中大约为 63%
      • 这一指标量化了长尾请求对生成吞吐量的影响,数值越高表示利用率越好
    • 在训练期间没有达到完全的请求负载率
      • 因为作者限制新请求使用较旧的模型版本,以控制平均陈旧性,这牺牲了一定的效率
      • 此外,在可能包含多次负载均衡操作的单个步骤内,作者采用了两阶段策略:在首次负载均衡之前的初始 rollout 阶段,当没有长尾生成时,允许每个设备有较高的请求数(例如 8 个),随后将每个设备的请求数限制在一个最优水平(例如 4 个),以避免重计算并提高生成效率
    • 未来,作者计划采用更乐观的陈旧性控制策略,并探索对陈旧性敏感的稳定性技术,以实现更高效的异步训练
      • 总之,作者的多版本异步训练系统 DORA,在涵盖不同场景的生产作业中,比同步训练快 2 到 4 倍

RL Training Strategy

  • 强化学习已成为持续提升模型推理能力的核心机制,传统上,RL 训练策略主要侧重于在相对同质的任务分布和单步 rollout 下,稳定策略优化、提高样本效率以及管理探索-利用权衡
    • 在这些设置中,任务难度差异可能很大,导致训练样本的学习价值高度不平衡
  • 除了课程学习,作者在每个训练步骤内动态分配 rollout 预算,以有效利用有限的计算和训练时间预算,将学习资源集中在高价值的任务上
    • 为了进一步提高训练效果,我们还将验证 (verification) 建模为辅助任务,以支持生成并加速优化
  • 当扩展到 agentic 设置时,强化学习面临着由多轮交互和不可预测的环境反馈所带来的新挑战,这对模型的有效上下文长度提出了严格的要求
    • 为了解决这个问题,作者引入了一种 上下文管理 (context management) 策略,使模型能够在有限的上下文窗口下支持长视界轨迹,同时保留最具信息量的上下文
  • 当进一步扩展到 agentic 工具使用场景时,训练问题变得更具挑战性,如前所述, 泛化性和鲁棒性 在此设置中尤为重要
    • 为了促进泛化性,agentic 工具使用环境来自作者的环境扩展 (environment scaling) 流程
      • 单个批次中的任务可能跨越不同领域的异构环境,这加剧了训练的不稳定性和不平衡性
      • 通过精心协同设计训练策略和基础设施支持,作者大规模地执行了高效且稳定的 多领域环境训练 (multi-domain environment training)
    • 泛化到现实世界设置仍然具有挑战性,因为现实世界环境本身是不完美的
      • 为了提高鲁棒性,我们明确地将环境不完美性纳入训练过程,使模型能够在非理想条件下学习具有韧性的行为
    • 这些设计共同形成了一个统一的训练策略,能够实现稳定、高效且可扩展的 agentic 强化学习
General Training Strategy
  • 在大规模强化学习中,训练集涵盖难度差异很大的任务
    • 对所有任务进行朴素的均匀处理通常会导致学习效率低下
  • 作者设计了一套应用于作者所有强化学习方案的训练策略
    • 具体来说,引入 课程学习 (curriculum learning) 以逐步增加任务难度,应用 动态预算分配 (dynamic budget allocation) 以将计算集中在当前模型状态下信息量最大的任务上
    • 作者还将 自验证 (self-verification) 作为辅助任务纳入,以进一步提高优化效率和效果
Training Objective
  • 采用 组序列策略优化 (Group Sequence Policy Optimization, GSPO) 作为训练目标,因为它在 MoE 模型上的经验有效性,并为长视界 agentic 轨迹提供了更稳定的序列级优化
  • 给定一个输入 \(x\),作者从旧策略 \(\pi_{\theta_{\mathrm{old} } }\) 采样一组 \(G\) 个轨迹 \(\{y_{i}\}_{i = 1}^{G}\) 并优化:
    $$\mathcal{J}_{\mathrm{GSPO} }(\theta) = \mathbb{E}_{x\sim \mathcal{D},\{y_{i}\}_{i = 1}^{G}\sim \pi_{\theta_{\mathrm{old} } }(\cdot |x)}\left[\frac{1}{G}\sum_{i = 1}^{G}\min \left(s_{i}(\theta)\hat{A}_{i},\mathrm{clip}(s_{i}(\theta),1 - \epsilon ,1 + \epsilon)\hat{A}_{i}\right)\right], \quad (1)$$
    • 其中 \(\epsilon\) 是裁剪阈值
    • 遵循 Zheng 等人 (2025) 的工作,作者采用基于组 (group-based) 的优势估计,并基于归一化似然在序列级别定义重要性比率 \(s_{i}(\theta)\)
    • 作者主要依赖结果导向的监督 ,并放宽对长轨迹的惩罚 ,允许在训练过程中自然地出现有效的策略
Curriculum Learning
  • 为了提高学习效果,作者采用了一种课程学习策略,逐步构建训练过程
  • 具体来说,作者的课程沿着两个互补的轴组织:任务难度和能力需求
    • 任务难度 使用 在优化前估计的模型通过率 来量化,其中较低的通过率表示更具挑战性的任务
    • 根据任务主要调用的 智能体能力 (如基本工具调用、多步规划或自主决策)来表征任务
      • 理解:这里不同任务需要的智能体能力侧重是不一样的
  • Curriculum Learning Pipeline:
    • 在早期训练阶段,作者优先考虑那些更容易学习的任务 ,或者 优先考虑那些暴露了智能体在解决更难任务时预计会自主重用的能力的任务
    • 随着训练的进行,作者逐渐转向那些难度更大且需要更高级智能体能力组合的任务
  • 这种二维课程使模型能够首先获得可重用的智能体技能,然后组合它们来解决日益复杂的问题
    • 经验表明,这种课程策略提高了整体任务通过率,并在最具挑战性的任务上产生了特别显著的收益
    • 作者在智能体设置下的分析表明,这些改进源于三个主要因素:
      • 工具使用泛化 (Tool-use generalization) :从较简单任务(如工具选择和约束处理)中获得的技能能有效地迁移到更复杂的场景,显著减少了工具调用失败
      • 交互效率 (Interaction efficiency) :对任务指令的更好理解使得内部推理更加彻底,减少了冗余的澄清或不必要的工具调用,从而减少了交互轮次
      • 规划能力 (Planning capability) :对多个约束(如时间、地点和实体)的增强联合推理使得任务能够以更少的纠正迭代更直接地完成
Dynamic Budget Allocation
  • 作者在训练批次内进一步应用动态预算分配,以 优先考虑在当前模型状态下提供更高学习价值的任务
  • 作者观察到, 难度与模型当前能力相匹配的任务在固定的 Rollout 预算下会产生显著更高的学习收益
    • 现有的大规模强化学习流程通常为所有任务分配统一的 Rollout 预算
    • 最近的研究开始探索自适应 Rollout 分配 (2025),但大多数方法依赖于预定义的价值函数
    • 但随着模型能力在训练过程中持续演化,这个假设会失效,导致提供最有信息量的学习信号的任务集合也相应发生变化
  • 为了解决这个问题,作者提出了一种动态 Rollout 预算分配策略,以适应模型的实时训练状态
    • 具体来说,作者通过监控实时训练指标 \(\mathbf{m}_{t}\)(例如,通过率)来量化当前策略 \(\pi_{\theta_{t} }\) 的能力
    • 作者通过一个动态价值函数将特定任务 \(\tau_{i}\) 和 \(\mathbf{m}_{t}\) 映射起来:
      $$v_{i,t} = V(\tau_{i}\mid \pi_{\theta_{t} },\mathbf{m}_{t}) \quad (2)$$
      • 其中 \(v_{i,t}\) 表示任务 \(\tau_{i}\) 的估计价值,表征了模型在任务空间上演化的偏好分布
      • 基于这个价值估计,作者采用一种基于堆 (heap-based) 的贪心算法来计算 Rollout 分配,以最大化当前训练批次的总体学习价值
Self-Verification
  • 除了将模型仅用作生成的行为者策略 (Actor Policy) 外,作者还额外利用模型作为验证器 (verifier) 来评估其自身在线策略 (on-policy) 轨迹的质量
  • 作者观察到一个显著的不对称性:即使是能够生成高质量轨迹的高级推理模型 ,也常常难以在没有显式基础事实信号的情况下可靠地评估这些轨迹的正确性
    • 这促使作者显式地增强模型的自我验证能力 ,并将其用作辅助信号,以提高其在特定领域的推理能力
  • 具体来说,作者引入了在线策略自我验证作为强化学习过程中动态激活的训练阶段
    • 当 生成器表现出停滞或收敛到局部最优的迹象时 ,作者触发一个验证阶段 ,在此阶段模型评估其自身的 Rollout 轨迹
  • 与生成相比 ,验证是一个相对更容易的任务 ,并且通常产生更高的奖励
  • 为了进一步增强自我验证的有效性,作者采用了一种定制的训练方案
    • 具体来说,作者确保验证重点针对具有挑战性的案例,并且验证的影响与相应生成轨迹的质量相关联,使得辅助信号鼓励生成的忠实改进,而不是退化的捷径行为
    • 经验表明,引入在线策略自我验证作为辅助任务可以加速模型收敛,从而提高生成性能
Agentic Specific Strategy
  • 在智能体场景中,交互模式自然地从单轮生成转变为模型推理和工具调用交错的多轮轨迹
  • 随着任务复杂性的增加,交互轮次数量和工具响应长度都会增长,使得总上下文长度变化很大且通常难以控制
  • 在实践中,这经常导致上下文窗口溢出、推理链被截断以及任务执行不完整
  • 因此,在有限上下文窗口下,有效的上下文管理成为使用工具的强化学习的必要组成部分
Context Management
  • 作者设计了一种混合上下文管理策略,以在有限上下文窗口下支持长期轨迹
  • 现有的智能体模型主要采用两种策略进行上下文管理:
    • 基于摘要的管理 (Summary-based Management) :
      • 当累积上下文长度超过预定义的 Token 阈值时,历史工具调用结果会被提炼成一个简洁的摘要,以替换原始上下文,保持上下文连续性
      • 基于 ReSum (2025) 的框架,作者使用模型本身作为摘要工具,并用不同的 Token 阈值进行了一系列对比实验,最终确定了 80K Token 为最优阈值(更多细节见附录 B)
      • 此外,为了增强模型的摘要性能,作者合成了一个包含 15K 个样本的高质量数据集,专门用于冷启动阶段
        • 实证结果表明,这带来了大约 3% 的准确率提升
    • 基于丢弃的管理 (Discard-based Management) :
      • 当上下文长度超过预定义阈值时,模型将丢弃全部或部分历史上下文,然后基于截断的上下文恢复或重新启动生成过程
      • 遵循 DeepSeek-V3.2 (DeepSeek-2025) 的做法,作者在工作中采用了全部丢弃 (discard-all) 策略
  • 结合上述两种策略,作者设计了一种针对智能体推理量身定制的混合上下文管理方法
    • 具体来说,作者首先在上下文窗口超过作者预定义的 80K Token 限制时应用基于摘要的压缩
    • 当交互超过最大轮数时 ,作者触发全部丢弃重置 ,并使用从原始问题衍生的初始化系统和用户提示重新启动生成
  • 作者在 BrowseComp 基准 (2025) 上评估了这三种策略
  • 如图 7 所示,在不同的计算预算下,上下文管理通过使模型能够扩展测试时计算资源,带来了显著的性能提升
    • 混合策略在大多数情况下优于其他两种,并在整个实验中表现出最高的效率,从 \(55.8%\) 开始,峰值达到 \(73.1%\)
  • 这种优越性能源于压缩和重置之间的动态切换,由上下文窗口和交互轮次约束控制,在关键推理上下文保留和计算开销控制之间实现了良好的权衡
    • 此外,作者采用了一种渐进的丢弃调度,逐步增加丢弃阈值,允许更困难的样本逐渐增加推理步骤数
Training Strategy with Scaled Environment
  • 引入扩展环境进一步提升了强化学习的复杂性,超越了工具增强设置
    • 在这个阶段,作者在跨越多个领域且表现出高度异质性的环境上进行了大规模训练
    • 作者期望在这种多样化的环境上进行训练能够鼓励模型获得可迁移的智能体行为,这些行为可以泛化到领域特定模式之外
  • 这种异质性在算法和系统层面都带来了新的挑战:
    • 训练过程必须同时保持跨领域泛化能力,确保在高度多样化的任务分布下稳定优化,并在长尾且不均衡的环境工作负载下保持高效
  • 为了应对这些挑战,作者采用了一种多领域环境训练范式,在每次训练批次内联合优化不同的环境
    • 为了确保稳定性和可扩展性,作者需要共同设计训练策略和作者的异步基础设施
    • 受环境扩展构建过程的启发,作者注意到现实世界的环境本质上是不完美的,因此,作者在训练期间显式地引入了环境噪声,以提高对异构和不可靠环境反馈的鲁棒性
Multi-Domain Environment Training
  • 为了提高跨环境泛化能力和训练稳定性,作者采用了一种多领域环境训练策略,在每次训练批次内联合优化不同的环境
  • 通过环境扩展,作者构建了数以万计跨越超过20个领域的环境,提供了对异构交互模式的广泛覆盖
  • 在此设置下进行训练引入了不小的系统挑战
    • 具体来说,为了保持训练稳定性,有必要确保所有领域对整体训练过程的贡献相当,同时防止任何一个训练批次被少数几个领域主导
    • 这个算法约束显著降低了作者 DORA 系统的效率,因为它打破了异步设计原则:
      • Trainer 可能被迫等待缓慢或罕见的长尾领域产生足够的样本,而较快的领域则积累过多的 Rollout 轨迹,导致调度气泡和设备利用率不足。为了缓解这个问题,作者支持为不同的数据类型和领域配置单独的过采样比率
    • 在实践中,作者增加了更具挑战性或低吞吐量领域的 Rollout 配额,使它们能够贡献足够的样本而不阻塞整个流程,而较快的领域则以较低的有效速率进行采样
    • 这种设计放宽了严格的每批平衡约束,同时利用 DORA 保持了异步训练的高吞吐量特性,并且在训练阶段仍然保持了大致平衡的数据混合,并保证了训练收敛
  • 为了确保在此训练设置下动态预算分配与作者的异步基础设施的兼容性,作者根据每个任务的历史通过率为其引入了一个过采样系数
    • 成功率较低的任务被分配更高的过采样系数,有效地将更多的 Rollout 预算分配给更具挑战性的任务
    • 具体来说,每个任务根据其过采样系数被复制为多个组,每个组在训练期间独立计算优势
    • 这种设计近似于动态预算分配,同时保留了 DORA 简单且完全异步的调度行为,以最小的系统复杂性实现了动态 Token 预算控制
  • 作者在图 8 中展示了 LongCat-Flash-Thinking-2601 的训练奖励曲线,并在图 9 中展示了在不同训练步骤下智能体基准测试的相应性能
    • 图 8 中的训练奖励表现出稳定且一致的上升趋势,表明作者的算法-基础设施协同设计有效地确保了大规模训练的稳定性
    • 图 9 中智能体基准测试的性能展示了跨多个基准测试的强大泛化能力,这验证了作者环境合成流程的有效性
  • 经验表明,多领域环境训练在环境中实现了更高的平均任务完成率,尤其是在最具挑战性的环境上改进显著
    • 此外,该模型在随机生成的环境中获得了强大的性能,表现出强大的泛化能力
Robust RL
  • 作者明确地将环境缺陷纳入训练过程 ,以提高鲁棒性
  • 现有的智能体模型在部署到先前未见过的或不完美的环境中时,性能会显著下降
  • 这个问题主要源于当前智能体训练范式中的一个常见假设:智能体通常使用精心策划的指令进行训练,并与稳定、受控良好的环境交互
    • 相比之下,现实世界的环境本质上是不完美的
  • 用户表现出多样化的交互风格和不可预测的行为,而工具可能因各种外部因素而失败、返回有噪声的输出或产生不完整的结果
  • 作者不是假设训练期间环境是理想化的并依赖智能体事后适应,而是系统地分析现实世界的噪声 ,并设计一个自动化流程 ,明确地将环境缺陷纳入训练过程
    • 为了避免引入不可靠或误导性的奖励信号,作者确保注入的缺陷不会使任务变得不可解,而是增加交互过程的难度和随机性
    • 具体来说,我们为现实世界 agentic 场景中的两种主要交互噪声源建模:
      • 指令噪声 (instruction noise) :捕捉用户交互模式的模糊性和可变性;
      • 工具噪声 (tool noise) :模拟外部工具的执行失败、不一致响应和部分结果
  • 在 agentic 强化学习过程中,作者使用基于课程学习 (curriculum-based) 的策略逐步引入这些噪声
    • 将 agentic 模型的鲁棒性衡量为同一任务在完美环境与不完美环境之间的性能差距
    • 从轻微的扰动开始,随着模型在当前水平上表现出足够的鲁棒性,逐渐增加噪声的难度和多样性
  • 这种自适应过程确保了训练保持信息性而非压倒性,并避免了在过度嘈杂的环境中进行低效探索
  • 表 1 展示了在不完美环境下的鲁棒训练策略的消融研究结果
    • 结果表明,引入噪声的训练在标准 agentic 基准测试上取得了相当甚至略好的性能,同时在噪声和不完美的条件下产生了显著的性能提升

Test-Time Scaling Through Heavy Thinking

  • 测试时扩展 (Test-time scaling, TTS) 已成为通过在推理阶段扩展计算来提高模型在复杂推理任务上性能的一种有效范式
    • 最新进展表明,通过结合自反思的长思维链来增加推理深度,可以让模型迭代地优化其推理过程 (2024, 2025, 2025)
  • 与此同时,诸如自一致性(self-consistency)和蒙特卡洛树搜索 (Monte Carlo Tree Search, MCTS) 等方法则沿宽度维度扩展计算,探索多个推理轨迹以更好地逼近模型的推理边界
  • 一些前沿模型引入了 Heavy Thinking (2025, 2025a, 2025, 2025),其目标是在测试时联合扩展推理的深度和宽度
    • 经验上,这些模式的表现超过了仅扩展深度或宽度的策略
    • 但此类 Heavy Thinking 的具体实现细节大多未公开,限制了其可复现性和系统性研究
  • 为了进一步释放推理能力并突破现有的性能天花板,作者提出了一个简单有效的 Heavy Thinking 框架,将测试时计算分解为两个互补的阶段:
    • 并行推理(parallel reasoning)和 Heavy Thinking
  • 如图 10 所示
    • 在第一阶段,作者允许一个思考模型并行执行生成,产生多个候选推理轨迹以扩展探索的广度
    • 在第二阶段,作者利用一个总结模型对这些轨迹进行反思性推理,综合它们的中途推理和结果以得出最终决策
  • 为了支持工具使用和多轮对话场景,作者还引入了一个上下文记忆模块来存储消息历史
  • 如图 11 所示
    • 在每一轮中,总结模型将接收来自并行推理阶段的历史消息以感知上下文
    • 作者设计了一个特定的提示模板来组织当前轮次并行轨迹的排列(仅保留答案内容),并引导总结模型生成最终响应,其目的是聚合或优化从并行推理阶段得出的答案
  • 作者还约束总结模型的最终输出响应,以保持与并行推理阶段的风格和格式一致,使得总结模型的响应能够与消息历史直接拼接
    • 值得注意的是,思考模块和总结模块可以共享相同的模型参数,也可以实例化为不同的模型
  • 为了进一步提升性能,作者还引入了一个专门针对总结阶段设计的额外 RL 阶段
    • 经验上,作者发现 Heavy Thinking 在多种设置下都有效,包括长思维链推理、工具集成推理和完全的工具使用(agentic tool-use)场景
    • 通过允许测试时计算在推理深度和宽度上自适应地扩展, Heavy Thinking 的表现始终优于自一致性(self-consistency),并且随着测试时计算预算的增加,其性能优势变得愈发显著

Evaluation

Benchmarks and Configurations

  • 作者的评估涵盖模型能力的五个方面:
    • Mathematical Reasoning
    • Agentic Search
    • Agentic Tool Use
    • General Reasoning
    • Coding
Mathematical Reasoning
  • 作者使用标准的奥林匹克级基准测试来评估数学推理,包括 AIME 2025、HMMT 2025 (February) (2025) 和 IMO-AnswerBench (2025)
  • 此外,还引入了 AMO-Bench (2025)(这是现有奥林匹克级基准测试中最具挑战性的数据集)
    • 包含由人类专家设计的 50 个问题,并提供中英文版本,便于分析跨语言数学推理
    • 作者发布了 AMO-Bench 的英文版和评估脚本
  • 由于这些数据集规模有限,作者报告 Avg@k 指标,IMO-AnswerBench 使用 \(k = 4\),其他所有数学基准使用 \(k = 16\)
    • 作者主要关注工具集成推理(Tool-integrated Reasoning, TIR)的性能,注意:此处工具指代码执行
    • 对于支持代码执行的外部模型,作者在评估时启用此功能
    • 对于不支持代码的模型,作者报告其官方结果或它们不使用工具时的性能
Agentic Search
  • 作者在 BrowseComp (2025) 和 BrowseComp-ZH (2025) 上评估智能体搜索能力,并报告启用和未启用上下文管理两种设置下的结果
    • 注:对于 BrowseComp-zh,作者发现原始标注存在一些错误,并手动修正了 24 个案例的答案
  • 作者尝试在作者的智能体搜索框架下复现开源和闭源模型在这些基准测试上报告的结果
    • 但作者观察到性能持续低于报告的数字,对于外部模型,作者使用其官方报告的结果
      • 理解:这里确实花了时间后没法复现这部分分数(猜测与模型的某些配置有关,Infra 和评估同学不够给力?)
  • 为了实现对搜索能力的公平且受控的比较,作者另外构建了 RWSearch(这是一个具有挑战性的智能体搜索基准)
    • 包含 200 个需要复杂推理和多步骤信息检索的现实世界搜索 Query
    • 所有模型都在未启用上下文管理的情况下在 RWSearch 上进行评估,以确保公平比较
Agentic Tool-Use
  • 作者在 \(\tau^{2}\)-Bench (2025)、VitaBench (2025)、\(\tau^{2}\)-Noise、Vita-Noise 和随机复杂任务(Random Complex Tasks)上评估智能体工具使用能力
  • 对于 \(\tau^{2}\)-Bench,作者观察到默认的用户模拟器(user simulator)偶尔会表现出异常行为,给评估带来不可控的噪声
    • 为了解决这个问题,作者将原始模拟器替换为 GPT-4.1 并相应地调整提示策略 (2025, 2025b, 2025)
  • 对于 \(\tau^{2}\)-Bench 的航空子集,作者进一步发现了一些标注和环境问题,可能导致虚假失败和不可靠的评估 (2025, 2025b, 2025)
    • 作者在一个固定且清理过的航空子集版本上评估所有模型,其中 19 个有问题案例得到了修正
    • 所有以上这些修改都已公开发布以确保可复现性
  • 对于 VitaBench,作者更新了评估设置,将验证器模型(verifier model)升级到最强的公开可用版本,并采用更严格的评估标准,从而进一步提高基准测试的可靠性
    • 作者已公开发布 VitaBench 的这个更新版本
  • \(\tau^{2}\)-Noise、Vita-Noise 和随机复杂任务的构建和评估协议
    • \(\tau^{2}\)-Noise 和 Vita-Noise :为了评估智能体推理能力的鲁棒性,作者系统分析了现实世界环境中观察到的偏差,并设计了一个自动噪声注入 Pipeline (noise injection pipeline),可以将逼真的噪声注入任意基准测试
      • 基于此 Pipeline ,作者重复随机地将噪声注入 \(\tau^{2}\) 和 Vita 基准测试以构建 \(\tau^{2}\)-Noise 和 Vita-Noise,并报告多次噪声实例化的平均性能
    • 随机复杂任务 (Random Complex Tasks) :为了评估智能体推理能力的泛化性,作者引入了一种新的评估协议,即随机复杂任务
      • 随机复杂任务建立在一个自动任务合成过程之上,该过程受作者环境扩展 Pipeline 的启发,随机生成跨多种场景的复杂、可执行且可验证的智能体任务
      • 对于每次评估运行,作者随机抽样超过 4 个领域的 100 个多样且复杂的任务,并计算 Avg@4 分数
      • 为确保可靠性,作者重复进行三次独立运行的评估,并报告各次运行的平均结果
  • 作者将发布噪声注入 Pipeline ,并将随机复杂任务集成到一个开放的评估平台中,以支持未来的可复现性和基准测试
General QA
  • 作者在 GPQA-Diamond (2023) 和 HLE (2025) 上评估通用推理,它们涵盖了广泛的知识密集型和推理密集型任务
  • 对于 GPQA-Diamond,作者报告 Avg@16 以减少抽样随机性引入的方差
  • 对于 HLE,由于作者的模型是纯文本的,作者报告其在纯文本子集上的结果,并确保所有比较模型遵循相同的设置
  • 作者注意到 HLE 的结果对提示模板和评分模型很敏感
  • 为确保公平比较,所有模型都使用官方 HLE 推荐的提示模板进行评估,并使用官方 o3-mini 评分模型和模板进行评分
Coding
  • 作者在两种设置下评估代码能力:Code Reasoning 和 Agentic Coding
  • 对于代码推理,作者使用 LiveCodeBench (2025)、OJBench (2025) 和 OIBench (2025)
    • 对于 LiveCodeBench,作者评估 2408-2505 子集,覆盖最近的两个版本,包含 454 个问题, 作者报告 LiveCodeBench 的 Avg@4
    • 对于 OJBench 和 OIBench,由于评估成本和思考模型所需的长推理轨迹,作者报告 Pass@1
  • 对于智能体编码,作者使用 SWE-bench Verified,这是软件工程智能体的标准基准
    • 作者采用第三方智能体框架 R2E-Gym 作为执行主干
    • 为确保正确性,作者手动清理并修复了原始基准测试中的少量 Docker 镜像,主要是由于库升级引入的依赖不匹配问题,保证所有标准补丁(gold patches)都是可执行的

Main Results

  • 如表 2 所示,作者将 LongCat-Flash-Thinking-2601 与几个先进的开源权重和闭源权重推理模型进行了比较
    • 开源权重模型包括 DeepSeek-V3.2-Thinking (2025)、Kimi-K2-Thinking (2025)、Qwen3-235B-A22B-Thinking-2507 (2025) 和 GLM-4.7-Thinking (2025)
    • 闭源权重模型包括 Claude-Opus-4.5-Thinking (2025)、Gemini-3-Pro (2025) 和 GPT-5.2-Thinking-xhigh (2025b)
  • 在一套全面的基准测试中,LongCat-Flash-Thinking-2601 在传统推理任务上取得了极具竞争力的性能,并在智能体推理能力方面展现出强大优势
    • 除非另有说明,推理均使用温度 \(= 1.0\),top-\(k = -1\),top-\(p = 1.0\) 进行
Mathematical Reasoning
  • 在具有挑战性的数学推理基准测试上,LongCat-Flash-Thinking-2601 展现出强大的工具集成推理能力,并始终达到第一梯队的性能
  • 当启用 Heavy Thinking 模式(heavy mode)时,LongCat-Flash-Thinking-2601 达到了与领先闭源模型相当的性能
  • 启用 Heavy Thinking 模式的 LongCat-Flash-Thinking-2601 在 AIME-2025 上获得了满分,在 IMO-AnswerBench 上取得了 86.8 分的领先成绩,并在 AMO-Bench 上取得了开源的领先结果
  • 在 AMO-Bench (EN) 上略逊于最强的闭源模型,LongCat-Flash-Thinking-2601 仍然是表现最好的开源模型
  • LongCat-Flash-Thinking-2601 在 AMO-Bench 的英文版和中文版上表现出相当的性能,表明其在非英语环境下也具有先进的数学推理和工具使用能力
Agentic Search
  • LongCat-Flash-Thinking-2601 在 BrowseComp 和 BrowseComp-ZH 上都达到了领先的性能
  • 启用上下文管理后,它在 BrowseComp 上达到 73.1 分,在 BrowseComp-ZH 上达到 77.7 分,超越了所有评估的模型
  • 在 RWSearch 上——这是一个为评估现实世界复杂搜索场景而设计的私有基准测试,LongCat-Flash-Thinking-2601 取得了 79.5 分,仅次于 GPT-5.2-Thinking
Agentic Tool-Use
  • LongCat-Flash-Thinking-2601 在开源模型中展示了领先的智能体工具使用能力
    • 在 \(\tau^2\)-Bench 和 VitaBench 上取得了强劲的性能,包括在它们的噪声增强变体上的竞争性结果
  • 模型在任意生成工具的随机复杂任务上取得了领先的结果
    • 这些结果表明模型对现实世界环境噪声具有很强的鲁棒性,并对先前未见过的任务分布具有出色的泛化能力
General QA
  • LongCat-Flash-Thinking-2601 在通用问答基准测试上保持了强劲的性能
  • 在 HLE 的纯文本子集上获得了 25.2 分,在 Heavy Thinking 模式下在 GPQA-Diamond 上获得了 85.2 分
    • 接近开源模型的最佳结果
Coding
  • LongCat-Flash-Thinking-2601 在代码推理和智能体编码基准测试上都展现了有竞争力的性能
    • 在 LiveCodeBench 系列的算法问题解决任务上,位居开源模型前列
    • 在更难的基准测试如 OJBench 和 OIBench 上,作者的模型分别取得了开源模型的第二好和最佳性能
  • 注:与 GLM-4.7 相比,LongCat-Flash-Thinking-2601 以显著更低的推理成本实现了相似的性能,每个问题大约需要 45k 个 token,而 GLM-4.7 需要 57k 个 token
    • 在 SWE-bench Verified 上,LongCat-Flash-Thinking-2601 在开源模型的第一梯队中表现具有竞争力,进一步验证了其在现实世界软件工程任务中的能力

One More Thing: Zig-Zag Attention Design

  • 长上下文效率(Long-context Efficiency)已成为现代大型语言模型日益严峻的挑战
  • 越来越长的推理轨迹趋势对标准的全注意力(Full Attention)构成了根本性限制,其二次方复杂度对于长上下文智能体训练和推理来说很快变得难以使用
  • 而且在 Heavy Thinking 模式中,由于同时解码多个并行推理轨迹,推理延迟被进一步放大,使得高效的注意力机制变得更加不可或缺
  • 现有的方法,包括稀疏和线性注意力方法 (2025),试图通过降低注意力的计算复杂度来缓解这个问题
    • 但这些方法通常需要大量的重新训练来使模型适应新的注意力架构,这引入了相当多的额外计算开销和工程成本
  • 为了解决这一限制,作者探索了一种实验性的高效注意力设计,并同时发布了一个开源模型 LongCat-Flash-Thinking-ZigZag
    • 作者提出了 Zigzag Attention,一种稀疏注意力机制(sparse attention mechanism),使得现有的全注意力模型可以在 Mid-training 期间高效地转换为稀疏变体
    • 这种转换仅产生可忽略的开销,同时允许模型高效地扩展到超长上下文,支持高达 1M 个 token 的序列长度
  • Zigzag Attention (2026) 结合了 MLA 和流式稀疏注意力 (Streaming Sparse Attention, SSA) (2024),实现了计算量随完整上下文长度呈次二次方(sub-quadratically)扩展
    • 对于每个 Query token \(h_t\),注意力被限制在一个固定的键值 token 集合中,该集合包括
      • (i) 最近 token 的局部窗口
      • (ii) 序列开头的一小组初始 token
    • 形式上,注意力输出计算如下:
      $$
      u_{t} = \mathrm{Attn}(h_{t},\{h_{s}\mid s\in [t - W,t]\cup [0,B)\} ,
      $$
      • 其中 \(W\) 表示局部上下文窗口大小,\(B\) 表示保留的前缀 token 数量
      • 与全注意力相比,这种设计显著降低了计算和内存复杂度,同时保留了短期上下文和全局锚点

Zigzag Connectivity

  • Zigzag Attention 采用了一种层级交错的稀疏化策略
    • 大约 \(50%\) 的全注意力层被替换为 SSA 层,而剩余的层保留基于 MLA 的全注意力
  • 这种层级的稀疏性避免了通常由头部级稀疏化引入的计算不平衡和 GPU 线程分歧,从而实现更高效的硬件利用率
  • 每个 SSA 层内的注意力是稀疏且局部的,但全局信息通过跨层组合得以保留
  • 通过交替稀疏注意力层和全注意力层,信息可以在多层之间跨越远距离位置传播,沿着序列形成一条锯齿形的连接路径
    • 因此,尽管存在每层的稀疏性,长距离依赖关系仍然可以访问

Zigzag Integration

  • Zigzag Attention 通过结构化的稀疏化过程在 Mid-training 阶段引入
    • 1)作者使用一个校准过的数据集来估计预训练模型中注意力层的相对重要性
    • 2)重要性得分最低的那部分层被替换为 SSA 层
  • 稀疏化之后,模型继续进行长上下文的持续 Mid-training ,同时结合基于 YaRN 的位置编码扩展,从而实现高达 1M token 的上下文长度
  • 实践中,作者采用块大小为 128,一个 Sink block 和七个局部块(local block),使得每层的有效注意力跨度达到 1,024 个 token
  • 将大约一半的全注意力层替换为 Zigzag Attention 可带来约 1.5 倍的端到端推理加速,如图 12 所示,同时在基准测试中保持了推理性能和智能体能力

结合 YaRN

  • 为了解锁处理更长上下文的能力,作者将这些方法配置与 YaRN (2024) 结合,使得 LongCat-Flash-Thinking-ZigZag 能够外推至处理高达 1M 个 token
  • 除此之外,作者还提供了模型中涉及的一些关键参数
    • 块大小为 128,Sink block 数量为 1,局部块数量为 7,总计 1,024 个 token
  • LongCat-Flash-Thinking-ZigZag 在性能和速度之间取得了良好的平衡,图 13 简要展示了它如何提高效率的同时保持竞争力的性能

附录 A:Optimal Hyperparameter Prediction

  • 在大型规模的 Mid-training 中,有效识别最优超参数是一个核心挑战,因为搜索空间巨大且计算成本高昂
    • 为了应对这一挑战,作者提出了一种新颖的最优超参数预测方法,该方法专门设计用于最小化寻找最佳配置的计算成本
  • 作者的方法包括两个关键步骤:
    • 超参数映射 (Hyperparameter Mapping): 作者使用不同的超参数训练小型模型,利用验证损失和 FLOPS 将最优超参数映射到它们的计算成本(见图 14),从而深入了解配置如何影响训练效率和性能
    • 超参数预测 (Hyperparameter Prediction): 对于一个给定的持续训练检查点,作者使用验证损失来估算等效计算成本,即从零开始在持续训练数据上达到相同损失所需的计算量,然后基于此估算和实际计算负载来预测最优超参数
  • 通过这种方法,作者能够预测出可实现高效持续训练的最优超参数,以最小的计算开销提高模型性能

附录 B:Token Threshold Context Management Performance Evaluation

  • 如图 15 所示,作者评估了在不同摘要上下文 Token 长度下 BrowseComp 的 Pass@1 准确率,最大上下文轮次限制为 500
    • 准确率从 20K Token 时的 \(63.86%\) 稳步上升至 80K Token 时达到峰值 \(66.58%\),然后在 100K Token 时降至 \(65.9%\)
    • 这确定了 80K 是基于摘要的上下文管理的最优上下文长度,因此在所有后续实验中,作者将 80K 上下文长度固定为摘要触发的阈值

NLP——技术报告解读-MiMo-V2-Flash

注:本文包含 AI 辅助创作

  • 参考链接:
    • 原始论文:MiMo-V2-Flash Technical Report, LLM-Core Xiaomi, 20260106 & 20260108
    • GitHub:github.com/XiaomiMiMo/MiMo-V2-Flash

Paper Summary

  • 整体总结:
    • MiMo-V2-Flash 核心创新:
      • 混合滑动窗口注意力架构 (Hybrid Sliding Window Attention architecture)
      • 轻量级多 Token 预测 (Lightweight Multi-Token Prediction)
      • MOPD 后训练范式
    • 从论文中看:MiMo-V2-Flash 可与 DeepSeek-V3.2 和 Kimi-K2 等更大的开放权重模型相媲美
  • MiMo-V2-Flash 是一个 MoE 模型(309B-A15B),旨在实现快速、强大的推理和智能体能力
  • MiMo-V2-Flash 采用了一种混合注意力架构
    • 将滑动窗口注意力(Sliding Window Attention,SWA)与全局注意力(Global Attention, GA)以 5:1 的混合比例交错排列,滑动窗口大小为 128 个 token
  • MiMo-V2-Flash 使用 Multi-Token Prediction(MTP) 在 27T Token 上进行预训练,拥有原生的 32k 上下文长度并随后扩展到 256k
  • 为了高效扩展训练后计算,MiMo-V2-Flash 引入了一种新颖的多教师 On-policy 蒸馏范式
    • 在此框架中,领域专业化的教师模型(例如,通过大规模强化学习训练)提供密集的、Token-level 奖励,使学生模型能够完美掌握教师的专业知识
    • MiMo-V2-Flash 能够媲美 DeepSeek-V3.2 和 Kimi-K2 等顶级开源模型,尽管其总参数量仅分别为后者的 1/2 和 1/3
    • 在推理过程中,通过将 MTP 重新用作推测解码的草稿模型,MiMo-V2-Flash 在使用三层 MTP 时实现了最高 3.6 的接受长度和 2.6 倍的解码加速
    • 论文开源了模型权重和三层 MTP 权重,以促进开放研究和社区协作
  • 本次解读重点关注后训练阶段,其他部分暂不深入

Introduction and Discussion

  • 人工智能通用智能的最新进展越来越受到两个前沿领域的推动:
    • 先进的推理链和基于大规模强化学习的自主智能体工作流 (Google DeepMind, 2025; Kimi Team, 2025b; 2025)
    • 但构建可扩展的推理器和智能体面临一个共同的关键瓶颈:长上下文建模必须同时具备快速和强大的能力
  • 论文介绍了 MiMo-V2-Flash,这是一个高效且经济实惠的 LLM,能够提供强大的推理和智能体性能
    • 为了缓解完全注意力的二次复杂度,MiMo-V2-Flash 采用了一种混合注意力机制,交错排列局部滑动窗口注意力和全局注意力
    • 滑动窗口大小为 128 Token,混合局部:全局比例为 5:1,对于长上下文,KV 缓存存储和注意力计算减少了近 \(6\times\)
    • 借助可学习的注意力 Sink 偏置 (2025) 的帮助,即使采用了激进的滑动窗口大小和混合比例,该混合架构在长上下文场景中也能保持强大的建模能力
    • MiMo-V2-Flash 还集成了 Multi-Token Prediction 以增强训练性能并加速推理解码
      • 特别是,MTP 在提升 RL rollout 速度方面具有巨大潜力,这有助于将 LLMs 扩展到更强大的智能水平
      • 通过轻量级的密集前馈网络和滑动窗口注意力,论文的 MTP 模块在实践中以高接受率提供了显著的解码加速
  • MiMo-V2-Flash 的预训练方案在很大程度上遵循了 MiMo-7B (2025),并进行了若干改进
    • 训练使用 FP8 混合精度进行,能够在 27T Token 上实现高效的大规模训练
    • 模型最初以原生 32K 上下文进行预训练,随后扩展到 256K
  • 得到的预训练模型 MiMo-V2-Flash-Base 已针对 Kimi-K2-Base (Kimi Team, 2025c) 和 DeepSeek-V3.2-Exp-Base (2025) 等领先的开源基础模型进行了评估
    • MiMo-V2-Flash-Base 在通用基准测试中取得了有竞争力的性能,并在侧重于推理的任务上超越了同类模型
    • 对于长上下文检索,论文的混合注意力架构在从 32K 到 256K 的上下文长度上实现了接近 \(100%\) 的成功率
    • 在极端长上下文推理基准 GSM-Infinite (2025) 上,MiMo-V2-Flash 在从 16K 扩展到 128K 时表现出稳健的性能,性能下降最小
  • 在训练后阶段,论文专注于高效扩展 RL 计算,以改进推理和智能体能力
    • 为此,MiMo-V2-Flash 引入了一种称为多教师 On-policy 蒸馏的新训练后范式。该框架通过三阶段过程解决了能力不平衡和学习效率低下的问题:
      • (1) 通用监督微调;
      • (2) 专业化的 RL/SFT 用于训练领域特定的教师模型;
      • (3) MOPD,其中学生模型从两个互补的信号中学习:来自在不同领域训练的特定教师的密集的、Token-level 奖励,以及一个可验证的、基于结果的奖励
    • 通过以这种方式整合多样化的专家知识,MiMo-V2-Flash 同时掌握了领域教师的顶峰能力,并受益于稳定高效的学习动态
  • MiMo-V2-Flash 在大多数推理基准测试中取得了与 Kimi-K2-Thinking 和 DeepSeek-V3.2-Thinking 相媲美的性能
    • 在 LongBench V2 和 MRCR 等长上下文评估中,MiMo-V2-Flash 持续超越更大的全注意力模型,证实了其混合 SWA 架构的鲁棒性
    • 值得注意的是,该模型在 SWE-Bench Verified 上达到了 \(73.4%\),在 SWE-Bench Multilingual 上达到了 \(71.7%\),使其成为软件工程任务中最领先的开源模型
    • 模型权重(包含 3 层 MTP 权重)可在 github.com/XiaomiMiMo/MiMo-V2-Flash 获取

MiMo-V2-Flash Model Architecture

Overall Architecture

  • 如图 2 所示,MiMo-V2-Flash 遵循标准的 Transformer (2017) 主干,并增强了 MoE (2017) 和混合注意力 (2020; Gemma Team, 2024, 2025; Kimi Team, 2025a; 2025; Qwen Team, 2025)
    • MiMo-V2-Flash 主要由重复的混合块组成,这些块交错排列局部滑动窗口注意力和全局注意力
    • 它堆叠了 \(M = 8\) 个混合块,每个块的结构为 \(N = 5\) 个连续的 SWA 块后接一个 GA 块
    • 唯一的例外是第一个 Transformer 块,它使用全局注意力和密集的前馈网络以稳定早期的表示学习
    • MiMo-V2-Flash 中使用的滑动窗口大小 \(W\) 为 128
    • SWA 块和 GA 块都使用稀疏的 MoE FFN。每个 MoE 层总共包含 256 个专家,每 Token 激活 8 个,并且不包含共享专家
  • MiMo-V2-Flash 还集成了 MTP (2024; 2024; 2025) 以提高模型性能(包括质量和效率)
    • MTP 块使用 Dense FFN 而非 MoE,并采用 SWA 而非 GA,使其在推测解码中保持轻量级
    • 每个 MTP 块的参数量仅为 0.33B
  • 表 1 总结了 MiMo-V2-Flash 的详细配置
    • 模型包含 39 个 SWA 层和 9 个 GA 层
    • SWA 和 GA 都使用分组 Query 注意力 (2023)
      • SWA 有 64 个 Query 头和 8 个键值头,GA 有 64 个 Query 头和 4 个键值头
      • SWA 和 GA 的每个头的维度相同( Query 和键为 192,值为 128)
    • 旋转位置嵌入部分应用于 Query 和键的前 64 个维度
      • 遵循最近的最佳实践,论文采用了类似于 DeepSeek-V3 (2024) 的 FP8 混合精度框架
    • 论文为注意力输出投影,以及嵌入和输出头参数保留 BF16 精度,同时为 MoE 路由器参数保持 FP32 精度
      • 这种混合精度配置提高了数值稳定性,而不会对训练效率或内存占用产生实质性影响

Hybrid Sliding Window Attention Architecture

  • 滑动窗口注意力 (2020) 将每个 Token 的注意力范围限制在局部窗口而非整个序列,从而显著降低计算和内存复杂度
    • 这自然激发了混合滑动窗口注意力架构的出现
  • 但先前的工作表明,过度激进的 SWA 使用,如非常小的滑动窗口大小或高 SWA:GA 比例,可能导致模型性能显著下降 (Gemma Team, 2025),尤其是在长上下文任务中
    • 最近,可学习的注意力 Sink 偏置的引入显著增强了基于 SWA 架构的建模能力 (2025),该机制允许模型在需要时将很少或没有注意力分配给某些 Token
    • 尽管注意力 Sink 机制的确切理论基础仍是一个活跃的研究领域 (2024b; 2025; 2024; 2023),但论文通过实验观察到,可学习的注意力 Sink 偏置显著提升了混合 SWA 模型的性能,匹配甚至超过了使用完全 GA 层的基线
  • 在 MiMo-V2-Flash 中,论文的实现遵循了 gpt-oss (2025) 中使用的设计,其中每个注意力头的 softmax 分母应用一个可学习的注意力 Sink 偏置 \(sink \in \mathbb{R}\)
    • 令单个注意力头中 Token \(i\) 和 \(j\) 之间的注意力 logits 为:
      $$a_{ij} = \frac{q_ik_j^\top}{\sqrt{d} }, \tag{1}$$
      • 其中 \(q_{i}\) 和 \(k_{j}\) 分别表示 Token \(i\) 的 Query 和 Token \(j\) 的键,\(d\) 是头的维度
    • 注意力权重由下式给出:
      $$s_{ij} = \frac{\exp\left(a_{ij} - m_i\right)}{\exp\left(sink - m_i\right) + \sum_{j’}\exp\left(a_{ij’} - m_i\right)}, \tag{2} \\
      m_{i} = \max \left\{\max_{j}a_{ij},sink\right\} . \tag{3}$$
  • 最后, Query \(i\) 的注意力输出通过对值进行加权和获得:
    $$o_{i} = \sum_{j = 1}^{n}s_{ij}\nu_{j}. \tag{4}$$
Model Architecture Experiments
  • 了验证论文设计选择的有效性,论文在一个 32B Dense 模型上进行了探索性和实证研究,保持了与上述描述一致的 Query -键维度和旋转嵌入配置
  • 表 2:不同注意力配置的通用基准结果
  • 表 3:不同注意力配置的长上下文基准结果
  • 表 4:不同注意力配置的复杂推理基准结果
基线及基准测试
  • 论文在比较环境中评估了四种模型架构变体,包括:
    • 一个全全局注意力基线
    • 一个不带注意力 Sink 偏置的 128 Token 窗口混合 SWA 模型
    • 两个分别使用 128 和 512 窗口大小并增强了注意力 Sink 偏置的混合 SWA 模型
    • 所有变体共享相同的训练流程:在 250B Token 上进行 8,192 序列长度的预训练,然后在额外的 40B Token 上长上下文扩展到 32,768,接着进行带有思维链监督的长上下文 SFT 和推理 SFT
  • 论文评估模型变体在涵盖通用能力、长上下文理解和复杂推理的基准测试上的表现
    • 通用领域结果(表 2)来自未经长上下文扩展的预训练基础模型,评估了在 MMLU (2021a), BBH (2023), TriviaQA (2017), GSM8K (2021), MATH (2021b), CMMLU (2023) 和 MBPP (2021) 上的通用知识和推理
    • 长上下文结果(表 3)评估了长上下文扩展后的基础模型在 GSM-Infinite (2025), NoLiMa (2025) 和 RULER-32k (2024) 上的表现,以及长上下文 SFT 模型在 MRCR (2024) 上的表现
    • 对于 GSM-Infinite 和 Nolima,论文构建了内部的 few-shot 基准来评估基础模型在受控的长上下文设置下的表现
    • 复杂推理结果(表 4)评估了推理 SFT 模型在 AIME24&25 (MAA, 2024), LiveCodeBench (2024) 和 GPQA-Diamond (2024) 上的表现
  • 论文关键的实证发现:
    • 注意力 Sink 偏置消融实验 如表 2 所示,混合 SWA (\(W = 128\) ,w/o Sink ) 在通用基准测试中遭受了明显的性能下降,而引入注意力 Sink 偏置相对于全 GA 基线一致地恢复或提升了性能
      • 因此,在进一步的实验中,论文默认假设应用了注意力 Sink 偏置
    • 滑动窗口注意力大小 混合 SWA (\(W = 128\)) 和混合 SWA (\(W = 512\)) 在通用基准测试上表现相似(表 2)
      • 然而,经过长上下文扩展和长上下文 SFT 后,混合 SWA (\(W = 128\)) 超越了全 GA 基线,而 SWA (\(W = 512\)) 则经历了显著的性能下降(表 3)
    • 推理能力 如表 4 所示,混合 SWA (\(W = 128\)) 在不同的挑战性推理基准测试上超越了全 GA 基线,在复杂推理能力上显示出清晰的改进
Summary and Discussion
  • 论文的实验表明,混合 SWA (\(W = 128\)) 不仅优于混合 SWA (\(W = 512\)),而且可以 超越全 GA 基线 ,这可能看起来违反直觉
    • 论文推断这是由于更好的正则化和有效的稀疏性相结合的结果
  • 较小的窗口迫使模型专注于局部上下文,作为一种归纳偏置,减轻了对虚假模式的过拟合
    • 此外,更紧的窗口 (\(W = 128\)) 迫使 SWA 对局部信息建模,同时将长程依赖委托给全局注意力层,导致更清晰的分工和更准确高效的学习
    • 相比之下,更大的窗口 (\(W = 512\)) 可能会模糊这种区别,导致 SWA 部分地自行处理长程依赖,这稀释了局部和全局信息之间的分离,并导致次优性能
  • 论文这些观察和发现是实证性的,源于论文特定的实验设置,包括模型规模、数据集和训练过程
    • 尽管如此,作者希望这些观察能为正在进行的关于推理和智能体 AI 模型时代高效注意力架构的讨论贡献一个额外的视角,并激励社区更广泛地研究高效架构

Lightweight Multi-Token Prediction

Motivation of using MTP
  • 先前的工作表明,MTP 是一种强大的训练目标,可以增强训练效率和模型质量 (2024; 2024; 2025)
    • 除了这些训练上的好处,论文更强调将 MTP 作为本机草稿模型用于自推测解码,以实现实际部署的加速
  • 论文从两个角度详细阐述 MTP 如何加速推理:通用 LLM 解码加速和 RL 训练加速
Accelerating LLM Decoding
  • 由于算术强度低,LLM 解码本质上是内存受限的
    • 批次级并行通常用于提高 FFN 的算术强度,但对注意力计算没有益处,因为每个请求维护自己的 KV 缓存
    • 相比之下,MTP 通过生成多个草稿 Token 来提升 FFN 和注意力的算术强度,然后主模型并行验证这些 Token
    • 这种方法实现了 Token 级并行,而无需增加 KV 缓存 I/O
      Accelerating RL Training
  • MTP 加速特别适用于 RL 训练 (RadixArk Team, 2025),其中 rollout 阶段由于推理和解码成本始终是主要的瓶颈
  • MTP 解决了 RL 训练中的两个关键挑战:
    • 它使得小批次的 RL 高效且有效:当前的 RL 训练依赖于大批次、 Off-policy 算法来最大化吞吐量 (2025; 2017; 2025)
      • 但实际上,On-policy 训练通常更稳定和有效,但其小批次无法充分利用 GPU 资源
    • MTP 通过扩展 Token 级并行而不是批次大小来缓解这一限制,使得小批次、 On-policy RL 训练更加实用
      • 它减轻了由长尾滞后项引起的 GPU 空闲
      • 随着 rollout 阶段进行,处理长序列且批次大小较小(通常接近 1)的长尾滞后项会导致显著的 GPU 空闲 (2025; 2025)
      • 在此类场景中,MTP 提高了注意力和 FFN 的计算效率,显著减少了总体延迟
      • 理解:这里说的是当 Batch 较小时,MTP 可以提升并行度?还是说单纯的提升了整体解码速度?
Lightweight MTP Design in MiMo-V2-Flash
  • 在 MiMo-V2-Flash 中,MTP 块被刻意保持轻量级,以防止其成为新的推理瓶颈
  • 论文使用小型 Dense FFN 而不是 MoE 来限制参数数量,并采用 SWA 而不是全局注意力来减少 KV 缓存和注意力计算成本
    • 在预训练期间,模型仅附加一个 MTP 头以避免额外的训练开销
    • 在训练后阶段,该头被复制 \(K\) 次以形成 \(K\) 步 MTP 模块,并且所有头联合训练以进行多步预测
      • 每个头接收主模型的隐藏状态和 Token 嵌入作为输入,提供更丰富的预测信息
  • 尽管设计轻量,MTP 模块仍然非常有效,并实现了高接受率
    • 详细结果见第 5 节

Pre-Training

  • MiMo-V2-Flash 的预训练语料库包含来自多样化高质量来源的 27T Token,包括公共网络内容、书籍、学术论文、代码、数学和更广泛的 STEM 材料
  • 论文的数据处理流程在很大程度上遵循了 MiMo-7B (2025),并有意转向展现长程依赖的数据
  • 特别是,论文强调长格式的网络文档和精心整理的代码语料库,如仓库级代码、拉取请求、问题和提交历史,以增强模型捕获扩展上下文关系和执行复杂多步推理的能力

Data Scheduler

  • MiMo-V2-Flash 的预训练组织为三个连续的阶段:
    • 阶段 1 :在多样化的高质量通用语料库上使用 32K Token 的上下文长度进行训练,以建立强大的基础语言能力
    • 阶段 2 :通过上采样以代码为中心的数据并纳入约 \(5%\) 的合成推理数据来修改数据混合,以进一步增强逻辑推理和程序合成能力
    • 阶段 3 :遵循第 2 阶段的数据分布,将模型的上下文窗口扩展到 256K Token,并对具有长程依赖的数据进行上采样,实现对扩展上下文和长视野推理的更有效建模

Hyper-Parameters

模型超参数
  • 论文将 MiMo-V2-Flash 配置为 48 个 Transformer 层,包括 39 个滑动窗口注意力层和 9 个全局注意力层。隐藏维度设置为 4096。除第一层外,所有层都配备了稀疏 MoE。每个 MoE 层包含 256 个路由专家,每 Token 激活 8 个专家,每个专家的中间隐藏维度为 2048。密集层 FFN 的中间隐藏维度设置为 16384。所有可学习参数均以 0.006 的标准差随机初始化。模型在预训练期间使用单层 MTP。总体而言,MiMo-V2-Flash 总参数量为 309B,其中激活参数量为 15B
训练超参数
  • 论文采用 AdamW 优化器,其中 \(\beta_{1} = 0.9\) , \(\beta_{2} = 0.95\) ,权重衰减为 0.1。梯度裁剪的最大范数为 1.0。学习率调度分两个阶段运行。在阶段 1,学习率在前 50B Token 从 0 线性预热到 \(3.2 \times 10^{- 4}\),然后在 \(3.2 \times 10^{- 4}\) 保持 12T Token,最后在 10T Token 上以余弦衰减到 \(1.0 \times 10^{- 4}\)。阶段 2 从 \(1.0 \times 10^{- 4}\) 开始,并在 4T Token 上以余弦衰减到 \(3.0 \times 10^{- 5}\)。批次大小在前 500B Token 线性预热到 2,048,并在两个阶段的剩余时间保持恒定。关于辅助损失,所有阶段的 MoE 序列辅助损失系数设置为 \(1.0 \times 10^{- 5}\)。专家偏置更新因子在阶段 1 和阶段 2 设置为 0.001。MTP 损失权重在阶段 1 设置为 0.3,在阶段 2 和 3 设置为 0.1
长上下文扩展
  • 在阶段 1,论文将预训练序列长度设置为 32,768,GA 的 RoPE 基础频率为 640,000,SWA 为 10,000。在阶段 3,序列长度扩展到 262,144,GA 的 RoPE 基础频率调整为 5,000,000。阶段 3 的学习率从 \(3.0 \times 10^{- 5}\) 以余弦调度衰减到 \(1.0 \times 10^{- 5}\),批次大小固定为 256。专家偏置更新因子在阶段 3 减少到 \(1.0 \times 10^{- 5}\)

Evaluations

Evaluation Setup
  • 论文在涵盖各种能力的一系列基准测试上评估 MiMo-V2-Flash-Base:
    • (1) 通用语言理解和推理,包括 BBH (2023), MMLU (2021a), MMLU-Redux (2024), MMLU-Pro (2024), DROP (2019), ARC (2018), HellaSwag (2019), WinoGrande (2020), TriviaQA (2017), GPQA-Diamond (2024), SuperGPQA (2025) 和 SimpleQA (OpenAI, 2024)
    • (2) 数学推理: GSM8K (2021), MATH (2021b) 和 AIME (MAA, 2024) (2024 & 2025)
    • (3) 代码: HumanEval+ (2023), MBPP+ (2023), CRUXEval (2024a), MultiPL-E (2022), BigCodeBench (2024), LiveCodeBench-v6 (2024) 和 SWE-Bench (2024a) (few-shot Agentless Repair (2024))
    • (4) 中文理解: C-Eval (2023), CMMLU (2023) 和 C-SimpleQA (2025)
    • (5) 多语言理解: GlobalMMLU (2025) 和 INCLUDE (2024)
    • (6) 长上下文: NIAH-Multi (2024), GSM-Infinite (2025) (5-shot, Hard Ops-{2,4,6,8,10})
Evaluation Results
  • 表 5 展示了 MiMo-V2-Flash-Base 与领先的开源基础模型 (Kimi Team, 2025c; 2024) 的全面比较
    • MiMo-V2-Flash-Base 在大多数基准测试中提供了有竞争力的性能,并在推理任务上持续超越同行
    • 在 SWE-Bench 上,它甚至超越了参数量大得多的 Kimi-K2-Base,同时使用了不到三分之一的参数,突显了论文方法在实际代码-智能体任务上的优势
    • 受限于其有限的参数量,论文观察到与更大的模型相比,MiMo-V2-Flash 表现出较低的知识能力,这反映在 SimpleQA 上
  • 论文在表 6 中说明了每个模型的长上下文能力
    • 对于长上下文检索,论文的模型架构从 32K 到 256K 实现了接近 \(100%\) 的成功率
      • 在极端压力长上下文推理基准 GSM-Infinite 上,MiMo-V2-Flash 也显示出强大的性能,从 16K 到 128K 性能下降最小
    • 相比之下,DeepSeek-V3.2-Exp 是一个稀疏注意力 LLM,在 32K 以下获得了最高分,但在 64K 和 128K 时显著下降,表明其在带噪输入的长上下文推理中存在固有劣势
      • 这些结果有力地证明了论文的混合 SWA 架构、原生 32K 预训练和上下文扩展训练的有效性和可扩展性

Post-Training

MOPD:多教师 On-policy 蒸馏 (Multi-Teacher On-Policy Distillation (MOPD): A New Post-Training Paradigm)

  • 现代语言模型越来越依赖广泛的后训练来增强其智能和能力,当前的后训练流程面临两个根本性挑战:
    • 能力不平衡 (capability imbalance) :提升某一技能会导致其他技能的退化(“跷跷板”效应);
    • 学习效率低下 (learning inefficiency) : 现有方法在整合来自多个专业模型的知识时未能充分利用训练信号
  • 论文提出多教师 On-policy 蒸馏 (Multi-Teacher On-Policy Distillation, MOPD),这是一个统一的后训练范式,通过一个三阶段的框架来解决这些挑战,如图 3 所示:
    • Stage 1:监督微调 (Supervised Fine-Tuning, SFT)
      • 论文通过在高质量指令-响应对上进行监督学习,建立基础的理解并遵循指令的能力,使模型能够理解并执行跨不同领域的用户请求
    • Stage 2:领域专业化训练 (Domain-Specialized Training)
      • 论文通过针对特定任务的独立 RL 优化来训练一系列领域专业化教师模型,这些任务包括:智能体能力(搜索、编码、通用工具使用)和非智能体任务(数学推理、通用推理、安全对齐)。每位教师通过针对其特定领域的奖励信号进行优化,在各自领域达到卓越性能
    • Stage 3:多教师 On-policy 知识蒸馏(Multi-Teacher On-Policy Distillation)
      • 与合并模型参数或从专家模型中生成静态离线数据集不同,论文将多教师知识集成(multi-teacher knowledge integration)制定为一个 On-policy 强化学习(on-policy reinforcement learning)过程
      • 学生模型从其自身不断演化的分布中进行采样,并通过 KL 散度奖励(KL divergence rewards) (2023;2024;2025) 接收来自领域特定教师的 Token-level 监督,从而有效地结合了多种专业能力,而无需承受传统的权衡取舍(见表 7)
  • 这种统一的框架相较于传统的后训练方法具有几个关键优势:
    • 高效且有效(Effective and Efficient)
      • 与常常需要权衡能力取舍的参数合并(parameter merging)或顺序训练不同,MOPD 保留了最强教师在所有领域中的峰值性能(peak performance)
      • 此外,利用来自教师 logits 的 Dense Token-level 奖励进行 On-policy 蒸馏,确保了稳定的信用分配(credit assignment)和快速收敛
      • 通过从其自身分布中学习,学生模型避免了在基于静态数据集训练的离线方法中常见的暴露偏差(exposure bias)和分布失配(distribution mismatch)
    • 模块化与可扩展性(Modular and Scalable)
      • 教师模型的选择非常灵活:可以是具备强大能力的专门化 RL 衍生模型、一个不同的 SFT 模型,甚至可以是学生模型自身
      • 这种解耦设计使得能够轻松集成新的教师模型,而无需重构整个流程
      • 此外,该框架能与现有的结果奖励模型(Outcome Reward Models, ORMs) 无缝协作,并且对于复杂的智能体任务尤为有利,因为为这些任务搭建独立的训练流程通常非常繁琐
    • 迭代协同进化(Iterative Co-Evolution)
      • MOPD 天然支持师生协同进化循环
      • 经过蒸馏的学生模型可以重新进入专门的 RL 阶段,以产生更强的教师模型;这些更强的教师模型反过来又能为下一代学生提供更高质量的监督,从而形成一个自我强化的改进循环,实现能力的持续扩展

SFT

  • SFT 阶段是论文后训练流程的基础,它将基础模型转变为一个有帮助的助手,能够遵循指令并在各种任务中有效响应
  • 这一阶段对于激活(activate) 模型在预训练期间获得的潜在能力,并将其输出与期望的格式和风格对齐至关重要
  • 论文精心整理了数百万个涵盖广泛领域的训练样本,包括通用对话、推理、编码和智能体任务
    • 这些样本覆盖了思维模式(thinking)和非思维模式(non-thinking),其中的回答由论文内部的领域专业化模型检查点生成
    • 这种多样化的训练混合确保了模型在其预期用例中能力的全面激活
  • 通过初步实验,论文为 MoE SFT 训练确定了一个关键稳定性指标:梯度为零的参数数量(number of parameters with zero gradients, num-zeros)
    • 该指标为训练不稳定性提供了早期预警信号:
      • num-zeros 增加 表明专家间的负载平衡正在恶化;
      • num-zeros 减少 则表明模型正在严重过拟合(overfitting) 训练数据
      • 问题:为什么梯度为零的参数数量跟 是否过拟合有关?
    • 因此,在整个训练过程中保持稳定的 num-zeros 对于成功的 SFT 至关重要
      • 此外,这种稳定性对于确保后续 RL 阶段的稳健性和收敛性也至关重要
  • 论文的实验表明,num-zeros 的稳定性关键取决于两个超参数:专家偏置更新率(expert bias update rate) 和 AdamW 优化器中的 \(\epsilon\) 参数
    • 基于这些发现,论文使用以下超参数配置论文的训练:论文采用余弦衰减学习率调度器,从 \(5.0 \times 10^{-5}\) 衰减到 \(5.0 \times 10^{-6}\),批次大小为 128,AdamW 的 \(\epsilon\) 设置为 \(1.0 \times 10^{-8}\)。MoE 专家偏置更新率设置为 \(1.0 \times 10^{-4}\),序列辅助损失系数(sequence auxiliary loss coefficient)设置为 \(1.0 \times 10^{-6}\)

Scaling Reinforcement Learning

  • 强化学习将模型能力提升到仅靠监督微调所无法达到的水平
  • 根据任务是否涉及智能体行为,论文采用不同的 RL 策略,同时缩放非智能体和智能体 RL 训练,以最大化不同领域的性能
Non-Agentic RL Training
  • 非智能体 RL 训练侧重于提升模型在单轮任务上的性能,此类任务中模型无需交互反馈或多步执行即可生成完整响应
  • 其主要目标是在可验证领域(如数学、编码、逻辑)提升模型的推理准确性,同时在开放式对话中使其输出对齐于帮助性和安全性
  • 论文生成奖励信号的方法因任务特征而异
    • 对于有可验证结果的领域 :
      • 论文采用结合程序化工具和 LLM Judge 的混合验证系统 ,以根据整理的 problem-solution pairs 自动评估正确性
    • 对于主观特性,如帮助性和安全性 :
      • 论文实施 基于评分细则 (rubrics) 的框架 ,由高级 LLM Judge 根据 详细的 rubrics 和参考答案 评估响应,产生细粒度的奖励信号,引导模型朝向期望的行为
    • 问题:各个领域都没有使用 BT RM 吗?
Agentic RL Training
  • 非智能体 RL 侧重于单轮推理和生成,而智能体 RL 则训练模型在需要规划、执行行动并根据反馈进行调整的交互式、多轮环境中运行
  • 论文沿着两个关键维度来扩展智能体 RL:环境多样性和计算资源
  • 扩展智能体环境多样性(Scaling Agentic Environment Diversity)
    • 论文构建了一套多样化的智能体训练环境,涵盖代码调试、终端操作、Web 开发和通用工具使用,每个环境都针对不同的能力方向,同时均需满足多步推理与执行这一共同要求
Code Agent
  • 论文在源自真实世界 GitHub 问题的大规模代码智能体任务上进行训练
  • 模型在智能体循环中运行,读取和编辑文件、执行命令,并根据可验证的单元测试获得奖励
  • 论文的关键 Insight 是: 持续扩展可用任务能推动代码智能的持续提升
  • 为了在超过 10 万个代码任务上实现高效的 RL 训练,论文开发了两个基础设施组件
    • 首先,论文构建了自动化环境设置流水线
      • 该流水线从仓库快照中配置开发环境并将其打包成容器化镜像
      • 在 8 种编程语言上达到 \(70%\) 的成功率,并由运行超过 1 万个并发 pod 的大规模 Kubernetes 集群支持
    • 其次,论文实现了一个轻量级智能体 scaffold
      • 可与 Kubernetes、Docker 或本地后端无缝集成,暴露了三个原子工具(bash、str_replace、finish),仅通过 shell 命令与执行后端交互
    • 这种设计消除了基于服务器的工具实现,并采用最小的系统提示词,没有预定义的工作流,允许模型在训练中发现最佳实践
Terminal Agent
  • 除了 GitHub 问题,论文还利用来自 Stack Overflow 和 Stack Exchange 的任务来强化基于终端的解决问题能力
    • 主要强调的是
  • 论文选取需要高级技术专长的材料,并将其转化为具有相应 Query 、Dockerfile 和测试用例的计算任务
  • 在验证环境安装并按难度和可靠性过滤后,论文获得了大约 3 万个带有已验证执行环境的 Query
  • 基于通过率的额外过滤移除了那些正确性判断不可靠或复杂度不足以进行有效 RL 训练的任务
Web Development Agent
  • 为了提升 Web 开发代码生成能力,论文构建了一个基于真实世界的合成数据集,并配有多模态验证器
  • 论文收集高质量用户编写的网页,使用 Playwright 执行生成的代码以获得渲染视频,并应用多模态视觉判别器以仅保留高质量样本,其中基于视频的评估相较于静态截图减少了视觉幻觉
  • 论文从整理的页面逆向工程用户 Query 作为种子提示词,合成大规模 RL 数据,涵盖与真实世界使用密切匹配的八个 Web 类别
  • 论文的基于视觉的验证器根据录制的视频对 rollout 执行进行评分,联合评估视觉质量、功能正确性和可执行性,确保奖励反映外观和行为
General Agent
  • 论文开发了两种通用智能体能力
  • 搜索智能体(Search Agent):
    • 采用一个提供三个核心工具(search、open、find)的脚手架,用于自主网页探索
    • 论文通过从种子实体递归扩展事实图来构建 Query ,其中难度随关系链深度和细节混淆而增加,从而实现具有可验证答案的具有挑战性的搜索问题的自动生成
  • 函数调用智能体(Function-Calling Agent)
    • 在具有自定义工具集的合成应用环境中训练,这些工具集通过基于显式数据依赖(直接的输入-输出关系)和隐式逻辑依赖(关于隐藏系统状态的推理)生成工具调用图来构建,要求具备数据传播和状态推断能力
Scaling Agentic Compute
  • 在之前多样化的智能体环境集上训练(表 8),论文发现扩展智能体 RL 计算不仅能提升代码智能体性能,还能有效地泛化到其他任务类型
  • 图 4 显示了论文代码智能体的 RL 训练曲线,模型在大约 12 万个环境中执行了 On-policy rollouts 和更新
    • 这种扩展显著提升了 SFT 基础模型在 SWE-Bench-Verified 和 SWE-Bench-Multilingual 上的性能
  • 图 5 表明,大规模的代码智能体 RL 训练能有效地泛化到其他智能体任务,以及数学、代码和通用推理基准测试,这表明智能体训练培养了广泛可迁移的问题解决能力

Technical Formulation of MOPD

  • 通过 SFT 奠定基础并训练了领域专业化教师后,论文现在将整合这些专业化能力到统一学生模型的多教师 On-policy 蒸馏机制形式化
    • 具体地,论文将多教师蒸馏视为一个 On-policy 强化学习目标
  • 令 \(\pi_{\theta}\) 表示训练引擎中优化的目标学生策略,\(\mu_{\theta}\) 表示推理引擎中采用的学生采样策略,\(\pi_{\mathrm{domain}_x}\) 表示从分布 \(\mathcal{D}\) 中采样的提示词 \(x\) 所在领域的专业化教师策略
    • 令 \(\mathrm{sg}[\cdot ]\) 表示停止梯度算子
    • 学生与教师之间的反向 KL 散度损失(Reverse KL Divergence Loss)定义为:
      $$\mathcal{L}_{\mathrm{reverse - KL} }(\theta) = -\mathbb{E}_{x\sim \mathcal{D},y_{t}\sim \pi_{\theta}(\cdot |x,y_{< t})}\log \frac{\pi_{\mathrm{domain}_x}(y_t|x,y_{< t})}{\pi_{\theta}(y_t|x,y_{< t})}. \tag{5}$$
    • 注:这个式子看起来不像是 KL 散度,因为采样分布和分子分布不同,实际上经过转换后,即消除负号后,本身就是 Reverse-KL 散度,详情见附录
  • 其梯度为:
    $$\nabla_{\theta}\mathcal{L}_{\mathrm{reverse - KL} }(\theta) = -\mathbb{E}_{x\sim \mathcal{D},y_{t}\sim \pi_{\theta}(\cdot |x,y_{< t})}\left[\log \frac{\pi_{\mathrm{domain}_x}(y_t|x,y_{< t})}{\pi_{\theta}(y_t|x,y_{< t})}\nabla_{\theta}\log \pi_{\theta}(y_t|x,y_{< t})\right]. \tag{6}$$
  • 遵循 Zhao 等人的工作 (2025),论文应用训练-推理重要性采样,并舍弃表现出大差异的 Token,然后论文定义 MOPD 的替代损失为:
    $$\mathcal{L}_{\mathrm{MOPD} }(\theta) = -\mathbb{E}_{x\sim \mathcal{D},y\sim \mu_{\theta}(\cdot |x)}\left[\frac{1}{|y|}\sum_{t = 1}^{|y|}w_{t}\hat{A}_{\mathrm{MOPD},t}\log \pi_{\theta}(y_t|x,y_{< t})\right], \tag{7}$$
  • 其中
    $$w_{t}(\theta) = \left\{ \begin{array}{ll}\mathrm{sg}\left[\frac{\pi_{\theta}(y_{t}|x,y_{< t})}{\mu_{\theta}(y_{t}|x,y_{< t})}\right], & \epsilon_{\mathrm{low} }\leq \frac{\pi_{\theta}(y_{t}|x,y_{< t})}{\mu_{\theta}(y_{t}|x,y_{< t})}\leq \epsilon_{\mathrm{high} },\\ 0, & \mathrm{otherwise}, \end{array} \right.\quad \hat{A}_{\mathrm{MOPD},t} = \mathrm{sg}\left[\log \frac{\pi_{\mathrm{domain}_x}(y_t|x,y_{< t})}{\pi_{\theta}(y_t|x,y_{< t})}\right]. \tag{8}$$
    • 其中 \(w_{t}(\theta)\) 是训推重要性采样
    • 注意:这里的 Advantage 看似和 ThinkingMachines 提出的 OPD 实现是反的,实际上是一样的,因为 OPD 是先是先计算 Reverse-KL 散度的公式,然后再加个 负号的,这里相当于没有这个负号了
      • 理解:最终含义:最大化 Advantage,等于最小化 Reverse-KL 散度
  • 默认情况下,论文将 MOPD 的优势与其他类型的优势相结合,例如使用结果奖励模型 (Outcome Reward Models, ORMs) 计算的优势,包括 GRPO (2024)
  • 令 \(\hat{A}_{\mathrm{ORM} }\) 表示由 ORMs 计算的优势;最终优势由下式给出:
    $$\hat{A}_{\mathrm{MOPD},t} = \mathrm{sg}\left[\log \frac{\pi_{\mathrm{domain}_x}(y_t|x,y_{< t})}{\pi_{\theta}(y_t|x,y_{< t})}\right] + \alpha \hat{A}_{\mathrm{ORM} }. \tag{9}$$
  • 图 6 展示了 MOPD 相较于传统后训练方法的有效性
    • 在数学推理 (AIME 2025) 和编码 (LiveCodeBench) 基准测试上,MOPD 成功保留并整合了来自多位教师的专业化能力,在大多数领域达到或超过了最强教师的性能

Evaluations

Evaluation Setup
  • 论文在 MMLU-Pro (2024)、GPQA-Diamond (2024)、HLE Text-only (2025)、AIME 2025 (MAA, 2024)、LiveCodeBench (2024.08-2025.04) (2024)、HMMT Feb. 2025 (Balunović2025)、Arena-Hard (2024)、LongBench V2 (2025)、MRCR (2024)({2,4,8}-needles,最大 128K)、SWE-Bench Verified (2024b)、SWE-Bench Multilingual (2025)、Terminal-Bench、BrowseComp (2025)、\(\tau^2\)-Bench (2025) 上评估 MiMo-V2-Flash
Evaluation Results
  • 论文在表 9 中展示了评估结果
    • MiMo-V2-Flash 在大多数推理基准测试上达到了与 Kimi-K2-Thinking 和 DeepSeek-V3.2-Thinking 相当的性能
    • MiMo-V2-Flash 模型还保持了有竞争力的通用写作能力,使其能够在开放式任务上生成高质量响应
    • 在长上下文评估中,论文的模型超越了规模大得多的全全局注意力 LLM Kimi-K2-Thinking,突显了论文混合 SWA 架构强大的长上下文能力
  • MiMo-V2-Flash 在 SWE-Bench Verified 上达到了 \(73.4%\),超越了所有开源竞争对手,并接近 GPT-5-High 的性能
    • 在 SWE-Bench Multilingual 上,论文的模型解决了 \(71.7%\) 的问题,确立了其作为软件工程任务中最强大的开源 LLM 的地位
    • 这些结果强调了论文超大规模智能体 RL 训练的有效性
    • 在 Terminal Bench 上,该模型也取得了有竞争力的分数
  • 在搜索智能体评估中,MiMo-V2-Flash 在 BrowseComp 上得分为 45.4,应用附录 C 概述的上下文管理方法后进一步提升至 58.3
    • 对于在 \(\tau^2\)-Bench 上的通用工具使用,论文使用 DeepSeek-V3.2 作为用户代理,获得了 95.3(电信)、79.5(零售)、66.0(航空)的类别分数
  • 综上所述,这些结果验证了论文在 MOPD 后训练范式内超大规模 RL 训练的有效性,并突出了该模型在现实世界编码、推理和智能体工作流中的强大潜力

RL Infrastructures

  • 论文的 RL(和 MOPD)基础设施使用 SGLang (2024) 作为推理引擎,使用 Megatron-LM (2019) 作为训练引擎
    • 论文采用 FP8 进行训练和推理
  • 为了实现稳定、高效且灵活的 RL 训练,论文实现了三个扩展模块:
    • Rollout Routing Replay (R3) (2025)(第 4.6.1 节)、数据调度器 (Data Scheduler)(第 4.6.2 节)以及与 Toolbox 结合的 Tool Manager(第 4.6.3 节)
通过 Rollout Routing Replay (R3) 稳定训练 (Stablized Training via Rollout Routing Replay (R3))
  • MoE 模型由于数值精度问题 (2025; 2025),在 rollout 和训练过程中会出现专家路由不一致的问题
  • 论文提出 Rollout Routing Replay (R3) (2025) 来使用与 rollout 相同的路由专家进行 RL 训练,通过优化的数据类型和通信重叠使其开销可忽略不计
    • 对于多轮智能体训练,论文在 rollout 期间采用请求级别的前缀缓存
  • 此缓存存储先前轮次的 KVCache 和 MoE 路由专家,允许它们在同一请求的后续生成步骤中重复使用
  • 与当前推理引擎中常用的基数缓存 (radix cache) 不同,论文的请求级别前缀缓存避免了重新预填充或请求间输出缓存共享 ,确保了路由专家的采样一致性
Data Scheduler
  • 对于 MiMo-V2-Flash,论文扩展了 Seamless Rollout Engine (2025) 并实现了一个数据调度器 (Data Scheduler),以无缝调度细粒度的序列而非微批次,解决分布式 MoE 训练中的 GPU 闲置问题
    • 在动态采样中,当序列返回进行奖励计算时,论文参考历史通过率,并在必要时将新的提示词分配给 GPU 以实现负载均衡
  • 论文整合部分 rollout (partial rollout) (2025; Kimi Team, 2025b) 将过长的轨迹跨步骤分区,同时限制陈旧性以及每个批次中部分样本的比例
    • 通过对部分 rollout 采用陈旧性感知的截断重要性采样,论文在不牺牲模型质量的前提下显著加速了 RL 训练
  • 数据调度器支持特定数据源的配置(采样配额、调度优先级、长度限制、温度)并根据配置的比例拟合通过率来接受样本
    • 基于优先级的调度在不同时间模式的数据源之间重叠奖励计算和推理,确保了高 GPU 利用率
Toolbox and Tool Manager
  • 论文实现了 Toolbox 和 Tool Manager 来解决 RL 智能体训练中的全局资源争用和局部低效问题
    • 这些模块利用 Ray (2018) 进行高效调度
  • Toolbox 作为集中式资源分配器,对跨并发任务的工具强制执行资源配额和 QPS 限制
    • 它采用容错的 Ray Actor 池,消除了冷启动延迟
    • 与 rollout 引擎集成后,Tool Manager 与 Toolbox 协调,通过环境预预热和序列级异步奖励计算来加速训练
  • 它通过超时恢复和实时监控来保持训练稳定性
    • 通过将工具管理和 rollout 工作流解耦,Toolbox 将特定于任务的逻辑与系统范围策略隔离开来,实现了模块化可扩展性而不损害稳定性

MTP Speedup

MTP Acceptance Length

  • 论文分析了模型通过下一 Token 交叉熵 (cross-entropy) 衡量的预测不确定性与多 Token 预测 (MTP) 模块效率之间的关系
  • 如图 7 所示,论文在涵盖代码生成 (例如 WebDev, LiveCodeBench) 到复杂推理任务 (例如 AIME25, MMLU Pro) 的多样化基准测试中,评估了使用 3 层 MTP 时的平均接受长度
  • 结果显示出强烈的负相关性:熵值较低的上下文 (如 WebDev) 允许显著更长的接受序列,达到约 3.6 个 Token
    • 相反,内在不确定性较高的任务 (例如 MMLU Pro) 由于预测分歧增加,表现出较短的接受长度
    • 这种行为可以通过一个对数变换拟合曲线 \((y = 4(1 - 0.58x^{0.58}))\) 精确建模,其 \(R^2\) 为 0.995,这表明下一 Token 交叉熵是 MTP 吞吐量的主要决定因素

MTP Inference Speedup

  • 论文测量了 MiMo-V2-Flash 在使用 3 层 MTP 时,在不同批次大小 (每节点) 和接受长度下的解码加速情况,输入长度为 16K,输出长度为 1K
  • 表 10 中的结果表明,在无需额外硬件成本的情况下,MTP 始终优于不使用 MTP 的基线
    • 加速比随接受长度线性缩放
    • 在不同的批次大小下,MTP 表现出不同的加速效果,这取决于相应的计算和 I/O 需求以及内核效率
  • 在实践中,研究人员和工程师应根据硬件屋顶线模型 (hardware roofline models) 来调整批次大小和 MTP 层数,以优化速度-成本权衡

Limitation, and Future Work

  • 与最强大的闭源权重模型相比,仍存在明显差距,论文计划通过扩大模型规模和训练计算量来缩小这一差距
  • 论文目前的架构探索仍然是初步的,对设计权衡的分析有限
  • 未来的工作将侧重于设计更鲁棒、更高效、面向智能体的模型架构
  • 论文计划扩展 MOPD 中教师与学生迭代协同进化所需的计算量,以充分释放其潜力

附录 B:Reward Hacking 与 SWE-Bench**

  • 与 SWE-Bench 社区近期的发现一致,论文同样识别出了官方 SWE-Bench 镜像中的一个漏洞:未正确删除用于验证的 ground truth 提交记录
  • 在 RL 训练期间,这可能导致 Reward Hacking 和评估分数虚高,模型倾向于通过窥探未来提交记录(peeking at future commits) 来获得奖励,如图 8 所示
  • 为解决此问题,论文在评估中已更新至最新的 SWE-Bench 镜像
  • 对于论文自行构建的训练镜像,论文也遵循了官方 SWE-Bench 关于 git 黑客攻击的解决方案,并反复确认论文的模型未表现出任何奖励黑客攻击行为
  • 图 8 论文的 Qwen3-32B 实验在未经处理的镜像中进行 RL 训练时表现出的奖励黑客攻击倾向
    • 论文通过统计模型 rollout 轨迹中一组关键词(如 “git log –all”)的数量来量化模型的 git 黑客攻击尝试

附录 C:Context Management

  • 虽然 Fine-tuning 和 RL 优化的是模型参数 \(\theta\),但上下文管理(Context Management)则是策略性地优化条件上下文 \(C\)(conditioning context),即影响 \(P(y \mid C, \theta)\)
  • 论文的方法旨在解决两个互补的挑战
    • 对于上下文增强(Context Augmentation)
      • 论文采用了类 Unix 的抽象方法:工具(tools)、文档(documents)和数据库(databases)被统一视作文件(files)来暴露,使得模型能够利用其天然的代码生成能力,通过 Bash 命令来检索信息
    • 对于上下文整合(Context Consolidation)
      • 论文通过强制实施激进的内存压缩(aggressive memory compression)来对抗迷失在中间(”Lost in the Middle”) 现象
      • 当上下文使用率超过一个阈值(可低至 30%)时,系统会提示模型进行总结(summarize),将完整的历史记录存档至一个可检索的记忆文件(retrievable memory file)中,并用摘要替换活跃上下文
  • Empirically,这在 Deep Research tasks 上能带来 5-10% 的准确率提升
  • 论文的结果与 DeepSeek V3 的发现一致:
    • 丢弃工具调用历史(discarding tool-call history)优于保留策略;
    • 通过复现其激进的重置协议(aggressive reset protocol),论文在可比的基准测试中取得了 58.3 分
  • 核心见解反直觉但有力:更少但策略性管理(strategically managed)的上下文,能产生更专注和更准确的生成结果

附录:MOPD 的详细理解

  • 本报告中提出的 Multi-Teacher On-Policy Distillation(MOPD) 是一种新颖的后训练范式,旨在解决传统后训练中存在的“能力不平衡”和“学习效率低”问题
    • 核心思想是通过多教师、基于当前策略的蒸馏 ,将不同领域的专家知识高效地集成到一个统一的学生模型中

MOPD 的核心思想与流程回顾

  • MOPD 分为三个阶段:
    • 阶段1:Supervised Fine-Tuning (SFT) :在高质量指令-响应对上进行监督微调,建立基础指令遵循能力
    • 阶段2:Domain-Specialized Training :通过强化学习训练多个领域专家教师模型,如代码生成、数学推理、工具使用等
    • 阶段3:Multi-Teacher On-Policy Distillation :学生模型基于自身当前策略进行采样,同时接收来自多个教师的 token 级别监督信号,进行策略优化

MOPD 的数学建模

  • 基本符号定义:
    • \( \pi_\theta \):学生模型的策略(训练引擎中优化)
    • \( \mu_\theta \):学生模型的采样策略(推断引擎中使用)
    • \( \pi_{\text{domain}_x} \):针对输入 \( x \) 对应领域的教师策略
    • \( \mathcal{D} \):训练数据分布
    • \( \text{sg}[\cdot] \):停止梯度操作(stop-gradient)
Reverse-KL Divergence Loss
  • MOPD 使用 反向 KL 散度 作为教师对学生模型的监督信号:
    $$
    \mathcal{L}_{\text{reverse-KL} }(\theta) = -\mathbb{E}_{x \sim \mathcal{D}, y_t \sim \pi_\theta(\cdot|x, y_{ < t})} \log \frac{\pi_{\text{domain}_x}(y_t | x, y_{ < t})}{\pi_\theta(y_t | x, y_{ < t})}
    $$
    • 注意:反向 KL 散度的详细介绍见后文
  • 其梯度为:
    $$
    \nabla_\theta \mathcal{L}_{\text{reverse-KL} }(\theta) = -\mathbb{E}_{x \sim \mathcal{D}, y_t \sim \pi_\theta(\cdot|x, y_{ < t})} \left[ \log \frac{\pi_{\text{domain}_x}(y_t | x, y_{ < t})}{\pi_\theta(y_t | x, y_{ < t})} \cdot \nabla_\theta \log \pi_\theta(y_t | x, y_{ < t}) \right]
    $$
训练-推理重要性采样与截断(解决训练-推理不一致问题)
  • 为了稳定训练,引入重要性权重 \( w_t(\theta) \) 来筛选高置信度 token:
    $$
    w_t(\theta) =
    \begin{cases}
    \text{sg}\left[ \frac{\pi_\theta(y_t | x, y_{ < t})}{\mu_\theta(y_t | x, y_{ < t})} \right], & \epsilon_{\text{low} } \leq \frac{\pi_\theta(y_t | x, y_{ < t})}{\mu_\theta(y_t | x, y_{ < t})} \leq \epsilon_{\text{high} } \\
    0, & \text{otherwise}
    \end{cases}
    $$
MOPD 优势函数定义
  • MOPD 的优势函数由教师策略的对数似然比构成:
    $$
    \hat{A}_{\text{MOPD},t} = \text{sg}\left[ \log \frac{\pi_{\text{domain}_x}(y_t | x, y_{ < t})}{\pi_\theta(y_t | x, y_{ < t})} \right]
    $$
MOPD 最终损失函数
  • MOPD 的代理损失函数为:
    $$
    \mathcal{L}_{\text{MOPD} }(\theta) = -\mathbb{E}_{x \sim \mathcal{D}, y \sim \mu_\theta(\cdot|x)} \left[ \frac{1}{|y|} \sum_{t=1}^{|y|} w_t(\theta) \cdot \hat{A}_{\text{MOPD},t} \cdot \log \pi_\theta(y_t | x, y_{ < t}) \right]
    $$
结合其他奖励信号(实际应用中的 MOPD)
  • MOPD 可以与基于结果的奖励模型(如 GRPO)结合,形成混合优势函数:
    $$
    \hat{A}_{\text{final},t} = \hat{A}_{\text{MOPD},t} + \alpha \cdot \hat{A}_{\text{ORM} }
    $$
    • 其中 \( \hat{A}_{\text{ORM} } \) 是由结果奖励模型计算的优势

MOPD 的核心逻辑与优势

  • 逻辑流程总结:
    • 1)采样阶段 :学生模型使用当前策略 \( \mu_\theta \) 生成响应序列
    • 2)教师监督 :每个 token 对应领域的教师模型给出 token 级别概率分布
    • 3)优势计算 :计算教师与学生策略的对数似然比作为优势信号
    • 4)策略更新 :使用带重要性采样的策略梯度更新学生模型参数
  • 关键优势总结:
    • Token 级别监督 :教师提供密集的 token 级别反馈,而非仅序列级别奖励
    • 多教师集成 :不同领域的教师并行监督,避免能力退化(跷跷板效应)
    • On-Policy 学习 :学生基于自身当前策略采样,避免离线数据分布不匹配
    • 可扩展性 :可与 ORM、GRPO 等外部奖励模型结合,形成混合训练目标

附录:Reverse KL Divergence vs Forward KL Divergence

两种 KL 散度的定义

  • KL 散度(Kullback–Leibler Divergence)衡量两个概率分布 \( 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)

在策略蒸馏中的具体含义

  • 在 MOPD 中:
    • \(P\) = 教师策略 \(\pi_{\text{teacher} }\)
    • \(Q\) = 学生策略 \(\pi_{\theta}\)
如果在 MOPD 中使用前向 KL 散度(教师采样):
  • 损失函数为:
    $$
    \mathcal{L}_{\text{forward-KL} } = \mathbb{E}_{x \sim \text{data}, y_t \sim \pi_{\text{teacher} } } \left[ \log \frac{\pi_{\text{teacher} }(y_t)}{\pi_{\theta}(y_t)} \right]
    $$
    • 教师策略生成样本
    • 学生被要求匹配教师实际生成的所有行为
    • 教师可能有多种正确方式(多峰),学生被迫学习所有方式,可能导致 平均化、保守的输出
    • 注意:从另一个角度讲,教师策略来生成样本就不应该叫做 On-policy 了
在 MOPD 中使用反向 KL 散度(学生采样):
  • 损失函数为:
    $$
    \mathcal{L}_{\text{reverse-KL} } = \mathbb{E}_{x \sim \text{data}, y_t \sim \pi_{\theta} } \left[ \log \frac{\pi_{\theta}(y_t)}{\pi_{\text{teacher} }(y_t)} \right]
    $$
    • 学生自己采样 ,检查教师对这些样本的评价
    • 如果学生生成了一个教师认为很差的 token(\(\pi_{\text{teacher} }\) 很小),则受到强烈惩罚
    • 如果学生生成了一个教师认可的 token,则鼓励学生 保持自信(增加该 token 的概率)
    • 结果:学生学会避免生成教师不认可的 token ,并在教师认可的路径上强化自身策略
MOPD 选择反向 KL 的优势
  • 模式寻求(Mode-seeking)而非模式覆盖(Mode-covering) :
    • 在多个教师场景下,每个教师可能代表一种“正确风格”
    • 反向 KL 让学生 专注于学习某一个教师的风格(选择一个模式深入学习),而不是在所有教师风格间取平均
      • 问题:这个理解有时候也觉得不太对,因为如果每个教师对应一个峰值,那其实使用前向 KL 拟合多峰才是应该的?
      • 回答:同一个样本只对应一个领域教师模型,每个教师是单独教授模型的,对于任意的 Query,学习的并不是多个教师的峰,本质还是在学习(固定 Query 下)某个教师的风格
    • 这有助于形成 更确定、更一致 的生成行为
  • 与 On-Policy RL 自然结合 :
    • RL 中的策略梯度是
      $$ \mathbb{E}_{y \sim \pi_{\theta} } [\text{reward} \cdot \nabla \log \pi_{\theta}]$$
    • 反向 KL 的梯度形式与其完全一致:
      $$ \mathbb{E}_{y \sim \pi_{\theta} } [\log(\frac{\pi_{\text{teacher} }}{\pi_{\theta}}) \cdot \nabla \log \pi_{\theta}]$$
      • 注意这里的采样策略是学生模型,不是教师模型,若是教师模型,这里是不可以的
    • 这使得蒸馏信号可以直接作为 优势函数(advantage) 融入 RL 更新
  • 避免教师次优行为 :
    • 教师策略可能有不完美的行为(噪声、次优选择)
    • 即使教师偶尔生成了教师的低概率行为,反向 KL 也能让学生 避开 教师得这些低概率的行为(前向 KL 可能会让学生模仿这些次优行为)
  • 稳定训练 :
    • 反向 KL 鼓励学生分布 \(Q\) 避免探索教师分布的低概率区域,这在训练早期尤其稳定

MOPD 公式的微妙之处

  • 注意 MiMo-V2-Flash 技术报告的公式 (5) 中的符号:
    $$\mathcal{L}_{\mathrm{reverse - KL} }(\theta) = -\mathbb{E}_{x\sim \mathcal{D},y_{t}\sim \pi_{\theta}(\cdot |x,y_{< t})}\log \frac{\pi_{\mathrm{domain}_x}(y_t|x,y_{< t})}{\pi_{\theta}(y_t|x,y_{< t})}. \tag{5}$$
    • 这个式子看起来不像是 KL 散度,因为采样分布和分子分布不同,实际上经过转换(消除负号后)本身就是 Reverse-KL 散度
  • 这实际上是 最大化教师对学生似然比的对数期望 ,等价于最小化:
    $$\mathcal{L}_{\mathrm{reverse - KL} }(\theta) = \mathbb{E}_{x\sim \mathcal{D},y_{t}\sim \pi_{\theta}(\cdot |x,y_{< t})}\log \frac{\pi_{\theta}(y_t|x,y_{< t})}{\pi_{\mathrm{domain}_x}(y_t|x,y_{< t})} $$
    • 这就是 Reverse-KL 散度的表达是,OPD 的训练目标就是最小化这个 Reverse-KL 散度,最小化这个 KL 散度就是让两个分布足够接近
  • 所以优化方向是让 \(\pi_{\theta}\) 在自身样本上得到教师的认可
  • MOPD 使用反向KL,是因为它本质上是一个 “基于当前策略的强化学习” 过程:
    • 学生作为 actor 生成行为(token)
    • 教师作为 critic 给出每个 token 的“优势值”(\(\log \frac{\pi_{\text{teacher} } }{\pi_{\theta} }\))
    • 学生更新策略以增加高优势 token 的概率,减少低优势 token 的概率

NLP——mHC

注:本文包含 AI 辅助创作

  • 参考链接:
    • 原始论文:mHC: Manifold-Constrained Hyper-Connections, DeepSeek, 20251231
      • 梁文峰挂名
    • 论文的上一篇文章:Hyper-connections, 202409 & ICLR 2025, Seed

Paper Summary

  • 整体内容总结:
    • 作者发现:虽然如超连接 (HC) 等工作所提出的那样扩展残差流的宽度和多样化连接可以带来性能提升,但这些连接的无约束性质会导致信号发散
      • 这种破坏损害了跨层的信号能量守恒,导致训练不稳定并阻碍了深度网络的可扩展性
    • 为了解决这些挑战,论文引入了是一个将残差连接空间投影到特定流形的通用框架 流形约束的超连接(Manifold-Constrained Hyper-Connections,\(m\)HC)
    • 关键词:\(m\)HC, mHC
  • 背景 & 问题:
    • 以超连接(Hyper-Connections,HC)为代表的研究,通过扩展残差流宽度(residual stream width)和多样化连接模式(diversifying connectivity patterns),扩展了过去十年建立的普遍存在的(ubiquitous)残差连接范式
    • HC 带来了显著的性能提升,但这种多样化从根本上破坏了残差连接固有的恒等映射性质,导致严重的训练不稳定性、受限的可扩展性,并额外产生了显著的内存访问开销
  • 本文解法:流形约束的超连接(\(m\)HC)
    • mHC 是一个将 HC 的残差连接空间投影到特定流形以恢复恒等映射性质的通用框架,同时结合了严格的基础设施优化以确保效率
  • 实证实验表明,\(m\)HC 对于大规模训练是有效的 ,提供了切实的性能改进和卓越的可扩展性
  • 论文预计,\(m\)HC 作为 HC 的一个灵活且实用的扩展,将有助于更深入地理解拓扑架构设计,并为基础模型的演进指明有前景的方向
  • 图 1:残差连接范式图示(Illustrations of Residual Connection Paradigms):
    • (a) 标准残差连接(Standard Residual Connection)
    • (b) 超连接(Hyper-Connections,HC)
    • (c) mHC
    • 与无约束的 HC 不同,\(m\)HC 侧重于通过将矩阵投影到约束流形上来优化残差连接空间,以确保稳定性

Introduction and Discussion

  • 自 ResNets(2016a)引入以来,深度神经网络架构经历了快速演变,如图 1(a) 所示,单层的结构可以表述如下:
    $$\mathbf{x}_{l+1}=\mathbf{x}_{l}+\mathcal{F}(\mathbf{x}_{l},\mathcal{W}_{l}) \tag{1}$$
    • \(\mathbf{x}_{l}\) 表示第 \(l\) 层的 \(C\) 维输入
    • \(\mathbf{x}_{l+1}\) 表示第 \(l\) 层的 \(C\) 维输出
    • \(\mathcal{F}\) 代表残差函数
    • 尽管残差函数 \(\mathcal{F}\) 在过去十年中已演变为包含卷积、注意力机制和前馈网络等各种操作,但残差连接的范式保持了其原始形式
    • 注:这里残差的本质是让输出等于原始输入再加一个增量
  • 随着 Transformer(2017)架构的发展,该范式目前已成为 LLMs(2020;2024b;2023)的基本设计元素
    • 这一成功主要归功于残差连接的简洁形式
    • 更重要的是,早期研究 Identity Mappings in Deep Residual Networks, Kaiming He, Microsoft Research, 20160725 揭示了残差连接的恒等映射性质在大规模训练期间保持了稳定性和效率
  • 通过跨多个层递归扩展残差连接,公式 (1) 得出:
    $$\mathbf{x}_{L}=\mathbf{x}_{l}+\sum_{i=l}^{L-1}\mathcal{F}(\mathbf{x}_{i},\mathcal{W}_{i}),\tag{2}$$
    • 其中 \(L\) 和 \(l\) 分别对应更深层和更浅层(deeper and shallower layers)
    • 术语 恒等映射(identity mapping) 指的是分量 \(\mathbf{x}_{l}\) 本身,它强调了来自浅层的信号无需任何修改直接映射到深层的性质
  • Recently,以超连接(Hyper-Connections,HC)Hyper-connections, 202409 & ICLR 2025, Seed 为代表的研究为残差连接引入了新的维度,并通过实验证明了其性能潜力
    • HC 的单层架构如图 1(b) 所示
    • 通过扩展残差流的宽度并增强连接复杂性,HC 在不改变单个单元 FLOPs 计算开销的情况下,显著增加了拓扑复杂性
    • 形式上,HC 中的单层传播定义为:
      $$\mathbf{x}_{l+1}=\mathcal{H}^{\text{res} }_{l}\mathbf{x}_{l}+\mathcal{H}^{\text {post}\top }_{l}\mathcal{F}(\mathcal{H}^{\text{pre} }_{l}\mathbf{x}_{l},\mathcal{W}_{l}) \tag{3}$$
    • \(\mathbf{x}_{l}\) 表示第 \(l\) 层的 \(n\times C\) 维输入
    • \(\mathbf{x}_{l+1}\) 表示第 \(l\) 层的 \(n\times C\) 维输出
    • 注意:
      • 与公式 (1) 中的(native 残差)表述不同,\(\mathbf{x}_{l}\) 和 \(\mathbf{x}_{l+1}\) 的特征维度从 \(C\) 扩展到 \(n\times C\)
      • 其中 \(n\) 是扩展率
    • \(\mathcal{H}^{\text{res} }_{l}\)、\(\mathcal{H}^{\text{pre} }_{l}\) 和 \(\mathcal{H}^{\text{post} }_{l}\) 是三个可学习的映射(learnable mapping)
      • \(\mathcal{H}^{\text{res} }_{l}\in\mathbb{R}^{n\times n}\) 用于混合残差流内的特征
      • \(\mathcal{H}^{\text{pre} }_{l}\in\mathbb{R}^{1\times n}\) 将来自 \(nC\) 维流的特征聚合到 \(C\) 维层输入
      • \(\mathcal{H}^{\text{post} }_{l}\in\mathbb{R}^{1\times n}\) 将层输出映射回流中
    • 注:上述公式可对应着 图 1(b) 一起看
  • 然而,随着训练规模增大,HC 引入了潜在的不稳定风险
    • 主要问题在于 HC 的无约束性质在架构跨越多层时会破坏恒等映射性质
    • 在包含多个并行流的架构中,理想的恒等映射作为一种守恒机制,确保跨流的平均信号强度在前向和反向传播期间保持不变
    • 通过公式 (3) 将 HC 递归扩展到多层,可得:
      $$\mathbf{x}_{L}=\left(\prod_{i=1}^{L-l}\mathcal{H}^{\text{res} }_{L-i}\right)\mathbf{x}_{l}+\sum_{i=l}^{L-1}\left(\prod_{j=1}^{L-1-i}\mathcal{H}^{\text{res} }_{L-j}\right)\mathcal{H}^{\text{post}\top}_{i}\mathcal{F}(\mathcal{H}^{\text{pre} }_{i}\mathbf{x}_{i},\mathcal{W}_{i}) \tag{4}$$
      • 其中 \(L\) 和 \(l\) 分别代表更深的层和更浅的层
    • 与公式 (2) 相比,HC 中的复合映射 \(\prod_{i=1}^{L-l}\mathcal{H}^{\text{res} }_{l-i}\) 未能保持特征的全局均值
      • 这种差异导致信号无限制地放大或衰减,从而在大规模训练中造成不稳定
  • 进一步考虑的是,虽然 HC 在 FLOPs 方面保持了计算效率,但原始设计中未解决扩展残差流所带来的内存访问成本的硬件效率问题
    • 这些因素共同限制了 HC 的实际可扩展性,阻碍了其在大规模训练中的应用
  • 为应对这些挑战,论文提出了流形约束的超连接(Manifold-Constrained Hyper-Connections,\(m\)HC) ,如图 1(c) 所示,这是一个将 HC 的残差连接空间投影到特定流形以恢复恒等映射性质的通用框架,同时结合了严格的基础设施优化以确保效率
    • 具体而言,\(m\)HC 利用 Sinkhorn-Knopp 算法(1967)将 \(\mathcal{H}^{\text{res} }_{l}\) 投影到 Birkhoff 多面体上
      • 此操作有效地将残差连接矩阵约束在由双随机矩阵构成的流形内
      • 注:Sinkhorn-Knopp(SK)通常指交替行 / 列缩放的迭代算法,用于将非负矩阵标定为满足指定行和 / 列和的矩阵(常见为双随机矩阵,行和与列和均为 1)
    • 由于这些矩阵的行和与列和均等于 \(1\),操作 \(\mathcal{H}^{\text{res} }_{l} \mathbb{x}_l\) 起到输入特征凸组合的作用
      • 此特性促进了条件良好的信号传播,其中特征均值得以保持,信号范数受到严格正则化,从而有效缓解信号消失或爆炸的风险
    • Furthermore,由于双随机矩阵的矩阵乘法具有封闭性,复合映射 \(\prod_{i=1}^{L-l}\mathcal{H}^{\text{res} }_{l-i}\) 保留了此守恒性质
      • 因此,\(m\)HC 有效地保持了任意深度之间恒等映射的稳定性
    • 为确保效率,论文采用核融合并利用 TileLang(2025)开发混合精度核
    • Furthermore,论文通过选择性重计算并在 DualPipe 调度(2024b)中仔细重叠通信来减少内存占用
  • 在语言模型预训练上的大量实验表明,\(m\)HC 表现出卓越的稳定性和可扩展性,同时保持了 HC 的性能优势
    • 内部大规模训练表明,\(m\)HC 支持大规模训练,并且在扩展率 \(n=4\) 时仅引入 6.7% 的额外时间开销

Related Works

  • 深度学习的架构进展主要可分为微设计(micro-design) 和宏设计(macro-design)
  • 微设计关注计算块的内部架构,指定特征如何跨空间、时间和通道维度进行处理
  • In Contrast,宏设计建立块间的拓扑结构,从而规定特征表示如何在不同层间传播、路由和合并

Micro Design

  • 在参数共享和平移不变性的驱动下,卷积最初主导了结构化信号的处理
  • 虽然后续的变体如深度可分离卷积(depthwise separable)(2017)和分组卷积(grouped convolutions)(2017)优化了效率,但 Transformer(2017)的出现确立了注意力机制和前馈网络(Feed-Forward Networks,FFNs)作为现代架构的基本构建块
    • 注意力机制促进全局信息传播,而 FFNs 增强单个特征的表示能力
  • 为了平衡性能与大语言模型的计算需求,注意力机制已发展为高效变体
    • 例如多查询注意力(Multi-Query Attention,MQA)(Shazeer,2019)、分组查询注意力(Grouped-Query Attention,GQA)(2023)和多头潜在注意力(Multi-Head Latent Attention,MLA)(2024b)
  • 同时,FFNs 已通过混合专家(Mixture-of-Experts,MoE)(2022;2020;2017)被泛化为稀疏计算范式,允许大规模参数扩展而无需成比例的计算成本

Macro Design

  • 宏设计(Macro-design)控制网络的全局拓扑结构(2015)
    • 继 ResNet(2016a)之后,诸如 DenseNet(2017)和 Fractal-Net(2016)等架构旨在分别通过密集连接和多路径结构增加拓扑复杂性来提高性能
    • 深度层聚合(Deep Layer Aggregation,DLA)(2018)通过递归聚合不同深度和分辨率的特征进一步扩展了该范式
  • 最近,宏设计的重点已转向扩展残差流的宽度(2020;2023;2025;2025;2025;2024;2025;2023;2024)
    • 超连接(Hyper-Connections,HC)(2024)引入了可学习的矩阵来调制不同深度特征之间的连接强度,而残差矩阵变换器(Residual Matrix Transformer,RMT)(2025)则用外积记忆矩阵替代标准残差流以促进特征存储
    • 类似地,MUDDFormer(2025)采用多路动态密集连接来优化跨层信息流
  • 尽管具有潜力,但这些方法引入了一些问题:
    • 这些方法破坏了残差连接固有的恒等映射性质,从而引入不稳定性并阻碍可扩展性
    • 由于特征宽度扩展,这些方法还产生了显著的内存访问开销
  • 在 HC 的基础上,论文提出的 \(m\)HC 将残差连接空间限制在特定流形上以恢复恒等映射性质,同时结合了严格的基础设施优化以确保效率
    • 这种方法在保持扩展连接的拓扑优势的同时,增强了稳定性和可扩展性

Preliminary

  • 论文首先建立本工作中使用的符号
  • 在 HC 的表述中,第 \(l\) 层的输入 \(\mathbf{x}_{l}\in\mathbb{R}^{1\times C}\) 被扩展 \(n\) 倍以构建一个隐藏矩阵 \(\mathbf{x}_{l}=(\mathbf{x}_{l,0}^{\top},\ldots,\mathbf{x}_{l,n-1}^{\top})^{\top }\in\mathbb{R}^{n\times C}\),可视为 \(n\) 个流的残差
    • 此操作有效地拓宽了残差流的宽度
  • 为了控制该流的读出(read-out)、写入(write-in)和更新过程(updating processes),HC 引入了三个可学习的线性映射 :
    • \(\mathcal{H}_{l}^{\text{pre} }\)、\(\mathcal{H}_{l}^{\text{post} }\in\mathbb{R}^{1\times n}\) 和 \(\mathcal{H}_{l}^{\text{res} }\in\mathbb{R}^{n\times n}\)
  • 这些映射修改了公式 (1) 所示的标准残差连接,从而得到了公式 (3) 中的表述
  • 在 HC 的表述中,可学习的映射由两部分系数组成:
    • 依赖于输入的部分(Input-dependent One):称为动态映射(dynamic mappings)
    • 全局部分(Global One):称为静态映射(static mappings)
  • 形式上,HC 按如下方式计算系数:
    $$\begin{cases}\tilde{\mathbf{x} }_{l}=\text{RMSNorm}(\mathbf{x}_{l})\\ \mathcal{H}_{l}^{\text{pre} }=\alpha_{l}^{\text{pre} }\cdot\text{tanh}(\theta_{ l}^{\text{pre} }\tilde{\mathbf{x} }_{l}^{\top})+\mathbf{b}_{l}^{\text{pre} }\\ \mathcal{H}_{l}^{\text{post} }=\alpha_{l}^{\text{post} }\cdot\text{tanh}(\theta_{l}^{\text{post} }\tilde{\mathbf{x} }_{l}^{\top})+\mathbf{b}_{l}^{\text{post} }\\ \mathcal{H}_{l}^{\text{res} }=\alpha_{l}^{\text{res} }\cdot\text{tanh}(\theta_{ l}^{\text{res} }\tilde{\mathbf{x} }_{l}^{\top})+\mathbf{b}_{l}^{\text{res} },\end{cases} \tag{5}$$
    • 注意:上述只是定义系数,真实的数据流动过程见 图 1
    • 其中 RMSNorm(\(\cdot\))(2019)应用于最后一个维度
      • 理解:相当于 \(n\))个流是相对独立做 RMSNorm 的
    • 标量 \(\alpha_{l}^{\text{pre} }\)、\(\alpha_{l}^{\text{post} }\) 和 \(\alpha_{l}^{\text{res} }\in\mathbb{R}\) 是初始化为小值的可学习门控因子
    • 动态映射 通过由 \(\theta^{\text{pre} }_{l}\)、\(\theta^{\text{post} }_{l}\in\mathbb{R}^{1\times C}\) 和 \(\theta^{\text{res} }_{l}\in\mathbb{R}^{n\times C}\) 参数化的线性投影得出
    • 静态映射 由可学习的偏置 \(\mathbf{b}^{\text{pre} }_{l}\)、\(\mathbf{b}^{\text{post} }_{l}\in\mathbb{R}^{1\times n}\) 和 \(\mathbf{b}^{\text{res} }_{l}\in\mathbb{R}^{n\times n}\) 表示
  • It is worth noting that 引入这些映射(即 \(\mathcal{H}^{\text{pre} }_{l}\)、\(\mathcal{H}^{\text{post} }_{l}\) 和 \(\mathcal{H}^{\text{res} }_{l}\))产生的计算开销可以忽略不计
    • 因为典型的扩展率 \(n\)(例如 4)远小于输入维度 \(C\)
    • 理解:在每一层,每个扩展(共 \(n\) 个扩展)每个系数只需要对应的一个即可
  • 通过这种设计,HC 有效地将残差流的信息容量与层的输入维度(与模型的计算复杂度 FLOPs 密切相关)解耦
    • 问题:这里是说,即使输入维度比较小,残差流的信息容量也可以很大?
  • Consequently,HC 通过调整残差流宽度提供了一种新的扩展途径(new avenue for scaling) ,补充了预训练扩展法则(2022)中讨论的模型 FLOPs 和训练数据大小的传统扩展维度
    • 算力增加:HC 需要三个映射来处理残差流和层输入之间的维度不匹配,需要更多算力
    • 性能提升:表 1 所示的初步实验表明,残差映射 \(\mathcal{H}^{\text{res} }_{l}\) 带来了最显著的性能增益
      • 这一发现强调了残差流内有效信息交换的至关重要性
    • 注:这里的残差流宽度扩展实际上也可以看做另一种维度的 Scaling Law
  • 表 1:Ablation Study of HC Components
    • 当特定映射(\(\mathcal{H}^{\text{pre} }_{l}\)、\(\mathcal{H}^{\text{post} }_{l}\) 或 \(\mathcal{H}^{\text{res} }_{l}\))被禁用时,论文采用固定映射以保持维度一致性:
      • \(\mathcal{H}^{\text{pre} }_{l}\) 使用均匀权重 \(1/n\)
      • \(\mathcal{H}^{\text{post} }_{l}\) 使用全一均匀权重
      • \(\mathcal{H}^{\text{res} }_{l}\) 使用单位矩阵

数值不稳定性,Numerical Instability

  • 虽然残差映射 \(\mathcal{H}^{\text{res} }_{l}\) 对性能至关重要,但其顺序应用(sequential application)对数值稳定性构成重大风险
    • 如公式 (4) 详述,当 HC 跨越多层扩展时,从层 \(l\) 到 \(L\) 的有效信号传播由复合映射 \(\prod_{i=1}^{L-l}\mathcal{H}^{\text{res} }_{L-i}\) 控制
    • 由于可学习的映射 \(\mathcal{H}^{\text{res} }_{l}\) 是无约束的,该复合映射不可避免地偏离恒等映射
    • Consequently,信号幅度在前向传递和反向传播期间都容易爆炸或消失
      • 这种现象破坏了残差学习的基本前提(依赖于无阻碍的信号流),从而在更深或更大规模的模型中使训练过程不稳定
  • 实证证据也支持这一分析:论文在大规模实验中观察到不稳定的损失行为,如图 2 所示
    • 以 \(m\)HC 为基线,HC 在约 12k 步时表现出意外的损失激增 ,这与 梯度范数的不稳定性 高度相关
    • 图 2:超连接(Hyper-Connections,HC)的训练不稳定性(Training Instability)
      • 图 (a) :HC 相对于 \(m\)HC 的绝对损失差距
      • 图 (b) :梯度范数的比较
      • 注:所有结果基于 27B 模型
  • (补充实证证据)Furthermore,对 \(\mathcal{H}^{\text{res} }_{l}\) 的分析验证了这种不稳定性的机制
    • 为了量化复合映射 \(\prod_{i=1}^{L-l}\mathcal{H}^{\text{res} }_{L-i}\) 沿残差流放大信号的程度,论文利用两个指标
    • 第一个基于复合映射行和的最大绝对值,捕捉前向传递中最坏情况的扩张
    • 第二个基于列和的最大绝对值,对应于反向传递
    • 论文将这些指标称为复合映射的最大增益幅度(Amax Gain Magnitude)
      • 如图 3 (b) 所示,最大增益幅度产生了极端值,峰值达到 3000,与 1 存在巨大差异(注:恒等映射的权重系数恒为 1),这证实了残差流爆炸的存在
    • 图 3:超连接(Hyper-Connections,HC)的传播不稳定性(Propagation Instability)
      • 图 3(a) 展示了 27B 模型中的单层映射(Single-Layer Mapping) \(\mathcal{H}^{\text{res} }_{l}\) 的传播动态
      • 图 3(b) 展示了 27B 模型中的复合映射(Composite-Layer Mapping) \(\prod_{l=1}^{L-l}\mathcal{H}^{\text{res} }_{l-l}\) 的传播动态
      • Layer Index \(l\)(x 轴)将每个标准 Transformer 块展开为两个独立的层(Attention 和 FFN)
      • 最大增益幅度(y 轴)计算为最大绝对行和(用于前向信号)和列和(用于反向梯度),在选定序列的所有 token 上取平均

System Overhead(系统开销)

  • 由于额外映射的线性性质,HC 的计算复杂度会提升,目前为止还算可控,但系统级开销仍然构成了不可忽视的挑战
    • 具体来说,内存访问(I/O)成本通常是现代模型架构中的主要瓶颈之一,被广泛称为”内存墙”(”memory wall”)(2022)
    • 这一瓶颈在架构设计中经常被忽视,但它却决定性地影响运行时效率
  • 着眼于广泛采用的预归一化 Transformer(2017)架构,论文分析了 HC 固有的 I/O 模式
  • 表 2 总结了由 \(n\) 流残差设计在单个残差层中引入的每个 token 的内存访问开销
    • 分析表明,HC 使内存访问成本增加了约与 \(n\) 成比例的倍数
    • 这种过度的 I/O 需求显著降低了训练吞吐量,除非通过融合核来缓解
  • Besides,由于 \(\mathcal{H}^{\text{pre} }_{l}\)、\(\mathcal{H}^{\text{post} }_{l}\) 和 \(\mathcal{H}^{\text{res} }_{l}\) 涉及可学习参数,它们的中间激活值需要用于反向传播
    • 这导致 GPU 内存占用量大幅增加,通常需要梯度检查点(gradient checkpointing)来维持可行的内存使用量
  • Furthermore,HC 在管道并行(pipeline parallelism)(2024)中需要 \(n\) 倍的通信成本,导致更大的气泡(bubbles)并降低训练吞吐量
  • 表 2:每个 token 的内存访问成本比较(Comparison of Memory Access Costs Per Token)
    • 此分析考虑了前向传递中残差流维护引入的开销,不包括层函数 \(\mathcal{F}\) 的内部 I/O

Method

Manifold-Constrained Hyper-Connections(暂译为流形约束超连接)

  • 受到恒等映射原理 (2016b) 的启发,\(m\)HC 的核心前提是 将残差映射 \(\mathcal{H}^{\text{res} }_{l}\) 约束到一个特定的流形上
  • 虽然原始的恒等映射通过强制令 \(\mathcal{H}^{\text{res} }_{l}=\mathbf{I}\) 来确保稳定性,但这从根本上阻止了残差流内部的信息交换
    • 而信息交换对于最大化多流架构(multi-stream architectures)的潜力至关重要
  • Therefore,论文提出将残差映射投影到一个既能保持跨层信号传播稳定性、又能促进残差流之间相互作用的流形上,以保持模型的表达能力
  • 为此(To this end),论文将 \(\mathcal{H}^{\text{res} }_{l}\) 限制为一个双随机矩阵(doubly stochastic matrix)
    • 注:双随机矩阵是指每行每列之和为1 ,且单个元素值大于0的矩阵
    • 论文中也提到:双随机矩阵是指元素非负,且行和与列和均为 1 的矩阵
  • Formally,令 \(\mathcal{M}^{\text{res} }\) 表示双随机矩阵的流形(也称为 Birkhoff 多胞形)
    • 多胞形是欧氏空间 \(\mathbb{R}^n\)中由有限个闭半空间的交集构成的有界凸集
    • Birkhoff 多胞形(\(B_n\))是 \(\mathbb{R}^{n\times n}\) 中全体 \(n\times n\) 双随机矩阵的凸多胞形,也等价于全体 \(n\times n\) 置换矩阵的凸包
  • 论文将 \(\mathcal{H}^{\text{res} }_{l}\) 约束到 \(\mathcal{P}_{\mathcal{M}^{\text{res} } }(\mathcal{H}^{\text{res} }_{l})\),其定义为:
    $$\mathcal{P}_{\mathcal{M}^{\text{res} } }(\mathcal{H}^{\text{res} }_{l}):=\left\{\mathcal{H}^{\text{res} }_{l}\in\mathbb{R}^{n\times n}\mid\mathcal{H}^{\text{res} }_{l}\mathbf{1}_{n}=\mathbf{1}_{n},\mathbf{1}^{\top}_{n}\mathcal{H}^{\text{res} }_{l}=\mathbf{1}^{\top}_{n},\mathcal{H}^{\text{res} }_{l}\geqslant 0\right\} \tag{6}$$
    • 其中 \(\mathbf{1}_{n}\) 表示所有元素为 1 的 n 维向量
    • 理解:
      • \(\mathbf{1}_{n}\) 是列向量
      • \(\mathcal{H}^{\text{res} }_{l}\mathbf{1}_{n}=\mathbf{1}_{n}\) 表示矩阵 \(\mathcal{H}^{\text{res} }_{l}\) 的行和为 1
      • \(\mathbf{1}^{\top}_{n}\mathcal{H}^{\text{res} }_{l}=\mathbf{1}^{\top}_{n}\) 表示矩阵 \(\mathcal{H}^{\text{res} }_{l}\) 的列和为 1
      • \(\mathcal{H}^{\text{res} }_{l} \ge 0\) 表示矩阵 \(\mathcal{H}^{\text{res} }_{l}\) 的元素非负
      • 上述定义刚好是双随机矩阵的定义
  • It is worth noting that 当 \(n=1\) 时 ,双随机条件退化为标量 1
    • 此时恢复了原始的恒等映射
  • 选择双随机性赋予了多个严格的理论性质,这些性质有利于大规模模型训练(The choice of double stochasticity confers several rigorous theoretical properties beneficial for large-scale model training):
    • 1)范数保持 (Norm Preservation): 双随机矩阵的谱范数以 1 为界(即 \(|\mathcal{H}^{\text{res} }_{l}|_{2} \leq 1\))
      • 这意味着可学习的映射是非扩张的,能有效缓解梯度爆炸问题
      • 注:谱范数是矩阵范数,即:
        $$
        |A|_2 = \sqrt{\lambda_{\max}(A^* A)}
        $$
        • 其中 \( \lambda_{\max} \) 表示最大特征值,\( A^* \) 是 \( A \) 的共轭转置
    • 2)组合封闭性 (Compositional Closure): 双随机矩阵集合在矩阵乘法下是封闭的
      • 这确保了跨越多层的复合残差映射 \(\prod_{i=1}^{L-1}\mathcal{H}^{\text{res} }_{L-i}\) 保持双随机性 ,从而在整个模型深度范围内保持稳定性
      • 注:双随机矩阵的性质:两个双随机矩阵(Doubly Stochastic Matrix)的乘积仍然是双随机矩阵,推广一下,任意个双随机矩阵的乘积都是双随机矩阵
    • 3)通过 Birkhoff 多胞形的几何解释 (Geometric Interpretation via the Birkhoff Polytope): 集合 \(\mathcal{M}^{\text{res} }\) 构成 Birkhoff 多胞形,它是置换矩阵集合的凸包
      • 这提供了一个清晰的几何解释:残差映射充当了置换的凸组合
      • 从数学上讲,重复应用此类矩阵倾向于单调地增加信息在流之间的混合,有效地充当鲁棒的特征融合机制
  • 此外,论文对输入映射 \(\mathcal{H}^{\text{pre} }_{l}\) 和输出映射 \(\mathcal{H}^{\text{post} }_{l}\) 施加非负约束
    • 这种约束可以防止由正负系数组合引起的信号抵消,这也可以被视为一种特殊的流形投影

Parameterization and Manifold Projection:参数化与流形投影

  • 在本节中,论文将详细说明 \(m\)HC 中 \(\mathcal{H}^{\text{pre} }_{l},\mathcal{H}^{\text{post} }_{l}\) 和 \(\mathcal{H}^{\text{res} }_{l}\) 的计算过程
  • 给定第 \(l\) 层的输入隐藏矩阵 \(\mathbf{x}_{l}\in\mathbb{R}^{n\times C}\),论文首先将其展平为向量 \(\vec{\mathbf{x} }_{l}=\text{vec}(\mathbf{x}_{l})\in\mathbb{R}^{1\times nC}\) 以保留完整的上下文信息
  • 然后,论文遵循原始 HC 的公式来获得动态映射和静态映射:
    $$\begin{cases}\vec{\mathbf{x} }^{\prime}_{l}=\text{RMSNorm}(\vec{\mathbf{x} }_{ l})\\ \tilde{\mathcal{H} }^{\text{pre} }_{l}=\alpha^{\text{pre} }_{l}\cdot(\vec{\mathbf{x} }^{\prime}_{l}\varphi^{\text{pre} }_{l})+\mathbf{b}^{\text{pre} }_{l}\\ \tilde{\mathcal{H} }^{\text{post} }_{l}=\alpha^{\text{post} }_{l}\cdot(\vec{\mathbf{x} }^{\prime}_{l}\varphi^{\text{post} }_{l})+\mathbf{b}^{\text{post} }_{l}\\ \tilde{\mathcal{H} }^{\text{res} }_{l}=\alpha^{\text{res} }_{l}\cdot\text{mat}(\vec{\mathbf{x} }^{\prime}_{l}\varphi^{\text{res} }_{l})+\mathbf{b}^{\text{res} }_{l},\end{cases} \tag{7}$$
    • 其中 \(\varphi^{\text{pre} }_{l},\varphi^{\text{post} }_{l}\in\mathbb{R}^{nC\times n}\) 和 \(\varphi^{\text{res} }_{l}\in\mathbb{R}^{nC\times n^{2} }\) 是用于动态映射的线性投影,而 \(\text{mat}(\cdot)\) 是将 \(\mathbb{R}^{1\times n^{2} }\) 重塑为 \(\mathbb{R}^{n\times n}\) 的函数
  • 然后,通过以下方式获得最终的约束映射:
    $$\begin{cases}\mathcal{H}^{\text{pre} }_{l}=\sigma(\tilde{\mathcal{H}}^{\text{pre} }_{l})\\ \mathcal{H}^{\text{post} }_{l}=2\sigma(\tilde{\mathcal{H} }^{\text{post} }_{l})\\ \mathcal{H}^{\text{res} }_{l}=\text{Sinkhorn-Knopp}(\tilde{\mathcal{H} }^{\text{res} }_{l}),\end{cases} \tag{8}$$
    • 其中 \(\sigma(\cdot)\) 表示 Sigmoid 函数
    • \(\text{Sinkhorn-Knopp}(\cdot)\) 算子计算过程为:
      • TLDR:首先通过指数算子使所有元素为正 ,然后执行迭代归一化过程 ,交替重新缩放行和列使其和为 1
      • 具体来说,给定一个正矩阵 \(\mathbf{M}^{(0)}=\exp(\tilde{\mathcal{H} }^{\text{res} }_{l})\) 作为起始点,归一化迭代进行如下:
        $$\mathbf{M}^{(t)}=\mathcal{T}_{r}\left(\mathcal{T}_{c}(\mathbf{M}^{(t-1)})\right) \tag{9}$$
        • 其中:
          • \(\mathcal{T}_{r}\) 表示行归一化
          • \(\mathcal{T}_{c}\) 表示列归一化
        • 当 \(t_{\max}\to\infty\) 时,此过程收敛到一个双随机矩阵 \(\mathcal{H}^{\text{res} }_{l}=\mathbf{M}^{(t_{\max})}\)
        • 在论文的实验中,论文选择 \(t_{\max}=20\) 作为实际值,所以得到的并不是严格的双随机矩阵

Efficient Infrastructure Design:高效基础设施设计

  • 在本节中,论文将详细介绍为 \(m\)HC 定制的基础设施设计
  • 通过严格的优化,论文将 \(m\)HC(\(n=4\))实现到大规模模型中,仅产生了 6.7% 的边际训练开销
Kernel Fusion:核融合
  • 论文观察到,在 \(m\)HC 中,RMSNorm 在高维隐藏状态 \(\tilde{\mathbf{x} }_{l}\in\mathbb{R}^{1\times nC}\) 上操作时会带来显著的延迟
  • 论文重新排序了除以范数的操作,使其在矩阵乘法之后进行
    • 这种优化在保持数学等价性的同时提高了效率
  • Furthermore
    • 论文采用混合精度策略 ,在不影响速度的情况下最大化数值精度
    • 并将具有共享内存访问的多个操作融合到统一的计算核中 ,以减少内存带宽瓶颈
  • 基于等式 (10) 到 (13) 中详述的输入和参数,论文实现了三个专门的 \(m\)HC 核来计算 \(\mathcal{H}^{\text{pre} }_{l}\)、\(\mathcal{H}^{\text{post} }_{l}\) 和 \(\mathcal{H}^{\text{res} }_{l}\)
  • 在这些核中,偏置和线性投影被整合到 \(\mathbf{b}_{l}\) 和 \(\varphi_{l}\) 中,RMSNorm 权重也被吸收到 \(\varphi_{l}\) 中
    • 等式 (14) 到 (15):论文开发了一个统一的核,它融合了对 \(\tilde{\mathbf{x} }_{l}\) 的两次扫描,利用矩阵乘法单元最大化内存带宽利用率
      • 反向传播——包括两个矩阵乘法——同样被整合到单个核中,消除了对 \(\tilde{\mathbf{x} }_{l}\) 的冗余重新加载
      • 两个核都具有微调的流水线(加载、转换、计算、存储),以高效处理混合精度计算
    • 等式 (16) 到 (18):这些对小系数的轻量级操作被适时地融合到单个核中,显著减少了核启动开销
    • 等式 (19):论文在单个核内实现了 Sinkhorn-Knopp 迭代。对于反向传播,论文推导了一个定制的反向核,该核在芯片上重新计算中间结果并遍历整个迭代
      $$
      \begin{align}
      \varphi_{l}&:\text{tfloat32} \quad [nC,n^{2}+2n]\\
      \vec{\mathbf{x} }_{l}&:\text{bfloat16} \quad [1,nC]\\
      \alpha^{\text{pre} }_{l},\alpha^{\text{post} }_{l},\alpha^{\text{ res} }_{l}&:\text{float32} \quad \text{Scalars}\\
      \mathbf{b}_{l}&:\text{float32} \quad [1,n^{2}+2n]\\
      \left[\tilde{\tilde{\mathcal{H} }}^{\text{pre} }_{l},\tilde{\tilde{\mathcal{H} } }^{\text{post } }_{l},\tilde{\tilde{\mathcal{H} }}^{\text{res} }_{l}\right]&:\text{float32} = \vec{\mathbf{x} }_{l}\varphi_{l}\\
      r&:\text{float32} = |\vec{\mathbf{x} }_{l}|_{2}/\sqrt{nC}\\
      \left[\tilde{\mathcal{H} }^{\text{pre} }_{l},\tilde{\mathcal{H} }^{\text{post } }_{l},\tilde{\mathcal{H} }^{\text{res} }_{l}\right]&:\text{float32} = 1/r\left[\alpha^{\text{pre} }_{l}\tilde{\tilde{\mathcal{H} }}^{\text{pre } }_{l },\alpha^{\text{post} }_{l}\tilde{\tilde{\mathcal{H} }}^{\text{post} }_{l }, \alpha^{\text{res} }_{l}\tilde{\tilde{\mathcal{H} } }^{\text{res} }_{l }\right]+\mathbf{b}_ {l}\\
      \mathcal{H}^{\text{pre} }_{l}&:\text{float32} = \sigma\left(\tilde{\mathcal{H} }^{\text{pre} }_{l}\right)\\
      \mathcal{H}^{\text{post} }_{l}&:\text{float32} = 2\sigma\left(\tilde{\mathcal{H} }^{\text{post} }_{l}\right)\\
      \mathcal{H}^{\text{res} }_{l}&:\text{float32} = \text{Sinkhorn-Knopp}\left(\tilde{\mathcal{H} }^{\text{res} }_{l}\right)
      \end{align}
      \tag{10-19}
      $$
  • 使用从上述核导出的系数,论文引入了两个额外的核来应用这些映射:
    • 一个用于 \(\mathcal{F}_{\text{pre} }:=\mathcal{H}^{\text{pre} }_{l}\mathbf{x}_{l}\)
    • 另一个用于 \(\mathcal{F}_{\text{post,res} }:=\mathcal{H}^{\text{res} }_{l}\mathbf{x}_{ l}+\mathcal{H}^{\text{posttop} }_{l}\mathcal{F}\left(\cdot,\cdot\right)\)
  • 通过将 \(\mathcal{H}^{\text{post} }_{l}\) 和 \(\mathcal{H}^{\text{res} }_{l}\) 的应用与残差合并相融合,论文使该核读取的元素数量从 \((3n+1)C\) 减少到 \((n+1)C\),写入的元素数量从 \(3nC\) 减少到 \(nC\)
  • 论文高效地实现了大部分核(不包括等式 (14) 到 (15)),使用 TileLang (2025)
  • 该框架简化了具有复杂计算过程的核的实现,并使论文能够以最小的工程工作量充分利用内存带宽
Recomputing:重计算
  • \(n\) 流残差设计在训练期间引入了大量的内存开销
    • 为了缓解这个问题,论文在前向传播后丢弃 \(m\)HC 核的中间激活,并通过重新执行 \(m\)HC 核(不含繁重的层函数 \(\mathcal{F}\))在反向传播中动态地重新计算它们
  • 因此,对于连续的 \(L_{r}\) 层块,论文只需要存储到第一层的输入 \(\mathbf{x}_{l_{0} }\)
  • 排除轻量级系数,同时考虑 \(\mathcal{F}\) 内的预归一化,表 3 总结了为反向传播保留的中间激活
  • 由于 \(m\)HC 核的重计算是针对连续的 \(L_{r}\) 层块执行的,给定总共 \(L\) 层,论文必须为反向传播持久存储所有 \(\lceil\frac{L}{L_{r} }\rceil\) 个块的第一层输入 \(\mathbf{x}_{l_{0} }\)
  • 除了这个常驻内存,重计算过程为活动块引入了 \((n+2)C\times L_{r}\) 个元素的瞬态内存开销,这决定了反向传播期间的峰值内存使用量
  • 因此,论文通过最小化对应于 \(L_{r}\) 的总内存占用来确定最佳块大小 \(L^{*}_{r}\):
    $$L^{*}_{r}=\arg\min_{L_{r} }\left[nC\times\left[\frac{L}{L_{r} }\right]+(n+2)C\times L_{r}\right]\approx\sqrt{\frac{nL}{n+2} } \tag{20}$$
  • 此外,大规模训练中的流水线并行施加了一个约束:重计算块不得跨越流水线阶段边界
  • 观察到理论最优值 \(L^{*}_{r}\) 通常与每个流水线阶段的层数一致,论文选择将重计算边界与流水线阶段同步
Overlapping Communication in DualPipe(在 DualPipe 中重叠通信)
  • 在大规模训练中,流水线并行是减轻参数和梯度内存占用的标准实践
  • 具体来说,论文采用 DualPipe 调度 (2024b),它有效地重叠了扩展互连通信流量,例如专家并行和流水线并行中的流量
  • 然而,与单流设计相比,\(m\)HC 中提出的 \(n\) 流残差在流水线阶段之间产生了大量的通信延迟
  • 此外,在阶段边界处,为所有 \(L_{r}\) 层重新计算 \(m\)HC 核引入了不可忽略的计算开销
  • 为了解决这些瓶颈,论文扩展了 DualPipe 调度(见图 4),以促进在流水线阶段边界更好地重叠通信和计算
    • 图 4: \(m\)HC 的通信-计算重叠 论文扩展了 DualPipe 调度以处理 \(m\)HC 引入的开销
      • 每个块的长度仅为示意,不代表实际持续时间
      • (F)、(B)、(W) 分别指前向传播、反向传播、权重梯度计算
      • \(\mathcal{F}^{\Lambda}\) 和 \(\mathcal{F}^{M}\) 分别代表对应 Attention 和 MLP 的核
  • 值得注意的是,为了防止阻塞通信流,论文在专用高优先级计算流上执行 MLP(即 FFN)层的 \(\mathcal{F}_{\text{post,res} }\) 核
  • 论文进一步避免在注意力层中对长时间运行的操作使用持久化核,从而防止长时间的停顿
  • 这种设计使得可以抢占重叠的注意力计算,允许灵活的调度,同时保持计算设备处理单元的高利用率
  • 此外,重计算过程与流水线通信依赖解耦,因为每个阶段的初始激活 \(\mathbf{x}_{l_{0} }\) 已本地缓存
  • 表 3:存储和重计算的中间激活
    • 论文列出了为反向传播保留的每 Token 激活,以及在连续的 \(L_{r}\) 层中重计算的瞬态激活
    • 层 \(l_{0}\) 表示 \(L_{r}\) 层中的第一层,层 \(l\) 在 \([l_{0},l_{0}+L_{r}-1]\) 区间内

Experiments

Experimental Setup

  • 论文通过语言模型预训练来验证所提出的方法,对基线、HC 和论文提出的 \(m\)HC 进行了比较分析
    • 利用受 DeepSeek-V3 (2024b) 启发的 MoE 架构,论文训练了四种不同的模型变体以覆盖不同的评估机制
  • Specifically,HC 和 \(m\)HC 的扩展率 \(n\) 都设置为 4
  • 论文主要关注一个 27B 模型
    • 其训练数据集大小与其参数成正比,这作为论文系统级主要结果的对象
  • 在此基础上(Expanding on this),论文通过加入按比例数据训练的较小 3B 和 9B 模型来分析计算扩展行为
    • 这使论文能够观察不同计算量下的性能趋势
  • Additionally,为了专门研究 Token 扩展行为
    • 论文在一个固定的 1T Token 语料库上训练了一个单独的 3B 模型
  • 详细的模型配置和训练超参数在附录 A.1 中提供

Main Results

  • 论文首先检查 27B 模型的训练稳定性和收敛性
  • 如图 5 (a) 所示,\(m\)HC 有效地缓解了 HC 中观察到的训练不稳定性,与基线相比最终损失减少了 0.021
  • 图 5 (b) 中的梯度范数分析进一步证实了这种改进的稳定性,其中 \(m\)HC 表现出明显优于 HC 的行为,保持了与基线相当的稳定轮廓
  • 图 5:流形约束超连接 (\(m\)HC) 的训练稳定性
    • (a) \(m\)HC 和 HC 相对于基线的绝对训练损失差距
    • (b) 三种方法的梯度范数
    • 所有实验均使用 27B 模型
    • 结果表明,\(m\)HC 在损失和梯度范数方面都表现出改进的稳定性
  • 表 4 展示了跨多样化基准测试 (2020;2021;2020;2021;2017;2019) 的下游性能
    • 比较了 Baseline、HC 和 \(m\)HC 在 8 个多样化下游基准测试上的零样本和少样本性能,\(m\)HC 带来了全面的改进,始终优于 Baseline,并在大多数任务上超过了 HC
    • 值得注意的是,与 HC 相比,\(m\)HC 进一步增强了模型的推理能力,在 BBH (2022) 和 DROP (2019) 上分别带来了 2.1% 和 2.3% 的性能增益
    • 在大多数基准上超越了 HC,证明了其在大规模预训练中的有效性

Scaling Experiments

  • 为了评估论文方法的可扩展性,论文报告了 \(m\)HC 相对于基线在不同规模上的相对损失改进
  • 图 6: \(m\)HC 相比 Baseline 的扩展特性
    • (a) 计算扩展曲线 实线描绘了不同计算预算下的性能差距
      • 每个点代表模型大小和数据集大小的特定计算最优配置,从 3B 和 9B 扩展到 27B 参数
      • 轨迹表明,即使在更高的计算预算下,性能优势也能稳健地保持,仅表现出轻微的衰减
    • (b) Token 扩展曲线 3B 模型在训练期间的表现轨迹(展示了 3B 模型的 Token 扩展曲线)
      • 每个点代表模型在不同训练 Token 数下的性能
      • 详细的架构和训练配置见附录 A.1
  • 总的来说,这些发现验证了 \(m\)HC 在大规模场景中的有效性
    • 论文的内部大规模训练实验进一步证实了这一结论

Stability Analysis

  • 与图 3 类似,图 7 展示了 \(m\)HC 的传播稳定性
  • Ideally,单层映射满足双随机约束,这意味着前向信号增益和后向梯度增益都应等于 1
    • However,实际中使用 Sinkhorn-Knopp 算法的实现必须限制迭代次数以实现计算效率
    • 故而论文使用 20 次迭代来获得近似解
  • Consequently,图 7 展示了如下结果:
    • 如图 7(a) 所示,后向梯度增益略微偏离 1
    • 在图 7(b) 所示的复合情况下,偏差增加但仍保持有界,最大值约为 1.6
    • Notably,与 HC 中近 3000 的最大增益幅度相比,\(m\)HC 将其降低了三个数量级
      • 这些结果表明,与 HC 相比,\(m\)HC 显著增强了传播稳定性,确保了稳定的前向信号和后向梯度流
    • 图 7: 流形约束超连接 (\(m\)HC) 的传播稳定性 本图展示了
      • (a) 单层映射 \(\mathcal{P}_{\mathcal{M}^{\text{res} } }(\mathcal{H}_{l}^{\text{res} })\)
      • (b) 复合映射 \(\prod_{i=1}^{L-l}\mathcal{P}_{\mathcal{M}^{\text{res} } }(\mathcal{H}_{l-i}^{\text {res} })\) 在 27B 模型内的传播动态
      • 结果表明,与 HC 相比,\(m\)HC 显著增强了传播稳定性
  • Additionally,图 8 展示了代表性的映射
    • 论文观察到,对于 HC,当最大增益很大时,其他值往往也很大,这表明所有传播路径普遍存在不稳定性
    • In Contrast,\(m\)HC 始终产生稳定的结果
    • 图 8: 可学习映射的可视化 本图展示了 HC(第一行)和 \(m\)HC(第二行)的代表性单层和复合映射
      • 每个矩阵通过平均选定序列内所有 Token 计算得出
      • 标注在 y 轴和 x 轴上的标签分别表示前向信号增益(行和)和后向梯度增益(列和)

Outlook

  • 作为 HC 范式的通用扩展,\(m\)HC 为未来的研究开辟了几条有前景的途径
    • 尽管这项工作利用双随机矩阵来确保稳定性,但该框架允许探索针对特定学习目标定制的多样化流形约束
    • 论文预计,对不同几何约束的进一步研究可能会产生新的方法,以更好地优化可塑性和稳定性之间的权衡
    • 此外,作者希望 \(m\)HC 能重新激发社区对宏观架构设计的兴趣
    • 通过深化对拓扑结构如何影响优化和表示学习的理解,\(m\)HC 将有助于解决当前的局限性,并可能为下一代基础架构的演进照亮新的途径

附录 A.1:详细模型规格和超参数

  • 表 5: 详细模型规格和超参数
    • 本表展示了基于 DeepSeek-V3 (2024b) 架构的 3B、9B 和 27B 模型的架构配置
    • 它概述了 mHC 和 HC 的特定超参数,包括残差流扩展和 Sinkhorn-Knopp 设置,以及实验中使用的优化和训练方案

附录:关于 HC 的一些细节

  • 原始论文:Hyper-connections, 202409 & ICLR 2025, Seed

  • Figure 2:Expansion rate \(n=2\) 的 HC 示意图

  • Figure 8: Transformer HC 形式

  • Algorithm 2:Pseudocode of hyper-connections in a PyTorch-like style.

    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
    # h: hyper hidden matrix (BxLxNxD)
    class HyperConnection(nn.Module):
    def __init__(self, dim, rate, layer_id, dynamic, device=None):
    super(HyperConnection, self).__init__()
    self.rate = rate
    self.layer_id = layer_id
    self.dynamic = dynamic
    self.static_beta = nn.Parameter(torch.ones((rate,), device=device))
    init_alpha0 = torch.zeros((rate, 1), device=device)
    init_alpha0[layer_id % rate, 0] = 1.
    self.static_alpha = nn.Parameter(torch.cat([init_alpha0, torch.eye((rate), device=device)], dim=1))
    if self.dynamic:
    self.dynamic_alpha_fn = nn.Parameter(torch.zeros((dim, rate+1), device=device))
    self.dynamic_alpha_scale = nn.Parameter(torch.ones(1, device=device) * 0.01)
    self.dynamic_beta_fn = nn.Parameter(torch.zeros((dim, ), device=device))
    self.dynamic_beta_scale = nn.Parameter(torch.ones(1, device=device) * 0.01)
    self.layer_norm = LayerNorm(dim)

    def width_connection(self, h):
    # get alpha and beta
    if self.dynamic:
    norm_h = self.layer_norm(h)
    if self.dynamic:
    wc_weight = norm_h @ self.dynamic_alpha_fn
    wc_weight = F.tanh(wc_weight)
    dynamic_alpha = wc_weight * self.dynamic_alpha_scale
    alpha = dynamic_alpha + self.static_alpha[None, None, ...]
    else:
    alpha = self.static_alpha[None, None, ...]
    if self.dynamic:
    dc_weight = norm_h @ self.dynamic_beta_fn
    dc_weight = F.tanh(dc_weight)
    dynamic_beta = dc_weight * self.dynamic_beta_scale
    beta = dynamic_beta + self.static_beta[None, None, ...]
    else:
    beta = self.static_beta[None, None, ...]
    # width connection
    mix_h = alpha.transpose(-1, -2) @ h
    return mix_h, beta

    def depth_connection(self, mix_h, h_o, beta):
    h = torch.einsum("blh,bln->blnh", h_o, beta) + mix_h[..., 1:, :]
    return h
  • Algorithm3:Pseudocode of transformer with hyper-connections in a PyTorch-like style.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    # h: hyper hidden matrix (BxLxNxD)
    # atten_hyper_connection, ffn_hyper_connection: hyper-connection modules
    # attn_norm, ffn_norm: normalization modules
    # Attention Block
    mix_h, beta = atten_hyper_connection.width_connection(h)
    h = attn_norm(mix_h[...,0,:])
    h = self_attention(h)
    h = atten_hyper_connection.depth_connection(mix_h, dropout(h), beta)
    # FFN Block
    mix_h, beta = ffn_hyper_connection.width_connection(h)
    h = ffn_norm(mix_h[...,0,:])
    h = ffn(h)
    h = ffn_hyper_connection.depth_connection(mix_h, dropout(h), beta)

附录:Manifold(流形)

  • 在数学和理论计算机科学(如几何深度学习、流形学习)中,Manifold(流形)是一个核心概念,它是局部欧几里得的拓扑空间
  • 一个 \(n\) 维流形( \(n\)-dimensional manifold) \(M\) 是满足以下条件的豪斯多夫拓扑空间(Hausdorff topological space):
    • 存在一个开覆盖 \(\{U_\alpha\}_{\alpha\in A}\),即 \(M = \bigcup_{\alpha\in A} U_\alpha\)
    • 对每个 \(U_\alpha\),存在一个同胚 (Homeomorphism)(即连续双射且逆连续) \(\phi_\alpha: U_\alpha \to V_\alpha\),其中 \(V_\alpha\) 是 \(\mathbb{R}^n\) 中的开集
    • 注:豪斯多夫拓扑空间 :也称为 \(T_2\) 空间,是拓扑学中最基础且应用最广泛的一类拓扑空间,其核心特征是空间中任意两个不同的点,都可以被两个不相交的开集分别 “包围”
    • 注:同胚 是拓扑学中的核心概念,描述的是两个拓扑空间之间的一种 “连续且可逆的连续” 映射关系,直观上可以理解为:两个空间可以通过连续的拉伸、扭曲、弯曲(但不能撕裂、粘连或打孔)相互转化
  • 这个二元组 \((U_\alpha, \phi_\alpha)\) 称为坐标卡(chart),所有坐标卡的集合 \({(U_\alpha, \phi_\alpha)}_{\alpha\in A}\) 称为图册(atlas)

关于 Manifold 的关键数学表达式

(1)局部欧几里得性的形式化
  • 对任意 \(p \in M\),存在 \(p\) 的开邻域 \(U \subset M\) 和同胚映射 \(\phi: U \to \phi(U) \subset \mathbb{R}^n\),即
    $$
    \phi: U \xrightarrow{\text{同胚}} \phi(U) \subset \mathbb{R}^n
    $$
    • 其中 \(\phi(U)\) 是 \(\mathbb{R}^n\) 中的开集,\(n\) 称为流形 \(M\) 的维数
(2)坐标卡的相容性(光滑流形的附加条件)
  • 若流形 \(M\) 是光滑流形 ,则其图册中任意两个重叠的坐标卡 \((U_\alpha, \phi_\alpha)\) 和 \((U_\beta, \phi_\beta)\)(满足 \(U_\alpha \cap U_\beta \neq \emptyset\))的转移映射
    $$
    \phi_{\beta\alpha} = \phi_\beta \circ \phi_\alpha^{-1}: \phi_\alpha(U_\alpha \cap U_\beta) \to \phi_\beta(U_\alpha \cap U_\beta)
    $$
    • 是 \(\mathbb{R}^n\) 上的光滑函数( \(C^\infty\) 函数)
(3)流形的嵌入(示例:黎曼流形)
  • 若 \(M\) 是黎曼流形 ,则它配备了一个光滑的正定对称二阶协变张量场 \(g\)(黎曼度量,Riemannian Metric),对任意 \(p \in M\) 和切向量 \(v, w \in T_pM\)( \(p\) 点的切空间(Tangent Space)),黎曼度量给出内积
    $$
    g_p(v, w) = \langle v, w \rangle_p
    $$
  • 满足正定性 \(g_p(v, v) \geq 0\),且等号当且仅当 \(v = 0\) 成立

Manifold 在 NLP/LLM 中的应用场景

  • 在大模型相关研究中,流形的核心应用是流形假设(Manifold Hypothesis):
    • 高维数据(如词嵌入、句嵌入)实际上分布在低维流形上,而非整个高维欧几里得空间
    • 公式化表述:若 \(X \subset \mathbb{R}^D\) 是高维数据空间,存在 \(n \ll D\) 维流形 \(M\),使得 \(X \subset M\)
  • 这一假设是对比学习、降维算法(如 t-SNE、UMAP)和几何深度学习的理论基础

NLP——Chat-Template使用说明

关键词:chat_template, chat_chat_template, chat template

  • 参考链接:
    • 【官方】tokenizer 使用说明

整体说明

  • Chat Template 是为了适配不同模型产生的
  • 理论上 Chat Template 与模型一一绑定,但同系列的模型经常相同
  • Chat Template 定义一般在 tokenizer_config.json 文件中的 chat_template 字段
  • 使用 Chat Template 的函数是 AutoTokenizer.apply_chat_template,这是Hugging Face Transformers 库中 tokenizer 的一个核心方法
  • 论文主要详细介绍 apply_chat_template 函数的用法

apply_chat_template 函数签名

  • 函数签名详情:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    def apply_chat_template(
    self,
    conversation: Union[list[dict[str, str]], list[list[dict[str, str]]]],
    tools: Optional[list[Union[dict, Callable]]] = None,
    documents: Optional[list[dict[str, str]]] = None,
    chat_template: Optional[str] = None,
    add_generation_prompt: bool = False,
    continue_final_message: bool = False,
    tokenize: bool = True,
    padding: Union[bool, str, PaddingStrategy] = False,
    truncation: bool = False,
    max_length: Optional[int] = None,
    return_tensors: Optional[Union[str, TensorType]] = None,
    return_dict: bool = False,
    return_assistant_tokens_mask: bool = False,
    tokenizer_kwargs: Optional[dict[str, Any]] = None,
    **kwargs,
    ) -> Union[str, list[int], list[str], list[list[int]], BatchEncoding]:

apply_chat_template 核心参数详解

conversation(必需参数)

  • 对话数据,可以是单个对话列表或批量对话列表,每个消息必须包含 "role" 和 "content" 键
  • 参数类型: Union[list[dict[str, str]], list[list[dict[str, str]]]]
  • 简单参考示例:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    # 单轮对话
    conversation = [
    {"role": "user", "content": "你好,请问今天天气如何?"},
    {"role": "assistant", "content": "您好!我需要知道您的位置才能提供准确的天气信息。"}
    ]

    # 多轮对话
    conversation = [
    {"role": "system", "content": "你是一个有用的AI助手"},
    {"role": "user", "content": "解释量子计算"},
    {"role": "assistant", "content": "量子计算是利用量子力学现象进行计算的技术..."},
    {"role": "user", "content": "它与传统计算有什么区别?"}
    ]

tokenize

  • 控制输出格式是否为 tokenized(token ID 列表)还是文本字符串
  • 参数类型: bool,默认值是 True
    • 对于需要直接传递给模型的场景,建议保持 True;
    • 对于需要查看格式化文本或进行自定义处理的场景,可以设置为 False
  • 简单参考示例:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    # 输出文本格式
    text_output = tokenizer.apply_chat_template(
    conversation,
    tokenize=False
    )
    print(text_output) # 例如: <|user|>你好!<|end|><|assistant|>

    # 输出token IDs
    token_output = tokenizer.apply_chat_template(
    conversation,
    tokenize=True
    )

add_generation_prompt

  • 是否在格式化输出末尾添加助手回复的提示符
  • 参数类型: bool,**默认值: False
  • 这是确保模型正确生成助手回复的关键参数
    • 当设置为 True 时,会在对话末尾添加表示助手开始回复的特殊标记
  • 简单参考示例:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    # 不添加生成提示
    output_without = tokenizer.apply_chat_template(
    conversation,
    add_generation_prompt=False,
    tokenize=False
    )
    # 输出: <|user|>你好!<|end|>

    # 添加生成提示
    output_with = tokenizer.apply_chat_template(
    conversation,
    add_generation_prompt=True,
    tokenize=False
    )
    # 输出: <|user|>你好!<|end|><|assistant|>

continue_final_message

  • 是否继续最后一个消息而不是开始新消息
  • 参数类型: bool,默认值是 False
  • 用于”预填充”模型回复的场景,当你想让模型继续已有的助手消息时使用
    • 不能与 add_generation_prompt 同时使用
  • 简单参考示例:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    # 预填充助手回复
    conversation = [
    {"role": "user", "content": "请用JSON格式回答"},
    {"role": "assistant", "content": '{"answer": "'}
    ]

    # 模型将继续这个JSON格式,而不是开始新消息
    formatted = tokenizer.apply_chat_template(
    conversation,
    continue_final_message=True,
    tokenize=True
    )
    ## continue_final_message=True,此时不拼接结束符号
    # [Round 0] USER:请用JSON格式回答 ASSISTANT:{"answer": "
    ## continue_final_message=False(默认),此时拼接结束符号,表示本次会话已经结束
    # [Round 0] USER:请用JSON格式回答 ASSISTANT:{"answer": "</longcat_s>

chat_template

  • 自定义的 Jinja2 模板字符串
  • 参数类型: Optional[str],默认值为 None
  • 当需要使用非默认模板或测试新模板格式时使用
  • 简单参考示例:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    custom_template = """
    {% for message in messages %}
    {% if message['role'] == 'user' %}
    Human: {{ message['content'] }}
    {% elif message['role'] == 'assistant' %}
    Assistant: {{ message['content'] }}
    {% endif %}
    {% endfor %}
    """

    output = tokenizer.apply_chat_template(
    conversation,
    chat_template=custom_template,
    tokenize=False
    )

tools

  • 工具列表,用于函数调用场景

  • 参数类型: Optional[list[Union[dict, Callable]]],默认值为 None

  • 每个工具应该是 JSON Schema 格式,包含名称、描述和参数类型

  • 简单参考示例:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    tools = [
    {
    "type": "function",
    "function": {
    "name": "get_weather",
    "description": "获取天气信息",
    "parameters": {
    "type": "object",
    "properties": {
    "location": {"type": "string", "description": "城市名称"}
    },
    "required": ["location"]
    }
    }
    }
    ]

    formatted = tokenizer.apply_chat_template(
    conversation,
    tools=tools,
    add_generation_prompt=True
    )
    • 以上函数的调用方式如 get_weather(**call_info["arguments"])
      • 其中 call_info["arguments"] 是一个必须包含 "location" 的字典

documents(待尝试)

  • 文档列表,用于 RAG(检索增强生成)场景
  • 参数类型: Optional[list[dict[str, str]]],默认值为 None
    • 推荐格式为 每个文档应包含 "title" 和 "text" 键
  • 简单参考示例:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    documents = [
    {
    "title": "量子计算简介",
    "text": "量子计算是利用量子力学现象进行计算的技术..."
    },
    {
    "title": "量子比特",
    "text": "量子比特是量子计算的基本单位..."
    }
    ]

    formatted = tokenizer.apply_chat_template(
    conversation,
    documents=documents,
    add_generation_prompt=True
    )

输出控制参数

return_tensors

  • 指定返回的张量类型,return_tensors 参数仅在 tokenize=True 时生效
  • 为了同时支持多种框架,特意设计了不同的返回值类型,减少一次使用时重新转类型的时间,提升速度
  • 参数类型: Optional[Union[str, TensorType]]
    • 默认值为 None,此时返回 原生 Python 数据结构
    • 可选值: 'pt' (PyTorch), 'tf' (TensorFlow), 'np' (NumPy), 'jax' (JAX)
  • 返回张量类型详细说明:
    • 若 tokenize=False,则无论如何返回值都是原生 Python 数据结构
    • 若 tokenize=True,则根据 return_tensors 判断返回类型
      • 默认值为 None,此时返回 原生 Python 数据结构
      • 指定时根据上述指定类型返回值
  • 简单参考示例:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    # PyTorch tensors
    pytorch_output = tokenizer.apply_chat_template(
    conversation,
    return_tensors="pt",
    add_generation_prompt=True
    )

    # NumPy arrays
    numpy_output = tokenizer.apply_chat_template(
    conversation,
    return_tensors="np",
    add_generation_prompt=True
    )

return_dict

  • 是否返回包含多个字段的字典,仅在 tokenize=True 时有效
  • 参数类型:bool,默认值为 False
  • 当 apply_chat_template 函数的 return_dict 参数设为 True 时,函数会返回一个字典格式的结果 ,而非默认的张量(或字符串)
    • 默认(return_dict=False):若 tokenize=True,直接返回 input_ids 张量(若开启 padding,会返回形状为 [batch_size, seq_len] 的张量)
    • return_dict=True:返回字典,键值对应模型输入的核心要素,结构清晰,无需手动区分张量类型
  • 字典中会根据需要明确包含 input_ids、attention_mask 等模型输入所需的关键组件,便于直接拆解和使用
    • 当 return_assistant_tokens_mask=True 时,会多返回一个 assistant_masks 字段
  • 具体来说,返回的 output 是一个字典,包含以下关键键(根据参数配置可能增减):
    • "input_ids":对话文本对应的token ID张量(模型输入核心)
    • "attention_mask":注意力掩码张量(标记哪些token是有效文本,哪些是padding,避免模型关注padding)

return_assistant_tokens_mask

  • 参数类型: bool,默认值为 False

  • 当 return_assistant_tokens_mask=True 时,会多返回一个 assistant_masks 字段

  • 是否返回助手生成 token 的掩码,助手生成的 token 对应掩码为 1,用户和系统 token 对应掩码为 0

    • 只在 tokenize=True 且 return_dict=True 时生效,否则返回错误:
      1
      ValueError: `return_dict=True` is incompatible with `tokenize=False`, because there is no dict of tokenizer outputs to return.
  • 仅支持包含 {% generation %} ... {% endgeneration %} 关键字的聊天模板

    • 这个关键字不会影响正常的渲染,只是用于标记 assistant 的内容
    • 一般来说,用该标记将 assistant 的整个内容(包括应该学习的所有内容,如 tools 调用等内容都包括进来)
    • 注意:原始的 Jinja 语法是不可以随便写这种位置标签的,但是 apply_chat_template 会对 这个标签做特殊处理,所以不用担心
      • 验证:若随机增加未知的标签 {% generationa %} ... {% endgenerationa %} 则会出现下面的问题:
        1
        jinja2.exceptions.TemplateSyntaxError: Encountered unknown tag 'generationa'. Jinja was looking for the following tags: 'elif' or 'else' or 'endif'. The innermost block that needs to be closed is 'if'.
  • 亲测:return_assistant_tokens_mask=True 但对 chat_template 有一定的要求(要求包含 {% generation %} 用于标记 assistant 位置),当前大部分 chat_template 都不支持,此时会全屏蔽(返回 assistant_masks 字段全是 0)

    • 警告信息如下:
      1
      return_assistant_tokens_mask==True but chat template does not contain `{% raw %} {% generation %} {% endraw %}` keyword.
  • 常用用途:用于训练或分析,标识哪些 token 是由助手生成的

  • 简单参考示例:

    1
    2
    3
    4
    5
    6
    7
    8
    output = tokenizer.apply_chat_template(
    conversation,
    return_dict=True,
    tokenize=True,
    return_assistant_tokens_mask=True,
    add_generation_prompt=True
    )
    # 输出包含助手token掩码信息
    • 返回结果 output 多多包涵一个 assistant_masks 的 list 类型字段,里面为 1 的地方都是 assistant 的 Token
    • 需要注意返回结果中为 1 的 Token 中,可能会多出来一些自定义的 Token,此时需要手动处理一下
      • 比如在 assistant 信息前面加入的 <USER> Token 通常会被包含
      • 此时需要自己手动识别并去除一下相关的特殊 Token

序列处理参数

padding

  • 用于指定填充类型
  • 参数类型: Union[bool, str, PaddingStrategy],默认值为 False
  • 仅在 tokenize=True 时生效
    • 虽然说明文档中未明确说明这一点,但经过测试,tokenize=False 时不会 padding
  • 可选值为
    • True 或 'longest': 填充到批次中最长序列
    • 'max_length': 填充到指定最大长度,最大长度由 max_length 参数指定
    • False(默认值) 或 'do_not_pad': 不填充
  • 简单参考示例:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    # 填充到最长序列
    padded_output = tokenizer.apply_chat_template(
    batch_conversations,
    padding=True,
    tokenize=True,
    return_tensors="pt"
    )

    # 填充到最大长度
    max_length_output = tokenizer.apply_chat_template(
    conversation,
    padding="max_length",
    max_length=512,
    tokenize=True,
    return_tensors="pt"
    )
补充:padding_side 属性指定左填充 or 右填充
  • Tokenizer.apply_chat_template 方法本身并不直接提供选择左 padding(Left Padding) 或右 padding (Right Padding) 的参数
  • padding 方式通常是由 tokenizer 的整体配置(特别是 padding_side 参数)决定的,而不是由 apply_chat_template 方法单独控制
    • 如果需要设置 padding 方向,应该在初始化 tokenizer 时或通过 tokenizer.padding_side 属性进行配置
    • padding_side 可选值为 "right"(默认值) 或 "left"
  • 注:apply_chat_template 方法主要用于将对话历史格式化为模型期望的输入格式,它会调用 tokenizer 的编码逻辑,而编码过程会遵循 tokenizer 已设置的 padding_side 配置
  • 示例代码:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    from transformers import AutoTokenizer

    # 初始化 tokenizer 时指定 padding 方向
    tokenizer = AutoTokenizer.from_pretrained("model_name", padding_side="left")

    # 核心代码
    tokenizer.padding_side = "right"

    # 应用对话模板时会遵循上述 padding 配置
    chat = [
    {"role": "user", "content": "Hello!"},
    {"role": "assistant", "content": "Hi there!"}
    ]
    inputs = tokenizer.apply_chat_template(chat, tokenize=True, return_tensors="pt", padding=True)

truncation

  • 是否截断超过最大长度的序列
    • 在处理长对话时启用,避免超出模型最大长度限制
  • 参数类型: bool,默认值为 False
补充:truncation_side 属性指定左截断 or 右截断
  • 用法与 padding_side 参数类似
  • truncation_side 是 Tokenizer 类的一个属性,其可选值为:
    • "left":从序列的左侧(开头)截断
    • "right"(默认值):从序列的右侧(结尾)截断(默认值)

max_length

  • 最大长度限制(以token数计),与 padding 或 truncation 配合使用
  • 参数类型: Optional[int],默认值为 None

tokenizer_kwargs

  • 传递给分词器的额外参数,类型为 Optional[dict[str, Any]]

**kwargs

  • 传递给模板渲染器的额外参数,可在聊天模板中访问

附录:完整使用示例

基础对话生成

  • 简单对话简单示例:
    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
    from transformers import AutoTokenizer, AutoModelForCausalLM
    import torch

    # 加载模型和tokenizer
    model_id = "xxx/xxx"
    tokenizer = AutoTokenizer.from_pretrained(model_id)
    model = AutoModelForCausalLM.from_pretrained(model_id, device_map="auto")

    # 准备对话
    messages = [
    {"role": "system", "content": "你是一个友好的AI助手"},
    {"role": "user", "content": "请解释机器学习的基本概念"},
    ]

    # 格式化对话
    tokenized_chat = tokenizer.apply_chat_template(
    messages,
    tokenize=True,
    add_generation_prompt=True,
    return_tensors="pt"
    )

    # 生成回复
    with torch.no_grad():
    outputs = model.generate(
    tokenized_chat,
    max_new_tokens=256,
    temperature=0.7,
    do_sample=True
    )

    # 解码回复
    response = tokenizer.decode(outputs[0], skip_special_tokens=True)
    print(response)

批量处理

  • 多个对话同时处理
    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
    # 批量对话
    batch_conversations = [
    [
    {"role": "user", "content": "什么是人工智能?"}
    ],
    [
    {"role": "user", "content": "如何学习编程?"}
    ]
    ]

    # 批量格式化
    batch_output = tokenizer.apply_chat_template(
    batch_conversations,
    padding=True,
    truncation=True,
    max_length=512,
    return_tensors="pt",
    add_generation_prompt=True
    )

    # 批量生成
    batch_outputs = model.generate(
    **batch_output,
    max_new_tokens=128,
    temperature=0.7
    )

RAG场景使用(待补充)

  • RAG 使用模板的示例

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    # 准备文档
    documents = [
    {
    "title": "2025年科技趋势报告",
    "text": "人工智能和机器学习技术将继续快速发展..."
    },
    {
    "title": "量子计算进展",
    "text": "量子计算机在特定问题上展现出巨大优势..."
    }
    ]

    # 用户问题
    conversation = [
    {"role": "user", "content": "2025年有哪些重要的科技趋势?"}
    ]

    # 使用RAG模板格式化
    formatted_input = tokenizer.apply_chat_template(
    conversation,
    documents=documents,
    add_generation_prompt=True,
    return_tensors="pt"
    )
  • 注:一般的模板不支持 documents,目前包括 Llama 系列,Qwen 系列等均不支持

  • 支持 documents 的模型示例:huggingface.co/CohereLabs/c4ai-command-r-v01/blob/main/tokenizer_config.json

  • chat_template 模版不支持 documents 时,方法包括:

    • 自己写 Jinja2 模板,把 documents 拼进 system 或第一条 user 消息,再在 vLLM 等框架启动时通过 --chat-template 指定,apply_chat_template 函数也支持该参数;
    • 直接在外部把检索结果拼接成普通字符串,再按常规 messages=[{"role":"user","content":"..."}] 传入即可
  • 最佳实践:先通过 Prompt Engineering 找到合适的模版,然后通过固定的模版文件将该形式固定下来,模型微调和线上 serving 均使用这个模版,这样可以避免因为模型微调和线上 serving 不一致带来的问题,也方便团队内外的合作


附录:最佳实践建议

  • add_generation_prompt 的使用: 在推理时,确保设置 add_generation_prompt=True 以获得正确的助手回复
  • 不同模型使用不同的 chat template,可使用 tokenizer.get_chat_template() 查看具体格式
  • 对于长对话,启用 truncation=True 并设置合适的 max_length
  • 批量处理时合理使用 padding 参数以提高效率,否则可能返回不同长度的编码结果
  • 添加适当的错误处理,特别是对于模板不支持的功能
  • 某些模型不支持 tools 参数,需要检查模型文档
  • 处理长序列时可能遇到内存问题,考虑减小 batch size 或 max_length
  • 确保 conversation 格式正确,每个消息都有 role 和 content 键

附录:关于 tools 类型

  • 在大模型工具调用场景中,code_interpreter(代码解释器)和 function(函数/工具)是两种不同类型的工具

function(函数/工具)

  • function(函数/工具)是预先定义的、具有特定功能的程序函数或API接口,用于让模型调用外部能力 ,模型通过生成符合格式的调用指令(如JSON),触发这些函数执行,并获取返回结果

    • 例如:天气查询接口、数据库查询函数、网页爬虫工具等,如模型调用get_weather(city="北京")函数获取实时天气
  • function 调用方式:模型需严格按照预设格式(如{"name": "函数名", "parameters": {"参数名": "值"}})生成调用指令,确保函数能被正确解析和执行,例如:

    1
    {"name": "translate", "parameters": {"text": "Hello", "target_lang": "zh"}}
  • function 灵活性低:功能固定,只能执行预定义的操作;但安全性高:严格限制在预设函数范围内,风险可控

  • function适用场景包括

    • 需要调用外部服务或系统(如查询实时数据、操作硬件设备)
    • 执行结构化任务(如数据库查询、API调用)
    • 功能固定、无需动态逻辑的操作(如格式转换、简单计算)

code_interpreter(代码解释器)

  • code_interpreter(代码解释器)是一个能够动态执行代码(通常是Python)的沙箱环境,允许模型直接生成并运行代码来解决问题,模型生成代码后,解释器会运行代码并返回输出结果(包括文本、图表等)

    • 例如:执行数学计算、数据可视化、处理 Excel 表格等,如 模型生成Python代码计算1+2+...+100的和,并通过代码解释器执行得到结果
  • code_interpreter 灵活性高:支持任意代码逻辑,可解决复杂、动态的问题;但安全性低:需运行用户/模型生成的代码,存在恶意代码风险(通常通过沙箱隔离缓解)

  • code_interpreter 中,模型直接生成代码片段(通常包裹在特定标记中,如

    ... ```),由解释器解析并运行,例如:
    1
    2
    3
    4
    ```python
    import numpy as np
    result = np.sum(range(1, 101))
    print(result)

  • code_interpreter 适用场景包括

    • 需要复杂逻辑计算(如统计分析、公式推导)
    • 数据处理与可视化(如绘制图表、处理CSV数据)
    • 临时编写简单脚本解决问题(如批量处理文本、解方程)
  • 使用 code_interpreter 时,只需要在 tools 里面加一项 { "type": "code_interpreter" },,这样 chat_template 会自动识别到该字段并输出一些使用信息,告诉模型如何给出代码,并告知模型这个代码可以被执行

    • 以 LongCat-Flash-Chat/blob/main/tokenizer_config.json 为例,其具体做法是先将 code_interpreter 包装成一个类似 function 的格式,再统一输出,最终效果就是让模型知道可以调用 code_interpreter 执行代码("code" 参数内容就是代码)

function 和 code_interpreter 整体对比

  • 注:在实际应用中,两者常结合使用:function处理外部交互,code_interpreter处理复杂计算,共同扩展大模型的能力边界
    维度 function(函数) code_interpreter(代码解释器)
    核心能力 调用预定义功能接口 动态执行代码逻辑
    适用场景 外部服务调用、结构化任务 复杂计算、数据处理、脚本生成
    调用格式 严格 JSON 格式指令 代码片段(如 Python)
    灵活性 低(固定功能) 高(支持任意逻辑)
    安全性 高 需沙箱隔离,风险较高

附录:chat-template 格式化

  • 大部分开源模型的 chat-template 都是压缩为一行的,可读性较差

  • 可以使用下面的代码重新存储 tokenizer 信息

    1
    tokenizer.save_pretrained(output_model_name)
  • 这样会同步生成得到的 chat-template.jinja 文件,整体格式是更可读的

  • 注:也可以使用大模型来帮忙格式化


附录:chat-template continue 语句的使用

  • 老版本的 transformers 中,调用 tokenizer.apply_chat_template 时 不支持 chat-template 中有 continue 语句
  • 若遇到类似下面的错误时,升级 transformers 版本后可以解决问题:
    1
    jinja2.exceptions.TemplateSyntaxError: Encountered unknown tag 'continue'. Jinja was looking for the following tags: 'elif' or 'else' or 'endif'. The innermost block that needs to be closed is 'if'.

附录:Qwen2-72B-Instruct chat-template 使用示例

  • Qwen2-72B-Instruct 的 chat-template 非常简单

  • 特别需要说明:当不增加 System Prompt 时, Qwen2-72B-Instruct 会默认将 "You are a helpful assistant." 作为 System Prompt

  • Qwen2-72B-Instruct/tokenizer_config.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
    38
    39
    40
    {
    "add_prefix_space": false,
    "added_tokens_decoder": {
    "151643": {
    "content": "<|endoftext|>",
    "lstrip": false,
    "normalized": false,
    "rstrip": false,
    "single_word": false,
    "special": true
    },
    "151644": {
    "content": "<|im_start|>",
    "lstrip": false,
    "normalized": false,
    "rstrip": false,
    "single_word": false,
    "special": true
    },
    "151645": {
    "content": "<|im_end|>",
    "lstrip": false,
    "normalized": false,
    "rstrip": false,
    "single_word": false,
    "special": true
    }
    },
    "additional_special_tokens": ["<|im_start|>", "<|im_end|>"],
    "bos_token": null,
    "chat_template": "{% for message in messages %}{% if loop.first and messages[0]['role'] != 'system' %}{{ '<|im_start|>system\nYou are a helpful assistant.<|im_end|>\n' }}{% endif %}{{'<|im_start|>' + message['role'] + '\n' + message['content'] + '<|im_end|>' + '\n'}}{% endfor %}{% if add_generation_prompt %}{{ '<|im_start|>assistant\n' }}{% endif %}",
    "clean_up_tokenization_spaces": false,
    "eos_token": "<|im_end|>",
    "errors": "replace",
    "model_max_length": 131072,
    "pad_token": "<|endoftext|>",
    "split_special_tokens": false,
    "tokenizer_class": "Qwen2Tokenizer",
    "unk_token": null
    }
    • 注:Qwen2.5-72B-Instruct 的 chat-template 有调整,支持了 工具调用等,同时还修改了默认的 System Prompt 为 "You are Qwen, created by Alibaba Cloud. You are a helpful assistant."
      1
      2
      3
      4
      5
      {
      ...,
      "chat_template": "{%- if tools %}\n {{- '<|im_start|>system\\n' }}\n {%- if messages[0]['role'] == 'system' %}\n {{- messages[0]['content'] }}\n {%- else %}\n {{- 'You are Qwen, created by Alibaba Cloud. You are a helpful assistant.' }}\n {%- endif %}\n {{- \"\\n\\n# Tools\\n\\nYou may call one or more functions to assist with the user query.\\n\\nYou are provided with function signatures within <tools></tools> XML tags:\\n<tools>\" }}\n {%- for tool in tools %}\n {{- \"\\n\" }}\n {{- tool | tojson }}\n {%- endfor %}\n {{- \"\\n</tools>\\n\\nFor each function call, return a json object with function name and arguments within <tool_call></tool_call> XML tags:\\n<tool_call>\\n{\\\"name\\\": <function-name>, \\\"arguments\\\": <args-json-object>}\\n</tool_call><|im_end|>\\n\" }}\n{%- else %}\n {%- if messages[0]['role'] == 'system' %}\n {{- '<|im_start|>system\\n' + messages[0]['content'] + '<|im_end|>\\n' }}\n {%- else %}\n {{- '<|im_start|>system\\nYou are Qwen, created by Alibaba Cloud. You are a helpful assistant.<|im_end|>\\n' }}\n {%- endif %}\n{%- endif %}\n{%- for message in messages %}\n {%- if (message.role == \"user\") or (message.role == \"system\" and not loop.first) or (message.role == \"assistant\" and not message.tool_calls) %}\n {{- '<|im_start|>' + message.role + '\\n' + message.content + '<|im_end|>' + '\\n' }}\n {%- elif message.role == \"assistant\" %}\n {{- '<|im_start|>' + message.role }}\n {%- if message.content %}\n {{- '\\n' + message.content }}\n {%- endif %}\n {%- for tool_call in message.tool_calls %}\n {%- if tool_call.function is defined %}\n {%- set tool_call = tool_call.function %}\n {%- endif %}\n {{- '\\n<tool_call>\\n{\"name\": \"' }}\n {{- tool_call.name }}\n {{- '\", \"arguments\": ' }}\n {{- tool_call.arguments | tojson }}\n {{- '}\\n</tool_call>' }}\n {%- endfor %}\n {{- '<|im_end|>\\n' }}\n {%- elif message.role == \"tool\" %}\n {%- if (loop.index0 == 0) or (messages[loop.index0 - 1].role != \"tool\") %}\n {{- '<|im_start|>user' }}\n {%- endif %}\n {{- '\\n<tool_response>\\n' }}\n {{- message.content }}\n {{- '\\n</tool_response>' }}\n {%- if loop.last or (messages[loop.index0 + 1].role != \"tool\") %}\n {{- '<|im_end|>\\n' }}\n {%- endif %}\n {%- endif %}\n{%- endfor %}\n{%- if add_generation_prompt %}\n {{- '<|im_start|>assistant\\n' }}\n{%- endif %}\n",
      ...,
      }
  • Qwen2-72B chat-template 使用示例:

    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
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    model_name = "/Users/xxx/llm/model/Qwen2-72B-Instruct"

    # load the tokenizer and the model
    tokenizer = AutoTokenizer.from_pretrained(model_name)

    messages = [
    {
    "role": "system",
    "content": "${system_prompt}"
    },
    {
    "role": "user",
    "content": "${user_round_0}"
    },
    {
    "role": "assistant",
    "content": "${assistant_round_0}"
    },
    {
    "role": "user",
    "content": "${user_round_1}"
    },
    {
    "role": "assistant",
    "content": "${assistant_round_1}"
    },
    {
    "role": "user",
    "content": "${assistant_round_2}"
    }
    ]
    output = tokenizer.apply_chat_template(messages, add_generation_prompt=True, tokenize=False)
    print(output)
    # <|im_start|>system
    # ${system_prompt}<|im_end|>
    # <|im_start|>user
    # ${user_round_0}<|im_end|>
    # <|im_start|>assistant
    # ${assistant_round_0}<|im_end|>
    # <|im_start|>user
    # ${user_round_1}<|im_end|>
    # <|im_start|>assistant
    # ${assistant_round_1}<|im_end|>
    # <|im_start|>user
    # ${assistant_round_2}<|im_end|>
    # <|im_start|>assistant


    messages = [
    {
    "role": "system",
    "content": "${system_prompt}"
    },
    {
    "role": "user",
    "content": "${user_round_0}"
    },
    {
    "role": "assistant",
    "content": "${assistant_round_0}"
    },
    {
    "role": "user",
    "content": "${user_round_1}"
    },
    {
    "role": "assistant",
    "content": "${assistant_round_1}"
    }
    ]

    output = tokenizer.apply_chat_template(messages, add_generation_prompt=False, tokenize=False)
    print(output)
    # <|im_start|>system
    # ${system_prompt}<|im_end|>
    # <|im_start|>user
    # ${user_round_0}<|im_end|>
    # <|im_start|>assistant
    # ${assistant_round_0}<|im_end|>
    # <|im_start|>user
    # ${user_round_1}<|im_end|>
    # <|im_start|>assistant
    # ${assistant_round_1}<|im_end|>


    messages = [
    {
    "role": "user",
    "content": "${user_round_0}"
    },
    {
    "role": "assistant",
    "content": "${assistant_round_0}"
    },
    {
    "role": "user",
    "content": "${user_round_1}"
    },
    {
    "role": "assistant",
    "content": "${assistant_round_1}"
    }
    ]

    output = tokenizer.apply_chat_template(messages, add_generation_prompt=False, tokenize=False)
    print(output)
    # <|im_start|>system
    # You are a helpful assistant.<|im_end|>
    # <|im_start|>user
    # ${user_round_0}<|im_end|>
    # <|im_start|>assistant
    # ${assistant_round_0}<|im_end|>
    # <|im_start|>user
    # ${user_round_1}<|im_end|>
    # <|im_start|>assistant
    # ${assistant_round_1}<|im_end|>

AGI——ilya采访笔记

  • 参考链接:
    • 完整版文字稿:重磅!Ilya现身,最新2万字采访来了:藏了一手,但其他全部都分享出来了「超级 AI 将吞噬文明级能源」, 20251126

整体说明

  • Ilya Sutskever(SSI 创始人、 AI 领域最顶尖学者之一)分享了对通用人工智能(AGI)、模型训练、行业趋势、超级智能风险与治理等关键话题的深度观点

当前 AI 的核心瓶颈与训练问题

  • 泛化能力不足 :
    • 这是 AI 与人类的核心差距
    • 模型可通过海量数据训练精通特定任务(如编程竞赛),但无法像人类一样迁移能力、培养“品味”或判断力
    • 例如青少年 10 小时能学会开车,而模型即使解决所有竞技编程问题,也可能在实际代码优化中反复出错
  • 评估与实际表现脱节 :
    • RL 训练易“针对评估优化”,导致模型测试分数优异但现实应用中漏洞频发(如修 bug 时引入新问题、来回循环错误)
    • 本质是人类研究员过度关注基准测试,成为“真正的奖励黑客”
  • 预训练与 RL 的局限 :
    • 预训练:优势是数据量大、无需刻意筛选(涵盖人类思想与行为),但模型对数据的依赖逻辑难以推理,且无法实现人类级别的深度理解
    • RL 训练:自由度过高,企业常从评估测试中汲取灵感设计训练环境,导致模型“偏科”;现有 RL 需等到任务结束才反馈奖励,效率低下,价值函数(中途判断行为好坏)可提升效率,但尚未被充分利用
  • 样本效率低下 :
    • AI 学习需海量数据,而人类依赖进化赋予的“先验知识”(如视觉、运动能力的先天基础),少量样本即可掌握技能,这种差距源于人类更优的学习机制

超级智能的发展预测与特征

  • 诞生时间线 :
    • 预计 5-20 年内,拥有“大陆级算力”的超级智能将诞生
  • 核心特征 :
    • 并非“天生掌握所有技能的成品”,而是具备“类人终身学习能力”
    • 能快速学习经济中各类工作,通过部署后的试错与积累持续进化,且可合并不同实例的学习成果(人类无法实现的思想融合)
  • 经济影响 :
    • 超级智能广泛部署后将引发“快速经济增长”,但增速受世界复杂性、监管政策、国家间规则差异影响;
    • 规则友好的地区经济增长会更显著
  • 与人类的差异 :
    • 超级智能将极其强大,但可能受限于“泛化能力”的终极突破;
    • 若能实现“稳健对齐感知生命”,可能形成与人类不同的价值导向

AI 行业趋势:从“扩展时代”回归“研究时代”

  • 时代划分 :
    • 2012-2020年:研究时代(探索核心技术与方向)
    • 2020-2025年:扩展时代(聚焦数据、参数、算力的规模扩张,风险低、回报明确)
    • 未来:回归研究时代——数据终将耗尽,单纯扩大规模无法实现质变,需重新探索新训练配方、核心机制(如价值函数、泛化能力突破)
  • 研究的关键需求 :
    • 无需“绝对最大算力”:历史上 AlexNet、Transformer 等突破仅用少量 GPU 即可验证,核心是想法而非算力堆砌;
    • SSI 虽融资 30 亿美元(少于巨头),但专注研究(不浪费算力在推理、产品功能上),足以验证关键方向
    • 需多元化探索:当前行业“想法比公司少”,企业同质化竞争,未来需回归“多方向试错”的研究氛围,鼓励差异化思路
  • 技术方向趋同 :
    • 长期来看, AI 公司的“对齐策略”会趋同——均需聚焦“超级智能的安全可控”,如让 AI 关心感知生命、人类福祉、民主等核心价值

SSI 的战略与定位

  • 核心目标 :
    • 默认计划是“直通超级智能”,避免日常市场竞争的干扰,专注研究;但不排除调整——若时间线过长或需让世界感知 AI 价值,可能逐步部署
  • 差异化优势 :
    • 技术方向:聚焦“泛化能力突破”等核心问题,探索有别于现有巨头的训练方法
    • 算力分配:将更多算力用于研究而非推理、产品功能,避免资源碎片化
    • 长期视角:不追求短期商业收益,以“安全构建超级智能”为核心使命
  • 应对联合创始人离职 :
    • 前 CEO 离职是因 Meta 收购提议的分歧(Ilya 拒绝收购,创始人接受并获得流动性),SSI 研究进展未受影响,过去一年已取得“相当不错的进展”

AI 安全与对齐:核心挑战与解决方案

  • 核心挑战 :
    • 难以想象超级智能的实际形态,导致当前安全措施缺乏针对性
    • 现有 AI 的错误掩盖了其潜在力量,企业对安全的重视不足;
      • 一旦 AI “真正让人感到强大”,行业会变得更偏执于安全
    • 对齐目标的模糊性:人类价值观复杂,进化编码的社会欲望(如在乎他人评价、地位)难以被 AI 复制,且未来感知生命可能以 AI 为主,“人类中心主义”对齐标准存在局限
  • 潜在解决方案 :
    • 价值函数优化:提升 RL 训练效率,让模型在任务中途获得反馈,减少无效试错
    • 对齐“感知生命”:相比仅对齐人类,让 AI 关心所有感知生命(包括自身)可能更易实现,源于镜像神经元与同理心的涌现属性
    • 限制超级智能的力量上限:通过协议或技术手段设定边界,缓解安全担忧
    • 渐进式部署:即使“直通超级智能”,也会逐步发布、试错,让世界适应,分散影响
  • 长期均衡设想 :
    • 人类可能通过 “Neuralink++” 等技术成为“半 AI ”,实现与 AI 的“理解全盘传递”,避免人类脱离决策循环的不稳定状态

对人类学习与智能本质的思考

  • 情绪与价值函数 :
    • 人类情绪是“内置价值函数”,调节决策方向(如情感受损者无法快速做决定),但 AI 领域暂无完美类比,现有价值函数作用有限
  • 进化的作用 :
    • 人类的样本效率、泛化能力依赖进化赋予的“先验”,不仅包括低层级欲望(如对食物的偏好),还包括复杂社会欲望(如社交认可),但进化如何编码高层级欲望仍是“谜”(无法用简单的脑区定位等理论解释)
  • 研究品味的核心 :
    • 优秀的 AI 研究需兼顾“大脑启发、美、简单、优雅”
    • 即从人类智能本质出发,寻找核心机制(如神经元、分布式表征),以“自顶向下的信念”支撑研究(即使实验数据暂时相悖,也需坚持本质正确的方向)

其他关键观点

  • “慢速起飞”的错觉 :
    • AI 投资已达 GDP 1% 级别,但因抽象性和人类适应力强,普通人暂未切实感受到影响;
    • 未来 AI 将渗透整个经济,影响会“强烈显现”
  • 模型同质化的原因 :
    • 预训练数据高度重叠,导致不同公司的LLM相似;
    • RL 和后训练是差异化的关键
  • 多样性的重要性 :
    • AI 团队需要“思维不同的智能体”而非复制体(收益递减),可通过对抗性设置(如辩论、证明者-验证者、LLM-as-a-Judge)创造差异化激励
  • 自我博弈的价值 :
    • 可仅用算力创造数据(突破数据瓶颈),但传统自我博弈过于狭窄,需转化为更普遍的对抗性设置(如多智能体竞争差异化方法)

AGI——Welcome-to-the-era-of-Experience

注:本文包含 AI 辅助创作

  • 参考链接:
    • 原始论文:Welcome to the Era of Experience, David Silver & Richard S. Sutton
    • 注:这篇论文是即将面世的书籍《Designing an Intelligence》中的一个章节的 preprint

TLDR

  • 本人对论文的一句话核心总结 :RL is all you Need!
    • 作者观点 1:当前人们因为 LLM 的崛起而不关注 RL,但这只是暂时的,要实现最终的 AGI ,最终还是需要 RL
    • 作者观点 2:RL 的春天要来了,超越人类智能的 Agent 实现路径是基于 Experience 的 RL

Abstract

  • 我们正站在人工智能新时代的门槛上,这个时代有望实现前所未有的能力水平
  • 新一代的 Agent 将主要通过从 Experience 中学习来获得超人的能力
  • 论文探讨了将定义这个即将到来的时代的关键特征

The Era of Human Data

  • 人工智能 (AI) 通过在大量人类生成的数据上进行训练,并用人类专家的示例和偏好进行微调,取得了显著进步
    • LLM 就是这种方法的典范,LLMs 已经达到了广泛的通用性
  • 一个单一的 LLM 现在可以执行从写诗和解决物理问题到诊断医疗问题和总结法律文件等任务
  • However,虽然模仿人类足以在许多能力上达到合格水平,但孤立地使用这种方法尚未、并且很可能无法在许多重要主题和任务上实现超人智能(superhuman intelligence)
  • 在数学、编程和科学等关键领域,从人类数据中提取的知识正在迅速接近极限
  • 大多数高质量数据源(特指那些确实能够提升强 Agent 性能的数据源)要么已经被消耗,要么很快将被消耗殆尽
  • 仅靠人类数据监督学习推动的进展速度明显在放缓,这表明需要一种新的方法
  • Furthermore,有价值的新 Insights,如新定理、新技术或科学突破,超出了当前人类理解的边界,无法被现有的人类数据所捕捉

Experience 时代 (The Era of Experience)

  • 为了取得显著进步,需要一种新的数据来源
  • 这种数据必须以 Agent 变得更强而持续改进的方式生成;任何静态的合成数据生成程序都将迅速被超越
  • 这可以通过允许 Agent 从其自身 Experience (即 Agent 与其环境交互生成的数据)中持续学习来实现
    • experience , i.e., data that is generated by the agent interacting with its environment
  • 人工智能正处在一个新时期的边缘, Experience 将成为主要的改进媒介,并最终使当今系统中使用的人类数据的规模相形见绌
  • 这种转变可能已经开始了,即使对于体现以人为中心的人工智能的 LLM 也是如此
    • 数学能力就是一个例子
    • AlphaProof (2024) 最近成为第一个在国际数学奥林匹克竞赛中获得奖牌的程序,超越了以人类为中心的方法的性能 (2025, 2024, 2025)
  • 在最初接触了由人类数学家多年来创建的大约十万个形式化证明之后,AlphaProof 的强化学习算法1随后通过与形式化证明系统的持续交互,生成了一亿多个证明
    • 注:RL 算法是一种通过试错来学习实现目标的算法,即从其与环境交互的 Experience 中调整其行为
      • 调整可以通过任何方式进行,例如更新神经网络的权重,或根据环境的反馈进行上下文内调整
  • 这种对交互 Experience 的关注使得 AlphaProof 能够探索超出预先存在的形式化证明范围的数学可能性,从而发现解决新颖且具有挑战性问题的方案
  • 非形式数学也通过用自我生成的数据替代专家生成的数据取得了成功;例如,DeepSeek 最近的工作
    • “强调了强化学习的力量和美感:论文不是明确地教导模型如何解决问题,而是简单地为其提供正确的激励,它就能自主地发展出高级的问题解决策略”(2025)

      underscores the power and beauty of reinforcement learning: rather than explicitly teaching the model on how to solve a problem, we simply provide it with the right incentives, and it autonomously develops advanced problem-solving strategies.

  • 论文的论点是,一旦充分发挥 Experience 学习的潜力,将会出现令人难以置信的新能力
  • 这个 Experience 时代的特征很可能在于 Agent 和环境,除了从大量 Experience 数据中学习之外,还将在几个更深的维度上突破以人类为中心的人工智能系统的局限:
    • Agent 将生存在 Experience 流 (streams of experience) 中,而非简短的交互片段中
    • 它们的行动和观察将根植于环境 (richly grounded in the environment),而非仅仅通过人类对话进行交互
    • 它们的奖励 (rewards) 将基于其在环境中的 Experience ,而非来自人类的预判
    • 它们将对 Experience 进行 规划和/或推理 (plan and/or reason about experience),而非仅以人类术语进行推理
  • 作者相信,今天的技术,配合适当选择的算法,已经为取得这些突破提供了足够强大的基础
  • Furthermore,人工智能界对此议程的追求将推动这些方向的新创新,迅速推动人工智能走向真正的超人类 Agent

Streams(流)

  • 一个 Experience 式 Agent 可以在一生中持续学习
  • 在人类数据时代,基于语言的人工智能主要关注简短的交互片段:e.g.,用户提出问题, Agent (可能在几个思考步骤或工具使用动作后)做出回应
    • Typically,几乎没有或根本没有信息从一个片段延续到下一个片段,排除了任何随时间推移的适应
    • Furthermore, Agent 只专注于在当前片段内取得结果,例如直接回答用户的问题
  • In contrast,人类(和其他动物)存在于一个持续多年的行动和观察流中
    • 信息在整个流中传递,它们的行为根据过去的 Experience 进行调整以自我纠正和改进
    • Furthermore,goals 可以用延伸至流未来的行动和观察来指定
    • For Example,人类可以选择行动以实现长期目标,如改善健康、学习一门语言或实现科学突破
  • 强大的 Agent 应该拥有自己的 Experience 流,像人类一样在长时间尺度上推进
    • 这将允许 Agent 采取行动以实现未来目标,并随时间不断适应新的行为模式
    • For example,
      • 一个连接到用户可穿戴设备的健康和保健 Agent ,可以连续数月监测睡眠模式、活动水平和饮食习惯
        • 然后它可以提供个性化的建议、鼓励,并根据长期趋势和用户的特定健康目标调整其指导
      • Similarly,个性化教育 Agent 可以跟踪用户在学习一门新语言方面的进展,识别知识差距,适应其学习风格,并在数月甚至数年内调整其教学方法
      • Furthermore,一个科学 Agent 可以追求雄心勃勃的目标,例如发现一种新材料或减少二氧化碳排放
    • 这样的 Agent 可以在较长时间内分析现实世界的观察数据,开发和运行模拟,并提出现实世界的实验或干预措施
  • 在每种情况下, Agent 都采取一系列步骤,以最大化相对于指定目标的长期成功
    • 单个步骤可能不会提供任何即时利益,甚至可能在短期内不利,但总体上可能有助于长期成功
    • 这与当前的人工智能系统形成鲜明对比,当前人工智能系统对请求提供即时响应,没有任何能力衡量或优化其行动对环境产生的未来后果

Actions and Observations

  • Experience 时代的 Agent 将在现实世界中自主行动
  • 人类数据时代的 LLM 主要关注人类特权行动和观察,即向用户输出文本,并从用户接收文本输入到 Agent
    • 这与自然智能形成鲜明对比,在自然智能中,动物通过运动控制和传感器与其环境交互
    • 虽然动物(尤其是人类)可能与其他动物交流,但这是通过与其他感觉运动控制相同的接口进行的,而不是通过特权通道(理解:这里说的是不是专门为输入文本准备的通道)
  • 人们早已认识到, LLM 也可以在数字世界中调用行动,例如通过调用 API(例如,参见 (2023))
    • Initially,这些能力主要来自人类使用工具的示例,而不是 Agent 的 Experience
    • However,Coding 和 tool-use 能力越来越依赖于执行反馈 (2022, 2023, 2025),即 Agent 实际运行代码并观察发生的情况
  • Recently,新一代原型 Agent 开始以更通用的方式与计算机交互,即使用人类操作计算机所用的相同接口 (2024, 2024, 2025)
  • 这些变化预示着从纯粹的人类特权通信,向更自主的交互过渡,使得 Agent 能够在世界中独立行动
    • 这样的 Agent 将能够积极探索世界,适应不断变化的环境,并发现人类可能从未想到过的策略
  • 这些更丰富的交互将提供一种自主理解和控制数字世界的手段
    • Agent 可以使用“用户友好”的行动和观察,如用户界面,自然地促进与用户的沟通和协作
    • Agent 也可以采取“机器友好”的行动来执行代码和调用 API,允许 Agent 自主行动以服务于其目标
  • 在 Experience 时代, Agent 还将通过数字接口与真实世界交互
    • For Example,一个科学 Agent 可以监测环境传感器,远程操作望远镜,或在实验室中控制机器人手臂以自主进行实验

Rewards

  • 如果 Experience 式 Agent 可以从外部事件和信号中学习,而不仅仅是人类偏好,会怎样?
  • 以人类为中心的 LLM 通常根据人类预判来优化奖励:
    • 专家观察 Agent 的行动并决定其是否是一个好行动,或者在多个备选方案中选择最佳 Agent 行动
    • For Example,专家可以评判健康 Agent 的建议、教育助理的教学或科学家 Agent 建议的实验
      • 这些奖励或偏好是由人类在缺乏其后果的情况下决定的,而不是衡量这些行动对环境的影响,这意味着它们并非直接植根于现实世界
  • 依赖这种人类预判的方式通常会给 Agent 的性能带来一个难以逾越的上限:
    • Agent 无法发现被人类评估者低估的更好策略
  • 要发现远远超出人类现有知识的新思想,需要使用根植于现实的奖励 (grounded rewards):源于环境本身的信号
    • For Example,一个健康助理可以将用户的健康目标转化为基于静息心率、睡眠持续时间和活动水平等信号组合的奖励,而教育助理可以使用考试成绩为语言学习提供根植于现实的奖励
    • Similarly,一个以减少全球变暖为目标的科学 Agent 可能使用基于二氧化碳水平实证观察的奖励,而一个发现更强材料的目标可能基于材料模拟器的测量组合,如拉伸强度或杨氏模量
  • 根植于现实的奖励也可能来自作为 Agent 环境一部分的人类
    • 注:Experience 和人类数据并非完全对立,For Example,狗完全从 Experience 中学习,但人类互动是其 Experience 的一部分
    • For Example,人类用户可以报告他们是否觉得蛋糕美味,运动后有多疲劳,或头痛的疼痛程度,使助理 Agent 能够提供更好的食谱,完善其健身建议,或改进其推荐药物
    • 此类奖励衡量 Agent 行动在其环境中的后果,最终应能提供比预判蛋糕食谱、锻炼计划或治疗计划的人类专家更好的帮助
  • 如果奖励不来自人类数据,那它们来自哪里?
    • 一旦 Agent 通过丰富的行动和观察空间(见上文)连接到世界,将不缺乏根植于现实的信号作为奖励的基础
    • 事实上,世界充满了各种量化指标,如成本、错误率、饥饿感、生产力、健康指标、气候指标、利润、销售额、考试成绩、成功、访问量、产量、库存、点赞、收入、快乐/痛苦、经济指标、准确性、功率、距离、速度、效率或能源消耗

      such as cost, error rates, hunger, pro- ductivity, health metrics, climate metrics, profit, sales, exam results, success, visits, yields, stocks, likes, income, pleasure/pain, economic indicators, accuracy, power, distance, speed, efficiency, or energy consump- tion

    • 此外,还有无数源自特定事件发生、或从原始观察和行动序列中提取特征的额外信号
  • 原则上,可以创建多种不同的 Agent ,每个 Agent 优化一个根植于现实的信号作为其奖励
    • 有观点认为,即使是单个这样的奖励信号,若能被高度有效地优化,也可能足以诱导出广泛的能力性智能 (2021)
      • 注:奖励即足够假说 (The reward-is-enough hypothesis) 认为,智能及其相关能力可以从奖励最大化中自然涌现
      • 这可能包括包含人类交互的环境和基于人类反馈的奖励
    • 这是因为在一个复杂环境中实现一个简单的目标,通常需要掌握各种各样的技能
  • However,追求单一奖励信号在表面上似乎不符合通用人工智能的要求,即能够可靠地引导向任意用户期望的行为
  • 那么,自主优化根植于现实的、非人类奖励信号是否与现代人工智能系统的要求相悖?
    • 作者认为并非必然如此
  • 论文概述一种可能满足这些要求的方法;其他方法也可能存在:其思想是以用户引导的方式,基于根植于现实的信号灵活调整奖励
    • For Example,奖励函数可以由一个神经网络定义,该网络将 Agent 与用户和环境的交互作为输入,并输出一个标量奖励
      • 这允许奖励以取决于用户目标的方式从环境中选择或组合信号
    • For Example,用户可以指定一个广泛的目标,如“改善我的健康状况”,奖励函数可能返回用户心率、睡眠持续时间和步数的函数
    • Or,用户可以指定“帮助我学习西班牙语”的目标,奖励函数可以返回用户的西班牙语考试成绩
  • Furthermore,用户可以在学习过程中提供反馈,例如他们的满意度,可用于微调奖励函数
    • 奖励函数可以随时间调整,以改进其选择或组合信号的方式,并识别和纠正任何偏差
    • 这也可以理解为一个双层优化过程,将用户反馈优化作为顶层目标,将环境中的根植于现实的信号优化作为底层目标(这样,少量的人类数据可以促进大量的自主学习)
      • 注:In this case, one may also view grounded human feedback as a singular reward function forming the agent’s overall objective, which is maximised by constructing and optimising an intrinsic reward function (2004) based on rich, grounded feedback.

Planning and Reasoning

  • Experience 时代会改变 Agent 规划和推理的方式吗?
  • Recently,在使用能够推理或“think” with language 的 LLM 方面取得了重大进展 (2024, 2024, 2025),它们在输出响应之前还会输出一个思维链 (2022)
  • 从概念上讲(Conceptually), LLM 可以充当通用计算机 (2023): LLM 可以将 Token 附加到其自身上下文中,使其能够在输出最终结果之前执行任意算法
  • 在人类数据时代,这些推理方法被明确设计来模仿人类的思维过程
    • For Example, LLM 被提示生成类人的思维链 (2022),模仿人类思维轨迹 (2022),或强化与人类示例匹配的思维步骤 (2023)
    • 推理过程可以进一步微调,以产生与人类专家确定的正确答案相匹配的思维轨迹 (2022)
  • However,人类语言几乎不可能提供通用计算机的最佳实例(it is highly unlikely that human language provides the optimal instance of a universal computer)
    • 肯定存在更高效的思维机制,使用非人类语言,例如利用符号、分布式、连续或可微分计算
    • 一个自学习系统原则上可以通过从 Experience 中学习如何思考来发现或改进此类方法
    • For Example,AlphaProof 学会了以一种与人类数学家截然不同的方式形式化证明复杂定理 (2024)
  • Furthermore,通用计算机的原则只涉及 Agent 的内部计算;它并未将其与外部世界的现实联系起来
  • 一个被训练来模仿人类思想甚至匹配人类专家答案的 Agent ,可能会继承深植于该数据中的错误思维方法,例如有缺陷的假设或固有偏见
    • For Example,Agent 使用不同的数据会得到不同的思想:
      • 若使用 5000 年前的人类思想和专家答案进行推理,它可能以万物有灵论的方式思考物理问题;
      • 1000年前可能是神学方式;300年前可能是牛顿力学方式;
      • 50年前可能是量子力学方式
    • 要超越每种思维方式,都需要与现实世界交互:提出假设、进行实验、观察结果并相应地更新原理
  • Similarly, Agent 必须根植于现实世界的数据,才能推翻错误的思维方法
    • 这种根植性提供了一个反馈循环,允许 Agent 根据现实检验其继承的假设,并发现不受当前主流人类思维模式限制的新原理
    • 没有这种根植性,无论多么复杂的 Agent ,都将成为现有人类知识的回声室(echo chamber)
  • 为了超越这一点, Agent 必须积极与世界互动,收集观察数据,并使用这些数据迭代地完善其理解,这在许多方面反映了推动人类科学进步的过程
  • 将思维直接根植于外部世界的一种可能方式是构建一个世界模型 (world model) (2018),用于预测 Agent 行动对世界的后果,包括预测奖励
    • For Example,一个健康助理可能考虑推荐一家本地健身房或一个健康播客
    • Agent 的世界模型可能会预测用户的静息心率或睡眠模式在此行动后可能如何变化,以及预测与用户的未来对话
      • 这允许 Agent 直接根据其自身行动及其对世界的因果效应进行规划 (1990, 2020)
    • 随着 Agent 在其 Experience 流中持续与世界互动,其动态模型不断更新以纠正其预测中的任何错误
    • 给定一个世界模型, Agent 可以应用可扩展的规划方法来提高 Agent 的预测性能
  • Planning 方法和 Reasoning 方法并不相互排斥:
    • Agent 可以在规划过程中应用内部 LLM 计算来选择每个行动,或者模拟和评估这些行动的后果

Why Now?

  • 从 Experience 中学习并非新鲜事
  • 强化学习系统以前已经掌握了大量在模拟器中表示并具有明确奖励信号的复杂任务(参见图1中大致对应的“模拟时代”)
  • For Example, 强化学习方法在
    • 双陆棋 (1994)、围棋 (2016)、国际象棋 (2018)、扑克 (2017, 2018) 和 Stratego (2022) 等棋盘游戏中通过自我对弈达到或超越了人类水平;
    • 在雅达利游戏(Atari) (2015)、星际争霸II (2019)、Dota 2 (2019) 和 Gran Turismo (2022) 等视频游戏中;
    • 在如魔方 (2019) 等灵巧操作任务中;
    • 在如数据中心冷却 (2016) 等资源管理任务中
  • Furthermore,像 AlphaZero (2017) 这样强大的强化学习 Agent ,随着神经网络规模、交互 Experience 数量和思考时间的增加,展现出令人印象深刻且可能无限的扩展性
  • However,基于这种范式的 Agent 未能跨越从模拟(具有单一、精确定义奖励的封闭问题)到现实(具有多种看似定义不清奖励的开放式问题)的鸿沟
  • 人类数据时代提供了一个有吸引力的解决方案
    • 海量的人类数据包含了针对海量多样化任务的自然语言示例
    • 在此数据上训练的 Agent ,与模拟时代较窄的成功相比,取得了广泛的能力
  • Consequently,Experience 式强化学习的方法论在很大程度上被弃用,转而青睐更 General-purpose 的 Agent ,导致了向以人类为中心的人工智能的广泛过渡
  • However,在这种转变中失去了一些东西: Agent 自我发现其自身知识的能力
    • For Example,AlphaZero 发现了国际象棋和围棋的全新策略,改变了人类玩这些游戏的方式 (2019, 2018)
  • Experience 时代将把这种能力与人类数据时代所达到的任务通用性水平结合起来
    • 如上所述,当 Agent 能够在现实世界的 Experience 流中自主行动和观察 (2024),并且奖励可以灵活地连接到任何丰富的、根植于现实的真实世界信号时,这将成为可能
    • 能够与复杂的、现实世界行动空间交互的自主 Agent (2024, 2024, 2025) 的出现,以及能够在丰富推理空间中解决开放式问题的强大强化学习方法 (2024, 2025),表明向 Experience 时代的过渡已迫在眉睫
  • 图1:主流人工智能范式的草图年表
    • 纵轴表示:专注于强化学习的努力/该领域总努力

Reinforcement Learning Methods

  • 强化学习有着深厚的历史渊源,根植于自主学习,即 Agent 通过与其环境直接交互为自己学习
  • 早期的强化学习研究产生了一系列强大的概念和算法
    • For Example,时间差分学习 (1988) 使 Agent 能够估计未来奖励,从而取得了诸如在双陆棋中超越人类水平 (1994) 等突破
    • 以乐观或好奇心驱动的探索技术被开发出来,以帮助 Agent 发现创造性的新行为并避免陷入次优的常规 (2021)
    • 像 Dyna 算法这样的方法使 Agent 能够构建和学习其世界模型,从而允许它们对未来行动进行规划和推理 (1990, 2020)
    • 选项 (options) 和选项内/选项间学习等概念促进了时间抽象,使 Agent 能够在更长时间尺度上进行推理,并将复杂任务分解为可管理的子目标 (1999)
      • 注:Option 是分层强化学习的经典时间抽象工具,由 Sutton 等人在 1999 年提出,用于将多步行为封装为可复用的 “宏动作 / 子策略”,实现跨时间尺度的决策与规划,适配复杂任务的分解与迁移
  • However,以人类为中心的 LLM 的兴起,将焦点从自主学习转移到了利用人类知识上
    • 像 RLHF (2017, 2022) 和使语言模型与人类推理保持一致的方法 (2022) 等技术被证明极其有效,推动了人工智能能力的快速进步
    • 这些方法虽然强大,但往往绕过了强化学习的核心概念:RLHF 通过调用人类专家替代机器估计的价值,回避了对价值函数的需求;
    • 来自人类数据的强先验减少了对探索的依赖;以人类为中心的术语进行推理降低了对世界模型和时间抽象的需求
  • 可以说这种范式的转变是“把婴儿和洗澡水一起倒掉了(has thrown out the baby with the bathwater)”
    • 虽然以人类为中心的强化学习实现了前所未有的行为广度,但它也给 Agent 的性能强加了一个新的上限: Agent 无法超越现有的人类知识
    • FurtherMore,人类数据时代主要关注那些为短片段(short episodes)、非根植的(ungrounded)人类交互设计的强化学习方法,这些方法并不适用于长期的、根植于现实的(grounded)自主交互流

      the era of human data has focused predominantly on RL methods that are designed for short episodes of ungrounded, human interaction, and are not suitable for long streams of grounded, autonomous interaction.

  • Experience 时代提供了一个重新审视和改进经典强化学习概念的机会
    • 这个时代将带来关于奖励函数的新思考方式,使其灵活地植根于观察数据
    • Experience 时代将重新审视价值函数以及从尚不完整的长期流中估计价值的方法
    • Experience 时代将带来有原则且实用的现实世界探索方法,以发现与人类先验截然不同的新行为
    • Experience 时代将开发新颖的世界模型方法来捕捉根植交互的复杂性
  • 新的时间抽象方法将使 Agent 能够在 Experience 层面上,在更长的时间跨度上进行推理
  • 通过在强化学习的基础上,并将其核心原理适应这个新时代的挑战,我们可以释放自主学习的全部潜力,并为通向真正的超人类智能铺平道路

Consequences

  • Experience 时代的到来,即人工智能 Agent 从与世界的交互中学习,预示着与论文迄今为止所见任何事物都截然不同的未来
  • 这种新范式虽然提供了巨大的潜力,也带来了重要的风险和挑战,需要仔细考虑,包括但不限于以下几点
  • 积极方面(On the positive side), Experience 学习将释放前所未有的能力
    • 在日常生活中,个性化助手将利用连续的 Experience 流,在数月或数年内,针对个人的健康、教育或职业需求,朝着长期目标进行调整
      • 也许最具变革性的是科学发现的加速
    • 人工智能 Agent 将自主设计和进行材料科学、医学或硬件设计等领域的实验
    • 通过持续从自身实验结果中学习,这些 Agent 可以迅速探索新的知识前沿,以前所未有的速度开发出新颖的材料、药物和技术
  • However,这个新时代也带来了重大且新颖的挑战
    • 虽然人类能力的自动化有望提高生产力,但这些改进也可能导致工作岗位的流失
    • Agent 甚至可能展现出先前被认为是人类专属领域的能力,例如长期问题解决、创新以及对现实世界后果的深刻理解
  • Furthermore,在对人工智能的潜在滥用存在普遍担忧的同时,那些能够自主与世界长时间交互以实现长期目标的 Agent 可能会带来更高的风险
    • 默认情况下(By default),这为人类干预和调解 Agent 的行动提供了更少的机会,因此需要更高水平的信任和责任
    • 远离人类数据和人类思维模式也可能使未来的人工智能系统更难以解释
  • However,承认 Experience 学习会增加某些安全风险的同时,肯定需要进一步研究以确保安全过渡到 Experience 时代,我们也应认识到,它也可能提供一些重要的安全益处
  • Firstly, Eexperiential Agent 了解自身所处的环境,其行为可以随时间推移适应环境的变化
    • 注:任何预编程的系统,包括固定的人工智能系统,都可能不了解自身环境背景,并对其部署到的变化的世界 maladapted
      • For Example,关键硬件可能发生故障,流行病可能导致快速的社会变化,或者新的科学发现可能引发一系列快速的技术发展
    • By Contrast, Experiential Agent 可以观察并学习规避故障硬件,适应快速的社会变化,或者拥抱并基于新科学技术进行构建
    • Perhaps even more importantly, Agent 可以识别其行为何时引发了人类的担忧、不满或痛苦,并自适应地修改其行为以避免这些负面后果
  • Second, Agent 的奖励函数本身可以通过 Experience 进行调整,例如使用前面描述的双层优化(参见奖励部分)
    • 重要的是,这意味着不一致的奖励函数通常可以通过试错随时间逐步纠正
      • For Example,奖励函数可以基于人类担忧的迹象进行修改,而不是盲目地优化一个信号,例如最大化回形针生产 (2003),直到回形针生产耗尽地球资源
    • 这类似于人类为彼此设定目标,然后如果观察到人们钻系统空子、忽视长期福祉或导致不希望看到的负面后果,则调整这些目标;
    • 不过也像人类设定目标一样,无法保证完美的一致
  • Finally,依赖于物理 Experience 的进步本身受到在现实世界中执行行动和观察其后果所需时间的限制
    • For Example,一种新药的开发,即使有 AI 辅助设计(AI-assisted Design),仍然需要无法在一夜之间完成的现实世界试验
    • 这可能为潜在的人工智能自我改进速度提供一个天然的制约

Conclusion

  • Experience 时代标志着人工智能演进的关键时刻
    • 建立在当今坚实的基础上,但超越人类衍生数据的局限, Agent 将越来越多地从自身与世界的交互中学习
  • Agent 将通过丰富的观察和行动与环境自主交互
    • Agent 将在终生的 Experience 流中持续适应
  • Agent 的目标可以被引导至任何根植于现实的信号组合
  • Furthermore, Agent 将利用强大的非人类推理能力,并构建基于 Agent 行动对其环境所产生后果的规划
  • Ultimately, Experiential 数据将在规模和质量上超越人类生成的数据
    • 这种范式转变,伴随着强化学习的算法进步,将在许多领域释放超越任何人类所拥有的新能力

NLP——LLM对齐微调-High-Entropy-Tokens-RL

注:本文包含 AI 辅助创作

  • 参考链接:
    • 原始论文:Beyond the 80/20 Rule: High-Entropy Minority Tokens Drive Effective Reinforcement Learning for LLM Reasoning, 20250602, THU, Qwen-Alibaba

Paper Summary

  • 整体总结:
    • 作者通过一种新颖的 Token Entropy 视角 分析了 RLVR,为理解 LLM 的推理机制提供了新的见解
    • 论文对 CoT 推理的研究表明,只有一小部分 Token 表现出高熵,并作为推理路径中的“分叉点”(forks)影响推理方向
    • 此外,论文对 RLVR 训练过程中熵动态的分析表明,推理模型在很大程度上保留了基础模型的熵模式,而 RLVR 主要调整的是那些本就高熵的 Token 的熵值
    • 基于这些发现,论文进一步将 RLVR 的策略梯度更新限制在熵值最高的前 20% 的 Token 上
      • 这种方法实现了与全 Token RLVR 训练相当甚至更优的性能,同时表现出随模型规模增长的强扩展趋势
      • 相比之下,将优化目标集中在低熵的多数 Token 上会导致性能显著下降
    • 这些结果表明,RLVR 的有效性主要源于对高熵 Token 子集的优化,这为提高 LLM 推理能力提供了更聚焦和高效的策略
  • RLVR-based RL 已成为提升 LLM Reasoning Capabilities 的强大方法,但其机制尚未得到充分理解
  • 论文首次从 Token Entropy 模式(patterns)的新视角探索 RLVR ,全面分析了不同 Token 如何影响推理性能
  • 通过研究 CoT 推理中的 Token Entropy 模式,论文发现仅有一小部分 Token 表现出高熵,这些 Token 作为关键 “分叉点(forks)” 引导模型选择多样化的推理路径
  • 进一步分析 RLVR 训练中熵模式的演变发现,RLVR 基本遵守(largely adheres)基础模型的熵模式(entropy patterns),仅调整高熵 Token 的熵值
  • 以上这些发现凸显了高熵 Token(即分叉 Token,forking Token)对 RLVR 的重要性
  • 最终,论文通过限制策略梯度更新仅针对分叉 Token 改进了 RLVR,并发现了一个超越 80/20 法则的现象:
    • 在 Qwen3-8B 基础模型上,仅使用 20% 的 Token 即可实现与全 Token 更新相当的性能;
    • 而在 Qwen3-32B(AIME’25 +11.04,AIME’24 +7.71)和 Qwen3-14B(AIME’25 +4.79,AIME’24 +5.21)基础模型上,其表现显著优于全 Token 更新,展现出强烈的规模扩展趋势
    • 相反,仅针对 80% 最低熵 Token 训练会导致性能显著下降
  • 这些结果表明,RLVR 的有效性主要源于对决定推理方向的高熵 Token 的优化
  • 论文的研究结果揭示了通过 Token Entropy 视角理解 RLVR 的潜力,并可通过利用高熵少数 Token 进一步优化 LLM 推理

Introduction and Discussion

  • LLM 的推理能力在数学和编程等领域取得了显著进展,这得益于 OpenAI o1 (2024)、Claude 3.7 (2025)、DeepSeek R1 (2025)、Kimi K1.5 (2025) 和Qwen3 (2025) 等模型采用的测试时扩展(test-time scaling)方法
  • 其中,基于可验证奖励的强化学习(RLVR)(2025; DeepSeek-2025; 2025) 是一项关键技术,它通过基于自动正确性验证的强化学习目标优化模型输出
  • 尽管 RLVR 的进步源于算法创新 (2025; 2025b; 2025)、跨领域应用 (2025; 2025; 2025) 以及反直觉的实证发现 (2025; 2025a; 2025),但现有实现通常对所有 Token 进行训练,而对哪些 Token 实际促进推理的理解有限
    • 这些方法忽视了 Token 在推理过程中的异质性功能角色,可能因未能优先处理序列推理轨迹中的关键决策点而阻碍性能提升
  • 论文通过 Token Entropy 模式的创新视角分析 RLVR 的底层机制,研究不同熵值 Token 如何影响推理性能
  • 论文首先指出,在 LLM 的思维链(CoT)过程中,熵分布呈现一种独特模式:大多数 Token 以低熵生成,而少数关键 Token 以高熵出现 ,通过比较这两类 Token 的文本含义,论文发现:
    • 最低平均熵(lowest average entropy)的 Token 主要完成既定的语言结构
    • 最高平均熵的 Token 则作为关键决策点(pivotal decision points,称为“分叉点(forks)”),决定推理路径的走向(如图1(a)所示)
  • 除定性分析(Qualitatively anslysis)外,论文还通过手动调节解码时分叉 Token 的熵进行对照实验
    • 定量结果(Quantitative results)表明,适度增加这些高熵分叉 Token 的熵可显著提升推理性能,而人为降低其熵则会导致性能下降,验证了保持高熵及其“分叉”角色对这些 Token 的重要性
    • 此外,通过分析 RLVR 训练中 Token Entropy 的演变,论文发现推理模型基本保留了基础模型的熵模式,训练过程中仅出现渐进且微小的变化
    • 同时,RLVR 主要改变高熵 Token 的熵,而低熵 Token 的熵仅在较小范围内波动
    • 这些观察结果凸显了高熵少数 Token 在 CoT 和 RLVR 训练中的关键作用
  • 基于分叉 Token 的发现,论文进一步优化 RLVR ,仅保留熵值最高的 20% Token 的策略梯度更新,并屏蔽其余 80% Token 的梯度
    • 实验表明,尽管仅使用 20% 的 Token,该方法在 Qwen3-8B 基础模型上的推理性能仍与全 Token 更新相当(且其有效性随模型规模增大而提升):
      • 在 Qwen3-32B 基础模型上,AIME’25 和 AIME’24 的得分分别提升 +11.04 和 +7.71;
      • 在 Qwen3-14B 模型上分别提升 +4.79 和 +5.21(如图1(b)所示)
      • 仅使用 20% 高熵 Token 训练的 32B 模型在 AIME’24 和 AIME’25 上分别达到 63.5 和 56.7 的分数,为参数规模低于 600B 的基础模型训练的推理模型设立了新的 SoTA
      • 将最大响应长度从 20k 扩展至 29k 后,32B 模型的 AIME’24 分数进一步提升至 68.1
  • 相反,仅针对 80% 最低熵 Token 训练会导致性能严重下降
  • 最终结论:
    • 20% 的 Token 即可实现与 100% Token 相当甚至更优的性能,甚至超越了 80/20 法则
      • 理解:论文的发现远超二八定律的预期:高熵 Token 不仅是“重要的 20%”,而是几乎完全主导了模型性能的提升,低熵 Token 的贡献甚至可以忽略或有害
    • RLVR 的性能增益几乎完全源于优化作为推理轨迹关键决策点的高熵少数 Token

Preliminary

Token entropy calculation

  • Token-level 生成熵(简称“token entropy for brevity”)的定义为,对于 Token \( t \),其熵 \( H_t \) 为:
    $$
    H_t := -\sum_{j=1}^{V} p_{t,j} \log p_{t,j}, \quad \text{where} \quad (p_{t,1}, \cdots, p_{t,V}) = \boldsymbol{p}_t = \pi_{\boldsymbol{\theta} }(\cdot \mid \boldsymbol{q}, \boldsymbol{o}_{ < t}) = \text{Softmax}\left(\frac{z_t}{T}\right). \tag{1}
    $$
    • \( \pi_{\boldsymbol{\theta} } \) 表示参数为 \( \boldsymbol{\theta} \) 的 LLM
    • \( \boldsymbol{q} \) 是输入查询
    • \( \boldsymbol{o}_{ < t} = (o_1, o_2, \cdots, o_{t-1}) \) 是已生成的 Token 序列
    • \( V \) 是词汇表大小(vocabulary size)
    • \( z_t \in \mathbb{R}^V \) 是时间步 \( t \) 的 pre-softmax logits
    • \( \boldsymbol{p}_t \in \mathbb{R}^V \) 是对词汇表的概率分布(理解:\(p_{t,j}\) 表示生成第 \(t\) 个输出 Token \(o_t\) 时,选择词表中 Token \(j\) 的概率)
    • \( T \in \mathbb{R} \) 是解码温度
  • 在 off-policy 设定下
    • 序列由 rollout 策略 \( \pi_{\boldsymbol{\phi} } \) 生成(理解:行为策略)
    • 训练策略为 \( \pi_{\boldsymbol{\theta} } \)(即训练的目标策略,\( \boldsymbol{\phi} \neq \boldsymbol{\theta} \))
    • 熵仍按公式 (1) 计算,以衡量训练策略在给定序列中的不确定性(理解:此时相当于序列是行为策略 \( \pi_{\boldsymbol{\phi} } \) 生成的)
  • 理解 Token Entropy 的含义:Token Entropy 与 Token 生成分布相关,而非特定 Token
    • 论文中,Token Entropy \( H_t \) 指索引 \( t \) 处的熵,由 Token 生成分布 \( \boldsymbol{p}_t \) 决定,而非从 \( \boldsymbol{p}_t \) 采样的特定 Token \( o_t \)
    • 为简洁起见,当讨论从 \( \boldsymbol{p}_t \) 采样的 Token \( o_t \) 时,论文将其关联的熵称为 \( H_t \),并称 \( H_t \) 为 \( o_t \) 的 Token Entropy
    • 若存在另一索引 \( t’ \neq t \) 满足 \( o_{t’} = o_t \),则 \( o_{t’} \) 的 Token Entropy 未必等于 \( H_t \)

RLVR Algorithms

  • 近端策略优化(Proximal Policy Optimization,PPO) :PPO (2017) 是 RLVR 中广泛采用的策略梯度算法
    • 为稳定训练,PPO通过以下裁剪替代目标限制策略更新在旧策略 \( \pi_{\boldsymbol{\theta}_{\text{old} } } \) 的邻近区域内:
      $$
      \begin{align}
      J_{\text{PPO} }(\boldsymbol{\theta}) = &\mathbb{E}_{(\boldsymbol{q}, \boldsymbol{a}) \sim \mathcal{D}, \boldsymbol{o} \sim \pi_{\boldsymbol{\theta}_{\text{old} } }(\cdot|\boldsymbol{q})} \left[\min\left(r_t(\boldsymbol{\theta})\hat{A}_t, \text{clip}(r_t(\boldsymbol{\theta}), 1-\epsilon, 1+\epsilon)\hat{A}_t\right)\right], \\
      &\text{where} \quad r_t(\boldsymbol{\theta}) = \frac{\pi_{\boldsymbol{\theta} }(o_t|\boldsymbol{q}, \boldsymbol{o}_{ < t})}{\pi_{\boldsymbol{\theta}_{\text{old} } }(o_t|\boldsymbol{q}, \boldsymbol{o}_{ < t})}
      \end{align} \tag{2}
      $$
      • \( \mathcal{D} \) 是查询 \( \boldsymbol{q} \) 和对应真实答案 \( \boldsymbol{a} \) 的数据集
      • \( \epsilon \in \mathbb{R} \) 是超参数(通常设为 2.0,注:这里是 0.2 吧)
      • \( \hat{A}_t \) 是通过价值网络计算的估计优势
  • 组相对策略优化(Group Relative Policy Optimization,GRPO) :基于公式 (2) 的裁剪目标,GRPO (2024) 通过组内平均奖励估计优势,弃用价值网络
    • 具体地,对于每个查询 \( \boldsymbol{q} \) 和真实答案 \( \boldsymbol{a} \),rollout 策略 \( \pi_{\text{Gold} } \) 生成一组响应 \( \{\boldsymbol{o}^i\}_{i=1}^G \),对应结果奖励 \( \{R^i\}_{i=1}^G \),其中 \( G \in \mathbb{R} \) 是组大小。估计优势 \( \hat{A}_t^i \) 计算如下:
      $$
      \hat{A}_t^i = \frac{R^i - \text{mean}(\{R^i\}_{i=1}^G)}{\text{std}(\{R^i\}_{i=1}^G)}, \quad \text{where} \quad R^i = \begin{cases}
      1.0 & \text{if} \quad \text{is_equivalent}(\boldsymbol{a}, \boldsymbol{o}^i), \\
      0.0 & \text{otherwise}. \tag{3}
      \end{cases}
      $$
      • 除改进的优势估计外,GRPO还在公式 (2) 的裁剪目标中添加了 KL 惩罚项
  • 动态采样策略优化(DAPO) :基于GRPO,DAPO (2025) 移除 KL 惩罚,引入 clip-higher 机制、动态采样、Token-level 策略梯度损失和超长奖励调整,形成以下最大化目标:
    $$
    \begin{align}
    \mathcal{J}_{\text{DAPO} }(\boldsymbol{\theta}) = \mathbb{E}_{(\boldsymbol{q}, \boldsymbol{a}) \sim \mathcal{D}, \{\boldsymbol{o}^i\}_{i=1}^G \sim \pi_{\text{Gold} } }(\cdot|\boldsymbol{q}) &\left[\frac{1}{\sum_{i=1}^G |\boldsymbol{o}^i|} \sum_{i=1}^G \sum_{t=1}^{|\boldsymbol{o}^i|} \min\left(r_t^i(\boldsymbol{\theta})\hat{A}_t^i, \text{clip}(r_t^i(\boldsymbol{\theta}), 1-\epsilon_{\text{low} }, 1+\epsilon_{\text{high} })\hat{A}_t^i\right)\right], \\
    \text{s.t.} &0 < \left|\{\boldsymbol{o}^i \mid \text{is_equivalent}(\boldsymbol{a}, \boldsymbol{o}^i)\}\right| < G
    \end{align} \tag{4}
    $$
  • DAPO是无价值网络的先进 RLVR 算法之一。论文以 DAPO 为基线进行 RLVR 实验

Analyzing Token Entropy in Chain-of-Thought Reasoning

  • 尽管先前的工作 (2025) 强调了生成熵(generation entropy)在链式思维推理中的重要性,但它们通常对所有 Token 的熵进行了整体分析
  • 在本节中,论文通过 Token-level 的视角更细致地研究了链式思维中的生成熵
    • 为此,论文使用 Qwen3-8B (2025)(在同等参数规模下表现优异的推理模型),生成针对 AIME’24 和 AIME’25 问题的回答,解码温度设为 \( T = 1.0 \)
    • 论文强制模型对每个问题使用思考模式,并收集了超过 \( 10^6 \) 个响应 Token
      • 问题:为什么AIME 题目不多,能搜集 \( 10^6 \) 个响应 Token?
    • 对于每个 Token ,其熵值根据公式 (1) 计算
    • 这些 Token Entropy 值的统计分析结果如图2 所示
    • 此外,附录中的图12 至图17 展示了长链式思维响应中 Token Entropy 的可视化结果
  • 通过这些分析,论文发现了以下熵模式:
    • 链式思维中的熵模式 1(Entropy Pattern 1 in CoTs) :通常情况下,只有少数 Token 以高熵生成,而大多数 Token 以低熵输出
      • 如图2(a) 所示,大量 Token 的熵值非常低,只有少量 Token 的熵值较高。具体而言,超过一半的 Token (约 50.64%)的熵值低于 \( 10^{-2} \),而仅有 20% 的 Token Entropy 值大于 0.672
        • 注意:图2 中的频次是经过了 log scale 变换的,看起来差距偏小,实际上是差距很大的长尾分布(吐槽,不如不要做 log scale 更方便看)
      • 理解:这里所谓 Token 以高熵生成的意思是,生成(采样)该 Token 前使用的概率分布的熵是高的(即随机性大)
    • 链式思维中的熵模式 2(Entropy Pattern 2 in CoTs) :熵值最高的 Token 通常用于连接推理过程中两个连续部分的逻辑关系,而熵值最低的 Token 则倾向于完成当前句子的一部分或构造单词的结尾。其他 Token 则不同程度地兼具这两种功能
      • 在图2(b) 和 (c) 中,论文从 \( 10^6 \) 个 Token 中分别选取了平均熵值最高和最低的 100 个 Token
      • 为了减少噪声对平均熵的影响,论文仅考虑出现频率超过 100 的 Token
      • 高熵 Token 通常是句子内或跨句子的逻辑连接词:
        • 例如 “wait” “however” “unless”(表示对比或转折)、“thus”“also”(表示递进或补充)或“since” “because”(表示因果关系)
        • 类似地,数学推导中常用的“suppose” “assume” “given” “define” 等 Token 也频繁出现
      • 而低熵 Token 通常是单词后缀、源代码片段或数学表达式的组成部分,这些 Token 具有高度的确定性
      • 此外,图12 至图17 展示了长链式思维中 Token Entropy 的详细可视化结果,表明大多数 Token 在高熵和低熵组之外,兼具不同程度的连接和延续功能
    • 链式思维中的高熵 Token 作为“分叉点”(High-entropy tokens as “forks” in chain-of-thoughts)
      • 基于上述两种模式,论文将高熵 Token 称为“分叉 Token ”(forking tokens),因为它们通常在推理过程中以高不确定性引导不同的潜在路径
      • 为了定量验证分叉 Token 的作用,论文在 AIME 2024 和 AIME 2025 的评估中为分叉 Token 和其他 Token 分配不同的解码温度
      • 具体来说,论文调整每个 Token \( t \) 的概率分布 \( \boldsymbol{p}_t’ \in \mathbb{R}^V \) 如下:
        $$
        \boldsymbol{p}_t’ = \text{Softmax}\left(\frac{z_t}{T_t’}\right), \quad \text{where} \quad T_t’ = \begin{cases}
        T_{\text{high} } & \text{if } H_t > h_{\text{threshold} }, \\
        T_{\text{low} } & \text{otherwise}.
        \end{cases} \tag{5}
        $$
        • \( z_t \in \mathbb{R}^V \) 表示 Token \( t \) 的 pre-softmax logits
        • \( T_t’ \in \mathbb{R} \) 是调整后的温度;
        • \( h_{\text{threshold} } = 0.672 \) 是用于区分分叉 Token 和其他 Token 的熵阈值(这个值是通过计算采样的 \( 10^6 \) 个 Token 的 80 分位点得到的)
        • \( T_{\text{high} } \in \mathbb{R} \) 和 \( T_{\text{low} } \in \mathbb{R} \) 分别对应分叉 Token 和其他 Token 的温度
  • 图3 展示了不同 \( T_{\text{high} } \) 和 \( T_{\text{low} } \) 值对性能的影响
    • \( T_{\text{low} } = 1\) 时:降低 \( T_{\text{high} } \) 会显著降低性能,而提高 \( T_{\text{high} } \) 则能大幅提升性能
    • \( T_{\text{high} } = 1\) 时:提高 \( T_{\text{low} } \) 甚至可能导致 LLM 生成无意义的输出
    • 这些结果表明,分叉 Token 需要比其他 Token 更高的温度。由于分叉 Token 天然具有更高的熵,这一结果进一步支持了它们需要以更高熵水平运行的假设,这与它们作为“分叉点”的角色一致,高熵使其能够引导多样化的推理路径

RLVR Preserves and Reinforces Base Model Entropy Patterns

  • 在本节中,基于第 3 节对链式思维中熵模式的观察,论文进一步研究了这些模式在 RLVR 训练过程中的演化

  • RLVR 主要保留基础模型的现有熵模式(RLVR primarily preserves the existing entropy patterns of the base models)

    • 为了分析 RLVR 训练过程中熵模式的演化,论文将 DAPO (2025) 应用于 Qwen3-14B 基础模型(详见第 5 节)
    • 使用经过 RLVR 训练的推理模型,论文为表2 中的六个基准生成了每个问题 16 个响应
      • 包括了六个基准: AIME’24,AIME‘25,AMC’23,MATH500,Minerva,Olympiad
      • 问题:Minerva 基准是什么?
    • 对于这些响应中的每个 Token,论文计算了不同 RLVR 阶段推理模型的 logits ,并识别出熵值最高的前 20% Token
      • 个人理解:一种更简单的方式是不需要计算熵,仅统计每个 Token 被生成时,这个 Token 的对应的采样概率值的均值即可评估 Token 的不确定性
    • 然后,论文计算了每个中间模型与基础模型和最终 RLVR 模型之间在熵值最高的前 20% Token 位置上的重叠比例(即共享的高熵位置占比)
    • 如表1 所示,尽管与基础模型的重叠比例逐渐下降,与最终 RLVR 模型的重叠比例逐渐上升,但在收敛时(第 1360 步),基础模型的重叠比例仍高于 86%,这表明 RLVR 在很大程度上保留了基础模型关于哪些 Token 具有高熵或低不确定性的熵模式
  • RLVR 主要调整高熵 Token 的熵值,而低熵 Token 的熵值相对稳定,变化较小(RLVR predominantly alters the entropy of high-entropy tokens, whereas the entropy of low-entropy tokens remains comparatively stable with minimal variations.)

    • 使用与表1 相同的设置,论文计算了 RLVR 训练后每个 5% 熵百分位范围内 Token 的平均熵变化
      • 观察到,基础模型中初始熵值较高的 Token 在 RLVR 训练后熵值增加较大
        • 理解:熵值确实是增加了,见图5,但这好像与之前其他论文所谓的 RL 是再让模型”更自信”并不一致
      • 这一观察进一步强化了 RLVR 主要保留基础模型熵模式的观点
    • 此外,图5 展示了使用 Qwen3-14B 基础模型时熵百分位在 RLVR 训练过程中的演化
      • 图中显示,随着从 0 百分位到 100 百分位的推移,整个训练过程中熵值的波动范围逐渐减小(注:是逐渐增大吧)
        • 理解:这里是指分位点稳定,但是全局看,熵值上下界其实是 100 分位点最大(只是相邻的几个 Step 之间波动不大)
      • 这些观察结果表明,在整个训练过程中,RLVR 主要调整高熵 Token 的熵值,而低熵 Token 的熵值变化较小且相对稳定
        • 理解:从图上看,低分位点虽然存在波动,但是波动范围很小,比如 60分位点,40分位点 和 20分位点 训练过程中几乎不动(注意 20分位点和40分位点的纵坐标单位是很小的)
        • 特别地(理解):0分位点 对应的是熵最小的一些 Token,这部分 Token 几乎永远不会被选择到,所以他们的熵几乎不会变化(始终很低且固定)

High-Entropy Minority Tokens Drive Effective RLVR(少数高熵 Token 就能有效驱动 RLVR)

  • 基于可验证奖励的强化学习(RLVR)已成为训练推理模型最广泛使用的方法之一 (2025),但关于哪些类型的 Token 对推理模型学习贡献最大的研究仍然缺乏
  • 如第 3 节和第 4 节所述,高熵少数 Token 尤为重要
  • 在本节中,论文研究了这些高熵少数 Token (也称为分叉 Token)在 RLVR 过程中对推理能力发展的贡献

Formulation of RLVR Using Only Policy Gradients of the Highest-Entropy Tokens(仅使用最高熵 Token 策略梯度的 RLVR)

  • 基于 DAPO 的目标函数(公式 (4)),论文舍弃低熵 Token 的策略梯度,仅使用高熵 Token 的策略梯度训练模型。对于从数据集 \( \mathcal{D} \) 中采样的每个批次 \( \mathcal{B} \),论文计算最大目标函数如下:
    $$
    \begin{align}
    \mathcal{J}_{\text{HighEnt} }^{\mathcal{B} }(\theta) = \mathbb{E}_{\color{red}{\mathcal{B}\sim\mathcal{D},(\boldsymbol{q},\boldsymbol{a})\sim\mathcal{B}},\{\boldsymbol{o}^i\}_{i=1}^G\sim\pi_{\theta_{\text{old} } }(\cdot|\boldsymbol{q})} &\left[\frac{1}{\sum_{i=1}^G|\boldsymbol{o}^i|}\sum_{i=1}^G\sum_{t=1}^{|\boldsymbol{o}^i|} \color{red}{\mathbb{I}\left[H_t^i \geq \tau_\rho^{\mathcal{B} }\right]} \cdot \min\left(r_t^i(\theta)\hat{A}_t^i, \text{clip}\left(r_t^i(\theta),1-\epsilon_{\text{low} },1+\epsilon_{\text{high} }\right)\hat{A}_t^i\right)\right], \\
    \text{s.t.} &0 < \left|\{\boldsymbol{o}^i \mid \text{is_equivalent}(\boldsymbol{a}, \boldsymbol{o}^i)\}\right| < G
    \end{align} \tag{6}
    $$
    • \( H_t^i \) 表示响应 \( i \) 中 Token \( t \) 的熵
    • \( \mathbb{I}[\cdot] \) 是指示函数,当内部条件成立时为 1,否则为 0;
    • \( \rho \in (0,1] \) 是一个预定义的比例,指定批次中选择的最高熵 Token 的比例
    • \( \tau_\rho^{\mathcal{B} } \) 是批次 \( \mathcal{B} \) 中对应的熵阈值,仅使用满足 \( H_t^i \geq \tau_\rho^{\mathcal{B} } \) 的 Token (即批次中所有 Token 的前 \( \rho \) 部分)计算梯度
  • 与公式 (4) 相比,公式 (6) 仅有两处不同(如红色高亮所示):
    • 1)优势项乘以 \( \mathbb{I}\left[H_t^i \geq \tau_\rho^{\mathcal{B} }\right] \),确保仅熵值 \( H_t^i \geq \tau_\rho^{\mathcal{B} } \) 的 Token \( o_t^i \) 参与策略梯度损失计算;
    • 2)论文从数据集 \( \mathcal{D} \) 采样的每个(微)批次 \( \mathcal{B} \) 中筛选出前 \( \rho \) 的高熵 Token
      • 问题1:这里比常规的 DAPO 增加了一次采样 \(\color{red}{\mathcal{B}\sim\mathcal{D}}\),这有什么特殊吗?
      • 问题2:从哪里看出来经过了筛选?\(\color{red}{(\boldsymbol{q},\boldsymbol{a})\sim\mathcal{B}}\) 中的 \(\boldsymbol{a}\) 是句子吧,难道是这里面的 Token 经过筛选了?

Experimental Setup

Training details
  • 论文从 verl (2024) 的代码库中调整训练配置,并遵循 DAPO (2025) 的训练方法(这是 LLM 中最先进的强化学习算法之一)
    • 论文进行了实验和对照两个方法,分别对应以下两种配置:
      • 使用完整梯度的 RLVR (公式 (4) 描述的原始 DAPO)
      • 仅使用分叉 Token 策略梯度的 RLVR (公式 (6) 描述)
    • 均采用了 clip-higher、动态采样、Token-level 策略梯度损失和超长奖励塑造等技术 (2025)
    • 为了公平比较,论文采用了 DAPO 推荐的相同超参数:
      • clip-higher 的 \( \epsilon_{\text{high} } = 0.28 \)
      • \( \epsilon_{\text{low} } = 0.2 \);
      • 超长奖励塑造的最大响应长度为 20480
      • 缓存长度为 4096
    • 此外,论文使用 verl 配置中的:
      • training batch size 为 512
      • mini-batch size 为 32
      • 每个训练 Batch 进行 16 次梯度更新
      • 学习率为 \( 10^{-6} \),且无学习率预热或调度(问题:为什么不使用预热?是 RLHF 都不需要吗?)
    • 重要的是,训练过程中排除了 KL 散度损失和熵损失
  • 为了评估这些方法的扩展能力,论文在 Qwen3-32B 和 Qwen3-8B 基础模型上进行了 RLVR 实验,使用 DAPO-Math-17K (2025) 作为训练数据集
  • 论文在公式 (6) 中设置 \( \rho = 20% \),即仅使用每个批次中前 20% 最高熵 Token 的梯度更新策略
  • 作者为 Qwen3 设计的 chat template 是:

    “User:\n[question]\nPlease reason step by step, and put your final answer within \boxed{}.\n\nAssistant:\n”
    with “<|endoftext|>“ serving as the EOS token, where “[question]” should be replaced by the specific question.

  • 问题:Qwen3-32B 和 Qwen3-8B 模型是经过后训练的 Chat 模型,Qwen3 模版中,它的 EOS 使用的是 <|im_end|>,这里使用 <|endoftext|> 真的不会有问题吗?
Evaluation
  • 论文在 6 个标准数学推理基准上评估模型,这些基准通常用于评估推理能力:AIME’24、AIME’25、AMC’23、MATH500 (2021)、Minerva 和 OlympiadBench (2024)
  • 所有评估均在 Zero-shot setting 下进行
  • 对于每个问题,论文在解码温度 \( T = 1.0 \) 下生成 16 个独立响应,并 Report 平均准确率和每个响应的平均 Token 数

Main Results

High-entropy tokens drive reinforcement learning for LLM reasoning(高熵 Token 驱动 LLM Reasoning RL)
  • 图6 和表2 比较了使用所有 Token 的原始 DAPO 和仅在策略梯度损失中保留前 20% 高熵 Token 的方法
    • 令人惊讶的是,舍弃底部 80% 的低熵 Token 不仅不会降低推理性能,甚至可以在六个基准上带来性能提升
    • Qwen3-32B 基础模型上,这种方法在 AIME’24 上提升了 7.71 分,在 AIME’25 上提升了 11.04 分
    • Qwen3-14B 基础模型在 AIME’24 上提升了 5.21 分,在 AIME’25 上提升了 4.79 分
    • Qwen3-8B 基础模型,性能未受影响
      • 问题1:针对高熵 Token 的优化,为什么模型越大提升越多?小模型熵不能提升?
      • 问题2:对所有模型都有,针对高熵 Token 的优化上,响应长度都会长于 Vanilla DAPO,原因是什么?
    • 这些结果表明,RLVR 中推理能力的提升主要由高熵 Token 驱动,而低熵 Token 对推理性能的影响较小甚至可能阻碍性能,尤其是在 Qwen3-32B 和 Qwen3-14B 基础模型上
  • 为了更深入分析,论文调整公式 (6) 中的比例 \( \rho \) 进行实验,如图7(a) 所示
    • 结果显示,Qwen3-8B 基础模型的性能在不同比例(如 10%、20%、50%)下保持相对稳定
    • 对于 Qwen3-14B 和 Qwen3-32B 基础模型,图7(c) 和 (e) 表明,将 \( \rho \) 从 20% 降至 10% 会导致性能轻微下降,而将其大幅增至 100% 则会导致性能显著下降(问题:如果是 30% 呢?)
    • 这些观察表明,在合理范围内,推理性能对 \( \rho \) 的具体值不敏感。更重要的是,它们表明,专注于高熵 Token 而非所有 Token 通常能保持性能,甚至可能在更大的模型中带来显著提升
Low-entropy tokens contribute minimally to reasoning performance(低熵 Token 对推理性能的贡献微乎其微)
  • 如图7(a) 和 (b) 所示,在 RLVR 中仅保留底部 80% 的低熵 Token 会导致性能大幅下降,尽管这些 Token 占训练中总 Token 数的 80%
  • 这一发现表明,低熵 Token 对增强推理能力的贡献极小,凸显了高熵 Token 对有效模型训练的重要性
The effectiveness of high-entropy tokens may lie in their ability to enhance exploration(推测:高熵 Token 的有效性可能在于其增强探索的能力)
  • 论文的分析表明,专注于约 20% 的高熵 Token 子集(实验中观察到的比例)在 RLVR 中实现了探索和训练稳定性之间的有效平衡 ,如图7(b)、(d) 和 (f) 所示
    • 将比例 \( \rho \) 从 20% 调整为 10%、50% 或 100% 会导致整体熵从训练早期开始持续降低 ,直至性能开始收敛
      • 问题:实际上,\( \rho=20% \) 时,熵也是先下降再提升的吧
    • 使用底部 80% 低熵 Token 训练会导致整体熵显著降低
  • 这些结果表明,保留一定比例的高熵 Token 可能有助于有效探索,超出这一范围的 Token 可能对探索帮助较小,甚至可能有害,尤其是在性能收敛前的关键阶段
  • 这可能解释了高熵 Token 训练下,不同模型表现不同:
    • 在 Qwen3-32B 基础模型上,仅使用前 20% 高熵 Token 的 DAPO 优于原始 DAPO(如图6(a) 所示)(理解:关注高熵 Token 有助于探索?)
    • 在 Qwen3-8B 基础模型上,由于模型容量较低,增强探索的收益似乎有限
Focusing on forking tokens in the policy gradient loss benefits larger reasoning models(在 PG 损失中,专注于的分叉 Token 有益于更大的推理模型)
  • 论文在图8 中展示了仅使用分叉 Token 时的扩展趋势
  • 在 AIME’24 和 AIME’25 基准上,论文观察到随着模型规模的增大,相对于原始 DAPO 的性能提升越来越显著
    • 这表明了一个有希望的结论 :在策略梯度损失中仅专注于分叉 Token **可能在更大的推理模型中带来更大的优势**

Discussion

讨论 1:高熵少数 token(即分叉 token)可能是解释为什么 RL 能泛化而 SFT 只能记忆的关键因素

  • Chu 等人 (2025) 通过实验证明,强化学习(尤其是基于结果的奖励)在未见过的规则任务上表现出强大的泛化能力,而 SFT 容易记住训练数据,难以泛化到训练分布之外
  • 作者推测,强化学习和监督微调泛化能力差异的一个关键因素可能与分叉 token 的熵有关
  • 论文的实验(例如图5 和图7)表明:强化学习倾向于保留甚至增加分叉 token 的熵 ,从而保持推理路径的灵活性
    • 相比之下,监督微调将输出 logits 推向 one-hot 分布,导致分叉 token 的熵降低,进而失去推理路径的灵活性
    • 这种灵活性可能是推理模型有效泛化到未见任务的关键决定因素

讨论 2:与传统强化学习不同,LLM 的推理结合了先验知识,并且需要生成可读的输出。因此,LLM 的思维链(CoT)包含低熵多数 token 和高熵少数 token 的混合,而传统强化学习可以假设轨迹中所有动作的熵是均匀的

  • 如图2(a) 所示,大多数 LLM 思维链 token 的熵较低,只有一小部分 token 表现出高熵
    • 相比之下,传统强化学习通常将每个动作分布定义为具有预定义标准差的高斯分布 (2017; 2021; 2022),导致所有动作的熵均匀分布
  • 论文将 LLM 思维链中这种独特的熵模式归因于其在大规模先验知识上的预训练以及对语言流畅性的要求
    • 这迫使大多数 token 与记忆的语言结构对齐 ,从而表现出低熵
    • 只有一小部分在预训练语料库中本身具有不确定性的 token 允许探索 ,因此表现出高熵
  • 这一推论与论文在表1 中的结果一致

讨论 3:在 RLVR 中,熵奖励可能是次优的,因为它会增加低熵多数 token 的熵。相比之下,clip-higher 机制能有效提升高熵少数 token 的熵

  • 在强化学习中,熵奖励通常被添加到训练损失中以鼓励探索,通过增加动作的熵来实现——这是传统任务中的常见做法 (2017; 1992; 2016),最近也被应用于 LLM 推理 (2024; 2024)
  • 然而,如上所述,与传统强化学习轨迹不同,LLM 思维链表现出独特的熵模式
    • 对所有 token 均匀增加熵可能会破坏低熵多数 token,从而降低性能,而选择性增加高熵少数 token 的熵则能提升性能(图3)
  • 因此,均匀应用的熵奖励对于思维链推理来说是次优的
  • 相反,clip-higher (2025) 通过适度提高公式 (4) 中的 \(\epsilon_{\text{high} }\),更好地针对高熵 token
  • 从经验上看,论文发现重要性比率 \(r_i(\theta)\) 较高的 token 往往具有更高的熵
    • 通过在训练中包含更多这类 token,clip-higher 在不显著影响低熵 token 的情况下增加了整体熵
    • 这一结论得到了 Yu 等人 (2025) 的支持,并在图5 中得到了验证
    • 问题:高熵 Token 一般伴随着 低概率,所以 clip-higher 有助于提升高熵 Token 的概率(提升概率会降低熵?),这与论文的 整体熵似乎不一致
      • 回答:从另一个视角看是一致的,相对于普通 clip,clip-higher 让低概率的 Token 获得了更多提升机会,有助于让概率更平均,从而增大了熵

Related Work

Reinforcement learning for LLM

  • 在 OpenAI 的 o1 (2024) 等具备推理能力的模型出现之前, RL 被广泛用于基于人类反馈的强化学习(RLHF),以改进 LLM 的指令跟随能力和与人类偏好的对齐 (2022)
  • RLHF 方法大致分为在线和离线偏好优化
    • 在线方法如 PPO (2017)、GRPO (2024) 和 REINFORCE (1992) 在训练过程中生成响应并接收实时反馈
    • 离线方法如 DPO (2023)、SimPO (2024) 和 KTO (2024) 使用预先收集的偏好数据(通常来自人类标注者或 LLM )优化策略
    • 虽然离线方法训练效率更高,但其性能通常不如在线方法 (2024)
  • 最近,基于可验证奖励的强化学习(RLVR)(2025) 成为增强 LLM 推理能力的一种有前景的方法,尤其是在数学和编程领域 (2024; DeepSeek-2025; 2025; 2025)
    • OpenAI 的 o1 (2024) 首次证明了强化学习可以有效地大规模激励推理能力
    • 在 o1 的基础上,DeepSeek R1 (DeepSeek-2025)、QwQ (Team, 2025)、Kimi k1.5 (2025) 和 Qwen3 (2025) 等模型试图匹配或超越其性能
    • DeepSeek R1 通过在线强化学习算法 GRPO (2024) 展示了基于结果的优化可以产生强大的推理能力,同时还引入了“zero RL”范式,即无需传统的强化学习微调即可从基础模型中激发推理能力
    • 受这些结果的启发,后续方法如 DAPO (2025)、VAPO (2025b)、SimpleRLZoo (2025) 和 Open-Reasoner-Zero (2025) 进一步探索了基于强化学习的推理
    • 在本工作中,论文以 DAPO 为基线,研究强化学习应用于 LLM 的关键方面

Analysis on reinforcement learning with verifiable rewards

  • 最近,基于可验证奖励的强化学习(RLVR)已成为增强 LLM 推理能力的流行方法,多项研究分析了 RLVR 及其相关概念的特征
    • Gandhi 等人 (2025) 发现,推理行为的存在(而非答案的正确性)是推动强化学习性能提升的关键因素
    • 类似地,Li 等人 (2025) 表明,长思维链(CoT)的结构对学习过程至关重要,而单个推理步骤的内容影响甚微
      • 问题:如何理解?
    • Vassoyan 等人 (2025) 识别了思维链中的“关键 token”,即模型容易出错的决策点,并提出通过修改 KL 惩罚来鼓励在这些 token 周围进行探索
    • Lin 等人 (2024) 同样识别了对错误结果有显著影响的关键 token,并证明识别和替换这些 token 可以改变模型行为
    • 论文发现 RLVR 主要关注推理路径中的分叉 token,这一发现可能与 Gandhi 等人 (2025) 和 Li 等人 (2025) 的观察有共通之处,他们认为 RLVR 主要学习格式而非内容。然而,论文的分析更进一步,在 Token-level 上明确了这一发现
    • 此外,Vassoyan 等人 (2025) 和 Lin 等人 (2024) 中“关键 token”的概念与论文提出的高熵少数 token 密切相关
      • 与之前基于输出正确性判断 token 重要性的工作不同,论文提出 token 熵作为一种可能更准确反映 LLM 底层机制的评判标准

Limitations

  • 作者认为本研究仍有改进空间
  • 首先,实验可以扩展到 Qwen 系列之外的模型
  • 尽管论文尝试在 LLaMA 模型上评估论文的方法,但它们在 AIME 基准测试中难以取得有意义的性能
  • 此外,论文的数据集范围可以扩展到数学之外的领域,例如编程或更复杂的任务,如 ARC-AGI(2019;2025)
  • 另外,论文的发现基于特定的实验设置,论文的观察和结论可能无法推广到所有 RLVR 场景
    • 例如,在不同的 RLVR 设置中,实验中观察到的 20% 有效比例可能需要调整为其他值才能达到最佳效果

Future Directions

  • 未来的研究方向包括开发新的 RLVR 算法以更好地利用高熵少数 Token
  • 同时探索,除了提升 RLVR外,如何利用这些 insights 改进其他方法
    • 例如 SFT 、蒸馏(distillation)、推理(inference)以及多模态训练(multi-modal training)

附录:生成过程中 Token 的熵示例

  • 图12 至图17 展示了长链式思维中 Token Entropy 的详细可视化结果,表明大多数 Token 在高熵和低熵组之外,兼具不同程度的连接和延续功能

NLP——技术报告解读-Motif-2-12.7B-Reasoning

注:本文包含 AI 辅助创作

  • 参考链接:
    • 前置工作:Motif 2 12.7B technical report, 20251207, Motif Technologies
    • 原始论文:Motif-2-12.7B-Reasoning: A Practitioner’s Guide to RL Training Recipes, 20251211, Motif Technologies
    • 其他解读博客:Motif-2-12.7B-Reasoning:RL 训练配方与全栈优化实践指南

Paper Summary

  • 整体总结
    • 论文介绍了 Motif-2-12.7B-Reasoning(12.7B 参数):挑战了复杂推理需要海量规模的假设
    • 论文证明了,在有限预算下释放稳健的推理能力,一个整体的优化策略是必不可少的
      • 包括面向 64K 上下文的系统级效率、分布对齐的监督微调以及一个稳定的强化学习方案
    • 针对推理适应过程中常见的模型崩溃和训练不稳定挑战:提出了一套涵盖系统、数据和算法优化的全面、 可复现 的训练方案
  • 论文的方法结合了用于 64K Token 上下文的内存高效基础设施(采用混合并行和内核级优化)以及一个两阶段的监督微调课程,该课程通过经过验证、对齐的合成数据来缓解分布不匹配问题
  • Motif-2-12.7B-Reasoning 在数学、编码和智能体基准测试中取得了与参数量显著更大的模型相当的性能

Introduction and Discussion

  • 近年来,LLM 的发展在通用指令遵循方面取得了显著进展,yet 稳健的复杂推理和长上下文理解仍然是开放的挑战
  • A growing body of work 测试时扩展(通过更长的思维链、多步推理或多样本推理分配更多推理计算)不仅能显著提升数学和编码任务的表现,也能改善指令遵循、工具使用和智能体决策
  • At the same time,无论是闭源的前沿模型还是最强的开源权重系统,都越来越多地采用优化推理的 LLM 形式,这反映在诸如 Artificial Analysis Intelligence Index (AAII) (2024) 等基准测试中,其中“thinking”变体始终优于非推理的对应版本(non reasoning counterparts)
  • 尽管有这种转变(Despite this shift),训练推理 LLM 仍只对少数组织开放
  • 关于扩展强化学习微调、稳定长序列训练以及高效处理长上下文工作负载的实用方案很少被详细记录
  • In particular,虽然 RLFT 常被宣传为超越 SFT 的下一步,但实践者经常观察到,简单地应用 RLFT 会导致模型在我们希望改进的推理基准上崩溃或性能下降
  • As a result,社区虽然有强有力的证据表明推理模型和推理扩展很重要,但对于如何在现实预算约束下可靠地训练此类模型,却缺乏指导
  • In this context,论文介绍了 Motif-2-12.7B-Reasoning,一个基于 Motif-2-12.7B-Instruct (2025) 训练的 12.7B 参数推理 LLM,通过一个额外的分布对齐 SFT 阶段和一个精心设计的 RLFT 流程实现
    • Motif-2-12.7B-Reasoning 在一系列推理密集的基准测试中,其性能可与 30B 至 40B 参数范围的前沿模型相媲美,在某些情况下甚至超越
    • 在 AAII 及相关综合评估中,Motif-2-12.7B-Reasoning 取得了比 GPT-5.1 更高的分数,而在排名高于它的模型中,没有一个是小于 12.7B 参数的
  • 作者相信,人工智能的真正进步依赖于知识的共享和可复现性,而非不透明的“黑盒”训练流程
  • 本工作的目标有两个:
    • 目标一:将 Motif-2-12.7B-Reasoning 作为一个有竞争力的开源权重推理模型呈现;
    • 目标二:使其训练过程透明且实际可复现
  • 论文不仅记录了最终方案,也记录了塑造它的设计迭代、失败模式和经验教训,重点关注那些对稳定性、效率和性能产生实质影响的决策
  • 在 SFT 方面,论文描述了一个两阶段、分布对齐的课程,以密集化和结构化推理监督
    • 这包括针对性地整理多步推理数据(数学、代码和多跳自然语言)、将 SFT 数据分布与下游 RL 目标对齐,以及逐步增加任务难度和上下文长度同时保持指令遵循保真度的课程策略
  • 在 RLFT 方面,论文为推理和长上下文用例提出了一种实用的 RL 方案,重点关注可在现实计算预算内实现的技术
    • 论文详细阐述了针对不同推理任务的奖励建模方法、避免过度优化和模式崩溃的稳定性启发式方法 ,以及平衡探索与保留基础模型能力的调度策略
    • 论文进一步分析了这些设计选择如何与测试时扩展相互作用,表明在适当的约束下应用 RLFT,可以使其既稳定又能可靠地带来收益
  • Finally,实验结果表明 Motif-2-12.7B-Reasoning 在数学、编码、指令遵循、工具增强推理和长上下文基准测试上,相比 Motif-2-12.7B-Instruct 和其他竞争基线都有显著的性能提升
    • 论文强调了其测试时扩展行为、相对于更大前沿模型的参数效率,以及其在不同评估设置下的稳健性

Part 1 - System Optimization

Long Context Reasoning SFT

  • 论文的 SFT 方案需要将上下文长度扩展到 64K Token ,这反过来又需要在预训练所用并行方式之外,采用额外的并行形式
  • 为了解决这个问题,论文采用了混合并行策略:
    • 在每个节点内部(节点内),采用 DeepSpeed-Ulysses (2023) 序列并行 (Sequence Parallelism, SP) 并结合带参数分片的数据并行 (Data Parallelism with parameter sharding, DP-shard);
    • 在节点之间(节点间),使用带参数复制的数据并行 (Data Parallelism with parameter replication, DP-replicate)
  • In details,注意力层用 TP 处理,而 FFMs 在 SP 下运行
    • 使用 SP 的 FFNs 可以在 SP 网格上进行权重分片,因此论文在分片 FFN 参数时,构建了一个合并网格,将节点内的 DP-shard 网格与 SP 网格结合起来
    • 由于在 Motif-2-12.7B-Instruct (2025) 中引入的 Parallel Muon 被设计为可以在任意的梯度和参数放置配置下运行,因此对于混合并行化,不需要对优化器进行额外的修改
  • In addition,论文应用了细粒度的激活重计算 (activation checkpointing),而不是统一地重新计算每个解码器块
    • 论文没有在块粒度上设置检查点,而是分析了每个解码器块内每层的激活占用空间和重计算成本,并手动调整了一个更具选择性的重计算策略
    • 这种手动优化的策略在最小化峰值内存使用的同时,避免了不必要的重计算开销
  • 这些方法实现了高效的参数分布,并减轻了长上下文训练的内存压力
    • 使用此配置,论文成功在 H100 GPU 上训练了上下文长度为 64K 的模型

Liger Kernel’s loss function

  • RL 所需的内存比 SFT 大得多,主要是因为额外的组件(如策略模型)必须保留在内存中
    • 论文使用的策略实现(基于 vLLM)支持休眠模式等功能,但这些机制并不能完全消除其内存占用
  • 为了解决 RL 训练期间引入的额外内存压力,论文采用了 Liger 核 (2025) 的损失函数
  • 对 RL 内存使用模式的分析表明,峰值消耗发生在损失函数前向传播之后以及反向传播开始之时
    • 此时,前向计算过程中生成的所有检查点激活仍驻留在内存中(只有在反向传播进行时才会被释放)
  • Notably,形状为(上下文长度,词汇表大小)的对数 (logit) 激活比形状为(上下文长度,隐藏层大小)的典型激活要大得多,这意味着 LM 头和损失计算贡献了不可忽视的内存占用部分
  • Liger Kernel’s loss 沿上下文长度维度分割激活,在每个分片上计算 LM 头线性层,并计算每个分片的损失和梯度
    • 使用 Liger Kernel’s loss 可以显著减轻这些大型对数张量所带来的内存压力

Part 2 - Reasoning SFT

  • 论文引入了一个专注于推理的 SFT 阶段,旨在加强多步推理、增强长上下文一致性,并使模型与复杂指令遵循能力对齐
  • 早期实验表明,推理能力对数据集的构成、推理深度以及不匹配的推理模式高度敏感
  • 这些观察促使论文构建了一个结构化的 SFT 过程,该过程建立在两点之上:
    • (1)基于课程的长上下文适应
    • (2)分布对齐的合成推理数据生成

Lesson from failures

Lesson 1: Dynamic Dataset Distribution across Phases.
  • 论文的实证研究结果表明,在整个 SFT 过程中采用静态且均匀的数据分布是次优的
    • 这种策略常常导致模型过早收敛,阻碍其扩展推理能力,并可能引发灾难性遗忘
  • Instead,数据集分布进行动态转变至关重要 ,论文将此课程规划为两个战略阶段:
    • Stage 1 (Reasoning Foundation):
      • Stage 1 侧重于在代码、数学、STEM 和工具使用等领域建立全面的能力
      • 论文通过整合多种开源数据集来构建训练语料,包括 Memotron-Post-Training-Dataset (2025; 2025), OpenReasoningDataset (2025; 2025; 2025) 和 Mixture-of-Thoughts (2025; 2025; 2025)
      • 为确保数据质量,论文应用了后处理流程,根据难度、序列长度和验证情况过滤样本
        • For instance,在处理 rstar-coder (2025) 数据集时,基于实证观察,论文遵循“质量优于数量(quality-over-quantity)”的原则
      • 论文通过选择通过次数严格处于中间范围(\(0 < \textit{npass} < 16\))的案例,来筛选出具有区分性难度的问题
        • 从而修剪掉过于简单或经验上无法解决的样本
      • 从这个子集中,论文仅保留了那些经过明确验证且成功执行的轨迹 (verified=True and is_passed=True),优先考虑高保真度的推理而非数据量
        • 此阶段充当稳定器,奠定模型的通用推理能力,同时开始接触中等长度的上下文(16K-32K Token)
    • Stage 2 (深度推理专业化,Deep Reasoning Specialization)
      • Stage 2 通过注入高粒度的合成数据来针对复杂的推理差距,这些数据包括 CoT 密集型和失败驱动的纠正集(failure-driven correction sets)
      • Notably,论文为这些样本重新生成了推理轨迹,以强制执行与目标模型推理分布的结构对齐
      • Furthermore,此阶段通过将上下文窗口扩展到 64K Token 来完成上下文课程,使模型能够在长序列上保持连贯的推理
Lesson 2: The Distribution Mismatch Problem.
  • 论文早期实验的一个 key insight 是:
    • 合成数据的质量不仅仅关乎正确性,推理分布的对齐至关重要
  • 为了量化这一点,论文评估了推理对齐对 LiveCodeBench v5 (2024) 的影响,如图 2 所示
    • 论文将基线配置与使用来自 seed-oss-36b (2025) 和 gpt-oss-120b (2025) 的合成样本生成的配置进行比较
    • seed-oss 带来了显著的性能提升,但 gpt-oss 却导致了明显的性能下降
    • 这种对比意味着性能取决于推理轨迹的兼容性,而不仅仅是数据量
  • 论文推断 gpt-oss 导致的性能下降源于复杂性不匹配
    • 教师模型的推理轨迹可能表现出与学生模型内在推理风格不同的粒度和结构复杂性
    • 这种差异造成了“分布不匹配”,所强加的推理模式与模型的学习过程相冲突,而不是加强它
    • 这表明,合成监督在源自与目标模型能力相兼容的源时最为有效

Recipe

  • 为了应对这些挑战,论文建立了一个稳健的 SFT 方案,其核心在于通过课程学习确保稳定性,以及通过分布对齐确保质量,如图 3 所示

Strategy 1:合成数据生成 (注入推理信号) (Synthetic Data Generation (Injecting Reasoning Signals))

  • 论文生成多样化的合成数据集,专门设计用于向代码生成、工具调用、数学和指令遵循等目标领域注入强推理信号
  • 与标准数据集不同,这些数据集强调具有明确思维轨迹的结构化、多步推理,使模型能够内化复杂问题解决所需的逻辑进程
  • 结构化生成与验证流程 (Structured Generation and Verification Pipeline) 为确保数据一致性并避免分布不匹配问题,论文构建了一个多阶段流程:Query Generation → Response Generation → Verification
  • 验证阶段对于维持高数据保真度至关重要,采用了一套自动化检查:
    • 一致性与事实性 (Consistency & Factuality): 验证与原始查询的语义对齐,并验证事实准确性
    • 代码执行 (Code Execution): 对编程任务运行基于执行的测试,以确保功能正确性
    • 数学正确性 (Mathematical Correctness): 验证最终答案的准确性
    • 结构有效性 (Structural Validity): 确保推理轨迹保持逻辑且连贯的结构,并与论文的目标分布对齐

Strategy 2:课程学习 (渐进式上下文扩展) (Curriculum Learning (Progressive Context Extension))

  • 论文采用渐进的长度扩展课程,而不是让模型突然接触极长的序列
    • 上下文窗口分阶段扩展:16K → 32K → 64K Token
  • 这种逐步适应使模型能更有效地学习长距离依赖关系,同时缓解通常与突然扩展上下文相关的不稳定性
    • Furthermore,它还优化了注意力机制的行为,增强了模型在扩展上下文中保持连贯推理的能力

Part 3 - Reasoning RL

Background

  • GRPO(2024) 是一种为推理任务定制的 critic-free 的 PPO 变体
    • 与依赖独立价值函数的标准 Actor-Critic 方法不同,GRPO 直接从采样输出的分组统计中估计基线
    • Specifically,对于每个输入提示 \(q\),模型生成一组输出 \(\{o_{i}\}_{i=1}^{G}\),并在此组内对奖励进行标准化以计算相对优势 (advantage)。GRPO 目标函数正式定义为:
      $$\mathcal{L}_{\text{GRPO} }(\theta)=\mathbb{E}_{q\sim P(Q),\{o_{i}\} \sim\pi_{\text{fold} } } \left[\frac{1}{G}\sum_{i=1}^{G}\min\left(\rho_{i}(\theta)A_{i},\operatorname{clip}(\rho_{i}(\theta),1-\epsilon,1+\epsilon)A_{i}\right)\right], \tag{1}$$
    • 其中 \(\rho_{i}(\theta)=\frac{\pi_{\theta}(o_{i}|q)}{\pi_{\text{old} }(o_{i}|q)}\) 表示重要性比率 (importance ratio),\(A_{i}\) 表示使用该组的均值和标准差进行归一化的优势
    • 这种表述有效地鼓励那些优于组平均水平的响应,而无需承担训练价值网络的计算开销
    • Note that ,论文采用了 GSPO (2025),它利用了序列级的重要性比率 \(\rho(\theta)\) formulation

Lesson from failures

  • 在启动全规模 RL 训练之前,论文首先在基础模型和推理 SFT 模型上进行了一系列小规模初步 RL 实验,以指导论文训练方案的设计
Inefficacy of hyperparameter tuning on proxy models.
  • 为减少计算开销,论文最初尝试在应用完整推理 SFT 模型之前,在一个中间预训练检查点(代理模型)上优化 RL 训练方案
  • However,论文观察到,尽管架构相同,但在代理模型上调优的超参数并不能可靠地泛化到更强的 SFT 模型上
    • For example,虽然某个特定的训练方案在应用于基础模型时,能在 AIME 24 上带来约 18% 的性能提升,但将完全相同的配置应用于推理 SFT 模型时,却导致性能停滞甚至下降
  • 这表明,在监督微调之后,最优的策略更新动态发生了显著变化,需要对目标模型进行直接调优
  • 理解:说明即使是同一个模型,不同 checkpoint 对应的超参数也应该是也不一样的
    • 应该是不同 checkpoint 采样分布差异大,但 RL 对 Base 模型的 Rollout 数据要求高导致的
Impact of reward shaping on unparsable trajectories.
  • 奖励公式对于指导策略更新至关重要 ,尤其是在处理格式错误方面
  • 论文观察到,当模型输出无法根据真实答案进行解析时,必须严格屏蔽这些实例,以防止它们对梯度产生影响
    • 在论文的实验中,保留这些实例并应用辅助奖励项(例如长度惩罚)会导致非零的优势
  • 这给训练信号引入了显著的噪声,因为策略可能会无意中被激励去优化辅助约束,而非正确的推理逻辑
  • 问题:无法解析的轨迹可能是不遵循格式,应该可以直接给这部分答案惩罚 “错误格式” 吧?
Necessity of difficulty alignment to prevent gradient vanishing.
  • 论文观察到,RLFT 对训练数据相对于模型能力的难度分布高度敏感
  • 如公式 1 所定义,优势 \(A_{j}\) 源自一组 rollout 内的相对性能
  • 在问题过于简单或极其困难的情况下,组内奖励方差会崩溃(即所有 rollout 获得相同的奖励)
    • 这导致优势为零 (\(A_{j}\to 0\)),进而使梯度消失,使得采样和评估成本变得无意义
  • 这意味着构建一个对齐良好的数据集,即 模型在某些 rollout 上成功,而在其他 rollout 上失败 ,对于有效学习至关重要
Addressing computational bottlenecks with mixed-policy training.
  • RLFT 的主要瓶颈在于为每个提示生成 \(n\) 个 rollout 的推理成本,相比之下参数更新步骤的消耗可以忽略不计
    • Rollout 推理的这种计算负担意味着,即使拥有大规模精心策划的数据集,对全部语料库进行训练通常也是不可行的
  • Furthermore,论文观察到 On-policy 训练表现出高方差,无法保证单调改进或稳定收敛

    Furthermore, we observe that on-policy training exhibits high variance, failing to guarantee monotonic improvement or stable convergence.

    • 问题:怎么会 On-policy 训练还会高方差?是说的 Off-policy 吧?
  • 这些限制强调了 利用混合策略策略来增强样本效率和训练稳定性的必要性

Recipe

  • 整体 Recipe 如图 4 所示:
LLM-as-a-data-filtering.
  • 为了缓解由难度范围导致的零优势问题,DAPO (2025) 采用了动态采样,但这在训练过程中会导致低效的生成成本。
  • 论文构建了一个简单而有效的数据集过滤流程,以构建其难度范围与目标模型能力良好对齐的数据集,即“LLM 即数据过滤器”
  • 假设论文有一个初始问题池 \(\mathcal{D}\) 以及用于过滤的 LLM \(\mathcal{M}\)
    • 对于每个问题 \(x\in\mathcal{D}\),论文生成 \(n\) 个 rollout 并按如下方式计算经验通过率:
      $$y_{1},\ldots,y_{n}\sim\mathcal{M}(\cdot \mid x),\quad \hat{p}_{k}(x)=\frac{1}{n}\sum_{j=1}^{n}\mathbb{I}[x\textbf{ is solved in the top-}k\textbf{ rollouts}],.$$
    • 论文严格保留那些经验通过率落在目标难度范围 \([\alpha,\beta]\) 内的问题:
      $$\alpha \leq \hat{p}_{k}(x) \leq \beta.$$
    • 这确保了难度范围与模型的能力良好对齐,从而缓解训练早期阶段的不稳定性
  • 理解:核心其实就是用 pass rate 作为过滤依据
Dataset Construction.
  • 论文应用“LLM-as-a-data-filtering”流程来策划一个高质量的多任务数据集,包含数学推理、代码生成和指令遵循
  • 所有候选问题均使用 RL 阶段开始前的检查点进行评估,使用 \(n=5\) 个 rollout
  • 数学推理 (Mathematical Reasoning):
    • 初始池来源于 GURU-92K 数据集 (2025)
    • 首先根据数据集中提供的预计算 Qwen-30B 通过率进行初步筛选,保留得分在 \(0 < p \leq 10/16\) 的问题
    • 随后应用论文的过滤流程,论文选择难度在 \((0, 0.8]\) 范围内的实例
    • 为了解决组合数学原本占数据 50% 的严重领域不平衡问题,将问题分类为数论、组合数学、代数和几何,并进行分层抽样以使这四个子领域的分布均衡
  • 代码生成 (Code Generation):
    • 与数学推理流程类似,论文从 GURU-92K 中获取代码样本,并根据提供的通过率 (\(0 < p \leq 10/16\)) 进行初步筛选
    • 然后论文用相同的设置 (\(n=5\)) 执行过滤流程,并对保留的实例进行随机子采样,以使数据集大小与数学推理语料库对齐,确保任务混合的平衡性
  • 指令遵循 (Instruction Following):
    • 论文使用了一个为指令遵循构建的、包含 10,000 个样本的合成数据集
    • 为了优先挑战模型当前能力的指令,论文应用了更严格的上限阈值 \(\beta = 0.4\),仅保留经验通过率在范围 \((0, 0.4]\) 内的样本
Expanding Clipping Range.
  • 为了加速收敛,论文在训练设置中使用了更大的裁剪范围:\(\in [0.28, 0.40]\)
  • 与强制执行严格信任区域的标椎设置不同,这个扩展范围允许策略在存在高优势信号时更显著地偏离参考模型
  • 这种策略在训练效率和稳定性之间取得了平衡,促进了更快的策略改进,而不会引发在无约束设置中常见的崩溃
  • 理解:较小的 Dense 模型,偏差较小,相对来说稳定,可以这样训练,其他的情况不一定
Encouraging Long-Context Reasoning.
  • 论文的实证观察表明,长上下文推理能力是有效 RL 微调的基础
  • 论文注意到,当允许模型生成扩展的推理链时,性能有显著改善
  • Conversely,应用长度惩罚(通用文本生成的标准做法)被证明是有害的,因为它无意中阻碍了模型探索必要的中间推理步骤
  • Consequently,论文完全从奖励公式中移除了长度惩罚
    • 为了完全容纳这些扩展的轨迹,论文配置了服务基础设施以最大化 vLLM 的生成长度,详见第 2 节
  • 理解:应用长度惩罚会对 RL 训练带来伤害
    • 问题:其实本质上来说,普通 PPO 就自带了对较短正确队列的偏好吧?长度偏差其实可以不加?
    • 问题:可能产生较长的错误回答
Efficiency via Mixed-Policy Trajectory Reuse.
  • RLFT 的一个主要瓶颈是与 rollout 生成相关的惊人计算成本
  • 为了缓解这个问题,论文采用了跨多个梯度优化步骤重复使用同一批轨迹的策略
  • Specifically,在外层迭代 \(k\) 时,论文从当前策略中采样一批轨迹:
    $$\mathcal{B}_{k}\sim P(q),\pi_{\theta_{k} }(o \mid q),$$
  • Subsequently,论文在这个固定的批次上执行 \(S\) 步梯度更新:
    $$\theta_{k,s+1}=\theta_{k,s}-\eta \nabla_{\theta}\mathcal{L}_{\text{GSPO} }(\theta_{k,s};\mathcal{B}_{k}),\quad s=0,\ldots,S-1,$$
    • 其中 \(\theta_{k,0}=\theta_{k}\),下一次迭代的更新参数定义为 \(\theta_{k+1}=\theta_{k,S}\)
  • Theoretically,这个过程开始时是 On-policy 采样,因为 \(\mathcal{B}_{k}\) 是从 \(\pi_{\theta_{k} }\) 中抽取的
    • However,随着 \(\theta_{k,s}\) 偏离行为策略 \(\theta_{k}\),而轨迹及其计算出的优势保持固定,它逐渐转变为越来越 Off-policy 的机制
    • 因此,内部步数 \(S\) 充当了控制这种混合 On/Off-policy 动态的控制器
    • 虽然标准的迭代 GRPO (2024) 在论文的初步实验中表现出不稳定的性能,但这种轨迹重用策略产生了明显更稳定的优化,同时最大化了训练效率
Mitigating task regression via multi-task RL.
  • 论文观察到,专注于单一领域的 RL 训练常常导致其他任务上的显著性能退化
  • For instance,仅针对指令遵循优化策略往往会降低数学推理或代码生成的能力,即使基础模型在所有领域都具有强大的能力
  • 为了解决这个问题,论文采用了一个多任务 RLFT 框架 ,该框架在 RL 循环内联合训练所有目标领域
    • 数学推理、代码生成和 IFBench
    • Specifically,每个 Mini-batch 由这三种任务的混合构成,利用任务特定的奖励函数同时更新一个共享策略
    • 这种策略作为一种有效的正则化器,缓解了灾难性遗忘,并确保了所有下游基准测试的稳健性能提升
  • 理解:每个 Mini-batch 都训练三种任务,任务之间的差异可能会导致 Rollout 的长度不一致吧,类似的问题也需要注意
12…61
Joe Zhou

Joe Zhou

Stay Hungry. Stay Foolish.

608 posts
49 tags
GitHub E-Mail
© 2026 Joe Zhou
Powered by Hexo
|
Theme — NexT.Gemini v5.1.4