
Conference: ICML'26
Abstract (摘要)
4-bit 量化能够显著减少大型语言模型(LLMs)推理时的显存占用并降低延迟,但激进的精度压缩往往会导致模型准确率严重下降。之前的方法通常通过将每个权重矩阵分解为两个组件来解决这个问题(例如,通过奇异值分解 SVD),并分别对它们进行量化:将大部分数值分配给低精度(如 4-bit)的残差(residual)组件,同时使用高精度(如 FP16)的低秩(low-rank)组件来处理异常值(outliers)。然而,这类传统的分解方法旨在最小化残差的实数域能量(real-valued energy),而不是最小化残差和低秩组件在量化后的误差(post-quantization error)。
为了解决这一问题,本文提出了 TwinQuant,这是一种针对 LLMs 的 4-bit 量化框架。该框架能够学习到“量化友好(quantization-friendly)”的分解子空间,并联合重塑低秩组件和残差组件的分布。TwinQuant 通过在斯蒂费尔流形(Stiefel manifold,正交约束)和一般线性流形(general linear manifolds)上进行联合优化,学习特定于组件的变换矩阵,从而展平它们的数据分布并减少动态范围的不平衡。为了实现端到端的高效执行,作者进一步设计了一个融合的双组件计算核(fused dual-component kernel),该算子将两阶段的低秩计算在片内(on-chip)流水线化,并在单个 epilogue(收尾阶段)中将两个组件合并,从而完全避免了中间结果导致的全局内存读写(global-memory traffic)。
在 LLaMA3 和 Qwen3 模型上的实验表明,TwinQuant 能够保持接近 FP16 的精度,并相比于 FP16 基线实现了高达 1.8 倍的端到端加速。
1. Introduction (引言)
大型语言模型(LLMs)已成为对话助手、医疗决策支持和代码生成等领域的核心基础设施。随着模型参数从 7B 扩展到 70B 甚至超过 600B,推理过程越来越受到大型矩阵乘法的支配,这放大了计算和内存访问的成本,造成了关键的部署瓶颈。
为了缓解这一压力,现代加速器原生支持了低精度计算(如 NVIDIA Blackwell 架构上的 FP8/FP4)。同时,**训练后量化(PTQ, Post-Training Quantization)**技术将权重和运行时激活值压缩为低比特格式,减少了显存占用并提高了吞吐量,使量化成为高效 LLM 服务的关键技术。
然而,将权重和激活值激进地量化到低比特通常会导致精度的巨大下降。这是因为它们具有**重尾(heavy-tailed)和高度各向异性(highly anisotropic)**的统计特征,异构组件耦合在同一个张量中,导致量化误差被少数特定方向和大幅值(即异常值)所主导。早期的方法应用缩放和矩阵变换在量化前重新分布权重和激活值,但它们主要是在不同的坐标系中重新表达张量,并没有消除其固有的各向异性:少数主导方向仍然决定了动态范围,迫使所有组共享有限的 4-bit 缩放因子(scales),留下了仅仅靠重新分布无法消除的严重失真。
更近期的方法(如 SVDQuant)超越了单一空间,将每个权重分解为两个组件:截断 SVD 可以将异常值吸收到一个很小的高精度低秩分支中,同时对残差进行量化。当奇异值快速衰减时(如扩散模型中),微小的秩(tiny rank)就能保留大多数异常值。
然而,在主流 LLMs 中,作者通过实验观察到奇异值衰减非常缓慢(详见 Section 3),因此微小的秩无法吸收足够的异常值。这就产生了一个“困境”:
- 增加秩(Rank): 会增加巨大的内存和计算开销(因为低秩部分是高精度的)。
- 保持较小的秩: 会留下一个带有尖锐异常值的巨大残差矩阵,导致严重的 4-bit 精度损失。
为了打破这一权衡,本文提出了 TwinQuant,这是一个基于可学习子空间分解(learnable subspace decomposition)的 LLM 双分支 4-bit 量化框架。它学习如何在有限的秩预算下,将每个权重拆分为两个互补的组件,并使这两个组件对量化都是友好的(即都可以被量化到 4-bit)。通过学习这种分解,TwinQuant 重塑了每个组件的统计特性,使其更适应低比特量化器(例如,减少动态范围和方向偏斜),从而在不增加截断秩或引入大量额外计算/内存开销的情况下,降低 4-bit 失真。
如果采用一种“朴素(naive)”的策略——即先进行 SVD 分解,然后分别训练低秩和残差组件的量化参数,会面临两个实际问题:
- 在所有层和两个组件上微调这些参数会引入不小的训练开销,往往接近完整的量化感知训练(QAT)的成本;
- 两个组件是强耦合的:残差是由低秩重构未能捕捉到的部分定义的,因此更新一个组件的量化会改变另一个组件所看到的“有效分布”,使得联合校准变得不稳定且难以协调。
受到基于旋转的量化(rotation-based quantization,利用正交矩阵平滑异常值)的启发,TwinQuant 使用了参数高效的全局(global)和特定层(layer-specific)的变换矩阵,自适应地重新分配低秩和残差组件的子空间,直接最小化量化误差。这些变换在离线时可以无缝折叠(folded)到权重中,在推理时不会产生额外开销。为了进一步降低双组件计算的运行时成本,作者设计了一个专用算子(kernel),将两个组件的执行联合起来,同时最小化内存访问开销。
本文的主要贡献总结如下:
- TwinQuant 框架: 提出了一种 LLMs 4-bit 量化范式,通过学习量化友好的分解子空间,高效地在低秩和残差组件之间重新分配信息。
- 联合优化方案(Joint Optimization Scheme): 引入了在斯蒂费尔流形(Stiefel manifolds)和一般线性流形(general linear manifolds)上的联合优化方案,为两个组件学习更好的特定变换,以最小化端到端的量化误差。
- 融合的双组件核(Fused Dual-Component Kernel): 设计了一个算子,将两阶段的低秩计算在片内流水线化,并在单个 epilogue 中合并两个组件,减少了 Kernel 启动次数并避免了中间过程的全局内存读写。
- 实验验证: 在主流 LLMs 及工作站/服务器级 GPU 上进行了广泛评估,证明 TwinQuant 在实现高达 1.8 倍加速的同时,保留了接近 FP16 的精度。
2. Background & Related Work (背景与相关工作)
量化是一种广泛用于加速 Transformer 层中线性算子的技术,通过降低算术精度来实现。对于一个张量 $\mathbf{X}$,对称量化定义为:
$$ \mathbf{Q}{X} = \text{round}\left(\frac{\mathbf{X}}{s{X}}\right), \quad s_{X} = \frac{\max(|\mathbf{X}|)}{q_{\max}} \quad (1) $$
其中,$\mathbf{Q}{X}$ 是 $\mathbf{X}$ 的整数表示,$s{X}$ 是缩放因子(scaling factor),$q_{\max}$ 是最大可表示的整数(对于带符号的 $k$ 位整数,$q_{\max} = 2^{k-1} - 1$)。反量化后的张量表示为 $\mathcal{Q}(\mathbf{X}) = s_{X} \mathbf{Q}_{X}$。
对于具有激活值 $\mathbf{X} \in \mathbb{R}^{b \times m}$ 和权重 $\mathbf{W} \in \mathbb{R}^{m \times n}$ 的线性层:
$$ \mathbf{X}\mathbf{W} \approx \mathcal{Q}(\mathbf{X})\mathcal{Q}(\mathbf{W}) = s_{X}s_{W} \cdot \mathbf{Q}{X}\mathbf{Q}{W} \quad (2) $$
为了利用现代 GPU 上的低精度计算单元,$\mathbf{Q}{X}$ 和 $\mathbf{Q}{W}$ 通常使用相同的位宽。量化误差定义为 $\mathbf{E}_{X} = \mathbf{X} - \mathcal{Q}(\mathbf{X})$。
Per-channel Scaling(逐通道缩放): 输入激活值通常含有丰富的异常值。常见的方法是对权重和激活应用通道级缩放:
$$ \hat{\mathbf{X}}\hat{\mathbf{W}} = (\mathbf{X}\text{diag}(\lambda)^{-1}) \cdot (\text{diag}(\lambda)\mathbf{W}) $$
其中 $\lambda$ 是可以离线折叠到模型权重中的缩放因子。
Low-Rank Decomposition(低秩分解): SVDQuant 等工作表明,将经过缩放的权重进行 SVD 分解,能够将大部分异常值吸收到低秩组件中(保持高精度),而将剩余的残差量化为低精度:
$$ \hat{\mathbf{Y}} = \hat{\mathbf{X}}\hat{\mathbf{W}} \approx \mathcal{Q}(\hat{\mathbf{X}})\mathbf{U}\mathbf{V} + \mathcal{Q}(\hat{\mathbf{X}})\mathcal{Q}(\mathbf{R}) \quad (3) $$
其中 $\mathbf{R} \in \mathbb{R}^{m \times n}$ 是残差组件,$\mathbf{U} \in \mathbb{R}^{m \times r}$ 和 $\mathbf{V} \in \mathbb{R}^{r \times n}$ 是通过 SVD 获得的低秩分支。
3. Motivation (动机)


