模型 / 数据集
InternLM/lmdeploy avatar
InternLM/lmdeploy

LMDeploy 评测:TurboMind 引擎如何压缩和部署大模型

该项目围绕「InternLM/lmdeploy」构建,面向真实业务场景提供可复用的开源实践方案,支持稳定落地与可扩展的项目实践。

8,071 个 Star748 个 ForkPythonApache-2.0

秒懂

它是什么?
LMDeploy 是 InternLM 团队推出的 LLM 压缩、部署与推理工具包,核心是 TurboMind 高性能引擎。本文基于官方文档与发布记录,分析其架构、量化方案、部署流程,并指出其适用边界与替代方案。
适合谁用?
LMDeploy 适合需要高吞吐推理、对量化有强需求、或部署 InternLM、DeepSeek、Qwen 等模型的团队。其 TurboMind 引擎在连续批处理、Paged Attention 和 KV8 内核上有明显优化,官方声称吞吐量比 vLLM 高 1.8 倍,但该数据来自项目自身,未提供独立基准,采用前应在自己的硬件和模型上复测。
能商用吗?
可以。Apache-2.0 是宽松许可证:你可以使用、修改并销售基于它的软件,只需保留版权和许可证声明。
还在维护吗?
在维护。仓库最近一次提交在 1 天前。
用什么语言写的?
主要是 Python(依据 GitHub 的语言统计)。

以上回答依据项目的 GitHub 数据(最近同步于 2026年9月14日)和我们的分析,不构成法律意见。

开源项目深度解析

它解决什么问题,谁需要它

LMDeploy 解决的是大模型从训练完成到实际服务之间的三件事:压缩模型体积、部署到目标硬件、提供高吞吐的推理服务。它由 MMRazor 和 MMDeploy 团队开发,这两个团队之前分别做模型压缩和部署,LMDeploy 把两者合并成一个工具链。它的目标用户是那些需要把 7B 到 70B 甚至更大模型跑起来,并且要处理高并发请求的工程团队。比如部署 Llama-2、InternLM、DeepSeek、Qwen 等模型,或者需要在多卡、多机环境下做张量并行推理。如果你只是偶尔跑一次推理,或者模型规模很小,LMDeploy 的复杂度可能超出需求。它更偏向生产环境,而不是研究原型。文档里提到的功能,比如持续批处理、Paged Attention、KV cache 量化,都是为了提升吞吐和降低显存占用,这些是服务端推理的核心痛点。

TurboMind 引擎的核心机制

TurboMind 是 LMDeploy 的核心推理引擎,用 C++ 和 CUDA 编写,针对 NVIDIA GPU 做了深度优化。根据发布记录,它在 2023 年引入了 Paged Attention、无序列长度限制的 attention 内核、KV8 内核(比之前快 2 倍)、Split-K 解码(Flash Decoding)和 W4A16 推理。2024 年又加入了 int8/int4 KV cache 量化。这些机制共同作用,实现了持续批处理,也就是不用等一个序列结束就能插入新请求,从而提升 GPU 利用率。官方声称吞吐量比 vLLM 高 1.8 倍,但这是项目自己的说法,没有提供第三方基准。TurboMind 支持张量并行,可以跨多卡、多机部署,但 Windows 平台只支持单卡(tp=1),这一点在 2023 年 8 月的记录中明确写出。对于 MoE 模型,2025 年 6 月做了 FP8 MoE 的推理优化,还集成了 DeepSeek 的 FlashMLA、DeepGemm、DeepEP 等技术,说明它对新模型架构的跟进比较快。

PyTorch 引擎:降低门槛的另一条路

除了 TurboMind,LMDeploy 在 2024 年 1 月推出了完全用 Python 编写的 PyTorch 推理引擎。这个引擎的目的是降低开发门槛,让研究者能快速实验新特性,而不必深入 CUDA 内核。PyTorch 引擎支持 CUDA graph,官方称在 Llama3-8B 上比原来快 1.3 倍。它还支持华为 Ascend 平台,2024 年 9 月加入,并在 2024 年 10 月支持图模式,推理速度翻倍。这意味着 LMDeploy 不只是 NVIDIA 专用,PyTorch 引擎覆盖了国产硬件。不过,PyTorch 引擎的性能通常不如 TurboMind,因为后者有手写的高性能内核。如果你需要极致吞吐,选 TurboMind;如果需要快速适配新模型或非 NVIDIA 硬件,PyTorch 引擎更合适。但要注意,PyTorch 引擎对模型的支持范围与 TurboMind 不完全一致,部署前需要查 supported_models 文档。

量化方案:权重量化和 KV cache 量化

LMDeploy 提供两种量化路径。第一种是 4-bit 权重量化,基于 AWQ 算法,2023 年 8 月引入,官方称 4-bit 推理比 FP16 快 2.4 倍。量化后的模型可以直接从 HuggingFace Hub 下载,LMDeploy 团队上传了现成的 4-bit 模型。第二种是 KV cache 量化,支持 int8 和 int4,2024 年 4 月加入,用于减少长序列推理时的显存占用。KV cache 量化对所有支持的设备生效,但需要参考 kv_quant.md 文档进行配置。另外,2026 年 2 月新增了对 vllm-project/llm-compressor 生成的 4-bit 对称和非对称量化模型的支持,这说明 LMDeploy 能加载其他工具量化后的模型。量化的质量通过 OpenCompass 评估确认,但具体分数没有在 README 中列出。值得注意,量化会损失精度,AWQ 需要校准数据,如果你对精度极其敏感,需要自行评估。

