Skip to content

阶跃星辰系列

📅 发表于 2026/09/21
🔄 更新于 2026/09/21
👁️ — 次访问
📝 10507 字
⏳ 32 分钟
stepfun
#stepfun

变化点 ​

2026

2026.09 · Step 5 Preview

  • 扩展至 1M 上下文,支持文本、图像与视频输入。
  • 提供可调推理投入,面向更长的多模态任务。

2026.05 · Step 3.7 Flash

  • 强化视觉工具交互,并引入 Advisor Mode。
  • 在困难节点调用更强顾问模型,辅助任务决策。

2026.02 · Step 3.5 Flash

  • 以 196B-A11B、混合注意力和 MTP 提高模型效率。
  • 结合领域教师、蒸馏与通用 RL;MIS-PO 控制长轨迹策略偏移。

2026.01 · Step3-VL-10B(视觉分支)

  • 在小型 VLM 上加强联合预训练与 PPO,提升视觉推理。
  • PaCoRe 并行生成候选推理,再整合候选信息。
2025

2025.07 · Step-3

  • MFA 压缩注意力表示,降低解码访存成本。
  • AFD 分离 Attention 与 FFN 部署,优化服务吞吐。

(2609) Step 5 Preview (1M, 多模态输入) ​

Step 5 Preview 概况

参考链接

定位与输入

  • 面向编程和专业知识工作,API ID 为 step-5-preview。
  • 1M tokens 上下文;文本、图片、视频共同输入,输出文本。
  • 图片支持 low / high 细节级别,便于结合代码、文档、图表与操作记录分析任务。
推理控制与工具交互

推理预算

  • reasoning_effort=low / medium / high,按任务复杂度分配思考强度。
  • 长窗口用于保留资料和交互历史;推理强度控制每次回答的计算投入。

Agent 接口

  • 模型根据工具描述生成调用参数;应用执行工具,将结果送回模型继续决策。
  • 支持 JSON Mode / JSON Schema,约束结构化输出;提示缓存复用重复输入。
公开能力与效率

AA 评测(2026.09,Index v4.3.2)

  • Intelligence Index 44,综合知识、推理、Code、Agent 与长上下文任务。
  • 输出速度约 100 tokens/s;该评测集合的加权单任务成本约 $0.71。

效率解读

  • AA 同时记录了较高输出量;生成速度需要结合推理长度,才能判断整个任务的耗时。
  • Agent 还包含工具执行与重试,实际使用时应一起观察完成率、总用量与端到端时间。

(2605) Step 3.7 Flash (视觉工具, Advisor Mode) ​

Step 3.7 Flash 概况

参考链接

模型结构

  • 196B 语言主干 + 1.8B 视觉编码器,单 token 激活约 11B,支持 256K 上下文。
  • 45层,每层 288个路由专家 / Top-8,另有共享专家;延续 3:1 SWA / Full Attention。
  • Head-wise Attention Gate 与 3层 MTP 控制计算成本;提供 low / medium / high 推理强度。
  • 工作重点是视觉工具、跨 Harness 执行和选择性顾问协作。
视觉工具与跨环境执行

外部知识与图像细节

  • Visual Search:从图像提取线索,搜索候选对象和相关知识,补充长尾实体的信息。
  • Python 图像工具:裁剪、缩放、标记局部图像,重新观察小字与空间关系,再继续推理。
  • 搜索、图像操作和 Code 工具可交替调用,视觉信息直接参与后续任务执行。

GUI 与 Harness 适配

  • 基于截图、界面草图完成代码生成、工具操作与结果检查,支持 Phone-use 跨应用任务。
  • 适配 Claude Code、KiloCode、Hermes Agent、OpenClaw 等工具协议,减少对单一交互模板的依赖。
  • SimpleVQA+Search 79.2、V*+Python 95.3;Android Daily 61.9,分别检验视觉工具与跨应用操作。
Advisor Mode

执行与顾问分工

  • Step 3.7 负责读取反馈、修改、验证和持续执行;规划困难或反复失败时,才调用更强顾问。
  • 顾问返回分析建议后,由 Step 3.7 继续操作;常规步骤仍使用 Flash 模型。
  • 将大型模型的计算集中在少量困难决策,控制完整任务的执行成本。

SWE-bench Verified 成本效果

  • Step 3.7 单独执行:73.7分 / $0.12;加入顾问:76.3分 / $0.19。
  • 同次实验中,Opus 4.6 单独执行:78.7分 / $1.76,成本为平均单题 API 消耗。
  • 选择性升级提高了完成率,同时保留了 Flash 承担主要执行步骤的成本优势。
Code 与多工具任务表现

Step 3.5 → Step 3.7

  • SWE-bench Pro 51.3 → 56.3,Terminal-Bench 2.1 约 53.4 → 59.5。
  • 发布方固定版本的 Toolathlon 33.3 → 49.5;增益同时覆盖代码和多工具执行。

跨 Harness 的改善与回退

  • 内部 Step-SWE-Bench 平均分 56.5 → 67.1;RooCode 43.0 → 64.5,OpenClaw 47.0 → 67.0。
  • Claude Code 为 73.0 → 71.5;主要变化是不同框架间更均衡,仍有特定框架的回退。

(2602) Step 3.5 Flash (196B-A11B, MIS-PO) ​

🌺 论文摘要

Step 3.5 Flash 论文摘要

参考链接

问题背景

  • Agent 推理成本高:长上下文、多轮工具调用使延迟不断累积,需要同时优化模型能力和生成速度。
  • 长轨迹 RL 不稳定:采样与训练的概率偏差会放大梯度波动,MoE 路由进一步增加这种偏差。

核心方法

  • 高效 MoE:196B-A11B,3:1 SWA/Full Attention,配合 Head-wise Gate 与 MTP-3。
  • 训练流程:约 17.6T PreTrain → 750B MidTrain → 两阶段 SFT → 领域 RL → 自蒸馏 → 通用 RL。
  • MIS-PO:用 Token Mask + 轨迹 Mask 筛选概率偏差,再用 Actor-Critic 更新保留的数据。
  • 奖励与数据:可验证奖励、GenRM 偏好奖励、真实工具执行反馈;构建约 50K 可运行代码环境。

