本文介绍我们针对大语言模型量化的工作 IntactKV,可以作为插件有效提升GPTQ、AWQ、QuaRot等现有主流量化方法效果。论文作者来自清华大学、华为诺亚、中科院自动化所和香港中文大学。论文代码已经开源,欢迎大家使用!
论文链接:https://arxiv.org/abs/2403.01241
开源代码:https://github.com/ruikangliu/IntactKV
大语言模型(LLM)在自然语言处理的各项任务上都取得了出色的表现,但其庞大的参数量也给实际部署带来了新的挑战。模型量化是一种常用的模型压缩方法,可以通过将模型权重和激活值压缩到低比特来有效降低模型推理时的算力和内存开销,然而量化往往伴随着模型的精度损失。对此,我们提出了一种新的量化方法IntactKV。我们发现LLM中存在关键词元(pivot tokens),这些关键词元的表征上存在极大的离群值,这会导致模型将大量自注意力得分分配到这些词元上,而模型量化会使得这些关键词元表征受损,严重损害了量化模型精度。IntactKV通过预先缓存关键词元的无损KV cache来保证量化模型中关键词元表征无损,理论推导证明这能有效降低模型的量化误差上界。此外,缓存的无损KV cache还可以作为模型的额外参数做进一步校准,进一步弥补量化误差。IntactKV实现简单并且与GPTQ[1]、AWQ[2]、QuaRot[3]等当前主流的LLM量化方法正交,实验表明,IntactKV可以作为插件有效提升现有量化模型精度,同时不会带来额外的推理开销,在权重量化和权重激活值量化上均取得了当前的SOTA精度。
<