阶跃星辰StepFun/Step3-VL-10B
模型介绍文件和版本Pull Requests讨论分析
下载使用量0

STEP3-VL-10B

Hugging Face ModelScope 论文 许可证

📢 新闻与更新

  • 🚀 在线演示:在 Hugging Face Spaces 体验 Step3-VL-10B!
  • 📢 [通知] FP8 量化支持:现已提供 FP8 量化权重。(下载链接)
  • 📢 [通知] vLLM 支持:vLLM 集成现已正式支持!(PR #32329)
  • ✅ [已修复] HF 推理:解决了 config.json 中 eos_token_id 配置错误导致的无限生成循环问题。(PR #abdf3)
  • ✅ [修复中] 指标修正:我们就 Qwen3VL-8B 基准测试(如 AIME、HMMT、LCB)中的数据不准确问题深表歉意。这些误差是由于在大规模评估过程中错误地将 max_tokens 设置为 32k 导致的。我们正在重新运行测试,并将在技术报告的下一版本中提供更正后的数值。

🚀 简介

STEP3-VL-10B 是一款轻量级开源基础模型,旨在重新定义模型紧凑性与前沿级多模态智能之间的平衡。尽管仅有 100 亿参数的紧凑规模,STEP3-VL-10B 在视觉感知、复杂推理和人机对齐方面表现卓越。它不仅持续超越 100 亿参数以下的模型,还能媲美甚至超越规模大得多(10 至 20 倍于其体量)的开源模型,如 GLM-4.6V(106B-A12B)、Qwen3-VL-Thinking(235B-A22B),以及顶尖的专有旗舰模型如 Gemini 2.5 Pro 和 Seed-1.5-VL。

性能对比

图 1:STEP3-VL-10B 与主流多模态基础模型的性能对比。SeRe:序列推理;PaCoRe:并行协同推理。

STEP3-VL-10B 的成功源于两项关键战略设计:

  1. 高质量多模态语料的统一预训练:在包含 1.2T 令牌的多模态语料上采用单阶段全解冻训练策略,重点培养两大核心能力:推理(如通用知识和教育相关任务)与感知(如视觉定位、计数、OCR 和 GUI 交互)。通过联合优化感知编码器与 Qwen3-8B 解码器,STEP3-VL-10B 构建了内在的视觉-语言协同机制。
  2. 规模化多模态强化学习与并行推理:通过严格的两阶段有监督微调(SFT)和超过 1400 轮强化学习(结合可验证奖励 RLVR 与人类反馈 RLHF),解锁了前沿能力。除序列推理外,我们创新性地采用并行协同推理(PaCoRe),通过分配测试时计算资源,从并行视觉探索中聚合证据。

📥 模型库

模型名称类型Hugging FaceModelScope
STEP3-VL-10B-Base基础模型🤗 下载🤖 下载
STEP3-VL-10B对话模型🤗 下载🤖 下载
STEP3-VL-10B-FP8量化模型🤗 下载🤖 下载

📊 性能表现

STEP3-VL-10B 在主流多模态基准测试中展现了卓越性能,为紧凑型模型树立了新的性能标准。结果表明,STEP3-VL-10B 是100亿参数级别中最强大的开源模型。

与更大模型(10×–20× 规模)的对比

基准测试STEP3-VL-10B (SeRe)STEP3-VL-10B (PaCoRe)GLM-4.6V (106B-A12B)Qwen3-VL (235B-A22B)Gemini-2.5-ProSeed-1.5-VL
MMMU78.1180.1175.2078.7083.8979.11
MathVista83.9785.5083.5185.1083.8885.60
MathVision70.8175.9563.5072.1073.3068.70
MMBench (EN)92.0592.3892.7592.7093.1992.11
MMStar77.4877.6475.3076.8079.1877.91
OCRBench86.7589.0086.2087.3085.9085.20
AIME 202587.6694.4371.8883.5983.9664.06
HMMT 202578.1892.1457.2967.7165.6851.30
LiveCodeBench75.7776.4348.7169.4572.0157.10

推理模式说明:

SeRe(顺序推理): 标准推理模式,采用顺序生成(思维链),最大长度为 64K tokens。

PaCoRe(并行协同推理): 一种高级模式,可扩展测试时计算能力。它通过16 个并行推理路径聚合证据以综合最终答案,最大上下文长度为 128K tokens。

除非另有说明,以下分数均指标准 SeRe 模式。通过 PaCoRe 获得的更高分数会明确标注。

与开源模型(7B–10B)的对比

类别基准测试STEP3-VL-10BGLM-4.6V-Flash (9B)Qwen3-VL-Thinking (8B)InternVL-3.5 (8B)MiMo-VL-RL-2508 (7B)
STEM 推理MMMU78.1171.1773.5371.6971.14
MathVision70.8154.0559.6052.0559.65
MathVista83.9782.8578.5076.7879.86
PhyX59.4552.2857.6750.5156.00
识别MMBench (EN)92.0591.0490.5588.2089.91
MMStar77.4874.2673.5869.8372.93
ReMI67.2960.7557.1752.6563.13
OCR 与文档OCRBench86.7585.9782.8583.7085.40
AI2D89.3588.9383.3282.3484.96
GUI 定位ScreenSpot-V292.6192.1493.6084.0290.82
ScreenSpot-Pro51.5545.6846.6015.3934.84
OSWorld-G59.0254.7156.7031.9150.54
空间感知BLINK66.7964.9062.7855.4062.57
All-Angles-Bench57.2153.2445.8845.2951.62
代码HumanEval-V66.0529.2626.9424.3131.96

核心能力

  • STEM 推理:在 AIME 2025 中取得 94.43% 的成绩,在 MathVision(结合 PaCoRe)中取得 75.95% 的成绩,展现出卓越的复杂推理能力,性能超越规模大 10 至 20 倍的模型。
  • 视觉感知:在 MMBench 上达到 92.05%,在 MMMU 上达到 80.11%,具备强大的通用视觉理解和多模态推理能力。
  • GUI 与 OCR:在 ScreenSpot-V2(92.61%)、ScreenSpot-Pro(51.55%)和 OCRBench(86.75%)上实现了最先进的性能,针对智能体任务和文档理解任务进行了优化。
  • 空间理解:在 BLINK 上达到 66.79%,在 All-Angles-Bench 上达到 57.21%,展现出新兴的空间感知能力,为具身智能应用奠定了坚实潜力。

🏗️ 架构与训练

架构

  • 视觉编码器:PE-lang(语言优化感知编码器),18 亿参数。
  • 解码器:Qwen3-8B。
  • 投影器:两个连续的 stride-2 层(实现 16 倍空间下采样)。
  • 分辨率:多裁剪策略,包括 728×728 的全局视图和多个 504×504 的局部裁剪。

训练流程

  • 预训练:单阶段全量微调策略,使用 AdamW 优化器(总计:1.2T tokens,37 万次迭代)。
    • 阶段 1:9000 亿 tokens。
    • 阶段 2:3000 亿 tokens。
  • 监督微调(SFT):两阶段方法(总计:约 2260 亿 tokens)。
    • 阶段 1:文本与多模态比例为 9:1(约 1900 亿 tokens)。
    • 阶段 2:文本与多模态比例为 1:1(约 360 亿 tokens)。
  • 强化学习:总计 >1400 次迭代。
    • RLVR:600 次迭代(任务:数学、几何、物理、感知、定位)。
    • RLHF:300 次迭代(任务:开放式生成)。
    • PaCoRe 训练:500 次迭代(上下文长度:最大序列 64K)。

🛠️ 快速开始

部署资源规格

  • 模型权重:20 GB
  • 运行时开销:约 4 GB
  • 最低显存要求:24 GB(例如,RTX 4090 或 A100)

使用 Hugging Face Transformers 进行推理

本文介绍如何使用 transformers 库在推理阶段使用我们的模型。建议将 python=3.10、torch>=2.1.0 和 transformers=4.57.0 作为开发环境。目前我们仅支持 bf16 推理,并且默认支持用于图像预处理的多 patch 方式。此行为与 vllm 保持一致。

注意: 如果遇到生成过程无限循环的问题,请查看 Discussion #9 获取解决方案。

from transformers import AutoProcessor, AutoModelForCausalLM


key_mapping = {
    "^vision_model": "model.vision_model",
    r"^model(?!\.(language_model|vision_model))": "model.language_model",
    "vit_large_projector": "model.vit_large_projector",
}

model_path = "stepfun-ai/Step3-VL-10B"

processor = AutoProcessor.from_pretrained(model_path, trust_remote_code=True)

messages = [
    {
        "role": "user",
        "content": [
            {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/bee.jpg"},
            {"type": "text", "text": "What's in this picture?"}
        ]
    },
]

model = AutoModelForCausalLM.from_pretrained(
    model_path,
    trust_remote_code=True,
    device_map="auto",
    torch_dtype="auto",
    key_mapping=key_mapping).eval()


inputs = processor.apply_chat_template(
    messages, add_generation_prompt=True, tokenize=True,
    return_dict=True, return_tensors="pt"
).to(model.device)


generate_ids = model.generate(**inputs, max_new_tokens=1024, do_sample=False)
decoded = processor.decode(generate_ids[0, inputs["input_ids"].shape[-1] :], skip_special_tokens=True)

print(decoded)

🚀 使用 vLLM 部署(兼容 OpenAI API)

如需部署,您可以使用 vLLM 创建一个兼容 OpenAI 的 API 端点。

  1. 安装 vLLM nightly 版本(选择一种方式):

    • Python / pip

      pip install vllm --pre --extra-index-url https://wheels.vllm.ai/nightly

      要求 Python ≥3.10。请确保 vLLM 版本 ≥ 0.14.0rc2.dev143+gc0a350ca7。

    • Docker(nightly 镜像)

      docker pull vllm/vllm-openai:nightly-963dc0b865a3b6011fde7e0d938f86245dccbfac

      上述标签固定了我们已验证的 nightly 构建版本;如有需要,可更新至最新的 nightly 标签。

  2. 启动服务器:

    vllm serve --model stepfun-ai/Step3-VL-10B -tp 1 --reasoning-parser deepseek_r1 --enable-auto-tool-choice --tool-call-parser hermes --trust-remote-code

    关键步骤: 您必须在部署命令中添加 --trust-remote-code 标志。对于那些在架构中使用自定义代码的模型,这是必需的。

  3. 使用任何兼容 OpenAI 的 SDK 调用端点(Python 示例):

    from openai import OpenAI
    
    client = OpenAI(base_url="http://localhost:8000/v1", api_key="dummy")
    
    resp = client.chat.completions.create(
        model="stepfun-ai/Step3-VL-10B",
        messages=[{
            "role":
            "user",
            "content": [{
                "type": "image_url",
                "image_url": {
                    "url":
                    "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/bee.jpg"
                }
            }, {
                "type": "text",
                "text": "what's in this picture?"
            }]
        }])
    
    print(resp.choices[0].message.content)
    
    

🚀 使用 SGLang 部署(兼容 OpenAI API)

  1. 安装最新的 SGLang main 版本(选择一种方式):
  • Python / pip

    pip install "sglang @ git+https://github.com/sgl-project/sglang.git#subdirectory=python"
    pip install nvidia-cudnn-cu12==9.16.0.29
    • Docker
       docker run --gpus all \
       --shm-size 32g \
       -p 30000:30000 \
       -v ~/.cache/huggingface:/root/.cache/huggingface \
       --ipc=host \
       lmsysorg/sglang:latest \
       python3 -m sglang.launch_server --model-path stepfun-ai/Step3-VL-10B --host 0.0.0.0 --port 30000
  1. 启动服务器:

    sglang serve --model-path stepfun-ai/Step3-VL-10B --trust-remote-code --port 2345 --reasoning-parser deepseek-r1 --tool-call-parser hermes
  2. 使用任何兼容 OpenAI 的 SDK 调用端点(Python 示例):

    from openai import OpenAI
    
    port = 30000
    
    client = OpenAI(base_url=f"http://localhost:{port}/v1", api_key="None")
    
    response = client.chat.completions.create(
        model="stepfun-ai/Step3-VL-10B",
        messages=[
            {
                "role": "user",
                "content": [
                    {
                        "type": "text",
                        "text": "What is in this image?",
                    },
                    {
                        "type": "image_url",
                        "image_url": {
                            "url": "https://github.com/sgl-project/sglang/blob/main/examples/assets/example_image.png?raw=true"
                        },
                    },
                ],
            }
        ],
    )
    
    print(response.choices[0].message.content)

📜 引用

如果您发现本项目对您的研究有所帮助,请引用我们的技术报告:

@misc{huang2026step3vl10btechnicalreport,
      title={STEP3-VL-10B Technical Report},
      author={Ailin Huang and Chengyuan Yao and Chunrui Han and Fanqi Wan and Hangyu Guo and Haoran Lv and Hongyu Zhou and Jia Wang and Jian Zhou and Jianjian Sun and Jingcheng Hu and Kangheng Lin and Liang Zhao and Mitt Huang and Song Yuan and Wenwen Qu and Xiangfeng Wang and Yanlin Lai and Yingxiu Zhao and Yinmin Zhang and Yukang Shi and Yuyang Chen and Zejia Weng and Ziyang Meng and Ang Li and Aobo Kong and Bo Dong and Changyi Wan and David Wang and Di Qi and Dingming Li and En Yu and Guopeng Li and Haiquan Yin and Han Zhou and Hanshan Zhang and Haolong Yan and Hebin Zhou and Hongbo Peng and Jiaran Zhang and Jiashu Lv and Jiayi Fu and Jie Cheng and Jie Zhou and Jisheng Yin and Jingjing Xie and Jingwei Wu and Jun Zhang and Junfeng Liu and Kaijun Tan and Kaiwen Yan and Liangyu Chen and Lina Chen and Mingliang Li and Qian Zhao and Quan Sun and Shaoliang Pang and Shengjie Fan and Shijie Shang and Siyuan Zhang and Tianhao You and Wei Ji and Wuxun Xie and Xiaobo Yang and Xiaojie Hou and Xiaoran Jiao and Xiaoxiao Ren and Xiangwen Kong and Xin Huang and Xin Wu and Xing Chen and Xinran Wang and Xuelin Zhang and Yana Wei and Yang Li and Yanming Xu and Yeqing Shen and Yuang Peng and Yue Peng and Yu Zhou and Yusheng Li and Yuxiang Yang and Yuyang Zhang and Zhe Xie and Zhewei Huang and Zhenyi Lu and Zhimin Fan and Zihui Cheng and Daxin Jiang and Qi Han and Xiangyu Zhang and Yibo Zhu and Zheng Ge},
      year={2026},
      eprint={2601.09668},
      archivePrefix={arXiv},
      primaryClass={cs.CV},
      url={https://arxiv.org/abs/2601.09668},
}

📄 许可证

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