
LMDeploy是上海AI Lab开源的LLM/VLM压缩、部署与服务工具箱,Apache-2.0许可。TurboMind高性能引擎+PyTorch引擎双路线,请求吞吐1.8倍于vLLM,4-bit推理2.4倍于FP16。支持AWQ/INT4/KV量化、张量并行、多机多卡分发、OpenAI兼容API,覆盖Llama/Qwen/InternLM/InternVL等LLM与VLM,华为昇腾、沐曦、寒武纪国产卡原生适配。
项目概述
LMDeploy由上海AI Lab的MMRazor和MMDeploy团队开发,2023年开源,Apache-2.0许可。定位为大模型压缩、部署与服务的端到端工具箱,是InternLM生态的官方推理引擎,同时也是Qwen系列模型部署的主流方案之一。
双引擎架构:
LMDeploy设计了两套推理引擎,各有侧重:
- TurboMind:纯C++/CUDA高性能引擎,追求极致推理优化,支持Paged Attention、Blocked KV Cache、Split-K解码(Flash Decoding)、W4A16推理等特性
- PyTorch引擎:纯Python实现,降低开发者门槛,模型支持类型与数据类型更灵活
核心性能指标:
- 请求吞吐1.8倍于vLLM:通过Persistent Batch(连续批处理)、Blocked KV Cache、动态拆分和融合、张量并行、高性能CUDA kernels实现
- 4-bit推理效率2.4倍于FP16:2023年8月发布的4-bit推理是当时最快的开源实现
- 量化质量经OpenCompass评测验证:可靠性充分
关键时间线:
- 2023/07:TurboMind支持Llama-2张量并行推理
- 2023/08:4-bit推理(AWQ算法)发布,性能2.4倍于FP16;支持Windows(tp=1)
- 2023/11:TurboMind重大升级,Paged Attention、无序列长度限制的更快attention kernels、2倍速KV8 kernels、Split-K解码、sm_75的W4A16推理
- 2024/01:v0.3.0起默认预编译包基于CUDA 12
- 2025/01:支持寒武纪(Cambricon)后端
- 2025/09:支持AMD ROCm后端、FlashAttention兼容
- 2026/02:支持Qwen3.5、vLLM llm-compressor 4bit对称/非对称量化
- v0.13.0起默认预编译包基于CUDA 12.8,原生支持GeForce RTX 50系列
许可策略:Apache-2.0许可,允许商用、修改、再分发。
💡 LMDeploy的独特定位:它是”推理引擎”子分类中国产硬件与INT4量化的最优解。与vLLM(通用生产默认,PagedAttention)、SGLang(RadixAttention,Agent/RAG场景)、TensorRT-LLM(NVIDIA极限吞吐)形成差异化:LMDeploy的核心竞争力在TurboMind引擎+CUDA kernels极致优化+INT4量化——4-bit推理效率2.4倍于FP16,这是消费级和企业级低延迟部署的关键。国产硬件(华为昇腾、沐曦C500、寒武纪)原生适配,是信创场景的首选。双引擎架构(TurboMind + PyTorch)让用户可在性能与灵活性间权衡。LMDeploy严格属于”推理引擎”子分类,提供OpenAI兼容RESTful API,不涉及训练/微调。
核心能力
- 双推理引擎:TurboMind(C++/CUDA极致性能)+ PyTorch引擎(纯Python灵活)
- 高性能CUDA kernels:Paged Attention、Blocked KV Cache、Split-K解码(Flash Decoding)、无序列长度限制的更快attention kernels
- 持续批处理:Persistent Batch(即Continuous Batching)动态请求批处理
- 动态拆分与融合:Dynamic Split&Fuse优化请求调度
- 张量并行:多GPU推理横向扩展
- 权重量化:INT4(AWQ算法)、W8A8等,4-bit推理2.4倍于FP16
- KV Cache量化:k/v量化降低显存占用
- Automatic Prefix Caching:可与KV Cache量化、AWQ同时使用
- 交互式推理模式:多轮对话缓存attention KV,避免重复处理历史会话
- 多机多卡请求分发:Request Distribution Service支持多模型在多机多卡上的便捷部署
- OpenAI兼容API:
lmdeploy serve api_server一键启动,RESTful API兼容OpenAI接口 - Gradio Web UI:
lmdeploy serve gradio快速启动Web演示 - LLM与VLM全覆盖:LLaMA/Qwen/InternLM/InternVL等主流LLM与VLM支持
- 国产硬件原生适配:华为昇腾、沐曦C500、寒武纪云端加速卡
- 多模型源支持:HuggingFace、ModelScope、openMind Hub统一接入
- 离线批处理:
lmdeploy.pipeline几行代码完成离线推理 - 投机解码与序列并行:进阶性能优化技术
- NVIDIA Jetson部署:边缘设备离线部署支持
优势亮点
- 1.8倍于vLLM的吞吐:请求吞吐量经官方基准验证达vLLM的1.8倍
- INT4量化2.4倍加速:4-bit推理效率是FP16的2.4倍,2023年8月发布时是开源最快实现
- Apache-2.0最干净许可:商用无门槛,与vLLM、SGLang、TensorRT-LLM并列”最干净许可”阵营
- 国产硬件原生适配:华为昇腾、沐曦、寒武纪原生支持,信创场景首选
- 双引擎灵活选择:TurboMind追求极致性能,PyTorch引擎降低开发门槛
- InternLM生态官方引擎:InternLM/InternLm3/InternVL系列模型的官方推荐部署方案
- Qwen系列部署主流方案:Qwen 1.8B-72B、Qwen1.5-MoE全覆盖
- 多模态服务原生支持:LLaVA、InternVL、Qwen-VL、CogVLM等VLM统一部署
- OpenAI API兼容:一行命令启动兼容OpenAI接口的推理服务
- 量化质量经OpenCompass验证:可靠性充分
- RTX 50系列原生支持:v0.13.0起默认CUDA 12.8预编译包
- 上海AI Lab维护:商业可持续性最强,国产大模型生态核心组件
局限
- 模型支持广度略逊vLLM:vLLM支持200+HuggingFace架构且新模型Day-1适配,LMDeploy模型覆盖虽有Llama/Qwen/InternLM等主流,但最新模型适配速度可能滞后
- TurboMind引擎模型受限:TurboMind与PyTorch引擎支持的模型类型和推理数据类型有差异,需查表选择
- RadixAttention缺位:LMDeploy使用Automatic Prefix Caching,但在Agent/RAG/多轮对话的KV复用效率上不及SGLang的RadixAttention基数树方案
- NVIDIA GPU深度优化:TurboMind的高性能kernels主要面向NVIDIA CUDA,AMD ROCm、昇腾等后端性能可能弱于CUDA
- 生产规模验证不及vLLM:vLLM在全球百万GPU生产部署,LMDeploy的生产规模案例相对较少
- 文档中英混合:部分文档为中文,国际化体验有待提升
- 投机解码等进阶特性较新:序列并行、投机解码等进阶指南相对vLLM/SGLang仍处完善中
适用人群
- 国产硬件(华为昇腾/沐曦/寒武纪)部署:原生适配,信创场景首选
- INT4量化低延迟需求:4-bit推理2.4倍于FP16,消费级和企业级低延迟部署关键
- InternLM/InternVL生态用户:官方推荐部署方案
- Qwen系列模型部署:Qwen 1.8B-110B、Qwen1.5-MoE全覆盖
- 多模态VLM服务:LLaVA、InternVL、Qwen-VL、CogVLM统一部署
- 多机多卡企业部署:Request Distribution Service支持多模型多机多卡便捷部署
- 上海AI Lab生态集成:与InternLM、OpenCompass、MMDeploy深度协同
- 需要OpenAI兼容API的中文本地化服务:一行命令启动,中文文档完善
- NVIDIA Jetson边缘部署:官方提供LMDeploy-Jetson示例
安装与部署
1. 环境要求
- Linux操作系统(推荐Ubuntu 20.04+)
- Python 3.8-3.12(v0.13.0+支持3.10-3.13)
- CUDA 12.8(v0.13.0+默认预编译包)
- NVIDIA GPU(RTX 50/40/30系列、A100/H100)
2. 安装
# 推荐在conda环境中安装 conda create -n lmdeploy python=3.12 -y conda activate lmdeploy pip install lmdeploy # 源码安装 git clone --depth=1 https://github.com/InternLM/lmdeploy cd lmdeploy pip install -e .
3. 离线批处理推理
import lmdeploy
with lmdeploy.pipeline("internlm/internlm3-8b-instruct") as pipe:
response = pipe(["Hi, pls intro yourself", "Shanghai is"])
print(response)
4. 启动OpenAI兼容API服务
# 默认端口23333 lmdeploy serve api_server internlm/internlm-chat-7b # 指定端口 lmdeploy serve api_server /path/to/Qwen2.5-0.5B-Instruct --server-port 23333 # 客户端调用 lmdeploy serve api_client http://0.0.0.0:23333
5. INT4量化部署
# 4bit权重量化 lmdeploy serve api_server internlm/internlm-chat-7b --quant-policy 4 # 命令行对话 lmdeploy chat turbomind internlm/internlm-chat-7b
6. 张量并行多GPU部署
# 4卡张量并行 lmdeploy serve api_server internlm/internlm-chat-70b --tp 4
7. Gradio Web UI
pip install lmdeploy[serve] lmdeploy serve gradio internlm/internlm-chat-7b
8. 使用ModelScope模型
export LMDEPLOY_USE_MODELSCOPE=True lmdeploy serve api_server Qwen/Qwen2.5-7B-Instruct
9. 国产硬件部署
# 华为昇腾 pip install -r requirements_ascend.txt # 寒武纪 pip install -r requirements_camb.txt # 沐曦 # 参考官方沐曦C500部署文档
10. 部署前必检清单
- 确认仓库位于
github.com/InternLM/lmdeploy(官方) - 许可:Apache-2.0,商用友好
- v0.13.0+默认CUDA 12.8预编译包,原生支持RTX 50系列
- TurboMind引擎与PyTorch引擎支持的模型类型有差异,需查官方表格选择
- 国产硬件(昇腾/沐曦/寒武纪)需安装对应requirements文件
- 默认模型下载自HuggingFace,使用ModelScope需设置环境变量
LMDEPLOY_USE_MODELSCOPE=True - 严格属于”推理引擎”子分类,提供OpenAI兼容RESTful API,不涉及训练/微调
- 生产部署建议:TurboMind引擎+cuBLAS/Linux,4-bit量化+张量并行
相关导航

TextGen

vLLM

SGLang

Ollama

llama.cpp

DeepSpeed-MII

