教程:https://github.com/InternLM/Tutorial/blob/camp3/docs/L2/LMDeploy/readme.md
internlm2.5 7b
记录一下量化前的显存
量化前显存23G
W4A16量化
W4A16的意思是:权重(weight)量化为4位整数(int4),激活(Activate)保持在16位浮点数(例如FP16或BF16)。
量化使用的是AWQ算法,所以命令会看到awq
lmdeploy lite auto_awq \
/root/models/internlm2_5-7b-chat \
--calib-dataset 'ptb' \
--calib-samples 128 \
--calib-seqlen 2048 \
--w-bits 4 \
--w-group-size 128 \
--batch-size 1 \
--search-scale False \
--work-dir /root/models/internlm2_5-7b-chat-w4a16-4bit
跑了大概六七个小时
原模型15G
量化后4.9G
载入量化模型,
量化后的显存占用21G
大模型提问回答
+KV量化
lmdeploy serve api_server \
/root/models/internlm2_5-7b-chat-w4a16-4bit/ \
--model-format awq \
--quant-policy 4 \
--cache-max-entry-count 0.4\
--server-name 0.0.0.0 \
--server-port 23333 \
--tp 1
显存减少至13.5G
API+Python调用
同前一步,API已OK
运行python
Function Call
重新部署7B的模型API
运行加 乘的python