大型语言模型量化,使您的计算机实现经济适用的微调和推理

随着大型语言模型的参数越来越多,为了减少其内存占用量,也提出了新的技术。
其中一种最有效的减小模型内存占用的方法是量化。您可以将量化视为大型语言模型的压缩技术。在实践中,量化的主要目标是降低语言模型权重的精度,通常从16位降低到8位、4位,甚至3位,同时尽量减少性能下降。
对于大型语言模型,有两种常用的量化方法:GPTQ和bitsandbytes。
本文讨论了这两种方法之间的主要区别。它们各自都有优缺点,适用于不同的用例。我使用Llama 2进行了它们的内存使用和推理速度的比较,并根据以前的工作实验讨论了它们的性能。
注意:如果您想了解更多关于量化的内容,我推荐阅读Maxime Labonne撰写的这篇优秀介绍:
权重量化简介
使用8位量化减小大型语言模型的大小
towardsdatascience.com
GPTQ:后训练量化,轻量级存储和快速推理
GPTQ(Frantar等,2023)首次应用于准备部署的模型。换句话说,一旦模型完全微调,GPTQ将被应用于减小其大小。
GPTQ可以将权重精度降低到4位或3位。在实践中,GPTQ主要用于4位量化。而3位则显示出非常不稳定(Dettmers和Zettlemoyer,2023)。
它在不加载整个模型到内存中的情况下进行量化。相反,GPTQ逐个模块地加载和量化语言模型。量化还需要一小部分数据用于校准,可能需要更长的时间…