GGUF 量化核心算法
30 章 · 从入门到部署
🎯 源码实战
01
GGUF概览
GGUF是什么?为什么需要GGUF?与GGML的关系
02
GGUF文件格式解剖
文件头、元数据、张量数据二进制布局
03
量化基础
定点数与浮点数,量化误差与精度损失
04
对称量化与非对称量化
原理、公式推导与适用场景
05
GGML量化类型总览
Q4_0, Q4_1, Q5_0, Q5_1, Q8_0, Q2_K … Q8_K
06
Q4_0量化算法
4-bit对称量化,块大小32源码实现
07
Q4_1量化算法
4-bit非对称量化,带最小值的源码实现
08
Q5_0与Q5_1量化算法
5-bit量化,精度与速度的平衡
09
Q8_0量化算法
8-bit对称量化,几乎无损的量化方案
10
K-quant量化家族概述
为什么叫K-quant?超参数与块大小
11
Q2_K量化算法
2-bit极端量化,用于极小模型
12
Q3_K量化算法
3-bit量化,中等压缩率
13
Q4_K量化算法
4-bit K-quant,最常用的量化方案
14
Q5_K量化算法
5-bit K-quant,高质量量化
15
Q6_K量化算法
6-bit K-quant,接近无损
16
Q8_K量化算法
8-bit K-quant,K-quant家族精度上限
17
量化核心函数 ggml_quantize_chunk
源码入口与流程解析
18
量化核心函数 quantize_row
逐行量化的实现细节
19
反量化核心函数 dequantize_row
从量化数据恢复浮点数的源码
20
dot_product 计算
量化矩阵乘法的核心——内积计算
21
vec_dot_q4_0
Q4_0类型的向量点积汇编优化
22
量化参数选择
如何根据模型和硬件选择合适的量化类型
23
量化速度与精度的权衡
benchmark数据与实战经验
24
GGUF量化工具
llama.cpp中的quantize工具使用详解
25
自定义量化类型
如何在GGML中添加新的量化方案
26
量化中的异常处理
NaN、Inf与溢出处理
27
混合精度量化
不同层使用不同量化类型的策略
28
量化模型推理优化
内存布局与缓存友好性
29
GGUF量化在边缘设备上的部署
手机与嵌入式场景
30
未来展望
GGUF与量化技术的发展趋势