发布说明#

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

  • 提高了 sampling 的性能。 #4153

  • Eagle3 已回归。 #4721

其他#

  • 提高了 kimi-k2 的性能。 #4555

  • 修复了 deepseek3.2-exp 的量化错误。 #4797

  • 修复了高并发场景下 qwen3-vl-moe 的错误。 #4658

  • 修复了 Prefill Decode disaggregation 场景下的精度错误。 #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 功能。如果输入过长,可能会导致 OOM。我们将在下一个版本中进行改进。

  • 此版本中,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 现已稳定且性能得到提升。此版本中,您无需再安装任何其他软件包。请遵循 官方教程 开始使用。

  • 异步调度器现已更加稳定,可供启用。请设置 `--async-scheduling` 以启用它。

  • 现已支持更多新模型,例如 Qwen3-omni、DeepSeek OCR、PaddleOCR、OpenCUA。

核心#

  • [实验性]现已支持完整的解码(decode only)图模式。虽然默认未启用,但在大多数情况下,我们建议通过 `--compilation-config '{"cudagraph_mode":"FULL_DECODE_ONLY"}'` 来启用它。如果您遇到任何错误,请告知我们。我们将在接下来的几个版本中持续改进并默认启用它。

  • 已添加大量 triton 内核。vLLM Ascend 的性能,特别是 Qwen3-Next 和 DeepSeek 3.2 的性能得到提升。请注意,triton 默认不安装也不启用,但我们建议在大多数情况下启用它。您可以从 包 URL 下载并手动安装。如果您使用的是 X86 架构运行 vLLM Ascend,则需要自行从 源代码 构建 triton ascend。

  • 已添加大量 Ascend 算子以提高性能。这意味着从本版本开始,vLLM Ascend 仅与编译的自定义算子一起工作。因此,我们已移除环境变量 `COMPILE_CUSTOM_KERNELS`。您现在不能将其设置为 0。

  • 投机解码(speculative decode)方法 `MTP` 现已更加稳定。在大多数情况下都可以启用,并且解码的 token 数量可以是 1、2、3。

  • 现已支持投机解码(speculative decode)方法 `suffix`。感谢招商银行的贡献。

  • llm-comppressor 量化工具(W8A8)现已可用。您现在可以直接通过此工具部署 W8A8 量化模型。

  • W4A4 量化现已可用。

  • 支持论文 flashcomm 中的 flashcomm1 和 flashcomm2 功能 #3004 #3334

  • 现已支持池化模型(Pooling model),例如 bge、reranker 等。

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

其他#

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

  • [实验性] 已添加 KV 缓存池 功能。

  • [实验性] 引入了一种新的图模式 `xlite`。它在某些模型上表现良好。请遵循 官方教程 开始使用。

  • LLMdatadist kv 连接器已被移除。请使用 mooncake 连接器代替。

  • Ascend 调度器已被移除。`--additional-config '{"ascend_scheudler": {"enabled": true}}'` 不再可用。

  • Torchair 图模式已被移除。`--additional-config '{"torchair_graph_config": {"enabled": true}}'` 不再可用。请使用 aclgraph 代替。

  • 环境变量 `VLLM_ASCEND_ENABLE_TOPK_TOPP_OPTIMIZATION` 已移除。此功能已足够稳定。我们现在默认启用它。

  • 投机解码(speculative decode)方法 `Ngram` 已回归。

  • 已添加 msprobe 工具,以帮助用户检查模型精度。请遵循 官方文档 开始使用。

  • 已添加 msserviceprofiler 工具,以帮助用户分析模型性能。请遵循 官方文档 开始使用。

升级说明#

  • vLLM Ascend 自维护的模型文件已被移除。相关的 Python 入口点也已被移除。因此,在升级前,请在您的环境中卸载旧版本的 vLLM Ascend。

  • CANN 已升级到 8.3.RC2,Pytorch 和 torch-npu 已升级到 2.8.0。请勿忘记安装它们。

  • 已删除 Python 3.9 支持,以与 vLLM v0.12.0 保持一致。