TwinQuant 的提出基于对现有大模型量化行为的三个核心观察:
-
Observation 1: LLM Weights Exhibit Slow Singular Value Decay(观察1:LLM 权重表现出缓慢的奇异值衰减)。 SVDQuant 的有效性依赖于一个关键假设:奇异值频谱衰减迅速。因此,较小的秩(如 rank=32)足以吸收异常值,留下容易量化的残差。然而,如图 1a 所示,LLaMA3-8B 的奇异值衰减非常缓慢,甚至在 $r \approx 256$ 之后仍保持相对平坦。这表明许多方向仍携带不可忽视的能量,小秩设定对 LLM 的权重分解是不够的。
-
Observation 2: Slow Spectral Decay Creates a Rank–Overhead Dilemma(观察2:缓慢的频谱衰减造成了“秩-开销”困境)。 如图 1b 所示,$29^{\text{th}}$ 层的 rank=32 会产生大量的残差误差,而 rank=256 显著减少了这些误差,说明高秩能吸收更多大振幅方向。但在线计算成本随 $r$ 线性增长:以 FP16 存储 $\mathbf{U}\mathbf{V}$ 会引入 $r(m+n)$ 个额外参数。在 LLaMA3-8B 中,$r=256$ 时低秩部分的参数量占据了 4-bit 残差组件存储的 $\sim 50%$,使得分解失去了实际加速意义。结论:为了使低秩分解在实践中受益,低秩组件也必须被存储和计算为 4-bit。
-
Observation 3: Directly Quantizing the Low-Rank Component Introduces Large Error(观察3:直接量化低秩组件会引入巨大误差)。 如果将 SVD 得到的低秩组件也强行量化为 4-bit,会引入显著的误差,抵消分解的收益。图 2 显示了直接量化 SVD 低秩组件的高度偏斜的误差分布:一小部分分组产生了极大的失真。主要原因是低秩组件通常是尺度不平衡(scale-imbalanced)且重尾(heavy-tailed)的,4-bit 量化对此表示能力极差。即使插入固定的正交变换(如 Hadamard 矩阵)也收效甚微,因为各层统计分布差异极大,固定的变换无法普适性地降低失真。
这些观察激发了作者提出可学习的子空间分解(learnable subspace decomposition),通过重塑权重分布直接最小化量化误差。
4. Method (核心方法与设计)