模型效果(Step 3.5 Flash + 完整后训练)

  • Code Agent:SWE-bench Verified 74.4,Terminal-Bench 2.0 51.0。
  • 推理与搜索:LiveCodeBench v6 86.4;BrowseComp 51.6,增加上下文管理后 69.0。

重要结论

  • RL 稳定性:MIS-PO 对照实验中梯度波动更小、熵下降更慢,长时间训练仍能持续提高奖励。
  • Agent 推理预算:Terminal-Bench 限制单轮输出,比减少交互轮数造成的损失更大。

核心贡献

  • 给出覆盖高效架构、领域专家整合、稳定 RL 和可执行 Agent 数据的完整基模训练方案。
  • 提出 MIS-PO,把概率比用于样本筛选,减少连续重要性权重带来的梯度方差。

未来方向

  • 压缩冗长思考,提高 On-policy Distillation 效率,扩展到专业工程与科研任务。

问题背景 ​

Agent 效率与 RL 稳定性

长上下文与多轮生成成本高

  • Agent 反复读取历史、生成推理、执行工具;单轮延迟会累积到整个任务。
  • 采用 SWA + 稀疏 MoE + MTP,分别减少注意力开销、FFN 计算和逐 Token 生成延迟。

领域能力整合与长轨迹优化困难

  • 直接混合训练多个领域,容易牺牲专长;分别维护多个专家,又增加持续迭代成本。
  • 长轨迹中的概率误差会影响策略更新;采用 专家 RL → 自蒸馏 → 通用 RL,并用 MIS-PO 稳定更新。

核心方法 ​

高效 MoE 架构 ​

混合注意力(3:1 SWA + Head-wise Gate)

局部与全局注意力

  • 主干 45层:首层 Full Attention,后续重复 3层 SWA + 1层 Full Attention。
  • SWA:每层读取最近 512 tokens;Full Attention:周期性连接全部历史。
  • 使用 GQA-8,让 8个 KV heads 对齐单节点 8卡 Tensor Parallel。

容量补偿

  • SWA 的 Query Heads 从 64 增至 96;局部窗口小,增加 Heads 的额外成本有限。
  • Head-wise Gate:按输入控制各个注意力头的输出,减弱无关窗口信息。
  • 相比固定 Sink Token,Gate 能随内容变化,不必把多余注意力始终分给同一个占位 Token。
稀疏 MoE 与 EP 负载均衡

模型规模

  • 3层 Dense + 42层 MoE;每个 MoE 层包含 288个路由专家 + 1个共享专家。
  • 每 Token 选择 Top-8 路由专家;主干总参数 196B,激活约 11B。

两层负载均衡

  • 专家层面:Loss-free Bias 调整路由选择,避免少数专家长期承接过多 Token。
  • EP Group 层面:约束各卡上的专家总负载,减少同步时等待最慢 GPU。
  • 全局专家使用均匀,仍可能出现某个 Micro-batch 跨卡分配不均,因此需要第二层约束。
MTP-3 多 Token 预测

训练方式

  • 每个 MTP Head 使用 SWA + Dense FFN,预测更远一个位置的 Token。
  • 大部分训练只启用 MTP-1;末期复制得到 MTP-2/3,再联合微调。
  • 对不同预测距离设置 Loss 权重,避免过度优化难度更高的远距离预测。

推理方式

  • MTP 生成多个候选 Token,主模型并行验证;通过的候选一次提交,减少串行解码次数。
  • SWA 保留标准注意力的 Mask 语义,便于实现候选树的并行验证。
Step 3.5 Flash 架构:SWA/Full Attention 交替、Dense/MoE FFN 分工以及 MTP 分支;重点看高效结构并非所有层都相同。
原文图 2:Step 3.5 Flash 架构:SWA/Full Attention 交替、Dense/MoE FFN 分工以及 MTP 分支;重点看高效结构并非所有层都相同。 来源

预训练与上下文扩展 ​

预训练语料(通用知识 + Code + PR)

通用与代码数据

  • StepCrawl:采集网页、PDF、ePub,经过质量过滤、站点分类、去重和清洗。
  • Code:调整 OpenCoder 清洗策略,允许少量启发式规则违规,兼顾质量与覆盖面。
  • 退火阶段提高高质量知识、推理和代码数据比例。

PR/Issue/Commit 数据

  • 从 10+ stars 的 GitHub 仓库收集变更记录,用 git diff 校验修改内容。
  • 基础数据与 Benchmark 去重;PR 讨论和 Commit 转换为定位、修复等训练材料。
  • 保留开发过程中的问题描述与修改上下文,补充单纯代码文件缺少的任务信息。
长上下文 MidTrain(32K → 128K)

数据配置

  • 32K 阶段强化 Code、工具调用和开发流程数据,同时回放一部分预训练语料。
  • 128K 阶段加入自然长文档、合成长推理、Code Agent 与 Search Agent 数据。
  • 回放通用语料,缓解专项数据比例突然增加造成的分布变化。

位置与路由配置

  • 只调整 Full Attention 的 RoPE,SWA 保持固定局部窗口与原位置尺度。
  • 冻结 MoE Router,关闭 EP Group Balance Loss,保留已有专家分工。
Muon 与 MoE 训练稳定性

Muon 数值稳定性

  • 使用 Polar Express 迭代计算近似正交更新;低精度累积误差可能触发异常更新。
  • 仅将这部分迭代状态与中间计算改为 FP16,其余训练继续使用混合精度。

专家退化监控

  • 路由频率正常,不代表专家仍有效:部分专家的激活、参数范数可能持续衰减。
  • 显式缩放路由专家的聚合输出,平衡路由专家与共享专家的贡献。
  • 监控每个专家的激活与参数范数,避免仅依据 Router 的 Token 计数判断健康状态。
局部激活爆炸

异常定位

  • 深层少数专家的激活快速增大,整体 Loss 和大部分专家的统计仍可能正常。
  • 监控专家激活范数的 最大值 / 中位数,识别被平均值掩盖的异常。

