根据任务操作先启动看一下模型能否正常运行
InternLM2.5 7B模型为bf16,LMDpeloy推理精度为bf16的7B模型权重需要占用14GB显存;如下图所示,lmdeploy默认设置cache-max-entry-count为0.8,即kv cache占用剩余显存的80%;
此时对于24GB的显卡,即30%A100,权重占用14GB显存,剩余显存24-14=10GB,因此kv cache占用10GB*0.8=8GB,加上原来的权重14GB,总共占用14+8=22GB。
而对于40GB的显卡,即50%A100,权重占用14GB,剩余显存40-14=26GB,因此kv cache占用26GB*0.8=20.8GB,加上原来的权重14GB,总共占用34.8GB。
在输入启动命令
本地浏览器进行查看
以命令行形式连接API服务器
以Gradio网页形式连接API服务器
在本地进行配置好后,直接打开6006端口
LMDeploy Lite
InternLM2.5正常运行时占用显存。
运行命令lmdeploy chat /root/models/internlm2_5-7b-chat --cache-max-entry-count 0.4
量化完了关机了。。。 没截上图
放一个模型目录吧
对比一下量化完了确实少了很多
量化前 1、在 BF16 精度下,1.8B模型权重占用3.6GB:18×10^9 parameters×2 Bytes/parameter=3.6GB
2、kv cache占用29.1GB:剩余显存40-3.6=36.4GB,kv cache默认占用80%,即36.4*0.8=29.1GB
3、其他项1GB
总计3.6+29.1+1=33.7
1、在 int4 精度下,1.8B模型权重占用3.6GB:18×10^9 parameters×2 Bytes/parameter /4=0.9GB
2、kv cache占用29.84GB:剩余显存40-0.9=39.1GB,kv cache默认占用80%,即39.1*0.8=31.3GB
3、其他项1GB
总计0.9+31.3+1=33.3
W4A16 量化+ KV cache+KV cache 量化
1、在 int4 精度下,1.8B模型权重占用3.6GB:18×10^9 parameters×2 Bytes/parameter /4=0.9GB
2、kv cache占用29.84GB:剩余显存40.95-0.9=40.05GB,kv cache 设为0.4占用40%,即40.05*0.4=16.02GB
3、其他项1GB
总计0.9+16.02+1=17.92 这次算对了
进行一次提问