本节从算法和系统两个层面详细剖析 TwinQuant(整体框架如上图 Figure 3 所示)。其核心思想不仅是做单纯的SVD分解,而是引入可学习的矩阵来重新参数化分解后的空间,使得残差矩阵和低秩矩阵都非常适合 4-bit 量化。
4.1 Theory-Guided Re-parameterization over Dual Decomposed Subspaces (理论指导下的双分解子空间重参数化)
主要目标是重塑低秩组件、残差组件和激活值的数值分布,以最小化整体的量化误差:
$$ \Delta = \hat{\mathbf{Y}} - \mathcal{Q}(\hat{\mathbf{X}}) [\mathcal{Q}(\mathbf{U}) \mathcal{Q}(\mathbf{V}) + \mathcal{Q}(\mathbf{R})] \quad (4) $$
误差分解(Error Decomposition): 假设所有量化噪声相互独立且独立于信号,则期望的平方误差可分解为三部分的和(详见 Appendix A.1):
$$ \mathbb{E}\left[|\Delta|F^2\right] \approx \underbrace{\mathbb{E}\left[|\mathbf{E}{\hat{X}}\hat{\mathbf{W}}|F^2\right]}{\text{Activation Error}} + \underbrace{\mathbb{E}\left[|\hat{\mathbf{X}}\mathbf{E}{\hat{W}{UV}}|F^2\right]}{\text{Low-Rank Weight Error}} + \underbrace{\mathbb{E}\left[|\hat{\mathbf{X}}\mathbf{E}_{R}|F^2\right]}{\text{Residual Weight Error}} \quad (5) $$
其中 $\mathbf{E}{\hat{W}{UV}} = \mathbf{E}{U}\mathbf{V} + \mathbf{U}\mathbf{E}{V}$。该公式表明,总误差是由激活、低秩因子和残差权重的量化误差共同决定的。在固定的 SVD 分解下直接量化这三部分是次优的。
引入变换矩阵: TwinQuant 引入了两个互补的变换矩阵:
- $\mathbf{G} \in \mathbb{R}^{r \times r}$(Layer-specific Invertible Matrices):特定于各层的可逆矩阵,用于重新分布低秩组件并降低低秩权重误差。
- $\mathbf{Q} \in \mathbb{R}^{m \times m}$(Global Orthogonal Matrices):全局的正交矩阵,用于联合重塑激活分布和残差分布,目标是降低激活误差和残差误差。
这两个矩阵不是简单地预处理固定的分解,而是让量化后的低秩和残差表示变为可学习的。作者构建如下的校准重构损失(Calibration Reconstruction Loss):
$$ \mathbf{G}^, \mathbf{Q}^ = \arg\min_{\mathbf{G},\mathbf{Q}} \left| \hat{\mathbf{Y}} - \mathcal{Q}(\hat{\mathbf{X}}\mathbf{Q}) \left[ \mathcal{Q}(\mathbf{Q}^{-1}\mathbf{U}\mathbf{G}) \mathcal{Q}(\mathbf{G}^{-1}\mathbf{V}) + \mathcal{Q}(\mathbf{Q}^{-1}\mathbf{R}) \right] \right|_F^2 \quad (6) $$
通过优化上述目标函数,作者得到了变换后的因子: $\mathbf{U}’ = \mathbf{Q}^{-1}\mathbf{U}\mathbf{G}$,$\mathbf{V}’ = \mathbf{G}^{-1}\mathbf{V}$ 以及 $\mathbf{R}’ = \mathbf{Q}^{-1}\mathbf{R}$。这些变换在离线阶段可以被吸收到模型参数中,不会增加运行时的负担。
理论保证(Theorem 4.1): 对于任意正交变换 $\mathbf{Q}$ 和可逆变换 $\mathbf{G}$,重参数化子空间产生的预期量化误差 $\mathbb{E}[|\Delta’|_F^2]$ 满足:
$$ \mathbb{E}\left[|\Delta’|_F^2\right] \leq \frac{\mathbb{E}\left[|\Delta|_F^2\right]}{\min(\zeta(\mathbf{Q}, \hat{\mathbf{X}}), \eta(\mathbf{G}, \mathbf{Q}))} \quad (7) $$
其中,激活展平增益 $\zeta$ 和低秩重参数化增益 $\eta$ 被定义为变换前后范数的比值。定理证明了如果能找到合适的 $\mathbf{Q}$ 和 $\mathbf{G}$ 最大化这些增益,就可以严格约束并降低整体量化误差。
$$ \zeta(\mathbf{Q}, \hat{\mathbf{X}}) \triangleq \frac{\mathbb{E}\left[|\hat{\mathbf{X}}|{\infty}^2\right]}{\mathbb{E}\left[|\hat{\mathbf{X}}\mathbf{Q}|{\infty}^2\right]}, \quad \eta(\mathbf{G}, \mathbf{Q}) \triangleq \frac{\mathbb{E}\left[|\mathbf{U}|_{\infty}^2 |\mathbf{V}|F^2 + |\mathbf{V}|{\infty}^2 |\mathbf{U}|F^2\right]}{\mathbb{E} \left[|\mathbf{U}’|{\infty}^2 |\mathbf{V}’|F^2 + |\mathbf{V}’|{\infty}^2 |\mathbf{U}’|_F^2\right]} \quad (8) $$
4.2 Joint Optimization on Stiefel and General Linear Manifolds (流形上的联合优化)
由于公式 (6) 包含不可导的量化操作($\mathcal{Q}$),且 $\mathbf{G}$ 和 $\mathbf{Q}$ 通过多个双线性项强耦合,直接求解是高度非凸的。因此,TwinQuant 在小批量校准集上进行基于梯度的 PTQ 优化。优化目标被定义为:
$$ \mathbf{Q}1^, \mathbf{Q}_2^, \mathbf{G}^* = \arg\min{\mathbf{Q}_1, \mathbf{Q}2 \in \mathcal{M}, \mathbf{G} \in \mathcal{G}} \mathcal{L}{\mathcal{Q}}(\mathbf{Q}_1, \mathbf{Q}_2, \mathbf{G} \mid \hat{\mathbf{W}}, \hat{\mathbf{X}}) \quad (9) $$
混合流形优化器(Hybrid Manifold Optimizer)的设计极其巧妙:
- 对于全局矩阵 $\mathbf{Q}_1, \mathbf{Q}_2$: 必须约束在**斯蒂费尔流形 $\mathcal{M}$(Stiefel manifold,正交矩阵集 $\mathbf{Q}^T\mathbf{Q}=\mathbf{I}$)**上。原因在于,$\mathbf{Q}$ 的逆矩阵必须跨越 RMSNorm 算子融合到前一层的权重中。只有正交矩阵才能保持数值一致性。作者使用 Cayley SGD 法则对其进行更新:
$$ \mathbf{Q}^{(t+1)} = \left( \mathbf{I} - \frac{\alpha}{2}\mathbf{Y} \right)^{-1} \left( \mathbf{I} + \frac{\alpha}{2}\mathbf{Y} \right) \mathbf{Q}^{(t)}, \quad \mathbf{Y} = \hat{\mathbf{O}} - \hat{\mathbf{O}}^T \quad (10) $$
- 对于特定层矩阵 $\mathbf{G}$: 它作用于内部的秩空间,不涉及跨层融合,因此放宽到一般线性流形 $\mathcal{G} = \text{GL}(n, \mathbb{R})$(可逆矩阵集)。这赋予了 $\mathbf{G}$ 额外的缩放和剪切自由度($n^2$ 个自由度,而正交矩阵只有 $\frac{n(n-1)}{2}$ 个),能更好地吸收量化的各向异性。为确保其始终可逆,采用学习的极坐标参数化 $\mathbf{G} = \mathbf{P}\mathbf{S}$,其中 $\mathbf{P} \in \mathcal{M}$ 使用 Cayley 法则更新,$\mathbf{S}$ 是对称正定矩阵:$\mathbf{S} = e^{\gamma}(\mathbf{L}\mathbf{L}^T)$。并在训练时引入条件正则化项 $\lambda \sum(|\text{diag}(\mathbf{L})|^2 + \gamma^2)$ 来保持 $\mathbf{G}$ 在初始化时接近恒等矩阵。
分阶段解耦训练(Stage-Wise Decoupling Training): 为了防止联合微调时产生梯度冲突(因为 $\mathbf{U}$ 受到 $\mathbf{Q}$ 和 $\mathbf{G}$ 的双重调制),设计了三阶段训练策略:
- Global Alignment(全局对齐): 只训练 $\mathbf{Q}_1, \mathbf{Q}_2$,对齐全局特征分布。
- Invertible Adaptation(可逆自适应): 冻结全局旋转,优化 $\mathbf{G}$ 最小化逐层量化误差。
- Joint Refinement(联合微调): 全面放开,同时微调所有参数 ${\mathbf{Q}_1, \mathbf{Q}_2, \mathbf{P}, \mathbf{L}, \gamma}$,以达到更平滑的收敛。
4.3 Dual-Component Kernel Design (融合的双组件核算子设计)

