LMDeploy 由 MMDeploy 和 MMRazor 团队联合开发,是涵盖了 LLM 任务的全套轻量化、部署和服务解决方案。
介绍
LMDeploy 提供以下核心功能:
- 高效的推理:LMDeploy 开发了 Persistent Batch(即 Continuous Batch),Blocked K/V Cache,动态拆分和融合,张量并行,高效的计算 kernel 等重要特性。推理性能是 vLLM 的 1.8 倍
- 可靠的量化:LMDeploy 支持权重量化和 k/v 量化。4bit 模型推理效率是 FP16 下的 2.4 倍。量化模型的可靠性已通过 OpenCompass 评测得到充分验证。
- 便捷的服务:通过请求分发服务,LMDeploy 支持多模型在多机、多卡上的推理服务。
- 卓越的兼容性: LMDeploy 支持 KV Cache 量化, AWQ 和 Automatic Prefix Caching 同时使用。
安装

我们推荐在一个干净的 conda 环境下(python3.9 - 3.12),安装 lmdeploy:
conda create -n lmdeploy python=3.10 -y
conda activate lmdeploy
pip install lmdeploy
自 v0.3.0 版本起,默认预编译包基于 CUDA 12 编译。
若使用 GeForce RTX 50 系列显卡,请安装基于 CUDA 12.8 编译的 LMDeploy 预编译包。
export LMDEPLOY_VERSION=0.10.0
export PYTHON_VERSION=310
pip install https://github.com/InternLM/lmdeploy/releases/download/v${LMDEPLOY_VERSION}/lmdeploy-${LMDEPLOY_VERSION}+cu128-cp${PYTHON_VERSION}-cp${PYTHON_VERSION}-manylinux2014_x86_64.whl --extra-index-url https://download.pytorch.org/whl/cu128
如果需要在 CUDA 11+ 下安装 LMDeploy,或者源码安装 LMDeploy
LLM 模型服务
lmdeploy serve api_server internlm/internlm2_5-7b-chat
此命令将在本地主机上的端口 23333 启动一个与 OpenAI 接口兼容的模型推理服务。可以使用
--server-port
选项指定不同的服务器端口
- 更多选项,请通过运行
lmdeploy serve api_server --help
查阅帮助文档
离线批处理
import lmdeploy
with lmdeploy.pipeline("internlm/internlm3-8b-instruct") as pipe:
response = pipe(["Hi, pls intro yourself", "Shanghai is"])
print(response)
LMDeploy 默认从 HuggingFace 上面下载模型,如果要从 ModelScope 上面下载模型,请通过命令 pip install modelscope
安装 ModelScope,并设置环境变量:
export LMDEPLOY_USE_MODELSCOPE=True
如果要从 openMind Hub 上面下载模型,请通过命令 pip install openmind_hub
安装 openMind Hub,并设置环境变量:
export LMDEPLOY_USE_OPENMIND_HUB=True