Transformers后端加持vLLM实现原生推理速度,开源推理再获突破

0 阅读4分钟开源
Transformers后端加持vLLM实现原生推理速度,开源推理再获突破

背景

近年来,开源大模型生态围绕 TransformersvLLM 两大核心库展开。Transformers 以统一 API 支持 450+ 架构,已成为模型实现的事实标准;vLLM 则提供连续批处理、专属注意力核等高效推理技术。去年,两者首次实现后端对接,使模型无需迁移即可在 vLLM 中运行。此次更新在此基础上进一步提升性能。

关键更新

  • 自动化图分析:利用 torch.fx 对模型计算图进行静态分析,识别可优化的模式。
  • AST 重写:通过抽象语法树将关键算子替换为 vLLM 专属融合核。
  • 运行时层融合:自动将多算子合并为单一 vLLM 高度优化的 kernel,包括 MoE 的 Expert Parallel、MergedColumnParallelLinear、QKVParallelLinear 等。
  • 保持可编译性:改写后的模型仍可通过 torch.compile 与 CUDA Graphs 编译,无需额外手工代码。

性能对比

在同一 8×H100 节点上,对三类 Qwen3 模型进行对标测试:

  1. Qwen3‑4B(单卡密集)
  2. Qwen3‑32B(2 卡 Tensor‑Parallel)
  3. Qwen3‑235B‑FP8 MoE(8 卡 Data+Expert Parallel)
模型原生 vLLM (hand‑written)Transformers 后端结果
4B1200 token/s1215 token/s超越 1%
32B850 token/s860 token/s持平
235B210 token/s215 token/s超越 2%

所有测试均在相同 batch size、max‑model‑len 8192 条件下进行,除注意力瓶颈外的其它维度均保持一致。

工作原理简述

  1. 模型加载:使用 --model-impl transformers 标记,vLLM 调用 Transformers 的模型定义。
  2. 图拆解torch.fx 生成 IR(中间表示),搜索预定义的可融合模式。
  3. 代码改写:AST 将匹配的算子替换为 vLLM 实现的 fused kernel。
  4. 编译执行:改写后的模型经过 torch.compile,在 CUDA Graph 中运行,实现低延迟高吞吐。

此流程对用户透明,仅需在启动命令中添加 --model-impl transformers 即可,无需手动改写代码或重新训练。

影响与展望

  • 降低门槛:模型作者只需在 Transformers 中提交一次实现,即可在 vLLM 中获得原生速度,极大降低了社区贡献成本。
  • 统一训练‑推理链路:同一套代码既可用于训练、评估,也可直接用于高效推理,促进研发闭环。
  • 生态加速:随着更多模型(包括 Vision‑Language、长上下文)加入兼容列表,开源推理服务将进一步压缩商业闭源方案的性能差距。

团队已在博客中准备更深层次的技术解读,预计将在下月发布完整实现细节。

“开源的力量在于让每一次性能突破都能瞬间惠及全体开发者。” — Hugging Face 团队

本文是对第三方新闻源的主观解读。消息可能出现过时、不准确、歧义或错误的地方,仅供参考使用。点击此处查看消息源。