处理策略

  • 在 MoE FFN 的输出投影前,对中间激活做逐元素裁剪。
  • 参数范数裁剪只能延缓异常;直接限制激活更有效,具体对照见关键结果。

Agent 数据与交互环境 ​

Tool-use 数据构建(FSM + 执行验证)

行为构建

  • 将工具使用拆成原子意图,用有限状态机 FSM 约束意图之间的合法转移。
  • 把工具调用逻辑与具体参数约束分开,再组合为更复杂的任务。

执行筛选

  • 执行 采样 → 真实环境执行 → 确定性验证,拒绝无法执行或结果不符的轨迹。
  • 得到 100K+ 高质量工具轨迹,避免模型凭空生成工具返回值。
Code Agent 数据构建(环境搭建 + 任务求解)

环境构建

  • 基于 SWE-factory 扩展环境搭建 Agent,执行安装依赖、运行测试与错误恢复。
  • 用跨任务记忆检索历史成功案例;检测重复探索,减少无效循环。
  • 清理构建轨迹中的临时故障与冗余操作,保留能完成环境搭建的有效过程。

任务训练

  • 成功构建的环境作为修复、功能实现等任务的运行环境,由单元测试提供反馈。
  • 环境构建与代码求解交替改进,持续扩充可用于训练的任务。
  • 最终收集约 50K 已验证环境,覆盖 15K 仓库与 20+ 编程语言。
Search 与 Research 数据构建

搜索任务

  • 沿知识图谱扩展实体关系,结合多文档材料,构造需要跨网站检索的多跳问题。
  • 用 DeepSeek-R1 无工具作答筛选,去掉仅凭已有知识即可回答的问题。

研究报告

  • 按研究计划生成检索轨迹与报告,剔除偏离指定结构的样本。
  • 联合模型判断与规则清洗,修正时间错误、混语和不规范表达。
多轮上下文与 Agent 运行系统

上下文与工具格式

  • 只保留最近一条用户指令对应工具轨迹的推理历史,兼顾跨轮连续性与上下文开销。
  • 工具调用使用 XML,减少长字符串转义等格式错误。

环境与训练接口

  • Session-Router 通过 Kubernetes 管理容器生命周期,借助 Tmux 保持会话状态。
  • 训练覆盖 OpenHands、SWE-Agent、Terminus-2、Claude Code 等交互流程,减少对单一 Harness 的依赖。
  • 训练端使用 Steptron;Attention 与 MoE 分开配置并行组,异步汇总细粒度监控数据。

分阶段后训练与 MIS-PO ​

两阶段 SFT

第一阶段:多领域 SFT

  • 覆盖数学、Code、STEM、逻辑、通用问答、Code Agent、Tool-use、Search Agent 和长上下文。
  • 按任务难度筛选并平衡各领域比例,建立统一的交互与推理起点。

第二阶段:OOD 推理 SFT

  • 加入约 30K 专家级化学轨迹和合成算术任务,训练 3 epochs。
  • 引入与第一阶段不同的推理结构,为后续领域 RL 提供更丰富的探索起点。
领域专家 RL 与自蒸馏

领域 RL

  • 从统一 SFT 模型出发,分别优化数学、Code、STEM、工具调用、长上下文、偏好和 Agent 推理。
  • 每个专家使用对应任务和奖励,先提高领域能力。

自蒸馏与通用 RL

  • 专家在与第一阶段 SFT 相同的 Prompt 分布上生成轨迹。
  • 拒绝采样过滤混语、过度思考等行为,汇总为学生训练数据。
  • 学生从 MidTrain Checkpoint 初始化,学习各领域专家轨迹,再执行通用 RL。
  • 整合的是专家生成行为,保留最终单模型部署方式。
奖励设计(RLVR + GenRM)

RLVR

  • 逻辑、指令遵循、Code 使用规则或执行检查器;STEM 使用模型 Verifier。
  • 奖励来自任务是否完成,训练时通过 Critic 将回报转为 Token 级 Advantage。

Search 与 Research

  • Search 按答案实体匹配打分,检验是否找到了目标信息。
  • Research 按预设 Rubrics 检查报告,判断各要求是否满足。
  • 对“部分满足”采用不对称二值映射,减少模糊等级与专家偏好不一致的问题。
GenRM 偏好学习

成对比较

  • GenRM 比较候选回答与固定参考回答,输出获胜置信度。
  • 通过 Bradley–Terry 映射得到奖励;加入长度惩罚,抑制无效扩写。
  • 对伪造引用、过度自信、混语等回答给零奖励。

MetaRM

  • 另设 Verifier 检查 GenRM 的判断理由,识别“结论对、理由错”的偏好判断。
  • 这类判断降低 GenRM 自身训练奖励,改善奖励模型的可靠性。
Token 与轨迹两级 Mask

概率比定义

  • Rollout Policy:推理引擎生成轨迹时使用的策略,并记录实际采样概率。
  • Training Reference Policy:本次更新前的训练端模型快照,在同一历史上重新计算概率。
  • 概率比衡量两个端对已采样动作的分布差异:
xt=πθold(at∣st)πθvllm(at∣st),ρ¯(τ)=exp(1T∑tlog⁡xt)

两级筛选

  • Token Mask:保留 0.5 ≤ xₜ ≤ 2 的位置,过滤局部概率偏差。
  • 轨迹 Mask:保留 0.996 ≤ ρ̄(τ) ≤ 1.001 的轨迹,过滤整体分布漂移。
  • 示意:比值 0.25、4、1、1 的几何平均为 1;轨迹通过,但前两个 Token 被过滤。
Actor-Critic 更新

更新目标

  • Advantage:任务回报减去 Critic 对当前状态的价值估计,判断动作相对预期的好坏。
  • 通过两级筛选的 Token 参与更新;未通过的位置梯度为零。
Lactor=−E[mtmτlog⁡πθ(at∣st)A^t]

方法特点

  • 蓝色 Mask 只取 0/1;保留样本按近似 On-policy 数据处理,不再乘连续 IS 权重。
  • 红色 Advantage 为正,提高对应动作概率;为负,降低对应动作概率。
  • 把概率比用于筛选,减少少数极端比值对梯度的放大。
