阶跃星辰StepFun/Step-3.7-Flash-FP8
模型介绍文件和版本Pull Requests讨论分析
下载使用量0
  • [ModelPage]: https://static.stepfun.com/blog/step-3.7-flash/
  • [Github]: https://github.com/stepfun-ai/Step-3.7-Flash
  • [HuggingFace]:
    • BF16: https://huggingface.co/stepfun-ai/Step-3.7-Flash/
    • FP8: https://huggingface.co/stepfun-ai/Step-3.7-Flash-FP8
    • NVFP4: https://huggingface.co/stepfun-ai/Step-3.7-Flash-NVFP4
    • GGUF: https://huggingface.co/stepfun-ai/Step-3.7-Flash-GGUF

1. 简介

Step 3.7 Flash 是一款拥有 1980 亿参数的稀疏混合专家(Mixture-of-Experts, MoE)视觉语言模型。它将 1960 亿参数的语言主干与 18 亿参数的视觉编码器相结合,实现原生图像理解。该模型专为高频生产工作负载设计,每 token 激活约 110 亿参数,吞吐量高达每秒 400 token。Step 3.7 Flash 支持 256k 上下文窗口,并提供三种可选推理级别(低、中、高),使开发者能够轻松平衡速度、成本和认知深度。

我们开发 Step 3.7 Flash 是为了满足那些需要扩展融合感知、搜索和推理能力的智能体工作流的开发者。它旨在处理复杂任务,例如一次性解析海量财务报告、运行带有跨源验证的多步骤搜索循环,或在高吞吐量管道中运行并发编码智能体。

2. 能力与性能

多模态感知与验证

该模型具备顶尖的视觉智能,在 SimpleVQA (Search) 榜单中以 79.2 分位居榜首,并在 V* (Python) 任务上达到 95.3 分的前沿水平。这些指标反映了其强大的视觉基础能力以及超越基本图像描述的检索增强推理能力。该模型能够准确处理密集的视觉界面,如 UI 线框图、应用程序 GUI 和数据图表,并将其映射为结构化代码。当遇到不完整的视觉资产时,它能够独立识别缺失数据并执行查找以验证上下文,然后返回经过事实核查的结论。

工作流完整性与工具编排

执行可靠性对于自主智能体至关重要。Step-3.7-Flash-FP8在ClawEval-1.1基准测试中以67.1分的成绩领先,显著优于第二名的59.8分。这一表现证明了其在多轮编排过程中对对抗性陷阱的高抵抗力以及对系统策略的严格遵守。凭借在Toolathlon上49.5分和在HLE w. Tool上48.1分的成绩,该模型确保了高轨迹完整性。Step-3.7-Flash-FP8能够可靠地与外部API交互,并执行长周期工作流,而不会偏离指令或违反系统约束。

代码工程与专业基准

Step-3.7-Flash-FP8专为实时工程任务而构建,并在SWE-Bench PRO中明确获得第二名,得分56.3。它能够独立追踪多文件代码库,从原始问题报告中隔离错误,并生成可通过自动化单元测试的功能性补丁。虽然像Terminal-Bench 2.1(59.5分)和GPDVal-AA(45.8分)这样的评估显示,与同类产品的绝对峰值相比,未来仍有明确的优化空间,但它们为系统交互和结构化专业交付成果建立了可靠的基准。

Step 3.7 Flash benchmark results across General Agent, Agentic Coding, and Multimodal evaluations

3. 定价

令牌类型价格
输入(缓存未命中)$0.20 / 百万令牌
输入(缓存命中)$0.04 / 百万令牌
输出$1.15 / 百万令牌

