书生大模型第四期-LMDeploy 量化部署实践闯关任务 L2G3000

168 阅读2分钟

根据任务操作先启动看一下模型能否正常运行

image.png

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.8GBimage.png

在输入启动命令

image.png

本地浏览器进行查看

image.png

以命令行形式连接API服务器

image.png

以Gradio网页形式连接API服务器

image.png

在本地进行配置好后,直接打开6006端口 image.png

LMDeploy Lite

InternLM2.5正常运行时占用显存。

image.png

运行命令lmdeploy chat /root/models/internlm2_5-7b-chat --cache-max-entry-count 0.4

image.png

量化完了关机了。。。 没截上图

放一个模型目录吧

image.png

image.png

对比一下量化完了确实少了很多

量化前 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

image.png

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

image.png

W4A16 量化+ KV cache+KV cache 量化

image.png 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 这次算对了

image.png

进行一次提问

image.png