截断 Value Bootstrap 与路由稳定性

上下文截断

  • 因长度限制中断的轨迹,尚未获得最终结果;直接给零奖励会惩罚未完成的长推理。
  • 对截断轨迹使用最后状态的 V(s_T) 估计后续回报;正常结束仍使用任务奖励。

Routing Confidence

  • 统计被选中专家的平均概率质量,监控路由选择是否确定。
  • 低置信度时,小幅参数或计算误差更易改变路由,放大采样与训练偏差。
  • 作者将其作为稳定性信号,辅助判断是否需要更严格的 On-policy 更新或 Routing Replay。

实验设置(PreTrain + MidTrain + SFT + RL) ​

✍️ 实验设置

模型、数据与训练日程

基础模型与硬件

  • Step 3.5 Flash:从头训练 196B-A11B 主干;加入 MTP-3 后约 198B-A13B。
  • 4096张 H800,每节点 8卡;训练采用 PP=8, EP=8, ZeRO-1。

PreTrain / MidTrain

  • PreTrain:14.6T @ 4K → 2T @ 4K → 1T @ 32K,合计约 17.6T tokens。
  • MidTrain:386B @ 32K → 364B @ 128K;其中回放通用语料分别约 81B / 10.5B。
  • 优化器 Muon,weight_decay=0.1, grad_clip=1.0;预训练 2000步 warmup。
  • 预训练学习率 2.5e-4 → 5e-5 → 2e-5;MidTrain 2e-5 → 7.3e-6。

SFT

  • 第一阶段约 871K条 / 7.23B tokens;第二阶段加入 OOD 推理数据,训练 3 epochs。
  • seq_len=128K, global_batch=32, lr=1e-5→5e-6, warmup=3%。
  • 冻结 Router,关闭 EP Group Balance Loss,MTP loss weight=0.1。
RL 任务与超参

任务配置

  • 推理:256 prompts × 16 responses;偏好:512 × 8;工具调用:128 × 8。
  • temperature=1, top_p=1, max_seq_len=128K。

Actor-Critic

  • 每批数据训练 1 epoch;Actor 分 4个 mini-batches,Critic 分 12个。
  • Muon:actor_lr=2e-6, critic_lr=5e-6, weight_decay=0.1。
  • Warmup:Actor 20步,Critic 50步;γ=1, λ=1,最终阶段 kl_coef=0.001。
  • MIS-PO:Token 比值范围 [0.5, 2],轨迹几何平均范围 [0.996, 1.001]。

控制实验

  • 架构消融使用 30B-A3B + 1.4T PreTrain + SFT,固定 SWA window=512,关闭 MTP。
  • Gate / Sink Token 对照采用 100B-A10B;RL 算法在内部 Dense 和 MoE 模型上比较。
  • GSPO 对照改为 Actor-Critic,并使用相同的两级 Mask。
评测任务与协议

推理与代码生成

  • AIME、IMO-AnswerBench、GPQA、HLE-text、LiveCodeBench v6;统计重复采样的平均 pass@1。
  • 默认 temperature=1, top_p=1;仅 Full Attention 使用 YaRN factor=2,上下文扩到 256K。
  • PaCoRe:额外测试四轮并行推理与汇总,每轮 4条 候选;与常规推理分别报告。

Code Agent

  • SWE-bench Verified:OpenHands CodeAct,max_turns=350, temperature=1, top_p=0.95,重复 4次。
  • Terminal-Bench 2.0:修改版 Terminus-2,16GB 容器,max_turns=200, timeout=6h。
  • Terminal 单轮输出 64K、总上下文 256K;超限保留题目与最近一半历史,每题执行 8次。
  • Terminal 的检查器按题目要求校验、修订后执行评测。

搜索与上下文管理

  • BrowseComp 常规搜索预算 400步;配置搜索、网页访问、学术检索、Python 和文件工具。
  • Discard-all 配置:历史超过 72K 时重启搜索循环,最多 1000步。

关键结果(Step 3.5 Flash + SFT/领域RL/自蒸馏/通用RL) ​

🍑 关键结果

能力表现

Base 模型

  • 代码基础较强:HumanEval 81.1,MultiPL-E HumanEval 67.7,为 Code Agent 后训练提供基础。
  • 知识能力仍不均衡:SimpleQA 31.6 高于 DeepSeek-V3.2-Exp Base 的 27.0,但 MMLU 等仍有差距。

完整后训练

  • Code Agent:SWE-bench Verified 74.4,Multilingual 67.4,Terminal-Bench 2.0 51.0。
  • 推理能力:IMO-AnswerBench 85.4,LiveCodeBench v6 86.4;较小激活规模仍能支撑高强度推理。
  • 跨 Harness:SWE-Agent 74.2,Claude Code 72.0;能力并非只在 OpenHands 中有效。

RL 阶段对照

  • IMO-AnswerBench 82.3 → 85.5;CF-Div2-Stepfun-cpp 80.3 → 86.4。
  • ARC-AGI-1 46.2 → 56.8,HLE-text 19.9 → 23.3;RL 增益覆盖多个推理任务。
生成长度比交互轮数更敏感

Terminal-Bench 2.0

  • 单轮输出上限 64K → 16K,平均成功率 51.0 → 48.0:长推理可能耗尽预算,来不及输出命令。
  • 在 16K 配置下再关闭历史裁剪,降至 45.2;有效上下文管理能延长任务执行。
  • 交互轮数 200 → 100,仅降至 50.4;多数成功任务较早完成,单纯增加轮数收益有限。

BrowseComp

  • 常规配置 51.6,启用 Discard-all 与更长搜索预算后 69.0。
  • 重置历史后可以重新组织检索路径,类似推理时重复尝试;增益同时使用了更多搜索计算。

PaCoRe

  • 并行推理汇总后,IMO-AnswerBench 85.4 → 88.8,LiveCodeBench v6 86.4 → 88.9。
  • 多条路径提供互补线索,但并非所有任务都受益:MRCR-8needle 28.8 → 26.3。
