量化格式的"选择困难症"

2026年,如果你在Hugging Face上下载一个模型,你会看到这样的选项:FP16、BF16、INT8、INT4、FP8、NF4、AWQ、GPTQ、GGUF……一堆量化格式,让你不知道选哪个。

本指南用实测数据,帮你彻底搞清楚量化格式的选择逻辑。

量化格式速查表

格式每参数bit数7B模型大小速度提升精度损失适合场景
FP323228 GB1x0%训练
FP161614 GB1.5x<0.5%推理(默认)
BF161614 GB1.5x<0.5%推理(训练用)
INT887 GB2x<1%推理(推荐)
FP887 GB2x<1%H100推理
INT443.5 GB3x2-5%端侧推理
NF443.5 GB3x2-4%QLoRA微调

各格式详解

FP16(半精度浮点):推理的"默认选择"。 FP16是大多数模型推理的"默认精度"。如果你不确定选什么,选FP16。精度损失几乎为零(<0.5%),显存占用减半,速度提升1.5倍。支持所有GPU(V100、A100、H100、RTX系列)。

BF16(Brain Float 16):训练和推理的"通用选择"。 BF16的动态范围比FP16大(指数位数多),在训练时更稳定(不容易溢出)。如果你要"微调"模型,用BF16。如果你要"推理"模型,BF16和FP16差不多。

INT8(8-bit整数量化):推理的"性价比之王"。 INT8量化,精度损失不到1%,但显存减半、速度翻倍。如果你有GPU(A100/H100/RTX),INT8是推理的"性价比最优"选择。 大多数场景下,INT8量化后精度损失不可感知。

FP8(8-bit浮点量化):H100的"专属加速"。 FP8是NVIDIA H100的"原生功能"——H100有专门的FP8计算单元(Transformer Engine),FP8推理速度是FP16的2倍。但FP8只支持H100(A100不支持),适用面窄。如果你用H100,FP8是最优选择。

INT4(4-bit整数量化):端侧推理的"唯一选择"。 INT4量化,精度损失2-5%,但显存减到1/4。在手机上跑7B模型,只能INT4(FP16要14GB,手机显存不够)。如果你在端侧部署模型,INT4是"必须"的,不是"选择"。

NF4(4-bit Normal Float):QLoRA的"标配"。 NF4是专门为QLoRA(4-bit量化的LoRA微调)设计的量化格式。它比INT4更适合"正态分布"的权重(模型权重通常是正态分布的)。如果你用QLoRA微调,用NF4。

量化精度损失实测

在Qwen 3.0 7B上,不同量化格式的精度损失(MMLU基准):

格式MMLU得分精度损失
FP1672.3%0%
INT871.9%0.4%
FP871.8%0.5%
INT4 (GPTQ)70.1%2.2%
INT4 (AWQ)70.5%1.8%
NF470.3%2.0%

INT8: 精度损失<1%,几乎不可感知。INT4: 精度损失2%左右,在简单任务中可接受,在复杂任务中需谨慎。

量化选型"决策树"

你用什么硬件?
├── H100 → FP8(最优)
├── A100/V100/RTX 4090 → INT8(性价比最优)
├── RTX 3060/3070/4060 → INT8(如果显存够)或 INT4(如果显存不够)
├── Apple Silicon → INT4(Core ML专用)
└── 手机(骁龙/天玑) → INT4(Qualcomm AI Engine专用)

你做什么任务?
├── 简单任务(分类、情感分析) → INT4(精度损失可接受)
├── 中等任务(翻译、摘要) → INT8(精度损失几乎不可感知)
├── 复杂任务(代码生成、推理) → INT8 或 FP16(精度优先)
└── 微调 → BF16(训练)或 NF4(QLoRA)

结语

2026年,模型量化已经非常成熟。INT8是"性价比之王"(精度损失<1%,速度翻倍),INT4是"端侧必需"(只能这样),FP8是"H100专属"。

对于大多数场景,选INT8就够了。 对于端侧部署,选INT4。对于追求极致性能的H100用户,选FP8。不要被各种量化格式的名字"吓到"——它们是"工具",不是"信仰"。