标题:零迁移成本:transformers模型在vLLM中实现原生级推理性能
摘要:Hugging Face宣布transformers vLLM后端性能追平甚至超越手写原生实现,模型作者无需修改代码即可享受灵活并行与动态融合优化,极大降低部署门槛,但线性注意力模型暂不支持。
Hugging Face 宣布其 transformers vLLM 后端已实现与手写原生 vLLM 相同的推理吞吐量,甚至在某些场景下更快。这意味着,模型作者无需将transformers代码移植为专门的vLLM实现,仅需在启动命令中添加 --model-impl transformers 标志,即可自动获得高性能推理——这一改动彻底抹平了长期困扰社区的模型集成痛点。
测试基于 Qwen3 系列模型覆盖三种典型部署场景:单 GPU 上的 4B 模型、张量并行的 32B 模型,以及采用数据+专家并行(DP+EP)的 235B-A22B-FP8 MoE 模型。三组测试结果均显示,transformers 后端的吞吐量达到甚至超过手写原生实现的水平。对于 MoE 模型,动态专家路由导致的负载不均问题未被感知,吞吐指标与原生实现持平。
技术层面,该后端并非简单调用 transformers 的 forward 逻辑,而是通过 torch.fx 对计算图进行静态分析,利用 AST(抽象语法树)重写实现动态层融合。这种“黑魔法”能够在保持模型定义灵活性的同时,自动识别并合并相邻线性层、注意力算子,形成更高效的执行计划。后端原生支持张量、管道、专家并行,并可调用 torch.compile 进一步编译加速。
传统上,模型作者若要获得 vLLM 的低时延和高吞吐,要么手动将 transformers 模型改写为 vLLM 兼容格式(如适配 PagedAttention),要么依赖导出的 ONNX/TRT 引擎,后者牺牲了动态性和易调试性。现在,transformers 原生代码成为一等公民,vLLM 生态的接入成本降至零。这一设计对于频繁迭代模型的团队尤其重要:任何架构修改(如新增 attention 变体、自定义激活函数)都能立即在 vLLM 上生效,无需等待第三方实现。
需注意,当前后端尚不支持线性注意力模型(如 Mamba2 等),官方表示即将提供支持。对于大多数使用标准 Transformer 架构的模型——包括 Llama、Qwen、ChatGLM 等——这一更新已在 vLLM 0.8.1 中可用。建议模型作者升级 transformers 至最新版本并测试该后端,重点验证自定义算子与 torch.fx 的兼容性。随着团队持续优化图分析引擎,未来有望进一步覆盖更多 MoE 配置和长上下文场景。
从发展趋势看,此功能将加速 vLLM 从“模型专用推理系统”向“模型无关推理框架”的演化。模型作者可以更专注于架构创新,而非性能工程适配;部署团队则能统一使用 transformers 接口管理所有模型,降低运维复杂度。生态层面的意义远大于一篇博客所展示的。