效率优化需要容量与稳定性补偿

SWA 与 Gate

  • 30B-A3B 对照中,直接使用 3:1 SWA/Full,LongCtx 28.8 → 27.5。
  • 增加 SWA Heads 后恢复到 28.2,额外注意力成本很小;低成本架构需要相应容量补偿。
  • 100B-A10B 对照中,Head-wise Gate 的平均分 64.4,高于 Sink Token 的 62.5。

MoE 激活与 MIS-PO

  • 激活裁剪能控制深层专家的异常范数;仅裁剪参数只能延缓复发,整体 Loss 不足以判断稳定性。
  • MIS-PO 相比 PPO 的梯度波动更小、熵下降更慢;在作者的 GSPO 对照中也获得更高训练奖励。
  • 截断 Value Bootstrap 在约 20% 轨迹截断时仍能稳定训练,减少“未完成即失败”的偏差。

奖励模型

  • STEM 模型 Verifier 相比直接使用 math-verify,内部对照平均提升约 2个百分点。
  • MetaRM 加入理由检查后,各测试指标提升约 0.5~3个百分点;奖励判断过程本身也需要监督。
MIS-PO 与 PPO 的受控对比:同时观察 reward、策略梯度范数和熵,理解样本效率、更新稳定性与探索之间的关系。
原文图 5:MIS-PO 与 PPO 的受控对比:同时观察 reward、策略梯度范数和熵,理解样本效率、更新稳定性与探索之间的关系。 来源

未来方向 ​

⛳ 未来方向

作者提出的后续方向

推理效率与能力整合

  • 压缩思考:达到相近质量时,生成轨迹仍长于 Gemini 3.0 Pro;减少重复推理和无效 Token。
  • On-policy Distillation:提高专家行为整合的样本效率,兼顾通用能力与领域深度。

专业 Agent 与稳定性

  • 专业任务 RL:从学术 Benchmark 扩展到工程、科研等真实专家任务。
  • 分布外稳定性:改进长对话与专业领域中的重复推理、混语、时间和身份判断问题。

(2601) Step3-VL-10B (PPO, PaCoRe) ​

🌺 论文摘要

Step3-VL-10B 论文摘要

参考链接

问题背景

  • 小型 VLM 能力不足:精细感知与复杂推理需要兼顾,单纯延长回答不一定改善视觉理解。
  • 感知探索缺少显式轨迹:OCR、定位等任务常直接输出答案,难以通过单条长思维链继续扩展能力。

核心方法

  • 模型架构:PE-lang 1.8B + Qwen3-8B,全局图与局部切片结合,Projector 压缩视觉 Token。
  • 训练流程:1.2T 全参数联合预训练 → 两阶段 SFT → PPO + GAE 多模态 RL。
  • 数据筛选:检查答案可验证性、图文相关性和任务难度,保留部分尝试成功的 some-accept 样本。
  • PaCoRe:并行生成视觉解释与推理候选,再训练模型交叉检查、综合答案。

模型效果(Step3-VL-10B,SeRe → PaCoRe)

  • 视觉推理:MathVision 70.81 → 75.95,MMMU 78.11 → 80.11。
  • 空间与感知:All-Angles-Bench 57.21 → 64.71,OCRBench 86.75 → 89.00。

重要结论

  • RL 不一定增加回答长度:推理任务倾向延长,定位与 OCR 则可能在准确率提高时缩短输出。
  • 并行候选有助于精细感知:PaCoRe 的收益集中在需要检查多种视觉解释和空间关系的任务。

核心贡献

  • 给出小型 VLM 的完整数据、联合训练与 RL 路线,并将 PaCoRe 用于可扩展的视觉推理。

未来方向

  • 蒸馏并行探索轨迹,降低推理成本;增加 RL 投入,并扩展视频、动作和物理交互。

问题背景 ​

小型 VLM 的感知与推理

视觉基础与语言模型对齐不足

  • 图像编码器擅长视觉识别,不代表输出特征适合语言推理。
  • 使用已与语言对齐的 PE-lang,并在预训练中同时更新视觉编码器与语言模型。

单路径推理难以覆盖视觉歧义

  • 对象边界、遮挡、文字和空间关系可能存在多种解释,单次识别容易遗漏。
  • PaCoRe 保留多次视觉判断,再通过对照与验证完成答案整合。

核心方法 ​

模型架构与预训练 ​

PE-lang 与视觉 Token 压缩

视觉输入

  • 全局图 728×728 保留整体布局,局部切片 504×504 提供小字和局部细节。
  • 图像编码器输出经两次 stride=2 的 Projector 下采样,视觉 Token 数约压缩 16倍。
  • Patch 行末加入换行 Token,保留二维排列信息;位置编码采用标准 1D RoPE。

联合训练

  • 使用语言对齐版 PE-lang,连接 Qwen3-8B Decoder。
  • 预训练全程解冻所有模块,让视觉表示、Projector 和语言推理共同适应多模态输入。
多模态预训练数据

知识与教育

  • 汇总网页图文、图像描述和定向检索数据,用 CLIP 聚类重采样改善长尾概念覆盖。
  • 教育数据约 15M,覆盖 K-12、大学 STEM、医学、金融等领域。
  • 几何图、化学结构、考试图像结合真实与合成数据,强化需要读图的推理。

OCR 与图像转代码

  • OCR 包含约 10M 真实图像、30M 合成图像,并覆盖约 80M 整页文档。
  • 渲染 Markdown、LaTeX、HTML、Matplotlib 等,构造图像到文本或代码的监督。
  • 对引用、链接和布局做渲染处理,使图像内容与目标文本一致。
定位、计数与 GUI 数据

精细感知

  • Grounding 与 Counting 约 400M 样本,使用框、点和检测标注构造定位及计数任务。
  • VQA 结合图像问答与 OCR 问答,训练模型把局部识别结果用于回答问题。

GUI

  • 约 23M GUI 样本,覆盖移动端与桌面端、200+ 应用。
  • 同时提供页面描述、元素定位、操作轨迹;轨迹使用 CLICK、SLIDE、TYPE 等 12种 原子动作。
  • 动作与 Grounding 标注共同生成,保证“点击对象”与图像位置对应。

