【第三期实战营闯关作业##LMDeploy 量化部署进阶实践】

《LMDeploy 量化部署进阶实践》这节课内容有些多,因此分了两部分提交了。以下是记录复现过程及截图;

这是执行了下面的命令,占用显存的情况。(如截图顶部)

lmdeploy chat /root/models/internlm2_5-7b-chat --cache-max-entry-count 0.4

在这里显存41833M,41833/1024=40.8G,那(80-27)=66G,因cache为0.4,66 0.4=26.4G, 26.4+2*7=40.4G, 40.8G与40.4G很相近吧!

0.4G的差值是实际还有别的内存占用

这是对internlm2_5-7b-chat用 W4A16 量化和部署

W4:这通常表示权重量化为4位整数(int4)。这意味着模型中的权重参数将从它们原始的浮点表示(例如FP32、BF16或FP16,Internlm2.5精度为BF16)转换为4位的整数表示。这样做可以显著减少模型的大小。

A16:这表示激活(或输入/输出)仍然保持在16位浮点数(例如FP16或BF16)。激活是在神经网络中传播的数据,通常在每层运算之后产生。

因此,W4A16的量化配置意味着:

权重被量化为4位整数。

激活保持为16位浮点数。

量化中

量化中

推理完成,便可以直接在你设置的目标文件夹看到对应的模型文件internlm2_5-7b-chat-w4a16-4bit。

那么推理后的模型和原本的模型区别最明显的两点是模型文件大小以及占据显存大小有了很大差别。

internlm2_5-7b-chat是 : 15GB

nternlm2_5-7b-chat-w4a16-4bit/是:4.9GB

这是模型对话的截图

在 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

而对于W4A16量化之后的显存占用情况(20.9GB):

1、在 int4 精度下,7B(模型权重)占用 3.5GB:14/4=3.5GB

bfloat16是16位的浮点数格式,占用2字节(16位)的存储空间。int4是4位的整数格式,占用0.5字节(4位)的存储空间。因此,从

bfloat16到int4的转换理论上可以将模型权重的大小减少到原来的1/4,即7B个int4参数 (270.5 = 3.5GB) 的显存。

2、kv cache 占用 16.4GB是这样得到的:(剩余显存)24-3.5 = 20.5GB,kv cache默认占用 80%,即 :20.5*0.8 = 16.4GB

3、其他项1GB

因此 20.9GB=(权重占用)3.5GB+(kv cache占用)16.4GB +(其它项)1GB

以上是记录了主要过程,请佬们☞正

相关推荐
梦奇不是胖猫几秒前
Marvis保姆级教程:一个帮你点鼠标的 AI 管家
人工智能·计算机外设
YJlio4 分钟前
《Sysinternals实战指南》16.5 Ctrl2Cap 工具详解:把 Caps Lock 变成 Ctrl 的键盘改造与回退方法
linux·运维·服务器·网络·python·学习·计算机外设
意图共鸣15 分钟前
意图共鸣科技《AI记忆链商业化白皮书3.0》假设场景解析:从母亲到消防员,专属AI如何重塑记忆与传承
人工智能·科技·架构
ai产品老杨24 分钟前
解耦安防碎片化:基于 Docker 与边缘计算的 AI 视频管理平台架构演进(附 GB28181/RTSP 统一接入与源码交付实践)
人工智能·docker·边缘计算
OpenAnolis小助手31 分钟前
如何利用 AI Agent 实现热补丁的自动化生成
人工智能·安全·ai·操作系统·agent·龙蜥
米核AI易山39 分钟前
扣子工作流项目交付全流程:从需求分析到上线维护的实战方法论
人工智能·需求分析·coze·扣子工作流·米核ai易山
沫儿笙41 分钟前
弧焊机器人保护气智能节气阀
人工智能·机器人
DS随心转插件42 分钟前
AI 导出鸭实操教程:Markdown 转 Word 高效协作与隐私交付实战指南
人工智能·ai·word·豆包·deepseek·ai导出鸭
腾讯云开发者42 分钟前
探访香港科创高地,洞见 Agentic AI 时代的出海新范式
人工智能
产业家1 小时前
“绿算协同×Token工厂”新范式,润建股份探索出一个AI新样本
人工智能