🤖 AI总结
主题
lmdeploy v0.18.0版本发布,覆盖推理服务、后端优化、模型适配等多方面更新。
摘要
lmdeploy v0.18.0发布,新增Logprobs、Qwen3.5、GLM-5.2支持,重构推理引擎,修复多项稳定性问题。
关键信息
- 1 新增输入输出Logprobs、Qwen3.5 dflash、GLM-5.2支持等核心功能。
- 2 推理引擎核心改进包括MLA、CacheEngine、调度器与CUDA Graph优化。
- 3 修复了在线FP8、工具调用、多模态处理等大量稳定性问题。
![]()
![]()
![]()
2026 年 9 月 29 日,lmdeploy 正式发布 v0.18.0。此次版本覆盖推理服务、PyTorch 后端、TurboMind、MoE、MLA、多模态、工具调用、KV Cache、分布式通信、量化、模型适配以及 CI 与文档等多个方向。
从更新内容来看,v0.18.0 的重点不只是新增模型能力,更集中于推理基础设施的重构和稳定性提升:一方面加入输入与输出 Logprobs、Qwen3.5 的 dflash、GLM-5.2 支持等直接可见的功能;另一方面持续推进 CacheEngine、调度器、线性执行、CUDA Graph、GEMM 工作区等核心路径的改造。同时,围绕 MLA、MoE、工具调用、多模态请求校验、KV Connector、在线 FP8、NCCL、非 CUDA 加速器等场景,也补齐了大量关键问题。
一、核心新功能:Logprobs、Qwen3.5、GLM-5.2 与 MoE 能力扩展
v0.18.0 首先带来了多项模型推理与接口能力扩展。
1. 支持输出输入与输出 Logprobs
新版本支持输出输入与输出的 Logprobs。
Logprobs 即 token 的对数概率信息。对于需要观察模型生成置信度、分析 token 选择过程、进行候选结果评估或实现更细粒度推理控制的场景,这项能力具有重要价值。
此前,推理接口更多关注最终生成文本,而 Logprobs 的加入意味着调用侧可以获得更丰富的概率层信息。与此同时,本版本还在 RESTful 返回检查中增加了 Logprobs 数量断言,以确保接口返回中的 Logprobs 数量符合预期。
2. 扩展 SM90 量化 GEMM,并统一 TurboMind 线性执行
v0.18.0 扩展了 SM90 平台上的量化 GEMM 支持,并统一 TurboMind 的线性执行路径。
GEMM 是大模型推理中的核心计算组成部分,线性层执行效率直接影响端到端吞吐与延迟。此次更新聚焦于 SM90 量化计算能力,并对 TurboMind 中的线性执行进行统一,有助于让相关执行路径更加一致。
在后续改进中,版本还进一步将 GEMM 工作区从 Linear 句柄中解耦,使计算工作区与线性层句柄的管理边界更加清晰。
3. Ascend 平台支持 GLM-5.2
v0.18.0 在 Ascend 相关能力中支持 GLM-5.2。
这意味着 GLM-5.2 的适配范围进一步扩展。与此同时,针对 GLM-5.2,本版本还修复了 MTP 投影被错误纳入在线 FP8 处理的问题,避免该部分受到不应有的在线 FP8 影响。
4. Qwen3.5 支持 dflash
新版本为 Qwen3.5 增加 dflash 支持。
这项更新扩展了 Qwen3.5 在 lmdeploy 中的推理能力覆盖范围,也体现出该版本持续推进新模型、新机制适配的方向。
5. 共享专家迁移至 MoE FFN 层,稠密 FFN 支持节点内分片
在 MoE 模型方面,v0.18.0 将共享专家移动到 MoE FFN 层,并使稠密 FFN 节点能够在本地进行分片。
MoE 模型由多个专家模块组成,其前馈网络组织方式与分布策略会影响执行路径。此次调整聚焦共享专家的位置以及稠密 FFN 的节点内分片能力,为 MoE 结构下的执行方式带来进一步优化。
二、推理引擎核心改进:MLA、CacheEngine、调度器与 CUDA Graph 持续演进
除了显性的模型与接口功能,本次版本更新的重点还包括推理引擎内部架构调整。
1. 修复混合 DP 与 TP 下的 MLA Attention 分片问题
v0.18.0 修复了混合数据并行与张量并行场景下 MLA Attention 的分片问题。
MLA Attention 是相关模型推理链路中的关键模块。当数据并行与张量并行共同使用时,注意力层的分片处理需要保持正确性。此次修复针对混合 DP 和 TP 场景,改善 MLA Attention 的分片行为。
2. 新增 XTuner TileLang 稀疏 MLA 后端
新版本增加 XTuner TileLang 稀疏 MLA 后端。
这项能力进一步扩展 MLA 的后端支持路径,也为稀疏 MLA 场景增加新的执行选择。
3. 初始化在线 FP8 量化后的 MLA KV-B
针对 MLA 相关逻辑,v0.18.0 修复了在线 FP8 量化后 MLA KV-B 初始化的问题。
在线 FP8 量化涉及运行时权重或相关数据的量化处理,MLA KV-B 的初始化需要与该过程正确衔接。本次修复解决了这一初始化环节的问题。
4. CacheEngine 围绕计划与分配重新设计
PyTorch 后端的 CacheEngine 在本版本中迎来重构,新的设计围绕计划与分配展开。
CacheEngine 是缓存管理的重要组成部分。此次重构不再沿用原有结构,而是以计划和分配为中心重新组织,为缓存资源的管理带来新的架构基础。
5. 新增仅请求级 Cache 使用指标
v0.18.0 新增仅请求级别的 Cache 使用指标。
该能力面向单个请求维度记录缓存使用情况,使请求层面的 Cache 使用状态能够被单独度量。
6. PyTorch 调度器所有权与 API 边界重构
新版本重构了 PyTorch 调度器的所有权关系与 API 边界。
调度器负责推理请求的调度与执行协调。此次调整聚焦“谁拥有调度器”以及“不同模块如何通过 API 交互”两个方面,属于内部架构层面的重要演进。
7. 新增分段式 CUDA Graph Prefill
v0.18.0 在 PyTorch 后端加入分段式 CUDA Graph Prefill。
Prefill 是推理过程中处理输入上下文的重要阶段。CUDA Graph 用于固定图执行相关流程,而本次增加的分段式 Prefill 能力,为该阶段引入新的执行方式。
8. 避免健康检查 RPC 造成调度延迟
PyTorch 路径中修复了健康检查 RPC 可能带来调度延迟的问题。
健康检查本身是服务运行中的必要环节,但不应影响正常请求调度。本次修复旨在避免健康检查 RPC 对调度造成额外延迟。
9. 支持 checkpoint-engine 权重更新
v0.18.0 增加 checkpoint-engine 权重更新支持。
这项能力扩展了权重更新相关流程的支持范围,使 checkpoint-engine 能够参与相应的权重更新处理。
三、TurboMind 与线性计算:量化、GEMM、视觉工作区和编译标准同步升级
TurboMind 是 lmdeploy 的重要推理后端之一。本版本围绕计算内核、量化线性层、工作区与编译环境进行了多项更新。
1. PyTorch 中原型支持 TurboMind W4A16 AWQ Linear 后端
v0.18.0 在 PyTorch 中加入 TurboMind W4A16 AWQ Linear 后端原型。
这意味着 AWQ 线性层的 W4A16 相关执行路径开始获得 TurboMind 后端支持,并以原型形式引入 PyTorch 相关链路。
2. GEMM 工作区与 Linear 句柄解耦
新版本将 GEMM 工作区从 Linear 句柄中解耦。
此前两者关联较紧密的管理方式得到调整,工作区不再与 Linear 句柄绑定。该改动与前述 TurboMind 线性执行统一、SM90 量化 GEMM 扩展共同构成该版本在线性计算路径上的持续优化。
3. 移除 cuBLAS Grouped GEMM,并调整 cuBLAS Dense 优先级
v0.18.0 移除了 cuBLAS Grouped GEMM,并让 cuBLAS Dense 在原生 BF16 与 FP16 内核之前获得优先级。
该变更直接影响 GEMM 的执行选择逻辑:Grouped GEMM 被移除后,Dense GEMM 的优先级策略同步调整,优先使用 cuBLAS Dense,再考虑原生 BF16 或 FP16 内核。
4. 修复 TurboMind Vision 工作区溢出
新版本修复了 TurboMind Vision 工作区溢出问题。
视觉相关推理中,工作区大小与内存使用紧密相关。此次修复解决了 TurboMind Vision 工作区发生溢出的风险。
5. TurboMind 迁移至 C++20
v0.18.0 将 TurboMind 迁移至 C++20。
编译标准升级是工程层面的重要变化,TurboMind 后续构建与代码演进将基于 C++20 标准推进。
四、服务层与接口层:聊天服务、工具调用、多模态校验持续完善
面向 API 服务与实际调用体验,v0.18.0 同样有大量更新。
1. 共享聊天服务运行器
新版本重构服务层,采用共享聊天服务运行器。
该调整聚焦聊天服务执行组件的复用,属于 serving 模块的内部结构优化。
2. 工具参数支持增量流式输出
v0.18.0 支持工具参数增量流式输出。
工具调用场景中,工具参数不再只能等待完整结果,而是可以随着生成过程逐步流式传输。这项改动改善了工具参数在流式调用中的输出方式。
3. 修复 tool_choice 等工具选择问题
本次版本修复了tool_choice='required'的处理问题。
此外,还修复了 Intern-S 与 GPT-OSS 中的工具选择处理问题。工具选择是工具调用接口中的关键参数,相关修复提升了不同模型和不同工具选择设置下的行为正确性。
4. GPT-OSS 结合结构化标签语法与 Harmony 解析器
v0.18.0 中,GPT-OSS 将 xgrammar 的结构化标签语法与 Harmony 解析器进行结合。
该更新涉及 GPT-OSS 的结构化处理能力,将结构化标签语法与解析器能力放在同一处理链路中。
5. 移除旧版 OpenAI API 客户端
服务侧移除了旧版 OpenAI API 客户端。
同时,自动化测试中也使用 OpenAI SDK 替换原有 APIClient,并强化参数的严格检查。服务客户端与自动测试客户端均发生对应调整。
6. 文本模型拒绝多模态请求
v0.18.0 修复文本模型接收多模态请求的问题:当模型是文本模型时,将拒绝多模态请求。
这一改动明确了模型类型与请求类型之间的匹配规则,避免文本模型处理不适用的多模态请求。
7. 多模态预处理兼容缺少 content 字段的消息
针对多模态预处理,本版本修复了消息中没有 content 键时的兼容问题。
服务端现在能够容忍此类消息,而不会因缺少 content 键而在多模态预处理环节失败。
8. 服务端生成配置回退至模型生成配置
新版本修复生成配置回退逻辑:当需要回退时,将回退至模型生成配置。
该修复确保生成参数的回退行为正确落到模型的生成配置上。
五、KV、通信与分布式:MTP、Mooncake、对称内存和连接关闭问题修复
在 KV 管理、跨节点连接以及分布式通信方面,v0.18.0 也进行了扩展与修复。
1. Mooncake Store 支持 MTP
KV Connector 相关能力中,Mooncake Store 增加 MTP 支持。
这项更新扩展了 Mooncake Store 在 MTP 场景下的适配能力。
2. 新增对称内存 LM Head All-Gather
新版本增加对称内存 LM Head All-Gather。
该能力面向 LM Head 的 All-Gather 流程,引入对称内存相关支持。
3. 修复 disagg 场景下 ZMQ 连接未及时关闭问题
v0.18.0 修复 disagg 场景下的连接关闭问题:将zmq_disconnect调整为同步操作,从而确保p2p_drop_connect能够真正关闭套接字。
该问题涉及点对点连接释放行为。此前连接断开调用未必立刻完成,而同步断开方式使套接字能够按预期关闭。
4. 修复代理终止节点失败响应中的 node_url 插值
代理模块中,修复终止节点失败响应里node_url的插值问题。
当终止节点操作失败时,返回信息中的节点地址现在能够正确处理。
5. 使用公共设备 API 头文件构建 NCCL Stub
新版本修复 NCCL Stub 构建问题,改为使用公共设备 API 头文件进行构建。
这一修复涉及 NCCL Stub 的编译依赖与头文件使用方式。
六、量化、模型权重与跨加速器:在线 FP8、MemDecode 与 dlinfer 修复
v0.18.0 针对量化和模型加载路径进行了多项稳定性修复。
1. GLM-5.2 MTP Projection 不参与在线 FP8
如前文所述,版本修复了 GLM-5.2 的 MTP Projection 被纳入在线 FP8 的问题。
修复后,GLM-5.2 MTP Projection 将被排除在在线 FP8 之外。
2. MemDecode Router Checkpoint 强制仅权重加载
新版本修复 MemDecode Router Checkpoint 的加载行为,强制采用仅权重加载方式。
该修改明确了 Router Checkpoint 的加载约束,避免使用不符合预期的加载方式。
3. dlinfer 的 NTK Rotary Embedding 移除 CUDA 硬编码
在 dlinfer 中,NTK Rotary Embedding 修复了对 CUDA 的硬编码问题。
这一调整面向非 CUDA 加速器场景,使该模块不再固定依赖 CUDA 的实现假设。
4. InternViT 按需分配固定页输入缓冲区
v0.18.0 修复 InternViT 的输入缓冲区分配方式,改为按需分配固定页输入缓冲区。
这一变更涉及 InternViT 输入数据处理期间的缓冲区管理。
七、其他关键问题修复:环境变量、配置、稳定性与测试保障
除了上述模块,本版本还修复了若干影响使用稳定性的细节问题。
1. 环境变量解析错误后恢复 getenv
当环境变量解析发生错误时,新版本会恢复getenv。
该修复解决了环境解析异常后环境变量读取状态未正确恢复的问题。
2. RESTful 返回检查增加 Logprobs 数量断言
为了配合输入与输出 Logprobs 支持,RESTful 返回检查增加了对 Logprobs 数量的断言。
这项更新用于确保接口返回中的 Logprobs 数量符合检查要求。
3. 更新 Sleep、Wakeup 与 Abort 测试场景
测试侧更新了休眠、唤醒和中止场景。
这些场景覆盖服务运行过程中不同的请求与状态变化路径,本次更新同步完善相关测试内容。
4. 自动化测试整合布局型 Pytest 用例
CI 与自动化测试方面,版本对基于布局的 Pytest 用例进行整合。
该调整属于测试组织层面的重构。
5. CUDA Release 构建增加 Swap
CI 中为 CUDA Release 构建增加 Swap。
这项变更面向 CUDA Release 构建流程。
八、文档与依赖更新:示例、基准标签、版本要求同步修正
v0.18.0 同步完成多项文档与依赖维护工作。
1. 修复 A100 FP16 Benchmark 标签
文档中修复了 A100 FP16 基准测试标签。
2. 修复中文 Output Logits 示例语法
中文文档中的 Output Logits 示例修复了语法问题。
这项更新与本版本的 Logprobs、输出概率信息等相关能力形成呼应,确保中文示例内容可正确使用。
3. 修正文档字符串参数名
文档字符串中的参数名与实际函数签名保持一致。
该更新修复了文档参数名称与签名不一致的问题。
4. 修复 CONTRIBUTING 与 get_started 中失效的标题锚点
文档修复了 CONTRIBUTING 和 get_started 页面中的失效标题锚点。
5. 日文 README 快速开始 Python 版本同步至 3.12
日文 README 的快速开始部分,将 Python 版本从 3.10 同步为 3.12,与英文和中文内容保持一致。
6. 限制 xgrammar 依赖版本
依赖方面,将 xgrammar 限制在低于0.2.5.post1的版本,以解决单元测试 CI 被破坏的问题。
7. 版本号升级至 v0.18.0
最终,本次发布完成版本号升级,正式进入 lmdeploy v0.18.0。
结语
代码地址:github.com/InternLM/lmdeploy
lmdeploy v0.18.0 是一次覆盖面非常广的版本更新。
在功能层面,新增输入与输出 Logprobs、Qwen3.5 的 dflash、Ascend 平台 GLM-5.2 支持、Mooncake Store 的 MTP 支持、XTuner TileLang 稀疏 MLA 后端、请求级 Cache 使用指标、checkpoint-engine 权重更新、对称内存 LM Head All-Gather 等能力。
在推理引擎层面,CacheEngine、PyTorch 调度器、TurboMind 线性执行、SM90 量化 GEMM、CUDA Graph Prefill、GEMM 工作区、MoE FFN 结构与 MLA 分片处理均获得持续演进。
在稳定性层面,版本集中修复了在线 FP8、GLM-5.2 MTP Projection、TurboMind Vision 工作区、ZMQ 连接关闭、多模态消息预处理、工具选择、NCCL Stub 构建、环境变量恢复、非 CUDA 加速器适配等问题。
整体来看,v0.18.0 不仅扩展了模型和接口能力,也进一步完善了 lmdeploy 在高性能推理、服务调度、缓存管理、工具调用、多模态处理与工程化保障方面的基础能力。
我们相信人工智能为普通人提供了一种“增强工具”,并致力于分享全方位的AI知识。在这里,您可以找到最新的AI科普文章、工具评测、提升效率的秘籍以及行业洞察。 欢迎关注“福大大架构师每日一题”,发消息可获得面试资料,让AI助力您的未来发展。