版本发布说明

目录

版本发布说明#

v0.23.0 - 2026.08.16#

我们很高兴地宣布官方 vLLM Ascend v0.23.0 版本发布,该版本与上游 vLLM v0.23.0 保持一致。本说明总结了自上一个官方版本 v0.18.0 以来的累计用户可见变更,包括 v0.19.1rc1、v0.20.2rc1、v0.21.0rc1、v0.22.1rc1 和 v0.23.0rc1 开发周期。请参阅官方文档以开始使用。

标记为 的 PR 引用是在 v0.23.0rc1 之后合并到 v0.23.0 发布分支中的。

亮点#

  • Ascend 950 和 DeepSeek V4:在 Ascend 950 上新增了端到端的 DeepSeek V4 支持,包括 DSA 注意力、MTP、分段图执行、分布式推理、稀疏注意力、CPU 绑定以及 MXFP 量化和通信路径。#9757 #9935 #10236 #11014

  • 模型与硬件覆盖:扩展了对GLM-5.2、GLM-4.7-Flash、Qwen3.5/Qwen3.6、Qwen3-ASR、Qwen3-Omni、Bailing MoE、Gemma4、Step3和MiniMax 2.x系列模型在A2、A3、Ascend 950和Atlas 300I DUO上的支持与部署指南。GLM-5.2在Atlas 800 A3上支持最长1M token的长序列推理。#8657 #9560 #10441 #10697 #11091 #11264 #12115

  • 上下文并行和稀疏注意力:新增了带有复制索引器、紧凑 KV 收集、C8 支持以及设备端元数据路径的 SFA DCP,适用于长上下文和 P/D 分离部署。#9638 #9809 #11819 #11871 #11981

  • KV缓存生命周期与卸载:新增混合/Mamba注意力前缀缓存;在AscendStore中实现了覆盖所有后端的CPU和SSD卸载。#8743 #9533 #9731 #10393

  • 图和投机执行:新增了 FULL_AND_PIECEWISE 图模式,该模式默认启用且无需手动配置;DFlash FULL_DECODE_ONLY;零气泡异步调度;P-Eagle 和 PARD;以及扩展的 MTP/Eagle3 支持。#7640 #8118 #9572 #10042 #10566

功能特性#

  • 新增了多模态 DFlash、对 Qwen VL/MoE 模型的 FlashComm 支持,以及支持 PCP 感知的多模态推理。#7486 #7897 #8038 #9340

  • 新增了用于强化学习工作负载的 HCCL 权重传输,以及用于投机草稿模型的 D2D NetLoader 支持。#9152 #9893

  • 扩展了 Model Runner V2,新增了初步的 MoE 和 Eagle 支持。#7885 #7922

  • 扩展了 EPLB,新增了额外的可观测性和动态负载均衡器示例。#9536 #10627

  • 将 C8 INT8 KV 缓存扩展到具有打包布局和 DCP 复制索引器的稀疏注意力路径,并为 Ascend 950 新增了 W8A8FP8 和 W4A16 MXFP 量化路径。#10236 #11014 #11846 #11871

硬件和算子支持#

  • 新增并优化了循环 GDN、因果 Conv1D、稀疏注意力、LightningIndexer、压缩器和融合量化算子。#7798 #7926 #9382 #9491 #9825 #10730

  • 扩展了Atlas 300I DUO对Qwen3.5、Qwen3.6、Qwen3-ASR、Qwen3-VL、量化MoE路径、MTP和图执行的支持。#7674 #7725 #10309 #12115 #13262

  • 新增Python 3.12支持,并将发布镜像迁移至Python 3.12。#9558

性能#

除非另有说明,这些优化会自动为目标路径选择,无需额外配置。

  • 将受支持的A2/A3注意力工作负载中的npu_fusion_attention替换为_npu_flash_attention_unpad。该优化会自动选择,无需手动设置。#8671

  • 在使用PCP进行MLA预填充时,避免投影未使用的尾部KV令牌。使用--prefill-context-parallel-size启用PCP后,该优化会自动生效。#8787

  • 减少了使用异步调度的工作负载中的调度器下发气泡。使用--async-scheduling启用该功能。#8766

  • 为异步推测解码新增了零气泡调度。使用--async-scheduling并配合推测解码配置即可启用。#7640

  • 使用aclrtMemcpyBatchAsync对CPU卸载工作负载进行批量KV缓存卸载拷贝。按文档配置KV缓存CPU卸载后,该路径内会自动进行批处理。#7819

  • 通过在通信前选择所需块,减少了PCP/DCP KV缓存全聚合流量。使用--prefill-context-parallel-size--decode-context-parallel-size启用PCP或DCP即可,无需单独的优化开关。#8050

  • 优化了受支持的量化模型路径中的split_qkv_tp_rmsnorm_rope内核。内核选择是自动的,无需手动设置。#8059 #9830

  • 移除了Qwen3-Next和Qwen3.5路径中的预填充主机-设备同步。该优化会自动应用于这些模型。#7967

  • 减少了PCP/DCP的SFA预填充KV全聚合通信。启用相应的上下文并行模式后,优化后的通信路径会自动生效。#8043

  • 为使用重复、频率或存在惩罚的请求新增了Triton惩罚内核。当请求惩罚时,该内核会自动被选择。#7569

  • 优化了Model Runner V2的温度和top-k log-softmax内核。对于Model Runner V2上的采样工作负载,这些内核会自动被选择。#8083

  • 优化了Model Runner V2的min-p内核。当请求min-p采样时,该优化会自动生效。#8243 #7767

  • 为不良词过滤新增了Model Runner V2 Triton内核。当提供bad_words时,该内核会自动生效。#8030

  • 优化了Model Runner V2的bincount内核。对于需要令牌计数的采样路径,该内核会自动被选择。#7757

  • 优化了Model Runner V2的ranks内核。对于相应的采样路径,该内核会自动被选择。#7767

  • 减少了由运行时函数参数导致的可避免的Triton重新编译。缓存友好的路径是自动的,无需手动设置。#7481 #7483

  • 复用等效的HCCL进程组以减少分布式初始化开销。对于匹配的组,复用是自动的。#7654

  • 将CPU绑定延迟到工作器预热完成之后,以避免干扰初始化。在受支持的ARM服务器上,CPU绑定默认启用;除非显式禁用,否则无需手动设置。#7829

  • 当内核大小等于步长时,将符合条件的Conv3D运算转换为线性运算。对于匹配的模型,转换是自动的。#8318

  • 优化了Ascend 310P上的MoE路由。该优化会自动应用于受支持的310P MoE工作负载。#9105

  • 为受支持的量化模型新增了NZ格式的W4A8 MoE压缩张量。使用Ascend量化加载兼容的W4A8检查点即可,格式选择是自动的。#9625

  • 优化了PCP/DCP在投机解码下的不规则掩码构建。启用上下文并行和投机解码即可,无需单独的优化开关。#9678

  • 重构了DFlash和MTP的reduce采样。该功能仍处于实验阶段,默认关闭;可通过additional_config.enable_reduce_sample=true启用,用于分布式贪心、top-k/top-p或拒绝采样。#8308 #9735

  • 为DeepSeek V4 DSA压缩器、indexer-select、CV并行和纯prefill路径增加了多流计算-通信重叠。启用FlashComm1和适用的DSA-CP/重叠配置后,优化子路径将自动被选中。#9433 #9441 #9450 #9504 #9530 #10518

  • 通过IndexCache在解码步骤间复用DeepSeek V4 DSA的topk_indices。该优化自动适用于符合条件的DSA解码工作负载。#9390

  • 移除了PIECEWISE图执行中的主机-设备同步点。FULL_AND_PIECEWISE是默认图模式,因此无需手动配置。#9025

  • 优化了FusedMoE中共享专家重叠的时序。启用支持的共享专家重叠配置后,该路径内的时序优化将自动生效。#9413

  • 跳过了混合缓存模型中Mamba组不必要的槽位映射计算。当模型使用Mamba缓存组时,该优化自动生效。#10492

  • 在设备上构建单秩DSA压缩器元数据,以消除CPU构建和同步。该优化自动适用于符合条件的非CP DSA压缩KV路径。#10741

  • 向量化了SFA局部序列长度计算,以消除每个请求的NPU到CPU同步。该优化自动适用于SFA工作负载。#11816

  • 将SFA DSA-CP输出合并中的全量all-gather替换为token分片的all-to-all,以减少通信量和接收缓冲区峰值使用。启用FlashComm1和additional_config.enable_dsa_cp=true即可,无需单独的优化开关。#12137

  • 降低了PCP FlashAttention路径中的恢复和输出合并开销。通过--prefill-context-parallel-size启用PCP后,优化后的恢复路径将自动生效。#11842

  • 在构建上下文并行投机提议者元数据时避免了主机到设备的同步。启用上下文并行和投机解码后,优化后的元数据路径将自动生效。#11862

  • 在异步主机到设备拷贝前对查询起始位置进行快照,以保持非阻塞元数据传输。该优化自动适用于异步拷贝路径。#12071

  • 增加了融合的W4A8 MoE分发、FFN和合并,以实现通信与计算的重叠。使用Ascend量化加载支持的W4A8 MoE检查点后,融合内核的选择将自动完成。#7779

  • 为DSA-CP输出投影TP权重增加了异步all-gather。启用FlashComm1和additional_config.enable_dsa_cp=true后,异步路径将自动生效。#10694

  • 改进了启用MTP时DeepSeek V4的prefix缓存命中率。vLLM V1中prefix缓存默认启用;除非之前已禁用,否则无需额外标志。#11107

  • 复用了预构建的chunk主机元数据,以减少Qwen3.5和MiniMax-M2.5工作负载的同步开销。该优化自动适用于受影响的模型路径。#9310

  • 为P/D分离部署并行化了Mooncake KV接收处理。配置Mooncake KV传输连接器后,接收并行将自动生效。#10548

  • 优化了AscendStore键构建和KV池未命中处理,以降低主机开销。配置AscendStoreConnector后,优化路径将自动被选中。#12783

  • 在AscendStore的查询、保存和加载操作间复用分组块哈希,以减少重复的主机端哈希计算。配置AscendStoreConnector后,复用将自动生效。#13169

