1 配置LMDeploy环境
我这里选择的是50%A100即为40GB显存空间
创建好的conda环境并启动InternLM2_5-7b-chat,显示显存占用为36GB
2 LMDeploy Lite
LMDeploy 提供了权重量化和 k/v cache两种策略。
通过以下命令设置最大kv cache为0.4实现显存占用空间压缩:
lmdeploy chat /root/models/internlm2_5-7b-chat --cache-max-entry-count 0.4
可见压缩后占用显存为25G左右,显著下降
3 W4A16 模型量化和部署
按照如下命令输入
如上所示,量化完成,模型大小变为4.9G左右,而原本是15GB,如下所示。
而部署之后的显存占用为34GB,相较原本的36GB减少了2GB.
4 W4A16 量化+ KV cache+KV cache 量化
同时启用量化后的模型、设定kv cache占用和kv cache int4量化
效果显著,此时模型占用内存20GB
使用结合W4A16量化与kv cache量化的internlm2_5-7b-chat
模型封装本地API并与大模型进行一次对话: