lmdeploy: 一个用于压缩和提供 LLMs 和 VLMs 服务的高吞吐量工具包,配备双推理引擎

lmdeploy: 一个用于压缩和提供 LLMs 和 VLMs 服务的高吞吐量工具包,配备双推理引擎

它解决了什么问题

LMDeploy 是一个旨在简化和优化压缩、部署和提供大语言模型 (LLMs) 和视觉语言模型 (VLMs) 过程的工具包。它通过提供高吞吐量服务和高效的量化技术,解决了 LLM 推理中的高计算成本和高延迟挑战。

工作原理

该项目提供了两种不同的推理引擎:针对最大性能进行优化的 TurboMind,以及基于 PyTorch 并由 Python 开发的引擎,旨在降低开发者的门槛并实现快速实验。它利用了诸如持续批处理 (continuous batching)、分块 KV cache、张量并行 (tensor parallelism) 和高性能 CUDA kernels 等技术来提高请求吞吐量。

适用人群

它适用于需要在生产环境中部署 LLMs 和 VLMs 的开发者和 AI 工程师,以及想要尝试新模型架构和功能的研究人员。

亮点

  • 高吞吐量:请求吞吐量比 vLLM 高出多达 1.8 倍。
  • 广泛的模型支持:支持大量的 LLMs (例如 Llama, Qwen, DeepSeek, Mistral, Phi) 和 VLMs (例如 InternVL, LLaVA, Qwen-VL)。
  • 有效的量化:支持仅权重 (weight-only) 和 KV cache 量化 (包括 AWQ),其 4-bit 推理性能比 FP16 快多达 2.4 倍。
  • 分发服务器:便于在多台机器和多张显卡上轻松部署多模型服务。
  • 硬件兼容性:支持 NVIDIA GPUs (包括 RTX 50 系列) 和 Huawei Ascend 平台。

Sources