工程 / 官方
transformers 已成为 vLLM 的推理后端,速度比肩定制实现
Hugging Face 宣布 transformers 库在 vLLM 中的建模后端迎来重大更新:在 Qwen3 系列、4B 稠密、32B 稠密、235B MoE 等多类架构上,transformers 后端的速度已与 vLLM 手工编写的原生实现持平甚至超越。模型作者不再需要为 vLLM 单独移植模型,只需在启动服务时加上 --model-impl transformers 参数,vLLM 即可在运行时通过 torch.fx 对模型图进行静态分析,再借助 AST 重写源代码,把可识别的模式映射到高度优化的 vLLM 算子上。这意味着同一套模型代码既能用于训练,也能以原生速度推理。
Hugging Face 宣布,transformers 在 vLLM 中的建模后端完成关键升级:在 Qwen3-4B 稠密、Qwen3-32B 稠密以及 Qwen3-235B-A22B-FP8 MoE 三类典型架构的对比测试中,transformers 后端在吞吐上已追平甚至反超 vLLM 的手工原生实现。模型作者只需提供 transformers 实现,就能在 vLLM 内获得原生级推理速度。
使用方式非常简单,只需在 vllm serve 命令里加上 --model-impl transformers 即可。该参数与张量并行、数据并行、专家并行等组合方式完全兼容,原有部署配置无需调整。需要注意的是,采用线性注意力的模型暂不支持,自定义非合规模型也可能无法直接工作。
新版本的工作机制发生根本变化。旧版只优化注意力路径,新版在推理时通过 torch.fx 对模型图做静态分析,再用 AST 重写源码,将可识别的算子模式映射到 vLLM 的 MergedColumnParallelLinear、QKVParallelLinear 等高度融合算子,从而支撑张量并行、专家并行乃至流水线并行。重写后的模型仍可走 torch.compile 与 CUDA Graphs 编译路径。
相比 vLLM 的定制实现,transformers 实现的另一大优势是训练与推理同源:同一份模型代码既能用于训练、评估、RL rollout,也能以原生速度推理,不再存在以往集成一次要写两套的痛点。这意味着模型作者不再被迫为推理额外维护一套代码。
整个基准测试脚本以 gist 形式开源,团队表示近期将撰写一篇更深入的技术博客,详细解释如何对模型图进行改写以命中 vLLM 的优化算子。
要点
- transformers 在 vLLM 中的建模后端,在多类 LLM 架构上吞吐已持平甚至超过 vLLM 原生实现。
- 只需在 vllm serve 时添加 --model-impl transformers 参数,即可让任意已实现 transformers 的模型在 vLLM 中以原生速度推理。
- 新版使用 torch.fx 做图分析,再用 AST 重写源码,把可识别模式映射到 vLLM 的融合算子(TP/EP/PP)。
- transformers 模型既可训练,也可推理,省去为不同框架重复移植模型的维护成本。
原始标题:Native-speed vLLM transformers modeling backend
本文由 DataHub 基于公开来源整理,用于信息发现与摘要阅读;具体事实、数据和后续更新以原始来源为准。