在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

lmdeploy v0.15.0正式发布。本次版本围绕推理性能、模型支持、长上下文处理、投机解码、TurboMind底层能力、多机部署、Ascend适配、多模态服务、引导解码、稳定性修复与测试体系等方向进行了集中更新。

从更新内容来看,v0.15.0不仅增加了长上下文和MTP前缀缓存命中能力,也新增了DeepSeek V4支持、MemDecode支持、投机解码中的引导解码支持,并持续完善TurboMind的内存分配、对象缓存、调度器、并行配置、张量复制、Gated Delta Rule等底层能力。

同时,本次更新也对Ascend平台、FP8 MoE、TP通信、DP模式、服务端口、流式响应解析、多模态工具消息、远程媒体域名限制、健康检查、模型加载、KV量化布局等场景进行了优化与修复。


一、核心新功能:长上下文、投机解码、DeepSeek V4与MemDecode支持

1. 支持长上下文与MTP前缀缓存命中

v0.15.0新增了对长上下文场景以及MTP前缀缓存命中的支持。

前缀缓存是推理服务中降低重复计算的重要能力。当多个请求拥有相同或相似的输入前缀时,系统可以复用已处理的前缀结果,避免重复执行相同的预填充计算。此次更新明确加入了长上下文与MTP相关的前缀缓存命中支持,使相关场景能够更好地利用缓存能力。

与此同时,版本中还包含了前缀缓存修复内容,进一步保障前缀缓存相关流程的正确性。

2. 投机解码支持引导解码

本次版本为投机解码加入了引导解码支持。

投机解码场景下,引导解码能力可与既有推理流程结合。与此同时,v0.15.0也修复了XGrammar在引导解码中的集成问题,确保引导解码相关功能能够正确接入并运行。

这一部分更新包括两个方面:

  • 为投机解码增加引导解码支持
  • 修复XGrammar引导解码集成问题

3. 新增DeepSeek V4支持

lmdeploy v0.15.0加入了对DeepSeek V4的支持。

模型支持范围的扩展,使用户能够在lmdeploy推理框架中接入DeepSeek V4。对于需要部署、评估或服务化运行该模型的用户而言,这是一项直接的兼容性更新。

4. 新增MemDecode支持

本次版本增加了MemDecode支持。

MemDecode相关能力被纳入v0.15.0的功能更新中,与长上下文、MTP、缓存机制及推理调度等方向共同构成本次版本在推理链路上的重要增强。

5. TurboMind接入内存分配器、对象缓存与调度器

TurboMind方面,v0.15.0新增了内存分配器、对象缓存以及调度器集成能力。

这项更新覆盖了多个底层环节:

  • 内存分配管理
  • 对象缓存能力
  • 调度器整合

通过将这些基础组件接入TurboMind,版本进一步完善了TurboMind在运行时资源管理和任务调度方面的基础能力。

6. 新增AgRs all2all后端

v0.15.0新增AgRs all2all后端。

all2all通常涉及并行计算中的数据交换流程,尤其是在专家模型、分布式任务与多卡通信等场景中具有重要作用。本次加入AgRs all2all后端,属于通信与并行后端能力的扩展。

7. TurboMind支持组合式并行配置推导

本次版本中,TurboMind新增了组合式并行配置推导能力。

并行配置是大模型推理部署的重要部分,涉及张量并行、数据并行及其他并行相关配置。此次更新使TurboMind能够推导可组合的并行配置,进一步完善并行部署相关能力。

8. 新增通用张量复制与架构感知的Gated Delta Rule支持

v0.15.0为TurboMind加入两项底层能力:

  • 通用张量复制
  • 架构感知的Gated Delta Rule支持

其中,通用张量复制用于更通用的数据复制处理;Gated Delta Rule则增加了针对模型架构的适配能力。

9. 增加GDR上下文并行控制与旧版内核覆盖

本次更新新增GDR上下文并行控制能力,并支持旧版内核覆盖。

这部分内容进一步扩展了Gated Delta Rule相关的运行控制与兼容性配置能力,使相关场景可使用上下文并行控制,并支持对旧版内核进行覆盖。

10. 支持SM90 GDR PDL并修复上下文并行矩阵布局

TurboMind部分还加入了SM90 GDR PDL支持,并修复了上下文并行矩阵布局问题。

该更新同时包含功能增强与问题修复:

  • 启用SM90 GDR PDL能力
  • 修复CP矩阵布局问题