已知问题#

  • DeepSeek 3/3.1 和 Qwen3 在 FULL_DECODE_ONLY 图模式下不起作用。我们将在下一个版本中修复。 #4990

  • Hunyuan OCR 不起作用。我们将在下一个版本中修复。 #4989 #4992

  • DeepSeek 3.2 在此版本中不支持 chat template。这是因为 vLLM v0.12.0 不支持它。我们将在下一个 v0.13.0rc1 版本中提供支持。

  • DeepSeek 3.2 在某些情况下在高并发下不起作用。我们将在下一个版本中修复。 #4996

  • 我们注意到 bf16/fp16 模型性能不佳,这主要是因为 `VLLM_ASCEND_ENABLE_NZ` 默认启用。请设置 `VLLM_ASCEND_ENABLE_NZ=0` 来禁用它。我们将在下一个版本中添加自动检测机制。

  • 投机解码(speculative decode)方法 `suffix` 不起作用。我们将在下一个版本中修复。您可以拾取此提交来解决问题: #4813

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 的第二个发布候选版本。在此版本中,我们解决了许多 bug 以提高质量。感谢您的所有反馈。我们将继续致力于 bug 修复和性能改进。v0.11.0 正式版本即将发布。请遵循 官方文档 开始使用。

亮点#

  • CANN 已升级到 8.3.RC2。 #4332

  • Ngram 投机解码方法已回归。 #4092

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

核心#

  • 加速了 vLLM 的启动时间。 #4099

  • Kimi k2 现已支持量化。 #4190

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

其他#

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

  • 修复了 DeepSeek V3 系列模型的 allgather 算子错误。 #3711

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

  • 修复了 vl 模型在 x86 机器上不起作用的错误。 #4285

  • 支持了预填充分离(prefill disaggregation)代理的 ipv6。请注意,mooncake 连接器不支持 ipv6。我们正在处理此问题。 #4242

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

  • 添加了一个检查,以确保 FLASHCOMM 功能不适用于 vl 模型。它将在 2025 年第四季度支持 #4222

  • 音频所需的库已安装在容器中。 #4324