4. 可用性、部署与生态系统

  • 可用性:Step-3.7-Flash-FP8在StepFun开放平台上可用——platform.stepfun.ai(全球)和platform.stepfun.com(中国),同时也在OpenRouter和NVIDIA NIM上提供。StepFun还正与DeepInfra、Fireworks AI和Modal合作,以尽快扩展其可用性。
  • 部署:Step-3.7-Flash-FP8支持在云、数据中心和本地环境中灵活部署。对于大规模生产和企业用例,Step-3.7-Flash-FP8可部署在现代化数据中心基础设施上。对于本地和工作站场景,它也可以在高内存设备上运行,例如NVIDIA DGX Station、基于AMD Ryzen AI Max+ 395的系统,以及具有至少128GB统一内存的Mac Studio / Macbook Pro设备。
  • 生态系统:Step-3.7-Flash-FP8在流行的开源基础设施中得到支持,无论是推理还是模型开发。在推理和服务方面,开发人员可以使用vLLM、SGLang、Hugging Face Transformers和llama.cpp。在模型开发工作流方面,StepFun模型支持已融入NVIDIA Megatron生态系统,包括Megatron Core和Megatron Bridge。

5. 示例

您可以通过 StepFun 的 API 或其他推理服务提供商,在几分钟内开始使用 Step 3.7 Flash。

为您所在的地区选择正确的 base_url。StepFun 运营两个区域平台,分别设有独立的 API 主机。您传递给 OpenAI 客户端的 base_url 必须与您的 API 密钥所在的平台相匹配,否则请求将因未授权而被拒绝。

  • 全球:platform.stepfun.ai — base_url=https://api.stepfun.ai/v1
  • 中国:platform.stepfun.com — base_url=https://api.stepfun.com/v1

为避免硬编码错误的地区信息,以下示例将从环境变量中读取 API 密钥和基础 URL。在运行前导出它们:

export STEP_API_KEY="sk-..."
export STEP_BASE_URL="https://api.stepfun.ai/v1"   # 中国平台请使用 https://api.stepfun.com/v1

5.1 聊天示例

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["STEP_API_KEY"],
    base_url=os.environ["STEP_BASE_URL"],
)

completion = client.chat.completions.create(
    model="step-3.7-flash",
    messages=[
        {
            "role": "system",
            "content": "You are an AI assistant provided by StepFun. You are good at Chinese, English, and many other languages, and you can see, think, and act to help users get things done.",
        },
        {
            "role": "user",
            "content": "Introduce StepFun's artificial intelligence capabilities."
        },
    ],
)

print(completion)

5.2 文本和图像输入示例

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["STEP_API_KEY"],
    base_url=os.environ["STEP_BASE_URL"],
)

completion = client.chat.completions.create(
    model="step-3.7-flash",
    messages=[
        {
            "role": "user",
            "content": [
                {"type": "text", "text": "What is in this picture?"},
                {
                    "type": "image_url",
                    "image_url": {"url": "https://example.com/photo.jpg"},
                },
            ],
        },
    ],
)

print(completion)

6. 本地部署

Step 3.7 Flash 针对本地推理进行了优化,并支持行业标准后端,包括 vLLM、SGLang、Hugging Face Transformers 和 llama.cpp。

6.1 vLLM

我们建议使用 StepFun 预构建的支持 Step 3.7 的 vLLM Docker 镜像。

  1. 安装 vLLM。