稳定性与错误修复#

  • 修复了 P/D、PCP、MTP 和 DCP 中 GDN 状态和图调度精度的回归问题,包括单 token 有状态预填充处理。#11195 #11893 #12027 #12255

  • 修复了 Qwen3.5/Qwen3.6 投机解码精度、Mamba 前缀缓存损坏、块表溢出以及 Atlas 300I DUO 图失败问题。#11337 #11408 #11353 #11659 #11920 #12038

  • 修复了 GLM-5.1 IndexCache 权重加载以及 GLM-4.7-Flash 在 MTP 和逐层 Memcache 下首次请求的 IndexError 问题。#11363 #11829

  • 修复了 Qwen MoE 路由溢出和共享专家门控失败、Qwen3-Omni ModelSlim W8A8 检查点加载,以及 Atlas 300I DUO 上 Qwen3-VL 旋转嵌入复制竞争问题。#11391 #11730 #12321 #11679 #12132

  • 修复了 DeepSeek-R1-0528 W8A8 共享专家无钳位精度路径,以及 MiniMax-M2/M2.5 的畸形流式工具调用或 TP8+EP 启动问题。#11775 #11505

  • 修复了 DeepSeek V4 MXFP 路由精度、W4A16MXFP 通信精度,以及 eager draft 编译配置隔离问题。#11663 #11718 #12587#12722

  • 修复了 KV 传输顺序和 TP 分片一致性、Mooncake 分组、AscendStore 哈希/租约/查找处理,以及逐层 KV Pool 失败问题。#11887 #12252 #12371#12797#12819

  • 修复了 DCP/DP 服务挂起问题,将重计算调度器限制为仅解码节点,并将 AscendStore 初始化延迟到第一个真实解码请求。#12034 #11490 #11673

  • 禁用了与融合 MC2 不支持的共享专家多流重叠,并修复了 SFA 在 DSA-CP 和多个投机 token 下 MTP 接受率低的问题。#12245 #10878

  • 修复了 AscendStore 与流水线并行的兼容性,并暴露了后端失败。#12762

  • 修复了逐层 KV Pool 传输中无效 GVA 的处理。#12643

  • 修复了 A5 BF16 mm_reduce_scatter 通信模式选择,并将 FP8 量化检测限制为仅 A5 设备。#12826#12895

  • 将 SFA DSA-CP KV 张量打包为一次 all-gather,以纠正并简化通信路径。#12867

  • 在 Atlas 300I DUO 上自动禁用不支持的 npugraph_ex 编译,并修复了底层旋转和稀疏注意力分块/元数据问题。#12366#12446#12841

  • 修复了小 token 形状下 npu_dequant_swiglu_quant 的精度问题,并将 return_lse 传播到 QuantSFA 算子。#12913#13197

  • 移除了不必要的 Memcache 惰性初始化,并通过恢复同步保存、向调度器报告异步加载失败以及在传输线程中使用分组块大小来强化 AscendStore 传输。#13028#13024#13099#13110

  • 从自定义算子 CMake 构建中移除了 -Werror,使编译器警告不会导致发布构建失败。#13095

依赖项#

  • 上游vLLM:v0.23.0。

  • Python:>= 3.10, < 3.13。

  • CANN:A2、A3和Ascend 950使用9.1.0;Atlas 300I DUO的平台特定CANN包请参阅其安装指南。#13421

  • PyTorch / torch_npu:2.10.0 / 2.10.0.post4。

  • Triton Ascend:A2、A3和Ascend 950使用3.2.2;Atlas 300I DUO不支持Triton Ascend。

  • Mooncake:发布镜像中为0.3.11.post1。

弃用和配置更改#

  • 原来的enable_sparse_c8选项已拆分为enable_sparse_sfa_c8enable_sparse_li_c8;请根据所使用的稀疏注意力组件更新--additional-config#12351

  • 将FlashComm1部署从VLLM_ASCEND_ENABLE_FLASHCOMM1迁移到additional_config.enable_flashcomm1#9064

  • VLLM_ASCEND_ENABLE_CONTEXT_PARALLELAscendConfig迁移期间已被移除。DSA-CP现在由additional_config.enable_dsa_cp控制;以前依赖FlashComm1隐式启用DSA-CP的部署必须显式启用这两个选项。#9668 #9697 #9910

  • 在v0.23.0支持矩阵中,序列并行被标记为对所有当前模型类别不可用;在v0.18.0中使用它的部署应在适用的情况下迁移到FlashComm1。#12860

  • ASCEND_BUFFER_POOL已被移除。请根据硬件和部署路径使用ASCEND_ENABLE_USE_FABRIC_MEM=1HCCL_INTRA_ROCE_ENABLE=1#13834

即将弃用#

以下功能和优化计划在未来的版本中弃用:

  • 层分片。

  • FlashComm2。

  • FlashComm3多流重叠门控。

  • 汉明稀疏。

  • 异步指数重叠。

  • 矩阵乘法全规约及矩阵乘法全规约RMSNorm融合。

  • 权重预取。

  • 动态批处理SLO。

  • KV池中的KV卸载。

  • 融合MC2模式2(enable_fused_mc2=2)。

  • 分页注意力及pa_shape_list

文档#

  • 刷新了Ascend 950 DeepSeek-V3.1/V3.2和GLM-5.2的部署指南。#12937#13043

已知问题#

  • v0.23.0不支持流水线并行(PP)与预填充上下文并行(PCP)的组合使用。

  • 减少采样(additional_config.enable_reduce_sample=true)为实验性功能。它与P/D分离式服务和lmhead张量并行不兼容,在这些场景下会被自动禁用。当请求采样logprobs时请勿启用此功能,因为logprob值和top-k排名将在分区logits上计算,结果可能不正确。#13469#13632

  • GLM-5.2的1M上下文部署仅在Atlas 800 A3上进行了验证;A2系列未针对1M上下文进行验证。

  • 对于使用稀疏Flash注意力(SFA)的模型(包括DeepSeek-V3.2、GLM-5.1和GLM-5.2)的P/D分离式服务,DCP必须在prefiller和decoder节点上同时启用或同时禁用。不对称的DCP配置可能导致精度问题。#14322

  • 在Ascend 950上,SFA不支持上下文并行;上下文并行的MLA和GQA路径为实验性功能。#13303

  • 在v0.23.0中,将GLM-5.2 DCP与稀疏Flash注意力C8(enable_sparse_sfa_c8)结合使用存在已知问题,包括性能下降,因此不建议使用。#14011

  • 在Atlas 300I DUO或Atlas 200I Pro(310P)上,与浮点模型相比,Qwen3.5-2B-W8A8 GSM8K的准确率波动可能超过1%。#14335

  • 在A2或A3上运行DeepSeek V4时,当不同的输入形状触发Triton内核重新编译时,高并发下可能会出现1-2秒的TPOT峰值。#14324

  • 由于间歇性评估失败(包括容器崩溃、超时、依赖项下载失败和代理非确定性),DeepSeek V4 Flash和GLM-5.1 SWE基准测试结果可能会有所不同。#14326

  • DeepSeek-V3.1大型EP部署与目标性能之间存在3%-5%的性能差距。#14327

  • 在Ascend 950单节点混合P/D部署上运行GLM-5.1时,对于没有前缀缓存命中的64K输入/1K输出工作负载,可能会产生过多的P/D传输开销。#14328

  • 同时启用sfa_c8li_c8的GLM-5.1 P/D分离式服务在64K输入/1K输出工作负载下存在性能回退问题。#14329

  • 在图模式下,torch.ops._C_ascend.mla_preprocesstorch.ops._C_ascend.batch_matmul_transpose可能会在plog中产生rtMemcpy 107030错误;该错误不影响推理。#14347

  • 启用enable_sparse_sfa_c8的GLM-5.2-W4A8C8 P/D分离式服务在重复运行中,GPQA准确率可能会出现约2-3个百分点的波动。#14378

  • 在高吞吐量部署中,与v0.18.0相比,DeepSeek-V3.1 2P1D的吞吐量存在约15%的回退。#12349

  • DeepSeek V4 Pro有一个未关闭的长期稳定性报告,涉及内存使用量不断增加的问题。#12345

  • Qwen3-30B-A3B浮点服务存在单批次性能回退问题。#12337

  • AscendStore KV池在逐层Memcache、SSD卸载、混合注意力加载失败和图回退行为方面存在特定于后端的约束。#12390

  • 由于HDK不兼容,Ascend 950图捕获暂时仅限于减少的阶段集,这可以避免崩溃,但可能会降低性能。#12998

v0.23.0rc1 - 2026.07.20#

我们很高兴地宣布 v0.23.0rc1 发布,这是 vLLM Ascend v0.23.0 系列的第一个候选版本。此版本使插件与上游 vLLM v0.23.0 保持一致,并扩展了模型、上下文并行、KV-cache 卸载和 Ascend 950 的支持。请按照官方文档开始使用。

亮点#

  • 扩展模型支持:在 A2 和 A3 上新增 GLM-5.2 支持,并在 Ascend 310P 上新增对 Qwen3-ASR-1.7B、Qwen3.5 和 Qwen3.6 的支持。#10441 #11264 #10257 #12115

  • 稀疏注意力与上下文并行:新增 SFA DCP,支持复制索引器、紧凑 KV 收集和 C8。#11819 #11981 #11846 #11871

  • KV-cache 生命周期与卸载:新增针对 P/D 解码器节点的重计算 KV-cache 卸载、AscendStore 协调,以及基于 Memcache 后端的逐层 KV 池化。#10742 #10393 #11585

  • Ascend 950 量化与通信:新增 W4A16 MXFP4、all-gather EP MXFP4 以及低精度 token 分发路径。#11014 #11287 #11718 #11766

功能特性#

  • 新增 DeepSeek V4 MTP 图支持。#11062

  • 新增 Virtual Width Network Eagle3 和 Eagle3 支持,并支持分块流水线并行。#10042 #10566

实验性功能或优化#

  • 新增实验性 Step3P7 和 Step3P5 支持,包括 Step3P5 MTP。#10697

  • 在 A2 和 Ascend 950 上新增实验性 Gemma4 支持。#11091 #10643

  • 提升了 DeepSeek V4 前缀缓存命中率。#11107

性能#

  • 优化了 SFA DSA-CP 输出合并,采用 All-to-All 通信和 PCP FlashAttention 恢复/输出合并。#12137 #11842

  • 避免了上下文并行推测解码元数据中的 H2D 同步,并在异步 H2D 复制前快照查询位置。#11862 #12071

  • 使用线程池并行化 KV-cache 接收,并为 DSA-CP 输出投影 TP 权重启用异步 all-gather。#10548 #10694

  • 在 SFA 元数据中向量化本地序列长度计算。#11816

