准备
环境创建
studio-conda -t lmdeploy -o pytorch-2.1.2
安装lmdeploy
conda activate lmdeploy
pip install lmdeploy[all]==0.3.0
运行InternLM2-Chat-1.8B
软连到root
ln -s /root/share/new_models/Shanghai_AI_Laboratory/internlm2-chat-1_8b /root/
运行模型
lmdeploy chat /root/internlm2-chat-1_8b
显存占用
KVCache设置
lmdeploy chat /root/internlm2-chat-1_8b --cache-max-entry-count 0.4
W4A16量化
#安装依赖库
pip install einops==0.7.0
# 开始量化
lmdeploy lite auto_awq \
/root/internlm2-chat-1_8b \
--calib-dataset 'ptb' \
--calib-samples 128 \
--calib-seqlen 1024 \
--w-bits 4 \
--w-group-size 128 \
--work-dir /root/internlm2-chat-1_8b-4bit
使用KVCache0.4运行量化后的模型
lmdeploy chat /root/internlm2-chat-1_8b-4bit --model-format awq --cache-max-entry-count 0.4
以APIServer的方式启动
开启 W4A16量化,调整KV Cache的占用比例为0.4
lmdeploy serve api_server \
/root/internlm2-chat-1_8b-4bit \
--server-name 0.0.0.0 \
--server-port 23333 \
--tp 1 \
--model-format awq \
--cache-max-entry-count 0.4
将23333端口映射之后可以访问了
命令行客户端
#新建一个console
conda activate lmdeploy
#运行
lmdeploy serve api_client http://localhost:23333
Gradio客户端
lmdeploy serve gradio http://localhost:23333 \
--server-name 0.0.0.0 \
--server-port 6006
Python代码集成
TODO