即使低秩组件理论上的计算量很小,将其作为独立组件在 GPU 上执行仍会产生严重的访存和延迟开销。TwinQuant 将残差和低秩组件同时量化到了 4-bit,这引入了极具挑战性的系统问题: 低秩路径是一个两阶段计算($\mathbf{X}\mathbf{U}$ 然后再乘 $\mathbf{V}$),而 4-bit 的 TensorCore GEMM 只能接收 4-bit 输入。第一个 4-bit GEMM(算 $\mathbf{X}\mathbf{U}$)会输出 INT32 的中间累加结果 $\mathbf{P}$。如果天真地将 $\mathbf{P}$ 写回全局内存,再重新加载并量化为 4-bit 给第二个 GEMM(乘 $\mathbf{V}$),这个内存往返(global memory traffic)的耗时将彻底掩盖低秩计算带来的好处。
为了解决这个问题,作者设计了一个Fused Two-stage Low-rank Pipeline(融合的两阶段低秩流水线),其工作流如 Figure 4 所示:
- 单次激活量化: 输入的激活 Tile 在片上(on-chip)仅量化一次,然后复用于残差 GEMM 和低秩的第一个 GEMM。
- 动态重量化(On-the-fly scaling): 第一个低秩 GEMM 产生 INT32 的中间结果 $\mathbf{H}$。算子在共享内存(Shared Memory)中直接利用累加器估算出一个中间的缩放因子 $s_H$,并在片上**动态地(on-the-fly)**将 $\mathbf{H}$ 重新量化为 packed 4-bit 的张量 $\mathbf{Q}_H$。
- 消除中间内存往返: $\mathbf{Q}_H$ 直接作为第二个 4-bit GEMM 的输入。整个过程 $\mathbf{H}$ 完全不落盘(不写入 Global Memory)。
- 单一收尾阶段(Single Epilogue): 在寄存器级别,将残差计算的输出和第二段低秩计算的输出累加,应用折叠好的比例因子后,转换为 FP16,最后只进行一次全局写回(Global Store)。这种设计完美避开了带宽瓶颈。
5. Experiments (实验与评估)
本节通过大量实验证明了 TwinQuant 的有效性。其详尽的评估涵盖了模型规模、量化比特设置、硬件平台及消融分析等多个维度。
5.1 Setups (实验设置)
- 模型与指标: 评估了开源社区两大主流架构:LLaMA3 (3B/8B) 和 Qwen3 (4B/8B/14B/32B)。在 WikiText2 验证集上提取 128 个 prompts 作为校准集。使用 WikiText2 Perplexity(困惑度)和 6 个 Zero-shot 任务(ARC-C, ARC-E, HellaSwag, LAMBADA, PIQA, WinoGrande)的平均准确率(lm-eval 测试)作为核心指标。
- Baselines(基线对比): 对比了 8 种领先的 PTQ 方法,包括:RTN, GPTQ, AWQ, SmoothQuant, 以及最新的基于 SOTA 旋转/SVD的方法:QuaRot, SpinQuant, FlatQuant, SVDQuant。
- 硬件平台:
- Environment 1(工作站): NVIDIA RTX 4090 (24 GB) + Intel Xeon Gold 6430 CPU。
- Environment 2(推理服务器): NVIDIA L20 (48 GB) + Intel Xeon Platinum 8457C CPU。
- 量化配置: 默认使用 group-wise 量化(组大小 128),TwinQuant 的默认秩设为 $r=128$。对于基线,表示为 WxA y(例如 W4A8 表示 4-bit 权重和 8-bit 激活)。
5.2 Accuracy Results (准确率结果)

