1 简介

 

LMDeploy 由 MMDeploy 和 MMRazor 团队联合开发,是涵盖了 LLM 任务的全套轻量化、部署和服务解决方案。 这个强大的工具箱提供以下核心功能:

  • 高效的推理:LMDeploy 开发了 Persistent Batch(即 Continuous Batch),Blocked K/V Cache,动态拆分和融合,张量并行,高效的计算 kernel等重要特性。推理性能是 vLLM 的 1.8 倍

  • 可靠的量化:LMDeploy 支持权重量化和 k/v 量化。4bit 模型推理效率是 FP16 下的 2.4 倍。量化模型的可靠性已通过 OpenCompass 评测得到充分验证。

  • 便捷的服务:通过请求分发服务,LMDeploy 支持多模型在多机、多卡上的推理服务。

  • 有状态推理:通过缓存多轮对话过程中 attention 的 k/v,记住对话历史,从而避免重复处理历史会话。显著提升长文本多轮对话场景中的效率。

2 性能

LMDeploy TurboMind 引擎拥有卓越的推理能力,在各种规模的模型上,每秒处理的请求数是 vLLM 的 1.36 ~ 1.85 倍。在静态推理能力方面,TurboMind 4bit 模型推理速度(out token/s)远高于 FP16/BF16 推理。在小 batch 时,提高到 2.4 倍。

3 尝试

lmdepoly github: https://github.com/InternLM/lmdeploy/blob/main/README_zh-CN.md

lmdepoly 教程: https://github.com/InternLM/tutorial/blob/main/lmdeploy/lmdeploy.md

bilibili教程

我们首先通过github推荐的方法安装lmdeploy:

pip install lmdeploy

由于我们是离线部署,按照教程的说法需要先convert成为 lmdeploy TurboMind 的格式。

 

lmdeploy convert chatglm3 lmdeploy_chatglm3

安装成功之后使用lmdeploy cli工具启动:

lmdeploy serve api_server lmdeploy_chatglm3 --server-port 23333