稳定性与错误修复#

  • 修复了 GLM-5.1 IndexCache 权重加载问题,以及使用 MTP 和逐层 MemCache 时首次请求出现的 GLM-4.7-Flash IndexError#11363 #11829

  • 修复了 Qwen3.5 GDN 在 PCP、MTP 和 DCP 图重放中的精度回归问题,包括混合长度 PCP 越界崩溃,同时恢复了之前的模型运行器分发行为。#11195 #11893 #12027 #12283

  • 修复了 Qwen3.5 在 Ascend 310P 上使用 MTP/EAGLE 和全图执行时的推测解码精度、乱码输出和越界失败问题。#11337 #11408 #11920

  • 修复了 Qwen MoE 在 Ascend 310P 上的路由溢出和共享专家门控矩阵乘法失败问题。#11391 #11730

  • 修复了因权重名称不匹配和未量化的嵌入元数据导致的 Qwen3-Omni ModelSlim W8A8 检查点加载失败问题。#12321

  • 修复了Ascend 310P上Qwen3-VL旋转嵌入的拷贝竞态问题,并恢复了设备特定的VisionTransformer补丁。#11679 #12132

  • 修复了DeepSeek-R1-0528 W8A8共享专家无钳位精度路径,同时未影响带钳位的DeepSeek V4路径。#11775

  • 通过保留路由权重精度,修复了Ascend 950上DeepSeek V4 Flash W4A8-MXFP4 all-gather EP推理问题。#11498 #11663 #11718

  • 修复了MiniMax-M2和MiniMax-M2.5的流式工具调用参数格式错误及TP8+EP启动兼容性问题。#11505

  • 修复了Qwen3-Next、Qwen3.5及其他使用MTP/EAGLE的混合Mamba模型的静默前缀缓存输出损坏和块表溢出问题,以及310P上Mamba对齐后处理挂起问题。#11353 #11659 #12038

  • 修复了当P/D节点使用不等TP大小且目标/草稿模型具有不同全局KV头数时,Kimi-K2.7 Code与Kimi-K2.5-DFlash的Mooncake KV传输分组问题。#11887

  • 修复了当KV块组仅部分缺失时AscendStore父块哈希链的问题。#12252

  • 在启用融合MC2时禁用了共享专家多流重叠,以避免不支持的配置。#12245

  • 修复了DCP/DP服务挂起问题,并将重计算调度器限制为仅解码节点。#12034 #11490

  • 将AscendStore初始化延迟到第一个实际解码请求。#11673

  • 修复了SFA与DSA-CP及多个推测令牌时MTP接受率低的问题。#10878

依赖项#

  • 上游vLLM:v0.23.0。

  • Python:>= 3.10, < 3.13。

  • CANN:A2、A3和Ascend 950使用9.0.1;310P的特定平台CANN包请参考其安装指南。

  • PyTorch / torch_npu:2.10.0 / 2.10.0.post2。

  • Triton Ascend:3.2.1。

  • Mooncake:发布镜像中为0.3.11.post1。

即将弃用#

以下功能和优化计划在未来的版本中弃用:

  • 层分片。

  • FlashComm2。

  • FlashComm3多流重叠门控。

  • 汉明稀疏。

  • 异步指数重叠。

  • 矩阵乘法全规约及矩阵乘法全规约RMSNorm融合。

  • 权重预取。

  • 动态批处理SLO。

  • KV池中的KV卸载。

  • 融合MC2模式2(enable_fused_mc2=2)。

  • 分页注意力及pa_shape_list

  • 部分插件环境变量;其配置将迁移到等效的--additional-config选项。

已知问题#

  • v0.23.0不支持流水线并行(PP)与预填充上下文并行(PCP)的组合。对此组合的支持将推迟到后续版本。

  • 原有的enable_sparse_c8选项已拆分为enable_sparse_sfa_c8enable_sparse_li_c8。现有的--additional-config设置必须根据是否需要稀疏Flash注意力C8、LightningIndexer C8或两者,使用其中一个或两个新选项。#12351

  • 负载均衡代理可能吞没解码错误并返回空的HTTP 200响应。#12166

  • 在报告的TP4全图配置中,Qwen3-30B-A3B浮点服务在批处理大小为1时可能出现1-2毫秒的TPOT回归。#12337

  • 在报告的DeepSeek V4 Flash W8A8 MTP P/D分离部署中,第二轮aisbench可能导致来自另一卡的工作进程出现在NPU设备上。#12338

  • 在Ascend 950上,无MTP的P/D分离部署中的Qwen3.5-397B-W8A8-MXFP8-FULL_QUANT可能在正确和错误输出之间交替。#12339

  • DeepSeek V4 Pro 在 A3 和 Ascend 950 产品上,在 P/D 分离部署和共置部署中均可能显示内存使用量持续增长,最终导致 OOM 或服务不稳定。#12345

  • DeepSeek-V3.1-Terminus 在高吞吐量 P/D 分离部署中,与报告的 v0.18.0 基线相比,输出吞吐量可能下降约 15%;该回退在 A3 四节点 2P1D 配置和 A2 大 EP 配置上均有报告。#12349

  • 当请求的所有拉取任务完成之前发生重新格式化时,KV-cache 传输可能会产生精度问题和 TP 分片不一致。#12359

v0.22.1rc1 - 2026.06.30#

我们很高兴地宣布 vLLM Ascend 的 v0.22.1rc1 版本发布。这是 v0.22.1 版本线的首个候选版本,基于 v0.21.0rc1 构建,并使插件与上游 vLLM v0.22.1 保持一致。请按照官方文档开始使用。

亮点#

  • 用于 DeepSeek V4 / 混合 KV Cache 的 Mooncake 连接器:Mooncake 连接器现在支持 DeepSeek V4 和混合 KV cache 分离预填充场景,具有正确的块步长处理、压缩 KV 传输计算和混合 Mamba token 对齐。#10342

  • 用于 RL 工作负载的 HCCL 权重传输:为 Ascend NPU 添加了基于 HCCL 的权重传输后端,使得训练器和推理工作器无需 CUDA/NCCL 依赖即可在 RL 流水线中同步权重。#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 rank 添加了 SSD 支持,以避免 Mooncake 卸载目录中的本地 rank 路径冲突。#10477

硬件和算子支持#

  • 为 Ascend 950 添加了 W8A8/W4A8 动态量化支持。#10236

  • 为 Ascend 950 服务器拓扑和进程布局添加了 Ascend 950 CPU 绑定支持。#10483

性能#

  • 优化了 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

文档#

  • 刷新了上下文并行、EPLB 和推测解码的文档。#10332

  • 添加了 Kimi 2.6 和 GLM5.2 的文档。#9969 #10544

已知问题#

  • MiniMax 2.7 双节点 16 卡部署在负载下运行 10-20 分钟后可能会挂起或崩溃。#10591

  • Llama LoRA 在 Ascend 上仍可能遇到 einsum 张量维度不匹配的问题。#10577

  • Qwen3.x 配合 PD 分离和 MTP 仍可能出现精度问题,因为之前的 KVCache 块可能保持脏状态。#10961

  • 在 A3 四机 2P1D 部署中,Kimi-K2.6 在并发 terminal-bench2 测试下可能触发 D 节点上的 Error in KVCacheTransferThread. error=unhashable type: 'list' 错误。#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.06.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

  • Hybrid 和 Mamba 对齐前缀缓存:针对 Hybrid 和 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 对齐前缀缓存,以改善 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

  • 增加了对 QWen3.5 的 Mooncake Connector 混合 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

稳定性与错误修复#

  • 修复推测解码MLA与Eagle3的形状不匹配问题,并新增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数据类型映射表以实现正确的数据类型转换。#9826

  • 分块处理wq_b矩阵乘法以规避NPU 65536维度限制。#9780

  • 优化即时模式下的路由专家并修复通信处理。#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_ktop_p可能为None时的reduce采样问题。#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_rope Triton内核的精度问题。#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_flashcomm1enable_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 部署在同时使用专家并行和 FULL 图模式时,可能遇到 MoeDistributeDispatchV2/NPU 图失败。已报告的解决方法是针对 FULL 图模式禁用专家并行,或使用 PIECEWISE/eager 模式。#9503

  • Qwen3.6-35B-A3B 在启用 MTP/推测解码时可能关闭,在形状/数据类型处理期间报告 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池:为DeepSeek-V4启用KV池时,必须添加--no-disable-hybrid-kv-cache-manager标志,否则服务启动时会因内存不足(OOM)而失败。此外,DSv4的KV池会存储所有压缩比族的所有状态——存储100万个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池适配以及自定义算子启用。#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的reduce采样功能,以降低分布式贪婪采样、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 和 TorchNPU 升级到 2.10.0。#9128

重大变更与迁移说明#

  • 将一组运行时选项从环境变量迁移至AscendConfig,包括将FC1/FlashComm1开关从VLLM_ASCEND_ENABLE_FLASHCOMM1迁移至additional_config.enable_flashcomm1。升级时请检查配置代码和部署清单。#9064

  • 默认禁用了SwiGLU钳位,这可能会对之前依赖旧默认值的工作负载行为产生轻微影响。#9438

文档#

  • 刷新了当前主分支发布线的部署和功能文档。#9309 #8968

  • 新增了DeepSeek V3.2和GLM5的enable_dsa_cp附加配置选项文档。#9910

已知问题#

  • GLM5/GLM5.1 W4A8部署在某些高级配置中存在已知问题。#9395

  • Qwen3.6-35B-A3B 在启用 MTP/推测解码时可能关闭,在形状/数据类型处理期间报告 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

  • MiniMax-M2.7 W8A8/QuaRot在长序列部署中,当PCP/DCP与Eagle3推测解码结合时,可能显示低于预期的GPQA准确率。#9959

  • DeepSeek V4的KV池功能目前面临多个已知问题,影响易用性和性能,包括特殊的启动参数要求、特殊的键存储行为等。详情请参阅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模型支持:[实验性]新增对Minimax-m2.x模型的支持,集成eagle3。@SparrowMu @GDzhu01 #7105 #7714

  • GLM5支持:[实验性]无需任何代码修改即可支持GLM5模型!

  • Qwen3.x支持:[实验性]无需任何代码修改即可支持Qwen3.x模型!

  • DeepseekOCR支持:[实验性]新增对DeepseekOCR模型的支持,并优化了RelPosAttentionCustomQwen2Decoder。@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(强化学习):[实验性]通过AscendC和triton算子实现了批量不变性特性,增强了RL功能,并新增了路由重放特性。#6590 #6696

  • CPU绑定默认启用:启用了基于全局切片A3策略的ARM专用CPU绑定,提升了主机绑定场景下的推理吞吐量。#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,性能大幅优化!

    • 支持W8A8量化。#6641 #6454

    • 支持weightNZ的量化与非量化场景。#6705

    • 支持W8A8SC量化。#7075

    • 修复后采样在图模式下不工作的问题。#8077

    • 为300I DUO新增addrmsnorm支持。#6704

    • 修复310P上ngram图重放的精度错误。#7134

  • 自定义算子:新增了多个自定义算子,包括:

    • 为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性能:[实验性]优化了Qwen3.x和Qwen3-Next的性能,通过支持全图模式、PD分离、mamba预填充前缀缓存和flashcomm1、预构建块元数据以减少主机-设备同步开销,以及多项算子性能优化,包括chunk_gated_delta_rulechunk_fwd_kernel_osolve_trilrecompute_w_u_fwd_kernelsplit_qkv_rmsnorm_mrope等。@LoganJane @shaopeng-666 @ppppeng @SunnyLee151064 @hust17yixuan @Toneymiller @linfeng-yuan #7487 #6830 #7506 #7796 #7527 #7529 #7495 #7368

  • Kimi-K2.x性能:[实验性]优化了Kimi-K2.x的性能,通过支持eagle3和flashcomm1,并减少d2h开销。@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