部署与使用:从 pip 安装到启动服务

安装 LMDeploy 很简单,官方推荐直接 pip install lmdeploy。2026 年 4 月之前 PyPI 曾因存储配额暂停上传,恢复后 v0.12.3 可用,当前最新版本是 v0.16.0。启动一个 OpenAI 兼容的 API 服务,文档里给出的方式是使用 lmdeploy serve api_server 命令,具体参数需要查阅文档。对于离线推理,可以用 pipeline 接口,比如 lmdeploy.pipeline 加载 HuggingFace 模型。多模型、多机部署则使用 proxy_server 模式,2024 年 1 月加入。如果你想做量化,需要先运行 AWQ 校准脚本,然后转换模型格式。整个流程有清晰的文档支持,包括 get_started 快速入门和 api_server 指南。但要注意,LMDeploy 的配置项很多,比如 KV cache 大小、张量并行度、批处理大小,都需要根据硬件调整,不是开箱即用。

局限性与失败模式

LMDeploy 有几个明显的限制。第一,TurboMind 对 NVIDIA GPU 优化最深,但 Windows 只支持单卡,多卡部署需要 Linux。第二,Ascend 支持仅限于 PyTorch 引擎,TurboMind 不支持,所以如果你想在国产硬件上跑高性能推理,只能用较慢的 Python 引擎。第三,量化虽然能提速,但 AWQ 需要额外的校准步骤,而且 4-bit 推理的 2.4 倍加速是在特定硬件和模型上测得的,不一定适用于你的场景。第四,模型支持列表是动态变化的,比如 DeepSeek V3 在 2025 年 1 月才加入,如果你的模型不在列表中,可能需要等待更新或自己适配。第五,PyPI 曾暂停上传,导致用户无法安装最新版本,虽然已恢复,但这类基础设施问题会影响依赖它的生产环境。最后,LMDeploy 的文档虽然详细,但命令示例分散在各页,新手容易在量化参数或 KV cache 配置上出错。

替代方案:vLLM 与 llm-compressor

最直接的替代是 vLLM,它同样提供高吞吐推理和 Paged Attention,但 LMDeploy 官方声称自己的吞吐量比 vLLM 高 1.8 倍,这个数据来自项目自身,需要谨慎看待。vLLM 的社区更大,模型支持更广,但 LMDeploy 的优势在于它同时提供量化工具链,而 vLLM 本身不包含 AWQ 量化,你需要额外使用 AutoAWQ 或 llm-compressor。另一个相关工具是 vllm-project/llm-compressor,它专注于模型压缩,生成 4-bit 量化模型,LMDeploy 从 2026 年 2 月起支持加载它量化后的模型。这说明两者可以配合使用:先用 llm-compressor 压缩,再用 LMDeploy 部署。如果你的主要需求是量化,llm-compressor 更专业;如果重点是部署和推理,LMDeploy 或 vLLM 更合适。选择时,考虑你的硬件平台和对 Python 生态的依赖程度。

维护成本与许可

LMDeploy 的维护节奏很快,从 2026 年 6 月到 8 月发布了三个版本(v0.14.0、v0.15.0、v0.16.0),说明团队在持续修复和添加功能。但这也意味着升级成本较高,每次版本更新可能带来配置变化或模型支持的变动。你需要关注 release notes,尤其是量化格式和引擎接口的变更。许可方面,LMDeploy 使用 Apache-2.0,允许商用、修改和再分发,但需要保留版权声明。如果你把它集成到自己的产品中,必须遵守 Apache-2.0 的条款,包括提供修改说明。另外,LMDeploy 依赖的 CUDA 内核和第三方库(如 FlashMLA、DeepGemm)可能有各自的许可,集成时需逐一确认。总体而言,维护成本中等偏高,适合有专门工程资源的团队。

编辑结论

LMDeploy 适合需要高吞吐推理、对量化有强需求、或部署 InternLM、DeepSeek、Qwen 等模型的团队。其 TurboMind 引擎在连续批处理、Paged Attention 和 KV8 内核上有明显优化,官方声称吞吐量比 vLLM 高 1.8 倍,但该数据来自项目自身,未提供独立基准,采用前应在自己的硬件和模型上复测。若你主要使用 PyTorch 生态、需要快速迭代新模型,或依赖 HuggingFace 原生接口,PyTorch 引擎可能更顺手,但性能不如 TurboMind。量化方面,AWQ 和 KV cache 量化需要额外校准步骤,4-bit 推理比 FP16 快 2.4 倍的说法同样需要实测验证。安装时注意 PyPI 曾因存储配额暂停上传,2026 年 4 月已恢复,建议直接 pip install lmdeploy。Apache-2.0 许可允许商用,但若集成到闭源产品,需保留版权声明。最后,先确认你的 GPU 架构,TurboMind 对 NVIDIA 支持最全,Ascend 仅 PyTorch 引擎支持。

官方来源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
社区笔记

社区笔记