部署推理工具链LMDeploy介绍
LMDeploy涵盖了LLM任务的轻量化、部署和server解决方案,支持十亿到千亿参数语言模型的高效推理。
部署llama2模型实战实战
安装lmdeploy依赖
pip install lmdeploy -i ****://pypi.tuna.tsinghua.edu.cn/simple
Pytorch inference
# pytorch inference
python3 -m lmdeploy.pytorch.chat Llama2_7b \
--max_new_tokens 64 \
--temperture 0.8 \
--top_p 0.95 \
--seed 0
# 安装依赖
pip install deepspeed
# deepspeed inference
deepspeed --module --num_gpus 2 lmdeploy.pytorch.chat Llama2_7b \
--max_new_tokens 64 \
--temperture 0.8 \
--top_p 0.95 \
--seed 0
Triton inference
# triton inference
# 拉取openmmlab/lmdeploy:latest镜像方便部署
docker pull openmmlab/lmdeploy:latest
# 启动
docker run --gpus all --shm-size=40g -v ./Llama2-7b:/llama-2-chat-7b-hf -p 33337:33337 -it openmmlab/lmdeploy:latest /bin/bash
# 模型以turbomind方式部署
python3 -m lmdeploy.serve.turbomind.deploy llama2 /llama-2-chat-7b-hf
# turbomind推理测试
python3 -m lmdeploy.turbomind.chat ./workspace
# 启动tritonserver服务加载模型
tritonserver --model-repository=./workspace/model_repository/ --allow-grpc=1 --grpc-port=33337
# 通过命令行与推理服务器进行通信
python3 -m lmdeploy.serve.client 0.0.0.0:33337
openmmlab/lmdeploy:latest镜像包含了python\torch\triton等环境,方便直接部署模型
启动tritonserver服务加载模型
通过命令行与推理服务器进行通信
总结,本次验证了llama2_7b_chat_hf、全量微调后的llama、lora微调后的llama可以正常部署。
lmdeploy支持的模型
LMDeploy支持两个推理后端,分别是Pytorch和TurboMind。
- Pytorch
Models | Tensor Parallel | FP16 | KV INT8 | W4A16 | W8A8 |
---|---|---|---|---|---|
Llama | Yes | Yes | No | No | No |
Llama2 | Yes | Yes | No | No | No |
InternLM-7B | Yes | Yes | No | No | No |
-
TurboMind
Models | Tensor Parallel | FP16 | KV INT8 | W4A16 | W8A8 |
---|---|---|---|---|---|
Llama | Yes | Yes | Yes | Yes | No |
Llama2 | Yes | Yes | Yes | Yes | No |
InternLM-7B | Yes | Yes | Yes | Yes | No |
InternLM-20B | Yes | Yes | Yes | Yes | No |
QWen-7B | Yes | Yes | Yes | No | No |
Baichuan-7B | Yes | Yes | Yes | Yes | No |
Baichuan2-7B | Yes | Yes | No | No | No |
Code Llama | Yes | Yes | No | No | No |