- 简介大型语言模型(LLMs)是现代自然语言处理和人工智能不可或缺的一部分。然而,它们在管理其显著的内存需求方面面临挑战。虽然量化感知训练(QAT)通过低位表示减少内存消耗并最小化精度损失提供了解决方案,但它需要大量的训练资源来优化模型权重和量化参数。为了解决这个问题,我们提出了一种新的量化技术EfficientQAT,用于压缩LLMs。EfficientQAT包括两个连续的阶段:所有参数的块级训练(Block-AP)和量化参数的端到端训练(E2E-QP)。Block-AP针对每个transformer块中的所有参数依次进行量化感知训练,通过块级重构维护效率,避免对整个LLM进行训练。使用量化模型初始化,E2E-QP仅端到端训练量化参数(步长),通过固定的量化骨干和减少可训练参数数量来提高效率。广泛的实验表明,EfficientQAT在各种模型上优于以前的量化方法,包括基础LLMs、指令调整LLMs和多模式LLMs,其规模从7B到70B参数,量化位数不同。例如,EfficientQAT在单个A100-80GB GPU上以41小时的时间获得了一个2位的Llama-2-70B模型,与完整精度相比,精度下降不到3\%(69.48 vs. 72.41)。值得注意的是,这个INT2量化的70B模型比Llama-2-13B模型(69.48 vs. 67.81)获得了1.67的精度提升,同时需要更少的内存(19.2GB vs. 24.2GB)。代码可在https://github.com/OpenGVLab/EfficientQAT上获得。
-
- 图表
- 解决问题本文旨在解决大型语言模型在内存需求方面面临的挑战,提出一种有效的量化技术以压缩模型。具体而言,如何在减少内存消耗的同时保持最小的精度损失,且不需要过多的训练资源来优化模型权重和量化参数。
- 关键思路本文提出了一种高效的量化技术EfficientQAT,包括两个连续的阶段:块级别训练(Block-AP)和端到端训练量化参数(E2E-QP)。Block-AP依次对每个变压器块中的所有参数进行量化感知训练,并通过块级重构来保持效率。E2E-QP则在初始化量化模型的基础上,仅对量化参数(步长)进行端到端训练,通过固定的量化骨干和减少可训练参数数量来提高效率。
- 其它亮点EfficientQAT在各种模型上的实验表明,相比之前的量化方法,其表现更优,包括基础语言模型、指令调整语言模型和多模式语言模型,规模从7B到70B参数,量化位数不同。例如,EfficientQAT在单个A100-80GB GPU上用41小时获得一个2位Llama-2-70B模型,与全精度相比,精度损失不到3%(69.48 vs. 72.41)。值得注意的是,这个INT2量化的70B模型比Llama-2-13B模型(69.48 vs. 67.81)获得了1.67的精度提升,同时需要的内存更少(19.2GB vs. 24.2GB)。代码可在https://github.com/OpenGVLab/EfficientQAT上获得。
- 最近在这个领域中,还有一些相关的研究,如《Quantization and Training of Neural Networks for Efficient Integer-Arithmetic-Only Inference》和《High-Performance Large-Scale Image Recognition Without Normalization》等。
NEW
提问交流
提交问题,平台邀请作者,轻松获得权威解答~
向作者提问

提问交流