# via Docker
docker pull vllm/vllm-openai:stepfun37
  1. 启动服务器。
  • 对于 FP8 模型
  vllm serve <MODEL_PATH_OR_HF_ID> \
  --served-model-name step3p7-flash \
  --tensor-parallel-size 8 \
  --enable-expert-parallel \
  --disable-cascade-attn \
  --reasoning-parser step3p5 \
  --enable-auto-tool-choice \
  --tool-call-parser step3p5 \
  --speculative_config '{"method": "mtp", "num_speculative_tokens": 3}' \
  --trust-remote-code
  • 针对 BF16 模型
  vllm serve <MODEL_PATH_OR_HF_ID> \
  --served-model-name step3p7-flash-bf16 \
  --tensor-parallel-size 8 \
  --enable-expert-parallel \
  --disable-cascade-attn \
  --reasoning-parser step3p5 \
  --enable-auto-tool-choice \
  --tool-call-parser step3p5 \
  --speculative_config '{"method": "mtp", "num_speculative_tokens": 3}' \
  --trust-remote-code
  • 对于 NVFP4 模型 与标准精度相比,运行 FP4 量化版本需要激活 modelopt 以及进行 FP8 KV Cache 对齐。
  python3 -m vllm.entrypoints.openai.api_server \
  --host 0.0.0.0 \
  --port ${PORT} \
  --model stepfun-ai/Step-3.7-Flash-NVFP4 \
  --served-model-name step3p7 \
  --tensor-parallel-size 4 \
  --gpu-memory-utilization 0.9 \
  --enable-expert-parallel \
  --trust-remote-code \
  --quantization modelopt \
  --kv-cache-dtype fp8 \
  --max-model-len 8192 \
  --reasoning-parser step3p5 \
  --enable-auto-tool-choice \
  --tool-call-parser step3p5 \
  --async-scheduling

6.2 SGLang

  1. 安装 SGLang。
# via Docker
docker pull lmsysorg/sglang:dev-step-3.7-flash

# or from source (pip)
pip install "sglang[all] @ git+https://github.com/sgl-project/sglang.git"
  1. 启动服务器。

注意: 对于 Blackwell GPU,可以使用 --mm-attention-backend fa4。

  • 对于 BF16 模型
sglang serve --model-path stepfun-ai/Step-3.7-Flash \
  --tp 8 \
  --reasoning-parser step3p5 \
  --tool-call-parser step3p5 \
  --enable-multimodal \
  --speculative-algorithm EAGLE \
  --speculative-num-steps 3 \
  --speculative-eagle-topk 1 \
  --speculative-num-draft-tokens 4 \
  --enable-multi-layer-eagle \
  --trust-remote-code \
  --host 0.0.0.0 \
  --port 8000
  • 针对 FP8 模型
sglang serve --model-path stepfun-ai/Step-3.7-Flash-fp8 \
  --tp 8 \
  --ep 4 \
  --reasoning-parser step3p5 \
  --tool-call-parser step3p5 \
  --enable-multimodal \
  --speculative-algorithm EAGLE \
  --speculative-num-steps 3 \
  --speculative-eagle-topk 1 \
  --speculative-num-draft-tokens 4 \
  --enable-multi-layer-eagle \
  --trust-remote-code \
  --host 0.0.0.0 \
  --port 8000
  • 针对 NVFP4 模型
sglang serve --model-path stepfun-ai/Step-3.7-Flash-NVFP4 \
  --tp 4 --ep 4 \
  --moe-runner-backend flashinfer_trtllm \
  --kv-cache-dtype fp8_e4m3 \
  --quantization modelopt_fp4 \
  --trust-remote-code \
  --reasoning-parser step3p5 \
  --tool-call-parser step3p5 \
  --attention-backend trtllm_mha

6.3 Transformers(调试/验证)

使用此代码片段进行快速功能验证。对于高吞吐量服务,请使用 vLLM 或 SGLang。

注意:部署此模型需要 transformers 5.0 或更高版本。

from transformers import AutoProcessor, AutoModelForCausalLM

MODEL_PATH = "<MODEL_PATH_OR_HF_ID>"

# 1. Setup
processor = AutoProcessor.from_pretrained(MODEL_PATH, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
    MODEL_PATH,
    device_map="auto",
    dtype="auto",
    trust_remote_code=True
)

# 2. Prepare Input
messages = [
    {
        "role": "user",
        "content": [
            {"type": "image", "url": "https://example.com/photo.jpg"},
            {"type": "text", "text": "What is in this picture?"}
        ]
    },
]
inputs = processor.apply_chat_template(
    messages,
    tokenize=True,
    add_generation_prompt=True,
    return_dict=True,
    return_tensors="pt",
).to(model.device)

