AREX Feed Article
vLLM 官宣 Day-0 支持 Inkling-2-Small:单节点跑 594B MoE,官方称 TP4 单用户最高 630 tok/s
北京时间 11 月 13 日凌晨(UTC 时间 11 月 12 日晚间),开源推理引擎 vLLM 的官方账号 @vllm_project 连发两帖(、),宣布对 Thinking Machines Lab(TML)的 Inkling-2-Small 提供 Day-0 支持,并同步发布与。所谓 Day-0 有实指:就在同一天,TML 在发布页的更新中说明模型权重已在 HuggingFace 开放下载(),vLLM 的支持当天到位。
官方给出的核心数字:TP4 张量并行下单用户解码最高约 630 tok/s、接受长度 3.5;这个 594B 总参数、17B 激活的 MoE(混合专家)模型,官方称靠 NVFP4/MXFP8 专家权重即可装进单台 GB200/GB300 节点,并自带原生 DSpark 投机解码器。vLLM 同时列出一串内核级优化——8K prefill 缩短 22%~26%,100K 上下文的单步解码从 15.1 ms 降到 4.8 ms——这些数字全部出自 vLLM 自己的基准。
48 层 MoE:前 40 层专家 NVFP4,后 8 层 MXFP8
Inkling-2-Small 由 TML 于 11 月 5 日发布,当时先通过 Tinker 平台提供 API 接入与 playground 试用;写明它是一个 48 层 decoder-only transformer,稀疏 MoE 前馈骨干,每个 token 路由到 384 个专家中的 8 个,接受文本与图像输入、输出文本,上下文窗口最高 1M token。vLLM 两帖对参数量的表述不同:写 594B 总参/17B 激活,概括为「500B MoE」;TML 模型卡与 vLLM 博客均为 594B/17B。
以两种 checkpoint 格式分发权重:主 NVFP4 checkpoint 需要至少 500 GB 聚合显存(TML 示例配置:2× B300 或 4× H200),MXFP8 checkpoint 需要至少 800 GB(4× B300 或 8× H200)。TML 称模型从预训练、中期训练到后训练都以 NVFP4 原生完成、推荐选 NVFP4,MXFP8 在评测中只比 NVFP4 高 1~2 个百分点。vLLM 博客进一步描述了专家权重的分层:前 40 层专家用 NVFP4、最后 8 层用 MXFP8;NVFP4 激活采用逐 token 全局缩放加双候选块缩放(block scale)的 Four Over Six 方案——每个 16 元素块分别试把最大值缩放到 6 和 4,保留重建误差(MAE)更低的一档。
架构沿袭 Inkling 主干——5:1 的滑动窗口/全注意力混比、无旋转位置编码(RoPE)的 relative-bias GQA(分组查询注意力)、每层 4 个短卷积——再叠加几项升级:block attention residuals 用 8 个 6 层 block 取代残差流,每个子层前由可学习 query 混合此前 block 的输出;每个注意力头的输出加 sigmoid 门控,并带 per-token attention sink;图像编码器从 4 层 hMLP 换成宽 1,024 的 23 层 ViT(视觉 Transformer,20×20 patch)。与 Inkling 相比,滑动窗口从 512 加大到 1,024,专家从 256 取 top-6 加 2 个共享专家改为 384 取 top-8、无共享专家且所有层均为 MoE,query/KV 头统一为 48/8。部署配方页还注明:这一代不支持音频输入,而 Inkling 支持。
原生 DSpark 草稿模型:RNN 头每步草拟 7 个 token
Inkling-2-Small 的 checkpoint 内置 DSpark 投机解码器,取代 Inkling 的 8 个链式 MTP(多 token 预测)头。按 vLLM 博客,这个草稿模型共 5 层,每步草拟 7 个 token,头部是 DeepSeek 的 中描述的 RNN 变体。开启 probabilistic drafting 后,官方称温度 1.0 下接受长度约 3.5;TP8 agentic(智能体式多轮)基准的四个上下文档位中,接受长度落在 3.3~3.5。启动参数与此对应:num_speculative_tokens=7、draft_sample_method=probabilistic。
五个访存操作融成一个 NVLink 内核
vLLM 博客把集成优化分成四块。其一是层间边界的融合:block attention residuals 让每个子层边界要对同一组隐藏状态做 5 个访存受限操作——all-reduce、短卷积、残差更新、attention-residual mix 和 RMSNorm——vLLM 把它们融成单个 allreduce_conv_mix 内核,all-reduce 走 NVLink 多播、其余运算留在寄存器里;GEMM、注意力、路由与激活内核改用 PDL(programmatic dependent launch,程序化依赖启动)启动,让后一个内核的序言叠进前一个的尾部;博客称这在小批量场景下尤其重要,因为此时一个 decode 步就是一长串短内核。
其二,MoE 的激活量化就地融进产出它的内核:路由内核在 gate/up 投影前量化 token,softcapped SwiGLU 在 down 投影前量化输出,不再有单独的量化 pass;专家 GEMM 跑在 FlashInfer 附带的 TensorRT-LLM batched-GEMM 内核上。其三,sequence parallelism(序列并行)消除 prefill(预填充)冗余:普通张量并行下每张卡都在 all-reduce 后对全部 token 重复跑短卷积、mix 与 RMSNorm,改为 reduce-scatter 后各卡只在自家 token 切片上跑一个融合 conv_mix 内核再 all-gather,官方称 8K prefill 一步在 TP4 缩短 22%、TP8 缩短 26%,并给每张卡的 KV cache(键值缓存)腾出 1.3~1.9 GiB。其四,重写 decode 注意力内核:Inkling 的 FlashAttention-4 decode 路径在 6:1 的 GQA 比例下会静默禁用 GQA packing,vLLM 为此写了一个 warp-specialized 的 Gluon 内核,把 6 个 head 打包进一个 64 行 tile、KV 只读一次,官方称 batch-1、100K 上下文时单步解码从 15.1 ms 降到 4.8 ms;prefill 仍走 Inkling 的 sheared-bias FlashAttention-4 路径。
TP8 多用户吞吐:agentic 基准的四个上下文档位
多用户数字来自一次 agentic 多轮基准:两个 4-GPU 节点组成 TP8,开启 DSpark(probabilistic drafting)与 prefix caching(前缀缓存);每个会话保持长上下文,每轮追加上一轮回答和约 2K token 的工具输出、再生成 1,024 token(开启 reasoning 推理模式、温度 1.0)。在每用户 100 tok/s 的并发点,每 GPU 的输出吞吐如下:
| 会话上下文 | 每 GPU 输出吞吐 | 并发会话 | 前缀缓存命中率 | 接受长度 |
|---|---|---|---|---|
| 32K | ~1,070 tok/s | ~84 | 91% | 3.3 |
| 64K | ~915 tok/s | ~72 | 95% | 3.4 |
| 128K | ~700 tok/s | ~55 | 98% | 3.5 |
| 256K | ~450 tok/s | ~37 | 99% | 3.5 |
以上数字均为 vLLM 官方口径的自测结果,所用硬件(GB200)与负载设置均出自其博客说明。
准确性核对与 LoRA、RL 的边界
vLLM 称集成保留了参考实现的数值路径:每步数据类型相同、注意力输出与 router 保持 FP32、激活量化与原 checkpoint 一致,只差归约顺序和 all-reduce 的 BF16 部分和。准确性用 TML 开源的 (验证 Inkling 实现准确性的评测脚本库,Apache-2.0)核对,官方称在开启 DSpark 的条件下跑了 NIAH(至 1M token)、MMMU-Pro 与 HLE 三项,分数与不开投机解码的运行一致。
训练闭环方面,vLLM 支持 LoRA 与 RL:博客写明 RL 经 SkyRL 接入,HuggingFace 模型卡也把 SkyRL 列为 post-training 方案之一。但部署配方页给 LoRA 划了边界:适配器可挂在注意力投影和路由专家上,而专家适配器需要 BF16 专家权重——在这个 NVFP4/MXFP8 的 checkpoint 上只能用 attention-only 适配器。
权重开放首日即获支持,但还没进 vLLM 正式发布版
分工上,称 @inferact 主导 vLLM 侧的集成与优化、与 TML 协作模型代码与 checkpoint,工作覆盖 MoE 与注意力内核、视觉编码器与图像预处理,以及投机解码的 draft-model GEMM;博客致谢部分写明这项工作由 TML 的 Aurick Qiao 与 Inferact 的 Woosuk Kwon 牵头,帖文末尾向 TML、Inferact 与 vLLM 三个团队致谢「将模型带入开放推理栈」。HuggingFace 模型卡列出的本地推理方案也不止 vLLM 一家——SGLang、TokenSpeed、Unsloth 均在列,post-training 还有 Miles 与 Snowflake Cortex Training,API 侧则接入 NVIDIA、Fireworks、Together、Baseten、Nebius、Modal、Cloudflare 等供应商。
已验证的部署配置落在 GB200 上:部署配方页称单 tray(4 卡托盘)TP4 可跑到 262,144 token 上下文,双 tray TP8 才能跑满 1,048,576 token;该模型的 MoE 专家并行复用张量并行组,TP4 即 4 路注意力并行加 4 路专家并行(EP4)。官方博客给出的启动命令为:
vllm serve thinkingmachines/Inkling-2-Small \ --tensor-parallel-size 8 \ --reasoning-parser inkling --tool-call-parser inkling --enable-auto-tool-choice \ --speculative-config '{"method":"dspark","num_speculative_tokens":7,"draft_sample_method":"probabilistic"}'不过,这一支持尚未进入 vLLM 正式发布版:部署配方页要求在支持合入发布版之前,先使用 vllm/vllm-openai:inkling-2-small 镜像运行。