ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

lmdeploy v0.18.0 发布:Logprobs、Qwen3.5、GLM-5.2、MoE、MLA 与推理引擎全面进化

lmdeploy v0.18.0 发布:Logprobs、Qwen3.5、GLM-5.2、MoE、MLA 与推理引擎全面进化 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.2v0.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 Prefillv0.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 迁移至 C20v0.18.0 将 TurboMind 迁移至 C20。编译标准升级是工程层面的重要变化TurboMind 后续构建与代码演进将基于 C20 标准推进。四、服务层与接口层聊天服务、工具调用、多模态校验持续完善面向 API 服务与实际调用体验v0.18.0 同样有大量更新。1. 共享聊天服务运行器新版本重构服务层采用共享聊天服务运行器。该调整聚焦聊天服务执行组件的复用属于 serving 模块的内部结构优化。2. 工具参数支持增量流式输出v0.18.0 支持工具参数增量流式输出。工具调用场景中工具参数不再只能等待完整结果而是可以随着生成过程逐步流式传输。这项改动改善了工具参数在流式调用中的输出方式。3. 修复 tool_choice 等工具选择问题本次版本修复了tool_choicerequired的处理问题。此外还修复了 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 支持 MTPKV 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 构建增加 SwapCI 中为 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/lmdeploylmdeploy 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 在高性能推理、服务调度、缓存管理、工具调用、多模态处理与工程化保障方面的基础能力。
返回列表