微信扫码
添加专属顾问
我要投稿
探索DeepSeek模型量化技术,性价比之选。 核心内容: 1. DeepSeek模型不同量化精度对比与差异分析 2. INT4量化模型的文件大小、显存占用及其相对精度 3. 量化技术如何实现性价比提升与显存优化
大概意思是说,大模型中的每一个参数就是一个数字,默认的存储精度一般是BF16或者是FP16,学过编程的都知道,FP16就是16位半精度浮点数,数据长度有16bit,也就是2字节。按照这个容量计算,7B(70亿)的模型文件大小应该是14 GB左右,实际上也差不多,有15,237,852,832字节,合14.1 GB,而把这个模型运行起来,大概也是就是占用这么大的显存,实际上也差不多,要占用14623 MB,合14.28 GB。
如果是BF16,也就是16位Brain浮点数,虽然占用的存储空间一样,但是BF16的数据范围比FP16更大。
而对于INT8或者INT4量化,通过使用缩放因子,将16位数据压缩至8bit(1字节)或者4bit(半字节),模型文件更小。比如说,7B(70亿)模型经过INT8量化之后的文件大小为8,098,524,832字节,合7.54 GB,因为不是简单的数据压缩,所以比一半大小稍微大一点。而当把量化后的文件加载到GPU之后,因为涉及到框架开销和KV缓存(Key Value Cache)等因素,实际显存占用会比模型文件更大,实际达到了8300 MB,合8.1 GB。
就拿ollama默认使用的7B模型来说,是经过INT4量化过的,文件大小为4,683,073,184字节,合4.36 GB,比量化过的INT8模型的一半大小又稍微大了一点。而当把量化后的文件加载到GPU之后,实际显存占用达到了5303 MB,合5.18 GB。
而人们对比时总喜欢拿相对精度来说事,也就是相对于671B的满血未量化版,在不同的评测中得分能拿到多少,这个我暂时还没测,因为671B我就测不了,但是根据DeepSeek自己给出的回答,FP16的7B模型的相对精度为44%,INT8为42%,INT4为38%;最低的INT4量化的1.5B模型,相对精度只有22%;要用到INT4量化的14B模型,相对精度才能达到60%的及格线水平;而直到使用INT8量化的32B模型时,相对精度才超过80%,达到82%。
要是看上面这张表,上次的数学测试也就不足为奇了。
除此之外,除了7B模型和8B模型有所交织之外,其余模型也是秉承一寸长一寸强的原则,参数大一级压死人。当然,现在有了更新的蒸馏方式,能不能更好用还不好说。
但是从显存占用的角度来看,有些情况下反而是更大参数模型的量化版本精度更高,更具性价比。比如以FP16精度运行7B模型,与用INT4量化方式运行14B模型,在显存占用降低了27.7 %的同时,相对精度提高了36.4%,这不就是花小钱办大事吗?
以市面上场景的显存规格来看,比如16 GB的Tesla T4,可能最适合运行INT4量化后的14B模型;如果显存提升到了24 GB的Tesla P40或者A10,可能最适合运行INT4量化后的32B模型;如果显存提升到32 GB的V100,可能还是最适合运行INT4量化后的32B模型。
如果要更上一层楼,使用INT8量化的32B模型需要38 GB显存,对应的可能就需要配置48 GB显存;但是当显存达到48 GB之后,也就勉强能运行INT4量化过的70B模型了,显存占用47.5 GB,不过可能要更大显存才能流畅使用。
目前市面上通过云主机能开到的最高显存的云主机应该是4卡的V100,显存128 GB,这个显存也就能跑一下INT8量化过的70B模型,显存占用79 GB,此时相对精度已经达到了89%。如果想冲刺90%以上,至少也需要141 GB显存,可能得上更高规格的物理机了。
部分显存验证信息如下:
1、模型deepseek-r1:1.5b-qwen-distill-q4_K_M的显存占用为1651 MB:
2、模型deepseek-r1:1.5b-qwen-distill-q8_0的显存占用为2281 MB:
3、模型deepseek-r1:1.5b-qwen-distill-fp16的显存占用为3661 MB:
4、模型deepseek-r1:7b-qwen-distill-q4_K_M的显存占用为5303 MB:
5、模型deepseek-r1:8b-llama-distill-q4_K_M的显存占用为6182 MB:
6、模型deepseek-r1:7b-qwen-distill-q8_0的显存占用为8300 MB:
7、模型deepseek-r1:8b-llama-distill-q8_0的显存占用为9385 MB:
8、模型deepseek-r1:14b-qwen-distill-q4_K_M的显存占用为10577 MB:
9、模型deepseek-r1:7b-qwen-distill-fp16的显存占用为14623 MB:
10、模型deepseek-r1:8b-llama-distill-fp16的显存占用为16096 MB:
11、模型deepseek-r1:14b-qwen-distill-q8_0的显存占用为16609 MB:
12、模型deepseek-r1:32b-qwen-distill-q4_K_M的显存占用21450 MB:
13、模型deepseek-r1:14b-qwen-distill-fp16的显存占用为29234 MB:
14、模型deepseek-r1:32b-qwen-distill-q8_0的显存占用为38852 MB:
15、模型deepseek-r1:70b-llama-distill-q4_K_M的显存占用为48654 MB:
16、模型deepseek-r1:70b-llama-distill-q8_0的显存占用为67446 MB:
17、模型deepseek-r1:32b-qwen-distill-fp16的显存占用为79106 MB:
该说不说,ollama默认将INT4量化的模型作为默认选项不是没有道理,整体的性价比还是很高的。
当然,看了这么多,如果你的笔记本显存只有8 GB的话,还是老老实实的用INT4量化过的7B或者8B模型吧。
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2025-02-04
2025-02-04
2024-09-18
2024-07-11
2024-07-09
2024-07-11
2024-07-26
2025-02-05
2025-01-27
2025-02-01
2025-03-20
2025-03-16
2025-03-16
2025-03-13
2025-03-13
2025-03-11
2025-03-07
2025-03-05