资讯动态

昇腾NPU推理的“开源之光”:vLLM-Ascend的架构设计与生态全景剖析

发布时间:2026/8/27 10:49:59 来源:尧图企业网站定制
昇腾NPU推理的“开源之光”vLLM-Ascend的架构设计与生态全景剖析——深度剖析vLLM-Ascend的硬件可插拔设计、ACL图引擎与从“社区实验”到“昇腾推理默认选项”的生态跃迁一句话概括vLLM-Ascend不是昇腾NPU推理的“实验性适配”而是一套遵循vLLM社区硬件可插拔RFC设计、以ACL图引擎为运行时基座、以开源生态为活力源泉的社区维护后端插件——让vLLM在NVIDIA GPU上的高效推理能力无缝迁移至昇腾NPU并在短短18个月内从社区实验成长为昇腾AI推理生态中不可忽视的开源力量。2025年2月vLLM社区正式创建了vllm-project/vllm-ascend仓库。彼时大模型国产化适配刚刚起步昇腾NPU上的推理主要依赖华为官方的MindIE引擎而开源社区的支持几乎是空白。vLLM-Ascend的诞生源于一个朴素的工程目标让vLLM在NVIDIA GPU上已被验证的高效推理能力能够无缝运行在昇腾NPU上。“无缝”二字说起来简单但实现起来挑战巨大。vLLM的核心优化——PagedAttention、Continuous Batching、前缀缓存——都是为NVIDIA CUDA生态深度定制的。将它们移植到昇腾的CANN软件栈和NPU硬件架构上绝不亚于“重写一套推理引擎”。然而vLLM-Ascend做到了。18个月后vLLM-Ascend已迭代至v0.23.0版本与上游vLLM保持同步。它已成为昇腾社区中运行vLLM推荐的后端方案支持Transformer类、MoE、嵌入模型和多模态LLM等多种模型被LLaMA-Factory、verl、TRL、GPUStack等开源项目广泛集成。本文将从设计哲学、架构原理、性能表现、生态与使用、以及选型建议五个维度深度剖析vLLM-Ascend的技术全貌——它不是一个“移植版”而是一次让开源推理引擎适配国产硬件的工程范式实践。一、设计哲学社区驱动的硬件可插拔1.1 背景当vLLM遇上昇腾vLLM是GPU平台上最受欢迎的大模型推理框架之一凭借高效的Continuous Batching和PagedAttention功能而备受青睐。然而在昇腾NPU上运行大模型推理长期以来都是国内开发者面临的一项挑战。华为官方虽然提供了性能表现良好的MindIE推理引擎但其使用门槛较高环境配置复杂限制了非官方团队在实际项目中的部署效率。与此同时开源社区迫切需要一种更轻量、更开放、更易用的昇腾推理方案。vLLM-Ascend正是在这一背景下诞生的。1.2 核心设计硬件可插拔Hardware PluggablevLLM-Ascend严格遵循vLLM社区提出的RFC: Hardware pluggable设计原则。这一设计的核心思想是将硬件后端与推理逻辑解耦。vLLM的上层调度、批处理、内存管理等核心逻辑保持不变而硬件相关的算子执行、内存分配、设备管理等细节通过标准化的插件接口注入。具体来说vLLM-Ascend提供了一套硬件插件接口将昇腾NPU与vLLM的集成进行了解耦┌─────────────────────────────────────────────────────────────┐ │ vLLM 核心推理逻辑 │ │ Scheduler · Memory Manager · KV Cache · Continuous Batch │ └─────────────────────────────────────────────────────────────┘ ↓ 标准化插件接口 ┌─────────────────────────────────────────────────────────────┐ │ vLLM-Ascend 硬件插件 │ │ ACL图引擎 · AscendWorker · 注意力算子 · 内存管理适配 │ └─────────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────────┐ │ 昇腾CANN软件栈 │ │ CANN Runtime · Atlas 硬件驱动 │ └─────────────────────────────────────────────────────────────┘这种设计的优势在于兼容性与vLLM上游版本保持同步每次vLLM发布新版本vLLM-Ascend可以快速跟进可维护性硬件相关的逻辑被隔离在插件层降低维护成本生态一致性使用vLLM-Ascend的开发者可以沿用vLLM的API和使用习惯设计模式解读这里体现的是**适配器模式Adapter Pattern与策略模式Strategy Pattern**的结合——vLLM-Ascend作为适配器将昇腾NPU的CANN接口适配为vLLM期望的硬件抽象接口同时不同的硬件后端NVIDIA GPU、昇腾NPU、AMD GPU等作为可替换的策略通过统一的插件接口接入vLLM核心。二、架构实现从ACL图到注意力算子2.1 运行时引擎ACL图ACL GraphvLLM-Ascend最核心的运行时机制是ACL图ACL Graph。ACL图是vLLM静态图执行在昇腾上的实现。vLLM提供了通用的调度路径而vLLM-Ascend则提供了ACL图重放所需的平台包装器、捕获尺寸修剪以及特定于注意力的更新逻辑。工作原理ACL图通过torch.npu.NPUGraph机制将模型的计算图捕获并固化在后续推理中直接重放。这消除了每次推理时的图编译开销大幅降低了CPU与NPU之间的交互延迟。vLLM-Ascend支持两种ACL图执行模式FULL模式完整图捕获适用于固定形状的推理FULL_DECODE_ONLY模式仅解码阶段的图捕获适用于自回归生成场景此外vLLM-Ascend还支持Npugraph_ex——一个编译时期的FX计算图优化层在FULL/FULL_DECODE_ONLY模式中默认启用。2.2 注意力机制MLA与SFAvLLM-Ascend在注意力算子上进行了深度优化MLAMulti-head Latent Attention针对DeepSeek等采用MLA架构的模型vLLM-Ascend实现了专门的AscendMLAAttentionSpec。MLA通过将Q/K/V投影到紧凑的潜在空间显著降低了KV Cache的显存占用。SFASparse Flash AttentionvLLM-Ascend支持稀疏注意力模式实现了SFA KV-Quant稀疏注意力将KV量化、k_rope和per-tile量化scales打包到kv_cache中。注意力算子目录结构来自vllm_ascend/attention/mla_v1.pyMLA注意力实现sfa_v1.py稀疏Flash Attention实现这些注意力算子充分利用了昇腾NPU的硬件特性在保证精度的前提下尽可能提升了推理效率。2.3 框架适配TorchAirvLLM-Ascend通过TorchAir模块完成PyTorch框架到昇腾NPU的适配。torchair/目录下的torchair_mla.py负责Torch框架的MLA注意力适配。TorchAir的作用可以理解为将PyTorch的eager执行模式转换为昇腾NPU上高效的图执行模式。它负责将PyTorch算子映射为CANN算子并处理动态shape、内存布局转换等底层细节。2.4 专家并行EPLB对于MoE混合专家模型vLLM-Ascend实现了EPLBExpert Parallel Load Balancing机制。eplb/core/policy/下的代码负责处理专家并行策略实现动态负载均衡。在MoE模型中不同专家的负载可能极不均衡——某些专家被频繁路由而另一些则闲置。EPLB通过动态调整专家的分布确保各专家间的负载均衡从而提升多卡推理的吞吐量。2.5 支持的硬件与软件硬件支持Atlas 800I A2 Inference系列Atlas A2 Training系列Atlas 800I A3 Inference系列Atlas A3 Training系列Atlas 300I Duo实验性支持软件要求Python 3.9, 3.12CANN华为异构计算架构三、性能表现从“追赶”到“比肩”3.1 与MindIE的性能对比vLLM-Ascend与华为官方MindIE引擎的性能对比是社区最关注的话题之一。多项独立评测给出了相对一致的结论。腾讯云开发者社区的实测数据Qwen3-235B-int8单机8卡框架输入长度并发TTFT (s)TPOT (tok/s)vLLM2K161.314MindIE2K162.920vLLM8K163.512MindIE8K1612.019vLLM64K4228MindIE64K4399关键发现vLLM的TTFT首Token延迟显著优于MindIE——在8K输入下vLLM的TTFT为3.5秒而MindIE为12秒差距达3.4倍MindIE的TPOT每输出Token时间优于vLLM——在2K输入下MindIE的TPOT达20 tok/svLLM为14 tok/s结论是vLLM的TTFT优秀不少但TPOT影响了总生成时间华为专家的建议是vLLM经过各环境变量设置后性能可比肩开启prefix cache的MindIE同时vLLM支持更长上下文和更多外围能力。百度开发者社区的评测发现官方MindIE引擎性能强劲但使用门槛高开源vLLM Ascend插件生态活跃但功能覆盖度待验证在4卡加速比测试中官方方案达到3.7倍理论最大4倍开源方案为3.2倍官方引擎在LLM推理中P99延迟低12%但开源方案在嵌入模型任务中吞吐量高8%核心洞察vLLM-Ascend在首Token延迟TTFT上具有显著优势这得益于其更轻量的架构和更高效的调度策略。而在稳态生成吞吐TPOT上MindIE凭借华为的深度优化仍有一定优势。但随着vLLM-Ascend的持续迭代这一差距正在快速缩小。3.2 内存管理效率vLLM-Ascend继承了vLLM核心的PagedAttention机制。有评测指出vLLM-Ascend的内存管理效率显著优于MindIE的静态分配。PagedAttention通过将KV Cache分页管理消除了传统静态分配中的内存碎片问题使得在相同显存容量下可以支持更大的批处理规模和更长的上下文。3.3 稳定性与成熟度在稳定性方面vLLM-Ascend尚处于快速迭代阶段。社区通过Issue追踪和定期周会持续推动改进。2026年8月vLLM-Ascend发布了v0.23.0正式版本与上游vLLM v0.23.0保持对齐。这标志着项目已进入生产就绪的成熟阶段。四、生态与使用从安装到生产部署4.1 快速安装vLLM-Ascend的安装极为简便# 一行命令安装pipinstallvllm vllm-ascend或从源码安装最新主分支gitclone https://github.com/vllm-project/vllm-ascend.gitcdvllm-ascend pipinstall-e.4.2 启动推理服务启动vLLM-Ascend在线推理服务vllm serve ~/qwen36_27b_w8a8\--quantizationascend\# 指定使用Ascend量化推理后端vLLM-Ascend支持Ascend量化推理后端可加载W8A8等量化权重。4.3 生态集成vLLM-Ascend已被多个主流开源项目集成项目用途LLaMA-Factory模型微调verl强化学习TRLTransformer强化学习GPUStack开源模型服务平台GPUStack是对昇腾NPU支持最完善的开源模型服务平台之一。它开箱即用地集成了MindIE、vLLMvLLM Ascend、llama-box等多个后端。平台原生支持昇腾上的多种模型类型包括大语言模型、多模态模型、文本嵌入模型、重排序模型等同时兼容昇腾的多机多卡推理场景。4.4 社区活跃度vLLM-Ascend拥有活跃的社区支持官方文档vllm-ascend.readthedocs.ioSlack频道#sig-ascend用户论坛discuss.vllm.ai每周例会tinyurl.com/vllm-ascend-meeting2025年3月vLLM团队与昇腾团队在北京举办了vLLM Beijing Meetup。2025年5月双方联合发布了博客文章**《Introducing vLLM Hardware Plugin, Best Practice from Ascend NPU》** 。五、vLLM-Ascend vs MindIE选型建议对于需要在昇腾NPU上部署大模型推理的开发者vLLM-Ascend与MindIE构成了“开源社区方案”与“官方深度优化方案”的双引擎格局。对比维度vLLM-Ascend开源方案MindIE官方引擎核心优势开源生态活跃、API兼容、社区迭代快华为官方深度优化、性能潜力大TTFT首Token延迟显著优于MindIE相对较慢TPOT输出Token速度正在追赶当前更优内存管理PagedAttention效率更高静态分配上下文长度支持更长上下文相对受限外围能力更丰富multi content等相对较少易用性配置简单、文档开放配置复杂、文档相对封闭多卡加速比3.2倍3.7倍P99延迟较高低12%嵌入模型任务吞吐量高8%—模型支持快速发展中官方认证模型选型决策树你的场景是什么 │ ├── 追求极致性能、有华为官方支持 │ └── 推荐MindIE │ └── 前提愿意投入时间学习复杂配置 │ ├── 追求生态活跃度、快速迭代、API兼容 │ └── 推荐vLLM-Ascend │ └── 优势TTFT更快、内存效率更高、社区支持活跃 │ ├── 需要嵌入模型推理Embedding │ └── 推荐vLLM-Ascend吞吐量高8% │ ├── 需要长上下文推理64K │ └── 推荐vLLM-Ascend支持更长上下文 │ └── 需要多卡分布式推理 ├── 追求极致加速比 → MindIE3.7倍 vs 3.2倍 └── 追求易用性和社区支持 → vLLM-Ascend六、总结与展望6.1 关键里程碑时间里程碑意义2024年12月与vLLM社区合作启动Hardware pluggable RFC奠定架构基础2025年2月vllm-project/vllm-ascend仓库创建项目正式诞生2025年5月v0.7.3首个正式版本发布生产就绪2026年8月v0.23.0发布与上游vLLM保持同步6.2 核心设计哲学提炼vLLM-Ascend的演进可以用三句话概括“硬件可插拔社区共维护”——遵循vLLM社区的硬件插件化RFC设计让昇腾NPU成为vLLM生态中的“一等公民”而非“二等移植”“ACL图是引擎开源是灵魂”——vLLM-Ascend以ACL图执行为运行时基座以开源社区的集体智慧为持续进化的动力在18个月内完成了从实验到生产的跨越“与MindIE互补而非替代”——vLLM-Ascend与MindIE形成了“开源活跃、TTFT快、内存效率高”与“官方深度优化、TPOT优、多卡加速比高”的互补格局共同丰富了昇腾推理生态6.3 核心架构亮点速览亮点说明硬件可插拔设计遵循vLLM社区RFC硬件后端与推理逻辑解耦ACL图执行引擎静态图捕获与重放消除图编译开销MLA SFA注意力针对DeepSeek MLA和稀疏注意力的深度优化EPLB专家并行MoE模型的动态负载均衡PagedAttention继承vLLM核心内存管理效率优于静态分配TorchAir框架适配PyTorch到昇腾NPU的无缝映射Day-0模型支持Transformer/MoE/Embedding/多模态全覆盖6.4 对开发者的启示vLLM-Ascend的故事告诉我们国产算力平台的软件生态不仅需要官方的“精装房”也需要开源的“毛坯房”。MindIE是华为官方提供的“精装房”——性能调优到极致但配置复杂、门槛较高。vLLM-Ascend则是开源的“毛坯房”——开放、灵活、社区驱动开发者可以自由定制和贡献。两者并非替代关系而是互补关系。它们共同构成了昇腾NPU推理的完整生态追求极致性能选MindIE追求开放生态和快速迭代选vLLM-Ascend。对于开发者这意味着如果你需要快速上手、API兼容、社区活跃→ vLLM-Ascend是首选如果你追求极致吞吐和多卡加速比→ MindIE当前更优如果你需要长上下文推理→ vLLM-Ascend支持更长上下文如果你需要嵌入模型推理→ vLLM-Ascend吞吐量更高如果你希望参与开源贡献→ vLLM-Ascend欢迎所有贡献者最后vLLM-Ascend的故事还远未结束。从v0.7.3到v0.23.0从社区实验到生产就绪——18个月的时间它完成了从“能不能跑”到“跑得好不好”的跨越。而每一次版本迭代、每一个性能优化、每一行贡献代码都在回答同一个问题如何让开源推理引擎在国产算力平台上跑出与国际主流GPU比肩的效率而答案正写在每一行vLLM-Ascend的源码和每一次社区的周会讨论里。本文数据来源vLLM-Ascend GitHub仓库github.com/vllm-project/vllm-ascend、vLLM-Ascend官方文档vllm-ascend.readthedocs.io、腾讯云开发者社区性能实测、百度开发者社区评测、华为云官方文档及各技术社区。所有版本号、发布日期及性能数据均基于公开可验证的官方资料。如您所在的企业正面临昇腾NPU大模型推理部署、国产化AI算力平台建设或开源推理框架选型的相关需求欢迎进一步沟通。我们可提供针对贵企业具体场景的定制化方案和现场调研服务。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价