2.3 LMDeploy 量化部署实践闯关任务

99 阅读2分钟

基础任务(完成此任务即完成闯关)

  • 使用结合W4A16量化与kv cache量化的internlm2_5-1_8b-chat模型封装本地API并与大模型进行一次对话,作业截图需包括显存占用情况与大模型回复,参考4.1 API开发(优秀学员必做),请注意2.2.3节与4.1节应使用作业版本命令。

LMDeploy验证启动模型文件

  • 资源占用情况

image.png

  • 对话详情

image.png

LMDeploy API部署InternLM2.5

image.png

image.png

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

image.png

  • LMDeploy Lite 设置最大kv cache缓存大小lmdeploy chat /root/models/internlm2_5-7b-chat --cache-max-entry-count 0.4,相比之前减少了约4GB显存占用。

image.png

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开发

32159c3dadf54a0181823a02853cdcc9.png

  • 使用Function call功能让大模型完成一次简单的"加"与"乘"函数调用

5b805157ca4c4642baa33abcfbfc4002.png