Step3 是怎么把 3210 亿参数的大模型跑得比 370 亿的还便宜?

通俗版技术博客:读完你就知道 Step3 为什么「大却省钱」,以及它的代码和模型该怎么用。


1. 先讲结论:为什么值得花时间看 Step3?

场景 传统大模型 Step3 做到的事
每 100 万个 token 的推理账单 0.21 USD(DeepSeek-V3,32 K 上下文) 0.13 USD
1 张 H800 GPU 的生成速度 2 324 token/s 4 039 token/s
启动一次推理最少要几块 GPU 128~320 块 32 块

省钱、省卡、速度还更快,这就是 Step3 想解决的问题。


2. Step3 到底是什么?

一句话:
Step3 是一个 3210 亿总参数、每次推理只激活 380 亿参数的「视觉-语言」大模型,通过两项关键设计把推理成本打到新低。

关键数字 说明
321 B 总参数,含视觉编码器
38 B 每 token 激活参数,略高于 DeepSeek-V3 的 37 B
61 层 Transformer 层数
7168 隐藏层维度
65536 最长上下文长度
FP8 / BF16 官方权重格式

3. 技术拆解:Step3 如何把成本做低?

3.1 Multi-Matrix Factorization Attention(MFA)

问题背景
传统 Attention 需要把 Key-Value(KV)缓存全部塞进显存,上下文越长,显存爆炸。
Step3 的 MFA 用「低秩分解」把 Query 做降维,带来两个好处:

  • KV 缓存体积直接降到 DeepSeek-V3 的 90 %(表 2)。
  • 计算量只有传统 GQA 的 1/4,但表达能力不变(有效秩 16 384)。

一句话总结:
KV 更小、算得更快,还保持了模型效果。

3.2 Attention-FFN Disaggregation(AFD)

问题背景
在 GPU 上做推理时,Attention 和 FFN(Feed-Forward Network)像两个性格迥异的人:

  • Attention 需要大量显存带宽,计算相对轻。
  • FFN 需要大量计算,显存带宽需求小。

传统做法把它们绑在同一批 GPU 上,结果谁都跑不满。
Step3 的做法简单粗暴:拆开,各跑各的。

原架构 AFD 架构
Attention + FFN 同一批 GPU Attention 一批 GPU,FFN 另一批 GPU
128~320 块 GPU 起步 32 块 GPU 起步
固定专家并行,难扩展 可独立扩展 Attention 或 FFN

拆开以后,再配一条高速网络管线,让两部分像工厂流水线一样协作,通信延迟被计算完美盖住。


4. 动手实践:如何运行 Step3?

4.1 获取模型

  • Hugging Face:
    https://huggingface.co/collections/stepfun-ai/step3-688a3d652dbb45d868f9d42d
  • ModelScope:
    https://www.modelscope.cn/models/stepfun-ai/step3

权重提供两种精度:

  • BF16(通用,兼容所有 GPU)
  • 分块 FP8(节省显存,需要 Hopper 或 Ada 架构)

4.2 推荐引擎

官方已验证:

  • vLLM
  • SGLang

部署文档见项目内 docs/deploy_guidance.md,包含:

  • Docker 镜像
  • 启动脚本
  • 与 OpenAI 完全兼容的 RESTful API

最小硬件示例(32 K 上下文):

角色 推荐 GPU 数量 说明
Attention 实例 NVIDIA H800 80 GB 2 台 × 8 卡 负责 KV 缓存
FFN 实例 NVIDIA H800 80 GB 2 台 × 8 卡 负责 MoE 计算
网络 400 Gbps RoCE 每节点 8×NIC 满足 50 ms TPOT

4.3 一键调用示例(vLLM)

# 下载权重
git lfs install
git clone https://huggingface.co/stepfun-ai/step3

# 启动服务
docker run --gpus all -p 8000:8000 \
  -v $(pwd)/step3:/model \
  vllm/vllm:latest \
  python -m vllm.entrypoints.openai.api_server \
  --model /model \
  --tensor-parallel-size 8 \
  --pipeline-parallel-size 4 \
  --max-model-len 32768

客户端调用(与 OpenAI 完全一致):

import openai
openai.api_base = "http://localhost:8000/v1"
openai.ChatCompletion.create(
  model="step3",
  messages=[{"role": "user", "content": "为什么天空是蓝色的?"}]
)

5. 成本到底省在哪里?真实数据说话

5.1 理论账单(每 100 万 token,32 K 上下文)

模型 硬件组合 成本
DeepSeek-V3 H800 + EP 0.211 USD
Qwen3-MoE H800 + AFD 0.193 USD
Step3 H800 + H20 + AFD 0.129 USD

注:AFD 允许给 Attention 和 FFN 各选最便宜的硬件,成本再砍一刀。

5.2 实际吞吐(官方复现,20 token/s SLA)

模型 GPU 数 平均吞吐
DeepSeek-V3 官方 128 2 324 token/s/GPU
Step3 FP8 32 4 039 token/s/GPU

6. 常见疑问 FAQ

Q1:我只有 A800 或 910B,能跑吗?

可以。Step3 的 MFA 对硬件算力/带宽比更友好:

  • 在 A800 上,Step3 的 Attention 成本只比 H800 贵 0.01 USD/1 M token。
  • DeepSeek-V3 在 A800 上成本直接翻 2~3 倍。

Q2:模型真的完全开源吗?

  • 代码:Apache 2.0 许可证,GitHub 公开。
  • 权重:Apache 2.0 许可证,可商用。
  • 限制:无,官方声明“可自由使用、修改、分发”。

Q3:为什么 321 B 参数反而比 235 B 的 Qwen3-MoE 便宜?

核心原因是 Attention 设计 + AFD 架构

  • 参数多少 ≠ 成本高低。
  • Attention 成本在长上下文场景占大头,Step3 把这部分压缩到极致。
  • FFN 用 MoE 稀疏激活,再加上 AFD 把计算/通信拆到最合适的硬件,整体反而更省。

Q4:需要多少 GPU 显存?

场景 显存需求(FP8) 说明
单个 Attention GPU 80 GB 32 K 上下文,batch=64
单个 FFN GPU 80 GB 存储 1/N 专家权重
最小部署 32 张 80 GB 2A2F 配置

Q5:和 DeepSpeed、Megatron 有什么区别?

  • DeepSpeed/Megatron 侧重训练并行;Step3 的 AFD 专为「推理」设计。
  • AFD 把 Attention 和 FFN 拆成两条独立流水线,硬件利用率更高。
  • 官方提供了可落地的通信库 StepMesh,直接可用。

7. 未来路线:官方下一步做什么?

  • 多 token 预测(MTP):已在实验,预计再提 50 % 吞吐。
  • 更激进的 KV 量化:4 bit 存储 + 8 bit 计算,Attention 成本再降一半。
  • 新互联:与硬件厂商合作,800 Gbps 域网络,进一步解锁稀疏 MoE。

8. 小结:什么时候该选 Step3?

你的需求 建议
预算有限,又要长上下文 直接选 Step3,32 张卡起步
已有 H800 / H20 / A800 AFD 架构能把不同卡混着用,省钱
需要开源可商用 Apache 2.0 许可证,无商业限制
想快速上线 提供 vLLM/SGLang 一键部署脚本

参考链接

  • 技术报告(arXiv):https://arxiv.org/abs/2507.19427
  • 官方博客:https://stepfun.ai/research/step3
  • 开源仓库与权重:https://huggingface.co/collections/stepfun-ai/step3