Table 1 展示了 LLaMA3 和 Qwen3 在 WikiText2 上的困惑度和 Zero-shot 平均准确率。
- W4A8 设置下(权重 4-bit,激活 8-bit): TwinQuant 取得了与最强基线相当的困惑度,极其接近 FP16 无损精度。例如,在 Qwen3-32B 上,它将困惑度从 10.9 (SpinQuant) 降低到 9.9。需要注意的是,部分基线(如 SmoothQuant)在对激活进行量化后出现了性能崩塌,而 TwinQuant 表现出对激活量化噪声极强的鲁棒性。
- 更具挑战性的 W4A4 设置下(全 4-bit 量化): 许多 PTQ 方法(如 RTN, SmoothQuant)在全 4-bit 下困惑度爆炸。TwinQuant 显著优于基于旋转的 QuaRot(在 Qwen3 系列上降低了 2.9~11.3 的困惑度),并且通常与基于仿射变换的 FlatQuant 表现相当甚至更好。 特别地,相比于目前最先进的 SVDQuant(使用 rank=32 的 FP16 分支),将低秩分支也量化为 4-bit 的 TwinQuant 仍然实现了 0.6–3.1 points 的困惑度下降和 0.9–2.7 points 的准确率提升。这直接证明了 TwinQuant 可学习子空间的优越性:在不依赖 FP16 低秩补偿的情况下,通过重塑分布实现了更好的 W4A4 精度保留。
(更多详细数据见原附录 Table 4 和 Table 5,TwinQuant 在各项具体 Zero-shot 任务如 PIQA, HellaSwag 上均表现优异且不曾出现灾难性衰减。)

