第三章 · 量化实战:位宽、困惑度与速度的三角


第三章 · 量化实战:位宽、困惑度与速度的三角

章节摘要:本章跟着一个预算问题走:6GB 显存想装下 8B 模型,每一 MB 都要精打细算。我们从量化的数学骨架讲起,拆解 llama.cpp 的 K 系与 I 系量化家族,最后在真实硬件上把五种位宽各测一遍,产出一张体积、困惑度、速度的三维对照表——这张表会直接回答「你的机器该用哪个档位」。

一条主线

主线的任务是给 2060 小本选一个「终身档位」。约束条件很硬:6GB 显存要同时装下权重、KV 缓存与计算缓冲(这笔账第 5 章才算得清,本章先把权重这本账算明白);16GB 内存是后备空间;对生成质量的要求是「日常写作与代码问答不露怯」。备选档位有五个:Q8_0、Q6_K、Q5_K_M、Q4_K_M、Q3_K_M。主线推进的方式是先武装头脑再动手测量——3.1 讲清缩放因子与分块如何让 4 比特整数逼近浮点精度,3.2 拆解 K 系量化「把好钢用在刀刃上」的分块艺术,3.3 用同一套测试流程把五个档位全部跑一遍,让数据替我们做决定。

沿途站点

3.1 量化的数学骨架——从「为什么 4 比特能存下浮点数的信息」讲起:分块、缩放因子、零点的三件套如何把浮点张量映射成整数网格,误差从哪里来、被什么控制。

3.2 K-quants 与重要性矩阵——llama.cpp 的量化兵器谱:旧量化 Q4_0 的朴素布局,K 系量化的超块结构,以及用校准数据指引精度分配的重要性矩阵路线。读完你会明白文件名里 K 与 I 前缀的确切含义。

3.3 五种位宽实测——动手节。同一份模型、同一套提示词、同一块显卡,五个档位全量实测,产出对照表与选型结论。

拐点与结论

本章的拐点在 3.3 的数据里:困惑度随位宽下降并非线性恶化——Q8 到 Q6 几乎无感,Q6 到 Q5 轻微,Q5 到 Q4 开始能被细致任务察觉,Q4 到 Q3 则在长链推理上明显露怯。速度曲线却是另一副面孔:从 Q8 到 Q4 速度提升有限,因为瓶颈在架构调度而非搬运量。两条曲线叠加,结论就浮出水面:消费级硬件的默认答案是 Q4_K_M;只有在显存富余或任务苛刻时才值得上探。这个结论在本册后续所有章节反复使用——第 5 章的显存账本以 Q4_K_M 为基准,第 6 章的上下文实验在同一档位上展开。

位宽档案速查

本章实测覆盖六个档位,先立一张档案卡便于对照:F16 约 14.9GB(基线)、Q8_0 约 8.2GB、Q6_K 约 6.6GB、Q5_K_M 约 5.7GB、Q4_K_M 约 4.9GB(全册默认档)、Q3_K_M 约 4.0GB。困惑度按上列顺序单调上升,速度则在「刚好能全卸载进 6GB 显存」的 Q4_K_M 处出现台阶式跃升——这张卡是本章结论的浓缩,3.3 节负责把每个格子的来历讲清。

本章知识点清单

可考核知识点如下:写出「缩放因子加分块」的量化映射并心算等效位宽;解释离群值如何绑架块量程;区分旧系、K 系、I 系三类格式的结构与适用位宽区间;说明 M、S、L 后缀的精度分配机制;用重要性矩阵生成一份低比特产物;复现五档位宽实测并解读「全卸载临界档」的速度跃升;为自己机器写出选档结论。七条过关,量化章节毕业。

读完你应该

  • 能解释缩放因子如何让 4 比特整数近似任意区间的浮点权重;
  • 能说出超块、块缩放、重要性矩阵三个概念各自解决什么问题;
  • 能读懂文件名里 Q4_0、Q4_K_M、IQ4_XS 三种写法的差异并做出选择;
  • 能复现 3.3 节的测量流程,在自己的硬件上产出同款对照表;
  • 能按任务类型(闲聊、写作、代码、推理链)给位宽档位排优先级。

常见误区预警

进入本章前先排掉三个高频误区:以为量化是「压缩文件」的可逆操作(它是有损的数值映射);以为位宽越低速度一定越快(临界档效应会打脸,见 3.3);以为困惑度是质量的全能判据(它只是统计代理,任务验收才是终审)。带着这三个预警读本章,省下的弯路足够抵一章的篇幅。

下一章的接力

档位选定了,文件到手了,下一个问题是怎么让它跑起来。第 4 章从零编译出属于这台机器的 llama-cli,完成第一次真实推理,并把一路上所有可能撞上的报错一次排干净。

作者与出处
原作者:灏天文库
来源:平台策划编纂
整理人: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U