多模态 SFT ​

两阶段 SFT

蒸馏与清洗

  • 汇总数学、Code、科学、逻辑及视觉任务 Prompt,由内部强模型生成回答。
  • 规则过滤重复等退化输出,用精确匹配与 64-gram 匹配清除 Benchmark 污染。

阶段安排

  • 阶段1:文本/多模态样本约 9:1,重点建立推理与语言能力。
  • 阶段2:比例调整为 1:1,加强视觉信息参与推理的能力。
  • 使用不同领域采样权重,平衡任务覆盖与训练强度。

多模态 RL 与奖励 ​

RLVR 数据筛选

可靠监督

  • GPT-OSS-120B 对同一问题独立验证 4次,仅保留判断一致的样本。
  • 用早期 Step3-VL-10B 检查图像与问题的关联,过滤无关图片和图文错配。

难度筛选

  • 每题生成 24条 rollout,选择有成功也有失败的 some-accept 样本。
  • 去掉全会与全不会的题,保留能够提供学习信号的任务。
  • 数据覆盖数学、几何、物理、图表、谜题、OCR 与 Grounding。
奖励与 Advantage

感知与推理检查

  • Grounding 按 IoU 或位置距离给奖励,位置越准确,奖励越高。
  • 一般视觉问答使用 GPT-OSS-120B 检查语义等价与推理一致性。
  • 正确答案若依赖错误理由,也要扣分,避免只匹配最终答案。

Actor-Critic 分工

  • Verifier 判断本次答案质量;Critic 估计当前推理状态能取得的预期回报。
  • GAE 将实际回报与预期的差异转成 Token 级 Advantage,再更新生成策略。
  • 示意:正确回答奖励 1、Critic 预期 0.3,对应回报优势为 +0.7。
开放任务偏好奖励

GenRM

  • 对无法确定标准答案的开放问题,使用强模型回答作为参考。
  • GenRM 比较候选与参考,先生成判断理由,再输出质量分数。

行为约束

  • 对混语、问答语言不一致和无依据的确定判断施加惩罚。
  • 发现伪造引用或链接时给零奖励,减少通过错误内容迎合奖励模型。
RLVR 与 RLHF 顺序训练

阶段安排

  • RLVR:先优化有标准答案的多模态任务,强化推理与感知正确性。
  • RLHF:从 RLVR 模型继续训练开放问答,优化回答质量与行为约束。
  • 两阶段只更新 Decoder,视觉 Encoder 保持冻结。

稳定更新

  • 使用 PPO 变体 + GAE,γ=1, λ=1,由 Critic 提供基线。
  • 用阈值 C=8 的截断权重处理训练端与推理端概率不一致。
  • 后续 PaCoRe 阶段改为严格 On-policy 训练,单独学习候选综合行为。

并行协调推理 ​

候选生成与综合

推理流程

  • 对同一图片与问题,先独立生成 16条 SeRe 候选。
  • 将候选作为 Reference Responses,与原问题共同输入模型。
  • 模型检查候选中的证据、坐标与推理差异,重新生成最终答案。

作用机制

  • 并行候选增加视觉假设的覆盖,综合阶段处理候选之间的分歧。
  • 例如定位任务中,比较多次预测的坐标与所指对象,检查是否定位到同一目标。
  • 最终输出来自重新推理,参考答案不能直接当作正确标签。
Synthesis Filtration 与协调训练

训练样本构建

  • 复用难度筛选时每题的 24条 rollout,建立候选消息缓存。
  • 抽取 16~24条 消息作为综合上下文,再生成综合回答。
  • 再次保留综合阶段仍有成功、有失败的题,避免参考答案让任务过于简单。

训练目标

  • 对综合后的最终回答使用可验证奖励,训练模型选择证据、交叉验证与纠错。
  • 通过 PPO 学习协调行为,推理时再使用并行候选与综合流程。

实验设置(联合预训练 + SFT + 三阶段RL) ​

✍️ 实验设置

模型与训练日程

基础模型

  • PE-lang 1.8B + Qwen3-8B,总规模约 10B。
  • 预训练解冻全部参数;RL 冻结视觉 Encoder,仅更新 Decoder。

PreTrain / SFT

  • 联合预训练 1.2T tokens:900B 广覆盖数据 → 300B 高质量数据。
  • AdamW, batch=8192, seq_len=4096, lr=5e-5→1e-5→6e-6, weight_decay=0.01。
  • SFT 两阶段分别约 190B / 36B tokens;batch=32, seq_len=128K。
  • SFT:warmup=200步, lr=1e-4→1e-5,领域采样权重不同。

RL 超参

  • RLVR:600步, 512 prompts × 16 rollouts, max_seq_len=24K。
  • RLHF:300步, 512 × 8, max_seq_len=32K。
  • PaCoRe:500步, 64 × 16, max_seq_len=64K,严格 On-policy。
  • actor_lr=2e-6, critic_lr=5e-6, mini_batches=4, γ=1, λ=1。
评测协议与控制实验

评测任务

  • 视觉推理:MMMU、MathVision、MathVista;感知:OCRBench、CountQA、空间理解等。
  • 文本推理:AIME、GPQA、LiveCodeBench;GUI 使用 ScreenSpot、OSWorld-G 等定位评测。

推理方式

  • SeRe:单条推理,最大长度 64K;PaCoRe:16条候选 + 综合回答,上下文 128K。
  • temperature=1, top_p=1, top_k=0;两种模式分别统计。

消融设计

  • PE-lang 与 DINOv3 使用 300M 视觉编码器对比;最终模型使用 1.8B PE-lang。
  • 另比较 Muon / AdamW 与是否使用 DeepStack,分析各模块的训练收益。

关键结果(Step3-VL-10B + PPO/PaCoRe) ​

🍑 关键结果

并行推理与感知收益

视觉推理

  • SeRe → PaCoRe:MathVision 70.81 → 75.95,MMMU 78.11 → 80.11。
  • All-Angles-Bench 57.21 → 64.71;对空间关系的多种解释进行核对,收益更明显。

