如何看懂量化模型

如何看懂量化模型大家好 我是 Ai 学习的老章 大模型量化 量化是一种将模型的浮点权重 通常是 32 位或 16 位 转换为低位整数 如 2 位 4 位 8 位等 的技术 目的是减少模型的存储空间和计算资源需求 同时尽可能保持模型的性能

欢迎大家来到IT世界,在知识的湖畔探索吧!

如何看懂量化模型
欢迎大家来到IT世界,在知识的湖畔探索吧!

大家好,我是 Ai 学习的老章

大模型量化

量化是一种将模型的浮点权重(通常是 32 位或 16 位)转换为低位整数(如 2 位、4 位、8 位等)的技术,目的是减少模型的存储空间和计算资源需求,同时尽可能保持模型的性能。

先看一张图

这是 unsloth 放出的 Qwen3-235B-A22B-Instruct-2507,量化版(体积减少 80%)

如何看懂量化模型


每一个文件夹都对应了不同量化类型的 GGUF 模型文件,

Huugingface 的介绍:GGUF 是一种二进制文件格式,用于存储大型模型的预训练结果。它通过紧凑的二进制编码、优化的数据结构和内存映射等技术,旨在更快地加载和使用模型,并降低资源消耗。

如何看懂量化模型

顺带说一句:
HF 也有专门的 GGUF 转换工具,你可以制作自己的 GGUF 格式大模型: https://huggingface.co/spaces/ggml-org/gguf-my-repo

如何看懂量化模型

量化类型

Huugingface 也介绍了常见的量化类型:

type
description
F64
64 位标准 IEEE 754 双精度浮点数。
I64
64 位定宽整数。
F32
32 位标准 IEEE 754 单精度浮点数。
I32
32 位定宽整数。
F16
16 位标准 IEEE 754 半精度浮点数。
BF16
16 位的 32 位 IEEE 754 单精度浮点数的简短版本。
I16
16 位定宽整数
Q8_0
8 位四舍五入量化(
q
)。每个块有 32 个权重。权重公式:
w = q * block_scale
。过时的量化方法(截至今日不常用)。
Q8_1
8 位舍入量化(
q
)。每个块有 32 个权重。权重公式:
w = q * block_scale + block_minimum
. 传统量化方法(目前不广泛使用)
Q8_K
8 位量化(
q
)。每个块有 256 个权重。仅用于量化中间结果。此量化类型实现了所有 2-6 位点积。权重公式:
w = q * block_scale

I8
8 位固定宽度整数。
Q6_K
6 位量化(
q
)。超块包含 16 个块,每个块有 16 个权重。权重公式:
w = q * block_scale(8 位)
,结果为每权重 6.5625 位。
Q5_0
5-bit round-to-nearest 量化 (
q
)。每个块有 32 个权重。权重公式:
w = q * block_scale
。过时的量化方法(目前不广泛使用)。
Q5_1
5-bit round-to-nearest 量化 (
q
)。每个块有 32 个权重。权重公式:
w = q * block_scale + block_minimum
。过时的量化方法(目前不广泛使用)。
Q5_K
5-bit 量化 (
q
)。超块包含 8 个块,每个块有 32 个权重。权重公式:
w = q * block_scale(6-bit) + block_min(6-bit)
,结果为每权重 5.5 位。
Q4_0
4 位四舍五入量化(
q
)。每个块有 32 个权重。权重公式:
w = q * block_scale
。过时的量化方法(截至今日不常用)。
Q4_1
4 位舍入量化(
q
)。每个块有 32 个权重。权重公式:
w = q * block_scale + block_minimum
。过时的量化方法(目前不广泛使用)。
Q4_K
4 位量化(
q
)。超块包含 8 个块,每个块有 32 个权重。权重公式:
w = q * block_scale(6-bit) + block_min(6-bit)
,结果为每权重 4.5 位。
Q3_K
3 位量化(
q
)。超块包含 16 个块,每个块有 16 个权重。权重公式:
w = q * block_scale(6 位)
,结果为每权重 3.4375 位。
Q2_K
2 位量化(
q
)。超块包含 16 个块,每个块有 16 个权重。权重公式:
w = q * block_scale(4-bit) + block_min(4-bit)
,结果为每权重 2.625 位。
IQ4_NL
4 位量化(
q
)。超块包含 256 个权重。权重
w
使用
super_block_scale

重要性矩阵
获得。
IQ4_XS
4 位量化(
q
)。超块包含 256 个权重。权重
w
使用
super_block_scale

重要性矩阵
获得,每个权重占用 4.25 位。
IQ3_S
3 位量化(
q
)。超块包含 256 个权重。权重
w
使用
super_block_scale

重要性矩阵
获得,结果为每权重 3.44 位。
IQ3_XXS
3 位量化(
q
)。超块包含 256 个权重。权重
w
使用
super_block_scale

重要性矩阵
获得,结果为每权重 3.06 位。
IQ2_XXS
2-bit 量化(
q
)。每个超块有 256 个权重。权重
w
使用
super_block_scale

重要性矩阵
获得,结果为每权重 2.06 位。
IQ2_S
2-bit 量化(
q
)。每个超块有 256 个权重。权重
w
使用
super_block_scale

重要性矩阵
获得,结果为每权重 2.5 位。
IQ2_XS
2-bit 量化(
q
)。每个超块有 256 个权重。权重
w
使用
super_block_scale

重要性矩阵
获得,结果为每权重 2.31 位。
IQ1_S
1-bit 量化(
q
)。每个超块有 256 个权重。权重
w
使用
super_block_scale

重要性矩阵
获得,结果为每权重 1.56 位。
IQ1_M
1 比特量化(
q
)。超块包含 256 个权重。权重
w
使用
super_block_scale

重要性矩阵
获得,结果为每权重 1.75 位。

llama.cpp 的量化名称由 ikawrakow 提出,他实现了其中的大部分。

这些名称非常简洁,包含了很多信息 ,而且随着新方案的制定和实施,它们可能会发生变化。

模型名称通常是这种格式:(I)Q x _(K)_V

目前市面上的量化命名规范没有行业标准,尤其是对于大小的命名:XXS、XL、M、S 等,这些都是相对的,取决于发布者认为哪个是最大的 XL。

如何看懂量化模型

除了 Huggingface 介绍的,还有一些独创类型,比如上面的 UD

UD 代表 Unsloth Dynamics,unsloth 公司使用不同的量化对不同的块进行量化,结合了不同的 imatrix 校准文本和上下文长度,并且使一些张量/层的大小不同于常规的 llama.cpp 代码

如何看懂量化模型

怎么选呢?

没有最好的选择,只有最合适的选择

需要根据自己的需求,平衡大小和准确性!

unsloth 官方测试也有推荐

比如 DeepSeek-R1 推荐的是 Q2_K_XL  或 IQ2_XXS

Kimi-K2 的量化 ,推荐的是 UD-Q2_K_XL 2 位动态量化

如何看懂量化模型

制作不易,如果这篇文章觉得对你有用,可否点个关注。给我个三连击:点赞、转发和在看。若可以再给我加个,谢谢你看我的文章,我们下篇再见!

搭建完美的写作环境:工具篇(12 章) 图解机器学习 – 中文版(72 张 PNG) ChatGPT、大模型系列研究报告(50 个 PDF) 108 页 PDF 小册子:搭建机器学习开发环境及 Python 基础 116 页 PDF 小册子:机器学习中的概率论、统计学、线性代数 史上最全!371 张速查表,涵盖 AI、ChatGPT、Python、R、深度学习、机器学习等





免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/137993.html

(0)
上一篇 22分钟前
下一篇 9分钟前

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信