量化
我们这里使用第4节的个人助手进行量化,我先找到其路径
KV Cache 量化
复制一些文件
cp /root/share/temp/datasets/c4/calib_dataloader.py .local/lib/python3.10/site-packages/lmdep
loy/lite/utils/
cp -r /root/share/temp/datasets/c4/ /root/.cache/huggingface/datasets/
接下来改写一下这个py文件
然后计算minmax
lmdeploy lite calibrate \
--model /root/personal_assistant/work_dirs/hf_merge \
--calib_dataset "c4" \
--calib_samples 128 \
--calib_seqlen 2048 \
--work_dir ./quant_output
之后先转换模型
lmdeploy convert internlm-chat-7b /root/personal_assistant/work_dirs/hf_merge/
然后把那个文件夹复制过来
然后获取参数
# 通过 minmax 获取量化参数
lmdeploy lite kv_qparams \
--work_dir ./quant_output \
--turbomind_dir workspace/triton_models/weights/ \
--kv_sym False \
--num_tp 1
最后修改配置
W4A16 量化
第一步同上,第二步
# 量化权重模型
lmdeploy lite auto_awq \
--model /root/personal_assistant/work_dirs/hf_merge/ \
--w_bits 4 \
--w_group_size 128 \
--work_dir ./quant_output
第三步
lmdeploy convert internlm-chat-7b ./quant_output \
--model-format awq \
--group-size 128 \
--dst_path ./workspace_quant
部署
运行chat命令
lmdeploy chat turbomind ./workspace
下面进行对话啦
哈哈,成功了
最后我们生成一个300字的故事