5.3 Speed Measurement (速度/吞吐量测量)

Figure 5 展示了序列长度为 1024 输入和 256 输出时的端到端吞吐量对比。
- 相较于 FP16 TensorRT-LLM,TwinQuant 在 RTX 4090 上实现了 1.63–1.8× 的加速,在 L20 上实现了 1.32–1.73× 的加速。
- 相较于当前最先进的 W4A4 量化系统,TwinQuant 的融合算子展现出明显优势:相较于 QuaRot 有平均 2.04× 的提升,相较于 FlatQuant 有 1.59× 的提升,即使与 SVDQuant (rank=128) 相比,仍能取得高达 1.07× 的加速。这证明了其设计的 Fused Dual-Component Kernel 完美释放了现代 GPU 4-bit 推理的效率潜力。
(附录 Table 6 和 Table 7 进一步通过 Profiling 显示了 Kernel Fusion 在 Attention 和 MLP 层带来的巨大收益,消除中间内存读写在 decode 阶段平均带来了约 2.0x 的 kernel 级加速。)
5.4 Sensitivity Analysis of the Rank Number (截断秩的敏感性分析)

Table 2 和 Figure 6 展示了精度与计算效率之间的清晰权衡。
- 将秩 $r$ 从 32 增加到 128 时,模型质量大幅提升:平均 Zero-shot 准确率从 68.0 增至 70.9,困惑度从 11.3 降至 9.4。
- 然而,超过 $r=128$ 之后收益迅速饱和。当 $r=256$ 时,虽然准确率提升了微不足道的 0.2,但低秩路径的内存和延迟开销翻倍(从 $r=128$ 的 4.9% 和 4.3% 飙升至 9.9% 和 8.7%)。
- 因此,实验表明超高秩(>128)性价比很低,默认设置 $r=128$ 能取得最优的准确率-开销权衡(Trade-off)。
5.5 Ablation study (消融研究)

