版本说明#

v0.9.1 - 2025.09.03#

We are excited to announce the newest official release of vLLM Ascend. This release includes many feature supports, performance improvements and bug fixes. We recommend users to upgrade from 0.7.3 to this version. Please always set VLLM_USE_V1=1 to use V1 engine.

In this release, we added many enhancements for large scale expert parallel case. It's recommended to follow the official guide.

Please note that this release note will list all the important changes from last official release(v0.7.3)

亮点#

  • DeepSeek V3/R1 is supported with high quality and performance. MTP can work with DeepSeek as well. Please refer to muliti node tutorials and Large Scale Expert Parallelism.

  • Qwen series models work with graph mode now. It works by default with V1 Engine. Please refer to Qwen tutorials.

  • Disaggregated Prefilling support for V1 Engine. Please refer to Large Scale Expert Parallelism tutorials.

  • Automatic prefix caching and chunked prefill feature is supported.

  • Speculative decoding feature works with Ngram and MTP method.

  • MOE and dense w4a8 quantization support now. Please refer to quantization guide.

  • Sleep Mode feature is supported for V1 engine. Please refer to Sleep mode tutorials.

  • Dynamic and Static EPLB support is added. This feature is still experimental.

Note#

The following notes are especially for reference when upgrading from last final release (v0.7.3):

  • V0 Engine is not supported from this release. Please always set VLLM_USE_V1=1 to use V1 engine with vLLM Ascend.

  • Mindie Turbo is not needed with this release. And the old version of Mindie Turbo is not compatible. Please do not install it. Currently all the function and enhancement is included in vLLM Ascend already. We'll consider to add it back in the future in needed.

  • Torch-npu is upgraded to 2.5.1.post1. CANN is upgraded to 8.2.RC1. Don't forget to upgrade them.

核心#

  • The Ascend scheduler is added for V1 engine. This scheduler is more affine with Ascend hardware.

  • Structured output feature works now on V1 Engine.

  • A batch of custom ops are added to improve the performance.

Changes#

  • EPLB support for Qwen3-moe model. #2000

  • Fix the bug that MTP doesn't work well with Prefill Decode Disaggregation. #2610 #2554 #2531

  • Fix few bugs to make sure Prefill Decode Disaggregation works well. #2538 #2509 #2502

  • Fix file not found error with shutil.rmtree in torchair mode. #2506

已知问题#

  • When running MoE model, Aclgraph mode only work with tensor parallel. DP/EP doesn't work in this release.

  • Pipeline parallelism is not supported in this release for V1 engine.

  • If you use w4a8 quantization with eager mode, please set VLLM_ASCEND_MLA_PARALLEL=1 to avoid oom error.

  • Accuracy test with some tools may not be correct. It doesn't affect the real user case. We'll fix it in the next post release. #2654

  • We notice that there are still some problems when running vLLM Ascend with Prefill Decode Disaggregation. For example, the memory may be leaked and the service may be stuck. It's caused by known issue by vLLM and vLLM Ascend. We'll fix it in the next post release. #2650 #2604 vLLM#22736 vLLM#23554 vLLM#23981

v0.9.1rc3 - 2025.08.22#

This is the 3rd release candidate of v0.9.1 for vLLM Ascend. Please follow the official doc to get started.

核心#

  • MTP supports V1 scheduler #2371

  • Add LMhead TP communication groups #1956

  • Fix the bug that qwen3 moe doesn't work with aclgraph #2478

  • Fix grammar_bitmask IndexError caused by outdated apply_grammar_bitmask method #2314

  • Remove chunked_prefill_for_mla #2177

  • Fix bugs and refactor cached mask generation logic #2326

  • Fix configuration check logic about ascend scheduler #2327

  • Cancel the verification between deepseek-mtp and non-ascend scheduler in disaggregated-prefill deployment #2368

  • Fix issue that failed with ray distributed backend #2306

  • Fix incorrect req block length in ascend scheduler #2394

  • Fix header include issue in rope #2398

  • Fix mtp config bug #2412

  • Fix error info and adapt attn_metedata refactor #2402

  • Fix torchair runtime error caused by configuration mismtaches and .kv_cache_bytes file missing #2312

  • Move with_prefill allreduce from cpu to npu #2230

文档#

  • Add document for deepseek large EP #2339

已知问题#

  • test_aclgraph.py failed with "full_cuda_graph": True on A2 (910B1) #2182

v0.9.1rc2 - 2025.08.06#

This is the 2nd release candidate of v0.9.1 for vLLM Ascend. Please follow the official doc to get started.

亮点#

  • MOE and dense w4a8 quantization support now: #1320 #1910 #1275 #1480

  • Dynamic EPLB support in #1943

  • Disaggregated Prefilling support for V1 Engine and improvement, continued development and stabilization of the disaggregated prefill feature, including performance enhancements and bug fixes for single-machine setups:#1953 #1612 #1361 #1746 #1552 #1801 #2083 #1989

Models improvement:#