已知问题#

  • Ray + EP 不起作用。如果您使用 ray 运行 vLLM Ascend,请禁用专家并行。 #4123

  • `response_format` 参数暂不支持。我们将尽快提供支持。 #4175

  • 对于多实例情况(例如,同一节点上的多 DP),CPU 绑定功能不起作用。我们将在下一个版本中修复。

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 官方教程可在[此处](https://docs.vllm.com.cn/projects/ascend/en/latest/tutorials/single_npu_qwen3_w4a4.html)获得。

核心#

  • Qwen3 和 Deepseek V3 系列模型的性能得到提升。

  • 现已支持 Mooncake 层级连接器 #2602。教程请见[此处](https://docs.vllm.com.cn/projects/ascend/en/latest/tutorials/pd_disaggregation_mooncake_multi_node.html)。

  • 现已支持 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 缓存使用率会变高。这是调度器的一个 bug。我们正在处理。

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

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

  • DeepSeek3.2 与 aclgraph 的精度不正确。临时解决方案是将 `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

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

  • 现已支持 CPU offload 连接器。 #1659

其他#

  • Qwen3-next 现已稳定。 #3007

  • 修复了 v0.10.2 中 Qwen3-next 引入的大量 bug。 #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)时滑动窗口注意力(sliding windows attention)的 bug。 #2758

  • 添加了 Qwen3 的预填充-解码分离(Prefill-Decode Disaggregation)官方文档。 #2751

  • 环境变量 `VLLM_ENABLE_FUSED_EXPERTS_ALLGATHER_EP` 现已恢复工作。 #2740

  • 为 deepseek 添加了一个新的 oproj 改进。设置 `oproj_tensor_parallel_size` 来启用此功能。 #2167

  • 修复了 deepseek 与 torchair 在设置 `graph_batch_sizes` 时不按预期工作的 bug。 #2760

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

  • 使用 flashcomm_v1 提升了 Qwen3 密集模型的性能。设置 `VLLM_ASCEND_ENABLE_DENSE_OPTIMIZE=1` 和 `VLLM_ASCEND_ENABLE_FLASHCOMM=1` 来启用它。 #2779

  • 使用 prefetch 功能提升了 Qwen3 密集模型的性能。设置 `VLLM_ASCEND_ENABLE_PREFETCH_MLP=1` 来启用它。 #2816

  • 通过更新 rope 算子,提升了 Qwen3 MoE 模型的性能。 #2571

  • 修复了 RLHF 场景下的权重加载错误。 #2756

  • 添加了 warm_up_atb 步骤以加速推理。 #2823

  • 修复了 moe 模型的 aclgraph steam 错误。 #2827

已知问题#

  • 当 P 和 D 的 TP 大小不同时,服务器在运行 Prefill Decode Disaggregation 时会挂起。这个问题已通过 vLLM commit 修复,但未包含在 v0.10.2 中。您可以拾取此提交来修复问题。

  • Qwen3-Next 的 HBM 使用量高于预期。这是一个 已知问题,我们正在解决。您可以根据您的并行配置设置 `max_model_len` 和 `gpu_memory_utilization` 为合适的值,以避免 OOM 错误。

  • 我们注意到 LoRA 在此版本中无法工作,原因是 KV 缓存的重构。我们将尽快修复。 2941

  • 在使用 Ascend 调度器运行时,请勿启用分块预填充(chunked prefill)与前缀缓存(prefix cache)一起使用。其性能和精度不佳/不正确。 #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

  • 支持与 AscendSceduler 一起使用滑动窗口注意力(Sliding Window Attention),从而修复了 Gemma3 的精度问题。 #2528

其他#

  • 错误修复

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

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

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

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

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

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

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

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

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

    • 优化了贪婪情况下的 reject sampler。#2137

  • 一系列重构 PR,以增强代码架构

    • 重构了 MLA。#2465

    • 重构了 torchair fused_moe。#2438

    • 重构了 allgather/mc2 相关的 fused_experts。#2369

    • 重构了 torchair model runner。#2208

    • 重构了 CI。#2276

  • 参数变更

    • additional_config 中添加了 lmhead_tensor_parallel_size,用于启用 lmhead 张量并行。#2309

    • 移除了未使用的环境变量 HCCN_PATH, PROMPT_DEVICE_ID, DECODE_DEVICE_ID, LLMDATADIST_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 的最新官方发布。此版本包含许多功能支持、性能改进和 bug 修复。我们建议用户从 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 中。我们将在未来根据需要考虑将其添加回来。

  • Torch-npu 已升级到 2.5.1.post1。CANN 已升级到 8.2.RC1。请勿忘记升级它们。

核心#

  • 为 V1 引擎添加了 Ascend 调度器。此调度器更适合 Ascend 硬件。

  • 结构化输出功能现在可以在 V1 引擎上工作。

  • 添加了一系列自定义操作以提高性能。

变更#

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

  • 修复了 MTP 与 Prefill Decode Disaggregation 工作不正常的问题。#2610 #2554 #2531

  • 修复了几个 bug 以确保 Prefill Decode Disaggregation 工作正常。#2538 #2509 #2502

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

已知问题#

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

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

  • 如果您使用 w4a8 量化和 eager 模式,请设置 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 下无法工作的问题 #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 调度器中不正确的 req block 长度 #2394

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

  • 修复了 mtp 配置 bug #2412

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

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

  • 将 prefill 阶段的 with_prefill allreduce 从 cpu 移至 npu #2230

文档#

  • 添加了 deepseek large EP 的文档 #2339

已知问题#

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

v0.10.0rc1 - 2025.08.07#

这是 vLLM Ascend v0.10.0 的第一个候选发布。请遵循官方文档开始。V0 已从该版本完全移除。

亮点#

  • V1 引擎现已支持分布式预填充。您可以尝试使用 DeepSeek 模型 #950,并遵循此教程

  • 现在支持密集模型和 MoE 模型的 W4A8 量化方法。#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 支持 Kimi-K2(w8a8 量化)、Qwen3-Coder 和 GLM-4.5。请遵循此教程进行尝试。#2162

  • V1 现在支持流水线并行。#1800

  • 前缀缓存功能现在与 Ascend 调度器协同工作。#1446

  • Torchair 图模式现在支持 tp > 4。#1508

  • MTP 现在支持 torchair 图模式 #2145

其他#

  • 错误修复

    • 修复了 Qwen2-audio 等多模态模型在 Aclgraph 下的功能问题。#1803

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

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

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

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

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

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

    • 在 TP 启用时,在预填充阶段实现了 allreduce 和 matmul 的融合。通过设置 VLLM_ASCEND_ENABLE_MATMUL_ALLREDUCE1 来启用此功能。#1926

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

    • 在自定义模型中使用 AddRmsNormQuant 操作以优化 Qwen3 的性能 #1806

    • 使用组播来避免将解码请求填充到预填充大小 #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 解码的分页注意力算子。

    • 在环境变量中添加 VLLM_ASCEND_ENABLE_MATMUL_ALLREDUCE,在启用张量并行时启用 MatmulAllReduce 融合内核。此功能在 A2 上得到支持,eager 模式将获得更好的性能。

    • 在环境变量中添加 VLLM_ASCEND_ENABLE_MOE_ALL2ALL_SEQ,用于启用 moe all2all seq,这提供了一个基于 alltoall 的基本框架,方便扩展。

  • 在遵循此 rfc 后,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 的第二个候选发布。请遵循官方文档开始。

亮点#

模型改进#

图模式改进#

  • 修复了 deepseek 与 mc2 的组合在 #1269 中存在的问题

  • 修复了 torchair 图模式下,长序列预测时 deepseek V3/R1 模型的精度问题 #1332

  • 修复了 torchair_graph_batch_sizes bug #1570

  • #1404 中,为 torchair 图模式的 TP <= 4 启用了限制

  • 修复了 rope 精度 bug #1887

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

  • 在 torchair 图模式的解码过程中启用了 kvcache_nz#1098

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

  • 改进了 w8a8 动态量化的共享专家多流性能。在 #1561

  • 修复了设置多流时的 moe 错误。在 #1882

  • 在 EP 场景下,将图批次大小四舍五入到 TP 大小 #1610

  • 修复了 DP 启用时的 torchair bug #1727

  • #1675 中,为 torchair_graph_config 添加了额外检查

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

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

  • 改进了预填充优化以支持 torchair 图模式 #2090

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

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

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

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

  • #1503 中,为有限场景实现了完全图

  • #1677 中,为了性能恢复了 Full Graph 的分页注意力内核

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

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

算子改进#

  • 添加了自定义 AscendC 内核 vocabparallelembedding #796

  • 修复了 #1267 中的 rope sin/cos 缓存 bug

  • 重构了 AscendFusedMoE (#1229) #1264

  • 在 sampler 中使用了融合算子 npu_top_k_top_p #1920

核心:#

  • CANN 已升级到 8.2.rc1 #2036

  • torch-npu 已升级到 2.5.1.post1 #2135

  • Python 已升级到 3.11 #2136

  • 禁用了 mindie_turbo 中的量化 #1749

  • 修复了 v0 spec decode #1323

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

  • 重构 forward_context 和 model_runner_v1 #1422

  • 修复了 sampling params #1423

  • 添加了启用 NZ 布局的权重开关,并为 GMM 启用了 NZ。#1409

  • 解决了 ascend_forward_context 中的 bug #1449 #1554 #1598

  • 处理 PrefillCacheHit 状态以修复前缀缓存精度 bug #1492

  • 修复了加载权重错误并添加了新的端到端案例 #1651

  • 优化了 deepseek 中与 rope 相关的索引选择数量。#1614

  • 添加了 mc2 掩码 #1642

  • 修复了静态 EPLB log2phy 条件并改进了单元测试 #1667 #1896 #2003

  • 为预填充添加了分块 mc2 #1703

  • 修复了 mc2 op GroupCoordinator 错误,在 #1711

  • 修复了无法识别量化实际类型的问题,在 #1721

  • 修复了 tp_size == 1 时 DeepSeek 的错误,在 #1755

  • 在预填充节点中添加了对无延迟块的支持,在 #1691

  • MoE alltoallv 通信优化,适用于未量化的 RL 训练 & alltoallv 支持 dpo,在 #1547

  • 适配了 dispatchV2 接口,在 #1822

  • 修复了长输出时 disaggregate prefill 挂起的问题,在 #1807

  • 修复了 engine v0 时的 flashcomm_v1,在 #1859

  • 在某些情况下 ep_group 不等于 word_size,在 #1862

  • 修复了 wheel glibc 版本不兼容的问题,在 #1808

  • 修复了 mc2 进程组,以解决 self.cpu_group 为 None 的问题,在 #1831

  • 将 vllm 版本固定为 v0.9.1,以使 mypy 检查通过,在 #1904

  • 应用了 npu_moe_gating_top_k_softmax 来优化 moe 性能,在 #1902

  • 修复了 engine v0 时 path_decorator 的错误,在 #1919

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

  • 在 decode MoE 中添加了 super kernel,在 #1916

  • [Prefill 性能] 并行策略优化 (VRAM-Speed 权衡),在 #1802

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

  • 使用向量化优化了 greedy reject sampler,在 #2002

  • 使多个 Ps 和 Ds 可以在单台机器上运行,在 #1936

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

  • 添加了 CPU 绑定支持 #2031

  • 添加了带 prefill 的 cpu allreduce 来处理 D-node 的重计算,在 #2129

  • 添加了 D2H & initRoutingQuantV2 来提高预填充性能,在 #2038

文档#

  • 提供执行时长剖析的端到端指南 #1113

  • 为 CANN 包下载 URL 添加 Referer 头。 #1192

  • 添加重新安装说明文档 #1370

  • 更新 Disaggregate prefill README #1379

  • Disaggregate prefill 支持 kv cache 寄存器样式 #1296

  • 修复 examples/disaggregate_prefill_v1/README.md 中的错误和非标准部分,在 #1965

已知问题#

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

  • Qwen3 MoE aclgraph 模式在启用 ep 时因 bincount 错误而失败 #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 嵌入模型 #1359

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

  • aclgraph 模式现已支持 Moe 模型。目前,仅 Qwen3 Moe 经过充分测试。 #1381

核心#

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

  • GatherV3 错误在 aclgraph 模式下已修复。 #1416

  • W8A8 量化现已在 Atlas 300I 系列上运行。 #1560

  • 修复了带有并行参数的部署模型的准确性问题。 #1678

  • 预构建的 wheel 包现已要求更低版本的 glibc。用户可以直接通过 pip install vllm-ascend 进行安装。 #1582

其他#

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

  • 修复了 deepseek V3/R1 模型在长序列预测时使用 torchair graph 的准确性问题。 #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

已知问题#

  • 流水线并行在与 ray 和 graph 模式一起使用时不起作用:https://github.com/vllm-project/vllm-ascend/issues/1751 https://github.com/vllm-project/vllm-ascend/issues/1754

新贡献者#

  • @xleoken 在 https://github.com/vllm-project/vllm-ascend/pull/1357 中首次贡献

  • @lyj-jjj 在 https://github.com/vllm-project/vllm-ascend/pull/1335 中首次贡献

  • @sharonyunyun 在 https://github.com/vllm-project/vllm-ascend/pull/1194 中首次贡献

  • @Pr0Wh1teGivee 在 https://github.com/vllm-project/vllm-ascend/pull/1308 中首次贡献

  • @leo-pony 在 https://github.com/vllm-project/vllm-ascend/pull/1374 中首次贡献

  • @zeshengzong 在 https://github.com/vllm-project/vllm-ascend/pull/1452 中首次贡献

  • @GDzhu01 在 https://github.com/vllm-project/vllm-ascend/pull/1477 中首次贡献

  • @Agonixiaoxiao 在 https://github.com/vllm-project/vllm-ascend/pull/1531 中首次贡献

  • @zhanghw0354 在 https://github.com/vllm-project/vllm-ascend/pull/1476 中首次贡献

  • @farawayboat 在 https://github.com/vllm-project/vllm-ascend/pull/1591 中首次贡献

  • @ZhengWG 在 https://github.com/vllm-project/vllm-ascend/pull/1196 中首次贡献

  • @wm901115nwpu 在 https://github.com/vllm-project/vllm-ascend/pull/1654 中首次贡献

完整变更日志: https://github.com/vllm-project/vllm-ascend/compare/v0.9.1rc1…v0.9.2rc1

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 的发布质量和功能快速迭代,以上功能**将不包含在 v0.9.1-dev 分支 (v0.9.1 最终发布) 中**。我们将在 0.9.2rc1 及以后改进这一点。

核心#

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

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

  • 修复了 token-wise 填充机制,以使多卡图模式工作。 #1300

  • 升级 vLLM 到 0.9.1 #1165

其他改进#

  • MLA 的初始 Chunked Prefill 支持。 #1172

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

  • 使用 TorchAir 图提高了 DeepSeek 的性能。 #1098, #1131

  • 支持使用 AscendScheduler 进行投机解码功能。 #943

  • 提高了 VocabParallelEmbedding 自定义 op 的性能。将在下个版本中启用。 #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 Scheduler 但未启用 chunked prefill 时,前缀缓存功能不起作用。将在下一个版本中修复。 #1350

完整变更日志#

https://github.com/vllm-project/vllm-ascend/compare/v0.9.0rc2…v0.9.1rc1

新贡献者#

  • @farawayboat 在 https://github.com/vllm-project/vllm-ascend/pull/1333 中首次贡献

  • @yzim 在 https://github.com/vllm-project/vllm-ascend/pull/1159 中首次贡献

  • @chenwaner 在 https://github.com/vllm-project/vllm-ascend/pull/1098 中首次贡献

  • @wangyanhui-cmss 在 https://github.com/vllm-project/vllm-ascend/pull/1184 中首次贡献

  • @songshanhu07 在 https://github.com/vllm-project/vllm-ascend/pull/1186 中首次贡献

  • @yuancaoyaoHW 在 https://github.com/vllm-project/vllm-ascend/pull/1032 中首次贡献

完整变更日志: https://github.com/vllm-project/vllm-ascend/compare/v0.9.0rc2…v0.9.1rc1

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 上打开一个问题,并暂时通过在初始化模型时设置 enforce_eager=True 来回退到 eager 模式。

核心#

  • 多步调度器的性能得到了提升。感谢招商银行的贡献。 #814

  • V1 引擎现已支持 LoRA、Multi-LoRA 和动态服务。感谢招商银行的贡献。 #893

  • 前缀缓存和分块预填充功能现已可用 #782 #844

  • V1 引擎现已支持 Spec decode 和 MTP 功能。 #874 #890

  • DP 功能现已支持 DeepSeek。 #1012

  • V0 引擎现已支持输入嵌入功能。 #916

  • V1 引擎现已支持休眠模式。 #1084

模型#

  • V1 引擎现已支持 Qwen2.5 VL。 #736

  • LLama4 现已支持。 #740

  • 添加了一种新型 DeepSeek 模型,称为双批次重叠 (DBO)。请设置 VLLM_ASCEND_ENABLE_DBO=1 来使用它。 #941

其他#

已知问题#

  • 在某些情况下,启用 aclgraph 时 vLLM 进程可能会因 **GatherV3** 错误而崩溃。我们正在处理此问题,将在下一个版本中修复。

  • 多节点数据并行在此版本中不起作用。这是 vllm 中的一个已知问题,已在 main 分支中修复。 #18981

v0.7.3.post1 - 2025.05.29#

这是 0.7.3 的第一个发布后版本。请遵循 官方文档 开始您的旅程。它包括以下更改:

亮点#

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

  • 添加了新的性能指南。该指南旨在帮助用户在系统级别提高 vllm-ascend 的性能。它包括操作系统配置、库优化、部署指南等。 #878 文档链接

错误修复#

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

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

  • 已清除无意义的日志信息 UserWorkspaceSize0#911

  • 日志级别从 error 更改为 warning,用于 Failed to import vllm_ascend_C#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 版本。这是第一个正式版本。此版本的各项功能、性能和稳定性均经过全面测试和验证。我们鼓励您尝试并提供反馈。如果需要,我们将在未来发布错误修复版本。请遵循 官方文档 开始您的旅程。

亮点#

  • 此版本包含了先前版本候选版本 (v0.7.1rc1, v0.7.3rc1, v0.7.3rc2) 中已合并的所有功能。所有功能均经过全面测试和验证。请访问官方文档获取详细信息,了解 功能模型 支持矩阵。

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

  • 升级 PyTorch 到 2.5.1。vLLM Ascend 不再依赖 torch-npu 的开发版本。现在用户无需手动安装 torch-npu。torch-npu 的 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 op 的性能得到提升。 #525

其他#

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

  • 添加了一个新的环境变量 SOC_VERSION。如果您在构建启用自定义 op 的版本时遇到任何 soc 检测错误,请将 SOC_VERSION 设置为合适的值。 #606

  • openEuler 容器镜像支持 v0.7.3-openeuler 标签。 #665

  • 前缀缓存功能现已在 V1 引擎上运行。 #559

v0.8.5rc1 - 2025.05.06#

这是 vllm-ascend v0.8.5 的第一个发布候选版本。请遵循 官方文档 开始您的旅程。现在您可以通过设置环境变量 VLLM_USE_V1=1 来启用 V1 引擎,请在此处查看 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 不再依赖 torch-npu 的开发版本。现在用户无需手动安装 torch-npu。torch-npu 的 2.5.1 版本将自动安装。 #661

其他#

  • MiniCPM 模型现已可用。 #645

  • openEuler 容器镜像支持 v0.8.4-openeuler 标签,并且为 openEuler OS 默认启用了自定义 Ops 构建。 #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-ascend 一旦从 vLLM 准备好就将支持它。请关注 官方指南 进行使用。 #432

  • Spec decode 功能现已可用。目前仅在 V0 引擎上运行。V1 引擎支持即将推出。 #500

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

其他#

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

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

  • 默认启用自定义算子 rotay embedding 以提高性能。 #555

v0.7.3rc2 - 2025.03.29#

这是 v0.7.3 的第二个候选版本,适用于 vllm-ascend。请遵循 官方文档 开始您的旅程。

  • 通过容器快速入门: https://vllm-ascend.readthedocs.io/en/v0.7.3-dev/quick_start.html

  • 安装: https://vllm-ascend.readthedocs.io/en/v0.7.3-dev/installation.html

亮点#

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

  • 此版本基本支持 V1 引擎。完全支持将在 0.8.X 版本中完成。如果您遇到任何问题或对 V1 引擎有任何要求。请在此 处告知我们#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#

🎉 你好,世界!这是 vllm-ascend v0.7.3 的第一个候选版本。请遵循 官方文档 开始您的旅程。

  • 通过容器快速入门: https://vllm-ascend.readthedocs.io/en/v0.7.3-dev/quick_start.html

  • 安装: https://vllm-ascend.readthedocs.io/en/v0.7.3-dev/installation.html

亮点#

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

  • 支持投机解码功能。 #252

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

核心#

  • 将 torch_npu 版本更新至 dev20250308.3 以提高 _exponential 精度

  • 添加了对池化模型(pooling models)的初始支持。Bert 模型,例如 BAAI/bge-base-en-v1.5BAAI/bge-reranker-v2-m3 现已可用。 #229

模型#

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

  • MiniCPM 现已支持 #164

其他#

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

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

  • 在 vLLM v0.7.3 中固定 modelscope<1.23.0 以解决: https://github.com/vllm-project/vllm/pull/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 或问题。我们非常感谢您的反馈和建议 在此处

亮点#

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

  • DeepSeek 现已支持。 #88 #68

  • Qwen、Llama 系列和其他流行模型也得到了支持,您可以在 此处 查看更多详细信息。

核心#

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

  • 添加了 silu_and_mul 和 rope 算子,并将 mix 算子添加到 attention 层。 #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 中。