量化理论 • 约 1820 字 • 预计阅读 8 分钟

大模型量化精度全景图:从 FP32 到 1-bit,精度损失到底有多大?

区分 FP8、INT8、INT4、NF4 的权重、激活与 KV 量化,解释显存预算、加速条件和校准差异,并给出准确率、PPL 与业务验收的可复现评估方法。

NOTE

核心速览 (TL;DR)

  • 精度与显存数学:从纯权重(Weight-Only)量化(AWQ, GPTQ)到全量矩阵与激活值量化(FP8, SmoothQuant),精确推导每种量化模式下的显存占用与访存带宽节省。
  • 显卡档位实测红线:70B 模型 4-bit 纯权重已占用 35GB,必须预留 KV Cache 与上下文空间,单卡无法在 24GB~32GB 上裸跑;RTX 3090/4090 真实物理显存为 24GB。
  • 实战指南:配合 量化实战动手实验 与 DeepSeek MLA 权重体积核算,实现精度无损的低成本落地。

先区分权重、激活与缓存

量化把部分数值映射到更少的表示位数,目标是降低显存、访存或计算开销;它不是一个能承诺固定“智力损失百分比”的压缩开关。实际执行步骤见 量化实战指南。

标记含义主要收益与条件
W4A16/W8A16低位权重,较高精度激活省权重访存;速度取决于反量化融合和计算负载
W8A8权重与激活均采用 8-bit 路径对应硬件和算子可能提高矩阵乘吞吐
FP8 KV历史键值使用低精度表示省缓存;独立于权重量化,需要验证 scale 和任务质量
NF4+LoRA量化冻结基座,训练较高精度适配器降低微调资源,但不等于全模型采用 NF4 运算

即使称为 W8A8,也通常有归一化、路由、累加或输出等保留较高精度的部分;应查具体 checkpoint 和 kernel,不能把全部计算描述成同一位宽。

一、INT8、FP8 和 BitsAndBytes 的区别

INT8 通常依赖缩放系数把数值映射到有限整数范围;FP8 带指数,但仍需合适的缩放和数值范围处理。动态缩放可以不使用离线校准集,静态量化则可能需要代表性样本;“FP8 全部零校准、任何任务损失小于 1%”不是通用保证。

BitsAndBytes 的 LLM.int8() 对主要矩阵采用 INT8 路径,对离群值采用较高精度计算;离群维度由阈值与输入决定,不是固定 0.1%。其机制见 官方说明。不要与仅压缩权重的 W8A16 混用。

二、GPTQ、AWQ 与 GGUF

GPTQ 和 AWQ 是量化方法;GGUF 是模型文件格式,能承载多种量化类型。比较时应写完整方法、group size、混合精度布局和运行后端,而不是给三者一个不受硬件约束的“最快/最准”排名。

仅权重量化在小 Batch、访存受限的 Decode 中可能明显加速,因为权重读取更少;在大 Batch 下收益可能被反量化和计算开销抵消。实际结论要在相同模型、长度和并发下测量。AWQ 论文同时讨论量化与配套推理实现,不能把算法压缩率直接当成所有引擎的加速比。

三、按显存估算,而不是按参数名猜

TEXT
原始权重下界 = 参数量 × 位数 / 8
所需显存 = 权重 + scales/元数据 + KV/循环状态
         + 激活/通信/图捕获/运行时开销

70B 的纯 4-bit 权重约 35GB,通常无法完整放进 24~32GB 单卡并留出工作区;双卡切分或 CPU Offload 是不同方案。24GB 单卡运行约 32B 的 4-bit 模型也要检查实际文件大小、上下文与可用显存,不能只看“16GB 权重下界”。RTX 3090 为 24GB,4080 常见配置为 16GB,3060/4060 不同型号容量需要分别查询。

资源条件合理的起点
约 8~12GB 可用显存从较小模型与短上下文开始,按实际占用提高规模
约 16~32GB核对 4-bit 7B/14B/32B 的文件与缓存预算,逐项验证
多 GPU计入 TP 通信、切分不均与重复缓存,不能简单相加显存
CPU/统一内存同时检查内存容量、带宽、模型支持与可接受延迟

不同硬件对 FP8、FP4、整数指令的支持不同,框架是否调用高效 kernel 也不同。部署前应核对引擎版本与支持矩阵,见 vLLM 服务指南。

