LMDeploy
由上海 AI 实验室打造的高效 LLM 部署工具箱 — 面向大语言模型的生产级推理、量化与服务,支持连续批处理和 PagedAttention。
🏛️ 由以下团队开发 OpenMMLab / 上海 AI 实验室 | Apache-2.0 许可证 | GitHub 星标 4,000+
什么是 LMDeploy?
LMDeploy 是一个用于在生产环境中压缩、部署和服务大语言模型的综合工具箱。它由 OpenMMLab(MMDetection、MMSeg)背后的同一团队打造,将研究级优化带入实际部署:
TurboMind 引擎 — 具备 CUDA 优化的高性能 C++ 推理后端
PyTorch 引擎 — 基于 Python 的灵活引擎,具备广泛的模型兼容性
连续批处理 — 在并发请求之间最大化 GPU 利用率
PagedAttention — 高效的 KV 缓存管理(类似 vLLM)
4 位 / 8 位量化 — 支持 AWQ 和 SmoothQuant
视觉语言模型 — 支持 InternVL、LLaVA、Qwen-VL
与 vLLM 相比,LMDeploy 的 TurboMind 引擎在 batch=32 的 Llama 3 8B 上带来约 1.36× 更高吞吐量,而且其 AWQ 量化是一级功能——而不是事后补充。对于 VLM(尤其是 InternVL2),LMDeploy 是参考级部署栈。
为什么选择 LMDeploy?
连续批处理
✅
✅
✅
AWQ 量化
✅
✅
❌
推测解码
✅
✅
✅
视觉语言
✅
有限
有限
OpenAI API
✅
✅
✅
TurboMind(自定义引擎)
✅
❌
❌
在 Clore.ai 上快速开始
步骤 1:选择 GPU 服务器
在 clore.ai 市场:
最低: 8GB 显存的 NVIDIA GPU(用于 7B 模型)
推荐: RTX 3090/4090(24GB)或 A100(40/80GB)
CUDA: 需要 11.8 或 12.x
步骤 2:部署 LMDeploy Docker
端口映射:
22
SSH 访问
23333
LMDeploy API 服务器
环境变量:
步骤 3:SSH 并验证
启动 API 服务器
OpenAI 兼容服务器(推荐)
PyTorch 引擎(更广泛的兼容性)
服务器启动输出
启动后,LMDeploy 会在以下位置提供交互式 API 文档 http://<your-ip>:23333/docs — 可用于直接在浏览器中测试端点。
支持的模型
文本模型
视觉语言模型
量化
AWQ 4 位量化
LMDeploy 的 AWQ(激活感知权重量化)在 4 位下能产生极佳质量:
SmoothQuant W8A8
8 位权重和激活量化(更适合吞吐量关键型部署):
量化影响
无(bf16)
约 14GB
无
基准
SmoothQuant W8A8
约 8GB
极小
+20%
AWQ W4A16
约 4GB
低
+15%
GPTQ W4A16
约 4GB
低
+10%
API 使用示例
Python 客户端
流式输出
LMDeploy 原生 Python 客户端
视觉语言模型
多 GPU 部署
张量并行
高级配置
TurboMind 引擎配置
生成配置
监控与指标
检查服务器健康状态
GPU 监控
Docker Compose 示例
基准测试
示例输出(RTX 4090,TurboMind,bf16):
在 A100 80GB 上,由于 HBM2e 内存带宽更高(2 TB/s 对 1 TB/s),在高并发下可望获得比 RTX 4090 高约 2.2× 的吞吐量。
Clore.ai GPU 推荐
根据你的目标模型大小和服务负载进行选择:
7–13B 模型,开发/预发
RTX 3090
24 GB
性价比最高的每显存价格比;可处理 7B bf16 或 13B AWQ
7–13B 模型,生产环境
RTX 4090
24 GB
在相同显存下比 3090 快约 40%;Llama 3 8B 可达 412 tok/s
70B 模型,团队服务
A100 40GB
40 GB
可运行 70B AWQ;ECC 内存更可靠
70B 模型,高吞吐量
A100 80GB
80 GB
可运行 70B bf16;在 batch=32 时比 A100 40GB 吞吐量高 2×
预算优选: RTX 3090 + AWQ 4 位——以约 280 tok/s、batch=8 的速度服务 Llama 3 8B,覆盖大多数 API 使用场景。
速度优选: RTX 4090——7–13B 模型的每美元性能最快;TurboMind 会榨干其 1 TB/s 带宽的每一 GB/s。
生产优选: A100 80GB——可在不牺牲量化质量的情况下,直接运行 Qwen2-72B 或 Llama 3 70B 的完整 bf16;非常适合多实例 GPU 服务。
故障排查
模型未加载
CUDA 显存不足
端口已被占用
Docker 网络模式: 在 Docker 中运行时,确保容器使用 --network host 或正确的端口映射(-p 23333:23333),以便 API 可从外部访问。
Clore.ai GPU 推荐
LMDeploy 的 TurboMind 引擎和 W4A16 量化提供一流的吞吐量——尤其是在 Ampere/Hopper GPU 上。
资源
📦 Docker Hub: hub.docker.com/r/openmmlab/lmdeploy
🐙 GitHub: github.com/InternLM/lmdeploy
📚 文档: lmdeploy.readthedocs.io
💬 Discord: discord.gg/xa29JuW84p
🤗 预量化模型: huggingface.co/lmdeploy
最后更新于
这有帮助吗?