找回密码
立即注册
搜索
发回帖 发新帖

6480

积分

0

好友

834

主题
发表于 3 小时前 | 查看: 4| 回复: 0

Step-5-Preview 主视觉:抽象数字 5

阶跃星辰正式开源了 Step 5 Preview,一款面向真实世界智能体(Agentic)任务的旗舰模型,应用场景覆盖 AI 编程、软件工程以及专业知识工作。模型采用稀疏 MoE 架构,总参数量 600B,每个 Token 激活 27B 参数,支持 1M Token 上下文窗口和视觉输入。

无论是公开评测还是内部测试,Step 5 Preview 在软件工程、Agent、专业工作和金融等多个方向上都取得了有竞争力的表现。

Step-5-Preview 在 DeepSWE、StepCodeBench 等基准测试中的成绩对比

在 Artificial Analysis Intelligence Index 上,Step 5 Preview 拿到了 44 分;而在相近智能水平下,它的单任务成本明显更低。

Step-5-Preview 在 Artificial Analysis 智能指数与任务成本上的帕累托前沿曲线

开源地址:

01 技术创新

智能体工作负载对模型设计与训练的要求与普通对话模型并不相同。大量工具调用构成的长轨迹,让模型基于大规模预填充上下文进行推理的能力变得格外重要;而长上下文计算不仅昂贵,还会在数据构建和强化学习环节制造新的难点。

Step 5 Preview 正是围绕这些约束设计的。在架构上,它选择“窄而深”的路线,共堆叠了 92 个 Transformer 模块。模型把门控滑动窗口注意力(Gated Sliding Window Attention)与稀疏全注意力层交错排列,并在全注意力路径中使用稀疏 GQA(Sparse GQA),以支撑高效的长上下文训练与推理。把这一设计继续扩大规模时,还会暴露出深层网络训练中的稳定性问题,这也促使团队重新审视数值精度与梯度的处理方式。

训练侧,阶跃研究团队构建了一套智能体原生的数据构建系统:智能体在专家制定的原则与质量控制机制下,协同完成部分数据合成流程。强化学习方面则重点解决长时程场景中占据主导的系统和学习问题,包括训练—推理一致性、轨迹采样效率,以及超长轨迹中的信用分配。

1.1 窄而深:92 层架构支持隐式多跳推理

智能体任务里,多跳依赖几乎无处不在;但频繁调用工具会产生很长的预填充,模型很少有机会执行充分、显式的思维链推理。由于 Transformer 在预填充阶段的信息流沿时间轴和深度轴都是单向的,语义表示必须随着后续 Token 的推进,不断移向更深的网络层。如果深度不足,模型就可能“用尽”网络层,导致潜在的多跳推理无法完成。

因此 Step 5 Preview 采用最直接的“窄而深”方案:堆叠 92 个 Transformer Block。它的深度与 Qwen 3.8 max、Kimi K3 等超大型开源模型相当,但总参数量和激活参数量分别不到这些模型的 1/4 和 1/3,在控制成本的同时,给长时程智能体任务留下了足够的推理深度。

注意力层按 3:1 的比例交错排列:高效注意力使用门控滑动窗口注意力(Gated SWA),全注意力部分使用门控 GQA,并进一步加入稀疏索引。官方实验显示,更复杂的线性注意力方案与 Gated SWA 的性能差距有限,而后者更容易高效实现,特别适合推测解码。

1.2 训练稳定性:让深层 FP8 训练保持可控

“窄而深”的架构在扩大训练规模时,会出现数值爆炸和梯度尖峰,而这些现象在更浅或更宽的网络中较少出现。Step 5 Preview 采用 混合精度 FP8 训练,并从隐藏状态、归一化参数和梯度流三个层面应对稳定性问题。

FP32 隐藏状态。 深层网络中的少数巨幅激活值可能在 BF16 隐藏状态中迅速爆炸。把隐藏状态及其对应梯度改为 FP32 后,峰值可再降低近一个数量级,相比常规 BF16 只增加很小的训练开销。

