DuQuant:通过双变换分散异常值以构建更强的量化大语言模型
计算与语言
2024-11-04 v3
摘要
大语言模型(LLM)的量化面临重大挑战,这主要由于异常激活值的存在阻碍了高效的低位表示。传统方法主要处理正常异常值,即在所有 token 中幅值相对较大的激活值。然而,这些方法在平滑表现出显著更大值的巨型异常值时遇到困难,这导致低位量化中的性能显著下降。在本文中,我们引入了 DuQuant,这是一种利用旋转和置换变换以更有效地缓解巨型异常值和正常异常值的新方法。首先,DuQuant 从构建旋转矩阵开始,使用特定的异常值维度作为先验知识,通过块旋转将异常值重新分配到相邻通道。其次,我们进一步采用锯齿形置换来平衡各块之间的异常值分布,从而降低块间方差。随后的旋转进一步平滑了激活值分布,提升了模型性能。DuQuant 简化了量化过程并在处理异常值方面表现出色,在多种任务上、不同规模和类型的 LLM 中均优于最先进的基线方法,甚至在 4 比特权重-激活值量化下也是如此。我们的代码可在 https://github.com/Hsu1023/DuQuant 获取。
引用
@article{arxiv.2406.01721,
title = {DuQuant: Distributing Outliers via Dual Transformation Makes Stronger Quantized LLMs},
author = {Haokun Lin and Haobo Xu and Yichen Wu and Jingzhi Cui and Yingtao Zhang and Linzhan Mou and Linqi Song and Zhenan Sun and Ying Wei},
journal= {arXiv preprint arXiv:2406.01721},
year = {2024}
}
备注
NeurIPS 2024 Oral, Website at https://duquant.github.io