人工智能AI系列 · 第 03 讲 :大模型的精度与量化
上一讲我们提到"量化是大模型压缩性价比最高的手段",但量化到底是怎么发生的?答案藏在一个基础概念里——精度。这一讲我们从"什么是精度"讲到 INT8 / INT4 量化的完整计算过程,把大模型部署中最容易犯迷糊的数值格式问题一次讲清。
一、什么是精度精度(Precision),是指模型权重在存储和计算时的数值精确程度,通常由浮点数的位数决定。不同精度格式的指数位与尾数位分配存在差异。常见的精度类型从高到低依次为:
FP32FP16BF16FP8INT8INT4● 高精度 · FP32
- 梯度计算更精确,权重更新稳定;
- 复杂数学运算中表现稳定;
- 显存消耗约为 FP16 的两倍,吞吐量降低。
● 低精度 · FP16 / FP8
- 减少数据位宽,提升 Tensor Core 利用率;
- 显著提高训练速度,降低显存占用;
- 可能出现梯度消失、数值溢出等精度损失。
💡 实际应用中通常采用混合精度训练策略,结合损失缩放技术,平衡效率与稳定性。
二、机器学习中的数据类型:从 bit 到 Byte8 bit = 1 Byte
计算机的世界里,数值的最小单位是「位」
- bit · 比特:一个比特代表二进制中的一个数字,可以是 0 或者 1——这是计算机中数值的最小单位。
- Byte · 字节:把 8 个比特组合在一起,就构成了字节——计算机存储和处理数据的基本单位。当我们提到 16 位或 32 位时,实际上是在谈论比特的数量。
| 位数 | 占用空间 |
|---|---|
| 1 位 | 1 比特 |
| 4 位 | 半字节 |
| 8 位 | 1 字节 |
| 16 位 | 2 字节 |
| 32 位 | 4 字节 |
表 3-2 · 计算机数据处理过程中的位数与占用空间
💡 位数每翻一倍,占用空间随之翻倍——精度选择的本质,是存储与算力成本的取舍。
三、常用数据格式全景深度学习中「全精度」指 FP64 双精度(占 64 位),实际应用中并不常见;FP32 单精度及以下的精度应用比较广泛,FP16 作为单精度的一半被称为「半精度」。
| 类型 | 精度 | 位数 | 结构 | 值范围 |
|---|---|---|---|---|
| FP32 | 单精度 | 32 位(4 字节) | 1 · 8 · 23 | 约 ±3.4×10³⁸ |
| FP16 | 半精度 | 16 位(2 字节) | 1 · 5 · 10 | 约 ±6.1×10⁴ |
| BF16 | 半精度 · 大浮点数 | 16 位(2 字节) | 1 · 8 · 7 | 约 ±3.4×10³⁸ |
| FP8 | 1/4 精度 | 8 位(1 字节) | 1 · 4 · 3 | 约 ±256.000 |
| INT8 | 1/4 精度 | 8 位(1 字节) | 1 符号位 · 7 数值 | -128 ~ +127 |
| INT4 | 1/8 精度 | 4 位(半字节) | 1 符号位 · 3 数值 | -8 ~ +7 |
注:结构列为「符号位 · 指数位 · 小数位」,INT8 / INT4 为「符号位 · 数值位」;值范围为约数。
- BF16 的取舍:用更少的小数位换回 8 位指数——值范围与 FP32 相同,更适合大模型训练;
- 精度逐级下探:从 32 位到 4 位:位数减少,显存开销同步下降,表示能力逐步收窄;
- 量化格式的起点:INT8 与 INT4 就是量化所用的整数格式。
量化是通过降低神经网络模型中数值的精度(例如将 16 位浮点数转换为 8 位整数),来减少模型存储空间、计算资源和功耗的技术手段,同时尽可能保持模型的性能。
1/2
FP16 → INT8,模型大小缩减至原来的二分之一。整数运算相较于浮点运算速度更快——量化后的模型在推理时能够加速(存储 2 字节 → 1 字节)。
- 行业普遍做法:FP16 与 BF16 是大语言模型较为普遍采用的精度格式;
- DeepSeek 的例外:DeepSeek-V3 与 DeepSeek-R1 与众不同,采用 FP8 混合精度进行训练。
量化让大模型在有限显存上「跑得起、跑得快」——先解决能不能部署,再谈效率与成本。
五、INT8 量化:用缩放因子换一半存储INT8 量化的完整过程只需四步——核心是缩放因子(Scale Factor):
✅ 精度损失极小(0.5 → 0.5040),存储从 2 字节/权重降为 1 字节;整数运算还可借助 GPU 加速推理。
六、INT4 量化:更激进的压缩与误差校正- 存储空间:2 字节 → 半个字节;
- 误差仍然较大:INT4 取值范围 -8 ~ +7,仅 16 个数字可用——直接系数变换对浮点数的表示误差大于 INT8;
- 减小误差的方法:进行 INT4 量化时,应采用分组缩放因子、零点校正等方法来减小误差;
- CPU 上也能算:数学等价方法可将浮点计算拆解为整数矩阵相乘 + 缩放因子校正,从而在 CPU 上进行计算。
🚀 落地示例:llama.cpp 的 Q4 量化模型,可直接在 CPU 上运行 INT4 计算——INT4 把大模型塞进消费级硬件。
本章小结:「量化 = 用可接受的精度损失,换取一半以上的显存与算力」。四个要点请带走——① 精度由位数决定,位数越少占用越小;② 混合精度训练平衡效率与稳定;③ 缩放因子是量化的核心机制;④ INT8 显存减半,INT4 可上 CPU。下一讲,我们就用这些知识正式动手部署本地大模型,敬请期待。
关于我们山东君实信息技术有限公司基于 ITSM 理论的 IT 服务商,提供IT咨询、IT服务外包、信息安全、软件定义网络、云计算、大数据等服务。
邮箱:ct2020@126.com | 网址:www.itservice.zone