感知与文本任务

  • CountQA 33.69 → 38.29,OCRBench 86.75 → 89.00,说明收益不限于长数学推导。
  • AIME2025 87.66 → 94.43;LiveCodeBench 75.77 → 76.43,不同任务的增益差异较大。
  • PaCoRe 使用更多候选和综合计算;部分识别任务提升很小,不能假定所有任务都适合扩展并行预算。
RL 动态与架构选择

回答长度与能力

  • RLVR 前 200步 提升较快,之后继续稳定增长;感知、OCR、定位等指标同步改善。
  • 推理任务的轨迹趋长,确定性感知任务趋短;总体长度不变,仍可能代表能力提升。
  • 作者提出 Missing Trace 假设:感知数据缺少显式检查过程,限制了单路径感知推理扩展。

模型组件

  • 300M 编码器对照中,PE-lang 的 OCRBench 70.1,DINOv3 为 57.6;语言对齐有利于多模态学习。
  • Muon 对部分长尾知识有效,但切换优化器需要较长预热;最终选用 AdamW。
  • DeepStack 加快收敛,却没有稳定转化为下游收益;最终模型未采用。
RLVR 过程中 reward 持续提高,但回答长度先升后降;能力提升并不要求推理轨迹一直变长。
原文图 2:RLVR 过程中 reward 持续提高,但回答长度先升后降;能力提升并不要求推理轨迹一直变长。 来源

未来方向 ​

⛳ 未来方向

作者提出的后续研究

RL 与推理效率

  • 增加 RL 投入:同时扩展顺序推理深度与并行探索宽度。
  • 自蒸馏:把候选比较和交叉验证轨迹用于训练,让单次推理吸收并行探索的能力。
  • 减少过度思考:压缩重复步骤,提高单位 Token 的有效信息。

物理交互与多模态扩展

  • 从静态数字任务进一步扩展到视频、动作和物理模拟环境。
  • 通过主动交互获得更可靠的物理经验,改善仅靠图文材料学习的局限。

(2507) Step-3 (MFA + AFD, 解码系统) ​

🌺 论文摘要

Step-3 论文摘要

参考链接

问题背景

  • 参数少不等于推理便宜:Attention 的计算、KV 读取和 MoE 通信,可能抵消稀疏模型节省的计算。
  • Attention/FFN 瓶颈不同:统一部署难以同时满足两者的硬件需求与低延迟要求。

核心方法

  • 模型架构:MFA 低秩 Query 与共享 KV,结合 MoE 控制注意力计算、缓存读取和专家计算量。
  • AFD 分离部署:Attention 与 FFN 独立选择 Batch、并行方式和硬件,三阶段流水线重叠计算。
  • 软硬件协同:按显存与网络约束选择稀疏度;StepMesh 基于 GPUDirect RDMA 隐藏通信开销。

模型效果(Step-3 + AFD 解码系统)

  • 32张 Hopper、4K 上下文、FP8、无 MTP:峰值 4039 tokens/GPU/s,长期平均 3910。
  • 保持单用户生成速度 ≥20 tokens/s,即 TPOT≤50ms。

重要结论

  • 注意力必须兼顾计算与访存:只压缩 KV,可能把瓶颈转移到算力。
  • MoE 并非越稀疏越好:专家 Batch 变小后,需要更大的全局 Batch,网络可能先成为瓶颈。

核心贡献

  • 将注意力结构、MoE 稀疏度和 AFD 部署放入同一成本分析框架,并给出可运行的推理系统。

未来方向

  • 接入 MTP、继续优化注意力结构,并用更高带宽互联支持更稀疏的 MoE。

问题背景 ​

解码成本与硬件利用率

Attention 与 FFN 资源错配

  • 解码时 Attention 反复读取 KV Cache;FFN 需要读取大量参数并执行矩阵乘法。
  • 同一张卡、同一种并行配置,未必同时适合两个模块。
  • 长上下文增加 Attention 工作量,固定比例部署会让 FFN 等待。

激活参数不能单独决定成本

  • 激活参数减少,不代表 KV 读取、跨卡通信或单用户延迟同步减少。
  • 本报告围绕已训练的 Step-3 研究解码成本,重点是模型结构与部署协同。

核心方法 ​

模型架构 ​

MFA 注意力

低秩投影与共享 KV

  • Query 从隐藏维度 7168 降到 2048,归一化后映射为 64个 × 256维 Query Heads。
  • 所有 Query Heads 共享一个 Key Head 和一个 Value Head,减少历史缓存读取。
  • 通过矩阵分解扩展注意力表达能力,同时控制投影参数和核心注意力开销。

算术强度匹配

  • 算术强度:每读取一字节 KV,需要执行多少计算。
  • 过高会受算力限制,过低会受带宽限制;设计目标是匹配目标 GPU 的计算/带宽比例。
  • MFA 同时降低计算量与 KV 读取量,为后续量化、MTP 留出算力空间。
MoE 与稀疏度

参数与专家

  • 语言模型 316B,视觉编码器约 5B;合计 321B,每个文本 Token 激活约 38B。
  • 61层,前 4层 与最后一层使用 Dense FFN,其余使用 MoE。
  • 每个 MoE 层有 48个路由专家 + 1个共享专家,每 Token 激活 Top-3 路由专家。

稀疏度选择

  • 每 Token 使用的专家比例约 0.08,兼顾模型容量与专家计算利用率。
  • 专家越稀疏,单个专家分到的 Token 越少,需要扩大 Batch 才能高效执行矩阵乘法。

Attention 与 FFN 分离部署 ​

Attention/FFN 独立扩展

模块分工

  • Attention Instance:计算 Attention、管理 KV Cache,并执行 Router 等非专家操作。
  • FFN Instance:执行 MoE 专家计算,可独立采用 TP、EP 或 TP+EP。
  • Attention 发送 FP8 Hidden States + 路由信息,FFN 返回 BF16 输出,保持残差精度。