依赖项#

${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池冲突,并修复vLLM v0.18.0上缺失的KV缓存放置问题。#8101 #7874

  • 通过修正注意力状态处理来修复短提示转发问题。#8088

  • 恢复global_bs=0mc2_mask以支持统一令牌分发,并支持跨节点RoCE分层MC2通信。#8040

  • 修复Qwen3-VL的权重映射器错误。#7868

  • 通过从反向映射切换到正向映射,修复了AscendModelSlimConfig中的量化配置键映射。#7716

  • 修复了在PD部署中运行MTP时全图对所有D节点的支持。#5472

  • 逐层连接器现在支持重计算调度器。#5900

  • 修复了池化代码问题并更新了使用指南。#6126

  • NPUWorker Profiler现在支持profile_prefix以提供更好的性能分析体验。#6968

已知问题#

  • 目前,不建议在多DP和大量令牌场景(kv_producerkv_both)中使用VLLM_ASCEND_ENABLE_FUSED_MC2,此场景可能会跨DP产生大量填充令牌,这些令牌将被路由到某些专家,导致某些rank接收令牌过载,从而引发精度和性能问题。#8320

  • 目前,EPLB不支持minimax_m2模型和W4A8量化。#8341

  • 当预填充请求的调度令牌数小于1 + num_speculative_tokens时,PCP和eagle3重叠可能会产生错误,这将导致该预填充请求被当作解码请求处理,从而引发错误。#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 Attention后端:新增支持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后端扩展

    • XLite GLM-4.7支持(#7935

    • 在xlite后端支持Qwen3VLMoeForConditionalGeneration(#8046

  • EPLB增强

    • Swift均衡器策略支持混合放置(#8035

    • EPLB对多模态模型的适配(#7743

  • model_runner_v2的Eagle改进

    • 修复了图模式下Eagle的接受率问题(#8365

    • 修复了Eagle的精度问题(#8230#8033

    • 适配Eagle以支持model_runner_v2(#7885

  • MTP合并图:支持MTP(多Token预测)的合并图(#6860)

  • 统一MoE专家放置:支持共享专家和路由专家的统一放置(#7188)

  • Dispatch V2层级通信:支持dispatch_v2/combine_v2层级通信以提升MoE性能(#7583)

  • Dispatch FFN Combine的Xmask:为dispatch_ffn_combine算子添加xmask功能(w8a8分支)(#8560)

  • 融合W4A8内核:将W4A8 dispatch + FFN + combine融合为单个融合内核(#7779)

  • KV缓存内存核算:在KV缓存规划中考虑图捕获内存(#8289)

  • Qwen3-Next混合注意力:支持piecewise和full_decode_only模式下的Qwen3-next混合注意力(#7422)

  • GDN优化:优化GDN非推测预填充回退元数据(#7756)

  • Qwen3-VL支持:支持Qwen3-VL的kv_rmsnorm_mrope(#7762)

  • Mamba前缀缓存:逐层连接器支持Mamba预填充前缀缓存(#7814)

  • Yuanrong KV池后端:为KV池添加Yuanrong后端支持(#6869)

硬件和算子支持#

  • 310P增强

    • Qwen3.5模型适配与主线同步(#8009)

    • 支持W8A8动态线性方法(#7725)

    • 支持Qwen3.5融合MoE中的共享专家路径(#7674)

    • 添加npu_causal_conv1d_310 AscendC自定义算子(#7798)

    • 添加recurrent_gated_delta_rule_310 AscendC自定义算子(#7926)

性能#

  • A2/A3注意力:用_npu_flash_attention_unpad算子替换npu_fusion_attention以提升性能(#8671)

  • MLA PCP预填充优化:通过避免投影不必要的尾部KV Token来优化MLA PCP预填充注意力(#8787)

  • 异步调度优化

    • 异步调度下发气泡优化(#8766)

    • 零气泡异步调度与推测解码(#7640)

  • KV缓存优化

    • 通过aclrtMemcpyBatchAsync实现批量KV缓存卸载(#7819)

    • 通过在全收集前选择块来优化KV缓存收集(#8050)

  • 算子优化

    • 优化split_qkv_tp_rmsnorm_rope算子(#8059)

    • 优化Qwen3Next/Qwen3.5预填充阶段的主机-设备同步问题(#7967)

    • 减少PCP/DCP(SFA)的预填充KV全收集通信(#8043)

    • 添加惩罚相关的Triton内核以提升惩罚性能(#7569)

  • Triton内核优化(model_runner_v2)

    • 优化_temperature_kernel和_topk_log_softmax_kernel(#8083)

    • 优化_min_p_kernel性能(#8243, #7767)

    • 添加bad-words-kernel triton内核(#8030)

    • 优化bincount_kernel性能(#7757)

    • 优化_ranks_kernel性能(#7767)

    • 优化由函数参数触发的triton重编译(#7480, #7481, #7483)

  • HCCL进程组复用:在Ascend上复用等效的HCCL进程组(#7654)

  • CPU绑定延迟:将CPU绑定延迟至工作线程预热完成(#7829)

  • Conv3d转Linear转换:当卷积核大小等于步长时,将conv3d转换为linear (#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分离指南

    • 使用UCM和Mooncake的PD分离 (#8338)

    • 动态分块流水线并行指南 (#8728)

  • 模型文档

    • GLM-5.1模型教程 (#8054)

    • GLM4.7文档更新 (#8450)

    • 包含参数和常见问题的GLM5文档 (#7958, #7850)

    • Qwen3.5用户指南更新 (#7866)

    • Kimi-K2.5文档更新 (#7901)

    • Qwen3-Omni-30B-A3B-Thinking文档 (#8628)

    • DeepSeekOCR2文档 (#8573)

    • Hunyuan-A13B-Instruct验证与文档 (#7381)

    • LLaVA-OneVision-Qwen2-0.5B-OV教程 (#7912)

  • 文档改进

    • 启用MathJax渲染Markdown公式 (#8793)

    • 更新版本策略 (#8656)

    • 在常见问题中添加抢占描述 (#8131)

    • 更新支持的vLLM版本 (#7923)

    • 参数化版本策略兼容性矩阵 (#8002)

    • 避免隐藏NPU导致的A2 CPU绑定重叠及文档更新 (#8792)

其他#

重要Bug修复

  • GQA C8全图模式:修复了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通信:修复A2上Qwen3.5 MoE flash comm v1中mtp层共享专家形状错误 (#7683)

  • 图捕获OOM:修复model_runner_v2中的图捕获内存溢出 (#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池Put逻辑:修复KV池未放置KV缓存的问题,并修复KV传输的Put逻辑(#7875#7717

  • KV池PCP/DCP:修复KV池的PCP和DCP错误(#8099

  • Mooncake后端:MooncakeBackend处理除Ascend之外的协议(#8514

  • FlashComm服务器初始化:修复当max_num_seqs不是tp的倍数时使用FLASHCOMM的服务器初始化错误(#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填充错误:修复EAGLE在最大并发下的FIA填充错误(#7740

  • MoE加载精度:修复allgather中moe_load的精度问题(#7887

  • Qwen的FlashComm1 + DCP:支持Qwen模型的FlashComm1和DCP(#7673

  • 块验证:禁用块验证以避免NPU上的错误验证(#7603

  • 模型运行器V2全图:修复全图模式下的model_runner_v2(#7945

  • MRv2推测解码:修复mrv2在推测解码时的运行时错误(#8209

  • GLM工具调用流式处理:修复GLM工具调用流式处理问题(#8832

  • 强制工具选择:修复强制工具选择中无内容处理的问题(#8833

  • MiniMax推理用量:修复MiniMax推理用量统计问题(#8831

其他错误修复:

  • lmhead TP logits截断后的MTP循环批次大小(#8718

  • 修复DSV32混合部署中layer_sharding导致的错误(#8717

  • EPLB topk_ids使用逻辑专家计数(#8501

  • EPLB验证逻辑优化及MTP支持冗余专家(#8710

  • SP在MoE序列并行中保留图字符串化(#8780

  • SpecDecode修复草稿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

  • 修复GLM-5使用flashcomm1时w8a8_static中quant_bias缺失的问题(#8220

  • 修复deepseek v3.2的DSA-CP PD角色门控(#8290

  • 要求逐层AscendStorConnector使用分段cudagraph (#8283)

  • 修复patch balance调度器中远程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并在休眠模式添加垃圾回收 (#7709)

  • 修复嵌入模型的前缀缓存支持 (#7452)

  • 在图+强化学习场景中复用权重地址 (#7473)

已知问题#

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

文档#

  • 刷新了Kimi-K2.5、GLM-4.7、DeepSeek-V3.2、MiniMax-M2.5的部署和模型文档,以及PD分离指南。#7371 #7403 #7292 #7296 #7300

其他#

  • 修复了PD分离中因DP节点间形状未对齐导致解码节点卡住的问题。#7534

  • 修复了v0.18.0升级后,Ascend上混合注意力加mamba模型可能以错误块大小启动的回归问题。#7528

  • 修复了单卡部署中多实例服务的OOM计算问题。#7427

  • 修复了在完整解码和完整图模式下叠加MTP时DeepSeek v3.1 C8的问题。#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的第一个候选发布版本。请按照官方文档开始使用。

亮点#

  • 现已支持Ascend950芯片。#7151

  • Model Runner V2现已支持ACLGraph(图模式)。#7110

  • 支持统一并行推测解码,可同时启用并行草稿推理方案。#6766

功能特性#

  • 支持从模型文件自动检测量化格式,同时也支持远程模型ID(例如org/model-name)。现在不再需要--quantization ascend参数。#7111

  • 从本版本开始支持Qwen3.5。

  • EPLB的FlashLB算法:支持每步热量收集和多阶段负载均衡,以提升专家并行效率。#6477

  • LoRA与张量并行及--fully-sharded-loras现已修复并正常工作。#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

  • KV Pool查找针对短序列(token长度 < block_size)进行了优化。#7146

  • 修复Model Runner V2中的惩罚操作,实现了约10%的性能提升。#7013

文档#

  • 新增EPD(编码-预填充-解码)文档和负载均衡代理示例。#6221

  • 新增Ascend PyTorch Profiler使用指南。#7117

  • 修复了DSV3.1 PD配置文档。#7187

其他#

  • 修复推测解码在全图模式下草稿模型崩溃的问题。#7158 #7148

  • 修复由旋转量化MTP权重导致的GLM5-W8A8精度问题。#7139

  • 修复310P上ngram图重放的精度错误。#7134

  • 修复上游vLLM变更后图模式中的FIA填充逻辑。#7144

  • 修复Qwen3.5上错误的KV缓存重塑导致的精度问题。#7209

  • 修复rank0设备上生成额外进程的问题。#7107

  • 图捕获失败现在会正确抛出异常,便于调试。#5644

  • 通过将torch_npu.npu_recurrent_gated_delta_rule替换为fused_recurrent_gated_delta_rule来修复Qwen3.5模型。#7109

  • 修复运行Qwen3-Reranker-0.6B与LoRA时的错误。#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的第一个候选发布版本。请按照官方文档开始使用。

亮点#

  • Qwen3-Omni量化适配与优化现已可用。#6828

  • 通过将硬编码的MLA维度参数化,现已支持GLM5-W8A8量化。#6902

功能特性#

  • [实验性] 支持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

  • 为Ascend NPU实现全局CPU切片并改进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修复,包括:

    • 修复启用上下文并行时的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中融合mc2的bug。#6794

    • 修复用于计算slot映射的内核块大小。#7019

    • 修复P/D分离部署中逐层堆叠MTP的错误。#7036

    • 修复npu_rotary_embedding的RoPE维度问题。#6880

    • 修复Qwen-Omni量化错误。#7042 #7007

    • 修复图模式下GDN层精度问题。#6822

    • 修复PD分离部署中PCP/DCP的精度错误。#6876

    • 修复PD分离部署中所有D-Nodes全图支持的MTP问题。#6948

    • 修复同时启用DP和DCP时GQA模型错误。#7012

    • 修复MTP预填充被错误分类为解码的边界情况。#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功能配合使用,可能导致服务错误或其他未知错误。

  • 在4节点A3 PD分离部署中使用DeepSeek V3.2时,P-Node在高并发场景(例如2K/2K token与512个并发请求)下进行基准测试时可能挂起。

  • MTP与大型EP配置可能导致图捕获缓冲区溢出。这是vLLM中需要修复的错误,目前有变通方法:显式设置--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硬件的多项改进:

    • 修复了310P上的注意力精度问题。#6803

    • 为310P新增weightNZ特性,支持量化或非量化。#6705

    • 为300I DUO新增addrmsnorm支持。#6704

    • 310P现在支持PrefillCacheHit状态。#6756

  • 仅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中使用partial rope时新增对rotary_dim参数的支持。#6581

性能#

  • 多模态seq_lens CPU缓存:使用seq_lens CPU缓存避免频繁的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节点的支持。#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

  • 逐层连接器重计算调度器:逐层连接器现在支持重计算调度器。#5900

  • Memcache 池:修复了启用 memcache 池时服务启动失败的问题。#6229

  • AddRMSNormQuant:修复了 AddRMSNormQuant 未生效的问题。#6620

  • 池化代码:修复了池化代码问题并更新了使用指南。#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 和交叉注意力:[实验性]增加了对交叉注意力和 Whisper 模型的支持。#5592

  • 池化模型:[实验性]增加了对池化模型的支持,进行了 PCP 适配,并修复了多个与池化相关的 bug。#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池,支持Mooncake连接器用于PCP/DCP、多种输入后缀,并提升了Layerwise连接器的性能。#3690 #3752 #3849 #4183 #5303

  • EPLB(弹性预填充负载均衡):[实验性]EPLB现在更加稳定,修复了许多bug。混合放置功能现已可用。#6086

  • 纯解码模式:在full_decode_only模式下增加了对Qwen3-Next和DeepSeekv32的支持,并修复了相关bug。#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

硬件和算子支持#

  • 自定义算子:新增了多个自定义算子,包括:

    • 融合的matmul/reduce-scatter内核 #3693

    • mrope融合算子 #3708

    • 用于Qwen3-Next的Triton chunk_gated_delta_rule算子 #4070

    • l2norm triton内核 #4595

    • RejectSampler、MoeInitRoutingCustom、DispatchFFNCombine自定义算子

  • 算子融合:增加了支持SP的AddRmsnormQuant融合模式以及用于量化的inductor融合。#5077 #4168

  • MLA/SFA:将SFA重构为MLA架构,以提高可维护性。#3769

  • FIA算子:适配了带有flash解码功能的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:通过 o_shared linear 和通信域修复,增强了 FlashComm v2 优化。#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

  • TorchNPU:已升级到 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 在 float 权重情况下被禁用,因为我们注意到在某些 float 情况下性能不佳。如果你确认它适用于你的场景,可以将其设置为 2。#4878

  • additional_config 中的 chunked_prefill_for_mla 现已移除。#5296

  • additional_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.5vlgemma3minimax)可能无法正常工作。我们将在下一个补丁版本中修复。#6302

  • Qwen3-32B 在 128K 输入场景下的性能不佳,建议在此场景下启用 pcp&dcp 特性。这将在下一个 CANN 版本中得到改进。

  • Qwen3-235BQwen3-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 支持现已恢复。在此版本中,仅支持基本的稠密模型和 VL 模型,且使用 eager 模式。我们将持续改进和维护对 310P 的支持。#5776

  • 支持压缩张量 moe w8a8-int8 量化。#5718

  • 支持 Medusa 推测解码。#5668

  • 支持 Qwen3vl 的 Eagle3 推测解码。#4848

功能特性#

  • Xlite 后端现在支持 Qwen3 MoE。#5951

  • 支持 PD-mix 部署场景的 DSA-CP。#5702

  • 新增对新的 W4A4_LAOS_DYNAMIC 量化方法的支持。#5143

性能#

  • Qwen3-next 的性能已得到改进。#5664 #5984 #5765

  • CPU 绑定逻辑和性能已得到改进。#5555

  • 合并 Q/K 拆分以简化 AscendApplyRotaryEmb,从而获得更好的性能。#5799

  • 新增 Matmul Allreduce Rmsnorm 融合 Pass。默认禁用。在 --additional_config 中设置 fuse_allreduce_rms=True 以启用。#5034

  • 使用 triton 内核优化 rope embedding,以获得巨大的性能提升。#5918

  • 支持无 top_k 约束的高级 apply_top_k_top_p。#6098

  • 在 AscendMMEncoderAttention 中并行化 Q/K/V 填充以获得更好的性能。#6204

其他#

  • model runner v2 支持 penalty 的 triton。#5854

  • model runner v2 支持 eagle 推测解码。#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

依赖项#

  • TorchNPU 已升级到 2.9.0 #6112

弃用与重大变更#

  • EPLB配置选项已移至附加配置中的 eplb_config。旧选项已在此版本中移除。

  • 分析器环境变量,例如 VLLM_TORCH_PROFILER_DIRVLLM_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.1/3.2、Qwen3 Dense/MOE模型的性能。

功能特性#

  • 实现批处理不变性的基本框架 #5517

  • Eagle推测解码功能现在可与全图模式配合使用。#5118

  • 上下文并行(PCP&DCP)功能现在更加稳定,适用于大多数场景。请尝试使用。

  • MTP和Eagle推测解码功能现在在大多数情况下都能正常工作。建议在大多数情况下使用它们。

  • EPLB功能现在更加稳定。修复了许多错误。混合放置现在可以正常工作 #6086

  • 支持在分离预填充场景中为DeepSeek解码节点启用kv nz功能 #3072

模型支持#

  • LongCat-Flash现已支持。#3833

  • minimax_m2现已支持。#5624

  • 支持交叉注意力和whisper模型 #5592

性能#

  • 本版本新增了许多自定义算子和triton内核以加速模型性能。例如 RejectSamplerMoeInitRoutingCustomDispatchFFNCombine 等。

  • 改进了逐层连接器的性能 #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

  • TorchNPU 已升级到 2.8.0.post1。请注意,post 版本不会默认安装。请从 pypi 镜像手动安装。

  • triton-ascend 升级至 3.2.0

弃用与重大变更#

  • CPUOffloadingConnector 已弃用,我们将在下一个版本中移除它。未来将由vLLM的CPUOffload功能替代。

  • eplb配置选项已移至附加配置中的eplb_config。旧选项将在下个版本中移除。

  • ProfileExecuteDuration功能已弃用,由vLLM的ObservabilityConfig替代。

  • VLLM_ASCEND_ENABLE_MLAPO环境变量的值将在下个版本中默认设为True,并默认在解码节点启用。请注意该功能会消耗更多内存,若对内存敏感请将其设为False。

v0.13.0rc1 - 2025.12.27#

这是vLLM Ascend v0.13.0的首个候选版本。本次发布包含大量错误修复、性能优化和功能支持。欢迎提供任何反馈以帮助我们改进vLLM Ascend。请参考官方文档开始使用。

亮点#

  • 提升了DeepSeek V3.2的性能,请参考教程

  • 现已支持Qwen3-Next MTP的分块预填充功能#4770,请参考教程

  • [实验性]支持预填充上下文并行和解码上下文并行,但请注意此为实验性功能,欢迎提供反馈。请参考上下文并行功能指南

功能特性#

  • 支持openPangu Ultra MoE 4615

  • 现已支持新的量化方法W8A16。#4541

  • 现已支持跨机分离式预填充。#5008

  • 为KV缓存卸载添加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

  • 移除注意力后的转置步骤,改用transpose_batchmatmul#5390

  • 为优化小批量场景性能,提供带flash解码功能的注意力算子,请参考常见问题第22项启用。

其他#

  • VL模型的OOM错误现已修复。我们将持续观察,若再次遇到OOM问题请提交issue。#5136

  • 修复了Qwen3-Next-MTP批量推理时的精度错误。#4932

  • 修复npu-cpu卸载接口变更错误。#5290

  • 修复aclgraph模式下MHA模型运行时错误#5397

  • 修复ep=1场景下不合适的moe_comm_type#5388

弃用与重大变更#

  • 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现已移除。#5296

  • additional_config中的dump_config已重命名为dump_config_path,类型从dict改为string#5296

依赖项#

  • vLLM版本已升级至0.13.0并放弃对0.12.0的支持。#5146

  • Transformer版本已升级至>= 4.57.3#5250

已知问题#

  • Qwen3-Next 不支持长序列场景,需根据文档限制 gpu-memory-utilization 才能运行,我们将在下个版本中改进。

  • 修复了 Qwen3-Next 在输入/输出约为 3.5k/1.5k 时的功能中断问题,但引入了性能回退,我们将在下个版本中修复。#5357

  • DeepSeek-V3.2 中 curl 在超短序列上存在精度问题,我们将在下个版本中修复。#5370

v0.11.0 - 2025.12.16#

我们很高兴地宣布 vLLM Ascend v0.11.0 版本发布。这是 v0.11.0 的正式版本。请参考官方文档开始使用。未来如有需要,我们会考虑发布后续版本。本发布说明仅包含 v0.11.0rc3 以来的重要变更和注意事项。

亮点#

  • 提升了 deepseek 3/3.1 的性能。#3995

  • 修复了 qwen3-vl 的精度问题。#4811

  • 提升了 sample 的性能。#4153

  • Eagle3 现已回归。#4721

其他#

  • 提升了 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 中移除

升级须知#

  • TorchNPU 已升级到 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 现已支持。感谢招商银行的贡献。

  • llm-compressor 量化工具现已支持 W8A8。您现在可以直接通过此工具部署经过 W8A8 量化的模型。

  • W4A4 量化现已支持。

  • 支持论文 flashcomm 中的 flashcomm1 和 flashcomm2 特性 #3004 #3334

  • 现已支持池化模型,例如 bge、reranker 等

  • 官方文档已得到改进。我们重构了教程,使其更加清晰。用户指南和开发者指南现在更加完整。我们将持续改进。

其他#

  • [实验性] 现已支持 Mooncake 逐层连接器。

  • [实验性] 新增 KV cache pool 特性

  • [实验性] 引入了一种新的图模式 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 和 TorchNPU 已升级到 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 版本。感谢您的所有反馈。请按照官方文档开始使用。

亮点#

  • TorchNPU 已升级到 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 正式版即将发布。请按照官方文档开始使用。

亮点#

  • CANN 升级至 8.3.RC2。#4332

  • Ngram 推测解码方法现已恢复。#4092

  • 通过更新默认捕获大小,提升了 aclgraph 的性能。#4205

核心#

  • 加速 vLLM 启动时间。#4099

  • Kimi k2 量化版本现已可用。#4190

  • 修复了 qwen3-next 的一个错误,现在更加稳定。#4025

其他#

  • 修复了纯解码模式的一个问题,全图模式现在更加稳定。#4106 #4282

  • 修复了 DeepSeek V3 系列模型的一个 allgather 操作错误。#3711

  • 修复了 EPLB 功能的一些错误。#4150 #4334

  • 修复了视觉语言模型在 x86 机器上无法工作的错误。#4285

  • 为预填充分离代理支持 ipv6。请注意,mooncake 连接器暂不支持 ipv6,我们正在处理中。#4242

  • 添加检查以确保 EPLB 在量化场景下仅支持 w8a8 方法。#4315

  • 添加检查以确保 FLASHCOMM 功能不与视觉语言模型一起使用。该功能将在 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。TorchNPU 已升级到 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_ONLYFULL 模式将在未来几周内推出。#2128

  • 现已支持池化模型,例如 bge-m3。#3171

其他#

  • 重构了 MOE 模块,使其更清晰易懂,并且在量化和非量化场景下性能均有所提升。

  • 重构了模型注册模块,使其更易于维护。我们将在 2025 年第四季度移除该模块。#3004

  • Torchair 已弃用。一旦 ACL Graph 的性能足够好,我们将移除它。截止日期为 2026 年第一季度。

  • LLMDatadist KV 连接器已弃用。我们将在 2026 年第一季度移除它。

  • 重构了线性模块以支持论文 flashcomm 中的 flashcomm1 和 flashcomm2 特性 #3004 #3334

已知问题#

  • 长时间服务后可能会出现内存泄漏和服务卡住的情况。这是 TorchNPU 的一个 bug,我们将尽快升级并修复。

  • qwen2.5 VL的精度表现不佳。这是CANN引起的缺陷,我们将尽快修复。

  • 对于长序列输入场景,有时无响应且kv cache使用率升高。这是调度器的一个缺陷,我们正在处理中。

  • Qwen2-audio默认无法正常工作,我们正在修复。临时解决方案是将--gpu-memory-utilization设置为合适的值,例如0.8。

  • 在启用专家并行运行Qwen3-Next时,请将HCCL_BUFFSIZE环境变量设置为合适的值,例如1024。

  • 使用aclgraph的DeepSeek3.2精度不正确。临时解决方案是根据输入的批次大小将cudagraph_capture_sizes设置为合适的值。

v0.11.0rc0 - 2025.09.30#

这是vLLM Ascend的v0.11.0特别候选版本。请按照官方文档开始使用。

亮点#

  • 现已支持DeepSeek V3.2。#3270

  • 现已支持Qwen3-vl。#3103

核心#

  • DeepSeek现已支持aclgraph。#2707

  • MTP现已支持aclgraph。#2932

  • 现已支持EPLB。#2956

  • 现已支持Mooncake store kvcache连接器。#2913

  • 现已支持CPU卸载连接器。#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第一个候选版本。请按照官方文档开始使用。

亮点#

  • 新增对Qwen3-Next的支持。请注意,专家并行和MTP功能在此版本中不可用,我们将很快添加支持。请按照官方指南开始使用。#2917

  • 为aclgraph新增量化支持 #2841

核心#

  • 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阶段的滑动窗口注意力缺陷。#2758

  • 新增了Qwen3的Prefill-Decode分离官方文档。#2751

  • VLLM_ENABLE_FUSED_EXPERTS_ALLGATHER_EP环境变量再次生效。#2740

  • 为deepseek中的oproj新增了一项改进。设置oproj_tensor_parallel_size以启用此功能。#2167

  • 修复了设置graph_batch_sizes时,使用torchair的deepseek无法按预期工作的缺陷。#2760

  • 避免在kv_seqlen > 4k时重复生成rope中的sin_cos_cache。#2744

  • 通过flashcomm_v1提升了Qwen3稠密模型的性能。设置VLLM_ASCEND_ENABLE_DENSE_OPTIMIZE=1VLLM_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_lengpu_memory_utilization值以避免内存溢出错误。

  • 我们注意到由于KV缓存的改造,LoRA在此版本中无法正常工作。我们将尽快修复。2941

  • 使用Ascend调度器运行时,请勿同时启用分块预填充和前缀缓存。其性能和准确性不佳/不正确。#2943

v0.10.1rc1 - 2025.09.04#

这是vLLM Ascend v0.10.1的第一个候选版本。请按照官方文档开始使用。

亮点#

  • 通过招商银行添加的自定义算子,LoRA性能大幅提升。#2325

  • 支持Mooncake TransferEngine用于KV缓存注册和pull_blocks风格的分离预填充实现。#1568

  • 现在支持将自定义算子捕获到aclgraph中。#2113

核心#

  • 添加了MLP张量并行以提升性能,但请注意这会增加内存使用。#2120

  • openEuler已升级至24.03版本。#2631

  • 添加了自定义lmhead张量并行,以实现更低的内存消耗和更优的TPOT性能。#2309

  • Qwen3 MoE/Qwen2.5现在支持torchair图。#2403

  • 支持在Ascend调度器中使用滑动窗口注意力,从而修复了Gemma3的精度问题。#2528

其他#

  • Bug修复:

    • 更新了图捕获大小计算,在一定程度上缓解了某些场景下NPU流不足的问题。#2511

    • 修复了错误并重构了缓存掩码生成逻辑。#2442

    • 修复了nz格式在量化场景中不工作的问题。#2549

    • 修复了因默认启用enable_shared_pert_dp导致的Qwen系列精度问题。#2457

    • 修复了rope维度不等于head维度的模型(例如GLM4.5)的精度问题。#2601

  • 通过大量PR提升了性能:

    • 移除了torch.cat并替换为List[0]。#2153

    • 将gmm的格式转换为nz。#2474

    • 优化了并行策略以减少通信开销。#2198

    • 优化了贪婪模式下的拒绝采样器。#2137

  • 一批用于增强代码架构的重构PR:

    • 对MLA进行重构。#2465

    • 对torchair fused_moe进行重构。#2438

    • 对allgather/mc2相关的fused_experts进行重构。#2369

    • 对torchair模型运行器进行重构。#2208

    • 对CI进行重构。#2276

  • 参数变更:

    • additional_config 中新增了 lmhead_tensor_parallel_size,设置该参数以启用 lmhead 张量并行。#2309

    • 移除了部分未使用的环境变量 HCCN_PATHPROMPT_DEVICE_IDDECODE_DEVICE_IDLLMDATADIST_COMM_PORTLLMDATADIST_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_BUFFERVLLM_ASCEND_ENABLE_MOE_ALL2ALL_SEQ#2612

    • additional_config 中新增了 enable_prefetch,用于设置是否启用权重预取。#2465

    • additional_config.torchair_graph_config 中新增了 mode,当为 torchair 使用 reduce-overhead 模式时,需要设置该参数。#2461

    • additional_config 中的 enable_shared_expert_dp 现在默认关闭,建议在使用 deepseek 进行推理时启用。#2457

已知问题#

  • 滑动窗口注意力当前不支持分块预填充,因此我们只能启用 AscendScheduler 来配合运行。#2729

  • 启用 MultiStream 时创建 mc2_mask 存在一个 bug,将在下一个版本中修复。#2681

v0.9.1 - 2025.09.03#

我们很高兴地宣布 vLLM Ascend 的最新正式版本。此版本包含众多功能支持、性能改进和错误修复。我们建议用户从 0.7.3 升级到此版本。请始终设置 VLLM_USE_V1=1 以使用 V1 引擎。

在此版本中,我们为大规模专家并行场景新增了许多增强功能。建议参考官方指南

请注意,本发布说明将列出自上一个正式版本(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 中。未来如有需要,我们会考虑重新加入。

  • TorchNPU 已升级到 2.5.1.post1。CANN 已升级到 8.2.RC1。别忘了升级它们。

核心#

  • 为 V1 引擎新增了 Ascend 调度器。该调度器与 Ascend 硬件更亲和。

  • 结构化输出功能现在可在 V1 引擎上运行。

  • 新增了一批自定义算子以提升性能。

变更#

  • 为 Qwen3-moe 模型添加了 EPLB 支持。#2000

  • 修复了 MTP 与预填充解码分离配合不佳的 bug。#2610 #2554 #2531

  • 修复少量Bug以确保Prefill Decode Disaggregation正常工作。#2538 #2509 #2502

  • 修复torchair模式下shutil.rmtree报文件未找到的错误。#2506

已知问题#

  • 运行MoE模型时,Aclgraph模式仅支持张量并行。此版本不支持DP/EP。

  • 此版本V1引擎不支持流水线并行。

  • 如果在eager模式下使用w4a8量化,请设置VLLM_ASCEND_MLA_PARALLEL=1以避免OOM错误。

  • 部分工具的精度测试可能不准确,但不影响实际用户场景。我们将在下一个补丁版本中修复。#2654

  • 我们注意到使用Prefill Decode Disaggregation运行vLLM Ascend时仍存在一些问题,例如内存泄漏和服务卡死。这是由vLLM和vLLM Ascend的已知问题导致的。我们将在下一个补丁版本中修复。#2650 #2604 vLLM#22736 vLLM#23554 vLLM#23981

v0.9.1rc3 - 2025.08.22#

这是vLLM Ascend v0.9.1的第三个候选版本。请按照官方文档开始使用。

核心#

  • MTP支持V1调度器 #2371

  • 添加LMhead TP通信组 #1956

  • 修复qwen3 moe在aclgraph下无法工作的Bug #2478

  • 修复由过时的apply_grammar_bitmask方法导致的grammar_bitmask IndexError #2314

  • 移除chunked_prefill_for_mla #2177

  • 修复Bug并重构缓存掩码生成逻辑 #2326

  • 修复关于ascend调度器的配置检查逻辑 #2327

  • 取消disaggregated-prefill部署中deepseek-mtp与非ascend调度器之间的校验 #2368

  • 修复使用ray分布式后端失败的问题 #2306

  • 修复ascend调度器中请求块长度不正确的问题 #2394

  • 修复rope中头文件包含问题 #2398

  • 修复mtp配置Bug #2412

  • 修复错误信息并适配attn_metadata重构 #2402

  • 修复由配置不匹配和.kv_cache_bytes文件缺失导致的torchair运行时错误 #2312

  • with_prefill allreduce从CPU迁移至NPU #2230

文档#

  • 添加deepseek大规模EP的文档 #2339

已知问题#

  • 在A2 (910B1)上,test_aclgraph.py"full_cuda_graph": True时失败 #2182

v0.10.0rc1 - 2025.08.07#

这是vLLM Ascend v0.10.0的第一个候选版本。请按照官方文档开始使用。此版本已完全移除V0。

亮点#

  • Disaggregate prefill现已支持V1引擎。您可以尝试使用DeepSeek模型 #950,并按照此教程操作。

  • W4A8量化方法现已支持dense和MoE模型。#2060 #2172

核心#

  • 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

其他#

  • Bug修复:

    • 修复了多模态模型(如 Qwen2-audio)与 Aclgraph 的功能性问题。#1803

    • 修复了外部启动场景下的进程组创建错误。#1681

    • 修复了引导解码的功能性问题。#2022

    • 修复了 DP 场景下常见 MoE 模型的精度问题。#1856

  • 通过大量PR提升了性能:

    • 缓存 sin/cos 而非每层计算。#1890

    • 改进共享专家多流并行。#1891

    • 实现了 tp 启用时 prefill 阶段 allreduce 和 matmul 的融合。通过设置 VLLM_ASCEND_ENABLE_MATMUL_ALLREDUCE1 启用此功能。#1926

    • 通过减少 All2All 通信优化量化 MoE 性能。#2195

    • 在自定义模型中使用 AddRmsNormQuant 算子优化 Qwen3 性能。#1806

    • 使用多播避免将 decode 请求填充至 prefill 大小。#1555

    • LoRA 性能已得到提升。#1884

  • 一批重构 PR 以增强代码架构:

    • Torchair 模型运行器重构。#2205

    • 重构 forward_context 和 model_runner_v1。#1979

    • 重构 AscendMetaData 注释。#1967

    • 重构 torchair 工具函数。#1892

    • 重构 torchair worker。#1885

    • 注册激活自定义算子而非覆盖 forward_oot。#1841

  • 参数变更:

    • additional_config 中的 expert_tensor_parallel_size 现已移除,EP 和 TP 现已与 vLLM 对齐。#1681

    • 在环境变量中添加 VLLM_ASCEND_MLA_PA,使用此变量启用 deepseek mla decode 的 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 的第二个候选版本。请按照官方文档开始使用。

亮点#

模型改进#

图模式改进#

  • #1269中修复DeepSeek使用mc2的问题

  • #1332中修复deepseek V3/R1模型在长序列预测中使用torchair图的精度问题

  • #1570中修复torchair_graph_batch_sizes错误

  • #1404中启用torchair图模式的tp <= 4限制

  • 修复rope精度错误 #1887

  • 在FusedMoE中支持共享专家的多流 #997

  • 在torchair图模式下为解码过程启用kvcache_nz #1098

  • #1378中修复torchair场景下的分块预填充,以解决UnboundLocalError: local variable 'decode_hs_or_q_c'问题

  • #1561中改进w8a8动态场景下共享专家的多流性能

  • #1882中修复设置多流时的moe错误

  • 在EP场景下将图批次大小向上取整到tp大小 #1610

  • #1727中修复启用DP时的torchair错误

  • #1675中为torchair_graph_config增加额外检查。

  • #1693中修复torchair+chunk-prefill场景下的rope bug。

  • #1748中修复chunked_prefill为true时torchair_graph的bug。

  • #2090中改进prefill优化以支持torchair graph模式。

  • #1247中修复DP场景下的rank设置。

  • #1397中重置所有未使用位置以防止越界,解决GatherV3 bug。

  • #1393中移除ModelRunner中的重复多模态代码。

  • #1297中修复block table形状以解决精度问题。

  • #1503中实现有限场景下的primal全图。

  • #1677中恢复Full Graph中的paged attention kernel以提升性能。

  • #1829中修复极端--gpu-memory-utilization场景下的DeepSeek OOM问题。

  • #2154中启用TorchAir时关闭aclgraph。

算子改进#

  • #796中添加自定义AscendC kernel vocabparallelembedding

  • #1267中修复rope sin/cos cache bug。

  • #1264中重构AscendFusedMoE (#1229)。

  • #1920中使用融合算子npu_top_k_top_p于sampler。

核心#

  • #2036中将CANN升级至8.2.rc1。

  • 已在 #2135 中将 TorchNPU 升级到 2.5.1.post1

  • #2136中将python升级至3.11。

  • #1749中禁用mindie_turbo中的量化。

  • #1323中修复v0 spec decode。

  • #1271中仅在启用V0 spec decode时直接启用ACL_OP_INIT_MODE=1

  • #1422中重构forward_context和model_runner_v1。

  • #1423中修复sampling params。

  • #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中为未量化RL训练进行MoE alltoallv通信优化,并支持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 中为 moe 应用了 npu_moe_gating_top_k_softmax 以提升性能。

  • 修复了 #1919 中 engine v0 时 path_decorator 的 bug。

  • #1644 中避免在 disaggregated-prefill 场景下执行 cpu all_reduce。

  • #1916 中为 decode MoE 添加了 super kernel。

  • [Prefill Perf] 在 #1802 中的并行策略优化(以显存换速度权衡)。

  • #2016 中移除了 shared_experts.down_proj 中不必要的 reduce_results 访问。

  • #2002 中通过向量化优化了贪婪拒绝采样器。

  • #1936 中实现了多个 Ps 和 Ds 在单台机器上工作。

  • #2075 中修复了当 tp > 1 且启用 multistream_moe 时,deepseek 模型共享专家与路由专家之间的形状冲突。

  • 添加了 CPU 绑定支持 #2031

  • #2129 中添加了 with_prefill cpu allreduce 以处理 D-node 重计算。

  • #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 中的错误和非标准部分。

已知问题#

  • 对于具有 full_cuda_graphenable 的特定硬件类型,全图模式支持尚不可用。 #2182

  • Qwen3 MoE aclgraph 模式在启用 ep 时因 bincount 错误导致 tp 失败 #2226

  • 如 v0.9.1rc1 发布说明所述,将不包括 Atlas 300I 系列支持。

v0.9.2rc1 - 2025.07.11#

这是 vLLM Ascend v0.9.2 的第一个发布候选版本。请按照官方文档开始使用。从此版本开始,V1 引擎将默认启用,不再需要设置 VLLM_USE_V1=1。并且此版本是最后一个支持 V0 引擎的版本,V0 代码将在未来被清理。

亮点#

  • Pooling 模型现在可与 V1 引擎配合使用。您可以尝试使用 Qwen3 embedding 模型 #1359

  • Atlas 300I 系列的性能已得到提升。 #1591

  • aclgraph 模式现在可与 Moe 模型配合使用。目前,仅 Qwen3 Moe 经过了充分测试。 #1381

核心#

  • Ascend PyTorch 适配器 (torch_npu) 已升级至 2.5.1.post1.dev20250619。请勿忘记在您的环境中更新它。 #1347

  • 使用 aclgraph 模式已修复 GatherV3 错误。 #1416

  • W8A8 量化现在可在 Atlas 300I 系列上工作。 #1560

  • 修复了部署具有并行参数的模型时的精度问题。 #1678

  • 预构建的 wheel 包现在需要较低版本的 glibc。用户可以直接通过 pip install vllm-ascend 使用它。 #1582

其他#

  • 官方文档已更新以获得更好的阅读体验。例如,添加了更多部署教程,更新了用户/开发者文档。更多指南即将推出。

  • 修复了 Deepseek V3/R1 模型在长序列预测中使用 torchair 图时的精度问题。 #1331

  • 新增环境变量 VLLM_ENABLE_FUSED_EXPERTS_ALLGATHER_EP,用于启用 Deepseek V3/R1 模型的融合 allgather-experts 内核。默认值为 0#1335

  • 新增环境变量 VLLM_ASCEND_ENABLE_TOPK_TOPP_OPTIMIZATION,用于提升 topk-topp 采样的性能。默认值为 0,未来将考虑默认启用。#1732

  • 修复了数据并行场景下的一批错误。#1273 #1322 #1275 #1478

  • DeepSeek 性能已提升。#1194 #1395 #1380

  • Ascend 调度器现已支持前缀缓存。#1446

  • DeepSeek 现已支持前缀缓存。#1498

  • 支持 prompt logprobs 以恢复 V1 中的 ceval 精度。#1483

已知问题#

新贡献者#

完整变更日志vllm-project/vllm-ascend

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

经过慎重考虑,上述功能**将不会包含在 v0.9.1-dev 分支(v0.9.1 最终版本)**中,这是考虑到 v0.9.1 的发布质量和功能的快速迭代。我们将从 0.9.2rc1 及后续版本中改进此功能。

核心#

  • Ascend PyTorch 适配器 (torch_npu) 已升级至 2.5.1.post1.dev20250528。请勿忘记在您的环境中更新它。#1235

  • 支持 Atlas 300I 系列容器镜像。您可以从 quay.io 获取。

  • 修复了逐 token 填充机制,使多卡图模式正常工作。#1300

  • 将 vLLM 升级至 0.9.1 #1165

其他改进#

  • 初步支持 MLA 的分块预填充。#1172

  • 添加了使用 ETP 运行 DeepSeek 的最佳实践示例。#1101

  • 使用 TorchAir 图对 DeepSeek 进行了性能改进。#1098, #1131

  • 支持使用 AscendScheduler 的推测解码功能。#943

  • 提升 VocabParallelEmbedding 自定义算子的性能。它将在下一个版本中启用。#796

  • 修复了在 Ray 上运行 vLLM Ascend 时的设备发现与设置错误 #884

  • DeepSeek 搭配 MC2(合并计算与通信)现已正常工作。 #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 调度器下无法工作,除非启用分块预填充。此问题将在下一个版本中修复。 #1350

完整变更日志#

vllm-project/vllm-ascend

新贡献者#

完整变更日志vllm-project/vllm-ascend

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 的第一个候选发布版本。请按照官方文档开始使用。从本版本开始,推荐使用 V1 引擎。V0 引擎的代码已冻结,将不再维护。请设置环境变量 VLLM_USE_V1=1 以启用 V1 引擎。

亮点#

  • DeepSeek 现已支持图模式。请按照官方文档进行尝试。 #789

  • Qwen 系列模型现已支持图模式。在 V1 引擎下默认启用。请注意,在此版本中,仅 Qwen 系列模型经过充分测试。我们将在下一个版本中使其稳定并推广。如果遇到任何问题,请随时在 GitHub 上提交 issue,并可通过在初始化模型时设置 enforce_eager=True 临时回退到 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

  • 新增了一种名为双批次重叠(DBO)的新型 DeepSeek 模型。请设置 VLLM_ASCEND_ENABLE_DBO=1 以使用它。 #941

其他#

已知问题#

  • 在某些情况下,启用aclgraph可能导致vLLM进程崩溃。我们正在处理此问题,将在下一个版本中修复。

  • 多节点数据并行在此版本中无法工作。这是vllm中的一个已知问题,已在主分支上修复。#18981

v0.7.3.post1 - 2025.05.29#

这是0.7.3的第一个补丁版本。请按照官方文档开始使用。它包含以下变更:

亮点#

  • 现在支持Qwen3和Qwen3MOE。Qwen3的性能和准确性已得到充分测试。您可以立即尝试。建议使用Mindie Turbo来提升Qwen3的性能。#903 #915

  • 新增了性能指南。该指南旨在帮助用户在系统层面提升vllm-ascend性能。内容包括操作系统配置、库优化、部署指南等。#878 文档链接

Bug修复#

  • Qwen2.5-VL现在可用于RLHF场景。#928

  • 用户现在可以从在线权重启动模型,例如直接从huggingface或modelscope启动。#858 #918

  • 无意义的日志信息UserWorkspaceSize0已被清理。#911

  • Failed to import vllm_ascend_C的日志级别已从error改为warning#956

  • DeepSeek MLA现在可以在V1引擎中与分块预填充配合使用。请注意,0.7.3中的V1引擎仅为实验性质,仅用于测试。#849 #936

文档#

  • 基准测试文档已针对Qwen2.5和Qwen2.5-VL进行更新。#792

  • 添加说明,明确只有"modelscope<1.23.0"与0.7.3兼容。#954

v0.7.3 - 2025.05.08#

🎉 你好,世界!

我们很高兴地宣布vllm-ascend 0.7.3版本发布。这是第一个正式版本。本版本的功能、性能和稳定性均已充分测试和验证。我们鼓励您尝试并提供反馈。如有需要,我们将在未来发布bug修复版本。请按照官方文档开始使用。

亮点#

  • 本版本包含了之前发布候选版本中的所有功能(v0.7.1rc1v0.7.3rc1v0.7.3rc2)。并且所有功能均已充分测试和验证。请访问官方文档获取详细的功能模型支持矩阵。

  • 将CANN升级到8.1.RC1以启用分块预填充和自动前缀缓存功能。您现在可以启用它们了。

  • 将 PyTorch 升级到 2.5.1。vLLM Ascend 现在不再依赖 TorchNPU 的开发版本。用户现在无需手动安装 TorchNPU。TorchNPU 的 2.5.1 版本将自动安装。#662

  • 将MindIE Turbo集成到vLLM Ascend中,以提升DeepSeek V3/R1、Qwen 2系列的性能。#708

核心#

  • 现已支持LoRA、Multi-LoRA和动态服务。性能将在下一个版本中提升。请参考官方文档获取更多使用信息。感谢招商银行的贡献。#700

模型#

  • Qwen2 vl和Qwen2.5 vl的性能已得到提升。#702

  • apply_penaltiestopKtopP操作的性能已得到提升。#525

其他#

  • 修复了一个可能导致CPU内存泄漏的问题。#691 #712

  • 新增了一个环境变量SOC_VERSION。如果在启用自定义算子构建时遇到soc检测错误,请将SOC_VERSION设置为合适的值。#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引擎,查看supported_features了解vLLM Ascend的功能支持状态。

亮点#

  • 将CANN版本升级至8.1.RC1,以在启用V1时支持分块预填充和自动前缀缓存(--enable_prefix_caching#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下启动vllm时的问题#726

  • 优化NPU内存使用,使DeepSeek R1 W8A8 32K模型长度正常工作。#728

  • 修复setup.py中PYTHON_INCLUDE_PATH的拼写错误#762

其他#

  • 添加Qwen3-0.6B测试#717

  • 添加每日构建CI#668

  • 添加精度测试报告#542

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 现在不再依赖 TorchNPU 的开发版本。用户现在无需手动安装 TorchNPU。TorchNPU 的 2.5.1 版本将自动安装。#661

其他#

  • MiniCPM 模型现已可用。#645

  • 支持使用 v0.8.4-openeuler 标签的 openEuler 容器镜像,并且对于 openEuler 操作系统,自定义算子构建默认启用。#689

  • 修复 ModuleNotFoundError 错误以使 Lora 正常工作 #600

  • 新增“使用 EvalScope 评估”文档 #611

  • 新增 VLLM_VERSION 环境变量,使 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 引擎的实验性支持。您可以访问官方指南获取更多详情。默认情况下,如果 V1 无法工作,vLLM 将回退到 V0,如果您想强制使用 V1,请设置 VLLM_USE_V1=1 环境变量。

  • LoRA、Multi-LoRA 及动态服务现已得到支持。性能将在下一个版本中提升。请按照官方文档获取更多使用信息。感谢招商银行的贡献。#521

  • 支持休眠模式功能。目前仅适用于 V0 引擎。V1 引擎支持即将推出。#513

核心#

  • 为 V1 引擎新增了 Ascend 调度器。该调度器与 Ascend 硬件更亲和。未来将增加更多调度策略。#543

  • 支持分离式预填充功能。目前仅 1P1D 模式可用。NPND 模式正在由 vllm 团队设计。一旦 vLLM 准备就绪,vllm-ascend 将提供支持。请按照官方指南使用。#432

  • 推测解码功能现已可用。目前仅适用于 V0 引擎。V1 引擎支持即将推出。#500

  • 结构化输出功能现已在 V1 引擎上可用。目前仅支持 xgrammar 后端,使用 guidance 后端可能会遇到一些错误。#555

其他#

  • 新增了一个通信器 pyhccl。它用于直接调用 CANN HCCL 库,而不是使用 torch.distribute。其更多用法将在下一个版本中添加 #503

  • 自定义算子构建默认启用。您需要先安装 gcccmake 等包才能从源码构建 vllm-ascend。如果不需要,请设置 COMPILE_CUSTOM_KERNELS=0 环境变量以禁用编译。#466

  • 自定义算子 rotary embedding 现已默认启用以提升性能。#555

v0.7.3rc2 - 2025.03.29#

这是 vllm-ascend 的 v0.7.3 第二个候选版本。请按照官方文档开始使用。

亮点#

  • 新增 Ascend 自定义算子框架。开发者现在可以使用 AscendC 编写自定义算子。添加了一个示例算子 rotary_embedding。更多教程即将推出。安装 vllm-ascend 时,自定义算子编译默认禁用。设置 COMPILE_CUSTOM_KERNELS=1 以启用它。#371

  • 本版本对 V1 引擎提供了基本支持。完整支持将在 0.8.X 版本中完成。如果您遇到任何问题或对 V1 引擎有任何需求,请通过此 issue 告诉我们。#376

  • 前缀缓存功能现已可用。您可以通过设置 enable_prefix_caching=True 来启用该功能。#282

核心#

  • 将 torch_npu 版本升级至 dev20250320.3 以提升精度,修复 !!! 输出问题。#406

模型#

  • 通过优化 patch embedding(Conv3D)提升了 Qwen2-vl 的性能。#398

其他#

  • 修复了一个 bug,确保多步调度器功能正常工作。#349

  • 修复了一个 bug,使前缀缓存功能在正确精度下工作。#424

v0.7.3rc1 - 2025.03.14#

🎉 Hello, World!这是 vllm-ascend 的 v0.7.3 首个候选版本。请按照官方文档开始您的旅程。

亮点#

  • DeepSeek V3/R1 现已良好运行。请阅读官方指南开始使用!#242

  • 支持推测解码功能。#252

  • 支持多步调度器功能。#300

核心#

  • 将 torch_npu 版本升级至 dev20250308.3 以提升 _exponential 精度

  • 增加了对池化模型的初步支持。基于 Bert 的模型,如 BAAI/bge-base-en-v1.5BAAI/bge-reranker-v2-m3 现已可用。#229

模型#

  • Qwen2-VL 的性能已提升。#241

  • 现已支持 MiniCPM #164

其他#

  • 支持 DeepSeek V3/R1 的 MTP(多 Token 预测)#236

  • [文档] 增加了更多模型教程,包括 DeepSeek、QwQ、Qwen 和 Qwen 2.5VL。详情请参阅官方文档

  • 在 vLLM v0.7.3 上固定 modelscope<1.23.0 以解决:vllm-project/vllm#13807

已知问题#

  • 某些情况下,特别是输入/输出非常长时,输出的精度可能不正确。我们正在努力解决,将在下一个版本中修复。

  • 改进并减少了模型输出中的乱码。但如果仍遇到此问题,请尝试更改生成配置值(如 temperature)后重试。下面还列出了一个已知问题。欢迎提供任何反馈#277

v0.7.1rc1 - 2025.02.19#

🎉 你好,世界!

我们很高兴地宣布 vllm-ascend 的 v0.7.1 首个候选版本发布。

vLLM Ascend Plugin (vllm-ascend) 是一个社区维护的硬件插件,用于在 Ascend NPU 上运行 vLLM。通过此版本,用户现在可以在 Ascend NPU 上享受 vLLM 的最新功能和改进。

请按照官方文档开始您的旅程。请注意,这是一个候选版本,可能存在一些 bug 或问题。我们感谢您的反馈和建议,请通过此 issue 提交。

亮点#

  • vLLM 上对 Ascend NPU 的初步支持。#3

  • 现已支持 DeepSeek。#88 #68

  • Qwen、Llama 系列及其他流行模型也已支持,更多详情请参阅 supported_models

核心#

  • 增加了 Ascend 量化配置选项,实现即将推出。#7 #73

  • 添加 silu_and_mul 和 rope 算子,并将混合算子加入注意力层。#18

其他#

  • [CI] 启用 Ascend CI 以主动监控并提升 vLLM 在 Ascend 上的质量。#3

  • [Docker] 添加 vllm-ascend 容器镜像 #64

  • [文档] 添加在线文档 #55

已知问题#

  • 此版本依赖于未发布的 torch_npu 版本。官方容器镜像中已预装该版本。如果您使用非容器环境,请手动安装

  • 运行 vllm-ascend 时会出现类似 No platform detected, vLLM is running on UnspecifiedPlatformFailed to import from vllm._C with ModuleNotFoundError("No module named 'vllm._C'") 的日志。这实际上不影响任何功能和性能,您可以忽略。此问题已在此 PR 中修复,该修复将很快包含在 v0.7.3 中。

  • 运行 vllm-ascend 时会出现类似 # CPU blocks: 35064, # CPU blocks: 2730 的日志,实际应为 # NPU blocks:。这实际上不影响任何功能和性能,您可以忽略。此问题已在此 PR 中修复,该修复将很快包含在 v0.7.3 中。