阶跃星辰发布 Step 5 Preview 旗舰模型:600B 总参数、27B 激活参数、支持 1M 上下文
stepfun-ai/Step-5-Preview-NVFP4
阶跃星辰发布面向智能体任务的旗舰模型 Step 5 Preview,采用稀疏 MoE 架构,600B 总参数、27B 激活参数,上下文窗口最高 1M tokens,输入支持文本、图像和视频。
阶跃星辰公开旗舰模型的参数规模、上下文长度与多框架部署配置,可据此判断其智能体任务的落地条件。
StepFun 面向智能体工作的旗舰模型
600B 总参数 · 27B 激活参数 · 最高 1M 上下文
简介 · 能力 · 规格 · 性能 · 部署 · 资源 · 许可证
简介
Step 5 Preview 是 StepFun 面向智能体工作的旗舰模型。它在软件工程和专业知识工作方面达到前沿水平,在金融领域尤为突出。
Step 5 Preview 是一个稀疏混合专家(MoE)模型,总参数 600B,激活参数 27B。它支持最高 100 万 token 的上下文,可接受文本、图像和视频输入,能够在复杂任务中进行持续推理和工具使用。
核心能力
软件工程
Step 5 Preview 支持仓库级软件工程、前端与可视化开发以及设备编程。它能够浏览大型代码库、协调跨文件修改、运行并验证代码,并根据结果迭代。
长程智能体执行
Step 5 Preview 能够执行需要反复调用工具、执行、验证和修订的任务,并在整个工作流中利用长上下文信息。
专业知识工作
该模型结合研究、多模态理解和工具使用,可分析长文档、图表、截图、图像和视频,并生成结构化报告与分析。
聚焦金融
Step 5 Preview 在结合定量推理与金融数据及辅助文档分析的金融任务中尤为擅长。
模型规格
| 规格 | Step 5 Preview |
|---|---|
| 架构 | 稀疏混合专家(MoE) |
| 总参数 | 600B |
| 激活参数 | 27B |
| 上下文窗口 | 最高 1M token |
| 最大输出 | 最高 1M token |
| 输入 | 文本、图像 |
| 输出 | 文本 |
性能
以下结果总结了 Step 5 Preview 在编码、智能体任务、专业知识工作和金融方面的表现。
评测说明
- 推荐推理设置:
temperature=1.0、top_p=0.95、top_k=0。 - 上表所示的 Step 5 Preview 结果使用 High 推理设置。
- GDPval-AA v2.1 分数基于截至 2026 年 9 月 20 日 Artificial Analysis 的结果。
- DeepSWE v1.1 评测使用 SWE-agent 测试框架,配置为
temperature=1.0和top_p=0.95。
有关评测背景、方法和详细案例研究,请参阅 Step 5 Preview 模型页面。
部署
Step 5 Preview 可通过 vLLM 或 SGLang 以 OpenAI 兼容 API 提供服务,也可使用独立的 Transformers 实现进行离线生成。以下示例涵盖 FP8 和 BF16 检查点。
请使用包含 Step 5 Preview 支持的框架构建版本,其中包括服务命令中使用的推理、工具调用和推测解码功能。
部署配置
| 框架 | 精度 | 硬件 | 并行方式 | 接口 |
|---|---|---|---|---|
| vLLM | FP8 | 一个 B300 节点,4 块 GPU | TP4、TEP4 或 DEP4 | OpenAI 兼容 API |
| vLLM | FP8 | 一个 H200 节点,8 块 GPU | TP8、TEP8 或 DEP8 | OpenAI 兼容 API |
| vLLM | BF16 | 一个 B300 节点,8 块 GPU | TP8、TEP8 或 DEP8 | OpenAI 兼容 API |
| vLLM | BF16 | 两个 H200 节点,16 块 GPU | TP16、TEP16 或 DEP16 | OpenAI 兼容 API |
| Transformers | FP8 | 一个 H200 节点,8 块 GPU | TP8 / EP8 | 离线生成 |
| Transformers | BF16 | 两个 H200 节点,16 块 GPU | TP16 / EP16 | 离线生成(见下方验证说明) |
| SGLang | FP8 | 一个 B300 节点,4 块 GPU | TP4/EP4 | OpenAI 兼容 API |
| SGLang | FP8 | 一个 H200 节点,8 块 GPU | TP8/EP8 | OpenAI 兼容 API |
DP、TP 和 EP 分别指数据并行、张量并行和专家并行。TEP 结合张量并行与专家并行;DEP 结合数据并行与专家并行。这些示例配置是针对下述部署规模设定的。实际内存需求、可用上下文长度和并发数会随检查点、推理框架和 KV 缓存分配而变化。
部署指南: vLLM · Transformers · SGLang · 发送请求
vLLM
以下示例通过端口 18000 上的 OpenAI 兼容 API 提供 Step 5 Preview,请求中使用的模型名为 step5。
环境设置
拉取 Step 5 Preview 镜像,并启动一个可访问 GPU 的交互式容器:
docker pull vllm/vllm-openai:step-5-preview
docker run --rm -it \
--gpus all \
--ipc=host \
--network=host \
--volume "$HOME/.cache/huggingface:/root/.cache/huggingface" \
--entrypoint /bin/bash \
vllm/vllm-openai:step-5-preview
在容器内运行下面的服务命令。如果检查点需要身份验证,请在启动服务器前使用 hf auth login 登录。
FP8:4 块 B300 GPU 单节点
为四块 B300 GPU 的单节点选择以下并行配置之一:
| 模式 | 张量并行 | 数据并行 | 专家并行 |
|---|---|---|---|
| TP4 | 4 | 1 | 禁用 |
| TEP4 | 4 | 1 | 4 |
| DEP4 | 1 | 4 | 4 |
使全部四块 GPU 可见,然后运行所选配置对应的命令:
export CUDA_VISIBLE_DEVICES=0,1,2,3
在 B300(Blackwell)上,TEP4 和 DEP4 命令会选择使用 --moe-backend deep_gemm_mega_moe 的 MegaMoE。TP4 命令使用默认 MoE 后端,因为 MegaMoE 需要专家并行。
TP4:张量并行
vllm serve stepfun-ai/Step-5-Preview \
--host 0.0.0.0 \
--port 18000 \
--served-model-name "step5" \
--tensor-parallel-size 4 \
--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
TEP4:张量与专家并行
vllm serve stepfun-ai/Step-5-Preview \
--host 0.0.0.0 \
--port 18000 \
--served-model-name "step5" \
--tensor-parallel-size 4 \
--enable-expert-parallel \
--moe-backend deep_gemm_mega_moe \
--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
DEP4:数据与专家并行
vllm serve stepfun-ai/Step-5-Preview \
--host 0.0.0.0 \
--port 18000 \
--served-model-name "step5" \
--tensor-parallel-size 1 \
--data-parallel-size 4 \
--enable-expert-parallel \
--moe-backend deep_gemm_mega_moe \
--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
H200 上的 FP8
对于八块 H200 GPU 的单节点,请调整上述 B300 命令之一:
- 设置
CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7。 - 对于 TP8 或 TEP8,设置
--tensor-parallel-size 8。对于 DEP8,保留--tensor-parallel-size 1并设置--data-parallel-size 8。 - 对于 TEP8 或 DEP8,保留
--enable-expert-parallel并移除--moe-backend deep_gemm_mega_moe;H200(Hopper)使用默认 MoE 后端。
TP 和 TEP 使用 DP=1;DEP 使用 TP=1。在所有配置中,--max-num-seqs 按 DP rank 生效。1M token 上下文限制涵盖输入和输出总和。如果 KV 缓存内存不足,请降低 --max-model-len 或并发数。
BF16
BF16 部署需要 BF16 检查点。在 FP8 检查点上设置 --dtype bfloat16 不会将其量化权重转换为 BF16。
将 BF16 检查点目录挂载到容器内的同一路径,然后将 MODEL 设置为该路径:
export MODEL="<STEP5_BF16_MODEL_PATH>"
为你的硬件选择配置:
| 硬件 | BF16 布局 | MoE 后端 |
|---|---|---|
| 8 块 B300 GPU | TP8、TEP8 或 DEP8 | TEP/DEP 使用 MegaMoE;TP 使用默认 |
| 2 × 8 块 H200 GPU | TP16、TEP16 或 DEP16 | 默认 |
这些配置为加载 BF16 权重提供了起点。它们不保证有足够内存处理 1M token 请求;KV 缓存和运行时缓冲区也需要 GPU 内存。
B300:单节点,8 块 GPU
在容器内设置 CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7。从 TP4 命令开始,将 stepfun-ai/Step-5-Preview 替换为 "$MODEL",并将 --tensor-parallel-size 4 替换为以下参数集之一:
| 模式 | 并行参数 |
|---|---|
| TP8 | --tensor-parallel-size 8 |
| TEP8 | --tensor-parallel-size 8 --enable-expert-parallel --moe-backend deep_gemm_mega_moe |
| DEP8 | --tensor-parallel-size 1 --data-parallel-size 8 --enable-expert-parallel --moe-backend deep_gemm_mega_moe |
保留其余服务参数,包括 --served-model-name "step5"、--reasoning-parser step5 和 --tool-call-parser step5。
H200:两个节点,16 块 GPU
在两个节点上使用相同的 BF16 检查点路径和容器镜像。将下面的 <NODE_0_IP> 替换为节点 0 的高速网络 IP,该 IP 可从节点 1 访问。H200 使用默认 MoE 后端;省略 --moe-backend deep_gemm_mega_moe。
在每个节点上:
- 将
MODEL设置为已挂载的 BF16 checkpoint 路径,并设置CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7。 - 从 TP4 命令 开始,将
stepfun-ai/Step-5-Preview替换为"$MODEL"。 - 从该命令中移除
--host、--port和--tensor-parallel-size,然后在下方插入适用于你的配置和节点的参数块。这些块包含要追加到vllm serve的参数,而不是独立命令。
保留所有其他 serving 参数,包括 --data-parallel-backend mp、--distributed-executor-backend mp、模型名称以及两个解析器。每个节点运行一条完整命令。仅节点 0 在端口 18000 上暴露 API。
TP16 / TEP16
对于 TP16,使用以下参数。对于 TEP16,还需在两个节点上都添加 --enable-expert-parallel。两种配置均使用 DP=1。
节点 0:
--host 0.0.0.0 \
--port 18000 \
--tensor-parallel-size 16 \
--nnodes 2 \
--node-rank 0 \
--master-addr <NODE_0_IP>
节点 1:
--tensor-parallel-size 16 \
--nnodes 2 \
--node-rank 1 \
--master-addr <NODE_0_IP> \
--headless
DEP16
DEP16 使用 TP=1,并将专家分布到 16 个数据并行 rank 上,每个节点八个 rank。在两个节点上使用相同的数据并行地址和 RPC 端口。
节点 0:
--host 0.0.0.0 \
--port 18000 \
--tensor-parallel-size 1 \
--data-parallel-size 16 \
--data-parallel-size-local 8 \
--data-parallel-address <NODE_0_IP> \
--data-parallel-rpc-port 29550 \
--enable-expert-parallel
节点 1:
--tensor-parallel-size 1 \
--data-parallel-size 16 \
--data-parallel-size-local 8 \
--data-parallel-start-rank 8 \
--data-parallel-address <NODE_0_IP> \
--data-parallel-rpc-port 29550 \
--enable-expert-parallel \
--headless
Transformers
独立实现会将 checkpoint 转换为分片,用于离线生成。安装其依赖后,在 inference/ 目录中运行以下命令:
cd inference
为 FP8 和 BF16 使用单独的 checkpoint 和输出目录。转换会保留源 dtype,生成过程离线运行,无需 API 服务器。
FP8:单台 H200 节点,8 块 GPU
转换一次 FP8 checkpoint,然后启动八个本地进程进行 TP8 / EP8 生成:
export STEP5_FP8_CHECKPOINT="<FP8_CHECKPOINT_DIRECTORY>"
export STEP5_FP8_OUT="<FP8_SHARD_OUTPUT_DIRECTORY>"
python3 convert.py \
--checkpoint "$STEP5_FP8_CHECKPOINT" \
--tp-size 8 --ep-size 8 --check-only
python3 convert.py \
--checkpoint "$STEP5_FP8_CHECKPOINT" \
--out-dir "$STEP5_FP8_OUT" \
--tp-size 8 --ep-size 8
torchrun --standalone --nproc-per-node=8 generate.py \
--tp-dir "$STEP5_FP8_OUT/tp8" --ep-size 8 \
--prompt "Please introduce tensor parallelism." \
--max-new-tokens 128
BF16:两台 H200 节点,16 块 GPU
对于跨两个节点的 TP16 / EP16 生成,首先将 BF16 checkpoint 转换为 16 个分片。使生成的 tp16/ 和 tokenizer_files/ 目录可供两个节点访问:
export STEP5_BF16_CHECKPOINT="<BF16_CHECKPOINT_DIRECTORY>"
export STEP5_BF16_OUT="<BF16_SHARD_OUTPUT_DIRECTORY>"
python3 convert.py \
--checkpoint "$STEP5_BF16_CHECKPOINT" \
--tp-size 16 --ep-size 16 --check-only
python3 convert.py \
--checkpoint "$STEP5_BF16_CHECKPOINT" \
--out-dir "$STEP5_BF16_OUT" \
--tp-size 16 --ep-size 16
然后在每个节点上运行以下命令,使用相同的 MASTER_ADDR、MASTER_PORT 和分片输出路径。在节点 0 上设置 NODE_RANK=0,在节点 1 上设置 NODE_RANK=1:
export STEP5_BF16_OUT="<BF16_SHARD_OUTPUT_DIRECTORY>"
export MASTER_ADDR="<NODE_0_REACHABLE_IP_OR_HOSTNAME>"
export MASTER_PORT=29500
export NODE_RANK=0 # Set to 1 on node 1.
torchrun --nnodes=2 --nproc-per-node=8 \
--node-rank="$NODE_RANK" \
--master-addr="$MASTER_ADDR" \
--master-port="$MASTER_PORT" \
generate.py \
--tp-dir "$STEP5_BF16_OUT/tp16" --ep-size 16 \
--prompt "Please introduce tensor parallelism." \
--max-new-tokens 128
这会在两个节点上启动 16 个进程,与 16 分片 checkpoint 和 --ep-size 16 相匹配。双节点启动使用共享 rendezvous 地址,而不是 --standalone。
BF16 验证:完整的 BF16 convert.py → generate.py --tp-dir 文件分片工作流尚未经过端到端验证。参考实现已验证 checkpoint 名称和形状、BF16 小模型转换、加载与生成,以及全模型流式权重推理。
SGLang
环境设置
拉取 Step 5 Preview SGLang Docker 镜像:
docker pull lmsysorg/sglang:step-5-preview
然后,使用适用于你的硬件的配置启动服务器。有关更优化的配置,包括 MegaMoE、注意力数据并行和 HiCache,请参阅 Step 5 Preview 的 SGLang Cookbook。
B300:TP4/EP4,4 块 GPU
对 FP8 路由专家使用 MegaMoE。
export CUDA_VISIBLE_DEVICES=0,1,2,3
python -m sglang.launch_server \
--trust-remote-code \
--model-path stepfun-ai/Step-5-Preview \
--served-model-name step5 \
--tp 4 \
--ep-size 4 \
--moe-runner-backend flashinfer_trtllm \
--moe-a2a-backend megamoe \
--attention-backend fa4 \
--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
H200:TP8/EP8,8 块 GPU
用于使用 Triton MoE 和 FA3 注意力的单节点 H200 serving。
export CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7
python -m sglang.launch_server \
--trust-remote-code \
--model-path stepfun-ai/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
发送请求
服务器就绪后,使用适用于你的部署的 base URL:
| Serving 配置 | 服务器主机上的 Base URL |
|---|---|
| vLLM FP8 | http://localhost:18000 |
| vLLM BF16 | http://localhost:18000(节点 0) |
| SGLang FP8 | http://localhost:30000 |
以下示例针对 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
}'
资源
- Step 5 Preview 模型页面 — 模型概览、评估背景和长程案例研究。
- 文档 — 官方文档和开发者指南。
- API 平台 — 模型访问和平台服务。
- StepFun 网站 — 公司信息和模型公告。
许可证
本模型,包括其权重、参数、配置、分词器、模型专用代码及文档,均依据 StepFun Model License 1.0 授权。该许可证的完整文本可在本仓库的 LICENSE.txt 文件中查阅。StepFun Model License 1.0 是一种 Apache-2.0 风格的许可证,并针对模型的使用、修改和分发附加了归属声明及商业许可条件。
若本仓库中的随附材料(包括示例代码、数据集、第三方组件及其他文档)被单独标注为适用其他许可证,则该等材料依据该许可证授权。
来源:阶跃星辰模型发布 · hf-mirror.com