AiPaper
论文状态:已完成

OstQuant: Refining Large Language Model Quantization with Orthogonal and Scaling Transformations for Better Distribution Fitting

发表:2025/01/23
原文链接PDF 下载
价格:0.10
价格:0.10
已有 2 人读过
本分析由 AI 生成,可能不完全准确,请以原文为准。

TL;DR 精炼摘要

本文提出了一种名为OSTQuant的新方法,通过正交和缩放变换优化大型语言模型的量化,旨在解决数据分布不均和重尾问题。引入的量化空间利用率(QSUR)有效评估数据的可量化性,并采用KL-Top损失函数提高量化精度,测试结果显示该方法在保持高精度的同时显著优于现有技术。

摘要

Post-training quantization (PTQ) has emerged as a widely adopted technique for compressing and accelerating Large Language Models (LLMs). The major challenge in LLM quantization is that uneven and heavy-tailed data distributions can expand the quantization range, thereby reducing bit precision for most values. Recent methods attempt to eliminate outliers and balance inter-channel differences by employing linear transformations; however, they remain heuristic and are often overlook optimizing the data distribution across the entire quantization space.In this paper, we introduce Quantization Space Utilization Rate (QSUR), a novel metric that effectively assesses the quantizability of transformed data by measuring the space utilization of the data in the quantization space. We complement QSUR with mathematical derivations that examine the effects and limitations of various transformations, guiding our development of Orthogonal and Scaling Transformation-based Quantization (OSTQuant). OSQuant employs a learnable equivalent transformation, consisting of an orthogonal transformation and a scaling transformation, to optimize the distributions of weights and activations across the entire quantization space. Futhermore, we propose the KL-Top loss function, designed to mitigate noise during optimization while retaining richer semantic information within the limited calibration data imposed by PTQ. OSTQuant outperforms existing work on various LLMs and benchmarks. In the W4-only setting, it retains 99.5% of the floating-point accuracy. In the more challenging W4A4KV4 configuration, OSTQuant reduces the performance gap by 32% on the LLaMA-3-8B model compared to state-of-the-art methods. \href{https://github.com/BrotherHappy/OSTQuant}{https://github.com/BrotherHappy/OSTQuant}.

思维导图

论文精读

中文精读

1. 论文基本信息

1.1. 标题

OstQuant: Refining Large Language Model Quantization with Orthogonal and Scaling Transformations for Better Distribution Fitting (OstQuant:通过正交和缩放变换优化大语言模型量化以实现更好的分布拟合)

1.2. 作者

Xing Hu, Yuan Cheng, Dawei Yang, Zukang Xu, Zhihang Yuan, Jiangyong Yu, Chen Xu, Zhixuan Chen, Zhe Jiang, Sifan Zhou。 主要作者来自 Houmo AI、南京大学和东南大学。

1.3. 发表期刊/会议

该论文发布在 arXiv 预印本平台,发布时间为 2025 年 1 月 23 日。作为预印本,其正式发表状态(期刊或会议)暂未明确,但通常预印本会在后续提交至顶级会议或期刊进行同行评审和正式发表。arXiv 在学术界,特别是计算机科学领域,是研究者分享最新研究成果的重要平台。

1.4. 发表年份

2025年

1.5. 摘要

训练后量化 (Post-training Quantization, PTQ) 已成为压缩和加速大语言模型 (Large Language Models, LLMs) 的广泛采用技术。LLM 量化面临的主要挑战是,不均匀和重尾的数据分布会扩大模型值的量化范围,从而降低大多数值的比特精度。最近的方法尝试通过采用线性变换来消除异常值并平衡通道间差异;然而,这些方法仍然是启发式的,并且常常忽视优化整个量化空间的数据分布。

本文引入了量化空间利用率 (Quantization Space Utilization Rate, QSUR) 这一新颖指标,通过测量数据在量化空间中的空间利用率来有效评估变换后数据的可量化性。我们通过数学推导补充了 QSUR,研究了各种变换的效果和局限性,从而指导我们开发了基于正交和缩放变换的量化方法 (Orthogonal and Scaling Transformation-based Quantization, OSTQuant)。OSTQuant 采用可学习的等价变换,由一个正交变换和一个缩放变换组成,以优化整个量化空间中权重和激活的分布。此外,我们提出了 KL-Top 损失函数,旨在在优化过程中减轻噪声,同时在 PTQ 施加的有限校准数据中保留更丰富的语义信息。OSTQuant 在各种 LLM 和基准测试上均优于现有工作。在仅权重 4 比特 (W4-only) 设置下,它保留了 99.5% 的浮点精度。在更具挑战性的权重 4 比特、激活 4 比特、键值缓存 4 比特 (W4A4KV4) 配置中,与最先进 (state-of-the-art, SOTA) 的方法相比,OSTQuant 在 LLaMA-3-8B 模型上的性能差距减少了 32%。

1.6. 原文链接

原文链接: https://arxiv.org/abs/2501.13987v1 PDF 链接: https://arxiv.org/pdf/2501.13987v1.pdf 发布状态:预印本 (Pre-print)

2. 整体概括

2.1. 研究背景与动机

大语言模型 (Large Language Models, LLMs) 在各种任务中展现出卓越的性能,但其庞大的内存和计算需求带来了显著的部署挑战,尤其是在资源受限的边缘设备和高性能的云服务器上。为了缓解这些挑战,训练后量化 (Post-training Quantization, PTQ) 已成为一种广泛采用的压缩和加速技术。

核心问题与挑战: LLM 量化的主要挑战在于数据分布的不均匀性和重尾特性。如图 1(a) 所示,这种分布会导致量化范围扩大,进而降低了大多数值的比特精度,引入大量量化误差,严重影响模型性能。

现有研究的不足: 近期研究(如 SmoothQuantQuaRot 等)尝试通过线性变换来处理这些问题,例如通过重新分配激活的量化难度到权重,或使用旋转技术抑制异常值。然而,这些方法通常是启发式的,并且未能全面优化整个量化空间的数据分布。它们的效果往往局限于量化空间的特定区域,导致量化空间利用率较低。

本文的切入点与创新思路: 为了解决现有方法的局限性,本文提出了一个更有效的量化评估指标:量化空间利用率 (Quantization Space Utilization Rate, QSUR)。QSUR 定量评估了数据分布在量化空间中的有效性。在此基础上,论文通过数学推导深入分析了线性变换对 QSUR 的影响和局限性,指导了 基于正交和缩放变换的量化 (Orthogonal and Scaling Transformation-based Quantization, OSTQuant) 方法的开发。OSTQuant 通过学习正交和缩放变换的组合,来全局优化整个量化空间中权重和激活的分布,从而提高 QSUR 和量化性能。此外,针对 PTQ 通常使用小规模校准数据集的特点,论文还提出了 KL-Top 损失函数,以在有限数据下更稳健地优化模型。

2.2. 核心贡献/主要发现

本文的主要贡献体现在以下几个方面:

  • 提出新颖的量化评估指标 QSUR: 首次提出了 Quantization Space Utilization Rate (QSUR) 这一概念,用于定量评估转换后数据的可量化性。该指标通过测量数据在量化空间中的利用率,为量化优化提供了理论指导。同时,通过数学推导深入分析了各种变换对 QSUR 的影响和局限性。
  • 开发 OSTQuant 方法: 提出 Orthogonal and Scaling Transformation-based Quantization (OSTQuant),这是一种快速有效的 PTQ 方法。它通过在 LLM 中全局优化多个由可学习的缩放变换和正交变换组成的等价变换对,来提高 QSUR 和量化性能。这些变换在运行时可以融合到模型权重中,不引入额外计算开销。
  • 引入 KL-Top 损失函数: 针对 PTQ 中有限校准数据带来的挑战,提出了 KL-Top loss 函数。该损失函数通过关注全精度模型预测的 Top k 高概率词元 (token),在优化过程中减轻噪声,同时保留更丰富的语义信息,有效避免了小数据集上的过拟合问题。
  • 卓越的实验性能: OSTQuant 在各种 LLM 和基准测试上均超越了现有方法。
    • 在仅权重 4 比特 (W4-only) 配置下,它能保持超过 99.5% 的浮点精度。
    • 在更具挑战性的权重 4 比特、激活 4 比特、键值缓存 4 比特 (W4A4KV4) 配置中,与最先进 (state-of-the-art, SOTA) 方法相比,OSTQuant 在 LLaMA-3-8B 模型上的性能差距减少了 32%。
    • 优化速度快,例如在 A800 GPU 上仅需 20 分钟即可完成 LLaMA-3-8B 的量化。

3. 预备知识与相关工作

3.1. 基础概念

  • 大语言模型 (Large Language Models, LLMs):指参数量巨大(通常数十亿到数千亿)的深度学习模型,它们通过在海量文本数据上进行预训练,学习到丰富的语言规律和世界知识,并能执行各种自然语言处理任务,如文本生成、问答、翻译等。LLMs 通常基于 Transformer 架构。
  • 训练后量化 (Post-training Quantization, PTQ):一种模型压缩技术。在模型完成训练(即参数已经固定为浮点数)之后,将模型的权重和/或激活值从高精度浮点数(如 FP32 或 FP16)转换为低精度整数(如 INT8 或 INT4),以减少模型大小和计算量,从而加速推理并降低内存占用。PTQ 的优点是不需要重新训练,只需要少量校准数据来确定量化参数。
  • 量化范围 (Quantization Range):指在量化过程中,将浮点数映射到低精度整数时所覆盖的数值区间。这个范围通常由原始浮点数的最大值和最小值决定。如果数据分布存在异常值 (outliers) 或呈重尾 (heavy-tailed) 分布,量化范围会被这些极端值大幅拉伸,导致中间密集区域的数值能够使用的量化级别变少,从而降低精度。
  • 重尾数据分布 (Heavy-tailed Data Distribution):指数据分布的尾部(极端值区域)比正态分布下降得更慢,意味着出现极端异常值的概率更高。在大语言模型中,权重和激活值常常呈现这种分布,给量化带来了挑战。
  • 正交变换 (Orthogonal Transformation):一种线性变换,由一个正交矩阵表示。正交矩阵的特点是其逆矩阵等于其转置矩阵(O1=OTO^{-1} = O^T),并且其列向量(或行向量)是相互正交的单位向量。正交变换的一个重要性质是它保持向量的欧几里得范数(长度)不变,因此可以理解为对数据进行旋转或反射,而不改变数据点之间的相对距离或数据整体的“形状”(如体积),但可以改变其在坐标系中的方向,从而可能改善其在量化空间中的对齐。
  • 缩放变换 (Scaling Transformation):一种线性变换,由一个对角矩阵表示。它沿着坐标轴对数据进行缩放,可以改变数据在不同维度上的尺度。通过适当的缩放,可以平衡不同通道或维度之间的方差,使数据分布更加紧凑或均匀,从而更好地利用量化空间。
  • 黎曼优化 (Riemannian Optimization):传统的优化算法(如梯度下降、Adam)是在欧几里得空间中定义的。然而,有些优化问题,其变量被限制在特定的几何结构上,例如正交矩阵被限制在 Stiefel 流形 (Stiefel Manifold) 上。黎曼优化是在这些非欧几里得空间(流形)上进行优化的一种数学框架,它考虑了流形的几何特性(如切空间、测地线),以确保优化过程始终保持变量的约束(例如,正交矩阵始终保持正交性)。
  • Stiefel 流形 (Stiefel Manifold):是一个数学概念,表示所有列向量相互正交的矩阵的集合。在本文中,它指的是所有正交矩阵构成的空间。优化正交矩阵时,需要确保优化后的矩阵依然保持正交性,因此需要采用 黎曼优化 方法在 Stiefel 流形 上进行。
  • Kullback-Leibler (KL) 散度 (Kullback-Leibler (KL) Divergence):简称 KL 散度,也称为相对熵。它是一种衡量两个概率分布之间差异的非对称度量。KL 散度 越大,表示两个分布之间的差异越大。在机器学习中,它常用于比较模型预测分布与真实分布之间的距离,或在知识蒸馏中比较学生模型与教师模型的输出分布。其公式定义为: DKL(PQ)=xXP(x)log(P(x)Q(x)) D_{KL}(P || Q) = \sum_{x \in \mathcal{X}} P(x) \log \left(\frac{P(x)}{Q(x)}\right) 其中 PPQQ 是离散概率分布,X\mathcal{X} 是事件空间。
  • 交叉熵损失 (Cross-Entropy Loss, CE Loss):在分类任务中常用的损失函数,用于衡量模型预测的概率分布与真实标签的 one-hot 分布之间的差异。对于多分类问题,其公式定义为: LCE=i=1Cyilog(y^i) L_{CE} = - \sum_{i=1}^{C} y_i \log(\hat{y}_i) 其中 CC 是类别总数,yiy_i 是真实标签中第 ii 类的指示变量(如果真实类别是 ii 则为 1,否则为 0),y^i\hat{y}_i 是模型预测的第 ii 类的概率。

3.2. 前人工作

LLM 的训练后量化 (PTQ) 方法可以大致分为两大类:仅权重 (weight-only) 量化和权重-激活 (weight-activation) 量化。

  • 仅权重 PTQ 方法:

    • GPTQ (Frantar et al., 2022):利用基于 Hessian 的误差补偿技术,通过最小化量化误差来达到高压缩率,主要关注权重的量化。
    • AWQ (Lin et al., 2023) 和 OWQ (Lee et al., 2023):通过处理激活异常值对权重量化的影响来提升性能,例如通过对权重进行通道级的缩放,以避免激活中的少数极端值主导量化范围。
    • QuIP (Chee et al., 2023) 和 QuIP# (Tseng et al., 2024):使用随机 Hadamard 矩阵进行不相干处理,并对权重应用 向量量化 (vector quantization),以在低精度量化下实现更好的性能。
  • 权重-激活 PTQ 方法: 这类方法旨在同时量化权重和激活,包括键值 (KV) 缓存,以加速 LLM 推理。主要挑战是激活中的异常值会主导量化范围,从而为大多数值留下很少的有效比特。

    • ZeroQuant (Yao et al., 2022):提出了一种细粒度、硬件友好的权重和激活量化方案。
    • SmoothQuant (Xiao et al., 2022):通过数学变换将量化难度从激活转移到权重。其核心思想是通过一个可学习的对角矩阵来重新分配激活的尺度,从而减少激活的通道间方差,但这种变换会改变权重的尺度。
    • OmniQuant (Shao et al., 2023):通过训练量化参数和变换系数来进一步提升性能,通常采用 逐块重构 (block-wise reconstruction) 的方式。
    • I-LLM (Hu et al., 2024):通过完全平滑的 逐块重构全整数算子 (fully integer operators) 实现纯整数的量化和推理。
    • QuaRot (Ashkboos et al., 2024):使用随机旋转矩阵,使权重和激活能够进行 4 比特量化,旨在通过旋转来抑制异常值。
    • SpinQuant (Liu et al., 2024):学习这些旋转矩阵,以进一步优化 4 比特量化。
  • 黎曼优化 (Riemannian Optimization): 由于旋转矩阵需要遵守正交性约束,它们的优化对应于在 Stiefel 流形 上的黎曼优化。

    • Cayley SGD (Li et al., 2020):通过 Cayley 变换 (Cayley Transform) 的迭代近似来实现,仅通过矩阵乘法即可完成,从而可以有效优化任意损失函数下的旋转矩阵。
    • RAOM (Bécigneul & Ganea, 2018):将 ADAMADAGRADAMSGRAD 等优化方法扩展到 黎曼优化 领域。
    • Geoopt (Kochurov et al., 2020):支持基本的 黎曼随机梯度下降 (Riemannian SGD) 和自适应优化算法,便于集成到模型中进行全面优化。

3.3. 技术演进

LLM 量化技术从最初的朴素舍入 (如 RTN) 发展到基于 Hessian 矩阵的局部优化 (GPTQ),再到关注激活异常值的策略 (AWQ, OWQ)。SmoothQuant 引入了将激活量化难度转移到权重的思想,利用可学习的线性变换来调整数据分布。随后,OmniQuant 等方法进一步细化了量化参数和变换系数的训练。近期,旋转变换 (QuaRot, SpinQuant) 被引入以抑制异常值,但这些方法仍然是启发式的,并且缺乏一个全局优化的目标和对整个量化空间利用率的定量评估。

本文的 OSTQuant 正是在这一技术演进背景下提出的。它通过引入 QSUR 这一定量指标,从理论上指导了更有效的变换设计,并结合了正交和缩放两种变换,旨在全局优化整个量化空间的数据分布。同时,KL-Top loss 的引入也反映了对 PTQ 阶段小规模校准数据进行稳健优化的需求。这标志着量化方法从局部、启发式优化向全局、理论指导优化的转变。

3.4. 差异化分析

OSTQuant 与相关工作的主要区别和创新点如下:

  • 与启发式线性变换方法的区别:

    • SmoothQuant 等平滑类方法主要通过对角矩阵缩放不同通道的方差,间接减少特征值差异。然而,它们对异常值和不均匀的均值敏感,且在同时量化权重和激活时难以平衡。OSTQuant 则通过 QSUR 提供了数学指导,结合了正交和缩放变换,旨在全局优化整个量化空间的数据分布,而不仅仅是特定区域。
    • QuaRotSpinQuant 等旋转类方法通过随机或学习的正交矩阵来抑制异常值。虽然它们改善了数据分布,但这些方法仍偏向启发式,且可能未充分考虑 QSUR 这样的全局量化空间利用率。OSTQuant 通过显式优化正交和缩放变换的组合,以最大化 QSUR 为目标,从而更系统地解决分布拟合问题。
  • 引入 QSUR 评估指标: OSTQuant 提出了 QSUR 作为一个新颖的定量指标,用于评估变换后数据的可量化性。这为量化变换的效果提供了理论基础和量化依据,而现有方法普遍缺乏这样的定量指标来指导变换设计。

  • 等价变换的全局优化和融合: OSTQuant 采用由正交变换和缩放变换组成的可学习等价变换对。这些变换在网络层内和层间协同工作,优化整个网络的权重和激活分布。关键在于,这些变换在不进行量化时保持网络输出的数学等价性,从而避免了对校准数据的过拟合。优化后,这些变换可以完全融合到现有权重中,实现零推理开销,这与某些 逐块重构 方法(如 OmniQuant)不同,后者可能会改变网络输出并增加推理复杂性。

  • 针对小规模校准数据的 KL-Top Loss OSTQuant 引入了 KL-Top loss 函数。这是一种创新的损失函数,专门应对 PTQ 中校准数据量小的问题。它避免了传统 交叉熵损失 在小数据集上容易过拟合的风险,也避免了完整 KL 散度LLM 巨大词汇表长尾分布下引入噪声的问题。通过聚焦 Top k 概率的词元,KL-Top loss 能够捕捉更丰富的语义信息,同时提高优化稳定性。

综上,OSTQuant 在理论分析、方法设计和实际性能上都展现出显著优势,通过更全局、更精细的分布优化策略,有效提升了 LLM 的低比特量化性能。

4. 方法论

4.1. 量化空间利用率 (Quantization Space Utilization Rate, QSUR)

尽管 PTQ 在利用线性变换减轻量化损失方面取得了显著进展,但这些方法主要是启发式的且以结果为导向,缺乏定量指标来评估量化难度或不同变换的有效性。为了弥补这一空白,本文引入了一个新颖的指标:量化空间利用率 (Quantization Space Utilization Rate, QSUR),它量化了权重或激活分布如何有效地利用可用量化空间。QSUR 为理解现有方法的优势和局限性提供了关键洞察,并为开发更高效的方法(包括 OSTQuant)奠定了基础。

量化符号 (Quantization Notations) 矩阵用粗体大写字母表示(例如 X\boldsymbol { X } ),向量用粗体小写字母表示(例如 x\pmb { x } )。运算符 Q\mathcal { Q } 指的是量化函数。

引理 1 (Lemma 1) 根据 中心极限定理 (Central Limit Theorem),经过 Hadamard 变换 (Hadamard transformation) 后的分布近似遵循球形高斯分布,如 QuIP# (Tseng et al., 2024) 所示。

定义 1 (Definition 1) 给定一组 dd 维数据 XRn×d\boldsymbol { X } \in \mathbb { R } ^ { n \times d } ,令 V _ { X } 表示 X\boldsymbol { X } 所占据的超体积,令 V _ { S _ { X } } 表示与 X\boldsymbol { X } 对应的量化空间 SS 的超体积。量化空间 S _ { X } 是一个超立方体,其边长由 X\boldsymbol { X } 所有维度上的最大量化范围确定。则 X\boldsymbol { X }量化空间利用率 (Quantization Space Utilization Rate) 定义为: QSURX=VXVSX(1) \mathrm { QSUR } _ { X } = \frac { V _ { X } } { V _ { S _ { X } } } \quad \text{(1)} 对于服从 XN(μ,Σ)X \sim { \mathcal { N } } ( \pmb { \mu } , \pmb { \Sigma } ) 的高斯分布数据。 V _ { X } 是基于由协方差矩阵 Σ\pmb { \Sigma } 和均值向量 μ\pmb { \mu } 形成的椭球体计算的。协方差矩阵可以通过特征值分解对角化:Σ=QΛQ\Sigma = Q \Lambda Q ^ { \top } ,其中 QQ 是特征向量组成的单位正交矩阵,Λ=diag(λ1,λ2,...,λd)\Lambda = \mathrm { d i a g } ( \lambda _ { 1 } , \lambda _ { 2 } , . . . , \lambda _ { d } ) 包含按降序排列的特征值。该椭球体在置信水平 α\alpha (例如 α=0.99\alpha = 0 . 9 9 )下的超体积由下式给出: VX=πd/2Γ(d/2+1)×(χd2(α))d/2×det(Σ)(2) V _ { \mathbf { X } } = \frac { \pi ^ { d / 2 } } { \Gamma ( d / 2 + 1 ) } \times \left( \chi _ { d } ^ { 2 } ( \alpha ) \right) ^ { d / 2 } \times \sqrt { \operatorname* { d e t } ( \boldsymbol { \Sigma } ) } \quad \text{(2)} 其中,Γ\Gamma伽马函数 (Gamma function)χd2(α)\chi _ { d } ^ { 2 } ( \alpha )卡方分布 (chi-squared distribution)dd 个自由度下,累积概率为 α\alpha 时的分位数。由于 QQ 是正交的,行列式简化为 det(Σ)=det(Λ)=i=1dλi\operatorname* { d e t } ( \Sigma ) = \operatorname* { d e t } ( \Lambda ) = \prod_{i=1}^d \lambda_i

量化超立方体 V _ { S _ { X } } 的体积由分布沿每个主轴的范围决定。椭球体的极值点与这些轴上的最大值和最小值密切相关。我们用 λmax\lambda _ { \mathrm { m a x } }λmin\lambda _ { \operatorname* { m i n } } 分别表示对应于具有最大和最小坐标值的点的 主轴特征值 (eigenvalues of the principal axes)。将这些点转换回原始空间后,最大和最小坐标值可以表示为: vmaxorg=χd2(α)λmaxqmax+μvminorg=χd2(α)λminqmin+μVSX=(max(vmaxorg)min(vminorg))d(3, 4, 5) \begin{array} { r l } & { v _ { \operatorname* { m a x } } ^ { \mathrm { o r g } } = \sqrt { \chi _ { d } ^ { 2 } ( \alpha ) \cdot \lambda _ { \operatorname* { m a x } } } \cdot | q _ { \operatorname* { m a x } } | + \mu } \\ & { v _ { m i n } ^ { \mathrm { o r g } } = - \sqrt { \chi _ { d } ^ { 2 } ( \alpha ) \cdot \lambda _ { \operatorname* { m i n } } } \cdot | q _ { \operatorname* { m i n } } | + \mu } \\ & { V _ { S _ { X } } = ( \operatorname* { m a x } ( v _ { \operatorname* { m a x } } ^ { \mathrm { o r g } } ) - \operatorname* { m i n } ( v _ { \operatorname* { m i n } } ^ { \mathrm { o r g } } ) ) ^ { d } } \end{array} \quad \text{(3, 4, 5)} 其中,qmax\pmb { q } _ { \mathrm { m a x } }qmin\pmb { q } _ { \mathrm { m i n } } 分别表示对应于 λmax\lambda _ { \mathrm { m a x } }λmin\lambda _ { \operatorname* { m i n } } 的特征向量。因此,QSUR 变为: QSURX=VXVSX=πd/2Γ(d/2+1)(χd2(α))d/2det(Λ)(max(χd2(α)λmaxqmax+μ)min(χd2(α)λminqmin+μ))d(6) \mathrm { QSUR } _ { X } = { \frac { V _ { X } } { V _ { S _ { X } } } } = { \frac { { \frac { \pi ^ { d / 2 } } { \Gamma \left( d / 2 + 1 \right) } } \cdot \left( \chi _ { d } ^ { 2 } ( \alpha ) \right) ^ { d / 2 } \cdot { \sqrt { \operatorname* { d e t } ( \Lambda ) } } } { \left( \operatorname* { m a x } ( { \sqrt { \chi _ { d } ^ { 2 } ( \alpha ) \cdot \lambda _ { \operatorname* { m a x } } } } \cdot | q _ { \operatorname* { m a x } } | + \mu ) - \operatorname* { m i n } ( { \sqrt { \chi _ { d } ^ { 2 } ( \alpha ) \cdot \lambda _ { \operatorname* { m i n } } } } \cdot | q _ { \operatorname* { m i n } } | + \mu ) \right) ^ { d } } } \quad \text{(6)} 由于均值向量 μ\pmb { \mu } 的大小通常小于最大特征值,我们忽略均值向量 μ\pmb { \mu },并假设 λmax=λmin=λ1\lambda _ { \operatorname* { m a x } } = \lambda _ { \operatorname* { m i n } } = \lambda _ { 1 } (即所有维度上的极值点都由最大特征值对应的方向决定),从而得到: QSURX=πd/2Γ(d/2+1)(χd2(α))d/2det(Λ)2d(max(χd2(α)λ1q1))d=πd/2Γ(d/2+1)i=1dλi2d(max(λ1q1))d(7) \mathrm { QSUR } _ { X } = \frac { \frac { \pi ^ { d / 2 } } { \Gamma ( d / 2 + 1 ) } \cdot \left( \chi _ { d } ^ { 2 } ( \alpha ) \right) ^ { d / 2 } \cdot \sqrt { \operatorname * { d e t } ( \Lambda ) } } { 2 ^ { d } \left( \operatorname * { m a x } ( \sqrt { \chi _ { d } ^ { 2 } ( \alpha ) \cdot \lambda _ { 1 } } \cdot q _ { 1 } ) \right) ^ { d } } = \frac { \frac { \pi ^ { d / 2 } } { \Gamma ( d / 2 + 1 ) } \cdot \sqrt { \prod _ { i = 1 } ^ { d } \lambda _ { i } } } { 2 ^ { d } \left( \operatorname * { m a x } ( \sqrt { \lambda _ { 1 } } \cdot q _ { 1 } ) \right) ^ { d } } \quad \text{(7)} 从公式 (7) 中,我们可以观察到以下几点:

  1. QSUR 与每个特征值 λi\lambda _ { i } 与最大特征值 λ1\lambda _ { 1 } 之比的乘积成正比。这意味着当所有特征值都接近最大特征值时(即分布接近球形),QSUR 会更高。
  2. 特征向量 q1\pmb q _ { 1 } 的最大分量与 QSUR 成反比。当 q1\pmb { q _ { 1 } } 的分量取值 ±d1/2\pm d ^ { - 1 / 2 } 时,公式 (7) 中的分母被最小化,此时表示数据在各个维度上的“伸展”程度比较均匀。

线性变换对 QSUR 的影响 (Influence of linear transformation on QSUR)xN(μ,Σ)x \sim \mathcal { N } ( \pmb { \mu } , \pmb { \Sigma } ) 应用线性变换 T\pmb { T } 会得到一个变换后的分布 D^  N(μ^,Σ^)\hat { D } \ \sim \ \mathcal N ( \hat { \pmb \mu } , \hat { \pmb \Sigma } ),其中 μ^ = Tμ\hat { \pmb \mu } \ = \ T \pmb \muΣ^ = TΣT=TQΛQT\hat { \pmb \Sigma } \ = \ T \pmb \Sigma T ^ { \top } = T Q \Lambda Q ^ { \top } T ^ { \top }

  • 平滑类方法 (Smoothing-based approaches) (Xiao et al., 2022; Shao et al., 2023) 将 T\pmb { T } 视为一个对角矩阵,该矩阵缩放不同通道轴上的方差,间接减少了特征值 λi\lambda _ { i } 之间的差异。然而,当均值向量 μ\pmb { \mu } 包含显著变化时(如图 1(b) 所示),这些方法对异常值和不均匀的均值特别敏感。此外,在同时量化权重和激活时,这些方法通常难以平衡。

  • 旋转类方法 (Rotation-based methods) (Ashkboos et al., 2024; Liu et al., 2024) 通过旋转来减少权重和激活中的异常值,从而减小超立方体体积以增加 QSUR。这种减少异常值的能力源于修改矩阵 QQ 的能力,这种能力随着维度的增加而提高。当正交矩阵为 T=d12HQ\pmb { T } = d ^ { - \frac { 1 } { 2 } } \pmb { H } \pmb { Q } ^ { \top } 时(其中 dd 是维度,H\pmb { H } 是由 ±1\pm 1 组成的矩阵),可以实现最佳的异常值减少能力。

    结合公式 (7),当以下条件满足时,可以达到最大的 QSURT=cΛ12Q(8) \pmb { T } = c \cdot \pmb { \Lambda } ^ { - \frac { 1 } { 2 } } \pmb { Q } ^ { \top } \quad \text{(8)} 其中 cc 是任意标量。此时,最大利用率为 QSUR=πd/2Γ(d/2+1)2d\mathrm { QSUR ^ { \prime \prime } } = \frac { \frac { \pi ^ { d / 2 } } { \Gamma ( d / 2 + 1 ) } } { 2 ^ { d } }。这意味着通过将数据变换为球形分布(即所有特征值相等,由 Λ12\pmb { \Lambda } ^ { - \frac { 1 } { 2 } } 实现),并旋转对齐(由 Q\pmb { Q } ^ { \top } 实现),可以最大化量化空间利用率。

4.2. 基于正交和缩放变换的量化 (Orthogonal and Scaling Transformation-based Quantization, OSTQuant)

本文提出了 OSTQuant,一个新颖的框架,旨在通过可学习的等价变换对来优化 LLM 中权重和激活的分布,以提高量化性能。OSTQuant 的核心动机是正交变换和缩放变换的结合可以增强 QSUR,如 Figure 1 所示并由 Sec 3 解释。

Figure 5: The overall flow diagram of OSTQuant. The top section illustrates how the global orthogonal transformation, R _ { r e s } , along with the two scaling transformations, S _ { a t t n } and S _ { f f n } collaborate within each block to adjust the distributions across the entire network while maintaining computational invariance. The bottom section highlights four equivalent transformation pairs applied to the FFN and Self-Attention layers. Each fully-connected layer's activation and weight are influenced by one or more of these transformation pairs. During runtime, these transformation pairs are fused with the weights, ensuring minimal runtime overhead.

Figure 5: The overall flow diagram of OSTQuant. The top section illustrates how the global orthogonal transformation, `R _ { r e s }` , along with the two scaling transformations, `S _ { a t t n }` a… 该图像是示意图,展示了 OSTQuant 方法中的量化过程,包括可训练的正交矩阵和缩放矩阵的使用。图中展示了各个组件的连接关系,以及通过 KLexttopKL_{ ext{top}} 损失函数对优化过程的影响。

如 Figure 5 所示,OSTQuantLLM 的块内和块间全局应用多个变换对。具体来说,每个块内学习四个等价变换对,每个对包含一个可学习的对角缩放矩阵和一个可学习的单位正交矩阵。这些变换协同工作,重塑权重和激活的分布,使其更适合量化。OSTQuant 在全局网络层面保持等价变换。因此,当不应用量化时,网络的最终输出保持不变,有效防止了过拟合。

等价变换对 (Equivalent Transformation Pair) 我们定义一个变换对为 T=ΛO\pmb { T } = \pmb { \Lambda } \pmb { O },其中 T\pmb { T } 由一个对角缩放矩阵 Λ\pmb { \Lambda } 和一个单位正交矩阵 O\pmb { O } 组成。因此,前向推理过程被重新表述为: y=Q(xW1OΛ)Q(Λ1OTW2)(9) \pmb { y } = \mathcal { Q } ( \pmb { x } W _ { 1 } O \pmb { \Lambda } ) \mathcal { Q } ( \pmb { \Lambda } ^ { - 1 } O ^ { T } W _ { 2 } ) \quad \text{(9)} 其中,x\pmb { x } 是输入激活,W1W_1W2W_2 是连续的两个全连接层权重(如 W1W_1 是前一个 FC 层的输出,其后连接 W2W_2)。Q()\mathcal { Q } ( \cdot ) 表示量化操作。O\pmb { O } 是正交矩阵,Λ\pmb { \Lambda } 是对角缩放矩阵。由于 Λ\pmb { \Lambda } 是对角矩阵,其逆矩阵只是其对角元素的倒数。我们直接优化 O\pmb { O },因为任何正交矩阵 O\pmb { O } 都可以分解为一个 Hadamard 变换 和另一个正交矩阵。

等价变换对 具有以下三个优点:

  1. 可学习性和计算效率 (Learnability and Computational Efficiency): O\pmb { O }Λ\pmb { \Lambda } 都是可学习的参数。对角矩阵 Λ\pmb { \Lambda } 的求逆计算简单,使得前向传播高效。正交矩阵 O\pmb { O } 可以使用基于梯度的优化器进行优化,例如 RiemannAdam (Bécigneul & Ganea, 2018),它支持在 Stiefel 流形 上的优化。这使得整个过程能够充分利用一阶梯度信息进行端到端学习。

  2. 等价性保持 (Equivalence Preservation): 忽略量化效应,前向传播过程在数学上与原始模型等价。这确保了激活和权重保持一致性,同时使其分布更适合量化,从而降低了过拟合的风险。

  3. 融合性 (Fusion): 优化后,O\pmb { O }Λ\pmb { \Lambda } 可以直接合并到现有权重中,这意味着在部署期间不会引入额外的计算开销或参数,从而确保高效推理。

    整个网络的优化目标可以形式化为: argminAi,OiL(y^,y;Ai,Oi,θ)(10) \arg \operatorname* { m i n } _ { A _ { i } , O _ { i } } \mathcal { L } ( \hat { y } , y ; A _ { i } , O _ { i } , \theta ) \quad \text{(10)} 其中,θ\theta 表示冻结的网络参数,L(y^,y)\mathcal { L } ( \hat { y } , y ) 表示量化网络输出 y^\hat { y } 与全精度输出 yy 之间的损失。AiA_i 表示第 ii 个缩放矩阵,而 OiO_i 表示第 ii 个正交矩阵。

权重异常值最小化初始化 (Weight Outlier Minimization Initialization, WOMI) 如 (Cholakov et al., 2023) 所示,权重通常遵循零均值的高斯分布。因此,我们使用附录中公式 27 提供的初始化方法来初始化正交矩阵 O\pmb { O }。对于全局正交矩阵 R _ { r e s },我们将所有接收残差输入 (residual inputs) 的线性层的权重沿输入通道进行拼接,表示为 Wnoc×icW ^ { n \cdot oc \times ic },并对其协方差执行特征值分解以获得特征矩阵 Q _ { W }。然后,我们初始化 Rres=(QW)HTR _ { r e s } = ( Q _ { W } ) \pmb { H } ^ { T },其中 H\pmb { H } 是归一化的 Hadamard 矩阵。对于 Out-projectionValue-projection 层的正交矩阵,我们沿 head 维度分割 O\pmb { O } 矩阵,并应用与 R _ { r e s } 相同的初始化方法。对于所有缩放矩阵,我们将它们初始化为单位矩阵。

块间学习 (Inter-Block Learning) 如 Figure 5 的上半部分所示,全局 R _ { r e s } 应用于嵌入层,并通过 投影层 (projection layers)LLM 的每个残差路径中传播。这种变换旋转了整个残差路径中的激活。由于 酉正交矩阵 (unitary orthogonal matrices)范数保持 (norm-preserving) 特性,我们可以绕过 RMSNorm 层,并对每个残差连接的 投影层 和最终输出 head 的输入应用逆变换,确保等价性得以保持。

此外,对于每个块中的两个归一化层及其各自的 投影层,即 SattniS _ { a t t n } ^ { i }SffniS _ { f f n } ^ { i }。矩阵 R _ { r e s } 同时旋转残差路径中的激活并调整多个 投影层 的权重。缩放矩阵 SattniS _ { a t t n } ^ { i }SffniS _ { f f n } ^ { i }RMSNorm 层的输出及其相应的 投影层 进行缩放。这些变换可以被吸收到相应的权重矩阵中:正交变换 R _ { r e s } 与残差路径上的 投影权重 (projection weights) 合并,缩放矩阵则合并到 RMSNorm 层的权重向量中。如 Figure 5 所示,通过在优化过程中将 R _ { r e s } 与所有 投影权重 融合,我们有效地学习了权重和激活中的分布偏移如何影响模型精度。这种方法通过调整这些偏移来减轻量化误差的影响,从而提高模型性能。

块内学习 (Intra-Block Learning) 如 Figure 5 的下半部分所示,我们在每个 Transformer 块的 多头自注意力层 (Multi-Head Self-Attention, MHSA) 中引入了两个等价变换对。具体来说,值投影 (Value projection, V)输出投影 (Output projection, O) 层进行跨层变换。对于每个注意力头,数据流表示为: Y=PhXh(WvhRovhSovh)(Sovh1RovhTWoh)(11) \pmb { Y } = \pmb { P } ^ { h } \cdot \pmb { X } ^ { h } \cdot ( \pmb { W } _ { v } ^ { h } \pmb { R } _ { o v } ^ { h } \pmb { S } _ { o v } ^ { h } ) \cdot ( \pmb { S } _ { o v } ^ { h ^ { - 1 } } \pmb { R } _ { o v } ^ { h ^ { T } } \pmb { W } _ { o } ^ { h } ) \quad \text{(11)} 其中,hh 表示 head 索引,PhP ^ { h } 是注意力矩阵,XhX ^ { h }head hh 的输入。我们引入 Rovh\pmb { R } _ { o v } ^ { h }Sovh\pmb { S } _ { o v } ^ { h } 变换,旨在提高 值缓存 (value cache)输出投影层QSUR。在 旋转位置编码 (Rotary Positional Encoding, ROPE) 操作之后,输出 querykey 可以自然地进行等价缩放变换 S _ { q k },类似于 (Hu et al., 2024) 中的方法。由于 位置编码 (positional encoding) 的乘法特性,这种缩放变换可以合并到权重矩阵 W _ { q }W _ { k } 中。为了进一步提高 键缓存 (key cache) 的量化效率,我们对 querykey 的输出应用额外的 Hadamard 变换,如 QuaRot (Ashkboos et al., 2024) 中所示。与 S _ { q k } 类似,我们可以优化 FFN 层up-projectiondown-projection 中的对角矩阵。然而,Hadamard 变换 的逆矩阵从一开始就融合到 W _ { d o w n } 中。

4.3. KL-Top 损失 (KL-Top Loss)

虽然 LLM 通常在大型数据集上进行训练,但 OSTQuant 优化通常使用少得多的样本集进行,通常约为 1,000 个示例。在这种有限数据设置下,直接应用原始的 交叉熵损失 (Cross-Entropy, CE loss) 可能导致模型性能下降。如 Table 1 所示,尽管量化模型在经过 CE loss 训练后表现出比全精度模型更低的困惑度 (Perplexity, PPL),但其在零样本任务上的性能却下降了。一个可能的解释是,小而简单的数据集,如 WikiText-2 (Merity et al., 2016),可能无法充分利用 LLM 的能力。因此,如果仅依赖关注单个标签的 CE loss,可能导致模型过拟合于狭窄的特征集,从而损害其 涌现能力 (emergent capabilities)

Figure 6: The distribution of the number of tokens required to accumulate 9090 \\% of the total prediction probability in the LLaMA-2-7B model.

Figure 6: The distribution of the number of tokens required to accumulate \(90 \\%\) of the total prediction probability in the LLaMA-2-7B model. 该图像是一个频率分布图,展示了达到50%累计概率所需的令牌数。图中以对数刻度表示频率与令牌数量的关系,反映了数据的重尾特性。

一个自然的思路是在量化前后对齐预测分布以降低过拟合风险,例如使用 Kullback-Leibler (KL) 散度 进行优化。然而,这种方法也面临挑战。LLM 通常拥有数万甚至更多的词汇表(例如 LLaMA3-8B 拥有超过 100,000 个词元)。如 Figure 6 所示,全精度模型的预测结果遵循严重的 长尾分布 (long-tail distribution),只有少数词元具有显著概率。如果我们直接对所有类别应用 KL 散度,损失可能被概率可忽略不计且无信息量的类别主导,从而为训练过程引入噪声。

为了解决这个问题,我们提出了 KL-Top 损失函数,它仅计算概率最高的 Top k 个类别的 KL 散度。通过将优化集中在模型的主要预测上,这种方法提高了梯度质量。在全局 KL 损失 中,低概率值可能引入噪声,导致不准确的梯度更新。通过将计算限制在 Top k 个类别,模型接收到更清晰、信息量更大的梯度。此外,当处理大量类别(例如超过 100,000 个)时,计算和内存成本都非常高昂。将计算限制在 Top k 个类别(例如 k=1000k = 1000)不仅降低了复杂性,还加速了训练过程。

KL-Top 损失 的计算方式如下: idxs=topk(z)L=iidxsz[i]log(z[i]z^[i])(12) \begin{array} { c } { i d x s = \displaystyle \mathrm { t o p } k ( z ) } \\ { \displaystyle \mathcal { L } = \sum _ { i \in i d x s } z [ i ] \log \left( \frac { z [ i ] } { \hat { z } [ i ] } \right) } \end{array} \quad \text{(12)} 其中,zzz^\hat { z } 分别是量化前和量化后的预测分布。top k (z) 函数返回 zz 中概率最高的 kk 个词元的索引集合 idxsL\mathcal{L}KL-Top 损失

5. 实验设置

5.1. 数据集

  • 模型 (Models): 本文将 OSTQuant 应用于完整的 LLaMA 系列模型,包括 LLaMA-1 (7B、13B、30B) (Touvron et al., 2023a)、LLaMA-2 (7B、13B) (Touvron et al., 2023b) 和 LLaMA-3-8B。
  • 校准数据集 (Calibration Datasets): 在分布优化阶段,我们使用 WikiText2 (Merity et al., 2016) 中的 1,000 个样本进行校准,每个样本的词元 (token) 长度为 2,048。
  • 评估数据集 (Evaluation Datasets):
    • 困惑度 (Perplexity, PPL):WikiText2 测试集上报告 PPL 分数。但如 Table 1 所示,PPL 可能不能完全反映量化后模型的真实性能,零样本 (zero-shot) 任务能更好地反映模型的实际性能。
    • 零样本任务 (Zero-Shot Tasks): 使用 lm-evaluation-harness (version 0.4.4) (Gao et al., 2024) 在多达九个零样本任务上评估模型性能,包括:
      • BoolQ (Clark et al., 2019)
      • HellaSwag (Zellers et al., 2019)
      • LAMBADA (OpenAI) (Radford et al., 2019)
      • OpenBookQA (OBQA) (Mihaylov et al., 2018)
      • PIQA (Bisk et al., 2020)
      • SIQA (Sap et al., 2019)
      • WinoGrande (Sakaguchi et al., 2021)
      • ARC-Easy (Boratko et al., 2018)
      • ARC-Challenge (Boratko et al., 2018) 选择这些数据集旨在全面评估 LLM 在推理、常识、问答等不同能力上的表现,从而验证量化方法的通用性和有效性。

5.2. 评估指标

  • 困惑度 (Perplexity, PPL)

    1. 概念定义 (Conceptual Definition): 困惑度 衡量一个概率分布或概率模型预测一个样本的好坏程度。在自然语言处理中,它通常用于评估语言模型的性能。PPL 越低,表示语言模型对测试数据的预测能力越强,生成的文本越自然流畅。
    2. 数学公式 (Mathematical Formula): 对于一个词序列 W=(w1,w2,,wN)W = (w_1, w_2, \dots, w_N),其困惑度定义为: PPL(W)=(i=1N1P(wiw1,,wi1))1N \mathrm{PPL}(W) = \left( \prod_{i=1}^{N} \frac{1}{P(w_i | w_1, \dots, w_{i-1})} \right)^{\frac{1}{N}} 通常为了计算方便,取对数形式: PPL(W)=exp(1Ni=1NlogP(wiw1,,wi1)) \mathrm{PPL}(W) = \exp \left( -\frac{1}{N} \sum_{i=1}^{N} \log P(w_i | w_1, \dots, w_{i-1}) \right)
    3. 符号解释 (Symbol Explanation):
      • WW: 输入的词序列。
      • NN: 序列中词元的数量。
      • wiw_i: 序列中的第 ii 个词元。
      • P(wiw1,,wi1)P(w_i | w_1, \dots, w_{i-1}): 在给定前 i-1 个词元的情况下,预测第 ii 个词元的概率。
      • \prod: 连乘符号。
      • exp()\exp(\cdot): 自然指数函数 e()e^{(\cdot)}
      • log\log: 自然对数。
  • 零样本准确率 (Zero-Shot Accuracy)

    1. 概念定义 (Conceptual Definition): 零样本准确率 衡量模型在未经过特定任务训练的情况下,仅凭其在大量通用数据上学习到的知识和语言理解能力,直接解决新任务的性能。高 零样本准确率 表明模型具有强大的泛化能力和 涌现能力,能够理解任务描述并进行推理。
    2. 数学公式 (Mathematical Formula): 对于分类任务,零样本准确率的计算公式与标准分类准确率相同: Accuracy=Number of Correct PredictionsTotal Number of Predictions \text{Accuracy} = \frac{\text{Number of Correct Predictions}}{\text{Total Number of Predictions}} lm-evaluation-harness 这样的多任务评估框架中,通常会为每个任务计算准确率(或其他任务特定指标),然后取这些任务的平均值或加权平均值作为整体 零样本准确率
    3. 符号解释 (Symbol Explanation):
      • Number of Correct Predictions: 模型在测试集上正确预测的样本数量。
      • Total Number of Predictions: 测试集中的总样本数量。

5.3. 对比基线

除了基本的 四舍五入到最近 (Round-to-Nearest, RTN) 方法外,本文还将 OSTQuant 与以下最先进 (state-of-the-art, SOTA) 的量化方法进行了比较,涵盖了仅权重和权重-激活量化:

  • RTN:最基础的量化方法,直接将浮点数四舍五入到最近的量化网格点。

  • SmoothQuant (Xiao et al., 2022):通过平滑技术将激活的量化难度转移到权重。

  • GPTQ (Frantar et al., 2022):基于 Hessian 的优化方法,通过误差补偿最小化权重量化误差。

  • OmniQuant (Shao et al., 2023):通过训练量化参数和变换系数来增强性能。

  • AWQ (Lin et al., 2023):通过关注权重中对激活异常值不敏感的部分来提升量化性能。

  • QuaRot (Ashkboos et al., 2024):使用随机旋转矩阵来实现 4 比特权重和激活量化。

  • SpinQuant (Liu et al., 2024):学习旋转矩阵以优化 4 比特量化。

    这些基线方法具有代表性,因为它们代表了 LLM PTQ 领域不同技术路线和发展阶段的最新成果,包括基于误差补偿、平滑变换、异常值感知以及旋转变换等主流方法。通过与这些方法的比较,可以全面评估 OSTQuant 的性能优势。

5.4. 实现细节

  • 量化设置 (Quantization Settings):
    • 所有激活 (activations) 都使用 逐词元非对称量化 (per-token asymmetric quantization),不进行任何剪枝操作。
    • 所有权重 (weights) 都使用 对称逐通道量化 (symmetric per-channel quantization)
  • 优化器 (Optimizer): 我们使用 RiemannAdam (Bécigneul & Ganea, 2018) 来优化所有单位正交矩阵和缩放矩阵。
  • 校准与迭代 (Calibration and Iterations):
    • 在分布优化阶段,我们使用 WikiText2 中的 1,000 个样本。
    • 每个样本的词元长度为 2,048。
    • 迭代 150 次,批处理大小 (batch size) 为 8。
  • 学习率 (Learning Rate): 应用 余弦学习率衰减 (cosine learning rate decay)
    • 所有正交矩阵参数的初始学习率设置为 2×1022 \times 10^{-2}
    • 所有缩放参数的初始学习率设置为 3×1023 \times 10^{-2}

6. 实验结果与分析

6.1. 核心结果分析

本文通过在多种 LLaMA 模型和配置下进行实验,全面评估了 OSTQuant 的性能。

量化性能 (Quantization performance) 以下是原文 Table 2 的结果,展示了 OSTQuant 与其他 SOTA 方法在 WikiText2 困惑度 (PPL) 和九项 零样本 (Zero-Shot) 任务平均准确率上的比较。

以下是原文 Table 2 的结果:

#BitsMethodLLaMA-3 8BLLaMA-3 70BLLaMA-2 7BLLaMA-2 13BLLaMA-2 70BLLaMA 7BLLaMA 13BLLaMA 30B
0-shot9 Avg.(↑)Wiki PPL (↓)0-shot9 Avg.(↑)Wiki PPL (↓)0-shot9 Avg.(↑)Wiki PPL (↓)0-shot9 Avg.(↑)Wiki PPL (↓)0-shot9 Avg.(↑)Wiki PPL (↓)0-shot9 Avg.(↑)Wiki PPL (↓)0-shot9 Avg.(↑)Wiki PPL (↓)0-shot9 Avg.(↑)Wiki PPL (↓)
16-16-16FloatingPoint68.096.1473.812.8665.215.4767.614.8871.593.3264.485.6866.675.0970.004.10
4-16-16RTN63.708.1331.151e561.277.0260.246.3969.623.8762.677.9463.458.6065.696.13
SmoothQuant62.798.1267.946.7058.888.0362.035.8665.935.5062.247.4662.698.7565.695.80
GPTQ61.037.4331.459e360.869.8464.715.7970.963.9460.157.9364.366.5866.955.26
OmniQuant65.667.19--63.195.7466.385.0271.043.4763.425.8666.225.2169.074.25
AWQ67.037.3668.925.9263.895.8366.255.0770.884.0363.305.9765.585.2869.444.28
QuaRot67.276.5372.933.5364.305.6266.955.0071.213.4163.405.8365.915.2069.734.27
SpinQuant66.546.4972.903.4963.595.5867.145.0071.123.4363.945.7666.325.1669.624.21
OSTQuant67.806.5373.693.1964.375.6467.314.9471.483.4164.135.8166.625.2169.844.19
4-4-16RTN33.426e231.218e332.44nan30.868e330.907e432.517e331.633e431.572e3
SmoothQuant33.041e334.672e232.13nan34.261e335.863e234.423e233.296e234.641e3
GPTQ32.985e231.474e432.72nan30.114e330.86nan32.121e331.513e330.882e3
QuaRot61.698.0265.566.3561.876.0565.135.3569.963.7861.766.2264.465.5068.144.57
SpinQuant64.117.2866.996.1057.376.7863.235.2470.583.6861.826.0864.595.3668.084.53
OSTQuant65.147.2472.213.9763.905.6066.245.1470.923.5762.726.0465.805.4068.524.43
RTN33.187e230.828e332.67nan30.937e331.737e432.871e431.333e431.642e3
4-4-4SmoothQuant32.961e333.763e232.12nan33.361e335.543e233.323e233.285e234.651e3
GPTQ33.716e231.204e433.52nan27.855e331.09nan31.802e330.633e331.072e3
OmniQuant32.334e2--48.4014.2650.3512.30--48.4611.2645.6310.8745.0412.35
QuaRot61.388.1865.336.661.486.1165.165.3970.303.8061.226.2664.595.5368.084.60
SpinQuant64.107.3566.316.2462.015.9664.135.7470.573.6161.326.1264.955.3968.144.55
OSTQuant65.377.2971.694.0163.185.9165.415.2570.843.5962.556.0765.435.4068.204.43

观察与分析:

  • W4-only (4-16-16) 配置: 在此配置下,OSTQuant 始终优于所有现有方法。尤其是在 零样本 任务中,它保持了至少 99.5% 的浮点模型 (FP16) 准确率。例如,在 LLaMA-3-8B 上,OSTQuant 仅有 0.29 点的性能下降,而其他方法(如 QuaRotSpinQuant)的损失超过 1.55 点。这表明 OSTQuant 在仅量化权重时能非常有效地保留模型性能。

  • W4A4KV4 (4-4-4) 配置: 这是最具挑战性的配置,需要将权重、激活和 KV 缓存 (Key-Value Cache) 都量化到 4 比特。即使在这种严格的限制下,OSTQuant 仍然保持了显著的性能优势,比 SOTA 方法 SpinQuant 在多个模型上高出约 1 点。例如,在 LLaMA-2 7B 上,OSTQuant 取得了 63.18 的分数,而 SpinQuant 为 62.01。

  • W4A4KV16 (4-4-16) 配置:KV 缓存 不被量化时,OSTQuant 相比 SpinQuant 展现出更显著的性能提升,例如在 LLaMA-2 7B 上提升高达 6.53 点。这说明 OSTQuant 在处理权重和激活的低比特量化方面表现尤为出色。

  • 旋转类 vs. 平滑类 方法: 一旦激活被量化,旋转类 方法(如 QuaRotSpinQuantOSTQuant)的性能显著优于 平滑类 方法(如 SmoothQuant)。这证实了 平滑类 方法在处理激活中的异常值和不均匀分布时存在局限性。

  • QSUR 与准确率的正相关性: Figure 3 展示了不同量化方法的归一化 QSUR 与零样本精度保留 (W4A4 量化下) 之间存在明显的正相关性。OSTQuant 实现了最高的 QSUR,有效缓解了现有方法面临的异常值和不均匀分布挑战,从而提高了模型准确率。

    Figure 3: Zero-Shot9 precision retention (under W4A4 quantization) and normalized QSUR are evaluated for LLaMA variants across different quantization methods. The normalized QSUR is derived as the dd -th root of QSUR, where dd denotes the number of channels. QSUR exhibits a positive correlation with accuracy.

    Figure 3: Zero-Shot9 precision retention (under W4A4 quantization) and normalized QSUR are evaluated for LLaMA variants across different quantization methods. The normalized QSUR is derived as the \$d…

    速度和内存节省 (Speedup and memory savings) OSTQuant 实现了 4 比特量化下可忽略的性能损失,使得 4 比特推理变得可行。以下是原文 Table 3 的结果:

Model SizePrefill Speedup (Seqlen)Memory Saving Factor (Seqlen)
25651210242048409681922565121024204840968192
7B2.24x2.27x2.23x2.14x2.11x2.02x3.48x3.34x3.12x2.86x2.57x2.34x
8B2.42x2.52x2.52x2.43x2.36x2.23x3.48x3.36x3.12x2.77x2.38x2.00x
13B2.62x2.68x2.63x2.52x2.83x2.32x3.64x3.51x3.30x3.02x2.70x2.43x
30B3.18x3.01x2.98x3.40x2.84x2.68x3.70x3.59x3.42x3.15x2.83x2.53x

观察与分析:

  • 推理速度提升: OSTQuant 实现了平均超过 2×2 \times 的推理速度提升。
  • 内存节省: 实现了超过 3.5×3.5 \times 的内存节省。这些数据证明了 OSTQuant 在推理效率方面的显著改进。
  • 训练速度: OSTQuant 在训练速度方面相比 逐块重构 (block reconstruction) 方法具有显著优势。由于仅需 150 次迭代和极少量可学习参数,它可以在大约 20 分钟内完成 7B 和 13B 模型的优化,30B 模型则在 120 分钟内完成,比 OmniQuant 快了高达 5.3×5.3 \times

6.2. 消融实验/参数分析

不同变换的影响 (Effect of different transformation) 以下是原文 Table 4 的结果,展示了不同变换矩阵对 LLaMA-2 7B 在 W4A4KV4 量化设置下 Wiki PPL零样本 分数的影响。

MetricBaseline+Rres+Sres+Rdn+Su|d+Rqk+Sqk+Rov+Sov
Wiki PPLnan9.709.466.166.005.925.925.945.91
Zero-shot933.5154.3353.7461.7561.7962.3562.5663.1163.18

观察与分析:

  • 基线 (Baseline): 初始的 RTN 量化性能非常差(零样本准确率 33.51,PPL 为 nan)。
  • 全局正交变换 (RresR_{res}): +Rres+Rres 带来了最大的性能提升,将零样本准确率从 33.51 提高到 54.33。这表明全局旋转对齐数据分布对量化效果至关重要。
  • FFN down-projection 正交变换 (RdnR_{dn}): 随后的 +Rdn+Rdn 也带来了显著的改进,将零样本准确率提高到 61.75。这表明 FFN 层 内部的分布优化也很关键。
  • 缩放变换 (SresS_{res}, SudS_{u|d}, SqkS_{qk}, SovS_{ov}): 缩放变换在正交变换的基础上进一步提升了性能。例如,+Sres+Sres+Rres+Rres 的基础上将 PPL 从 9.70 降低到 9.46;+Sud+Su|d+Rdn+Rdn 的基础上将 PPL 从 6.16 降低到 6.00。这支持了 OSTQuant 的核心思想,即正交变换和缩放变换协同工作,通过平衡通道间方差来最小化量化损失。
  • KV 缓存注意力输出 相关变换 (RqkR_{qk}, SqkS_{qk}, RovR_{ov}, SovS_{ov}): 这些变换也持续带来了性能的提升,最终使零样本准确率达到 63.18。

不同流形优化器 (Different Manifold Optimizers) 以下是原文 Table 5 的结果,展示了不同优化器对 LLaMA 模型在 W4A4KV4 配置下 零样本 性能的影响。

ModelOptimizer TypeBest StepsBest LR1Best LR2Zero-Shot Score
LLaMA-2-7BCayley SGD1501.500.2063.11
Riemann SGD5000.100.0263.09
Riemann Adam1500.021e-363.18
LLaMA-2-13BCayley SGD2001.500.264.77
Riemann SGD5000.10.0265.19
Riemann Adam1500.020.00265.41

观察与分析:

  • RiemannAdam 表现最佳: RiemannAdam 在最少的迭代次数 (150) 下取得了最好的结果,无论是 LLaMA-2-7B (63.18) 还是 LLaMA-2-13B (65.41)。这表明它能够更有效地在 Stiefel 流形 上优化正交矩阵。
  • CayleySGDRiemannSGD CayleySGD 通常需要更高的学习率才能表现良好,而 RiemannSGD 则需要更多的迭代次数才能达到相似的性能。
  • 学习率设置: 实验发现,为 Stiefel 流形 参数设置的学习率比缩放变换参数的学习率大 10 倍左右,能够获得更好的结果。

KL-Top Losskk 的影响 (Influence of k in KL-Top loss) 以下是原文 Table 6 的结果,展示了不同 kk 值对 LLaMA-2 7B 在 W3-only 和 W4A4KV4 配置下 零样本 分数和 Wiki PPL 的影响。

SettingMetrick=5k=50k=100k=500k=1000k=5000k=10000
W3 OnlyZero-Shot9 Score61.8761.8861.7562.1862.3061.2561.21
Wiki PPL6.066.1166.136.076.066.066.12
W4A4KV4Zero-Shot Score62.462.1362.3862.3463.1862.4462.11
Wiki PPL5.995.965.955.965.965.935.94

观察与分析:

  • kk 值的影响: KL-Top loss 中的参数 kk 定义了计算 KL-Top loss 时考虑的类别数量,它平衡了优化难度与语义丰富性。过大或过小的 kk 值都会对优化产生负面影响。
  • 最佳 kk 值: 在 W3-only 和 W4A4KV4 配置下,将 kk 设置为 1,000 时产生了最佳结果(W3-only 零样本 62.30,W4A4KV4 零样本 63.18)。这表明选择一个合适的 kk 值能够有效地捕获主要语义信息,同时避免了长尾噪声。
  • softmax 应用时机: 实验还分析了在 Top-k 选择之前或之后应用 softmax 的效果。虽然具体结果未在表格中展示,但论文指出,将 kk 设置为 1,000 且经过适当处理后,能产生最佳结果。

7. 总结与思考

7.1. 结论总结

本文介绍了 OSTQuant,一种新颖的 训练后量化 (PTQ) 方法,旨在提高大语言模型 (LLMs) 的效率。OSTQuant 的核心贡献在于提出了 量化空间利用率 (QSUR) 这一新指标,它通过衡量数据在量化空间中的利用率,有效评估了转换后数据的可量化性。基于数学推导,QSUR 为优化单个数据分布提供了理论指导。

利用这一洞察,OSTQuant 采用由正交变换和缩放变换组成的可学习等价变换对,来全局优化权重和激活的分布。这种组合变换旨在最大化 QSUR,使数据分布更适合低比特量化。此外,为了解决 PTQ 中有限校准数据带来的挑战,OSTQuant 引入了 KL-Top loss 函数,通过关注预测分布的 Top k 高概率词元,有效减轻了优化过程中的噪声,并保留了更丰富的语义信息,从而避免了过拟合。

在各种 LLM 和基准测试上进行的广泛实验表明,OSTQuant 性能优于现有量化方法。在仅权重 4 比特 (W4-only) 设置下,它能保持超过 99.5% 的浮点精度。在更具挑战性的权重 4 比特、激活 4 比特、键值缓存 4 比特 (W4A4KV4) 配置中,OSTQuant 在 LLaMA-3-8B 模型上的性能差距比最先进 (SOTA) 方法减少了 32%。这些结果强调了优化量化空间中数据分布的有效性,并凸显了 OSTQuant 在推进 LLM 量化方面的潜力,使其在资源受限环境中部署更高效、更实用。

7.2. 局限性与未来工作

论文正文并未明确指出 OSTQuant 自身的具体局限性或未来的研究方向。然而,从其研究背景和方法设计中可以推断出一些潜在的考量:

  • 对高斯分布的假设: QSUR 的数学推导主要基于数据服从高斯分布的假设。虽然 LLM 权重和激活通常近似高斯分布,但在某些层或特定数据模式下,实际分布可能偏离高斯。在这种情况下,QSUR 作为优化目标的有效性可能需要进一步探讨。
  • 参数 kk 的敏感性: KL-Top loss 中的参数 kk 对模型性能有显著影响,目前通过实验经验确定其最佳值。未来工作可以探索更自适应或动态调整 kk 值的方法,以适应不同模型、不同任务或不同校准数据集的特点。
  • 硬件实现与融合的复杂性: 尽管论文指出变换可以融合到权重中,不引入运行时开销,但实际硬件平台对复杂矩阵运算(如正交变换)的优化支持程度可能不同。如何在更广泛的硬件架构上高效地实现和利用这些融合后的低比特权重,可能需要进一步的研究和定制化。
  • 校准数据的多样性与鲁棒性: 尽管 KL-Top loss 旨在缓解小规模校准数据的问题,但 OSTQuant 的性能仍然可能受到校准数据质量和代表性的影响。探索在极端有限或分布偏差的校准数据下,OSTQuant 的鲁棒性及其改进方法,也是一个值得研究的方向。
  • 动态量化或混合精度量化: OSTQuant 主要关注静态的低比特量化。未来可以探索如何将正交和缩放变换的思想应用于动态量化 (dynamic quantization) 或混合精度量化 (mixed-precision quantization) 场景,以实现更灵活的性能-效率权衡。

7.3. 个人启发与批判

个人启发:

  1. 定量指标的重要性: QSUR 的提出是一个重要的启发。它将量化优化从经验主义和启发式方法提升到了理论指导的层面。通过一个可量化的指标来评估数据分布的“量化友好性”,可以更清晰地理解不同变换的作用,并指导更有效的算法设计。这对于其他复杂的优化问题也具有借鉴意义,即寻找或定义一个能够精准反映优化目标的指标是成功的关键。
  2. 变换的协同作用: OSTQuant 结合正交变换和缩放变换来优化数据分布,这是一个优雅的解决方案。正交变换通过旋转来调整数据方向,以处理异常值和不均匀的主轴,而缩放变换则平衡通道间的方差。这种分工合作的模式,比单一变换更具表现力,能够更全面地重塑数据分布,使其更接近理想的量化形态。
  3. 小数据量下知识蒸馏的改进: KL-Top loss 是一个非常实用的创新。在 PTQ 这种通常只有少量校准数据的场景下,如何有效利用全精度模型的“知识”来指导量化模型的优化,同时避免过拟合和长尾噪声,是一个普遍存在的难题。KL-Top loss 通过聚焦 Top k 概率,巧妙地在信息丰富度和噪声抑制之间取得了平衡,对于其他涉及小样本学习或知识蒸馏的场景也很有参考价值。
  4. 计算不变性与融合的优势: 变换在量化前保持数学等价性,并在部署时融合到权重中,实现了零推理开销。这种设计既保证了优化的灵活性和有效性,又兼顾了实际部署的效率,是工程与理论结合的典范。

批判与潜在改进:

  1. QSUR 的普适性: 尽管 QSUR 的概念具有吸引力,但其推导依赖于数据近似高斯分布的假设。实际 LLM 的激活分布可能在某些层表现出非高斯特性,例如稀疏性或更复杂的非线性结构。在这些情况下,QSUR 是否仍然是最优的评估指标?或者是否需要针对非高斯分布提出更广义的利用率指标?
  2. Riemannian Optimization 的复杂度: RiemannAdam 优化器在 Stiefel 流形 上进行优化,这相对于普通的欧几里得空间优化器来说,理论和实现上都更为复杂。尽管论文强调了其高效性,但其收敛性、超参数调优的敏感性以及对不同硬件平台的兼容性仍可能是实际应用中需要深入考量的问题。
  3. 初始化策略的依赖性: WOMI 提供了正交矩阵的初始化策略。初始化对优化过程至关重要,特别是对于非凸优化。更鲁棒或自适应的初始化方法(例如,考虑特定层或特定模型的统计特性)可能进一步提升 OSTQuant 的性能或收敛速度。
  4. KL-Top losskk 值的选取: k=1000k=1000 是通过实验得到的经验值。虽然这在当前任务上表现良好,但对于不同规模的 LLM、不同类型的任务(例如代码生成、多模态任务)或不同大小的词汇表,最佳 kk 值可能不同。开发一种能够自动或半自动确定 kk 值的方法,可以使 KL-Top loss 更具通用性和鲁棒性。
  5. 与其他量化范式的结合: OSTQuant 展现了静态 PTQ 的强大能力。未来可以探索其与更先进的量化范式结合的可能性,例如:
    • 混合精度量化 (Mixed-Precision Quantization): 某些层可以保持较高精度,而其他层量化到 4 比特。OSTQuant 的分布优化思想能否指导不同层间的精度分配?

    • 量化感知训练 (Quantization-Aware Training, QAT): 如果有少量训练数据可用,将 OSTQuant 的变换思想融入 QAT 框架,可能会进一步提升性能上限。

      总而言之,OSTQuant 在理论和实践上都取得了显著进步,特别是在低比特 LLM 量化领域。其提出的 QSURKL-Top loss 具有重要的启发意义。通过进一步探索其局限性并与其他先进技术结合,有望为 LLM 的高效部署开辟更广阔的道路。

相似论文推荐

基于向量语义检索推荐的相关论文。

暂时没有找到相似论文。