vLLM引入硬件无关层:在前沿性能与生态兼容之间寻找平衡
导语
vLLM长期扮演着模型与硬件之间的抽象层:模型定义可以复用注意力、线性层、归一化和激活等通用组件,再借助 torch.compile 完成图捕获、算子融合与后端降级。这种设计让同一套服务框架能够覆盖NVIDIA、AMD、Intel等多类加速器,也方便外部硬件插件接入。
但前沿模型的演进正在改变这个前提。模型开始携带专用层、定制内核和不同寻常的注意力实现;同时,Blackwell及更大规模的系统要求针对特定硬件重新安排计算、通信和融合策略。为了追求最新基准上的最佳表现,vLLM正在维护不依赖完整图编译的“扁平模型”,这会与旧有的共享层和扩展机制产生冲突。
核心要点
- 统一抽象面临压力。 过去三类模型入口——新式模型、传统模型和Transformers后端——大多最终使用同一套公共层。新模型若要进入完整图编译流程,还必须满足Dynamo跟踪、Torch库注册和变更标注等要求,增加了适配成本。
- 扁平模型换取前沿性能。 针对具体模型和硬件编写融合及专用优化,可以减少跨平台兼容的约束,也更适合利用自动化编程工具快速探索优化。不过,这类实现可能不再兼容完整图编译,也会削弱既有的
CustomOp扩展路径。 - 外部加速器存在现实需求。 IBM Spyre等插件依赖TorchDynamo和TorchInductor,并需要通过自定义内存布局或层替换来获得性能。如果公共层不再保持可编译、可插拔,插件维护者可能不得不重复维护模型和层实现。
- 硬件无关层成为缓冲方案。 vLLM正在仓库内建设新的硬件无关层,让旧款GPU、消费级硬件和树外加速器继续拥有一条可移植路径,同时让前沿模型使用更激进的硬件专用实现。文章披露,在H100上,该层方案在三个近期模型的几何平均测试中,整体token吞吐量距离原生实现不超过3.4%。
意义与影响
这不是简单地用一种实现取代另一种实现,而是把“极致性能”和“广泛可用性”拆成两条路径。对模型开发者而言,扁平模型降低了为统一抽象妥协的负担;对硬件厂商和用户而言,硬件无关层则避免新模型支持被锁定在少数主流GPU上。
代价同样明确:vLLM的模型体系可能变得更加分层,开发者需要理解不同路径的能力边界,社区也要承担两套实现之间的维护成本。若硬件无关层能维持接近原生实现的性能,并持续覆盖Transformers后端和外部插件,它或许能成为vLLM在快速创新与长期生态之间的关键连接点。
来源:PyTorch Blog
评论
正在确认登录状态……
正在加载评论……