DataLearner logo
Back to LLM blog list

量化对大模型影响有多大?——KL散度测试深度解析

2023-11-23AI大模型量化KL散度技术分析

引言

在AI领域,量化是一种常用的技术,它通过减少模型中参数的位数来压缩模型大小,从而减少存储和计算需求。然而,量化也会导致模型精度的损失。本文将通过KL散度测试,探讨量化对大型AI模型的实际影响。

量化与模型性能

量化通常使用的指标是困惑度(perplexity),但这个指标并不详尽,只能大致反映模型对选定样本的预测能力。因此,我们使用KL散度来比较不同量化级别的模型概率相似性。

以下是Mistral 7b模型在不同量化级别下的KL散度变化:

  • fp16 = 约0(原始概率)
  • Q8_0 = 约0.06
  • Q6_K = 约0.1
  • Q5_K_M = 约0.3
  • Q4_K_M = 约1.0
  • Q3_K_M = 约3.7
  • Q2_K = 约8.2

这些数据显示,随着量化级别的降低,模型的概率相似性损失增加。

高难度Token的影响

如果我们专注于那些受量化影响最大的Token,情况会变得更加明显。例如,对于顶部约5%受量化影响最大的Token,量化级别越低,它们的KL散度差异越大。

不同模型大小的比较

我们还对13b模型进行了类似的测试。结果表明,尽管参数量更多的模型受量化影响较小,但即便是对于13b模型,极端量化的影响仍然相当明显。

例如,13b模型的Q2_K量化级别平均KL散度为0.058,而Mistral 7b模型的同一量化级别为0.082。

结论

通过KL散度测试,我们可以更客观地理解量化对大型AI模型的实际影响。这些测试结果有助于我们在选择量化级别时做出更明智的决策,并对模型性能有更准确的预期。

参考链接与图片

相关数据表格

以下是70B模型在不同量化级别下的困惑度表格:

Quantization Model size (GiB) Perplexity Delta to fp16
Q4_0 36.20 3.5550 3.61%
Q4_1 40.20 3.5125 2.37%
Q5_0 44.20 3.4744 1.26%
Q2_K 27.27 3.7339 8.82%
fp16 128.5 3.4313 -

这些数据表明,直到5位量化,甚至往往是4位量化,模型性能都能保持良好,但之后性能下降会变得非常明显。

结语

量化确实会对大型AI模型的性能产生影响,但通过合理选择量化级别和参数量,我们仍然可以在保证性能的同时,实现模型的压缩和优化。希望这些测试能为AI领域的研究者和开发者提供有价值的参考。