书生大模型实战营(第四期)-1.3-第3关-LMDeploy 量化部署进阶实践

184 阅读2分钟
  1. 使用结合W4A16量化与kv cache量化的internlm2_5-1_8b-chat模型封装本地API并与大模型进行一次对话,作业截图需包括显存占用情况与大模型回复,参考4.1 API开发(优秀学员必做),请注意2.2.3节与4.1节应使用作业版本命令。
  • 资源占用情况 image.png
  • 对话详情 image.png
  • LMDeploy API部署InternLM2.5 image.png image.png image.png
  • LMDeploy Lite
    • 设置最大kv cache缓存大小lmdeploy chat /root/models/internlm2_5-7b-chat --cache-max-entry-count 0.4,相比之前减少了约4GB显存占用。 image.png

对于修改kv cache默认占用之前,所示直接启动模型的显存占用情况(23GB):

1、在 BF16 精度下,7B模型权重占用14GB:70×10^9 parameters×2 Bytes/parameter=14GB

2、kv cache占用8GB:剩余显存24-14=10GB,kv cache默认占用80%,即10*0.8=8GB

3、其他项1GB

是故23GB=权重占用14GB+kv cache占用8GB+其它项1GB

对于修改kv cache占用之后的显存占用情况(19GB):

1、与上述声明一致,在 BF16 精度下,7B模型权重占用14GB

2、kv cache占用4GB:剩余显存24-14=10GB,kv cache修改为占用40%,即10*0.4=4GB

3、其他项1GB

是故19GB=权重占用14GB+kv cache占用4GB+其它项1GB

而此刻减少的4GB显存占用就是从10GB0.8-10GB0.4=4GB,这里计算得来。

  • W4A16 模型量化和部署-使用1.8B模型 image.png
  1. 使用Function call功能让大模型完成一次简单的"加"与"乘"函数调用,作业截图需包括大模型回复的工具调用情况,参考4.2 Function call(选做)
  • API开发 image.png
  • 使用Function call功能让大模型完成一次简单的"加"与"乘"函数调用 image.png