Home
Login

LMDeploy是一个用于压缩、部署和服务大语言模型的工具包

Apache-2.0Python 6.6kInternLM Last Updated: 2025-06-19

LMDeploy 项目详细介绍

项目概述

LMDeploy是一个用于压缩、部署和服务大语言模型的工具包,由MMRazor和MMDeploy团队开发。该项目专注于为大语言模型(LLM)和视觉-语言模型(VLM)提供高效的推理、部署和服务解决方案。

核心特性

1. 高效推理(Efficient Inference)

LMDeploy的请求吞吐量比vLLM高1.8倍,通过引入持久批处理(continuous batching)、分块KV缓存、动态分割融合、张量并行、高性能CUDA内核等关键特性。

2. 有效量化(Effective Quantization)

LMDeploy支持权重量化和k/v量化,4位推理性能比FP16高2.4倍,量化质量已通过OpenCompass评估确认。

3. 轻松分布式服务(Effortless Distribution Server)

利用请求分发服务,LMDeploy便于在多台机器和多张卡上轻松高效地部署多模型服务。

4. 交互式推理模式(Interactive Inference Mode)

通过在多轮对话过程中缓存注意力的k/v,引擎记住对话历史,从而避免重复处理历史会话。

5. 出色兼容性(Excellent Compatibility)

LMDeploy支持KV Cache量化、AWQ和自动前缀缓存同时使用。

双引擎架构

LMDeploy开发了两个推理引擎:

TurboMind引擎

  • 专注:追求推理性能的终极优化
  • 特点:高度优化的C++/CUDA实现,专为生产环境设计

PyTorch引擎

  • 专注:纯Python开发,降低开发者门槛
  • 特点:便于快速实验新功能和技术,易于扩展和定制

两个引擎在支持的模型类型和推理数据类型上有所不同,用户可根据实际需求选择合适的引擎。

支持的模型

LMDeploy支持广泛的模型类型:

大语言模型(LLMs)

  • InternLM系列(InternLM、InternLM2、InternLM2.5、InternLM3)
  • Llama系列(Llama2、Llama3、Llama3.1)
  • Qwen系列(Qwen1.5、Qwen1.5-MOE等)
  • Baichuan2系列
  • Mistral、Mixtral
  • DeepSeek系列
  • Gemma
  • Code Llama
  • 更多模型持续添加中

视觉-语言模型(VLMs)

  • InternVL系列
  • InternLM-XComposer系列
  • LLaVA系列
  • CogVLM系列
  • Mini-InternVL
  • DeepSeek-VL
  • 更多多模态模型

安装方式

快速安装

推荐在conda环境中使用pip安装(支持Python 3.8-3.12):

conda create -n lmdeploy python=3.8 -y
conda activate lmdeploy
pip install lmdeploy

注意事项

  • 默认预构建包基于CUDA 12编译(v0.3.0版本起)
  • 支持CUDA 11+平台安装
  • 支持从源码构建

快速使用示例

基本推理

import lmdeploy
with lmdeploy.pipeline("internlm/internlm3-8b-instruct") as pipe:
    response = pipe(["Hi, pls intro yourself", "Shanghai is"])
    print(response)

多模态推理

from lmdeploy import pipeline
from lmdeploy.vl import load_image

pipe = pipeline('OpenGVLab/InternVL2-8B')
image = load_image('path/to/image.jpg')
response = pipe(('描述这张图片', image))
print(response)

模型来源支持

LMDeploy支持多个模型库:

  1. HuggingFace(默认)
  2. ModelScope:设置环境变量 LMDEPLOY_USE_MODELSCOPE=True
  3. openMind Hub:设置环境变量 LMDEPLOY_USE_OPENMIND_HUB=True

应用场景

  1. 生产环境部署:高吞吐量的LLM服务
  2. 研发实验:快速验证新模型和算法
  3. 资源受限环境:通过量化技术降低资源需求
  4. 多模态应用:视觉-语言模型的高效推理
  5. 边缘设备:支持NVIDIA Jetson等平台

生态集成

LMDeploy与多个开源项目深度集成:

  • OpenAOE:无缝集成LMDeploy服务
  • Swift:作为默认VLM推理加速器
  • BentoML:提供部署示例项目
  • Jetson平台:专门的边缘设备适配

总结

LMDeploy是一个功能强大、性能卓越的大语言模型部署工具包,适合从研发实验到生产部署的各种场景。其双引擎架构、先进的量化技术和广泛的模型支持,使其成为AI应用开发者的重要工具选择。无论是追求极致性能的生产环境,还是需要快速迭代的研发场景,LMDeploy都能提供合适的解决方案。