四、精度损失应如何报告

保持同一模型 revision、tokenizer、数据集与推理设置,对照未量化基线。PPL 是 exp(平均负对数似然),依赖语料、切词和评测窗口,不能把 PPL 的相对变化称作“智商下降”。

例如准确率从 70.24% 变为 69.64%,差值是 0.60 个百分点,相对下降约 0.85%;两种口径不能混写。上线阈值应由业务定义,没有统一的 PPL 增量 0.1~0.2 或准确率掉点 1% 工业标准。

记录字段示例内容
版本与方法revision、W/A/KV 精度、group size、校准数据
质量任务通过率、引用/数值错误、格式失败与重复运行区间
速度TTFT、TPOT、目标 SLA 下吞吐;固定并发及输入/输出长度
容量每 Rank 权重、缓存与峰值,而非仅统计模型文件

方法见 业务评估指南。表格应附原始结果,不能使用“某达标线”“完美通过”替代数值。

五、NF4、低位训练与新硬件格式

NF4 根据近似正态分布设计量化级别,但真实权重并非完美高斯;QLoRA 仍需量化尺度与较高精度适配器,详见 QLoRA 论文。

BitNet 类三值模型依赖相应训练或适配方法,不能把任意现有 FP16 checkpoint 直接压成三值并承诺无损。MXFP4 与 NVFP4 的块缩放和硬件路径也不同;不能只凭“4-bit”名称互换模型文件。选择格式要同时验证质量、容量和算子支持。

常见问题 (FAQ)

Q1: 8-bit 是否一定无损,4-bit 是否一定损失 1%~5%?

不是。模型、方法、数据和任务都会改变结果,尤其要单独评估代码、数学及长上下文。

Q2: 仅权重量化为什么可能变快?

访存受限时,少读权重可降低耗时;反量化融合、batch 和硬件决定收益,不保证固定倍数。

Q3: FP8 权重与 FP8 KV 是否应该一起打开?

分别验证再组合。KV 量化有独立的尺度和后端条件,不能从权重量化表现推导缓存质量。

Q4: 如何选择微调精度?

先根据基座、显存与训练栈选择 BF16/FP16 或 QLoRA,再验证稳定性。BF16 的范围较大不等于永远不会溢出,见 微调指南。

相关文章

优先推荐同标签内容,其次补充最新文章。

解密 DeepSeek 推理印钞机:DeepInfer 与 deepseek-recipe 从硅基地基到协议顶层的生产全栈拆解

从底层芯片与通信物理地基,到算子内核、PD 极致分离拓扑、DSpark 动态投机解码、SWA 边界重放,再到 deepseek-recipe 协议中间层与百万亿 Token 商业印钞机经济学,全景剖析 DeepSeek 最新开源生产推理全栈。

高并发批处理演进:从 Continuous Batching 到 Chunked Prefill 消除排头阻塞

为什么在消除显存碎片后,高并发大模型服务依然会遭遇严重的单字时延(TPOT)剧烈抖动?深度解构从传统静态批处理到 Orca 迭代级连续批处理的状态机演进,揭秘超长 Prefill 霸占 GPU 引发排头阻塞(HoL Blocking)的物理根源,以及 Sarathi-Serve 和 vLLM 借助 Chunked Prefill 实现算力与访存动态拼车(Piggybacking)的底层机制。

Attention 算子加速史:从 FlashAttention-1/2/3 的 SRAM Tiling 到 FlashInfer 统一异构核心

为什么标准自注意力计算会随序列长度呈平方级拖垮显存带宽?深度解析现代 Attention 算子加速史:从 FlashAttention-1 的 SRAM 分块分片(Tiling)与 Online Softmax 动态局部重规约,到 FlashAttention-2 循环重构与 Warp 零通信调度,再到 FlashAttention-3 独占 Hopper 架构的 TMA 硬件异步搬运与 WGMMA 异步流水线。最后全面剖析专为大模型在线服务而生的 FlashInfer,揭秘其如何凭借 Paged KV Cache 原生寻址与 Split-K 解码并行,终结长文本 Decode 算力饥饿。

← 上一篇 做 AI Agent 的 7 条运行时实践 下一篇 → NVIDIA GPU 驱动栈全视野解析:从内核模块到容器运行时的包关系图谱
← 返回文章列表