FP32 RMSNorm 缩放因子。 Step 5 Preview 使用以零为中心的 RMSNorm:

零中心 RMSNorm 计算公式

$y_i = x_i / RMS(x) \times (1 + \gamma_i)$

巨幅值所在维度的缩放权重通常很小,即 $\gamma_i$ 接近 -1;但 BF16 在 -1 附近精度不足,可能让 $\gamma_i$ 偶尔恰好等于 -1,使对应通道反复关闭和重启,造成输出振荡。把 $\gamma_i$ 改为 FP32 后,RMSNorm 在这一数值区间内更加平滑。

细粒度梯度钳制。 梯度尖峰往往产生于中间层,并在短短数层内放大几个数量级。由于异常梯度非常稀疏,Step 5 Preview 只裁剪梯度流中最极端的向量;每层仅钳制 0.00004% 的梯度值,就能明显抑制尖峰并改善收敛。

使用细粒度梯度钳制之前(蓝色)与之后(橙色)的 LLM Loss 对比:

细粒度梯度钳制前后的 LLM Loss 对比曲线

1.3 Sparse GQA:降低 100 万 Token 上下文的全注意力成本

当上下文长度来到 100 万 Token,全注意力层会成为训练和推理的主要效率瓶颈。Step 5 Preview 选择 GQA 以兼顾长上下文精度与多 GPU 并行推理,并在标准 GQA 中加入稀疏索引机制,形成 Sparse GQA,重点解决索引器成本、碎片化计算带来的 GPU 利用率不足,以及选择粒度与数据读取量之间的权衡。

Sparse GQA 的索引器先把共享索引键压缩成块表示,再由每个 KV 组独立选择相关历史信息;主路径只读取被选中的历史块,以及当前块内因果可见位置对应的原始 K/V。

Sparse GQA 稀疏注意力机制架构图

在索引阶段,Step 5 Preview 并没有让多个 GQA 组共享同一个索引器,而是把多个相邻历史位置压缩成一个块表示。块大小设为 8 后,索引器与 top-k 选择成本下降了 8 倍。预填充阶段则对相邻 Token 的 top-k 结果取并集,把高度重叠的零散计算合并起来,以提高 GPU 利用率。

最终配置为 B=8、k=4096,也就是选择 512 个块。增大 B 可以降低索引成本,增大 k 则能补偿粒度变粗带来的精度损失。该配置的 Token 覆盖率达到 78.06%,接近 B=1、k=2048 时的 79.09%;随着序列变长,节省下来的索引开销会超过主路径新增成本。

不同 top-k 与块大小配置下的索引成本、主路径延迟和 Token 覆盖率对比:

Sparse GQA 索引成本与 Top-2048 Token 覆盖率对比

02 模型体验与本地使用

魔搭免费体验

在魔搭社区模型页面 API-Inference 即可免费体验 Step 5 Preview,无需自行配置环境:

Hugging Face 上 Step-5-Preview 模型页面截图

本地部署与推理

Step 5 Preview 支持通过官方独立 Transformers 实现进行离线生成,也可以使用 SGLang、vLLM 部署 OpenAI 兼容 API 服务。

模型提供 FP8 与 BF16 两种权重。FP8 版本可以在单节点 8 张 H200 上运行;BF16 建议使用双节点共 16 张 H200,vLLM 还支持单节点 8 张 B300。

模型下载

pip install modelscope
modelscope download --model stepfun-ai/Step-5-Preview \
  --local_dir "$HOME/models/Step-5-Preview"
modelscope download --model stepfun-ai/Step-5-Preview-BF16 \
  --local_dir "$HOME/models/Step-5-Preview-BF16"

Transformers 离线推理

权重分片:

export STEP5_FP8_CHECKPOINT="$HOME/models/Step-5-Preview"
export STEP5_FP8_OUT="$HOME/models/Step-5-Preview-shards-fp8"

