发布说明¶
v0.22.1rc1 - 2026年6月30日¶
我们很高兴地宣布 vLLM Ascend 的 v0.22.1rc1 版本发布。这是 v0.22.1 发布系列的第一个候选版本,基于 v0.21.0rc1 构建,并将插件与上游 vLLM v0.22.1 对齐。请参考官方文档开始使用。
亮点¶
- DeepSeek V4 / 混合 KV 缓存的 Mooncake 连接器:Mooncake 连接器现在支持 DeepSeek V4 和混合 KV 缓存分离式预填充场景,具备正确的块步长处理、压缩 KV 传输计算以及混合 Mamba Token 对齐功能。#10342
- 用于 RL 工作负载的 HCCL 权重传输:为 Ascend NPU 添加了基于 HCCL 的权重传输后端,使训练器和推理工作节点能够在 RL 流水线中同步权重,而无需依赖 CUDA/NCCL。#9152
- Ascend 950 扩展:扩展了 Ascend 950 的支持,包括 W8A8/W4A8 动态量化和平台特定的 CPU 绑定支持。#10236 #10483
功能特性¶
- 为 DFlash 工作负载添加了多模态输入支持。#9340
- P-Eagle 和 PARD 现已成为稳定的并行推测解码方法,并已通过验证测试。
- 为混合 Mamba 模型添加了 KV 消费者部分组缓存。#10009
- 在 GQA
load_weights中添加了 MiniMax M2 C8 缓存规模支持。#10461 - [实验性] 为同一台机器上的多个 DP 等级添加了 SSD 支持,以避免 Mooncake 卸载目录中的本地等级路径冲突。#10477
硬件与算子支持¶
性能¶
- 优化了
split_qkv_tp_rmsnorm_rope,采用网格步长加载和主机端倒数预计算;该 PR 报告在测试的 MiniMax-M2.5 W8A8 QuaRot 预填充工作负载上实现了约 5 倍的内核加速。#9830 - 为 Ascend 分块操作复用了预构建的分块主机元数据,以减少 Qwen3.5 工作负载上的主机-设备同步开销。#9310
- 跳过了 Mamba 组的
compute_slot_mapping,以减少混合缓存路径中的不必要工作。#10492 - 启用了多流 DSV4 DSA 重叠,并移除了冗余的 DSA v1 代码路径。#10518
文档¶
已知问题¶
- MiniMax 2.7 双节点 16 卡部署在负载下运行 10-20 分钟后可能挂起或崩溃。#10591
- Llama LoRA 在 Ascend 上仍可能遇到 einsum 张量维度不匹配的问题。#10577
- Qwen3.x 使用 PD 分离加 MTP 时仍可能出现精度问题,因为之前的 KVCache 块可能保持脏状态。#10961
- 在 A3 四机 2P1D 部署中,Kimi-K2.6 在并发
Error in KVCacheTransferThread. error=unhashable type: 'list'测试下可能触发 D 节点上的terminal-bench2。#10962 - 使用 CANN 9.0.0 时,GLM5.1 1P1D 四机部署在 140K 上下文性能测试中可能挂起,而启用 MC2 的 Kimi-K2.5 在单节点 A3 上可能遇到 OOM。#10963
- 多级池化仍为实验性功能,存在已知问题,包括 DeepSeek-V4-Flash 使用 Layerwise 掩码时启动失败,以及某些 Mooncake SSD 场景下的服务挂起。#10964
v0.21.0rc1 - 2026年6月16日¶
我们很高兴地宣布 vLLM Ascend v0.21.0rc1 发布。这是 v0.21.0 发布系列的第一个候选版本,基于 v0.20.2rc1 构建。请按照官方文档开始使用。
亮点¶
- Ascend 950 上的 DeepSeek-V4:在 Ascend 950 上对 DeepSeek-V4 提供完整的端到端支持,包括分段图模式、DSA 注意力、KV 缓存管理和 MTP。#9757 #9935
- 混合与 Mamba 对齐前缀缓存:为混合和 Mamba 架构新增基于对齐的前缀缓存机制,提高了相关序列间的缓存命中率。#9533
- FULL_AND_PIECEWISE 图模式:引入了一种结合全图与分段策略的混合图编译模式。需要 HDK 25.5.1+ / CANN 8.5.0+ 以消除旧的流预算限制,在 A3 上支持约 32K 图,在 Ascend 950 上支持约 64K 图。#9572 #9962
- Python 3.12 支持:Dockerfiles 和 setup.py 现已正式支持 Python 3.12,所有基础镜像已从
py3.11升级至py3.12。#9558
功能特性¶
- 新增对 Ascend 950 上 DeepSeek-V4 的端到端支持,包括分段图模式、DSA 注意力后端、KV 缓存管理、分布式推理(含 PP 修复)和 MTP。#9757 #9473 #9935
- 新增 Hybrid & Mamba Align 前缀缓存,以改善 Hybrid 和 Mamba 架构中的前缀缓存复用。#9533
- 新增逐层 KV 缓存事件回调,实现更精细的逐层可观测性和控制。#9468
- 新增对 GLM4.7-Flash 模型的支持,使用 Flash Attention 后端。#9560
- 新增
FULL_AND_PIECEWISE图模式,这是一种混合全图与分段方法的编译策略。需要 HDK 25.5.1+ / CANN 8.5.0+ 以移除旧的流预算限制,从而支持显著更多的图捕获——在 A3 上约 32K,在 Ascend 950 上约 64K。已相应清理旧的捕获大小剪枝逻辑。#9572 #9962 - 新增对 Ascend 950 的 W4A8 MXFP4 量化支持。#8265
- 新增在 Ascend 950 上的 MXFP8 FlashCommV3 支持。#9671
- 新增对 W4A8 MoE 压缩张量和 C8 量化(GQA)的 NZ 布局支持。#9625 #9721
- 新增 Mooncake Connector 对 QWen3.5 的混合 PCP/DCP 支持。#9809
- 新增在推测解码中为草稿模型使用 D2D NetLoader 权重加载。#9893
- 新增 Mooncake Connector 混合注意力支持。#8850
- 新增 Mooncake KV 池使用优化。#7820
- 新增 KV 池对加载失败块 ID 的支持,无需混合重计算。#9701
- 新增 NPU 存储元数据调试辅助工具,以改善故障排查。#9189
- 新增在
execute_model()中的 torch 预留/分配内存分析。#9765 - 新增 EPLB 专家热度指标和 EPLB 耗时数据暴露。#9536
- 新增在创建 HCCL 配置时添加
group_name参数,以实现更好的组管理。#9667 - 启用 PCP/DCP 的前缀缓存,允许在分离式部署中跨预填充和解码阶段复用 KV 缓存。#9638
- 新增简单而通用的 CPU KV 缓存卸载支持。#8743
- 新增 Mooncake SSD 卸载(含嵌入式客户端),用于大规模 KV 缓存存储。#9731
- 重新添加 npugraph_ex 的代码起始编译缓存(此前被回滚),以改善预热时间。#9914
- 新增在 KV 缓存分配前进行 ACL 图内存估算,以防止图捕获期间内存不足(OOM)。#9865
- 新增 DeepSeek-V4 压缩器块大小 [32,64,128] 支持,以提升自动前缀缓存命中率。#10354
- 新增针对强化学习场景的 batch_invariant_ops 设置。#10034
- 适配负载均衡代理示例以支持共享调度器工作器。#9645
- [310P] 新增 Qwen3.5 MTP 和图模式支持。#10309
硬件与算子支持¶
- 新增对 Ascend 950 的自定义 GDN 算子支持,包含一个新的融合 GDN 门控 AscendC 算子(
fused_gdn_gating)。#9382 #9601 - 新增 A2/A3 和 Ascend 950 压缩器算子路径。#9350
- 适配 GDN 和 Conv1D 算子以支持 Ascend 950 平台。#9224
- 新增 Ascend 950 Dockerfile 和分离式 PD 端点配置文档。#9723 #9690
- 移除未使用的 MC2 预填充自定义算子,以精简算子表面。#9919
- 新增在 Ascend 950 设备上的稀疏 Flash Attention 支持。#9825
- 新增 LightningIndexer 和 SparseFlashAttention ACLNN 算子,以改善稀疏注意力性能。#9491
- 新增对 AscendStore 分组键的 Rehash 支持,以支持 DeepSeek V4 和压缩布局。#9789
性能¶
- 优化了310P MoE路由路径以提升吞吐量。#9105
- 为W4A8 MoE压缩张量增加了NZ格式支持,提供更好的内存访问模式。#9625
- 为带有推测解码的PCP/DCP增加了不规则掩码构建优化,提升了效率。#9678
- 重构了reduce采样以消除补丁行为,并同时支持DFlash和MTP。#9735
稳定性与错误修复¶
- 修复了与Eagle3的推测解码MLA形状不匹配问题,并增加了DeepSeek V2 Eagle3支持。#9703
- 修复了在词汇表缩减(草稿到目标)情况下DFlash的草稿
lm_head保留问题。#9795 - 修复了Ascend 950上由
token_indices_to_sample引起的草稿模型索引越界错误。#9867 - 增加了对草稿模型的DCP验证,以便及早发现配置不匹配。#9717
- 修复了多个DeepSeek V4 PP问题。#9473
- 修复了DSA压缩空闲虚拟图的越界问题。#9818
- 修复了AscendMultiConnector中的HMA支持。#9782
- 修补了GLM47内联零参数流式工具调用。#9901
- 修补了GLM工具调用最终块以实现正确的流式终止。#9787
- 修复了OpenAI格式聊天响应中发出空
tool_calls的问题。#9791 - 向后移植了MiniMax M2工具调用流式支持。#9742
- 修复了310P Qwen3.5 ACLGraph精度。#9727
- 修复了310P上
causal_conv1d_v310算子的精度。#9720 - 修复了ACL dtype映射表以实现正确的dtype转换。#9826
- 对
wq_b矩阵乘法进行分块以规避NPU 65536维度限制。#9780 - 优化了eager模式下的路由器专家并修复了通信处理。#9728
- 在
put时对KV存储进行延迟初始化以避免过早分配资源。#9771 - 修复了P/D部署中MTP占位符超过最大模型长度的问题。#9749
- 为Mooncake混合连接器增加了压缩比和块ID裁剪。#9808
- 修复了测试资源中
qwen.png的FileNotFoundError。#9907 - 修复了后端单元测试回归。#9805
- 修复了Mooncake逐层KV传输连接器中的PCP握手端口冲突。#10019
- 减少了稀疏C8的Mooncake KV缓存注册区域以避免资源耗尽。#10102
- 修复了共享专家中的W4A8 MXFP量化。#10153
- 修复了多DP场景下MoE挂起的问题。#10117
- 修复了
top_k和top_p可能为None时的reduce sampling问题。#10004 - 增加了用于控制DP元数据all_reduce通信的环境变量。#10046
- 修复了
token_indices_to_sample的索引越界错误。#10080 - 修复了
chunk_scaled_dot_kkt_fwd_kernel的精度问题。#10033 - 修复了DeepSeek-V4压缩注意力组前缀缓存命中问题。#9903
- 修复了DSv4分段图场景。#10003
- 修复了Ascend 950上
split_qkv_rmsnorm_ropeTriton内核的精度。#9849 - 修复了lm_head并行特性断言和夜间测试失败。#10100
- 修复了NPU MoE量化方法以正确支持仅TP配置。#9908
- 通过更新
discard_request_mask修复了分块流水线并行卡住的问题。#9843 - 修复了
cudagraph_config模式FULL的边界情况。#9863 - 修复了310P Qwen3-Embedding和Qwen3-VL-Embedding运行失败的问题。#9854
- 移除了
update_aclgraph_sizes中遗留的捕获大小剪枝。#9962 - 修复了Qwen3.5在Ascend 950上
fused_gdn_gating不可用的问题。#10083 - 修复了注意力中DSA v1 W8A8动态冲突。#9476
- 修复了前缀缓存中DeepSeek-V4压缩前缀查找的问题。#10297
- 修复了GLM流式工具调用名称保留问题。#10361
- 修复了vLLM v0.21.0下GLM5.1-W8A8 MTP加载权重错误。#10317
- 将DeepSeek V4缓存钩子移入模型,移除了遗留的补丁环境变量。#10327 #10333
- 修复了FP32 MM编码器注意力支持。#10200
- 使vllm-ascend与上游vLLM单元测试预期保持一致。#10146
依赖项¶
- Python: Python 3.12 现已正式支持,并作为所有 Docker 镜像的默认版本。Python 3.10 和 3.11 仍受支持。#9558
- 上游 vLLM: 从 v0.20.2 升级至 v0.21.0。#9835
- xlite: 从
0.1.0rc9.dev210升级至0.1.0rc10.dev210。 - CANN: A2/A3/Ascend 950 使用 9.0.0(与 v0.20.2rc1 相同);310P 使用 CANN 9.1.0 beta。注意:
FULL_AND_PIECEWISE需要 HDK 25.5.1+ / CANN 8.5.0+ 以修复流预算问题;旧版本仍受限于旧版流预算,可能回退至PIECEWISE。 - PyTorch / torch_npu: 2.10.0(与 v0.20.2rc1 相同)。
- triton-ascend: 3.2.1(与 v0.20.2rc1 相同)。
- Mooncake: 从 v0.3.8.post1 升级至 v0.3.9。#10339
重大变更与迁移说明¶
VLLM_ASCEND_ENABLE_CONTEXT_PARALLEL已移除:环境变量VLLM_ASCEND_ENABLE_CONTEXT_PARALLEL已在迁移至AscendConfig的过程中移除。用户应将剩余使用迁移至等效的 AscendConfig 选项。#9668- DSA-CP 配置解耦:DSA-CP 现在通过
additional_config.enable_dsa_cp控制,与 FlashComm1 开关解耦。之前依赖 FC1 隐式启用 DSA-CP 的用户现在必须显式设置enable_flashcomm1和enable_dsa_cp。#9697 #9910 - Docker 镜像中的 Python 3.12:所有 Docker 基础镜像现在使用 Python 3.12(
py3.12)。如果您的部署或自定义镜像依赖py3.11,请相应更新镜像标签。#9558
文档¶
- 刷新并优化了当前开发分支的文档。#9606
- 更新了模型代码转换器编写指南。#9881
- 为 DeepSeek V3.2 和 GLM5 添加了 DSA-CP 配置文档。#9910
- 添加了 Ascend 950 分离式 PD 端点配置文档。#9690
已知问题¶
- 旧版 HDK/CANN 上的 FULL_AND_PIECEWISE:HDK < 25.5.1 / CANN < 8.5.0 版本仍存在旧版流预算限制,可能导致图捕获失败或回退至
PIECEWISE模式。建议升级至 HDK 25.5.1+ / CANN 8.5.0+ 以获得完整的FULL_AND_PIECEWISE支持。 - GLM5/GLM5.1 W4A8 部署在某些高级配置中存在已知问题。CANN 9.0 搭配 MC2 可能返回不准确的输出,FlashComm 可能在模型启动时失败,MTP 权重加载在 1P1D A3 部署中可能失败。#9395 #9658 #9655
- GLM-5.1 部署在同时使用 Expert Parallel 和 FULL 图模式时可能遇到
MoeDistributeDispatchV2/NPU 图失败。已报告的解决方法是针对 FULL 图模式禁用 Expert Parallel,或使用 PIECEWISE/eager 模式。#9503 - Qwen3.6-35B-A3B 在启用 MTP/推测解码时可能关闭,在形状/dtype 处理期间报告
numAcceptedTokens[0]=4 exceeds varlen segment length=3。#9956 - GLM-5.1 在长时间运行后,在 200K 长序列 1P1D agent 工作负载的 P 节点上可能挂起,
MoeDistributeDispatchV2/aclnnMoeDistributeDispatchV4报告 AICore 超时。#9958 - GLM5 W4A8 部署在 MTP3 与 FlashComm 一起使用时,推测解码接受率可能显著降低。#9803
- DeepSeek-V4 KV Pool:为 DeepSeek-V4 启用 KV Pool 时,必须添加
--no-disable-hybrid-kv-cache-manager标志,否则服务将在启动时 OOM。此外,DSv4 的 KV Pool 存储所有压缩比系列的所有状态——存储 1M token 的序列大约需要 300GB,这与上游 vLLM 的行为相同。#9975
v0.20.2rc1 - 2026.06.03¶
我们很高兴地宣布 vLLM Ascend v0.20.2rc1 发布。这是 v0.20.2 发布系列的第一个候选版本。请按照 官方文档 开始使用。
亮点¶
- DeepSeek V4 支持:添加了对 DeepSeek V4 的端到端支持,包括模型架构、DSA 注意力后端、KV 缓存管理、分布式推理、工具调用解析器、MTP 支持、KV Pool 适配以及自定义算子启用。#9270 #9385 #9228
- Ascend 950 产品与 XLite 量化扩展:为 Ascend 950 产品添加了带行并行的 MXFP4 flatquant,并将 XLite 支持扩展到 GLM-4.7 W8A8 量化。#9391 #9415
功能特性¶
- 新增Flash Attention 3支持,实现训练推理一致性。后端已在vLLM Ascend中就绪,待FA3包公开发布后即可直接使用。#9060
- 新增DeepSeek PCP/DCP适配,提升对分离式部署的支持。#9058
- 新增专用开关
additional_config.enable_dsa_cp,将DSA-CP与FC1解耦。DSA-CP现在需要同时显式启用FC1和DSA-CP,允许在需要时保持FC1启用而禁用DSA-CP。#9878 - 新增DFlash工作负载的合并图支持。#9074
- 新增Qwen3.5稠密模型的LoRA支持。#9023
- 新增DeepSeek V4的KV池适配,并为DeepSeek V4推测解码分离了MTP层KV缓存分片。#9385 #9367
硬件与算子支持¶
- 新增DeepSeek V4新模型路径所需的自定义算子,为Ascend 910B注册了算子,并将DeepSeek V4的
hc_pre路径切换为融合算子。#9228 #9339 #9396 - 在Ascend 950系列产品上启用了MXFP4 flatquant和行并行支持。#9391
- 在Ascend 950系列产品上启用了MXFP4/MXFP8量化的MC2分发与合并支持。#9365 #9328
- 通过优化Qwen3.5 Dense ACLGraph的融合算子并简化310P的RMSNormGated路径,改进了310P支持。#9104 #9489
性能¶
- 新增DeepSeek V4 DSA多流重叠优化,涵盖压缩器、索引器选择、CV并行以及纯预填充计算通信重叠路径。#9450 #9441 #9433 #9504
- 通过IndexCache在解码步骤间复用DSA
topk_indices,减少DeepSeek V4重复索引计算。#9390 - 修复了新重叠路径中
cv_indexer_qkv_prepare多流并行未启用的问题。#9530 - 通过移除PIECEWISE模式下的同步点,降低了主机设备同步开销。#9025
- 优化了FusedMoE中共享专家的重叠时序。#9413
- [实验性] 新增
enable_reduce_sample缩减采样,降低分布式贪婪、top-k/top-p和拒绝采样路径中的张量并行通信开销。#8308
稳定性与错误修复¶
- 修复了DeepSeek V4 MTP、串行推理、FlashComm、A2张量输出全规约以及P/D分离式KV缓存的边界情况。#9456 #9487 #9488 #9389 #9500
- 修复了DeepSeek V4
hc_pre的行为,并新增了4卡端到端回归测试。#9452
依赖项¶
- 将匹配的上游vLLM基线升级至v0.20.2。#9270
- 将CANN升级至9.0.0,triton-ascend升级至3.2.1。#9085
- 将PyTorch和torch-npu升级至2.10.0。#9128
重大变更与迁移说明¶
- 将一组运行时选项从环境变量迁移至
AscendConfig,包括将FC1/FlashComm1开关从VLLM_ASCEND_ENABLE_FLASHCOMM1迁移至additional_config.enable_flashcomm1。升级时请检查配置代码和部署清单。#9064 - 默认禁用了SwiGLU clamp,这可能会略微改变之前依赖旧默认值的工作负载行为。#9438
文档¶
已知问题¶
- GLM5/GLM5.1 W4A8部署在某些高级配置中存在已知问题。#9395
- Qwen3.6-35B-A3B在启用MTP/推测解码时可能关闭,在形状/数据类型处理期间报告
numAcceptedTokens[0]=4 exceeds varlen segment length=3。#9956 - GLM-5.1在长时间运行后,在200K长序列1P1D代理工作负载的P节点上可能挂起,
MoeDistributeDispatchV2/aclnnMoeDistributeDispatchV4报告AICore超时。#9958 - GLM5 W4A8部署在MTP3与FlashComm一起使用时,推测解码接受率可能显著降低。#9803
- MiniMax-M2.7 W8A8/QuaRot在PCP/DCP与Eagle3推测解码结合的长序列部署中,可能显示低于预期的GPQA准确率。#9959
- DeepSeek V4的KV Pool功能现在面临几个已知问题,影响用户友好性和性能,包括特殊的启动参数要求、特殊的键存储行为等。详情请参考issue #9975。
v0.18.0 - 2026.04.30¶
我们很高兴地宣布 vLLM Ascend v0.18.0 正式发布。这是 v0.18.0 的正式版本。请按照 官方文档 开始使用。
亮点¶
模型支持
- Kimi-K2.x模型支持:[实验性]添加了对Kimi-K2.x模型的支持。@aipaes @dragondream-chen @SparrowMu @LoganJane #6755
- Minimax-m2.x模型支持:[实验性]添加了对带有eagle3的Minimax-m2.x模型的支持。@SparrowMu @GDzhu01 #7105 #7714
- GLM5支持:[实验性]无需任何代码修改即可支持GLM5模型!
- Qwen3.x支持:[实验性]无需任何代码修改即可支持Qwen3.x模型!
- DeepseekOCR支持:[实验性]添加了对DeepseekOCR模型的支持,并优化了
RelPosAttention和CustomQwen2Decoder。@Wangbei25 #7737
核心功能
- EPLB(专家并行负载均衡):EPLB经过大量错误修复后更加稳定,性能也更好。EPLB现在在大多数情况下都能正常工作,推荐使用。#6528 #7344 #7890 #6477
- ACLGraph增强:ACLGraph现在支持为多步草稿捕获单个合并图,大大减少了多步推测解码场景中的主机瓶颈!#5553 #5940
- KV池化:增强的KV池与Mooncake连接器现在支持稀疏注意力,并且添加了LMCacheAscendConnector作为Ascend的新KV缓存池化解决方案,支持HIXL互连的FabricMem模式,支持yuanrong作为AscendStoreConnector的后端,现在MooncakeLayerwiseConnector可以与KV池化一起激活。与之前的版本相比,KV池化在TTFT上有巨大的性能优化!#6339 #6882 #6806 #6869 #7032
- PD分离:Mooncake逐层连接器现在支持混合注意力管理器和PCP功能。#7022 #6627
- NPU Graph EX (npugraph_ex) 默认启用:npugraph_ex功能现在默认启用,通过集成的inductor pass和MatmulAllReduceAddRMSNorm融合提供更好的图优化。#6354 #6664 #6006
- RL(强化学习):[实验性]RL通过使用AscendC和triton op实现的批量不变特性得到增强,并添加了路由重放功能。#6590 #6696
- CPU绑定默认启用:启用了仅限ARM的CPU绑定,采用全局切片A3策略,提高了主机绑定场景中的推理吞吐量。#6686
功能特性¶
- 混合模型现在支持前缀缓存。#7103
- Flash Comm V1现在支持带有MLA的VL模型,消除了多模态服务的一个先前限制。#7390
- VL MoE模型现在支持SP,并且移除了
sp_threshold,转而使用vLLM的sp_min_token_num。#7044 - [实验性]流水线并行现在支持异步调度,提高了PP部署的吞吐量。#7136
- Eagle3现在支持不带嵌入的QuaRot量化。#7038
- 重构eagle3/mtp,eagle3和mtp现在使用相同的提议器。#6349 #7033
硬件与算子支持¶
- 首次支持310P,性能大幅优化!:
- 自定义算子: 新增多个自定义算子,包括:
- 为Qwen3-Next添加AscendC casual_conv1d_fn算子。#6661
- 添加Ascend Ops recurrent_gated_delta_rule算子。#6725
- 为MoE模型添加GMM自定义算子。#7010
- 优化split_qkv_rmsnorm_rope算子。#6827
- Triton rope现在支持从cos_sin_cache进行index_selecting。#5450
- 添加AscendC融合算子transpose_kv_cache_by_block以加速GQA传输。#6366
- 优化
DispatchFFNCombine内核性能,修复因未对齐UB访问导致的向量错误。#6468 #6707 - 重构并优化CausalConv1d。#7495
性能¶
- 初始化性能: 优化Triton算子重编译,减少因函数参数优化触发的冗余重建和不必要重编译。#7647 #7645
- Qwen3.x性能: [实验性]通过支持全图模式、PD分离、mamba预填充前缀缓存和flashcomm1、预构建chunk元数据以减少主机-设备同步开销,以及多项算子性能优化(包括
chunk_gated_delta_rule、chunk_fwd_kernel_o、solve_tril、recompute_w_u_fwd_kernel、split_qkv_rmsnorm_mrope等),优化了Qwen3.x和Qwen3-Next的性能。@LoganJane @shaopeng-666 @ppppeng @SunnyLee151064 @hust17yixuan @Toneymiller @linfeng-yuan #7487 #6830 #7506 #7796 #7527 #7529 #7495 #7368 - Kimi-K2.x性能: [实验性]通过支持eagle3和flashcomm1,并减少d2h开销,优化了Kimi-K2.x的性能。@aipaes @dragondream-chen @SparrowMu @LoganJane @GDzhu01 @Yaphets24 @hust17yixuan #7342 #7390 #7521
- Qwen3-VL性能: Qwen3-VL通过Flash Comm V1和
qkv_rmsnorm_mrope支持获得更强的多模态算子能力,并通过aclnn BatchMatMulV2使卷积计算速度提升2.7倍,支持EAGLE推测解码。#7893 #7852 #7017 #6327 - Qwen3-Omni性能: Qwen3-Omni量化适配与优化现已可用。#6828
- DeepSeek-V3.2/GLM5性能: 性能优化,支持W8A8C8量化,并优化KV缓存使用。@yydyzr @ZYang6263 @rjg-lyh @Nagisa125 #7029 #6610
- GLM4.7-Flash性能: 为GLM4.7-Flash添加W8A8量化支持。@aipaes #6492
依赖项¶
- vLLM:升级至 0.18.0,并放弃对 0.17.0 的支持。
- CANN:升级至 8.5.1。注意: 使用 FabricMem 模式的 AscendStoreConnector、310P 设备支持以及 Qwen3-Omni 模型需要将 CANN 版本升级至 9.0.0,如需使用这些功能,请手动升级。
- torch-npu:因已知问题升级至 2.9.0.post1+git4c901a4。此版本无法默认安装,请手动升级。可从此链接获取安装包:https://vllm-ascend.obs.cn-north-4.myhuaweicloud.com/vllm-ascend/torch_npu-2.9.0.post1%2Bgit4c901a4-\({PYTHON_TAG}-\).whl}-manylinux_2_28_${ARCH. 若 CANN 已升级至 9.0.0 版本,请同步将 torch-npu 版本升级至 2.9.0.post2。
- triton-ascend:因已知问题升级至 3.2.0.dev20260322。此版本无法默认安装,请手动升级。可从此链接获取安装包:https://vllm-ascend.obs.cn-north-4.myhuaweicloud.com/vllm-ascend/triton_ascend-3.2.0.dev20260322-\({PYTHON_TAG}-\)-manylinux_2_27_\({ARCH}.manylinux_2_28_\).whl. 若 CANN 已升级至 9.0.0 版本,请同步将 triton-ascend 版本升级至 3.2.1。
- Transformers:升级至 >= 4.57.4。
- Mooncake:升级至 3.9.0。
${PYTHON_TAG} 是 Python 版本标签,${ARCH} 是 CPU 架构。
例如:python3.11 和 aarch64,则 ${PYTHON_TAG}=cp311,${ARCH}=aarch64。
弃用与重大变更¶
- 清理并弃用了 ProfileExecuteDuration 功能。#6461
- 移除了自定义的 rotary_embedding 算子。#6523
- 清理了未使用的环境变量
USE_OPTIMIZED_MODEL。#6618 - 配置选项
enable_flash_comm_v1已重命名为enable_sp。#6883
文档¶
- 为 MiniMax-M2.5 和 MiniMax-M2.7 添加了新的介绍。#8169
- 在常见问题解答中添加了抢占指导。#8136
- 更新了 GLM5 的部署和支持文档,包括参数说明、最佳实践和常见问题解答。#7963 #7909
- 更新了 Qwen3.5 用户指南。#7934
- 更新了 DeepSeek-V3.2 的文档配置。#7970
- 清理了文档措辞和语法。#8073
- 刷新了 Kimi-K2.5、GLM-4.7、DeepSeek-V3.2、MiniMax-M2.5 的部署和模型文档以及 PD 分离指南。#7371 #7403 #7292 #7296 #7300
- 添加了 CPU 绑定的用户/开发者指南。#7045
- 添加了 Memcache 使用指南。#6476
- 添加了后缀推测解码的基准测试教程。#6323
- 添加了 npugraph_ex 介绍文档。#6306
其他¶
- 为捕获模式添加异步通信检查。#8149
- 修复了池化场景间的 KV Pool 冲突,并修复了 vLLM v0.18.0 上缺失的 KV 缓存放置问题。#8101 #7874
- 通过修正注意力状态处理修复了短提示转发问题。#8088
- 恢复
global_bs=0和mc2_mask以支持统一令牌分发,并支持节点间 RoCE 分层 MC2 通信。#8040 - 修复了 Qwen3-VL 的权重映射器错误。#7868
- 通过从反向映射切换为正向映射,修复了
AscendModelSlimConfig中的量化配置键映射。#7716 - 修复了在 PD 部署中运行 MTP 时全图中所有 D-Nodes 的支持问题。#5472
- Layerwise connector 现在支持重计算调度器。#5900
- 修复了池化代码问题并更新了使用指南。#6126
- NPUWorker Profiler 现在支持 profile_prefix 以获得更好的性能分析体验。#6968
已知问题¶
- 目前,在多DP和大token数场景(
VLLM_ASCEND_ENABLE_FUSED_MC2或kv_producer)下,不推荐启用kv_both,因为该场景可能会在DP间产生大量填充token,这些token会被路由到特定专家,导致某些rank接收的token过载,从而引发精度和性能问题。#8320 - 目前,EPLB不支持
minimax_m2模型和W4A8量化。#8341 - PCP和eagle3叠加使用时,当prefill请求的调度token数小于
1 + num_speculative_tokens时可能产生错误,导致该prefill请求被当作decode请求处理,从而引发错误。#8402 - 不支持NPU软分区与
CUDAGraphMode.PIECEWISE的组合使用。#8585 - Qwen3.x在PD分离场景下存在精度问题。#8421
- 目前,x86架构上存在一个已知问题,该问题已在CANN 9.0.0中解决。如果您想在x86上部署vllm-ascend,请手动升级CANN版本。#7993
- P/D代理在重计算重试后可能会泄漏资源,并掩盖后续的metaserver错误。#8852
- 通过PD架构分别部署GLM5和Deepseek V3.2时,存在概率性输出为空或乱码的问题。#8853
- 对于PD分离下D节点采用TP16 DP2并行度的GLM 5/5.1,其GPQA精度未达到标准。#8844
v0.19.1rc1 - 2026.04.30¶
这是基于 vLLM v0.19.1 的 vLLM Ascend v0.19.1 首个候选发布版本。此版本包含显著的性能优化、新模型支持、硬件扩展以及重要的错误修复。
请按照官方文档开始使用。
亮点¶
- DFlash注意力后端:新增支持FULL_DECODE_ONLY模式的DFlash注意力后端,以提升推理性能(#8118,#8516,#8627)
- 零气泡异步调度:实现了针对异步调度和推测解码的零气泡优化,显著降低了调度开销(#7640)
- A2/A3注意力算子升级:将npu_fusion_attention替换为_npu_flash_attention_unpad算子,以在A2和A3硬件上获得更优性能(#8671)
- Eagle3 + MiniMax-M2.5支持:将Eagle3推测解码应用于MiniMax-M2.5模型,实现更快的推理(#7619)
- GQA的C8 INT8 KV缓存:为GQA注意力模型新增C8(INT8 KV缓存)支持,包括采用PD分离的DeepSeek-V3.1(#7474,#7222)
- Bailing模型支持:全面支持Bailing MoE模型,包括线性适配和ModelSlim量化(#8657,#8709)
功能特性¶
- Qwen3-VL 的 Flash Comm V1:支持 Qwen3-VL 多模态模型的 Flash Comm V1(#7897)
- Eagle + PCP + 全图模式:支持 Eagle 与 PCP 及全图模式结合(#7924)
- 基于 PCP 的多模态推理:启用预填充上下文并行特性时支持多模态推理(#8038)
- PP 的动态分块:支持分块流水线并行中的动态分块(#7896)
- 基于汉明距离的稀疏注意力:新增基于汉明距离的稀疏注意力推理框架和算子(#8564,#8346)
- 优化的因果 Conv1d 算子:新增优化的因果 conv1d 算子(#8215)
- 循环 AscendC 算子:为特定模型架构新增循环 AscendC 算子(#8055)
- GLM4.7 C8 支持:支持 GLM4.7 的 C8(INT8 KV 缓存)场景(#8174)
- Minitron-8B-Base 支持:验证并支持 nvidia/Minitron-8B-Base 模型(#8157)
- Bailing 模型支持:全面支持 Bailing MoE 模型,包含线性适配和 ModelSlim 量化配置(#8657,#8709)
- Qwen3.5 MoE Flash Comm:支持 Qwen3.5 MoE 模型的 Flash Comm(#7486)
- MRv2 的初始 MoE 支持:为 Model Runner V2 添加初始 MoE 模型支持(#7922)
- Xlite 后端扩展:
- EPLB 增强:
- model_runner_v2 的 Eagle 改进:
- MTP 合并图:支持 MTP(多 Token 预测)的合并图(#6860)
- 统一 MoE 专家放置:支持共享专家和路由专家的统一放置(#7188)
- Dispatch V2 层级通信:支持 dispatch_v2/combine_v2 层级通信以提升 MoE 性能(#7583)
- Dispatch FFN Combine 的 Xmask:为 dispatch_ffn_combine 算子(w8a8 分支)添加 xmask 特性(#8560)
- 融合 W4A8 内核:将 W4A8 的 dispatch + FFN + combine 融合为单个融合内核(#7779)
- KV 缓存内存核算:在 KV 缓存规划中考虑图捕获内存(#8289)
- Qwen3-Next 混合注意力:支持 Qwen3-next 在 piecewise 和 full_decode_only 模式下的混合注意力(#7422)
- GDN 优化:优化 GDN 非推测预填充回退元数据(#7756)
- Qwen3-VL 支持:支持 Qwen3-VL 的 kv_rmsnorm_mrope(#7762)
- Mamba 前缀缓存:逐层连接器支持 Mamba 预填充前缀缓存(#7814)
- Yuanrong KV 池后端:为 KV 池添加 Yuanrong 后端支持(#6869)
硬件与算子支持¶
- 310P 增强:
性能¶
- A2/A3 注意力机制:将 npu_fusion_attention 替换为 _npu_flash_attention_unpad 算子以提升性能 (#8671)
- MLA PCP 预填充优化:通过避免投影不必要的尾部 KV 令牌来优化 MLA PCP 预填充注意力 (#8787)
- 异步调度优化:
- KV 缓存优化:
- 算子优化:
- Triton 内核优化 (model_runner_v2):
- HCCL 进程组复用:在昇腾上复用等效的 HCCL 进程组 (#7654)
- CPU 绑定延迟:将 CPU 绑定延迟至工作线程预热完成 (#7829)
- Conv3d 转线性转换:当卷积核大小等于步长时,将 conv3d 转换为线性层 (#8318)
依赖项¶
- vLLM:升级至 vLLM v0.19.1 (#8448)
- Transformers:从 4.57.4 升级至 transformers 5.5.3,这是一个主版本升级,带来了显著改进和 API 变更 (#8448)
- lm-eval:升级至 lm-eval 0.4.11 以兼容 transformers 5.5.3 (#8448)
- 新增依赖:在 requirements 中添加了 memcache 和 memfabric (#8747)
文档¶
- PD 分离指南:
- 模型文档:
- 文档改进:
其他¶
重要 Bug 修复:
- GQA C8 Fullgraph:修复了GQA C8全图模式下的一个bug (#8779)
- DSV3.1 W4A8 TTFT:回退
balance_flag的更改以修复DSV3.1 W4A8 TTFT性能下降 (#8675) - DSV3.1 服务启动:修复DeepSeek-V3.1服务启动失败的问题 (#8208)
- Qwen3.5 MoE 高并发:修复dp>1时高并发下Qwen3.5 MoE FC1错误 (#8396)
- Qwen3.5 MoE Flash Comm:修复A2上Qwen3.5 MoE flash comm v1中mtp层的共享专家形状错误 (#7683)
- 图捕获OOM:修复model_runner_v2中的图捕获OOM问题 (#8111)
- DeepSeek 3.2 C8精度:通过回退量化层修复DeepSeek 3.2 C8精度 (#7628)
- DeepSeek 3.2 DCP MTP:修复ds3.2 dcp mtp问题 (#7617)
- MTP1并发崩溃:修复MTP1在多个并发场景下的崩溃问题 (#7459)
- 推测解码+异步:修复推测解码和异步bug (#8461)
- 推测解码+Logprobs:修复异步调度禁用时推测解码+logprobs崩溃问题 (#7861)
- 重复惩罚:修复repetition_penalty在异步调度中无效的问题 (#7789)
- P/D KV缓存:修复P/D场景下TP不相等时MTP层的KV缓存问题 (#8540)
- P/D短序列:修复P/D模式下短序列无响应的问题 (#8104)
- P/D重试机制:添加重试机制以防止P/D中的丢包 (#8166)
- 逐层连接器OOM:修复大缓冲区传输期间逐层连接器的OOM问题 (#7834)
- KV池放置逻辑:修复KV池未放置KV缓存的问题并修复KV传输放置逻辑 (#7875, #7717)
- KV池PCP/DCP:修复KV池的PCP和DCP bug (#8099)
- Mooncake后端:MooncakeBackend处理除Ascend之外的协议 (#8514)
- FlashComm服务器初始化:修复使用FLASHCOMM时max_num_seqs不是tp倍数时的服务器初始化错误 (#7801)
- Triton重装:在vllm-ascend安装后重新安装triton-ascend (#7790)
- DBO兼容性:为Ascend NPU上的--enable-dbo添加兼容性保护 (#8507)
- NPU上的GPU参数:在Ascend NPU上保护GPU特定的并行配置参数 (#8703)
- A2 CPU绑定:避免隐藏NPU导致的A2 CPU绑定重叠 (#8792)
- FIA填充Bug:修复EAGLE最大并发下的FIA填充bug (#7740)
- MoE加载精度:修复allgather中moe_load的精度 (#7887)
- Qwen的FlashComm1 + DCP:支持Qwen模型的FlashComm1和DCP (#7673)
- 块验证:禁用块验证以避免NPU上的错误验证 (#7603)
- Model Runner V2全图:修复全图模式下的model_runner_v2 (#7945)
- MRv2推测解码:修复mrv2在推测解码时的运行时错误 (#8209)
- GLM工具调用流式:修复GLM工具调用流式问题 (#8832)
- 强制工具选择:修复强制工具选择无内容处理 (#8833)
- MiniMax推理用量:修复MiniMax推理用量统计 (#8831)
其他Bug修复:
- MTP 在 lmhead TP logits 截断后的循环批量大小 (#8718)
- 修复 DSV32 混合部署中由 layer_sharding 引起的错误 (#8717)
- EPLB topk_ids 使用逻辑专家计数 (#8501)
- EPLB 验证逻辑优化及 MTP 支持冗余专家 (#8710)
- SP 在 MoE 序列并行中保留图字符串化 (#8780)
- SpecDecode 修复 draft quarot 模型加载超时 (#8736)
- 修复 _dummy_run 预热与 --language-model-only 不匹配的问题 (#8556)
- 修复 AscendYaRNRotaryEmbedding 中的 AttributeError (#8734)
- Eagle3 添加全图案例并检查模拟函数 (#8668)
- 修复 npu_fused_infer_attention_score_v2 中的 atten_mask (#8387)
- 修复 eagle 和 dflash 之间关于 pcp 的冲突 (#8598)
- 修复 DeepSeek 3.2 PCP+MTP 中错误的槽位映射 (#8547)
- dispatch_ffn_combine 内核回滚 (#8539)
- 要求层分片提供 KV 生产者 (#8562)
- 310P 使用 CPU 生成器缓存进行采样 (#8495)
- 修复 pcp+eagle3 的 compute_slot_mapping triton (#8435)
- 在 fuse_moe 中处理基于枚举的 MoE 激活 (#8465)
- 根据 PD 模式门控重计算/平衡/fused_mc2 (#8373)
- w8a8 dispatch ffn combine 偏置参数适配 (#8342)
- 修复使用 flashcomm1 的 GLM-5 在 w8a8_static 中缺少 quant_bias 的问题 (#8220)
- 修复 deepseek v3.2 的 DSA-CP PD 角色门控 (#8290)
- 要求逐层 AscendStorConnector 使用分段 cudagraph (#8283)
- 修复补丁平衡调度器中的远程 KV 等待提升 (#8279)
- 强制 CPU 绑定子进程解析使用 C 语言环境 (#8251)
- 在 mlapo 分支 SFA 中添加 wait_for_kv_layer_from_connector (#8195)
- 修复 SP 填充时的维度不匹配 (#7858)
- 310P 修复 Triton 内核 block_table 崩溃 (#8144)
- 修复短提示的注意力状态 (#8029)
- 310P 修复图模式下后采样不工作的问题 (#8017)
- 310P 使 GDN 状态语义与 vLLM 对齐 (#7902)
- 310P 处理 ShardedStateLoader310 中的空量化配置 (#7546)
- 在 eager 模式下启用 sp 和 eagle3 时取消填充块表 (#7986)
- 修复 qwen3-next 编译错误 (#7936)
- 修复 qwen3-vl 的 weightsmapper 错误 (#7869)
- 修复量化配置属性错误 (#7736)
- 移除 eplb 不必要的 weight_scale 包装行为 (#7733)
- 适配 model runnerv2 的 main2main 并在休眠模式添加 gc (#7709)
- 修复嵌入模型的前缀缓存支持 (#7452)
- 在图+RL 场景中复用权重地址 (#7473)
已知问题¶
- 在单节点(非 PD 分离)场景下运行 GLM-5 / GLM-5.1 模型时,可能出现错误结果或运行时错误。详情及解决方法请参见 #8843。
- triton-ascend 可能因 g++ 内部编译器错误(Segmentation fault)而编译失败。解决方法:更新至
triton-ascend==3.2.0.dev20260322并清除 Triton 缓存(rm -rf ~/.triton/cache/*)。#7782 - torch-npu:由于已知问题,请升级至 2.9.0.post1+git4c901a4 版本。此版本无法默认安装,请手动升级。您可以从以下链接获取安装包:https://vllm-ascend.obs.cn-north-4.myhuaweicloud.com/vllm-ascend/torch_npu-2.9.0.post1%2Bgit4c901a4-\({PYTHON_TAG}-\).whl}-manylinux_2_28_${ARCH. 如果 CANN 已升级至 9.0.0 版本,请同步将 torch-npu 版本升级至 2.9.0.post2。
v0.18.0rc1 - 2026.04.01¶
这是 vLLM Ascend v0.18.0 的第一个候选发布版本。请按照 官方文档 开始使用。
亮点¶
- C8(INT8 KV缓存)现已在GQA注意力模型上得到支持,并在PD分离场景下的DeepSeek-V3.1上同样支持。#7474,#7222
- DeepSeek模型现通过新的MLA算子可在Ascend 950产品上支持。#7232
功能特性¶
- Flash Comm V1 现支持带有MLA的VL模型,消除了之前多模态服务的限制。#7390
- 支持在推测解码中为目标模型和草稿模型分别设置注意力后端,允许对每个模型进行更精细的后端调优。#7342
- VL MoE模型现支持SP,并且移除了
sp_threshold,转而使用vLLM中的sp_min_token_num。#7044 - Qwen VL模型现支持
w8a8_mxfp8量化。#7417
性能¶
- 优化了Triton算子的重新编译,减少了因函数参数优化触发的冗余重建和不必要的重新编译。#7647 #7645
- 通过预构建块元数据,优化了Qwen3.5和Qwen3-Next GDN预填充路径,减少了主机-设备同步开销。#7487
- 简化了FIA预填充上下文合并路径,以提高运行时效率。#7293
文档¶
其他¶
- 修复了PD分离中因DP节点间形状未对齐导致解码节点卡住的问题。#7534
- 修复了v0.18.0升级后,Ascend上混合注意力加mamba模型可能以错误块大小启动的回归问题。#7528
- 修复了单卡部署场景下多实例服务的OOM计算问题。#7427
- 修复了DeepSeek v3.1 C8在全解码和全图模式下叠加MTP时的问题。#7571
- 通过从反向映射切换到正向映射,修复了
AscendModelSlimConfig中的量化配置键映射问题。#7716
已知问题¶
- 在高并发下运行启用了MTP和KV Pool的DeepSeek-R1 W8A8时,可能会出现
ValueError: Counters can only be incremented by non-negative amounts错误。#7489 - triton-ascend可能因g++内部编译器错误(段错误)而编译失败。解决方法:更新至
triton-ascend==3.2.0.dev20260322并清除Triton缓存(rm -rf ~/.triton/cache/*)。#7782 - 在Ascend上使用tp-size >= 16时,FIA不支持所有MHA头维度。受影响的模型会因不支持的头维度而报错失败。此问题将在未来版本中FIA支持更多头维度时解决。#7729
- 虽然Minimax-2.5现在支持PD分离,但内部测试发现启用此功能后GPQA基准测试性能下降13%。我们目前不建议为此模型启用PD分离,并正在努力进行优化修复。
v0.17.0rc1 - 2026.03.15¶
这是 vLLM Ascend v0.17.0 的第一个候选发布版本。请按照 官方文档 开始使用。
亮点¶
功能特性¶
- 自动从模型文件中检测量化格式,并且也支持远程模型ID(例如
org/model-name)。现在不需要--quantization ascend参数。#7111 - 从此版本开始支持Qwen3.5。
- 用于EPLB的FlashLB算法:支持每步热量收集和多阶段负载均衡,以提高专家并行效率。#6477
- 带有张量并行和
--fully-sharded-loras的LoRA现已修复并正常工作。#6650 - 新增LMCacheAscendConnector作为Ascend的KV缓存池化解决方案。#6882
- DeepSeek-V3.2现已在PD混合场景下支持W8A8C8量化。#7029
- [实验性] Ascend NPU现支持Minimax-m2.5模型。#7105
- [实验性] Mooncake Layerwise Connector现支持具有多个KV缓存组的混合注意力管理器。#7022
- [实验性] 混合模型中现支持前缀缓存。#7103
性能¶
- 流水线并行现在支持异步调度,提升了PP部署的吞吐量。#7136
- 通过减少日志开销,改进了使用Mooncake连接器时的TTFT。#6125
- 针对短序列(token长度 < block_size)优化了KV池查找。#7146
- 修复了Model Runner V2中的惩罚操作,实现了约10%的性能提升。#7013
文档¶
其他¶
- 修复了推测解码在全图模式下drafter崩溃的问题。#7158 #7148
- 修复了由旋转量化MTP权重引起的GLM5-W8A8精度问题。#7139
- 修复了310P上ngram图回放的精度错误。#7134
- 修复了上游vLLM变更后图模式下的FIA填充逻辑。#7144
- 修复了由Qwen3.5上错误的KV缓存reshape引起的精度问题。#7209
- 修复了rank0设备上衍生出额外进程的问题。#7107
- 图捕获失败现在会正确抛出异常,便于调试。#5644
- 通过将torch_npu.npu_recurrent_gated_delta_rule替换为fused_recurrent_gated_delta_rule修复了Qwen3.5模型。#7109
- 修复了使用LoRA运行Qwen3-Reranker-0.6B时的错误。#7156
已知问题¶
- GLM5需要transformers==5.2.0,此问题将由vllm-project/vllm#30566解决,不会包含在v0.17.0中。
- 由于tp权重切分方式变更,Qwen3-Next存在精度问题。将在下一个版本中修复。
- 在混合模型中,前缀缓存命中所需的最小token数目前较大。具体数值与tp大小相关,例如,当tp为2时,block_size调整为2048,这意味着任何短于2048的前缀都不会被缓存。
- GLM5在2节点PD混合部署场景中存在一个问题,当并发数超过8时,推理可能会挂起(已在PR #7235 #7290中修复)。
v0.16.0rc1 - 2026.03.09¶
这是 vLLM Ascend v0.16.0 的第一个候选发布版本。请按照 官方文档 开始使用。
亮点¶
功能特性¶
- [实验性] 支持ADXL/HIXL互联的FabricMem模式。#6806
- Qwen3-Next现在支持FlashComm1。#6830
- NPUWorker Profiler现在支持profile_prefix,以获得更好的性能分析体验。#6968
- EPLB性能分析现在显示专家热度比较和eplb调整所需时间。#6877 #7001
- Xlite Qwen3 MoE现在支持数据并行。#6715
- Mooncake Layerwise Connector现在支持kv_pool。#7032
- Eagle3现在支持不带嵌入的QuaRot量化。#7038
硬件与算子支持¶
- 310P现在支持w8a8sc量化方法。#7075
- 为Qwen3-Next新增了AscendC casual_conv1d_fn算子。#6661
- 新增了Ascend Ops recurrent_gated_delta_rule算子。#6725
- 为MoE模型新增了GMM自定义算子。#7010
性能¶
- 更快的卷积计算使Qwen3-VL模型的TTFT提升0.95%,吞吐量提升0.59%。#7017
- 优化了split_qkv_rmsnorm_rope算子。#6827
- 实现了全局CPU分区并改进了Ascend NPU的IRQ绑定,确保CPU分区不重叠并实现更好的资源管理。#6945
- 通过重排状态更新操作优化了MTP执行。#6844
- 通过使用全张量拷贝避免了mrope_positions拷贝中的CPU同步。#7014
- 移除了MoE模型中expert_map的H2D同步。#7000
依赖项¶
- CANN已升级至8.5.1,如果您未使用官方镜像,请记得手动升级。#6897
弃用与重大变更¶
enable_flash_comm_v1配置选项已重命名为enable_sp。#6883- 从模型文件自动检测量化格式的功能已回退,在 v0.16.0rc1 中,我们仍需添加
--quantization ascend来服务由 modelslim 量化的模型。在远程模型 ID 的 bug 修复后,该功能将在下一版本中重新添加。#6873
文档¶
- 新增了 CPU 绑定的用户/开发者指南。#7045
- 新增了指标使用文档和示例。#6962
- 新增了用于 LLM 发现的 llms.txt。#6886
- 新增了 GLM4.x 多节点部署教程。#6872
- 新增了 310p 特殊参数 max-model-len 的说明。#7065
其他¶
- 修复 openEuler Dockerfile 错误。#6871
- 大量 Bug 修复,包括:
- 修复启用 Context Parallel 时的 Eagle 推测解码。#6981 #7079
- 修复由上游 vLLM 变更引入的 LoRA 精度问题。#6958
- 修复负载均衡代理服务器中的流式 content-type 问题。#6985
- 修复元数据执行错误:整数模零。#6521
- 修复 triton rope_siso 实现 Bug。#7082
- 修复 update_aclgraph_sizes 中 MTP 模型的错误层数。#7064
- 修复 b020 之后 CANN 版本的编译错误。#7059
- 修复 GLM4.6V 中的量化配置支持。#7062
- 修复 _merge_multimodal_embeddings 中的参数顺序 Bug。#7068
- 修复 EPLB 中的 fused mc2 Bug。#6794
- 修复用于计算 slot mapping 的内核块大小。#7019
- 修复 P/D 分离中的逐层堆叠 MTP 错误。#7036
- 修复 npu_rotary_embedding 的 RoPE 维度。#6880
- 修复 Qwen-Omni 量化 Bug。#7042 #7007
- 修复图模式下 GDN 层的精度。#6822
- 修复 PD 分离中 PCP/DCP 的精度 Bug。#6876
- 修复 PD 分离中 MTP 的全图支持(所有 D-Node)。#6948
- 修复同时启用 DP 和 DCP 时的 GQA 模型错误。#7012
- 修复 MTP prefill 被错误分类为 decode 的边界情况。#6835
- 修复 QuaRot 量化模型的 Eagle3 接受率。#6914
- 修复启用 FlashComm V1 时 MTP 模型的 RoPE 形状不匹配。#6939
- 修复 Qwen2.5VL 精度问题。#6975
- 修复启用静态内核时的 MoE 前向错误。#6964
- 修复 GLM5 模型的 muls_add 融合。#6928
- 修复多模态模型的 GDN 层检测。#6941
- 修复 300I 非量化模型权重 nd2nz 错误。#6851
- 修复 CPU 绑定逻辑。#6889
- 修复 Eagle 全图形状捕获。#6846
已知问题¶
- 目前,对于 DeepSeek v3.2,PCP 和 DCP 尚不能与 FlashComm1 特性一起使用,这可能导致服务错误或其他未知错误。
- 在使用 DeepSeek V3.2 的 4 节点 A3 PD 分离部署中,当在高并发场景(例如,2K/2K tokens 与 512 个并发请求)下进行基准测试时,P-Node 可能会挂起。
- 使用大型 EP 配置的 MTP 可能导致图捕获缓冲区溢出。这是 vLLM 中需要修复的一个 Bug,目前有一个变通方法可以避免:显式设置
--compilation-config '{"max_cudagraph_capture_size": N}',其中N = max_concurrency * (1 + num_speculative_tokens)。
v0.15.0rc1 - 2026.02.27¶
这是 vLLM Ascend v0.15.0 的第一个候选发布版本。请按照 官方文档 开始使用。
亮点¶
- NPU Graph EX (npugraph_ex) 默认启用:npugraph_ex 功能现已默认启用,通过集成的 inductor pass 和 MatmulAllReduceAddRMSNorm 融合提供更好的图优化。#6354 #6664 #6006
- 310P MoE 和 W8A8 支持[实验性]:310P 现已支持 MoE 模型、W8A8 量化和 weightNZ 特性,显著扩展了硬件能力。#6530 #6641 #6454 #6705
- Qwen3-VL-MoE EAGLE 支持:为 Qwen3-VL-MoE 模型添加了 EAGLE 推测解码支持。#6327
- Kimi-K2.5 模型支持:添加了对 Kimi-K2.5 模型的支持。请注意,vLLM 0.15.0 存在一个已知的 Kimi-K2.5 问题。要修复此问题,请应用上游
vllm-project/vllm仓库的更改,具体来自拉取请求 #33320 和 #34501。#6755
功能特性¶
- 自动检测量化格式:现在可以从模型文件自动检测量化格式。#6645
- GPT-OSS 注意力支持:添加了 GPT-OSS 注意力实现。#5901
- SFA 的 DCP 支持:为 SFA 架构添加了解码上下文并行 (DCP) 支持。#6563
- Mooncake 逐层 PCP 支持:Mooncake 逐层连接器现在支持 PCP 功能。#6627
- Mooncake 连接器远程 PTP 大小:Mooncake 连接器现在可以获取远程 PTP 大小。#5822
- KV 池稀疏注意力:KV 池现在支持稀疏注意力。#6339
- 使用 AscendC 的批量不变性:使用 AscendC 实现了批量不变性特性。#6590
- 路由重放:添加了路由重放特性。#6696
- 压缩张量 MoE W4A8 动态权重:添加了对压缩张量 moe w4a8 动态权重量化的支持。#5889
- GLM4.7-Flash W8A8 量化:为 GLM4.7-Flash 添加了 W8A8 量化支持。#6492
- DispatchGmmCombineDecode 增强:DispatchGmmCombineDecode 现在支持 bf16/float16 gmm1/gmm2 权重和 ND 格式权重。#6393
- RMSNorm 动态量化融合:添加了 rmsnorm 动态量化融合 pass。#6274
- Worker 健康检查接口:为 worker 添加了
check_health接口。#6681
硬件与算子支持¶
- 310P 支持扩展:对 310P 硬件的多项改进:
- 仅 ARM CPU 绑定:启用了仅 ARM CPU 绑定,并采用 NUMA 平衡的 A3 策略。#6686
- Triton Rope 增强:Triton rope 现在支持从 cos_sin_cache 进行 index_selecting。#5450
- AscendC 融合算子:添加了 AscendC 融合算子 transpose_kv_cache_by_block 以加速 GQA 传输。#6366
- Rotary_dim 参数:在 rotary_embedding 中使用部分 rope 时,添加了对 rotary_dim 参数的支持。#6581
性能¶
- 多模态 seq_lens CPU 缓存:使用
seq_lensCPU 缓存以避免频繁的 D2H 拷贝,提升多模态性能。#6448 - DispatchFFNCombine 优化:优化了 DispatchFFNCombine 内核性能,并解决了因未对齐的 UB 访问导致的向量错误。#6468 #6707
- DeepSeek V3.2 KVCache 优化:优化了 DeepSeek V3.2 的 KV 缓存使用。#6610
- MLA/SFA 权重预取:重构了 MLA/SFA 权重预取,使其与 MoE 权重预取保持一致。#6629
- MLP 权重预取:重构了 MLP 权重预取,使其与 MoE 模型的预取保持一致。#6442
- 自适应块大小选择:在 linear_persistent 内核中增加了自适应块大小选择功能。#6537
- EPLB 内存优化:减少了 EPLB 中用于热度聚合的内存。#6729
- 内存迁移与中断核绑定:改进了绑定逻辑,增加了内存迁移和中断核绑定功能。#6785
- Triton 稳定性:提升了 Ascend 上 Triton 在大网格下的稳定性。#6301
依赖项¶
- Mooncake:升级至 v0.3.8.post1。#6428
弃用与重大变更¶
- ProfileExecuteDuration:清理并弃用了 ProfileExecuteDuration 特性。#6461
- 自定义 rotary_embedding 算子:移除了自定义的 rotary_embedding 算子。#6523
- USE_OPTIMIZED_MODEL:清理了未使用的环境变量
USE_OPTIMIZED_MODEL。#6618
文档¶
- 为 vllm-ascend 增加了 AI 辅助模型适配工作流文档。#6731
- 增加了 vLLM Ascend 开发指南 (AGETNS.md)。#6797
- 增加了 GLM5 教程文档。#6709 #6717
- 增加了 Memcache 使用指南。#6476
- 增加了请求转发文档。#6780
- 增加了后缀推测解码的基准测试教程。#6323
- 重构了教程文档结构。#6501
- 增加了 npugraph_ex 介绍文档。#6306
其他¶
- PD 全图中的 MTP:修复了在 PD 部署中运行 MTP 时全图对所有 D-Nodes 的支持问题。#5472
- DeepSeekV3.1 精度:修复了 DeepSeekV3.1 的精度问题。#6805
- EAGLE 重构:将 MTP 路由至 EAGLE,但 PCP/DCP+MTP 情况除外。#6349
- 推测解码精度:修复了 vLLM 0.15.0 中的推测接受率问题。#6606
- PCP/DCP 精度:修复了 PCP/DCP 在推测解码中的精度问题。#6491
- 动态 EPLB:修复了动态 EPLB 无效的 bug,且 EPLB 不再依赖于指定模型。#6653 #6528
- KV Pool Mooncake 后端:正确初始化了 mooncake 后端的 head_or_tp_rank。#6498
- Layerwise Connector 重计算调度器:Layerwise connector 现在支持重计算调度器。#5900
- Memcache 池:修复了启用 memcache 池时服务启动失败的问题。#6229
- AddRMSNormQuant:修复了 AddRMSNormQuant 不生效的问题。#6620
- Pooling 代码:修复了 pooling 代码问题并更新了使用指南。#6126
- 上下文并行:修复并统一了 PD 请求的判别逻辑。#5939
- npugraph_ex:修复了重复模式问题,并为 allreduce rmsnorm 融合 pass 增加了额外检查。#6513 #6430
- RecomputeScheduler:修复了 RecomputeScheduler 与 vLLM v0.14.1 不兼容的问题。#6286
v0.13.0 - 2026.02.06¶
这是 vLLM Ascend v0.13.0 的最终版本。请按照 官方文档 开始使用。
亮点¶
模型支持
- DeepSeek-R1 & DeepSeek-V3.2:[实验性]性能优化及异步调度增强。#3631 #3900 #3908 #4191 #4805
- Qwen3-Next:[实验性]全面支持Qwen3-Next系列,包括80B-A3B-Instruct的全图模式、MTP、量化(W8A8)、NZ优化及分块预填充。修复了多个精度和稳定性问题。#3450 #3572 #3428 #3918 #4058 #4245 #4070 #4477 #4770
- InternVL:新增对InternVL模型的支持,包含全面的端到端测试和精度评估。#3796 #3964
- LongCat-Flash:[实验性]新增对LongCat-Flash模型的支持。#3833
- minimax_m2:[实验性]新增对minimax_m2模型的支持。#5624
- Whisper & Cross-Attention:[实验性]新增对交叉注意力机制和Whisper模型的支持。#5592
- Pooling Models:[实验性]新增对池化模型的支持,包含PCP适配并修复了多个池化相关错误。#3122 #4143 #6056 #6057 #6146
- PanguUltraMoE:[实验性]新增对PanguUltraMoE模型的支持。#4615
核心功能
- 上下文并行 (PCP/DCP):[实验性] 新增对预填充上下文并行 (PCP) 和解码上下文并行 (DCP) 的全面支持,集成了 ACLGraph、MTP、分块预填充、MLAPO 和 Mooncake 连接器。此功能为实验性,欢迎反馈。#3260 #3731 #3801 #3980 #4066 #4098 #4183 #5672
- 全图模式 (ACLGraph):[实验性] 增强了全图模式,支持 GQA、内存优化、统一 ACLGraph 与 Torchair 的逻辑,并提升了稳定性。#3560 #3970 #3812 #3879 #3888 #3894 #5118
- 多 Token 预测 (MTP):显著改进了 MTP 支持,包括 DeepSeek 的分块预填充、量化支持、全图模式、PCP/DCP 集成以及异步调度。MTP 现在在大多数情况下都能正常工作,推荐使用。#2711 #2713 #3620 #3845 #3910 #3915 #4102 #4111 #4770 #5477
- Eagle 推测解码:Eagle 推测解码现在可与全图模式配合使用,并且更加稳定。#5118 #4893 #5804
- PD 分离:将 ADXL 引擎设置为分离预填充的默认后端,提升了性能和稳定性。为 DeepSeek 解码节点增加了 KV NZ 特性支持。#3761 #3950 #5008 #3072
- KV 池与 Mooncake:增强了 KV 池,支持用于 PCP/DCP 的 Mooncake 连接器、多种输入后缀,并提升了 Layerwise Connector 的性能。#3690 #3752 #3849 #4183 #5303
- EPLB (弹性预填充负载均衡):[实验性] EPLB 现在更加稳定,修复了许多错误。混合放置现在可以正常工作。#6086
- 纯解码模式:在 full_decode_only 模式下增加了对 Qwen3-Next 和 DeepSeekv32 的支持,并修复了错误。#3949 #3986 #3763
- Model Runner V2:[实验性] 新增对下一代 vLLM 的 Model Runner V2 的基本支持。未来版本将默认使用它。#5210
功能特性¶
- W8A16 量化:[实验性] 新增 W8A16 量化方法支持。#4541
- UCM 连接器:[实验性] 新增用于 KV 缓存卸载的 UCMConnector。#4411
- 批次不变性:[实验性] 实现了批次不变性特性的基本框架。#5517
- 采样:增强了采样功能,在 Eagle 中支持 async_scheduler 和 disable_padded_drafter_batch。#4893
硬件与算子支持¶
- 自定义算子:新增多个自定义算子,包括:
- 算子融合:新增支持 SP 的 AddRmsnormQuant 融合模式以及用于量化的 inductor 融合。#5077 #4168
- MLA/SFA:将 SFA 重构为 MLA 架构以提高可维护性。#3769
- FIA 算子:适配了带有 flash decoding 功能的 npu_fused_infer_attention_score。为优化小批量场景下的性能,现提供此注意力算子。请参考 常见问题解答 中的第 22 项以启用它。#4025
- CANN 8.5 支持:在 FIA 算子为 CANN 8.5 启用后,移除了 CP 冗余变量。#6039
性能¶
本版本添加了许多自定义算子和 Triton 内核以加速模型性能:
- DeepSeek 性能:[实验性]通过消除异步调度中的 HD 同步并优化 MTP 的内存使用,提升了 DeepSeek V3.2 的性能。#4805 #2713
- Qwen3-Next 性能:[实验性]通过 Triton 算子和优化提升了性能。#5664 #5984 #5765
- FlashComm:增强了 FlashComm v2 优化,修复了 o_shared linear 和通信域问题。#3232 #4188 #4458 #5848
- MoE 优化:优化了 MoE 模型的 all2allv,并增强了 all-reduce 跳过逻辑。#3738 #5329
- 注意力优化:将注意力更新流移出循环,将 BSND 转换为 TND 格式以优化长序列,并在注意力切换到 transpose_batchmatmul 后移除了转置步骤。#3848 #3778 #5390
- 量化性能:在 Allgather EP 中将量化移至 allgather 之前。#3420
- 逐层连接器:[实验性]提升了逐层连接器的性能。#5303
- 前缀缓存:提升了前缀缓存功能的性能。#4022
- 异步调度:修复了异步复制并消除了异步调度中的挂起问题。#4113 #4233
- 内存操作:移除了冗余的 D2H 操作,并删除了 model_runner 中的冗余操作。#4063 #3677
- Rope 嵌入:使用 triton 内核优化了 rope 嵌入,获得了巨大的性能提升。#5918
- 采样:新增对无 top_k 约束的高级 apply_top_k_top_p 的支持。#6098
- 多模态:在 AscendMMEncoderAttention 中并行化 Q/K/V 填充以获得更好的性能。#6204
依赖项¶
- CANN:升级至 8.5.0 #6112
- torch-npu:升级至 2.8.0.post2。默认安装在 docker 容器中。
- triton-ascend:升级至 3.2.0 #6105
- vLLM:升级至 0.13.0 并放弃对 0.12.0 的支持。#5146
- Transformers:升级至 >= 4.57.4 #5250
弃用与重大变更¶
- CPUOffloadingConnector 已弃用。我们将在下一个版本中移除它。未来将由 vLLM 的 CPUOffload 功能替代。
- ProfileExecuteDuration 功能 已弃用。
- Ascend Scheduler 已被移除。#4623
- Torchair 已被移除。#4814
- VLLM_ASCEND_ENABLE_DENSE_OPTIMIZE 已移除,建议使用
VLLM_ASCEND_ENABLE_PREFETCH_MLP替代,因为这两个选项总是同时启用。#5272 - VLLM_ENABLE_FUSED_EXPERTS_ALLGATHER_EP 现已移除。#5270
- VLLM_ASCEND_ENABLE_NZ 在浮点权重情况下已禁用,因为我们注意到在某些浮点情况下性能不佳。如果您确认它适用于您的场景,可以将其设置为 2。#4878
additional_config中的 chunked_prefill_for_mla 现已移除。#5296additional_config中的 dump_config 已重命名为dump_config_path,类型从dict改为string。#5296- 用于嵌入模型的 --task 参数 已弃用。#5257
- 环境变量 VLLM_ASCEND_ENABLE_MLAPO 的值 将在下一个版本中默认设置为 True。它将在解码节点中默认启用。请注意,此功能会消耗更多内存。如果您对内存敏感,请将其设置为 False。
文档¶
- 新增了 ACLGraph、MTP、KV Pool、EPLB 和 PD 分离等功能的全面开发者指南
- 新增了多个模型的教程,包括 DeepSeek-V3.2-Exp、Qwen3-Next 以及各种多模态模型
- 更新了 FAQ 和配置文档
其他¶
- OOM 修复:VL 模型的 OOM 错误现已修复。我们正在持续观察。如果您再次遇到 OOM 问题,请提交 issue。#5136
- Qwen3-Next-MTP 精度:修复了 Qwen3-Next-MTP 在批量推理时的精度错误。#4932
- ZMQ 错误修复:修复了 zmq 发送/接收失败的错误。#5503
- 权重转置:修复了 RL 场景中的权重转置问题。#5567
- Eagle3 SP:使 SP 适配 eagle3。#5562
- GLM4.6 MTP:GLM4.6 现在支持全图的 MTP。#5460
- Flashcomm2 Oshard:Flashcomm2 现在可以与 oshard 通用特性一起工作。#4723
- 细粒度共享专家重叠:支持细粒度共享专家重叠。#5962
已知问题¶
- 由于
transformers包的升级,某些模型的量化权重(例如qwen2.5vl、gemma3、minimax)可能无法正常工作。我们将在下一个补丁版本中修复。#6302 Qwen3-32B在 128K 输入场景下性能不佳,建议在此场景下启用 pcp&dcp 特性。这将在下一个 CANN 版本中得到改进。Qwen3-235B、Qwen3-480B在 prefill-decode 场景和 EP=32 场景下的性能未达到预期。我们将在下一个补丁版本中进行改进。- 在 prefill-decode 场景下部署 deepseek3.1 时,请确保解码节点的 tp 大小大于 1。
TP=1无法工作。这将在下一个 CANN 版本中修复。
v0.14.0rc1 - 2026.01.26¶
这是 vLLM Ascend v0.14.0 的第一个候选发布版本。请按照 官方文档 开始使用。此版本包含了 v0.13.0rc2 中的所有更改。因此我们仅列出与 v0.13.0rc2 的差异。如果您是从 v0.13.0rc1 升级,请同时阅读 v0.14.0rc1 和 v0.13.0rc2 的发布说明。
亮点¶
- 310P 支持现已恢复。在此版本中,仅支持使用 eager 模式的基本 dense 和 vl 模型。我们将持续改进和维护对 310P 的支持。#5776
- 支持压缩张量 moe w8a8-int8 量化。#5718
- 支持 Medusa 推测解码。#5668
- 支持 Qwen3vl 的 Eagle3 推测解码。#4848
功能特性¶
性能¶
- 提升了Qwen3-next的性能。#5664 #5984 #5765
- 改进了CPU绑定逻辑和性能。#5555
- 合并Q/K拆分以简化AscendApplyRotaryEmb,提升性能。#5799
- 新增Matmul Allreduce Rmsnorm融合Pass。默认禁用。在
fuse_allreduce_rms=True中设置--additional_config以启用。#5034 - 使用triton内核优化rope embedding,大幅提升性能。#5918
- 支持无top_k约束的高级apply_top_k_top_p。#6098
- 并行化AscendMMEncoderAttention中的Q/K/V填充以提升性能。#6204
其他¶
- model runner v2支持triton的penalty。#5854
- model runner v2支持eagle spec解码。#5840
- 通过默认设置
expandable_segments:True修复多模态推理OOM问题。#5855 VLLM_ASCEND_ENABLE_MLAPO默认设置为True。在PD部署场景下,它会在解码节点上自动启用。请注意,此功能会消耗更多内存。如果您对内存敏感,请将其设置为False。#5952- SSL配置可设置为kv_extra_config,用于使用mooncake逐层连接器的PD部署。#5875
- 支持
--max-model-len auto。#6193
依赖项¶
- torch-npu升级至2.9.0 #6112
弃用与重大变更¶
- EPLB配置选项已移至附加配置
eplb_config中的。旧选项在此版本中已移除。 - 分析器环境变量,如
VLLM_TORCH_PROFILER_DIR和VLLM_TORCH_PROFILER_WITH_PROFILE_MEMORY,现在不适用于vLLM Ascend。请改用vLLM的--profiler-config参数。#5928
已知问题¶
- 如果您偶尔遇到来自
EngineCore进程的pickle错误,请将此PR cherry-pick到您的本地vLLM代码中。此已知问题将在下一个vLLM版本中修复。
v0.13.0rc2 - 2026.01.24¶
这是 vLLM Ascend v0.13.0 的第二个候选发布版本。在此 rc 版本中,我们修复了大量错误并提升了多款模型的性能。请按照 官方文档 开始使用。欢迎任何反馈以帮助我们改进 v0.13.0 的最终版本。
亮点¶
在此版本中,我们主要关注质量和性能的改进。推测式解码、图模式、上下文并行和 EPLB 都得到了显著提升。修复了大量错误,并提升了 DeepSeek3.⅓.2、Qwen3 Dense/MOE 等模型的性能。
功能特性¶
- 实现了batch invariant的基本框架 #5517
- Eagle spec解码功能现在可与全图模式配合使用。#5118
- 上下文并行(PCP&DCP)功能现在更加稳定,适用于大多数场景。请尝试使用。
- MTP和eagle spec解码功能现在在大多数情况下可用。建议在大多数情况下使用它们。
- EPLB功能现在更加稳定。许多错误已修复。混合放置现已生效 #6086
- 在分离式预填充场景中,支持DeepSeek解码节点的kv nz功能 #3072
模型支持¶
性能¶
- 此版本新增了许多自定义操作和triton内核以加速模型性能。例如
RejectSampler、MoeInitRoutingCustom、DispatchFFNCombine等。 - 提升了逐层连接器的性能 #5303
其他¶
- 基本支持Model Runner v2。Model Runner V2是vLLM的下一代版本,将在未来版本中默认使用。#5210
- 修复了zmq发送/接收可能失败的错误 #5503
- 支持Qwen3-Next-MTP使用全图 #5477
- 修复RL场景中的权重转置问题 #5567
- 适配SP至eagle3 #5562
- 上下文并行(PCP&DCP)支持mlapo #5672
- GLM4.6支持全图mtp #5460
- Flashcomm2现在可与oshard通用功能配合使用 #4723
- 支持为Eagle草稿模型设置tp=1 #5804
- Flashcomm1功能现在可与qwen3-vl配合使用 #5848
- 支持细粒度共享专家重叠 #5962
依赖项¶
- CANN升级至8.5.0
- torch-npu升级至2.8.0.post1。请注意,post版本默认不会安装。请从pypi镜像手动安装。
- triton-ascend升级至3.2.0
弃用与重大变更¶
CPUOffloadingConnector已弃用,将在下一个版本中移除。未来将由 vLLM 的 CPUOffload 功能替代。- eplb 配置选项已移至 additional config
eplb_config中的 。旧选项将在下一个版本中移除。 ProfileExecuteDuration功能 已弃用,由 vLLM 的ObservabilityConfig替代。- 环境变量
VLLM_ASCEND_ENABLE_MLAPO的值将在下一个版本中默认设置为 True,并默认在 decode 节点启用。请注意,此功能会消耗更多内存。如果对内存敏感,请将其设置为 False。
v0.13.0rc1 - 2025.12.27¶
这是 vLLM Ascend v0.13.0 的第一个候选发布版本,在此版本中完成了大量的错误修复、性能改进和功能支持。欢迎提供任何反馈以帮助我们改进 vLLM Ascend,请按照 官方文档 开始使用。
亮点¶
- 提升了 DeepSeek V3.2 的性能,请参考 教程
- 现在支持 Qwen3-Next MTP 与 chunked prefill #4770,请参考 教程
- [实验性] 支持 Prefill Context Parallel 和 Decode Context Parallel,但请注意这是一个实验性功能,欢迎反馈。请参考 context parallel 功能指南
功能特性¶
- 支持 openPangu Ultra MoE 4615
- 现在支持新的量化方法 W8A16。 #4541
- 现在支持跨机 Disaggregated Prefill。 #5008
- 添加用于 KV Cache Offloading 的 UCMConnector。 #4411
- 在 eagle 中支持 async_scheduler 和 disable_padded_drafter_batch。 #4893
- 在全图模式下支持 pcp + mtp。 #4572
- 增强 NPUModelRunner 中 MoE 模型的 all-reduce 跳过逻辑 #5329
性能¶
一些常规性能改进:
- 添加 l2norm triton 内核 #4595
- 为 AddRmsnormQuant 添加新的 SP 模式,该模式仅在图模式下生效。 #5077
- 在模型执行时添加异步指数。 #4501
- 移除 attention 后的转置步骤,切换到 transpose_batchmatmul #5390
- 为优化小批量场景下的性能,提供了一个带有 flash decoding 功能的 attention 算子,请参考 FAQs 中的第 22 项以启用它。
其他¶
- VL 模型的 OOM 错误现已修复。我们将持续观察,如果您再次遇到 OOM 问题,请提交 issue。 #5136
- 修复了 Qwen3-Next-MTP 在批量推理时的精度错误。 #4932
- 修复 npu-cpu offloading 接口变更错误。 #5290
- 修复 MHA 模型在 aclgraph 模式下的运行时错误 #5397
- 修复 ep=1 场景下不合适的 moe_comm_type #5388
弃用与重大变更¶
VLLM_ASCEND_ENABLE_DENSE_OPTIMIZE已被移除。建议使用VLLM_ASCEND_ENABLE_PREFETCH_MLP作为替代,因为它们总是同时启用。 #5272VLLM_ENABLE_FUSED_EXPERTS_ALLGATHER_EP现已移除。 #5270VLLM_ASCEND_ENABLE_NZ在 float 权重情况下被禁用,因为我们注意到在某些 float 情况下性能不佳。如果您确认它适用于您的情况,可以将其设置为 2。 #4878chunked_prefill_for_mla中的additional_config现已移除。 #5296dump_config中的additional_config已重命名为dump_config_path,类型从dict更改为string。 #5296
依赖项¶
已知问题¶
- Qwen3-Next 不支持长序列场景,我们需要根据文档限制
gpu-memory-utilization来运行 Qwen3-Next。我们将在下一个版本中改进。 - 当输入/输出约为 3.5k/1.5k 时,Qwen3-Next 的功能中断问题已修复,但这引入了性能回退。我们将在下一个版本中修复。 #5357
- DeepSeek-V3.2 中 curl 在超短序列上存在精度问题。我们将在下一个版本中修复。 #5370
v0.11.0 - 2025.12.16¶
我们很高兴地宣布 vLLM Ascend v0.11.0 正式发布。这是 v0.11.0 的官方版本。请按照 官方文档 开始使用。如有需要,我们未来会考虑发布 post 版本。本发行说明仅包含自 v0.11.0rc3 以来的重要变更和注意事项。
亮点¶
其他¶
- 提升了 kimi-k2 的性能。#4555
- 修复了 deepseek3.2-exp 的量化错误。#4797
- 修复了高并发下 qwen3-vl-moe 的错误。#4658
- 修复了 Prefill Decode 分离场景下的精度错误。#4437
- 修复了 EPLB 的一些错误 #4576 #4777
- 修复了 openEuler Docker 镜像的版本不兼容问题。#4745
弃用公告¶
- LLMdatadist 连接器已弃用,将在 v0.12.0rc1 中移除
- Torchair 图模式已弃用,将在 v0.12.0rc1 中移除
- Ascend 调度器已弃用,将在 v0.12.0rc1 中移除
升级通知¶
- torch-npu 已升级至 2.7.1.post1。请注意,该包已推送至 pypi 镜像,因此难以将其加入自动依赖。请自行安装。
- CANN 已升级至 8.3.rc2。
已知问题¶
- 本版本中 Qwen3-Next 不支持专家并行和 MTP 特性。如果输入过长,会导致内存溢出。我们将在下一版本中改进。
- 本版本中 Deepseek 3.2 仅适用于 torchair 图模式。我们将在下一版本中使其支持 aclgraph 模式。
- Qwen2-audio 默认无法工作。临时解决方案是将
--gpu-memory-utilization设置为合适的值,例如 0.8。 - 如果同一节点上运行了多个 vLLM 实例,CPU 绑定功能将无法工作。
v0.12.0rc1 - 2025年12月13日¶
这是 vLLM Ascend v0.12.0 的第一个候选发布版本。在此版本中,我们完成了大量的错误修复、性能改进和功能支持。欢迎提供任何反馈以帮助我们改进 vLLM Ascend。请按照 官方文档 开始使用。
亮点¶
- DeepSeek 3.2 已稳定且性能得到提升。在此版本中,您无需再安装任何其他包。请按照官方教程开始使用。
- 现在支持更多新模型,例如 Qwen3-omni、DeepSeek OCR、PaddleOCR、OpenCUA。
核心¶
- [实验性] 现在支持仅解码的完整图模式。虽然默认未启用,但我们建议在大多数情况下通过
--compilation-config '{"cudagraph_mode":"FULL_DECODE_ONLY"}'启用它。如果遇到任何错误,请告知我们。我们将持续改进,并在接下来的几个版本中默认启用。 - 添加了大量 triton 内核。vLLM Ascend 的性能,尤其是 Qwen3-Next 和 DeepSeek 3.2 的性能得到了提升。请注意,triton 默认未安装和启用,但我们建议在大多数情况下启用它。您可以从包地址手动下载并安装。如果您在 X86 上运行 vLLM Ascend,则需要从源码自行构建 triton ascend。
- 添加了大量 Ascend 算子以提升性能。这意味着从本版本开始,vLLM Ascend 仅适用于已构建的自定义算子。因此我们移除了环境变量
COMPILE_CUSTOM_KERNELS。您现在无法将其设置为 0。 - 推测解码方法
MTP现在更加稳定。它可以在大多数情况下启用,解码 token 数量可以是 1、2、3。 - 现在支持推测解码方法
suffix。感谢招商银行的贡献。 - 带有 W8A8 的 llm-compressor 量化工具现已可用。您现在可以直接使用此工具部署经过 W8A8 量化的模型。
- W4A4 量化现已可用。
- 支持论文 flashcomm 中的 flashcomm1 和 flashcomm2 特性 #3004 #3334
- 现在支持池化模型,例如 bge、reranker 等。
- 官方文档已改进。我们重构了教程,使其更加清晰。用户指南和开发者指南现在更加完整。我们将持续改进。
其他¶
- [实验性] 现已支持 Mooncake 逐层连接器。
- [实验性] 新增 KV 缓存池 功能。
- [实验性] 引入新的图模式
xlite。该模式在某些模型上表现良好。请按照官方教程开始使用。 - 移除了 LLMdatadist kv 连接器。请改用 mooncake 连接器。
- 移除了 Ascend 调度器。
--additional-config {"ascend_scheduler": {"enabled": true}}不再生效。 - 移除了 Torchair 图模式。
--additional-config {"torchair_graph_config": {"enabled": true}}不再生效。请改用 aclgraph。 - 移除了
VLLM_ASCEND_ENABLE_TOPK_TOPP_OPTIMIZATION环境变量。该功能已足够稳定,现已默认启用。 - 推测解码方法
Ngram现已回归。 - 新增 msprobe 工具,帮助用户检查模型精度。请按照官方文档开始使用。
- 新增 msserviceprofiler 工具,帮助用户分析模型性能。请按照官方文档开始使用。
升级说明¶
- 已移除 vLLM Ascend 自维护的建模文件,相关的 Python 入口点也已移除。因此,请在升级前卸载环境中旧版本的 vLLM Ascend。
- CANN 已升级至 8.3.RC2,PyTorch 和 torch-npu 已升级至 2.8.0。请务必安装它们。
- 为与 vLLM v0.12.0 保持一致,不再支持 Python 3.9。
已知问题¶
- DeepSeek 3/3.1 和 Qwen3 无法在 FULL_DECODE_ONLY 图模式下工作。我们将在下一个版本中修复。#4990
- Hunyuan OCR 无法工作。我们将在下一个版本中修复。#4989 #4992
- DeepSeek 3.2 无法与聊天模板一起工作。这是因为 vLLM v0.12.0 不支持它。我们将在下一个 v0.13.0rc1 版本中支持。
- DeepSeek 3.2 在某些情况下无法在高并发下工作。我们将在下一个版本中修复。#4996
- 我们注意到 bf16/fp16 模型性能不佳。这主要是因为
VLLM_ASCEND_ENABLE_NZ默认启用。请设置VLLM_ASCEND_ENABLE_NZ=0以禁用它。我们将在下一个版本中添加自动检测机制。 - 推测解码方法
suffix无法工作。我们将在下一个版本中修复。您可以选择此提交来修复该问题:#5010
v0.11.0rc3 - 2025.12.03¶
这是 vLLM Ascend v0.11.0 的第三个候选发布版本。出于质量考虑,我们在正式发布前推出了新的 rc 版本。感谢您的所有反馈。请按照 官方文档 开始使用。
亮点¶
- torch-npu 已升级至 2.7.1.post1。请注意,该包已推送至 pypi 镜像。因此难以将其添加为自动依赖项,请自行安装。
- 禁用 NZ 权重加载器以加速密集模型。请注意,这是一个临时解决方案。如果您发现性能变差,请告知我们。我们将持续改进。#4495
- mooncake 现已安装在官方 Docker 镜像中。您现在可以直接在容器中使用它。#4506
其他¶
- 修复了 MoE 模型的 OOM 问题。#4367
- 修复了多模态模型在 DP>1 时运行挂起的问题。#4393
- 修复了 EPLB 的一些错误。#4416
- 修复了 mtp>1 + lm_head_tp>1 情况下的错误。#4360
- 修复了长时间运行 vLLM serve 时的精度问题。#4117
- 修复了 qwen2.5 vl 在高并发下运行时的功能错误。#4553
v0.11.0rc2 - 2025.11.21¶
这是 vLLM Ascend v0.11.0 的第二个候选发布版本。在此版本中,我们解决了许多错误以提升质量。感谢您的所有反馈。我们将继续致力于错误修复和性能改进。v0.11.0 正式版即将发布。请按照 官方文档 开始使用。
亮点¶
核心¶
其他¶
- 修复仅全解码模式的问题。全图模式现在更加稳定。#4106 #4282
- 修复DeepSeek V3系列模型的allgather操作bug。#3711
- 修复EPLB功能的若干bug。#4150 #4334
- 修复VL模型在x86机器上无法运行的bug。#4285
- 支持prefill分离代理的ipv6。请注意,mooncake连接器不支持ipv6,我们正在解决。#4242
- 增加检查,确保EPLB在量化场景下仅支持w8a8方法。#4315
- 增加检查,确保FLASHCOMM功能不与VL模型一起使用。该功能将在2025年第四季度支持。#4222
- 音频所需库已安装在容器中。#4324
已知问题¶
- Ray + EP 无法工作,如果您使用ray运行vLLM Ascend,请禁用专家并行。#4123
response_format参数暂不支持,我们将很快支持。#4175- cpu绑定功能在多实例场景下(例如单节点多DP)无法工作,我们将在下一个版本中修复。
v0.11.0rc1 - 2025.11.10¶
这是vLLM Ascend v0.11.0的第一个候选发布版本。请按照官方文档开始使用。 v0.11.0将是vLLM Ascend的下一个正式发布版本,我们将在未来几天内发布。欢迎任何反馈,以帮助我们改进v0.11.0。
亮点¶
- CANN升级至8.3.RC1。Torch-npu升级至2.7.1。#3945 #3896
- PrefixCache和Chunked Prefill默认启用。#3967
- 现在支持W4A4量化。#3427 官方教程请参见single_npu_qwen3_w4a4。
核心¶
- Qwen3和Deepseek V3系列模型的性能得到提升。
- 现在支持Mooncake逐层连接器#2602。教程请参见pd_disaggregation_mooncake_multi_node。
- 现在支持MTP > 1。#2708
- [实验性] 现在支持图模式
FULL_DECODE_ONLY!FULL模式将在未来几周内推出。#2128 - 现在支持池化模型,例如bge-m3。#3171
其他¶
- 重构MOE模块,使其更清晰易懂,并在量化和非量化场景下均提升了性能。
- 重构模型注册模块,使其更易于维护。我们将在2025年第四季度移除该模块。#3004
- Torchair已弃用。一旦ACL Graph性能足够好,我们将移除它。截止日期为2026年第一季度。
- LLMDatadist KV连接器已弃用。我们将在2026年第一季度移除它。
- 重构线性模块以支持论文flashcomm中的flashcomm1和flashcomm2特性。#3004 #3334
已知问题¶
- 长时间服务后可能出现内存泄漏和服务卡死。这是torch-npu的一个bug,我们将尽快升级修复。
- qwen2.5 VL的精度不佳。这是CANN引起的bug,我们将尽快修复。
- 对于长序列输入场景,有时无响应且kv cache使用率升高。这是调度器的bug,我们正在处理。
- Qwen2-audio默认无法工作,我们正在修复。临时解决方案是将
--gpu-memory-utilization设置为合适的值,例如0.8。 - 当启用专家并行运行Qwen3-Next时,请将
HCCL_BUFFSIZE环境变量设置为合适的值,例如1024。 - DeepSeek3.2与aclgraph的精度不正确。临时解决方案是根据输入的batch size将cudagraph_capture_sizes设置为合适的值。
v0.11.0rc0 - 2025.09.30¶
这是 vLLM Ascend v0.11.0 的特殊候选发布版本。请按照 官方文档 开始使用。
亮点¶
核心¶
- DeepSeek现在可以与aclgraph一起工作。#2707
- MTP现在可以与aclgraph一起工作。#2932
- 现在支持EPLB。#2956
- 现在支持Mooncake store kvcache连接器。#2913
- 现在支持CPU offload连接器。#1659
其他¶
- Qwen3-next 现已稳定。#3007
- 修复了 v0.10.2 中 Qwen3-next 引入的大量错误。#2964 #2781 #3070 #3113
- LoRA 功能现已恢复。#3044
- Eagle3 推测解码方法现已恢复。#2949
v0.10.2rc1 - 2025.09.16¶
这是 vLLM Ascend v0.10.2 的第一个候选发布版本。请按照 官方文档 开始使用。
亮点¶
核心¶
- Aclgraph 现在可与 Ray 后端配合使用。#2589
- MTP 现在可与 token > 1 的情况配合使用。#2708
- Qwen2.5 VL 现在可与量化配合使用。#2778
- 改进了启用异步调度器时的性能。#2783
- 修复了使用默认调度器时非 MLA 模型的性能回退问题。#2894
其他¶
- 提升了 W8A8 量化的性能。#2275
- 提升了 MoE 模型的性能。#2689 #2842
- 修复了应用推测解码和 aclgraph 时的资源限制错误。#2472
- 修复了 Docker 镜像中的 git 配置错误。#2746
- 修复了 prefill 阶段的滑动窗口注意力 bug。#2758
- 新增了 Qwen3 的 Prefill-Decode 分离官方文档。#2751
VLLM_ENABLE_FUSED_EXPERTS_ALLGATHER_EP环境变量再次生效。#2740- 为 deepseek 中的 oproj 新增了一项改进。设置
oproj_tensor_parallel_size以启用此功能。#2167 - 修复了当设置
graph_batch_sizes时,deepseek 与 torchair 配合使用不符合预期的问题。#2760 - 避免在 kv_seqlen > 4k 时重复生成 rope 中的 sin_cos_cache。#2744
- 通过 flashcomm_v1 提升了 Qwen3 稠密模型的性能。设置
VLLM_ASCEND_ENABLE_DENSE_OPTIMIZE=1和VLLM_ASCEND_ENABLE_FLASHCOMM=1以启用。#2779 - 通过预取功能提升了 Qwen3 稠密模型的性能。设置
VLLM_ASCEND_ENABLE_PREFETCH_MLP=1以启用。#2816 - 通过 rope 算子更新提升了 Qwen3 MoE 模型的性能。#2571
- 修复了 RLHF 场景下的权重加载错误。#2756
- 添加了 warm_up_atb 步骤以加速推理。#2823
- 修复了 MoE 模型的 aclgraph 流错误。#2827
已知问题¶
- 当 P 和 D 使用不同的 TP 大小运行 Prefill Decode 分离时,服务器会挂起。此问题已通过 vLLM 提交 修复,但该提交未包含在 v0.10.2 中。您可以选取此提交来修复该问题。
- Qwen3-Next 的 HBM 使用量高于预期。这是一个已知问题,我们正在处理中。您可以根据并行配置设置合适的
max_model_len和gpu_memory_utilization值以避免 OOM 错误。 - 我们注意到由于 KV 缓存的重构,LoRA 在此版本中无法使用。我们将尽快修复。2941
- 使用 Ascend 调度器时,请勿启用带有前缀缓存的 chunked prefill。其性能和准确性不佳/不正确。#2943
v0.10.1rc1 - 2025.09.04¶
这是 vLLM Ascend v0.10.1 的第一个候选发布版本。请按照官方文档开始使用。
亮点¶
- 招商银行通过添加自定义算子大幅提升了 LoRA 性能。#2325
- 支持 Mooncake TransferEngine 用于 KV 缓存注册和 pull_blocks 风格的分离式 prefill 实现。#1568
- 现在支持将自定义算子捕获到 aclgraph 中。#2113
核心¶
- 新增MLP张量并行以提升性能,但请注意这会增加内存使用。#2120
- openEuler升级至24.03版本。#2631
- 新增自定义lmhead张量并行,以降低内存消耗并提升TPOT性能。#2309
- Qwen3 MoE/Qwen2.5现已支持torchair图模式。#2403
- 支持AscendScheduler下的滑动窗口注意力,从而修复Gemma3精度问题。#2528
其他¶
- 错误修复:
- 通过大量PR提升性能:
- 一批重构PR以增强代码架构:
- 参数变更:
- 在
lmhead_tensor_parallel_size中新增additional_config,设置它以启用lmhead张量并行。#2309 - 移除了部分未使用的环境变量
HCCN_PATH、PROMPT_DEVICE_ID、DECODE_DEVICE_ID、LLMDATADIST_COMM_PORT和LLMDATADIST_SYNC_CACHE_WAIT_TIME。#2448 - 环境变量
VLLM_LLMDD_RPC_PORT现已重命名为VLLM_ASCEND_LLMDD_RPC_PORT。#2450 - 在环境变量中新增
VLLM_ASCEND_ENABLE_MLP_OPTIMIZE,用于控制启用张量并行时是否开启mlp优化。此功能在eager模式下提供更好的性能。#2120 - 从环境变量中移除了
MOE_ALL2ALL_BUFFER和VLLM_ASCEND_ENABLE_MOE_ALL2ALL_SEQ。#2612 - 在
enable_prefetch中新增additional_config,用于控制是否启用权重预取。#2465 - 在
mode中新增additional_config.torchair_graph_config,当为torchair使用reduce-overhead模式时,需要设置此模式。#2461 enable_shared_expert_dp中的additional_config现在默认禁用,建议在推理deepseek时启用。#2457
- 在
已知问题¶
v0.9.1 - 2025.09.03¶
我们很高兴宣布 vLLM Ascend 的最新正式版本发布。此版本包含了许多新功能支持、性能优化以及 bug 修复。我们建议用户从 0.7.3 版本升级至此版本。请务必设置 VLLM_USE_V1=1 以使用 V1 引擎。
在此版本中,我们针对大规模专家并行(EP)场景增加了许多增强功能。建议参考 官方指南。
请注意,此发布说明将列出自上一个正式版本(v0.7.3)以来的所有重要变更。
亮点¶
- DeepSeek V3/R1现已获得高质量和高性能支持。MTP也可与DeepSeek配合使用。请参考多节点教程和大规模专家并行。
- Qwen系列模型现在支持图模式。使用V1引擎时默认生效。请参考Qwen教程。
- V1引擎支持分离式预填充。请参考大规模专家并行教程。
- 支持自动前缀缓存和分块预填充功能。
- 推测解码功能支持Ngram和MTP方法。
- 现在支持MOE和密集w4a8量化。请参考量化指南。
- V1引擎支持休眠模式功能。请参考休眠模式教程。
- 新增动态和静态EPLB支持。此功能仍处于实验阶段。
注意¶
以下说明特别供从上一个正式版本(v0.7.3)升级时参考:
- 从本版本起不再支持 V0 引擎。请始终设置
VLLM_USE_V1=1以在 vLLM Ascend 中使用 V1 引擎。 - 本版本不再需要 Mindie Turbo。旧版 Mindie Turbo 不兼容,请勿安装。目前所有功能和增强已包含在 vLLM Ascend 中。如有需要,我们将在未来考虑重新加入。
- Torch-npu 已升级至 2.5.1.post1。CANN 已升级至 8.2.RC1。请勿忘记升级它们。
核心¶
- 为 V1 引擎新增了 Ascend 调度器。该调度器与 Ascend 硬件更亲和。
- 结构化输出功能现已在 V1 引擎上生效。
- 新增了一批自定义算子以提升性能。
变更¶
- 为 Qwen3-moe 模型添加 EPLB 支持。#2000
- 修复 MTP 在 Prefill Decode 分离场景下工作不正常的问题。#2610 #2554 #2531
- 修复若干 bug 以确保 Prefill Decode 分离功能正常工作。#2538 #2509 #2502
- 修复 torchair 模式下 shutil.rmtree 报文件未找到的错误。#2506
已知问题¶
- 运行 MoE 模型时,Aclgraph 模式仅支持张量并行。本版本中 DP/EP 不工作。
- 本版本中 V1 引擎不支持流水线并行。
- 如果在 eager 模式下使用 w4a8 量化,请设置
VLLM_ASCEND_MLA_PARALLEL=1以避免 OOM 错误。 - 使用某些工具进行精度测试可能不正确。这不影响真实用户场景。我们将在下一个补丁版本中修复。#2654
- 我们注意到在 Prefill Decode 分离场景下运行 vLLM Ascend 仍存在一些问题。例如,可能出现内存泄漏和服务卡死。这是由 vLLM 和 vLLM Ascend 的已知问题引起的。我们将在下一个补丁版本中修复。#2650 #2604 vLLM#22736 vLLM#23554 vLLM#23981
v0.9.1rc3 - 2025.08.22¶
这是 vLLM Ascend v0.9.1 的第 3 个候选发布版本。请按照 官方文档 开始使用。
核心¶
- MTP 支持 V1 调度器 #2371
- 添加 LMhead TP 通信组 #1956
- 修复 qwen3 moe 与 aclgraph 不兼容的问题 #2478
- 修复由过时的
grammar_bitmask方法导致的apply_grammar_bitmaskIndexError #2314 - 移除
chunked_prefill_for_mla#2177 - 修复 bug 并重构缓存掩码生成逻辑 #2326
- 修复关于 ascend 调度器的配置检查逻辑 #2327
- 取消在分离式预填充部署中 deepseek-mtp 与非 ascend 调度器之间的验证 #2368
- 修复使用 ray 分布式后端失败的问题 #2306
- 修复 ascend 调度器中请求块长度不正确的问题 #2394
- 修复 rope 中的头文件包含问题 #2398
- 修复 mtp 配置 bug #2412
- 修复错误信息并适配
attn_metadata重构 #2402 - 修复由配置不匹配和
.kv_cache_bytes文件缺失导致的 torchair 运行时错误 #2312 - 将
with_prefillallreduce 从 cpu 移至 npu #2230
文档¶
- 为 deepseek large EP 添加文档 #2339
已知问题¶
test_aclgraph.py在 A2 (910B1) 上使用"full_cuda_graph": True时失败 #2182
v0.10.0rc1 - 2025.08.07¶
这是 vLLM Ascend v0.10.0 的第一个候选发布版本。请按照官方文档开始使用。此版本已完全移除 V0 引擎。
亮点¶
核心¶
- Ascend PyTorch 适配器 (torch_npu) 已升级至
2.7.1.dev20250724。#1562 同时 CANN 已升级至8.2.RC1。#1653 请记得在您的环境中更新它们,或使用最新镜像。 - vLLM Ascend 现已支持 Atlas 800I A3,从本版本起将发布 A3 的镜像。#1582
- vLLM Ascend 支持了带有 w8a8 量化的 Kimi-K2、Qwen3-Coder 和 GLM-4.5,请参考此教程进行尝试。#2162
- V1 版本现已支持流水线并行。#1800
- 前缀缓存功能现已与 Ascend 调度器协同工作。#1446
- Torchair 图模式现已支持 tp > 4。#1508
- MTP 现已支持 torchair 图模式。#2145
其他¶
- 错误修复:
- 通过大量 PR 提升性能:
- 一批重构 PR 以增强代码架构:
-
参数变更:
expert_tensor_parallel_size中的additional_config已被移除,EP 和 TP 现在与 vLLM 对齐。#1681- 在环境变量中添加
VLLM_ASCEND_MLA_PA,用于启用 deepseek mla 解码的 mla 分页注意力算子。 - 在环境变量中添加
VLLM_ASCEND_ENABLE_MATMUL_ALLREDUCE,在启用张量并行时启用MatmulAllReduce融合内核。此功能在 A2 上受支持,eager 模式将获得更好的性能。 - 在环境变量中添加
VLLM_ASCEND_ENABLE_MOE_ALL2ALL_SEQ,用于启用 moe all2all seq,这为基于 alltoall 的扩展提供了基本框架。
-
在此 RFC 之后的一系列 PR 使 UT 覆盖率达到了 76.34%:#1298
- 序列并行现已适用于 Qwen3 MoE。#2209
- 现已添加中文在线文档。#1870
已知问题¶
- Aclgraph 当前无法与 DP + EP 配合使用,主要差距在于 Aclgraph 捕获图所需的 npu 流数量不足。#2229
- 在启用多流的 W8A8 动态量化 DeepSeek 上存在精度问题。此问题将在下一个版本中修复。#2232
- 在 Qwen3 MoE 中,SP 无法集成到 Aclgraph 中。#2246
- MTP 当前不支持 V1 调度器,将在 Q3 修复。#2254
- 当 DP > 1 运行 MTP 时,由于 vLLM 的某些问题,我们需要禁用指标记录器。#2254
v0.9.1rc2 - 2025.08.04¶
这是 vLLM Ascend v0.9.1 的第二个候选发布版本。请按照 官方文档 开始使用。
亮点¶
- 现在支持MOE和密集w4a8量化:#1320 #1910 #1275 #1480
- 在#1943中支持动态EPLB
- V1引擎的分离式预填充支持与改进,持续开发和稳定分离式预填充功能,包括单机设置的性能增强和错误修复:#1953 #1612 #1361 #1746 #1552 #1801 #2083 #1989
模型改进¶
- DeepSeek DBO支持与改进:#1285 #1291 #1328 #1420 #1445 #1589 #1759 #1827 #2093
- DeepSeek MTP改进与错误修复:#1214 #943 #1584 #1473 #1294 #1632 #1694 #1840 #2076 #1990 #2019
- Qwen3 MoE支持改进及图模式和DP相关的错误修复:#1940 #2006 #1832
- Qwen3在rmsnorm/rope/mlp算子上的性能改进:#1545 #1719 #1726 #1782 #1745
- DeepSeek MLA分块预填充/图模式/多流改进与错误修复:#1240 #933 #1135 #1311 #1750 #1872 #2170 #1551
- Qwen2.5 VL通过mrope/填充机制改进:#1261 #1705 #1929 #2007
- Ray:修复使用ray时的设备错误,添加initialize_cache并改进警告信息:#1234 #1501
图模式改进¶
- 修复 DeepSeek 与 deepseek 在 mc2 中的问题 #1269
- 修复 deepseek V3/R1 模型在 torchair 图模式下长序列预测的精度问题 #1332
- 修复 torchair_graph_batch_sizes 错误 #1570
- 启用 torchair 图模式下 tp <= 4 的限制 #1404
- 修复 rope 精度错误 #1887
- 支持 FusedMoE 中共享专家的多流 #997
- 在 torchair 图模式下为解码过程启用 kvcache_nz #1098
- 修复 torchair 下的 chunked-prefill 情况,以解决 UnboundLocalError: local variable 'decode_hs_or_q_c' 问题 #1378
- 改进 w8a8 动态场景下共享专家多流性能 #1561
- 修复设置多流时的 moe 错误 #1882
- 在 EP 情况下将图批次大小向上取整到 tp 大小 #1610
- 修复启用 DP 时的 torchair 错误 #1727
- 为 torchair_graph_config 添加额外检查 #1675
- 修复 torchair+chunk-prefill 场景下的 rope 错误 #1693
- 修复 chunked_prefill 为 true 时的 torchair_graph 错误 #1748
- 改进 prefill 优化以支持 torchair 图模式 #2090
- 修复 DP 场景下的 rank 设置 #1247
- 重置所有未使用位置以防止越界,解决 GatherV3 错误 #1397
- 移除 ModelRunner 中重复的多模态代码 #1393
- 修复块表形状以解决精度问题 #1297
- 在有限场景下实现原始全图 #1503
- 在全图中恢复分页注意力内核以提升性能 #1677
- 修复极端
--gpu-memory-utilization场景下的 DeepSeek OOM 问题 #1829 - 启用 TorchAir 时关闭 aclgraph #2154
算子改进¶
- 添加自定义 AscendC 内核
vocabparallelembedding#796 - 修复 rope sin/cos 缓存错误 #1267
- 重构 AscendFusedMoE (#1229) #1264
- 在采样器中使用融合算子 npu_top_k_top_p #1920
核心¶
- 在#2036中将CANN升级至8.2.rc1
- 在#2135中将torch-npu升级至2.5.1.post1
- 在#2136中将python升级至3.11
- 在#1749中禁用了mindie_turbo的量化功能
- 在#1323中修复了v0 spec decode问题
- 在#1271
ACL_OP_INIT_MODE=1中仅在V0 spec decode时直接启用 - 在#1422中重构了forward_context和model_runner_v1
- 在#1423中修复了采样参数问题
- 在#1409中为权重添加了启用NZ布局的开关,并为GMM启用了NZ布局
- 在#1449 #1554 #1598中解决了ascend_forward_context中的bug
- 在#1492中处理PrefillCacheHit状态以修复前缀缓存精度bug
- 在#1651中修复了加载权重错误并添加了新的e2e用例
- 在#1614中优化了deepseek模型中与rope相关的索引选择数量
- 在#1642中添加了mc2 mask
- 在#1667 #1896 #2003中修复了静态EPLB log2phy条件并改进了单元测试
- 在#1703中为prefill添加了chunk mc2
- 在#1711中修复了mc2 op GroupCoordinator的bug
- 在#1721中修复了无法识别量化实际类型的问题
- 在#1755中修复了tp_size == 1时DeepSeek的bug
- 在#1691中添加了对prefill节点中无延迟块的支持
- 在#1547中进行了MoE alltoallv通信优化(用于未量化的RL训练)以及alltoallv对dpo的支持
- 在#1822中适配了dispatchV2接口
- 在#1807中修复了长输出时disaggregate prefill挂起的问题
- 在#1859中修复了engine v0时的flashcomm_v1问题
- 在#1862中修复了某些情况下ep_group不等于word_size的问题
- 在#1808中修复了wheel glibc版本不兼容的问题
- 在#1831中修复了mc2进程组以解决self.cpu_group为None的问题
- 在#1904中将vllm版本锁定为v0.9.1以使mypy检查通过
- 在#1902中应用了npu_moe_gating_top_k_softmax以提升moe性能
- 在#1919中修复了engine v0时path_decorator中的bug
- 在#1644中避免了在disaggregated-prefill场景下执行cpu all_reduce
- 在#1916中为decode MoE添加了super kernel
- 在#1802中进行了[Prefill Perf]并行策略优化(以显存换速度的权衡)
- 在#2016中移除了shared_experts.down_proj中不必要的reduce_results访问
- 在#2002中使用向量化优化了greedy reject sampler
- 在#1936中实现了多个Ps和Ds在单台机器上工作
- 在#2075中修复了当tp > 1且启用multistream_moe时,deepseek模型的shared & routed experts之间的形状冲突
- 在#2031中添加了CPU绑定支持
- 在#2129中添加了with_prefill cpu allreduce以处理D节点重计算
- 在#2038中添加了D2H和initRoutingQuantV2以提升prefill性能
文档¶
- 提供执行时长性能分析的端到端指南 #1113
- 为CANN包下载URL添加Referer头 #1192
- 添加重新安装说明文档 #1370
- 更新Disaggregate prefill README #1379
- 为kv cache注册样式实现Disaggregate prefill #1296
- 在#1965中修复examples/disaggregate_prefill_v1/README.md中的错误和非标准部分
已知问题¶
- 对于特定硬件类型,](https://github.com/vllm-project/vllm-ascend/issues/2182) 尚不支持全图模式。#2182
- Qwen3 MoE 在启用 ep 时,由于 bincount 错误,tp 下的 aclgraph 模式失败。#2226
- 如 v0.9.1rc1 发布说明所述,将不包含 Atlas 300I 系列的支持。
v0.9.2rc1 - 2025.07.11¶
这是 vLLM Ascend v0.9.2 的第一个候选发布版本。请遵循官方文档VLLM_USE_V1=1开始使用。从本次发布起,V1 引擎将默认启用,不再需要设置 。此外,该版本也是最后一个支持 V0 引擎的版本,V0 相关代码将在未来被清理。
亮点¶
- 池化模型现在可以与 V1 引擎一起使用。您可以尝试使用 Qwen3 嵌入模型。#1359
- Atlas 300I 系列的性能已得到提升。#1591
- aclgraph 模式现在可以与 MoE 模型一起使用。目前,仅 Qwen3 MoE 经过了充分测试。[#1381
2.5.1.post1.dev20250619
核心¶
- Ascend PyTorch 适配器 (torch_npu) 已升级至 ](https://github.com/vllm-project/vllm-ascend/pull/1347)。请记得在您的环境中更新它。#1347
- 使用 aclgraph 模式时,GatherV3 错误已修复。#1416
- W8A8 量化现在可以在 Atlas 300I 系列上工作。#1560
- 修复了部署具有并行参数的模型时的精度问题。[#1678
pip install vllm-ascend - 预构建的 wheel 包现在需要较低版本的 glibc。用户可以直接通过 ](https://github.com/vllm-project/vllm-ascend/pull/1582) 使用它。#1582
其他¶
- 官方文档已更新,以提供更好的阅读体验。例如,添加了更多部署教程,更新了用户/开发者文档。更多指南即将推出。
- 修复了 Deepseek V3/R1 模型在使用 torchair 图进行长序列预测时的精度问题。[#1331
VLLM_ENABLE_FUSED_EXPERTS_ALLGATHER_EP - 新增环境变量
0。它为 Deepseek V3/R1 模型启用了融合的 allgather-experts 内核。默认值为 ](https://github.com/vllm-project/vllm-ascend/pull/1335)。[#1335VLLM_ASCEND_ENABLE_TOPK_TOPP_OPTIMIZATION - 新增环境变量 ](https://github.com/vllm-project/vllm-ascend/pull/1732) 以提升 topk-topp 采样的性能。默认值为 0,我们未来会考虑默认启用它。#1732
- 修复了数据并行场景下的一批错误。#1273 #1322 #1275 #1478
- DeepSeek 性能已得到提升。#1194 #1395 #1380
- Ascend 调度器现在可以与前缀缓存一起工作。#1446
- DeepSeek 现在可以与前缀缓存一起工作。#1498
- 支持 prompt logprobs 以恢复 V1 中的 ceval 精度。[#1483https://github.com/vllm-project/vllm-ascend/issues/1751>
已知问题¶
- 流水线并行无法与 ray 和图模式一起工作:https://github.com/vllm-project/vllm-ascend/issues/1754 https://github.com/vllm-project/vllm-ascend/pull/1357
新贡献者¶
- @xleoken 在 https://github.com/vllm-project/vllm-ascend/pull/1335 做出了首次贡献
- @lyj-jjj 在 https://github.com/vllm-project/vllm-ascend/pull/1194 做出了首次贡献
- @sharonyunyun 在 https://github.com/vllm-project/vllm-ascend/pull/1308 做出了首次贡献
- @Pr0Wh1teGivee 在 https://github.com/vllm-project/vllm-ascend/pull/1374 做出了首次贡献
- @leo-pony 在 https://github.com/vllm-project/vllm-ascend/pull/1452 做出了首次贡献
- @zeshengzong 在 https://github.com/vllm-project/vllm-ascend/pull/1477 做出了首次贡献
- @GDzhu01 在 https://github.com/vllm-project/vllm-ascend/pull/1531 做出了首次贡献
- @Agonixiaoxiao 在 https://github.com/vllm-project/vllm-ascend/pull/1476 做出了首次贡献
- @zhanghw0354 在 https://github.com/vllm-project/vllm-ascend/pull/1591 做出了首次贡献
- @farawayboat 在 https://github.com/vllm-project/vllm-ascend/pull/1196 做出了首次贡献
- @ZhengWG 在 https://github.com/vllm-project/vllm-ascend/pull/1654 做出了首次贡献
- @wm901115nwpu 在 https://github.com/vllm-project/vllm-ascend/compare/v0.9.1rc1...v0.9.2rc1 做出了首次贡献
完整更新日志: <](https://github.com/vllm-project/vllm-ascend/tree/v0.9.1rc1)
v0.9.1rc1 - 2025.06.22¶
这是 vLLM Ascend v0.9.1 的第一个候选发布版本。请按照官方文档开始使用。
实验性¶
- 此版本实验性支持 Atlas 300I 系列(功能测试已通过 Qwen2.5-7b-instruct/Qwen2.5-0.5b/Qwen3-0.6B/Qwen3-4B/Qwen3-8B)。#1333
- 支持 EAGLE-3 用于推测解码。[#1032
2.5.1.post1.dev20250528
经过慎重考虑,考虑到 v0.9.1 版本的发布质量要求以及功能的快速迭代,上述功能**将不会包含在 v0.9.1-dev 分支(v0.9.1 正式版)中**。我们将在 0.9.2rc1 及更高版本中对此进行改进。
核心¶
- Ascend PyTorch 适配器 (torch_npu) 已升级至 ](https://github.com/vllm-project/vllm-ascend/pull/1235)。请记得在您的环境中更新它。#1235
- 支持 Atlas 300I 系列容器镜像。您可以从 quay.io 获取。
- 修复了逐 token 填充机制,使多卡图模式能够工作。#1300
- 将 vLLM 升级至 0.9.1。#1165
其他改进¶
- 初步支持 MLA 的 Chunked Prefill。#1172
- 新增了使用 ETP 运行 DeepSeek 的最佳实践示例。#1101
- 使用 TorchAir 图对 DeepSeek 进行了性能改进。#1098, #1131
- 支持使用 AscendScheduler 的推测解码功能。[#943
VocabParallelEmbedding - 提升 ](https://github.com/vllm-project/vllm-ascend/pull/796) 自定义算子的性能。该功能将在下一个版本中启用。#796
- 修复了在 Ray 上运行 vLLM Ascend 时的设备发现和设置错误。#884
- 带有 MC2(合并计算与通信)的 DeepSeek 现在可以正常工作。#1268
- 修复了静态 EPLB 功能中的 log2phy NoneType 错误。#1186
- 改进了启用 DBO 的 DeepSeek 的性能。#997, #1135
- 重构 AscendFusedMoE。#1229
- 新增初始用户故事页面(包含 LLaMA-Factory/TRL/verl/MindIE Turbo/GPUStack)。#1224
- 新增单元测试框架。#1201
已知问题¶
- 在某些情况下,当启用 aclgraph 时,vLLM 进程可能会因 GatherV3 错误而崩溃。我们正在处理此问题,并将在下一个版本中修复。#1038
- 前缀缓存功能在启用 Ascend Scheduler 但未启用分块预填充时无法正常工作。此问题将在下一个版本中修复。[#1350https://github.com/vllm-project/vllm-ascend/compare/v0.9.0rc2...v0.9.1rc1>
完整更新日志¶
https://github.com/vllm-project/vllm-ascend/pull/1333
新贡献者¶
- @farawayboat 首次贡献于 https://github.com/vllm-project/vllm-ascend/pull/1159
- @yzim 首次贡献于 https://github.com/vllm-project/vllm-ascend/pull/1098
- @chenwaner 首次贡献于 https://github.com/vllm-project/vllm-ascend/pull/1184
- @wangyanhui-cmss 首次贡献于 https://github.com/vllm-project/vllm-ascend/pull/1186
- @songshanhu07 首次贡献于 https://github.com/vllm-project/vllm-ascend/pull/1032
- @yuancaoyaoHW 首次贡献于 https://github.com/vllm-project/vllm-ascend/compare/v0.9.0rc2...v0.9.1rc1
完整更新日志: <](https://github.com/vllm-project/vllm-ascend/pull/1152)
v0.9.0rc2 - 2025.06.10¶
本次发布包含了一些针对 v0.9.0rc1 的快速修复。请使用本次发布版本,而不是 v0.9.0rc1。
亮点¶
- 修复了以非可编辑方式安装 vllm-ascend 时的导入错误。#1152
v0.9.0rc1 - 2025.06.09¶
这是 vllm-ascend v0.9.0 的第一个候选发布版本。请按照官方文档VLLM_USE_V1=1开启您的旅程。从本次发布开始,推荐使用 V1 引擎。V0 引擎的代码已被冻结且不再维护。请设置环境变量 以启用 V1 引擎。
亮点¶
- DeepSeek 现在支持图模式。请参考官方文档进行尝试。[#789
enforce_eager=True - Qwen 系列模型现在支持图模式。在 V1 引擎下默认启用。请注意,在此版本中,只有 Qwen 系列模型经过了图模式的充分测试。我们将在下一个版本中使其稳定并通用化。如果遇到任何问题,请随时在 GitHub 上提交 issue,并暂时通过初始化模型时设置 ](https://github.com/vllm-project/vllm-ascend/pull/814) 回退到 eager 模式。
核心¶
- 多步调度器的性能已得到改进。感谢招商银行的贡献。#814
- V1 引擎现在支持 LoRA、Multi-LoRA 和动态服务。感谢招商银行的贡献。#893
- 前缀缓存和分块预填充功能现已可用。#782 #844
- 推测解码和 MTP 功能现在支持 V1 引擎。#874 #890
- DP 功能现在支持 DeepSeek。#1012
- 输入嵌入功能现在支持 V0 引擎。#916
- 休眠模式功能现在支持 V1 引擎。#1084
模型¶
- Qwen2.5 VL 现在支持 V1 引擎。#736
- Llama4 现已可用。[#740
VLLM_ASCEND_ENABLE_DBO=1 - 新增了一种名为双批次重叠(DBO)的新型 DeepSeek 模型。请设置 ](https://github.com/vllm-project/vllm-ascend/pull/941) 以使用它。#941
其他¶
- 在线推理现已支持昇腾量化。#877
- 修复了图模式和MoE模型的一批错误。#773 #771 #774 #816 #817 #819 #912 #897 #961 #958 #913 #905
- 合并了一批性能优化PR。#784 #803 #966 #839 #970 #947 #987 #1085
- 从本版本开始,也将发布二进制wheel包。#775
- 贡献者文档站点已添加。
已知问题¶
- 在某些情况下,启用aclgraph可能导致vLLM进程崩溃。我们正在处理此问题,并将在下一个版本中修复。
- 本版本不支持多节点数据并行。这是vllm的一个已知问题,已在主分支上修复。#18981
v0.7.3.post1 - 2025.05.29¶
这是 0.7.3 的第一个修订版本(post release)。请按照官方文档开始使用。本次更新包含以下更改:
亮点¶
- 现已支持Qwen3和Qwen3MOE。Qwen3的性能和准确性已得到充分测试,您可以立即尝试。建议使用Mindie Turbo来提升Qwen3的性能。#903 #915
- 新增了性能指南。该指南旨在帮助用户在系统层面提升vllm-ascend性能,包括操作系统配置、库优化、部署指南等。#878 文档链接
错误修复¶
- Qwen2.5-VL 现在可用于RLHF场景。#928
- 用户现在可以从在线权重启动模型,例如直接从huggingface或modelscope启动。#858 [#918
UserWorkspaceSize0 - 清除了无意义的日志信息](https://github.com/vllm-project/vllm-ascend/pull/911)。[#911
Failed to import vllm_ascend_C warning的日志级别已从error改为](https://github.com/vllm-project/vllm-ascend/pull/956)。#956- DeepSeek MLA现在可以在V1引擎中与chunked prefill配合使用。请注意,0.7.3中的V1引擎仅为实验性,仅供测试使用。#849 #936
文档¶
v0.7.3 - 2025.05.08¶
🎉 你好,世界!
我们很高兴地宣布 vllm-ascend 0.7.3 正式发布。这是首个正式发布的版本。该版本的功能、性能和稳定性已通过充分的测试和验证。我们鼓励您试用并提供反馈。如有需要,我们将在未来发布 Bug 修复版本。请参阅官方文档开启您的旅程。
亮点¶
- 本版本包含了之前候选版本(v0.7.1rc1、v0.7.3rc1、v0.7.3rc2)中的所有功能。所有功能均已充分测试和验证。请访问官方文档获取详细的功能和模型支持矩阵。
- 将CANN升级至8.1.RC1以启用chunked prefill和自动前缀缓存功能。您现在可以启用它们。
- 将PyTorch升级至2.5.1。vLLM Ascend现在不再依赖torch-npu的开发版本。用户现在无需手动安装torch-npu。2.5.1版本的torch-npu将自动安装。#662
- 将MindIE Turbo集成到vLLM Ascend中,以提升DeepSeek V3/R1、Qwen 2系列的性能。#708
核心¶
- 现已支持LoRA、Multi-LoRA和动态服务。性能将在下一个版本中提升。请遵循官方文档获取更多使用信息。感谢招商银行的贡献。#700
模型¶
- 提升了Qwen2 vl和Qwen2.5 vl的性能。[#702
apply_penalties - 提升了
topKtopP和](https://github.com/vllm-project/vllm-ascend/pull/525)算子的性能。#525
其他¶
- 修复了可能导致CPU内存泄漏的问题。#691 [#712
SOC_VERSION - 新增环境变量
SOC_VERSION。如果在启用自定义算子时构建遇到soc检测错误,请将 ](https://github.com/vllm-project/vllm-ascend/pull/606) 设置为合适的值。#606 - 支持带有 v0.7.3-openeuler 标签的 openEuler 容器镜像。#665
- 前缀缓存功能现在可在 V1 引擎上运行。#559
v0.8.5rc1 - 2025.05.06¶
这是 vllm-ascend v0.8.5 的第一个候选发布版本。请按照官方文档VLLM_USE_V1=1开启您的旅程。现在您可以通过设置环境变量 来启用 V1 引擎,详情请查看[特性支持矩阵--enable_prefix_caching。
亮点¶
- 升级 CANN 版本至 8.1.RC1,以支持在启用 V1 时的分块预填充和自动前缀缓存 (](https://github.com/vllm-project/vllm-ascend/pull/747)) #747
- 优化 Qwen2 VL 和 Qwen 2.5 VL #701
- 提升 Deepseek V3 的 eager 模式和 graph 模式性能,现在可以使用 --additional_config={'enable_graph_mode': True} 来启用 graph 模式。#598 #719
核心¶
- 升级 vLLM 至 0.8.5.post1 #715
- 修复 profile_run 期间 CustomDeepseekV2MoE.forward 中的提前返回问题 #682
- 适配由 modelslim 生成的新量化模型 #719
- 初步支持基于 llm_datadist 的 P2P 分离式预填充 [#694
/vllm-workspace - 使用
.git作为代码路径,并在容器镜像中包含/workspace,以修复在 ](https://github.com/vllm-project/vllm-ascend/pull/726) 下启动 vllm 时的问题 #726 - 优化 NPU 内存使用,使 DeepSeek R1 W8A8 32K 模型长度能够正常工作。[#728
PYTHON_INCLUDE_PATH - 修复 setup.py 中 ](https://github.com/vllm-project/vllm-ascend/pull/762) 的拼写错误 #762
其他¶
v0.8.4rc2 - 2025.04.29¶
这是 vllm-ascend v0.8.4 的第二个候选发布版本。请按照官方文档开启您的旅程。本版本包含了一些实验性功能,如 W8A8 量化以及专家并行(EP)/数据并行(DP)支持。我们将在下一个版本中进一步提升这些功能的稳定性。
亮点¶
- 现已支持 Qwen3 和 Qwen3MOE。请参考官方文档运行快速演示。#709
- 现已支持 Ascend W8A8 量化方法。请参考官方文档示例。欢迎提供任何反馈。#580
- DeepSeek V3/R1 现已支持 DP、TP 和 MTP。请注意,此功能仍处于实验阶段。如果遇到任何问题,请告知我们。#429 #585 #626 #636 #671
核心¶
- ACLGraph 功能现已支持 V1 引擎。默认情况下该功能处于禁用状态,因为它依赖于 CANN 8.1 版本。我们将在下一个版本中默认启用它 #426
- 升级 PyTorch 至 2.5.1。vLLM Ascend 不再依赖于 torch-npu 的开发版本。现在用户无需手动安装 torch-npu。2.5.1 版本的 torch-npu 将自动安装。#661
其他¶
- MiniCPM 模型现已可用。[#645
v0.8.4-openeuler - 支持带有 ](https://github.com/vllm-project/vllm-ascend/pull/689) 标签的 openEuler 容器镜像,并且对于 openEuler OS,自定义算子构建默认启用。#689
- 修复 ModuleNotFoundError 错误,使 Lora 能够正常工作 #600
- 添加“使用 EvalScope 评估”文档 [#611
VLLM_VERSION - 添加 ](https://github.com/vllm-project/vllm-ascend/pull/651) 环境变量,使 vLLM 版本可配置,以帮助开发者在本地手动修改 vLLM 代码时设置正确的 vLLM 版本。#651
v0.8.4rc1 - 2025.04.18¶
这是 vllm-ascend v0.8.4 的第一个候选发布版本。请按照官方文档开启您的旅程。从本版本起,vllm-ascend 将跟随 vLLM 的最新版本,每两周发布一次。例如,若 vLLM 在未来两周内发布 v0.8.5,则 vllm-ascend 将发布 v0.8.5rc1 而非 v0.8.4rc2。详情请参阅版本发布政策。
亮点¶
- 本版本包含对 vLLM V1 引擎的实验性支持。您可以访问官方指南
VLLM_USE_V1=1获取更多详情。默认情况下,如果 V1 无法工作,vLLM 将回退到 V0,如果您想强制使用 V1,请设置 环境变量。 - 现已支持 LoRA、Multi-LoRA 和动态服务。性能将在下一个版本中提升。请参考官方文档了解更多使用信息。感谢招商银行的贡献。#521。
- 支持休眠模式功能。目前该功能仅适用于 V0 引擎。V1 引擎的支持即将推出。#513
核心¶
- 为V1引擎添加了Ascend调度器。该调度器与Ascend硬件具有更好的亲和性。未来将添加更多调度策略。#543
- 支持分离式预填充功能。目前仅支持1P1D模式。NPND正在由vllm团队设计。vllm-ascend将在vLLM就绪后支持该功能。请按照官方指南使用。#432
- 推测解码功能现已可用。目前仅支持V0引擎,V1引擎支持即将推出。#500
- V1引擎现已支持结构化输出功能。目前仅支持xgrammar后端,使用guidance后端可能会遇到一些错误。[#555
pyhccl
其他¶
- 新增通信器
torch.distribute,用于直接调用CANN HCCL库,替代 ](https://github.com/vllm-project/vllm-ascend/pull/503)。更多用法将在下一版本中添加。[#503gcc - 自定义算子构建默认启用。您需要先安装
cmake、vllm-ascend等软件包,然后从源码构建COMPILE_CUSTOM_KERNELS=0。如果不需要编译,可设置环境变量 ](https://github.com/vllm-project/vllm-ascend/pull/466) 禁用。[#466rotary embedding - 自定义算子 ](https://github.com/vllm-project/vllm-ascend/pull/555) 现已默认启用,以提升性能。#555
v0.7.3rc2 - 2025.03.29¶
这是 vllm-ascend v0.7.3 的第二个候选发布版本。请参考[官方文档https://docs.vllm.ai/projects/ascend/en/v0.7.3/quick_start.html>开始使用。
- 使用容器快速开始:https://docs.vllm.ai/projects/ascend/en/v0.7.3/installation.html
- 安装指南:<
rotary_embedding
亮点¶
- 添加Ascend自定义算子框架。开发者现在可以使用AscendC编写自定义算子。新增了示例算子
COMPILE_CUSTOM_KERNELS=1。更多教程即将推出。安装vllm-ascend时,自定义算子编译默认禁用。设置 ](https://github.com/vllm-project/vllm-ascend/pull/371) 以启用。#371 - 本版本初步支持V1引擎。完整支持将在0.8.X版本中完成。如果您遇到任何问题或对V1引擎有任何需求,请通过此issue告知我们。[#376
enable_prefix_caching=True - 前缀缓存功能现已可用。您可以设置 ](https://github.com/vllm-project/vllm-ascend/pull/282) 来启用。[#282
!!!
核心¶
- 升级torch_npu版本至dev20250320.3,以提高精度并修复 ](https://github.com/vllm-project/vllm-ascend/pull/406) 输出问题。#406
模型¶
- 通过优化patch嵌入(Conv3D)提升了Qwen2-vl的性能。#398
其他¶
v0.7.3rc1 - 2025.03.14¶
🎉 你好,世界!这是 vllm-ascend v0.7.3 的第一个候选发布版本。请参考[官方文档https://docs.vllm.ai/projects/ascend/en/v0.7.3/quick_start.html>开启您的体验。
- 使用容器快速开始:https://docs.vllm.ai/projects/ascend/en/v0.7.3/installation.html
- 安装指南:<](https://docs.vllm.ai/projects/ascend/en/v0.7.3/tutorials/multi_node.html)
亮点¶
核心¶
- 升级torch_npu版本至dev20250308.3,以提高
BAAI/bge-base-en-v1.5精度 - 添加了对池化模型的初步支持。基于Bert的模型,如
BAAI/bge-reranker-v2-m3和 ](https://github.com/vllm-project/vllm-ascend/pull/229) 现已可用。#229
模型¶
其他¶
- 支持DeepSeek V3/R1的MTP(多令牌预测)功能。#236
- [文档] 添加了更多模型教程,包括DeepSeek、QwQ、Qwen和Qwen 2.5VL。详情请参阅[官方文档https://github.com/vllm-project/vllm/pull/13807>
- 在vLLM v0.7.3上固定modelscope<1.23.0以解决:<](https://github.com/vllm-project/vllm-ascend/issues/324)
已知问题¶
- 在[某些情况
temperature下,特别是输入/输出非常长时,输出的精度可能不正确。我们正在处理此问题,将在下一版本中修复。 - 改进并减少了模型输出中的乱码。但如果仍遇到此问题,请尝试更改生成配置值(例如 ](https://github.com/vllm-project/vllm-ascend/issues/267))并重试。下面还列出了一个已知问题。欢迎提供任何反馈。#277
v0.7.1rc1 - 2025.02.19¶
🎉 你好,世界!
我们很高兴地宣布 vllm-ascend v0.7.1 的第一个候选发布版本。
vLLM Ascend Plugin (vllm-ascend) 是一个由社区维护的硬件插件,用于在 Ascend NPU 上运行 vLLM。通过此版本,用户现在可以在 Ascend NPU 上享受 vLLM 的最新功能与改进。
请遵循官方文档开始您的旅程。请注意,这是一个候选发布版本,可能存在一些错误或问题。我们感谢您的反馈和建议,请通过此问题提交。
亮点¶
- 初步支持vLLM上的Ascend NPU。#3
- 现已支持DeepSeek。#88 #68
- 还支持Qwen、Llama系列及其他流行模型,更多详情请参见supported_models。
核心¶
其他¶
已知问题¶
- 此版本依赖于一个未发布的torch_npu版本。官方容器镜像中已预装该版本。如果您使用非容器环境,请手动[安装
No platform detected, vLLM is running on UnspecifiedPlatform。 - 运行vllm-ascend时,可能会出现类似
Failed to import from vllm._C with ModuleNotFoundError("No module named 'vllm._C'")或](https://github.com/vllm-project/vllm/pull/12432)的日志。这实际上不影响任何功能和性能,您可以忽略。此问题已在此[PR# CPU blocks: 35064, # CPU blocks: 2730中修复,该修复将很快包含在v0.7.3中。 - 运行vllm-ascend时,可能会出现类似
# NPU blocks:的日志,而正确的应为](https://github.com/vllm-project/vllm/pull/13378)。这实际上不影响任何功能和性能,您可以忽略。此问题已在此[PR