书生大模型实战营 LMDeploy 量化部署进阶实践

使用lmdeploy直接运行

  • 使用如下命令运行lm2.5 7b
lmdeploy chat /root/models/internlm2_5-7b-chat
  • 看到显存占用约为95%,即约为 22.8GB
    在这里插入图片描述

创建API服务器

在这里插入图片描述

  • 本地进行连接
    在这里插入图片描述
    本地调用
    在这里插入图片描述

  • 使用max cache为0.4在这里插入图片描述
    占用约为80%,少了约3.6G

使用int4量化

那么本节中19GB的显存占用与[2.2.1 设置最大kv cache缓存大小](#2.2.1 23)中19GB的显存占用区别何在呢?

由于都使用BF16精度下的internlm2.5 7B模型,故剩余显存均为10GB,且 cache-max-entry-count 均为0.4,这意味着LMDeploy将分配40%的剩余显存用于kv cache,即10GB*0.4=4GB。但quant-policy 设置为4时,意味着使用int4精度进行量化。因此,LMDeploy将会使用int4精度提前开辟4GB的kv cache。

相比使用BF16精度的kv cache,int4的Cache可以在相同4GB的显存下只需要4位来存储一个数值,而BF16需要16位。这意味着int4的Cache可以存储的元素数量是BF16的四倍。
在这里插入图片描述

  • 占用计算
  1. fp16的7b模型,占用14GB,因此剩余10GB
  2. max cache为0.4,占用额外4GB一共占用约75%

int4的Cache可以存储的元素数量是BF16的四倍。

W4A16量化

在这里插入图片描述
漫长的等待…
终于!
在这里插入图片描述
量化之后模型非常小
在这里插入图片描述
分析下占用

在这里插入图片描述
7B*0.5=3.5B,约为3.5GB,剩余20.5GB
max-cache的80%,为16.4GB
总共使用16.4+3.5~=20GB,约为83%,跟实际情况符合

来个顶级量化

极致省内存
在这里插入图片描述
变小了,也变蠢了?()
在这里插入图片描述

工具函数调用

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值