# 3. Generate
generated_ids = model.generate(**inputs, max_new_tokens=128, do_sample=False)
output_text = processor.decode(generated_ids[0][inputs.input_ids.shape[1]:], skip_special_tokens=True)

print(output_text)

6.4 llama.cpp

系统要求

GGUF 模型权重:

组件量化方式文件大小
Language ModelQ4_K_S111.5 GB
Language ModelIQ4_XS104.99 GB
Language ModelQ3_K_L102.5 GB
Multimodal ProjectorFP163.97 GB
  • 运行时开销: ~7 GB
  • 最低统一内存/显存: 120 GB(例如,Mac Studio、NVIDIA DGX Station、AMD Ryzen AI Max+ 395)
  • 推荐配置: 128 GB 统一内存

步骤

  1. 使用 llama.cpp:
git clone https://github.com/stepfun-ai/llama.cpp.git
cd llama.cpp
git checkout -b step3.7 origin/step3.7
  1. 在 Mac 上构建 llama.cpp:
cmake -B build-macos -S . \
    -DCMAKE_BUILD_TYPE=Release \
    -DBUILD_SHARED_LIBS=ON \
    -DLLAMA_BUILD_SERVER=ON \
    -DLLAMA_BUILD_TESTS=ON \
    -DGGML_METAL=ON \
    -DGGML_METAL_EMBED_LIBRARY=ON \
    -DGGML_BLAS=ON \
    -DGGML_BLAS_VENDOR=Apple \
    -DGGML_ACCELERATE=ON \
    -DGGML_NATIVE=ON
cmake --build build-macos -j8
  1. 在 DGX-Spark 上构建 llama.cpp:
cmake -S . -B build-cuda \
  -DCMAKE_BUILD_TYPE=Release \
  -DGGML_CUDA=ON \
  -DGGML_CUDA_GRAPHS=ON \
  -DGGML_CUDA_FORCE_MMQ=ON \
  -DLLAMA_OPENSSL=OFF \
  -DLLAMA_BUILD_COMMON=ON \
  -DLLAMA_BUILD_TOOLS=ON \
  -DLLAMA_BUILD_SERVER=ON \
  -DLLAMA_BUILD_EXAMPLES=OFF \
  -DLLAMA_BUILD_TESTS=OFF
cmake --build build-cuda -j8
  1. 在 AMD Windows 上构建 llama.cpp:
cmake -S . -B build-vulkan \
  -DCMAKE_BUILD_TYPE=Release \
  -DGGML_VULKAN=ON \
  -DGGML_NATIVE=ON \
  -DLLAMA_BUILD_SERVER=ON \
  -DLLAMA_BUILD_UI=OFF \
  -DLLAMA_BUILD_TOOLS=ON
cmake --build build-vulkan -j8
  1. 使用 llama-cli 运行:
./llama-cli -m Step3.7_Q4_K_S.gguf -b 2048 -ub 2048 -fa on --temp 1.0 -p "What's your name?"
  1. 使用 llama-batched-bench 测试性能:
./llama-batched-bench -m step3.7_Q4_K_S.gguf -c 32768 -b 2048 -ub 2048 -npp 0,2048,8192,16384,32768 -ntg 128 -npl 1

7. 在智能体平台上使用 Step 3.7 Flash

您可以在 Hermes Agent、OpenClaw、Kilo Code 等智能体平台上使用 Step 3.7 Flash。

8. 联系我们

我们正通过扩展通用模型能力来塑造 AGI 的未来,在此过程中,我们希望确保自己在解决正确的问题。我们诚邀您加入这一持续的反馈循环——您的见解将直接影响我们的工作重点。

  • 参与讨论:我们的 Discord 社区是集思广益未来架构、提出功能建议以及获取抢先更新的主要枢纽 🚀
  • 反馈问题:遇到使用限制?您可以在 GitHub / HuggingFace 上提交 issue 或发起讨论,也可以直接在我们的 Discord 支持频道中指出问题。

📄 许可证

本项目基于 Apache 2.0 许可证 开源。