11. 新增服务端生成配置参数

服务端新增--generation-config命令行参数,用于配置服务端采样默认值。

通过该参数,可以在服务启动阶段设置生成相关的默认配置,方便服务端统一管理默认采样行为。

12. 增加纯文本VLM推理选项

v0.15.0新增--language-model-only参数,用于文本模式的VLM推理。

同时,原有的--disable-vision-encoder参数被移除。更新后的方式是使用--language-model-only,以支持仅语言模型的文本推理场景。


二、性能与架构优化:覆盖Ascend、FP8 MoE、TTFT、流式解析与调度流程

1. Ascend线性注意力强制使用128块大小

针对Ascend平台上的线性注意力,本次更新强制使用blksize=128

该调整用于统一线性注意力相关的块大小配置,使Ascend上的相关执行路径采用128的块大小。

2. Ascend平台在head_dim为256时强制使用128块大小

除线性注意力外,v0.15.0还针对Ascend平台增加了另一项块大小约束:当head_dim=256时,强制使用blksize=128

这意味着Ascend相关推理路径中,以下两类情况都会使用128块大小:

  • 线性注意力场景
  • 头维度为256的场景

3. 统一交错式MRoPE旋转位置编码实现

本次版本对交错式MRoPE旋转位置编码进行了重构,实现统一化处理。

MRoPE相关逻辑经过重构后,交错式旋转位置编码的实现更加统一,有助于减少不同实现路径之间的差异。

4. 优化Ascend A3多节点支持

v0.15.0对Ascend A3平台的多节点支持进行了优化。

在多节点部署场景中,本次更新进一步完善了Ascend A3相关支持,同时测试内容中也增加了Ascend多节点启动配置相关覆盖。

5. Ascend A3支持Qwen3.5 MTP

本次版本增加Ascend A3平台上的Qwen3.5 MTP支持。

这一更新扩展了Qwen3.5 MTP在Ascend A3环境中的可用性。

6. 移除dlblas依赖

lmdeploy v0.15.0移除了dlblas。

该项调整属于工程依赖与底层实现层面的清理,减少了项目中的相关依赖内容。

7. H2D流程以等待事件替换同步操作

在H2D流程中,本次更新将同步操作替换为等待事件。

该调整涉及主机到设备的数据传输处理路径,通过等待事件替换原有同步方式,对相关执行流程进行优化。

8. 优化TTFT

v0.15.0对TTFT进行了优化。

TTFT即首个令牌输出时间,是推理服务中重要的响应指标之一。本次版本在该方向进行了针对性优化。

9. 优化BaseResponseParser流式处理并加入解析器基准测试

服务端响应解析部分,本次更新优化了BaseResponseParser的流式处理能力,并新增了解析器基准测试。

相关更新包括:

  • 优化BaseResponseParser流式解析
  • 增加解析器性能基准测试

这使响应解析模块在流式处理路径上获得进一步完善,同时为解析器能力提供基准测试支持。

10. Qwen3.5仅支持FP8 MoE

v0.15.0明确将FP8 MoE支持限制为Qwen3.5。

该调整规定FP8 MoE仅面向Qwen3.5使用,明确了当前FP8 MoE能力的适用范围。

11. 优化TP场景下FP8 MoE的小平均路由专家处理

针对TP场景下平均路由到每个专家的令牌数量较小的情况,本次版本优化了FP8 MoE处理。

这一项属于FP8 MoE与张量并行结合场景下的针对性优化。

12. 休眠时清理运行时状态

v0.15.0改进了休眠流程,在进入休眠时清理运行时状态。

该调整使运行时状态能够在休眠阶段被清理,完善了运行生命周期中的状态管理。

13. 澄清PyTorch调度器与输入构造器控制流程

PyTorch部分进行了重构,用于澄清调度器与输入构造器之间的控制流程。

该更新属于代码组织与流程清晰化改进,使调度和输入构造相关逻辑更加明确。

14. DP待处理任务期间保护虚拟输入

本次版本在DP模式下,对待处理任务周围的虚拟输入进行了保护。

该优化用于处理DP流程中存在待处理工作时的虚拟输入相关情况。

15. 限制分组GEMM调度范围

TurboMind中,分组GEMM的调度范围被限制在已路由令牌范围内。

该项调整使分组GEMM调度与路由令牌数量保持对应关系。