# 只检查权重键名和分片形状,不加载权重或写入分片
python3 convert.py \
  --checkpoint "$STEP5_FP8_CHECKPOINT" \
  --tp-size 8 --ep-size 8 --check-only

# 转换为 8 个分片,并复制配套分词器文件
python3 convert.py \
  --checkpoint "$STEP5_FP8_CHECKPOINT" \
  --out-dir "$STEP5_FP8_OUT" \
  --tp-size 8 --ep-size 8

转换完成后,在同一目录启动 8 个进程进行文本生成:

export CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7

torchrun --standalone --nproc-per-node=8 generate.py \
  --tp-dir "$STEP5_FP8_OUT/tp8" --ep-size 8 \
  --prompt "请介绍一下张量并行。" \
  --max-new-tokens 128

SGLang 部署

拉取官方 Step 5 Preview 专用镜像,并进入容器,将模型目录挂载到 /models:

docker pull lmsysorg/sglang:step-5-preview
docker run -it --gpus all --ipc=host --network=host \
  --volume "$HOME/models:/models:ro" \
  --entrypoint /bin/bash \
  lmsysorg/sglang:step-5-preview

在容器内启动服务:

export CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7
python -m sglang.launch_server \
  --trust-remote-code \
  --model-path /models/Step-5-Preview \
  --served-model-name step5 \
  --tp 8 --ep-size 8 \
  --moe-runner-backend triton \
  --attention-backend fa3 \
  --page-size 64 \
  --kv-cache-dtype bfloat16 \
  --mem-fraction-static 0.9 \
  --swa-full-tokens-ratio 0.03 \
  --chunked-prefill-size 16384 \
  --max-running-requests 64 \
  --cuda-graph-backend-prefill breakable \
  --flashinfer-allreduce-fusion-backend trtllm \
  --speculative-algorithm EAGLE \
  --speculative-num-steps 3 \
  --speculative-eagle-topk 1 \
  --speculative-num-draft-tokens 4 \
  --enable-multi-layer-eagle \
  --reasoning-parser step5 \
  --tool-call-parser step5 \
  --host 0.0.0.0 --port 30000

vLLM 部署

同样使用官方 Step 5 Preview 专用镜像,拉取镜像并进入容器:

docker pull vllm/vllm-openai:step-5-preview
docker run -it --gpus all --ipc=host --network=host \
  --volume "$HOME/models:/models:ro" \
  --entrypoint /bin/bash \
  vllm/vllm-openai:step-5-preview

在容器内启动 OpenAI 兼容服务,监听端口 18000:

export CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7
vllm serve /models/Step-5-Preview \
  --host 0.0.0.0 --port 18000 \
  --served-model-name step5 \
  --tensor-parallel-size 8 \
  --enable-expert-parallel \
  --data-parallel-backend mp \
  --distributed-executor-backend mp \
  --disable-custom-all-reduce \
  --max-model-len 1048576 \
  --max-num-batched-tokens 16384 \
  --max-num-seqs 64 \
  --gpu-memory-utilization 0.85 \
  --enable-prefix-caching \
  --spec-method mtp --spec-tokens 3 \
  --reasoning-parser step5 \
  --enable-auto-tool-choice \
  --tool-call-parser step5

调用本地服务

SGLang 和 vLLM 服务启动后,即可发送请求。下面是对 vLLM FP8 服务的请求示例:

curl http://127.0.0.1:18000/v1/chat/completions \
    --header 'Content-Type: application/json' \
    --data '{
      "model": "step5",
      "messages": [{"role": "user", "content": "Hello!"}],
      "max_tokens": 4096,
      "stream": true
    }'



上一篇:安兔兔Q3手机存储内存分布:512GB稳居第一,1TB和24GB降温明显
下一篇:DDR等长做了,上电训练仍失败?先查这5处Layout
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-10-18 07:00 , Processed in 0.072790 second(s), 39 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表