OmniQuant

目录

    • 摘要
    • [1 引言](#1 引言)
      • [1.1 量化技术的现状与挑战](#1.1 量化技术的现状与挑战)
      • [1.2 OmniQuant的核心设计](#1.2 OmniQuant的核心设计)
      • [1.3 OmniQuant的资源效率与性能优势](#1.3 OmniQuant的资源效率与性能优势)
      • [1.4 本文贡献](#1.4 本文贡献)
    • [2 相关工作](#2 相关工作)
      • [2.1 量化方法分类](#2.1 量化方法分类)
      • [2.2 大型语言模型的量化方向](#2.2 大型语言模型的量化方向)
        • [2.2.1 仅权重量化](#2.2.1 仅权重量化)
        • [2.2.2 权重-激活值联合量化](#2.2.2 权重-激活值联合量化)
    • [3 OmniQuant方法](#3 OmniQuant方法)
      • [3.1 LLM量化的核心挑战](#3.1 LLM量化的核心挑战)
      • [3.2 块级量化误差最小化框架](#3.2 块级量化误差最小化框架)
        • [3.2.1 优化目标](#3.2.1 优化目标)
        • [3.2.2 框架优势](#3.2.2 框架优势)
      • [3.3 可学习权重裁剪(LWC)](#3.3 可学习权重裁剪(LWC))
        • [3.3.1 核心公式](#3.3.1 核心公式)
        • [3.3.2 关键特性](#3.3.2 关键特性)
      • [3.4 可学习等价变换(LET)](#3.4 可学习等价变换(LET))
        • [3.4.1 核心思路](#3.4.1 核心思路)
        • [3.4.2 线性层的等价变换](#3.4.2 线性层的等价变换)
        • [3.4.3 注意力操作的等价变换](#3.4.3 注意力操作的等价变换)
    • [4 实验](#4 实验)
      • [4.1 实验设置](#4.1 实验设置)
        • [4.1.1 量化配置](#4.1.1 量化配置)
        • [4.1.2 训练参数](#4.1.2 训练参数)
        • [4.1.3 模型与评估](#4.1.3 模型与评估)
      • [4.2 仅权重量化结果](#4.2 仅权重量化结果)
        • [4.2.1 泛化性强](#4.2.1 泛化性强)
        • [4.2.2 低比特场景优势显著](#4.2.2 低比特场景优势显著)
        • [4.2.3 适配多种量化方式](#4.2.3 适配多种量化方式)
      • [4.3 权重-激活值联合量化结果](#4.3 权重-激活值联合量化结果)
        • [4.3.1 显著提升低比特性能](#4.3.1 显著提升低比特性能)
        • [4.3.2 超越QAT方法](#4.3.2 超越QAT方法)
        • [4.3.3 W6A6配置下保持高精度](#4.3.3 W6A6配置下保持高精度)
      • [4.4 指令微调模型的量化结果](#4.4 指令微调模型的量化结果)
        • [4.4.1 LLaMA-2-7B-chat](#4.4.1 LLaMA-2-7B-chat)
        • [4.4.2 LLaMA-2-13B-chat](#4.4.2 LLaMA-2-13B-chat)
      • [4.5 实际设备上的推理加速](#4.5 实际设备上的推理加速)
        • [4.5.1 显著降低内存占用](#4.5.1 显著降低内存占用)
        • [4.5.2 大幅提升推理速度](#4.5.2 大幅提升推理速度)
        • [4.5.3 硬件兼容性](#4.5.3 硬件兼容性)
    • [5 结论](#5 结论)
    • 致谢
    • 附录(节选)
      • [A1 OmniQuant算法伪代码](#A1 OmniQuant算法伪代码)
      • [A2 与现有等价变换方法的区别](#A2 与现有等价变换方法的区别)
      • [A3 消融实验(节选)](#A3 消融实验(节选))
        • [A3.1 LWC与LET的协同作用](#A3.1 LWC与LET的协同作用)
        • [A3.2 训练数据效率](#A3.2 训练数据效率)
      • [A4 LLaMA系列模型的训练时间](#A4 LLaMA系列模型的训练时间)
      • [A8 完整实验结果(节选)](#A8 完整实验结果(节选))
        • [A8.1 Falcon-180B的仅权重量化结果](#A8.1 Falcon-180B的仅权重量化结果)
    • 参考文献(节选)

摘要

大型语言模型(LLMs)彻底改变了自然语言处理任务,但巨大的内存与计算需求阻碍了其实际部署。尽管近年来的训练后量化(PTQ)方法在降低LLM内存占用、提升计算效率方面效果显著,但这些方法依赖人工设计量化参数,导致性能不佳,在极低比特量化场景下问题尤为突出。为解决这一问题,本文提出一种面向大型语言模型的全向校准量化技术(OmniQuant)。该技术通过高效优化各类量化参数,在多种量化设置下均能实现优异性能,同时保持训练后量化的计算效率。

OmniQuant包含两个创新组件:可学习权重裁剪(LWC)与可学习等价变换(LET)。其中,可学习权重裁剪通过优化裁剪阈值来调整权重极值;可学习等价变换则通过将量化难题从激活值转移到权重上,解决激活值异常值问题。OmniQuant基于块级误差最小化的可微框架运行,能够高效优化仅权重量化与权重-激活值联合量化过程。

例如,仅需128个样本,在单块A100-40G GPU上即可完成对LLaMA-2系列(70亿-700亿参数)模型的量化,耗时不超过116小时。大量实验验证了OmniQuant在多种量化配置(如W4A4(4比特权重、4比特激活值)、W6A6、W4A16、W3A16、W2A16)下的卓越性能。此外,OmniQuant在指令微调模型中同样有效,且在实际设备上能显著提升推理速度、减少内存占用。

代码开源地址:https://github.com/OpenGVLab/OmniQuant

1 引言

大型语言模型(如GPT-4(Bubeck等人,2023)、LLaMA(Touvron等人,2023a))在各类自然语言基准测试(Hendrycks等人,2020;Zellers等人,2019)中展现出惊人性能。此外,LLM固有的语言理解能力可成功迁移至多模态模型(Mu等人,2023;徐等人,2023;张等人,2023a;黄等人,2024;2023),因此LLM可被视为通用人工智能的重要前驱(Bubeck等人,2023)。

然而,LLM庞大的计算与内存需求带来了巨大挑战(张等人,2023b;胡等人,2023)。例如,GPT-3模型(Brown等人,2020)以FP16格式加载参数时需350G内存,这意味着推理至少需要5块A100-80G GPU。对计算资源的高额需求及随之而来的通信开销,阻碍了LLM在实际应用中的部署。

1.1 量化技术的现状与挑战

量化技术被证明是缓解LLM计算与内存开销的有效手段,主要分为两类:量化感知训练(QAT)与训练后量化(PTQ)。两种方法的对比与局限如下:

  • 量化感知训练(QAT):通过在训练过程中模拟量化效果,能实现更具竞争力的精度,但需对整个模型进行重新训练,训练成本极高,不适用于超大规模LLM。
  • 训练后量化(PTQ) :无需重新训练模型,效率更高,是现有LLM量化的主流选择。例如:
    • 部分PTQ方法(Frantar等人,2022;Lin等人,2023;Dettmers等人,2023b)通过仅权重量化(量化权重、保持激活值全精度)降低内存消耗;
    • 另一类PTQ方法(Xiao等人,2023;魏等人,2022;袁等人,2023)通过权重-激活值联合量化(将两者均量化为低比特)进一步减少计算开销,支持低比特矩阵乘法。

现有PTQ方法虽在W4A16(4比特权重、16比特激活值)、W8A8(8比特权重、8比特激活值)等配置下取得成果,但在W2A16、W4A4等极低比特场景下性能骤降(如图1(b)(c)所示)。核心原因在于这些方法依赖人工设计的量化参数(如迁移强度、缩放因子),无法适配复杂模型特性。

尽管QAT(如LLM-QAT(Liu等人,2023b))能优化量化参数,但资源消耗极高:例如,GPTQ(PTQ方法)量化LLaMA-13B仅需1小时、128个样本,而LLM-QAT需10万个样本、数百GPU小时。这引发核心问题:能否在保持PTQ时间与数据效率的同时,实现QAT级别的性能?

1.2 OmniQuant的核心设计

本文提出的OmniQuant技术有效解决了上述问题,其核心特性如下:

  1. 精度与效率兼顾:在多种量化场景(尤其是极低比特)下实现当前最优性能,同时保持PTQ的资源效率(如图1所示)。
  2. 轻量优化策略:冻结原始全精度权重,仅引入少量可学习量化参数,避免QAT的全局权重优化成本。
  3. 两大核心组件 (如图2所示):
    • 可学习权重裁剪(LWC):通过优化裁剪阈值,调整权重极值,降低权重量化难度;
    • 可学习等价变换(LET):在Transformer编码器中学习数学等价变换,将激活值量化的难题转移到权重上,解决激活值异常值问题。
  4. 块级优化框架:逐层量化Transformer块参数,基于块级误差最小化实现高效随机梯度下降(SGD)优化,且不引入额外计算或参数(裁剪阈值与等价因子可融合到量化权重中)。

1.3 OmniQuant的资源效率与性能优势

OmniQuant部署门槛低,即使资源有限也易于实现:

  • 以LLaMA-2系列(70亿-700亿参数)为例,单块A100-40G GPU、128个训练样本即可完成量化,训练时间仅1-16小时(随模型规模变化);
  • 性能优势显著:例如,LLaMA-13B量化为W2A16时,OmniQuant的困惑度仅13.21,而GPTQ的困惑度高达3832;W4A4量化场景下也呈现类似优势。

(a)W4A4量化整体情况 (b)仅权重量化 (c)权重-激活值量化

1.4 本文贡献

  1. 新型量化流程:提出OmniQuant框架,冻结全精度权重、引入少量可学习参数,在量化中融入梯度更新的同时保持PTQ效率;
  2. 核心组件创新:LWC与LET分别优化权重与激活值的量化兼容性,适配多种量化场景;
  3. 泛化性与实用性:在多种量化配置(W4A16、W3A16、W2A16、W6A6、W4A4)、模型系列(OPT、LLaMA、LLaMA-2、LLaMA-2-chat、Falcon)及规模(125M-180B)下均优于现有方法,且在实际设备上验证了加速与内存 reduction效果。

2 相关工作

2.1 量化方法分类

量化技术通过降低神经网络比特精度实现模型压缩与推理加速,主要分为两类:

方法类型 核心思路 优势 劣势
量化感知训练(QAT) 训练过程中模拟量化,优化量化参数 精度高,适配复杂场景 训练成本极高,需全量数据与长时间训练,不适用于LLM
训练后量化(PTQ) 训练完成后对模型参数进行量化,无需重新训练 效率高,资源需求低 依赖人工设计参数,低比特场景下性能受限

现有PTQ方法如AdaRound(Nagel等人,2020)、BRECQ(Li等人,2021)虽通过梯度优化确定舍入方式,但需调优全量权重,无法适配数十亿参数的LLM。因此,主流LLM量化方法(Xiao等人,2023;Frantar等人,2022)优先选择"无训练PTQ",但此类方法在低比特场景下性能不足。本文目标是在LLM量化中融入梯度更新(借鉴QAT),同时保留PTQ的效率。

2.2 大型语言模型的量化方向

根据量化对象不同,LLM量化可分为仅权重量化权重-激活值联合量化 两类:

2.2.1 仅权重量化

专注于将权重转换为低比特,核心方法与局限如下:

  • GPTQ(Frantar等人,2022):通过块级重构实现3/4比特量化,效率高但低比特性能有限;
  • SpQR(Dettmers等人,2023b)、OWQ(Lee等人,2023):强调高幅度激活值相关权重的重要性,采用混合精度量化保护关键权重,但硬件兼容性差;
  • AWQ(Lin等人,2023):通过通道级缩放避免混合精度的硬件低效,但依赖人工设计缩放参数;
  • Qlora(Dettmers等人,2023a)、INT2.1(Chee等人,2023):通过参数高效微调恢复量化模型性能,但未直接优化量化过程。

OmniQuant与上述方法互补,通过直接优化量化过程提升性能,而非依赖微调补偿损失。

2.2.2 权重-激活值联合量化

同时压缩权重与激活值,核心方法与局限如下:

  • SmoothQuant(Xiao等人,2023)、LLM.int8()(Dettmers等人,2022):通过通道级缩放或混合精度分解处理激活值异常值,实现W8A8量化,但低比特(如W4A4)性能不足;
  • 异常值抑制+(Outlier Suppression+)(魏等人,2023):引入通道级偏移实现W6A6量化,但依赖人工设计参数;
  • RPTQ(袁等人,2023):实现W4A4量化,但采用对部署不友好的分组激活值量化;
  • LLM-QAT(Liu等人,2023b):通过QAT实现W4A4量化,但训练成本极高。

OmniQuant的优势在于:通过对部署友好的逐token量化实现W4A4量化,同时保持PTQ效率,且通过梯度优化而非人工参数提升性能。

3 OmniQuant方法

3.1 LLM量化的核心挑战

LLM量化面临两大关键难题,现有方法难以有效解决:

  1. 激活值量化难度高:激活值存在通道特异性异常值,尽管权重分布平坦均匀,但SmoothQuant、异常值抑制+等方法依赖预定义迁移强度或网格搜索,无法找到最优参数;
  2. 权重量化误差影响大:与激活值相关的权重对模型性能至关重要,但SpQR、AWQ等方法依赖人工设计的裁剪/缩放参数,在极低比特场景下误差显著。

OmniQuant通过可微量化技术两大创新组件解决上述问题,核心是通过灵活学习量化参数,而非依赖人工设计。

3.2 块级量化误差最小化框架

为解决传统PTQ方法(如AdaRound、BRECQ)在超大规模模型上的优化难题,OmniQuant提出块级量化误差最小化框架,逐层优化Transformer块的量化参数,而非对全量模型进行优化。

3.2.1 优化目标

框架的优化目标定义为:
arg ⁡ min ⁡ Θ 1 , Θ 2 ∥ F ( W , X ) − F ( Q w ( W ; Θ 1 , Θ 2 ) , Q a ( X , Θ 2 ) ) ∥ ( 1 ) \arg \min_{\Theta_{1}, \Theta_{2}} \left\| \mathcal{F}(W, X) - \mathcal{F}\left(Q_{w}\left(W ; \Theta_{1}, \Theta_{2}\right), Q_{a}\left(X, \Theta_{2}\right)\right) \right\| \quad (1) argΘ1,Θ2min∥F(W,X)−F(Qw(W;Θ1,Θ2),Qa(X,Θ2))∥(1)

其中:

  • F \mathcal{F} F:LLM中Transformer块的映射函数;
  • W W W、 X X X:分别为全精度权重与激活值;
  • Q w ( ⋅ ) Q_{w}(\cdot) Qw(⋅)、 Q a ( ⋅ ) Q_{a}(\cdot) Qa(⋅):分别为权重量化器与激活值量化器;
  • Θ 1 \Theta_{1} Θ1:可学习权重裁剪(LWC)的量化参数(如裁剪强度);
  • Θ 2 \Theta_{2} Θ2:可学习等价变换(LET)的量化参数(如缩放、偏移因子)。
3.2.2 框架优势
  1. 多场景适配:可联合优化LWC与LET参数,同时支持仅权重量化与权重-激活值联合量化;
  2. 资源需求低:仅需优化少量量化参数,而非全量权重,单块A100-40G GPU、128个样本即可完成LLaMA-2系列模型量化。

3.3 可学习权重裁剪(LWC)

LWC模块通过优化裁剪强度而非直接优化裁剪阈值,降低权重量化难度,适配LLM的权重分布特性。

3.3.1 核心公式

LWC的量化过程公式如下:
W q = clamp ( ⌊ W h ⌉ + z , 0 , 2 N − 1 ) W_{q} = \text{clamp}\left(\lfloor \frac{W}{h} \rceil + z, 0, 2^{N} - 1\right) Wq=clamp(⌊hW⌉+z,0,2N−1)

其中:

  • h = γ ⋅ max ⁡ ( W ) − β ⋅ min ⁡ ( W ) 2 N − 1 h = \frac{\gamma \cdot \max(W) - \beta \cdot \min(W)}{2^{N} - 1} h=2N−1γ⋅max(W)−β⋅min(W)(权重归一化因子);
  • z = − ⌊ β ⋅ min ⁡ ( W ) h ⌉ z = -\left\lfloor \frac{\beta \cdot \min(W)}{h} \right\rceil z=−⌊hβ⋅min(W)⌉(零点值);
  • ⌊ ⋅ ⌉ \lfloor \cdot \rceil ⌊⋅⌉:舍入操作;
  • N N N:目标量化比特数;
  • γ ∈ [ 0 , 1 ] \gamma \in [0,1] γ∈[0,1]、 β ∈ [ 0 , 1 ] \beta \in [0,1] β∈[0,1]:可学习裁剪强度(分别控制权重上界与下界的裁剪比例,通过sigmoid函数实例化,确保取值在合理范围);
  • clamp \text{clamp} clamp:将量化后权重约束在 [ 0 , 2 N − 1 ] [0, 2^{N} - 1] [0,2N−1](N比特整数范围)。
3.3.2 关键特性
  1. 兼容性强 :当 γ = 1 \gamma=1 γ=1且 β = 1 \beta=1 β=1时,退化为传统MinMax量化,可无缝适配现有PTQ流程;
  2. 优化难度低 :仅需调整裁剪强度 γ \gamma γ、 β \beta β即可确定最优裁剪阈值,无需优化全量权重;
  3. 性能优势:通过最优阈值裁剪,权重极值被合理调整,量化误差显著降低(实验表明,LWC在仅权重量化场景下显著优于GPTQ、AWQ等方法,见表1)。

3.4 可学习等价变换(LET)

LET模块通过数学等价变换,将激活值量化的难题转移到权重上(权重可通过LWC进一步优化),解决激活值异常值问题。

3.4.1 核心思路

激活值异常值具有通道特异性,LET通过通道级缩放( s s s)通道级偏移( δ \delta δ) 调整激活值分布,同时保证变换前后模型输出等价(数学严谨性)。LET分别在线性层注意力操作中实现,覆盖LLM的核心计算模块。

3.4.2 线性层的等价变换

线性层的输入为 X ∈ R T × C i n X \in \mathbb{R}^{T \times C_{in}} X∈RT×Cin( T T T为token长度, C i n C_{in} Cin为输入通道数),输出为权重矩阵 W ∈ R C i n × C o u t W \in \mathbb{R}^{C_{in} \times C_{out}} W∈RCin×Cout与偏置 B ∈ R 1 × C o u t B \in \mathbb{R}^{1 \times C_{out}} B∈R1×Cout的乘积。LET的等价变换公式如下:
Y = X W + B = ( X − δ ) ⊘ s ⏟ X ^ ⋅ s ⊙ W ⏟ W ^ + B + δ W ⏟ B ^ ( 3 ) Y = XW + B = \underbrace{(X - \delta) \oslash s}{\hat{X}} \cdot \underbrace{s \odot W}{\hat{W}} + \underbrace{B + \delta W}_{\hat{B}} \quad (3) Y=XW+B=X^ (X−δ)⊘s⋅W^ s⊙W+B^ B+δW(3)

其中:

  • X ^ \hat{X} X^、 W ^ \hat{W} W^、 B ^ \hat{B} B^:分别为变换后的等价激活值、权重、偏置;
  • ⊘ \oslash ⊘、 ⊙ \odot ⊙:分别为元素级除法与乘法;
  • s s s、 δ \delta δ:通道级可学习参数(分别控制缩放与偏移,通过块级误差最小化优化)。

量化过程 :对变换后的 X ^ \hat{X} X^(激活值)与 W ^ \hat{W} W^(权重)进行量化,公式如下:
Y = Q a ( X ^ ) Q w ( W ^ ) + B ^ ( 4 ) Y = Q_{a}(\hat{X}) Q_{w}(\hat{W}) + \hat{B} \quad (4) Y=Qa(X^)Qw(W^)+B^(4)

其中, Q a Q_{a} Qa为标准MinMax量化器, Q w Q_{w} Qw为融合LWC的MinMax量化器(确保权重适配量化)。

关键特性 :变换参数( s s s、 δ \delta δ)可融入前序归一化层或线性层,不引入额外计算或参数;仅排除FFN的第二个线性层(因非线性层后特征稀疏度高,易导致梯度不稳定)。

3.4.3 注意力操作的等价变换

注意力操作占LLM计算量的重要比例,且自回归特性需存储KV缓存(长序列场景内存需求高)。LET通过等价变换优化Q/K矩阵的量化,公式如下:
P = Softmax ( Q K T ) = Softmax ( Q ⊘ s a ⏟ Q ^ ⋅ s a ⊙ K T ⏟ K ^ T ) ( 5 ) P = \text{Softmax}(QK^{T}) = \text{Softmax}\left( \underbrace{Q \oslash s_{a}}{\hat{Q}} \cdot \underbrace{s{a} \odot K^{T}}_{\hat{K}^{T}} \right) \quad (5) P=Softmax(QKT)=Softmax Q^ Q⊘sa⋅K^T sa⊙KT (5)

其中:

  • s a ∈ R 1 × C o u t s_{a} \in \mathbb{R}^{1 \times C_{out}} sa∈R1×Cout:注意力亲和矩阵的可学习缩放因子;
  • Q ^ \hat{Q} Q^、 K ^ T \hat{K}^{T} K^T:变换后的等价Q矩阵与K矩阵转置。

量化过程 :对 Q ^ \hat{Q} Q^、 K ^ T \hat{K}^{T} K^T采用MinMax量化,公式如下:
P = Softmax ( Q a ( Q ^ ) Q a ( K ^ T ) ) P = \text{Softmax}(Q_{a}(\hat{Q}) Q_{a}(\hat{K}^{T})) P=Softmax(Qa(Q^)Qa(K^T))

关键特性 : s a s_{a} sa可融入查询/键投影的线性权重;无需对V矩阵显式变换(其分布已通过输出投影层的逆变换调整)。

4 实验

4.1 实验设置

4.1.1 量化配置
量化类型 默认设置 说明
仅权重量化 INT4/INT3/INT2 通道级量化;分组量化用"g"标识(如W3A16g128表示128分组的3比特仅权重量化) 仅量化权重,激活值保持全精度
权重-激活值联合量化 INT6/INT4 通道级权重量化 + 逐token激活值量化 所有中间激活值量化为低比特,SoftMax输出因长尾分布保持全精度
4.1.2 训练参数
  • 参数初始化:通道级缩放因子用SmoothQuant初始化,偏移因子用异常值抑制+初始化;
  • 优化器:AdamW(权重衰减=0);
  • 学习率:LWC为5e-3,LET为1e-2;
  • 校准数据:128个随机选取的2048-token WikiText2片段(Merity等人,2016);
  • 训练环境:单块NVIDIA A100 GPU,批大小=1,训练轮次=20(W2A16量化为40轮);
  • 组件启用规则:权重-激活值量化启用LWC+LET;仅权重量化中,OPT启用LWC+LET,LLaMA仅启用LWC(LET对LLaMA提升微弱,见表A3)。
4.1.3 模型与评估
  • 测试模型:OPT(125M-66B)、LLaMA(7B-65B)、LLaMA-2(7B-70B)、Falcon-180B、指令微调模型LLaMA-2-chat(验证泛化性);
  • 评估指标
    • 语言生成:WikiText2(Merity等人,2016)、PTB(Marcus等人,1994)、C4(Raffel等人,2020)数据集的困惑度(Perplexity,越低越好);
    • 零样本任务:PIQA(Bisk等人,2020)、ARC(Clark等人,2018)、BoolQ(Clark等人,2019)、HellaSwag(Clark等人,2018)的准确率(越高越好);
  • 基线方法
    • 仅权重量化:RTN(标准舍入量化)、GPTQ、AWQ;
    • 权重-激活值量化:SmoothQuant、异常值抑制+(OS+)、RPTQ、LLM-QAT(QAT方法)。

4.2 仅权重量化结果

LLaMA系列模型的仅权重量化结果见表1(WikiText2困惑度),OPT模型结果见附录A8。核心结论如下:

4.2.1 泛化性强

OmniQuant在多种量化配置(W2A16、W2A16g128、W2A16g64、W3A16、W3A16g128、W4A16、W4A16g128)与模型系列(OPT、LLaMA-1、LLaMA-2)下均持续优于基线方法。例如:

  • W2A16配置下,LLaMA-1-13B的OmniQuant困惑度为13.21,而GPTQ为55.91、AWQ为2.8e5;
  • W3A16g128配置下,LLaMA-2-70B的OmniQuant困惑度为3.78,而GPTQ为3.85、AWQ为-(未报告)。
4.2.2 低比特场景优势显著

量化比特数越低,OmniQuant的性能优势越明显。例如:

  • W2A16(2比特权重)配置下,LLaMA-1-7B的OmniQuant困惑度为15.47,而GPTQ为2.1e3、RTN为1.1e5;
  • W3A16(3比特权重)配置下,LLaMA-1-30B的OmniQuant困惑度为4.74,而GPTQ为5.84、AWQ为10.07。
4.2.3 适配多种量化方式

AWQ在分组量化中表现较好,但OmniQuant在通道级与分组量化中均优于基线。例如:

  • W2A16g64(64分组)配置下,LLaMA-1-13B的OmniQuant困惑度为7.34,而GPTQ为10.06、AWQ为2.7e5;
  • W4A16g128(128分组)配置下,LLaMA-2-13B的OmniQuant困惑度为4.95,而GPTQ为4.98、AWQ为4.97。

表1:LLaMA-1与LLaMA-2模型仅权重量化结果(WikiText2困惑度,越低越好)

(注:C4数据集困惑度见附录表A19)

LLaMA1&2 / 困惑度(↓) 配置 方法 1-7B(FP16:5.68) 1-13B(FP16:5.09) 1-30B(FP16:4.10) 1-65B(FP16:3.53) 2-7B(FP16:5.47) 2-13B(FP16:4.88) 2-70B(FP16:3.31)
W2A16 RTN 1.1e5 6.8e4 2.4e4 2.2e4 3.8e4 5.6e4 2.0e4
GPTQ 2.1e3 5.5e3 499.75 55.91 2.1e3 - 77.95
OmniQuant 15.47 13.21 8.71 7.58 37.37 17.21 7.81
W2A16 g128 RTN 1.9e3 781.20 68.04 15.08 4.2e3 122.08 27.27
GPTQ 44.01 15.60 10.92 9.51 36.77 28.14 NAN
AWQ 2.6e5 2.8e5 2.4e5 7.4e4 2.2e5 1.2e5 -
OmniQuant 9.72 7.93 7.12 5.95 11.06 8.26 6.55
W2A16 g64 RTN 188.32 101.87 19.20 9.39 431.97 26.22 10.31
GPTQ 22.10 10.06 8.54 8.31 20.85 22.44 NAN
AWQ 2.5e5 2.7e5 2.3e5 7.4e4 2.1e5 1.2e5 -
OmniQuant 8.90 7.34 6.59 5.65 9.62 7.56 6.11
W3A16 RTN 25.73 11.39 14.95 10.68 539.48 10.68 7.52
GPTQ 8.06 6.76 5.84 5.06 8.37 6.44 4.82
AWQ 11.88 7.45 10.07 5.21 24.00 10.45 -
OmniQuant 6.49 5.68 4.74 4.04 6.58 5.58 3.92
W3A16 g128 RTN 7.01 5.88 4.87 4.24 6.66 5.51 3.97
GPTQ 6.55 5.62 4.80 4.17 6.29 5.42 3.85
AWQ 6.46 5.51 4.63 3.99 6.24 5.32 -
OmniQuant 6.15 5.44 4.56 3.94 6.03 5.28 3.78
W4A16 RTN 6.43 5.55 4.57 3.87 6.11 5.20 3.67
GPTQ 6.13 5.40 4.48 3.83 5.83 5.13 3.58
AWQ 6.08 5.34 4.39 3.76 6.15 5.12 -
OmniQuant 5.86 5.21 4.25 3.71 5.74 5.02 3.47
W4A16 g128 RTN 5.96 5.25 4.23 3.67 5.72 4.98 3.46
GPTQ 5.85 5.20 4.23 3.65 5.61 4.98 3.42
AWQ 5.81 5.20 4.21 3.62 5.62 4.97 -
OmniQuant 5.77 5.17 4.19 3.62 5.58 4.95 3.40

4.3 权重-激活值联合量化结果

实验重点关注W6A6(6比特权重、6比特激活值)与W4A4(4比特权重、4比特激活值)配置(W8A8配置下SmoothQuant已接近无损,无需对比)。LLaMA系列模型的零样本任务准确率结果见表2,困惑度结果见附录A23、A24,OPT模型结果见附录A25。核心结论如下:

4.3.1 显著提升低比特性能

W4A4(极低比特)配置下,OmniQuant的平均准确率比基线方法提升4.99%-11.80%。例如:

  • LLaMA-1-7B:OmniQuant平均准确率为52.65%,而SmoothQuant为38.41%、LLM-QAT+SQ为46.43%、OS+为48.43%;
  • LLaMA-1-65B:OmniQuant平均准确率为59.22%,而SmoothQuant为47.71%、OS+为52.52%。
4.3.2 超越QAT方法

在LLaMA-1-7B的W4A4配置下,OmniQuant的平均准确率(52.65%)比LLM-QAT(QAT方法,41.27%)高11.38%,比LLM-QAT+SQ(46.43%)高6.22%,证明"少量可学习量化参数+PTQ效率"的策略优于"全量权重优化+QAT高成本"。

4.3.3 W6A6配置下保持高精度

W6A6(中比特)配置下,OmniQuant的性能接近全精度模型,且优于基线方法。例如:

  • LLaMA-1-30B:OmniQuant平均准确率为67.23%,仅比全精度模型(67.44%)低0.21%,而SmoothQuant为65.20%、OS+为67.01%;
  • LLaMA-1-65B:OmniQuant平均准确率为70.28%,比全精度模型(71.04%)低0.76%,而SmoothQuant为69.80%、OS+为68.76%。

表2:LLaMA模型权重-激活值联合量化结果(6个零样本任务准确率,越高越好)

(注:困惑度结果见附录表A23、A24)

LLaMA / 准确率(↑) 比特数 方法 PIQA ARC-e ARC-c BoolQ HellaSwag Winogrande 平均值
LLaMA-1-7B FP16 - 77.47 52.48 41.46 73.08 73.00 67.07 64.09
W6A6 SmoothQuant 76.75 51.64 39.88 71.75 71.67 65.03 62.81
W6A6 OS+ 76.82 51.35 41.13 72.08 71.42 65.98 61.13
W6A6 OmniQuant 77.09 51.89 40.87 72.53 71.61 65.03 63.17
W4A4 SmoothQuant 49.80 30.40 25.80 49.10 27.40 48.00 38.41
W4A4 LLM-QAT 51.50 27.90 23.90 61.30 31.10 51.90 41.27
W4A4 LLM-QAT+SQ 55.90 35.50 26.40 62.40 47.80 50.60 46.43
W4A4 OS+ 62.73 39.98 30.29 60.21 44.39 52.96 48.43
W4A4 OmniQuant 66.15 45.20 31.14 63.51 56.44 53.43 52.65
LLaMA-1-13B FP16 - 79.10 59.89 44.45 68.01 76.21 70.31 66.33
W6A6 SmoothQuant 77.91 56.60 42.40 64.95 75.36 69.36 64.43
W6A6 OS+ 78.29 56.90 43.09 66.98 75.09 69.22 64.92
W6A6 OmniQuant 78.40 57.28 42.91 67.00 75.82 68.27 64.95
W4A4 SmoothQuant 61.04 39.18 30.80 61.80 52.29 51.06 49.36
W4A4 OS+ 63.00 40.32 30.38 60.34 53.61 51.54 49.86
W4A4 OmniQuant 69.69 47.39 33.10 62.84 58.96 55.80 54.37
LLaMA-1-30B FP16 - 80.08 58.92 45.47 68.44 79.21 72.53 67.44
W6A6 SmoothQuant 77.14 57.61 42.91 65.56 78.07 69.92 65.20
W6A6 OS+ 80.14 58.92 45.05 68.02 77.96 71.98 67.01
W6A6 OmniQuant 79.81 58.79 45.22 68.38 78.95 72.21 67.23
W4A4 SmoothQuant 58.65 35.53 27.73 60.42 35.56 48.06 44.83
W4A4 OS+ 67.63 46.17 34.40 60.70 54.32 52.64 52.62
W4A4 OmniQuant 71.21 49.45 34.47 65.33 64.65 59.19 56.63
LLaMA-1-65B FP16 - 80.79 58.71 46.24 82.29 80.72 77.50 71.04
W6A6 SmoothQuant 80.25 57.92 45.50 80.22 80.18 74.76 69.80
W6A6 OS+ 79.67 55.68 45.22 80.02 78.03 73.95 68.76
W6A6 OmniQuant 81.01 58.12 46.33 80.64 79.91 75.69 70.28
W4A4 SmoothQuant 64.47 40.44 29.82 59.38 39.90 52.24 47.71
W4A4 OS+ 68.06 43.98 35.32 62.75 50.73 54.30 52.52
W4A4 OmniQuant 71.81 48.02 35.92 73.27 66.81 59.51 59.22

4.4 指令微调模型的量化结果

为验证OmniQuant的泛化性,实验在指令微调模型LLaMA-2-chat上进行,采用GPT-4评估协议(Chiang等人,2023),在包含80个问题的Vicuna基准(Chiang等人,2023)上测试,每个对比对进行160次试验(消除位置偏差)。结果如图4所示,核心结论如下:

4.4.1 LLaMA-2-7B-chat
  • OmniQuant与AWQ对RTN的胜率分别为80.3%与69.4%,OmniQuant显著优于RTN;
  • OmniQuant与AWQ的胜率为50%,两者性能相当,但OmniQuant资源效率更高。
4.4.2 LLaMA-2-13B-chat
  • AWQ对RTN的胜率仅46.6%(性能倒退),而OmniQuant对RTN的胜率为56.2%、对AWQ的胜率为54.4%,持续提升量化模型性能。

4.5 实际设备上的推理加速

实验基于MLC-LLM(https://github.com/mlc-ai/mlc-llm)部署,验证OmniQuant在NVIDIA A100-80G GPU上的内存占用与推理速度(生成512个token的耗时)。结果见表3,核心结论如下:

4.5.1 显著降低内存占用

量化模型的权重内存(WM)与运行内存(RM)均远低于FP16全精度模型。例如:

  • LLaMA-2-70B:W4A16g128配置的WM为33.0G、RM为41.0G,而FP16的WM为60.6G、RM为66.1G(内存占用降低约40%);
  • LLaMA-2-7B:W2A16g128配置的WM为2.2G、RM为4.1G,而FP16的WM为12.6G、RM为14.4G(内存占用降低约70%)。
4.5.2 大幅提升推理速度

低比特量化模型的推理速度接近FP16模型的2倍。例如:

  • LLaMA-2-7B:W4A16g128配置的推理速度为134.2 token/s,而FP16为69.2 token/s(提速约94%);
  • LLaMA-2-13B:W2A16g128配置的推理速度为92.6 token/s,而FP16为52.5 token/s(提速约76%)。
4.5.3 硬件兼容性

OmniQuant不引入额外操作,可无缝适配MLC-LLM;但当前MLC-LLM对INT3/INT2的支持尚不完善(尤其是INT3),未来将优化低比特推理速度。

表3:基于MLC-LLM的仅权重量化部署结果(NVIDIA A100-80G,WM=权重内存,RM=运行内存,token/s=推理速度)

LLaMA 配置 7B - WM 7B - RM 7B - token/s 13B - WM 13B - RM 13B - token/s 30B - WM 30B - RM 30B - token/s 65B - WM 65B - RM 65B - token/s
FP16 - 12.6G 14.4G 69.2 24.3G 27.1G 52.5 60.6G 66.1G 23.9 - OOM -
W4A16g128 - 3.8G 5.7G 134.2 7.0G 10.0G 91.3 16.7G 21.7G 43.6 33.0G 41.0G 24.3
W3A16g128 - 3.2G 5.1G 83.4 5.8G 8.7G 57.6 13.7G 18.7G 29.0 27.0G 35.1G 15.2
W2A16g128 - 2.2G 4.1G 83.9 4.0G 7.5G 92.6 9.2G 14.1G 36.7 18.0G 25.6G 24.8

5 结论

本文提出OmniQuant技术,推动仅权重量化与权重-激活值联合量化向低比特格式发展,核心贡献与优势总结如下:

  1. 核心原则:冻结原始全精度权重,引入少量可学习量化参数,在量化中融入梯度更新的同时保持PTQ的时间与数据效率;
  2. 创新组件
    • 可学习权重裁剪(LWC):通过优化裁剪强度调整权重极值,降低权重量化难度;
    • 可学习等价变换(LET):通过数学等价变换将激活值量化难题转移到权重上,解决激活值异常值问题;
  3. 性能优势:在多种量化配置、模型系列与规模下均优于现有方法,尤其在极低比特(W2A16、W4A4)场景下优势显著;
  4. 实用性强:适配指令微调模型,且在实际设备上显著降低内存占用、提升推理速度,硬件兼容性好(可学习参数可融合到量化权重中,无额外开销)。

未来工作将进一步优化INT3/INT2量化的硬件支持,提升极低比特场景的推理速度。

致谢

本研究部分受中国国家重点研发计划(项目编号:2022ZD0161000)与香港研究资助局通用研究基金(项目编号:17200622)支持。感谢商汤科技的刘文涛博士提供LLM部署相关的宝贵建议,感谢Apache TVM的冯思源博士协助在MLC-LLM项目中部署OmniQuant。

附录(节选)

A1 OmniQuant算法伪代码

OmniQuant的完整训练算法通过块级校准实现,包含三个核心步骤:可学习参数初始化、参数训练、模型变换与量化。伪代码如下:

算法1:OmniQuant整体算法

复制代码
输入:校准数据集X、预训练LLM模型M
输出:量化后的模型

1: Xfp = Xq = X  # 初始化全精度与量化模型的输入
2: for Bi in M do:  # 块级校准(逐Transformer块处理)
3:    Xfp = Bi(Xfp)  # 更新全精度模型的输入
4:    初始化可学习权重裁剪参数Θ1
5:    初始化可学习等价变换参数Θ2
6:    for k in 训练轮次 do:  # 训练可学习参数
7:        for (xq, xfp) in (Xq, Xfp) do:
8:            B'i = 基于LWC的量化(Bi, Θ1)  # 公式(2)
9:            B'i = 基于LET的变换(B'i, Θ2)  # 公式(3)(5)
10:           x'q = B'i(xq)  # 量化模型的输出
11:           loss = ||xfp - x'q||²  # 块级误差(公式(1))
12:           loss.backward()  # 反向传播计算梯度
13:        end for
14:        通过梯度更新Θ1与Θ2  # SGD优化
15:    end for
16:    Bi = 基于LET的变换(Bi, Θ2)  # 应用学到的等价变换
17:    Bi = 基于LWC的量化(Bi, Θ1)  # 量化当前块
18:    Xq = Bi(Xq)  # 更新量化模型的输入
19: end for
20: return 量化后的模型M

A2 与现有等价变换方法的区别

OmniQuant的LET与SmoothQuant、AWQ、异常值抑制+(OS+)的核心区别见表A1,主要优势在于:

  1. 操作更全面:同时支持通道级缩放与偏移,而SmoothQuant、AWQ仅支持缩放;
  2. 覆盖范围广:同时优化线性层与注意力操作,而现有方法仅覆盖线性层;
  3. 参数优化优:通过梯度优化确定等价参数,而现有方法依赖预定义或网格搜索;
  4. 场景适配多:同时支持仅权重量化与权重-激活值联合量化,而现有方法仅适配单一场景。

表A1:现有等价变换方法的区别对比

方法 等价变换操作 变换位置 参数获取方式 适用场景
SmoothQuant 通道级缩放 线性层 预定义迁移强度 权重-激活值联合量化
AWQ 通道级缩放 线性层 网格搜索 仅权重量化
OS+ 通道级缩放+偏移 线性层 缩放(网格搜索)、偏移(预定义) 权重-激活值联合量化
OmniQuant 通道级缩放+偏移 线性层+注意力 梯度优化 仅权重量化+权重-激活值联合量化

A3 消融实验(节选)

A3.1 LWC与LET的协同作用

实验验证LWC与LET的组合效果,结果见表A2。核心结论:

  • LET与LWC联合训练的性能最优(平均困惑度12.87、平均准确率52.65%),显著优于其他组合(如LET+网格搜索裁剪、SmoothQuant+LWC);
  • 协同作用源于LET将激活值量化难题转移到权重,LWC进一步优化权重适配量化,形成"迁移-优化"的闭环。

表A2:等价变换与权重裁剪的组合效果(LLaMA-7B W4A4配置)

方法 平均困惑度(↓) 平均准确率(↑)
SmoothQuant 28.78 38.41%
LET 16.97 48.83%
LET + 网格搜索裁剪 15.82 49.59%
SmoothQuant + LWC 15.80 50.15%
LET + LWC(OmniQuant) 12.87 52.65%
A3.2 训练数据效率

实验验证校准样本数量对OmniQuant性能的影响,结果见表A11。核心结论:

  • OmniQuant在仅16个样本时即可收敛(LLaMA-7B W3A16配置的WikiText2困惑度为6.47,与128个样本的6.47一致);
  • 128个样本为最优选择,与现有方法(GPTQ、AWQ)保持一致,兼顾性能与效率。

表A11:校准样本数量的消融实验(LLaMA-7B)

样本数量 W3A16 - WikiText2困惑度 W3A16 - C4困惑度 W4A4 - WikiText2困惑度 W4A4 - C4困惑度
16 6.47 8.18 11.56 14.84
32 6.47 8.18 11.48 14.80
64 6.48 8.19 11.40 14.57
128 6.47 8.19 11.23 14.61
256 6.46 8.19 11.41 14.90

A4 LLaMA系列模型的训练时间

实验在单块NVIDIA A100-80G GPU上进行,校准数据为128个2048-token WikiText2片段,训练轮次20轮,结果见表A12。核心结论:

  • 训练时间随模型规模增长而增加,但均在合理范围(7B为1.1-1.6小时,70B为8.9-14.4小时);
  • 权重-激活值量化的训练时间略长于仅权重量化(需同时优化LWC与LET),但仍远低于QAT方法(数百GPU小时)。

表A12:OmniQuant在LLaMA系列模型上的训练时间

LLaMA 7B 13B 30B 65B
仅权重量化 1.1小时 2.2小时 4.5小时 8.9小时
权重-激活值量化 1.6小时 3.3小时 7.3小时 14.4小时

A8 完整实验结果(节选)

A8.1 Falcon-180B的仅权重量化结果

Falcon-180B是超大规模LLM,实验验证OmniQuant在该模型上的性能,结果见表A18。核心结论:

  • W3A16g512配置下,OmniQuant的WikiText2困惑度为3.71(接近FP16的3.29),而RTN为5.33;
  • 零样本任务准确率方面,OmniQuant的平均准确率为79.40%,仅比FP16(80.58%)低1.18%,而RTN为77.97%。

表A18:Falcon-180B仅权重量化结果(W3A16g512配置)

方法 比特数配置 内存占用 部署设备 WikiText2困惑度 PTB困惑度 C4困惑度 PIQA准确率 ARC-e准确率 ARC-c准确率 BoolQ准确率 HellaSwag准确率 Winogrande准确率 平均准确率
FP16 BF16/FP16 335GB 5×A100-80G 3.29 6.64 6.31 84.82% 84.20% 60.83% 86.85% 85.91% 80.58% 80.58%
RTN W3A16g512 65GB 1×A100-80G 5.33 8.08 8.34 83.48% 80.85% 55.46% 78.37% 81.05% 77.97% 77.97%
OmniQuant W3A16g512 65GB 1×A100-80G 3.71 6.95 6.71 84.71% 82.91% 60.92% 84.03% 84.96% 79.40% 79.40%

参考文献(节选)

  • Bubeck, S., Chandrasekaran, V., Eldan, R., et al. (2023). Sparks of artificial general intelligence: Early experiments with GPT-4. arXiv preprint arXiv:2303.12712.
  • Brown, T., Mann, B., Ryder, N., et al. (2020). Language models are few-shot learners. Advances in Neural Information Processing Systems, 33, 1877--1901.
  • Frantar, E., Ashkboos, S., Hoefler, T., & Alistarh, D. (2022). GPTQ: Accurate post-training quantization for generative pre-trained transformers. arXiv preprint arXiv:2210.17323.
  • Lin, J., Tang, J., Tang, H., et al. (2023). AWQ: Activation-aware weight quantization for LLM compression and acceleration. arXiv preprint arXiv:2306.0098.
  • Xiao, G., Lin, J., Seznec, M., et al. (2023). SmoothQuant: Accurate and efficient post-training quantization for large language models. In International Conference on Machine Learning (pp. 38087--38099). PMLR.
  • Touvron, H., Lavril, T., Izacard, G., et al. (2023a). LLaMA: Open and efficient foundation language models. arXiv preprint arXiv:2302.13971.
  • Touvron, H., Martin, L., Stone, K., et al. (2023b). LLaMA 2: Open foundation and fine-tuned chat models. arXiv preprint arXiv:2307.09288.
相关推荐
阿_旭8 小时前
YOLO与SAM实战:目标检测与图像分割的高效融合方案
人工智能·yolo·目标检测·sam
CodeLinghu8 小时前
「 LLM实战 - 企业 」企业级LangGraph实战项目搭建
人工智能·llm
jackylzh8 小时前
PyCharm中测试、训练YOLO方法
人工智能·yolo·计算机视觉
说私域8 小时前
开源活动报名AI智能客服AI智能名片预约服务小程序在精神服务中的应用场景研究
人工智能·小程序
sandwu8 小时前
AI自动化测试(二)—— Playwright-MCP搭建自动化UI测试(browser-use&midscene对比)
人工智能·ui·自动化·playwright
DeepVis Research8 小时前
【Autonomous Driving/Sim】2026年度自动驾驶极端场景与车辆动力学仿真基准索引 (Benchmark Index)
人工智能·物联网·机器学习·自动驾驶·数据集
xixixi777778 小时前
SoC芯片本质——“系统级集成”
人工智能·机器学习·架构·pc·soc·集成·芯片
lisw059 小时前
工程软件化概述!
人工智能·科技·机器学习
咕咚-萌西9 小时前
Agent和workflow
人工智能