Graph mode improvement:#

  • Fix DeepSeek with deepseek with mc2 in #1269

  • Fix accuracy problem for deepseek V3/R1 models with torchair graph in long sequence predictions in #1332

  • Fix torchair_graph_batch_sizes bug in #1570

  • Enable the limit of tp <= 4 for torchair graph mode in #1404

  • Fix rope accruracy bug #1887

  • Support multistream of shared experts in FusedMoE #997

  • Enable kvcache_nz for the decode process in torchair graph mode#1098

  • Fix chunked-prefill with torchair case to resolve UnboundLocalError: local variable 'decode_hs_or_q_c' issue in #1378

  • Improve shared experts multi-stream perf for w8a8 dynamic. in #1561

  • Repair moe error when set multistream. in #1882

  • Round up graph batch size to tp size in EP case #1610

  • Fix torchair bug when DP is enabled in #1727

  • Add extra checking to torchair_graph_config. in #1675

  • Fix rope bug in torchair+chunk-prefill scenario in #1693

  • torchair_graph bugfix when chunked_prefill is true in #1748

  • Improve prefill optimization to support torchair graph mode in #2090

  • Fix rank set in DP scenario #1247

  • Reset all unused positions to prevent out-of-bounds to resolve GatherV3 bug in #1397

  • Remove duplicate multimodal codes in ModelRunner in #1393

  • Fix block table shape to resolve accuracy issue in #1297

  • Implement primal full graph with limited scenario in #1503

  • Restore paged attention kernel in Full Graph for performance in #1677

  • Fix DeepSeek OOM issue in extreme --gpu-memory-utilization scenario in #1829

  • Turn off aclgraph when enabling TorchAir in #2154

Ops improvement:#

  • add custom ascendc kernel vocabparallelembedding #796

  • fix rope sin/cos cache bug in #1267

  • Refactoring AscendFusedMoE (#1229) in #1264

  • Use fused ops npu_top_k_top_p in sampler #1920

Core:#

  • Upgrade CANN to 8.2.rc1 in #2036

  • Upgrade torch-npu to 2.5.1.post1 in #2135

  • Upgrade python to 3.11 in #2136

  • Disable quantization in mindie_turbo in #1749

  • fix v0 spec decode in #1323

  • Enable ACL_OP_INIT_MODE=1 directly only when using V0 spec decode in #1271

  • Refactoring forward_context and model_runner_v1 in #1422

  • Fix sampling params in #1423

  • add a switch for enabling NZ layout in weights and enable NZ for GMM. in #1409

  • Resolved bug in ascend_forward_context in #1449 #1554 #1598

  • Address PrefillCacheHit state to fix prefix cache accuracy bug in #1492

  • Fix load weight error and add new e2e case in #1651

  • Optimize the number of rope-related index selections in deepseek. in #1614

  • add mc2 mask in #1642

  • Fix static EPLB log2phy condition and improve unit test in #1667 #1896 #2003

  • add chunk mc2 for prefill in #1703

  • Fix mc2 op GroupCoordinator bug in #1711

  • Fix the failure to recognize the actual type of quantization in #1721

  • Fix deepseek bug when tp_size == 1 in #1755

  • Added support for delay-free blocks in prefill nodes in #1691

  • Moe alltoallv communication optimization for unquantized RL training & alltoallv support dpo in #1547

  • Adapt dispatchV2 interface in #1822

  • Fix disaggregate prefill hang issue in long output in #1807

  • Fix flashcomm_v1 when engine v0 in #1859

  • ep_group is not equal to word_size in some cases. in #1862

  • Fix wheel glibc version incompatibility in #1808

  • Fix mc2 process group to resolve self.cpu_group is None in #1831

  • Pin vllm version to v0.9.1 to make mypy check passed in #1904

  • Apply npu_moe_gating_top_k_softmax for moe to improve perf in #1902

  • Fix bug in path_decorator when engine v0 in #1919

  • Avoid performing cpu all_reduce in disaggregated-prefill scenario. in #1644

  • add super kernel in decode moe in #1916

  • [Prefill Perf] Parallel Strategy Optimizations (VRAM-for-Speed Tradeoff) in #1802

  • Remove unnecessary reduce_results access in shared_experts.down_proj in #2016

  • Optimize greedy reject sampler with vectorization. in #2002

  • Make multiple Ps and Ds work on a single machine in #1936

  • Fixes the shape conflicts between shared & routed experts for deepseek model when tp > 1 and multistream_moe enabled in #2075

  • Add cpu binding support #2031

  • Add with_prefill cpu allreduce to handle D-node recomputatio in #2129

  • Add D2H & initRoutingQuantV2 to improve prefill perf in #2038

Docs:#

  • Provide an e2e guide for execute duration profiling #1113

  • Add Referer header for CANN package download url. #1192

  • Add reinstall instructions doc #1370

  • Update Disaggregate prefill README #1379

  • Disaggregate prefill for kv cache register style #1296

  • Fix errors and non-standard parts in examples/disaggregate_prefill_v1/README.md in #1965

已知问题#

  • Full graph mode support are not yet available for specific hardware types with full_cuda_graphenable. #2182

  • Qwen3 MoE aclgraph mode with tp failed when enable ep due to bincount error #2226

  • As mentioend in v0.9.1rc1 release note, Altlas 300I series support will NOT be included.

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 版本中包含。