16. 恢复TurboMind指标上报

v0.15.0恢复了TurboMind的指标上报能力。

该更新使TurboMind重新具备指标报告相关支持。


三、关键问题修复:缓存、通信、服务、多模态、模型加载与稳定性全面覆盖

1. 修复前缀缓存问题

本次版本修复了前缀缓存问题。

结合新增的长上下文与MTP前缀缓存命中支持,这项修复进一步完善了缓存相关能力。

2. 修复Triton 3.5.1中的_reduce_split_kernel问题

v0.15.0修复了Triton 3.5.1环境下的_reduce_split_kernel问题。

这项修复提升了相关内核在该版本Triton环境中的兼容性。

3. 修复Triton FP8 all_reduce通信组问题

本次更新修复了Triton FP8 all_reduce通信组问题。

该问题涉及FP8场景下的all_reduce通信组处理。

4. 聊天补全响应使用唯一ID

服务端聊天补全响应现在使用唯一的chat completion ID。

该修复避免聊天补全响应中的ID重复问题。

5. 批量补全自动生成会话,避免ID冲突

服务端批量补全场景中,系统将自动生成会话,以避免ID冲突。

这一修复与聊天补全唯一ID更新共同改善了服务端会话和请求标识相关的冲突问题。

6. 修复内置聊天模板名称导致的导入错误

本次版本修复了使用内置聊天模板名称时,get_chat_template可能出现的ImportError问题。

这使内置聊天模板名称在对应调用流程中的兼容性得到修复。

7. 修复InternVL与InternVL3的LoRA加载类型错误

v0.15.0修复了InternVL和InternVL3在适配器回退路径中的LoRA加载TypeError问题。

该修复涉及多模态模型的LoRA加载流程。

8. 修复Ascend单节点多DP Rank启动时的HCCL端口冲突

本次版本修复了单节点环境中,多DP Rank启动时可能发生的HCCL端口冲突问题。

这项修复针对Ascend环境下的多数据并行启动流程。

9. 修复无效服务解析器未能快速失败的问题

服务端针对无效解析器增加快速失败处理。

当服务解析器配置无效时,系统能够更早地终止相关流程,而不是继续进入后续执行。

10. 修复多模态工具消息解析

v0.15.0修复了多模态工具消息解析问题。

此外,服务端的视觉语言模型流程也修复了工具信息未正确转发至多模态聊天模板的问题。两项更新共同完善了多模态工具消息在解析和模板转发过程中的处理。

11. 健康请求允许重新探测一次

本次更新为健康检查请求增加一次重新探测机制。

该修复用于改进健康请求的处理流程。

12. 修复TurboMind健康状态检查误判

v0.15.0修复了TurboMind健康状态检查中可能出现的假阴性问题。

该修复与健康请求重新探测机制共同完善了服务健康检查相关能力。

13. 修复DP预热解码期间图捕获未启用问题

本次版本修复了DP预热解码期间图捕获未启用的问题。

该修复涉及DP模式下预热解码流程的图捕获行为。

14. 修复多模态负载在多进程交接后未释放的问题

v0.15.0修复了多模态负载在多进程交接后未及时释放的问题。

该更新完善了多模态数据在进程交接之后的资源释放流程。

15. 限制远程媒体域名

本次版本限制了远程媒体域名。

该修复针对远程媒体资源访问场景,增加了域名限制。

16. 修复Qwen3.5的MTP循环状态往返问题

v0.15.0修复了Qwen3.5的MTP循环状态往返问题。

MTP相关修复还包括:

  • 修复MTP的DP元数据问题
  • 对预热流程增加保护
  • 修复GLM MTP问题

这些调整进一步完善了MTP在不同模型与并行流程中的运行稳定性。

17. 修复Qwen3.5零中心RMSNorm问题

TurboMind修复了Qwen3.5的零中心RMSNorm问题。

该修复针对Qwen3.5模型相关的归一化计算路径。

18. 修复INT8 KV量化参数偏移恢复问题

v0.15.0修复了TurboMind中INT8 KV量化参数在块布局里的偏移恢复问题。

该问题涉及KV量化和块布局处理。

19. 修复异步TP关闭死锁问题

TurboMind修复了异步张量并行关闭过程中可能发生的死锁问题。

该修复改善了异步TP流程的关闭处理。

20. 修复Anthropic消息中缺失logprobs属性的处理问题