Table 3 拆解了 TwinQuant 各个模块带来的增益:
- Naive 4-bit: 无分解直接量化至 W4A4,性能严重降级(LLaMA3-8B 准确率仅 41.7%,PPL 高达 91.6)。
- +Low-Rank (SVD): 引入 SVD 分解并将双分支都量化为 4-bit,大幅恢复了精度(准确率 61.1%,PPL 19.6)。
- +Hadamard: 使用固定的正交矩阵打乱分布,进一步提升了性能(准确率 64.9%,PPL 12.4)。
- TwinQuant (Full): 将固定变换替换为可学习的 $\mathbf{Q}$ 和 $\mathbf{G}$(即本文核心创新),在 LLaMA3-8B 上将准确率推高至 70.9%,PPL 降至 9.4。这强有力地证明了“特定组件的可学习变换”远优于硬编码的正交变换。
5.6 Quantization Error Analysis (量化误差分析)

Figure 7 直观对比了基于 SVD 的分解和 TwinQuant 可学习分解的组件级量化误差分布。
- 在**低秩组件(图 7a)和残差组件(图 7b)**上,可学习变体均一致地抑制了长尾误差尖峰(图中大量红色的突刺消失了)。
- 原因剖析:残差分支的误差下降得益于全局旋转 $\mathbf{Q}$ 平滑了残差分布;而低秩分支的改善则来源于双重因素:$\mathbf{Q}$ 对齐了权重空间降低了异常值集中度,以及特定层变换 $\mathbf{G}$ 使低秩因子专门适应了该层的统计特性,将低秩子空间变得高度“量化友好”。
5.7 Overhead of Low-Rank Component (低秩组件的系统开销分析)

