使用 lmdeploy 部署 internlm/internlm2_5-7b-chat
- 0. 引言
- 1. lmdeploy 性能
- 2. lmdeploy 支持的模型
- 3. 快速开始
0. 引言
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,记住对话历史,从而避免重复处理历史会话。显著提升长文本多轮对话场景中的效率。
卓越的兼容性: LMDeploy 支持 KV Cache 量化, AWQ 和 Automatic Prefix Caching 同时使用。
1. lmdeploy 性能
LMDeploy TurboMind 引擎拥有卓越的推理能力,在各种规模的模型上,每秒处理的请求数是 vLLM 的 1.36 ~ 1.85 倍。在静态推理能力方面,TurboMind 4bit 模型推理速度(out token/s)远高于 FP16/BF16 推理。在小 batch 时,提高到 2.4 倍。
2. lmdeploy 支持的模型
2024年7月13日时点
LLMs | VLMs |
---|---|
- Llama (7B - 65B) | - LLaVA(1.5,1.6) (7B-34B) |
- Llama2 (7B - 70B) | - InternLM-XComposer2 (7B, 4khd-7B) |
- Llama3 (8B, 70B) | - QWen-VL (7B) |
- InternLM (7B - 20B) | - DeepSeek-VL (7B) |
- InternLM2 (7B - 20B) | - InternVL-Chat (v1.1-v1.5) |
- InternLM2.5 (7B) | - MiniGeminiLlama (7B) |
- QWen (1.8B - 72B) | - CogVLM-Chat (17B) |
- QWen1.5 (0.5B - 110B) | - CogVLM2-Chat (19B) |
- QWen1.5 - MoE (0.5B - 72B) | - MiniCPM-Llama3-V-2_5 |
- QWen2 (0.5B - 72B) | - Phi-3-vision (4.2B) |
- Baichuan (7B) | - GLM-4V (9B) |
- Baichuan2 (7B-13B) | |
- Code Llama (7B - 34B) | |
- ChatGLM2 (6B) | |
- GLM4 (9B) | |
- Falcon (7B - 180B) | |
- YI (6B-34B) | |
- Mistral (7B) | |
- DeepSeek-MoE (16B) | |
- DeepSeek-V2 (16B, 236B) | |
- Mixtral (8x7B, 8x22B) | |
- Gemma (2B - 7B) | |
- Dbrx (132B) | |
- StarCoder2 (3B - 15B) | |
- Phi-3-mini (3.8B) |
3. 快速开始
使用 pip ( python 3.8+) 安装 LMDeploy,
pip install lmdeploy
部署 openai 兼容 api 格式的模型服务,
lmdeploy serve api_server internlm/internlm2_5-7b-chat --server-port 8000 --model-name internlm2
使用 Chatbox 设置访问,
问一个问题试一试,
reference: https://github.com/InternLM/lmdeploy