Rotated Runtime Smooth: Training-Free Activation Smoother for accurate INT4 inference
作者: Ke Yi, Zengke Liu, Jianwei Zhang, Chengyuan Li, Tong Zhang, Junyang Lin, Jingren Zhou
分类: cs.LG, cs.AI
发布日期: 2024-09-30 (更新: 2024-11-11)
💡 一句话要点
提出Rotated Runtime Smooth,用于提升INT4量化大模型推理精度
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 大语言模型 INT4量化 激活平滑 异常值抑制 推理加速
📋 核心要点
- INT4量化能有效降低大模型推理成本,但激活中的异常值是主要瓶颈,现有方法存在延迟高或精度损失的问题。
- Rotated Runtime Smooth (RRS)通过Runtime Smooth消除通道级异常值,并使用旋转操作缓解尖峰异常值的影响。
- RRS在LLaMA和Qwen系列模型上取得了SOTA结果,显著降低了WikiText-2的INT4推理困惑度。
📝 摘要(中文)
大型语言模型展现了强大的能力,但其庞大的参数规模带来了巨大的计算和内存开销。量化方法被用于降低服务成本和延迟。然而,激活中的异常值阻碍了INT4权重-激活量化的发展。现有方法将异常值和正常值分离到两个矩阵中,或者将异常值从激活迁移到权重,导致高延迟或精度下降。基于对大型语言模型激活的观察,异常值可分为通道级异常值和尖峰异常值。本文提出了Rotated Runtime Smooth (RRS),一种即插即用的激活平滑器,用于量化,包括Runtime Smooth和旋转操作。Runtime Smooth (RS)通过在运行时使用通道级最大值平滑激活来消除通道级异常值。旋转操作可以缩小尖峰异常值和正常值之间的差距,减轻通道级平滑引起的受害者效应。所提出的方法优于LLaMA和Qwen系列中的最先进方法,并将WikiText-2的INT4推理困惑度从57.33提高到6.66。
🔬 方法详解
问题定义:论文旨在解决INT4量化中激活异常值导致的大模型推理精度下降问题。现有方法,如将异常值分离或迁移,会引入额外的计算开销(高延迟)或损害模型精度。这些方法未能有效区分和处理不同类型的异常值,例如通道级和尖峰异常值。
核心思路:论文的核心思路是设计一种即插即用的激活平滑方法,能够在运行时有效地抑制激活中的异常值,而无需修改模型结构或进行额外的训练。通过Runtime Smooth消除通道级异常值,并利用旋转操作缓解因通道级平滑可能导致的精度损失。
技术框架:RRS包含两个主要模块:Runtime Smooth (RS) 和 Rotation。Runtime Smooth模块负责对激活进行通道级的平滑处理,通过通道最大值来调整激活值,从而抑制通道级的异常值。Rotation模块则用于缩小尖峰异常值与正常值之间的差距,减轻通道级平滑可能带来的负面影响。整个流程是在模型推理过程中实时进行的,无需预处理或离线训练。
关键创新:RRS的关键创新在于其简单有效的异常值抑制策略,以及将Runtime Smooth和Rotation操作相结合的设计。与现有方法相比,RRS无需分离或迁移异常值,避免了额外的计算开销和精度损失。同时,RRS能够区分并针对性地处理通道级和尖峰异常值,从而更有效地提升量化模型的推理精度。
关键设计:Runtime Smooth模块的关键设计在于通道级最大值的选择和应用方式。具体而言,对于每个通道,RS会计算该通道激活值的最大值,并使用该最大值对通道内的所有激活值进行平滑处理。Rotation操作的具体实现细节未知,但其目的是通过旋转激活向量,使得尖峰异常值更接近正常值,从而减轻通道级平滑的影响。论文未提供关于损失函数或网络结构的具体细节,因为RRS是一种即插即用的激活平滑方法,不涉及模型训练。
🖼️ 关键图片
📊 实验亮点
实验结果表明,RRS在LLaMA和Qwen系列模型上显著提升了INT4量化推理的精度。在WikiText-2数据集上,RRS将困惑度从57.33降低到6.66,表明其在语言建模任务上具有显著优势。该方法优于现有SOTA方法,证明了其有效性和优越性。
🎯 应用场景
该研究成果可广泛应用于大语言模型的低精度量化推理加速,尤其是在资源受限的边缘设备或移动端部署场景。通过提高INT4量化模型的精度,RRS能够降低模型推理的计算和存储成本,从而实现更高效、更经济的大模型服务。
📄 摘要(原文)
Large language models have demonstrated promising capabilities upon scaling up parameters. However, serving large language models incurs substantial computation and memory movement costs due to their large scale. Quantization methods have been employed to reduce service costs and latency. Nevertheless, outliers in activations hinder the development of INT4 weight-activation quantization. Existing approaches separate outliers and normal values into two matrices or migrate outliers from activations to weights, suffering from high latency or accuracy degradation. Based on observing activations from large language models, outliers can be classified into channel-wise and spike outliers. In this work, we propose Rotated Runtime Smooth (RRS), a plug-and-play activation smoother for quantization, consisting of Runtime Smooth and the Rotation operation. Runtime Smooth (RS) is introduced to eliminate channel-wise outliers by smoothing activations with channel-wise maximums during runtime. The rotation operation can narrow the gap between spike outliers and normal values, alleviating the effect of victims caused by channel-wise smoothing. The proposed method outperforms the state-of-the-art method in the LLaMA and Qwen families and improves WikiText-2 perplexity from 57.33 to 6.66 for INT4 inference.