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,记住对话历史,从而避免重复处理历史会话。显著提升长文本多轮对话场景中的效率。
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
我们首先通过github推荐的方法安装lmdeploy:
pip install lmdeploy
由于我们是离线部署,按照教程的说法需要先convert成为 lmdeploy TurboMind 的格式。
lmdeploy convert chatglm3 lmdeploy_chatglm3
安装成功之后使用lmdeploy cli工具启动:
lmdeploy serve api_server lmdeploy_chatglm3 --server-port 23333