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

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

 



在 Artificial Analysis Intelligence Index 上,Step 5 Preview 获得 44 分。而在相近智能水平下,它的 Task Cost 明显更低。

 



开源地址:
模型链接:https://modelscope.cn/models/stepfun-ai/Step-5-Preview

技术博客:https://www.stepfun.com/step-5-preview


技术创新

智能体工作负载对模型设计与训练提出了一套不同的要求。包含大量工具调用的长轨迹,使得模型基于大规模预填充上下文进行推理的能力变得更加重要;长上下文计算也愈发昂贵,同时还给数据构建和强化学习带来了新的挑战。

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:
 

 



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

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

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

 



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

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

 



在索引阶段,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 覆盖率对比:
 

 

模型体验与本地使用

魔搭免费体验
在魔搭社区模型页面 API-Inference 即可免费体验 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
    }'
Logo

ModelScope旨在打造下一代开源的模型即服务共享平台,为泛AI开发者提供灵活、易用、低成本的一站式模型服务产品,让模型应用更简单!

更多推荐