版本说明#

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

  • GatherV3 错误已通过 aclgraph 模式修复。#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 模型的 fused allgather-experts 内核。默认值为 0#1335

  • 新增了一个环境变量 VLLM_ASCEND_ENABLE_TOPK_TOPP_OPTIMIZATION,用于提升 topk-topp 采样的性能。该变量默认值为 0,未来我们会考虑默认启用此选项#1732

  • 已修复了一批与数据并行相关的 bug #1273 #1322 #1275 #1478

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

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

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

  • 支持使用 prompt logprobs 恢复 V1 的 ceval 准确率 #1483

v0.9.1rc1 - 2025.06.22#

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

亮点#

  • 本版本对 Atlas 300I 系列提供了实验性支持。#1333 经过慎重考虑,鉴于 v0.9.1 版本发布的质量要求以及 Atlas 300I 系列性能优化的快速迭代,该功能不会被包含在 v0.9.1-dev 分支中。我们将在 0.9.2rc1 及之后的版本中进一步完善该功能。

  • 支持 EAGLE-3 进行推测式解码。#1032

核心#

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

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

  • 修复按 token 填充机制以支持多卡图模式。 #1300

  • 将 vllm 升级到 0.9.1 [#1165]https://github.com/vllm-project/vllm-ascend/pull/1165

其他改进#

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

  • 已新增一个使用 ETP 运行 DeepSeek 的最佳实践示例。#1101

  • 通过使用 TorchAir 图对 DeepSeek 进行了性能提升。#1098, #1131

  • 支持 AscendScheduler 的预测性解码功能。#943

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

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

  • DeepSeek 现已可以与 MC2(计算与通信融合)正常工作。#1268

  • 修复了带有静态 EPLB 特性时 log2phy 为 NoneType 的 bug。#1186

  • 启用 DBO 后,DeepSeek 的性能得到提升。#997#1135

  • 重构 AscendFusedMoE #1229

  • 新增初始用户故事页面(包括 LLaMA-Factory/TRL/verl/MindIE Turbo/GPUStack)#1224

  • 添加单元测试框架 #1201

已知问题#

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

  • 前缀缓存功能在未启用分块预填充的情况下无法与 Ascend 调度器一同工作。此问题将在下一个版本中修复。#1350

完整更新日志#

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 引擎的代码已被冻结,不再维护。如需启用 V1 引擎,请设置环境变量 VLLM_USE_V1=1

亮点#

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

  • Qwen 系列模型现在支持图模式。默认情况下,它在 V1 引擎下运行。请注意,本次发布中,仅 Qwen 系列模型经过了充分的图模式测试。我们将在下一个版本中进一步提升其稳定性并推广至更广泛的场景。如果你遇到任何问题,请随时在 GitHub 上提交 issue,并在初始化模型时通过设置 enforce_eager=True 临时切换回 eager 模式。

核心#

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

  • V1 引擎现在支持 LoRA、多 LoRA 以及动态服务。感谢招商银行的贡献。#893

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

  • Spec 解码和 MTP 功能现在已经支持 V1 引擎。#874 #890

  • DP 功能现在可以与 DeepSeek 一起使用。#1012

  • 输入嵌入特性现在已支持 V0 引擎。#916

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

模型#

  • Qwen2.5 VL 现在可以与 V1 引擎协同工作。#736

  • LLama4 现在可以使用了。#740

  • 新增了一种名为双批次重叠(dual-batch overlap,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 文档链接

漏洞修复#

  • 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 版本正式发布。这是首个正式发布的版本。该版本的功能、性能和稳定性已充分测试和验证。我们鼓励您试用并反馈意见。如有需要,未来我们将发布修复版本。请参阅官方文档开启您的体验之旅。

亮点#

  • 本次发布包含了所有在之前候选版本中加入的功能(v0.7.1rc1v0.7.3rc1v0.7.3rc2)。所有功能都经过了全面测试和验证。请访问官方文档获取详细的功能模型支持矩阵。

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

  • 升级 PyTorch 至 2.5.1。vLLM Ascend 现在不再依赖于 torch-npu 的开发版本。用户现在无需手动安装 torch-npu,2.5.1 版本的 torch-npu 会被自动安装。#662

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

核心#

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

模型#

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

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

其它#

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

  • 新增了一个环境变量 SOC_VERSION。如果在启用自定义算子时构建过程中遇到 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 模式和图模式性能,现在你可以使用 --additional_config={'enable_graph_mode': True} 来启用图模式。#598 #719

核心#

  • 将 vLLM 升级到 0.8.5.post1 #715

  • 修复在 profile_run 期间 CustomDeepseekV2MoE.forward 过早返回的问题 #682

  • 适配由 modelslim 生成的新量化模型 #719

  • 基于 llm_datadist 的 P2P 分布式 Prefill 初步支持 #694

  • 使用 /vllm-workspace 作为代码路径,并在容器镜像中包含 .git ,以修复在 /workspace 下启动 vllm 时的问题 #726

  • 优化NPU内存使用,以使 DeepSeek R1 W8A8 32K 模型长度能够运行。#728

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

其它#

  • 添加 Qwen3-0.6B 测试 #717

  • 添加每晚持续集成 #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 现在不再依赖 dev 版本的 torch-npu,用户无需手动安装 torch-npu。torch-npu 的 2.5.1 版本将会自动安装。#661

其它#

  • MiniCPM 模型现在可以使用了。#645

  • openEuler 容器镜像已支持 v0.8.4-openeuler 标签,并且 openEuler 操作系统默认启用了自定义 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

  • 支持分离式预填充(Disaggregated Prefill)功能。目前仅支持1P1D,NPND正在由vllm团队设计中。一旦vLLM支持,vllm-ascend将会支持。请按照官方指南使用。#432

  • Spec 解码功能现在可以使用。目前它只在 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#

这是 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

亮点#

  • 新增了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

其它#

  • 修复了一个错误,以确保多步调度器功能正常工作。#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 的精度

  • 新增了对池化模型的初步支持。现在支持 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 插件(vllm-ascend)是一个由社区维护的硬件插件,用于在 Ascend NPU 上运行 vLLM。通过此版本,用户现在可以在 Ascend NPU 上享受到 vLLM 的最新功能和改进。

请参阅官方文档开始您的体验之旅。请注意,这是一个候选发布版本,可能会有一些漏洞或问题。我们非常欢迎您在这里提交反馈和建议。

亮点#

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

  • 现在已支持 DeepSeek。 #88 #68

  • Qwen、Llama 系列及其他流行的模型也受支持,更多详情可参见这里

核心#

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

  • 添加 silu_and_mul 和 rope 操作,并将混合操作加入到 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 版本中包含。