因为GPU资源有限,由此记录一下模型大小与显存的计算关系
# 一般模型默认的加载为半精度【两个字节】,但是同样有很多显卡吃不消
qwen/Qwen-1.8B-Chat 单精度【最大】 bf32/fp32 四个字节 4*1.8 7.2
qwen/Qwen-1.8B-Chat # 半精度/2字节[16位浮点数] 2*1.8≈3.6G
qwen/Qwen-1_8B-Chat-Int8 # 1字节[8位整数] 1*1.8≈1.8G --> 实际 2.5G
qwen/Qwen-1_8B-Chat-Int4 # 半字节[4位整数,精度损失很大,适用于对精度要求不高但对资源要求苛刻的场景] 0.5*1.8≈0.9G --> 实际1.88GB
qwen/Qwen-1.8B # 半精度/2字节[16位浮点数] 2*1.8≈3.6G base模型和chat模型大小差别不大
==========================================
# 下面是千问1.5-1.8B的模型大小:千问不同版本同规模同精度的模型大小方面变化不大
qwen/Qwen1.5-1.8B-Chat # 3.6G
qwen/Qwen1.5-1.8B # 3.6G
qwen/Qwen1.5-1.8B-Chat-GPTQ-Int4 # 1.8G
qwen/Qwen1.5-1.8B-Chat-AWQ # # 1.8G
qwen/Qwen1.5-7B-Chat-GPTQ-Int4 # 5.8G
# AWQ 是一种自适应权重量化技术,AWQ 能够根据数据分布和模型的动态性质来自适应地调整量化的精度,以尽可能减少精度损失的同时实现高效的量化。
# AWQ和GTPQ目的都是为了减少量化带来的精度损失
GGUF格式:GGUF是为了解决大模型在实际应用中的加载速度慢、资源消耗高等问题而设计的一种优化文件格式。
Qwen1.5-0.5B-Chat-GGUF # 1.4G ~4.2G不等
q8_0 q6_k q5_k_m q5_0 q4_k_m q4_0 q3_k_m q2_k 不同的优化格式选择
# model_id='qwen/Qwen1.5-4B-Chat-GGUF',file_path='qwen1_5-4b-chat-q5_k_m.gguf'