Figure 8 分析了额外引入的 4-bit 低秩分支对 6 个模型的显存和延迟开销。
- 由于低秩分支也量化为了 4-bit,显存开销被严格限制在 3.5%–7.3% 之间。一个明显的趋势是,模型维度越大,固定的秩($r=128$)占据的相对开销就越小(Qwen3-32B 仅 3.5%)。
- 在运行时侧,延迟开销同样很小(3.8%–8.2%)。这完全归功于作者巧妙设计的 Dual-component fused kernel,它通过协同调度将额外的低秩计算彻底隐藏在端到端的执行流水线中,避免了成比例的性能拖累。
5.8 Offline Overhead (离线校准开销)
(依据 Appendix Table 8 数据) 离线优化在 2× RTX Pro 6000 上进行,LLaMA3-3B 需 27 分钟,Qwen3-32B 需 389 分钟。实际上,真正用于“量化阶段(Quantization Time)”的时间极短(6个模型分别仅耗时 8~38 分钟,仅占总预算的 10-30%)。这意味着该流水线仅引入了中等的预处理时间,在 LLM 长期部署提供服务的场景中,这部分一次性的离线开销是完全可以被摊薄和接受的。
6. Limitations and Future Work (局限性与未来工作)
虽然 TwinQuant 在主流稠密 LLM 上展现出强大的精度和效率,但仍存在部分局限性,指明了未来的研究方向:
- 架构扩展(Architecture Extension): 目前评估主要集中在密集型语言模型(Dense LLMs)。将其扩展到混合专家(MoE)架构和多模态模型需要进一步研究,因为专家路由(expert routing)和跨模态模块可能引入截然不同的激活和权重分布。
- 硬件普适性(Hardware Universality): 目前融合的双组件 Kernel 高度针对评估的 NVIDIA GPU 平台进行了优化。要广泛部署在其他 AI 加速器架构上,可能需要额外的底层算子适配和调优。
- 长上下文评估(Ultra-long Context): 尽管实验涵盖了代表性的推理设置,但 TwinQuant 在超长上下文(ultra-long context)工作负载下的有效性和系统行为仍需进一步验证。
- 离线校准时间(Offline Calibration Cost): 可学习的变换矩阵需要基于校准数据进行离线优化,引入了额外的预处理时间,促使未来研究探索更轻量级或数据高效(data-efficient)的优化方法。
7. Conclusion (结论)
在这项工作中,作者提出了 TwinQuant,这是一个 4-bit PTQ 框架,旨在不牺牲准确率的前提下提高低精度 LLM 推理的吞吐量。
TwinQuant 引入了可学习的子空间分解(learnable subspace decomposition),将每个权重拆分为低秩组件和残差组件,并通过在斯蒂费尔流形和一般线性流形上的联合优化方案来学习特定于组件的变换矩阵,从而减少它们的动态范围和量化误差。为了保持双组件推理的高效性,作者开发了一个定制的融合 4-bit 算子(fused 4-bit kernel),该算子将两阶段的低秩路径完全在片内流水线化,并在一次 epilogue(收尾阶段)和内存写回中将其与残差路径完美合并。
跨越主流 LLMs 和现代 GPU 的实验证明,TwinQuant 能够将完全 4-bit 量化的精度保持在距离 FP16 基线 0.6–2.6 个平均准确率点之内,并实现高达 1.8 倍的推理加速。它成功地打破了 LLM 量化中长期存在的“分解质量与计算开销”的两难困境,为下一代端到端 4-bit 大模型部署提供了一个极具吸引力的解决方案。