扩展方式

  • 多个 Attention 实例汇集请求,为 FFN 提供足够大的 Batch。
  • 上下文变长时增加 Attention 实例,FFN 的数量可以保持不变。
  • AFD 与 EP 可组合;前者拆分计算模块,后者分配专家参数。
AFD 将 Attention 与 FFN 分开部署,两部分分别选择并行方式与资源规模;图中展示 token 如何在两类实例间流转。
原文图 6:AFD 将 Attention 与 FFN 分开部署,两部分分别选择并行方式与资源规模;图中展示 token 如何在两类实例间流转。 来源
三阶段流水线

延迟预算

  • 目标 TPOT=50ms:Attention、FFN、通信三个阶段各分配约 16.6ms。
  • 对 61层 模型,单层每个阶段约有 272μs 的预算。

Micro-batch 调度

  • 将请求拆为三组,在 Attention、通信、FFN 之间交错推进。
  • 一组执行 FFN 时,另一组执行 Attention,第三组传输数据。
  • 三个阶段耗时需要接近,否则最慢阶段会造成等待,通信也无法完全隐藏。
AFD 的通信拓扑与多阶段流水线:关注计算、派发和结果返回之间的重叠,而不只是设备数量。
原文图 7:AFD 的通信拓扑与多阶段流水线:关注计算、派发和结果返回之间的重叠,而不只是设备数量。 来源

模型与硬件协同 ​

MoE Batch 与网络约束

专家 Batch

  • 设 S 为每 Token 激活的专家比例;在近似均衡路由下,专家收到的 Batch 约为 全局 Batch × S。
  • 达到相同专家计算利用率,MoE 所需 Batch 约与 1/S 成正比。
BMoE≳GPU 算力2S显存带宽

通信限制

  • 扩大 Batch 同时增加 A→F 和 F→A 的 Hidden States 传输量。
  • 若网络不能在阶段预算内完成传输,更稀疏的 MoE 反而难以保持低延迟。
  • 选择 MoE 配置时,需要同时看激活计算量、专家 Batch 和网络带宽。
量化、MTP 与异构硬件

量化与 MTP

  • 压缩 KV 降低读取量,但不等比例减少计算;已受算力限制的 Attention 收益有限。
  • MTP 复用历史 KV 验证多个 Token,但 FFN 仍需计算候选,且错误候选不能直接提交。
  • 因此 MTP 是否划算,要结合 Attention 瓶颈、FFN 利用率与候选接受率。

独立硬件选择

  • AFD 允许 Attention 使用高带宽设备,FFN 使用更适合矩阵计算的设备。
  • 报告分析了 L20 等设备的可行配置,展示分离部署对异构硬件的适配空间。
StepMesh 通信实现

传输路径

  • GPU 数据通过 GPUDirect RDMA 直接传输;CPU 线程负责发送、接收与通信控制。
  • 通信控制不占用 GPU SM,减少对 Attention/FFN 计算资源的争用。
  • 预注册 Tensor 与缓冲区,避免重复序列化、拼接和内存复制。

网络与调度

  • 独立收发线程配合 NUMA 绑核,降低 CPU 调度抖动。
  • Attention 与 FFN 尽量连接同一 ToR 交换机,减少不同通信路径的延迟差。
  • 多 NIC 端口分摊流量,保持流水线各阶段的传输时间稳定。

实验设置(Step-3 + AFD) ​

✍️ 实验设置

解码系统评测

模型与任务

  • 使用已训练的 Step-3,评测连续解码吞吐、单 Token 延迟和注意力层耗时。
  • 所有端到端配置满足 TPOT≤50ms;本报告未展开模型训练配方。

部署与精度

  • 4K 上下文:2个 Attention + 2个 FFN 实例,合计 32张 Hopper。
  • 全局 Batch 6144,拆为 3组 × 2048;GEMM 使用 FP8,未启用 MTP。
  • FP8 / BF16 Attention 对照分别采用 32 / 40张 GPU;8K 配置扩到 48张。

注意力消融

  • 对比 MFA、MLA、GQA,在 H800、H20、A800 上测试 8K / 32K 上下文。
  • 每组 4张 GPU, batch=256;包含注意力前后的线性投影,Attention 使用 BF16。

关键结果(Step-3 + MFA/AFD) ​

🍑 关键结果

吞吐与扩展效果

端到端解码

  • 4K、FP8 配置达到峰值 4039 tokens/GPU/s,长期平均 3910,同时保持 20 tokens/s 单用户速度。
  • 说明高吞吐不必依赖放宽单用户延迟;流水线需要在吞吐与延迟之间同时达标。
  • 相同 4K 下,BF16 Attention 配置为 3321 tokens/GPU/s,Attention 精度会显著影响部署效率。

长上下文扩展

  • 8K 上下文增加 Attention 实例后,峰值达到 2643 tokens/GPU/s。
  • 单卡吞吐下降来自更多卡承担 KV 读取;AFD 可以只扩展 Attention,避免同步扩张 FFN。
注意力与成本分析

注意力层消融

  • H800、8K:MFA 281μs,MLA 372μs,GQA 382μs。
  • H20、32K:MFA 1452μs,MLA 4817μs,GQA 3042μs。
  • MFA 的低计算与低访存设计在不同硬件上都有效,长上下文下差异更明显。

关键认识

  • 总参数不是部署成本的充分指标:Attention 和通信可能比 FFN 激活量更影响实际解码。
  • 最优稀疏度依赖硬件:降低激活量之前,要确认专家 Batch 和网络仍能支撑高利用率。
  • 模块分离提供可调空间:上下文、硬件或负载变化后,可以独立调整 Attention/FFN 资源比例。

未来方向 ​

⛳ 未来方向

作者提出的后续优化

模型与解码

  • MTP:接入并实测多 Token 预测,进一步降低解码成本。
  • 注意力结构:继续优化表达能力、KV 读取和计算量之间的平衡。

部署与互联

  • 通信抖动:缩小长期平均吞吐与峰值吞吐的差距。
  • 高带宽互联:降低更稀疏 MoE 对网络的压力,再提高专家稀疏程度。
总访客数:— · 总访问量:—
PLM's Blog @ 2016 - 2026