一、基础作业
1.1 LMDeploy环境部署
(1)创建conda环境
studio-conda -t lmdeploy -o pytorch-2.1.2
(2)安装Lmdeploy
激活刚刚创建的虚拟环境。
conda activate lmdeploy安装0.3.0版本的lmdeploy。
pip install lmdeploy[all]==0.3.0
1.2 以命令行方式与 InternLM2-Chat-1.8B 模型对话
1.2.1 使用Transformer库运行模型
(1)软链接模型
ln -s /root/share/new_models/Shanghai_AI_Laboratory/internlm2-chat-1_8b /root/
(2) 新建pipeline_transformer.py
touch /root/pipeline_transformer.py
(3)编辑pipeline_transformer.py
import torch
from transformers import AutoTokenizer, AutoModelForCausalLMtokenizer = AutoTokenizer.from_pretrained("/root/internlm2-chat-1_8b", trust_remote_code=True)
# Set `torch_dtype=torch.float16` to load model in float16, otherwise it will be loaded as float32 and cause OOM Error.
model = AutoModelForCausalLM.from_pretrained("/root/internlm2-chat-1_8b", torch_dtype=torch.float16, trust_remote_code=True).cuda()
model = model.eval()inp = "hello"
print("[INPUT]", inp)
response, history = model.chat(tokenizer, inp, history=[])
print("[OUTPUT]", response)inp = "please provide three suggestions about time management"
print("[INPUT]", inp)
response, history = model.chat(tokenizer, inp, history=history)
print("[OUTPUT]", response)
(4)运行
python /root/pipeline_transformer.py
1.2.2 使用LMDeploy与模型对话
lmdeploy chat /root/internlm2-chat-1_8b
二、 进阶作业-LMDeploy模型量化
2.1 设置最大KV Cache缓存大小
(1)0.8 参数
lmdeploy chat /root/internlm2-chat-1_8b
(2)0.5参数
lmdeploy chat /root/internlm2-chat-1_8b --cache-max-entry-count 0.5
(3)0.01参数
lmdeploy chat /root/internlm2-chat-1_8b --cache-max-entry-count 0.01
(4)作业-0.4参数
lmdeploy chat /root/internlm2-chat-1_8b --cache-max-entry-count 0.4
2.2 API Server方式
(1)启动API服务器
lmdeploy serve api_server \/root/internlm2-chat-1_8b \--model-format hf \--quant-policy 0 \--server-name 127.0.0.1 \--server-port 23333 \--tp 1
(2)命令行客户端模型对话
(3)网页客户端模型对话 (含报错及解决方法)
错误:
解决方法:点击它的链接,下载文件并改名,给权限,移动到目标文件夹
2.3 Python代码集成方式运行
调整KV Cache的占用比例为0.4的运行结果
三、 LMDeploy运行大模型
2.1 LMDeploy运行llava
英文描述
中文描述