服务端修复了Anthropic消息处理中,TurboMindEngineConfig缺失logprobs属性时的处理问题。

该更新提升了对应消息处理流程的兼容性。

21. 跳过InternS2预览版时间序列权重

本次版本修复了InternS2预览版时间序列权重相关问题,处理方式为跳过这些权重。


四、服务行为调整:端口、无状态推理、文本VLM与默认生成配置

1. DP模式下代理地址配置时尊重服务端口参数

当DP模式配置代理地址时,服务将正确遵守--server-port参数。

该修复使代理地址与服务端口参数组合使用时,端口配置能够得到正确处理。

2. 移除交互式聊天,推理改为无状态

v0.15.0移除了交互式聊天,并将推理调整为无状态模式。

这是服务交互方式上的明确调整:不再保留交互式聊天方式,推理流程转为无状态处理。

3. 文本VLM使用language-model-only参数

对于文本场景下的VLM推理,新增--language-model-only参数。

同时移除--disable-vision-encoder参数。用户在文本VLM推理中应使用新的参数方式。

4. 服务端支持生成默认配置

通过新增--generation-config参数,服务端能够配置采样默认值。

这使启动服务时可以统一指定生成相关的默认配置。


五、测试、构建、文档与工程维护更新

1. 版本信息更新

本次提交中包含版本号更新内容:

  • 更新至v0.14.0
  • 更新至v0.15.0

最终发布版本为v0.15.0。

2. 改进工具测试

v0.15.0改进了工具测试。

3. 增加前缀缓存、HF路径转换与Ascend多节点启动配置测试

测试部分新增或完善了以下覆盖内容:

  • H前缀缓存测试
  • HF路径转换测试
  • Ascend多节点启动配置测试

4. 更新deepgemm版本

本次版本更新了deepgemm版本。

5. 移除已废弃模型支持

v0.15.0清理并移除了已废弃的模型支持。

6. Jetson Docker安装xgrammar修复

本次更新修复了Jetson Docker环境中xgrammar的安装问题。

7. 更新TurboMind构建镜像

TurboMind构建镜像已更新。

8. 修复同一session_id生成测试中的不稳定文本不等式断言

自动化测试中,移除了同一session_id生成测试中不稳定的文本不等式判断。

该调整用于处理测试中的不稳定情况。

9. 基准测试使用NumPy随机数种子

基准测试部分加入NumPy随机数种子设置,使--seed参数能够控制随机模式下的长度。

10. 更新Anthropic接口测试

本次版本更新了Anthropic端点测试。

11. 更新多模态工具调用测试

v0.15.0更新了多模态工具调用测试。

12. 移除过时的C++测试

工程维护中移除了过时的C++测试。

13. 修复贡献指南中的拼写问题

文档部分修复了贡献指南中的拼写错误。

14. CI固定磁盘空间动作至完整提交版本

持续集成流程中,将释放磁盘空间相关动作固定至完整提交版本。


六、总结:v0.15.0覆盖推理、模型、服务、并行与平台适配多个方向

代码地址:github.com/InternLM/lmdeploy

lmdeploy v0.15.0的更新范围较广,主要可以概括为以下几个方向:

  • 支持长上下文与MTP前缀缓存命中
  • 支持投机解码中的引导解码
  • 支持DeepSeek V4
  • 支持MemDecode
  • 增强TurboMind的内存、对象缓存、调度、并行配置与张量处理能力
  • 新增AgRs all2all后端
  • 优化TTFT、流式响应解析、FP8 MoE与TP相关流程
  • 完善Ascend与Ascend A3平台支持
  • 增加Qwen3.5 MTP与GDR相关能力
  • 修复前缀缓存、通信、服务ID、模型加载、多模态消息、健康检查、MTP状态、KV量化与异步关闭等问题
  • 服务端新增生成默认配置能力,并调整为无状态推理
  • 完善测试、构建镜像、依赖管理、文档和CI配置

总体而言,lmdeploy v0.15.0在模型支持、推理运行时、TurboMind底层能力、服务稳定性、多模态处理、MTP与前缀缓存、Ascend适配以及工程测试等方面均进行了集中迭代。对于关注长上下文推理、MTP、投机解码、FP8 MoE、TurboMind、多节点部署和服务端稳定性的用户来说,v0.15.0包含了较为完整的一轮更新。

Logo

鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。

更多推荐