<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Quantization on JJ&#39;s Blog</title>
    <link>https://jjl357.github.io/blog/tags/quantization/</link>
    <description>Recent content in Quantization on JJ&#39;s Blog</description>
    <generator>Hugo -- 0.152.2</generator>
    <language>zh-cn</language>
    <lastBuildDate>Mon, 01 Jun 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://jjl357.github.io/blog/tags/quantization/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>📝 TwinQuant: Learnable Subspace Decomposition for 4-Bit LLM Quantization - ICML&#39;26</title>
      <link>https://jjl357.github.io/blog/posts/twinquant---learnable-subspace-decomposition-for-4-bit-llm-quantization---icml26/</link>
      <pubDate>Mon, 01 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://jjl357.github.io/blog/posts/twinquant---learnable-subspace-decomposition-for-4-bit-llm-quantization---icml26/</guid>
      <description>&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://jjl357.github.io/blog/image/TwinQuant/title.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Conference:&lt;/strong&gt; &lt;strong&gt;ICML&#39;26&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id=&#34;abstract-摘要&#34;&gt;Abstract (摘要)&lt;/h2&gt;
&lt;p&gt;4-bit 量化能够显著减少大型语言模型（LLMs）推理时的显存占用并降低延迟，但激进的精度压缩往往会导致模型准确率严重下降。之前的方法通常通过&lt;strong&gt;将每个权重矩阵分解为两个组件&lt;/strong&gt;来解决这个问题（例如，通过奇异值分解 SVD），并分别对它们进行量化：将大部分数值分配给低精度（如 4-bit）的残差（residual）组件，同时使用高精度（如 FP16）的低秩（low-rank）组件来处理异常值（outliers）。然而，&lt;strong&gt;这类传统的分解方法旨在最小化残差的实数域能量（real-valued energy），而不是最小化残差和低秩组件在量化后的误差（post-quantization error）&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;为了解决这一问题，本文提出了 &lt;strong&gt;TwinQuant&lt;/strong&gt;，这是一种针对 LLMs 的 4-bit 量化框架。该框架能够学习到“量化友好（quantization-friendly）”的分解子空间，并联合重塑低秩组件和残差组件的分布。TwinQuant 通过在&lt;strong&gt;斯蒂费尔流形（Stiefel manifold，正交约束）&lt;strong&gt;和&lt;/strong&gt;一般线性流形（general linear manifolds）&lt;strong&gt;上进行联合优化，学习特定于组件的变换矩阵，从而展平它们的数据分布并减少动态范围的不平衡。为了实现端到端的高效执行，作者进一步设计了一个&lt;/strong&gt;融合的双组件计算核（fused dual-component kernel）&lt;/strong&gt;，该算子将两阶段的低秩计算在片内（on-chip）流水线化，并在单个 epilogue（收尾阶段）中将两个组件合并，从而完全避免了中间结果导致的全局内存读写（global-memory traffic）。&lt;/p&gt;
&lt;p&gt;在 LLaMA3 和 Qwen3 模型上的实验表明，TwinQuant 能够保持接近 FP16 的精度，并相比于 FP16 基线实现了高达 1.8 倍的端到端加速。&lt;/p&gt;
&lt;h2 id=&#34;1-introduction-引言&#34;&gt;1. Introduction (引言)&lt;/h2&gt;
&lt;p&gt;大型语言模型（LLMs）已成为对话助手、医疗决策支持和代码生成等领域的核心基础设施。随着模型参数从 7B 扩展到 70B 甚至超过 600B，推理过程越来越受到大型矩阵乘法的支配，这放大了计算和内存访问的成本，造成了关键的部署瓶颈。&lt;/p&gt;
&lt;p&gt;为了缓解这一压力，现代加速器原生支持了低精度计算（如 NVIDIA Blackwell 架构上的 FP8/FP4）。同时，**训练后量化（PTQ, Post-Training Quantization）**技术将权重和运行时激活值压缩为低比特格式，减少了显存占用并提高了吞吐量，使量化成为高效 LLM 服务的关键技术。&lt;/p&gt;
&lt;p&gt;然而，&lt;strong&gt;将权重和激活值激进地量化到低比特通常会导致精度的巨大下降&lt;/strong&gt;。这是因为它们具有**重尾（heavy-tailed）&lt;strong&gt;和&lt;/strong&gt;高度各向异性（highly anisotropic）**的统计特征，异构组件耦合在同一个张量中，导致量化误差被少数特定方向和大幅值（即异常值）所主导。早期的方法应用缩放和矩阵变换在量化前重新分布权重和激活值，但它们主要是在不同的坐标系中重新表达张量，并没有消除其固有的各向异性：少数主导方向仍然决定了动态范围，迫使所有组共享有限的 4-bit 缩放因子（scales），留下了仅仅靠重新分布无法消除的严重失真。&lt;/p&gt;
&lt;p&gt;更近期的方法（如 SVDQuant）超越了单一空间，将每个权重分解为两个组件：截断 SVD 可以将异常值吸收到一个很小的高精度低秩分支中，同时对残差进行量化。当奇异值快速衰减时（如扩散模型中），微小的秩（tiny rank）就能保留大多数异常值。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;然而，在主流 LLMs 中，作者通过实验观察到奇异值衰减非常缓慢（详见 Section 3），因此微小的秩无法吸收足够的异常值。这就产生了一个“困境”：&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>📝 DartQuant: Efficient Rotational Distribution Calibration for LLM Quantization - NeurIPS&#39;25</title>
      <link>https://jjl357.github.io/blog/posts/dartquant---efficient-rotational-distribution-calibration-for-llm-quantization---neurips25/</link>
      <pubDate>Sun, 09 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://jjl357.github.io/blog/posts/dartquant---efficient-rotational-distribution-calibration-for-llm-quantization---neurips25/</guid>
      <description>&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://jjl357.github.io/blog/image/DartQuant/title.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Conference:&lt;/strong&gt; &lt;strong&gt;NeurIPS&#39;25&lt;/strong&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;my-thoughts&#34;&gt;My Thoughts&lt;/h2&gt;
&lt;p&gt;当时在复现 &lt;strong&gt;SpinQuant&lt;/strong&gt; 的时候，确实感受到了 training 的计算资源需求非常大。记得训练一个 epoch 都一些时间，而 SpinQuant 官方给的 example script 甚至建议训练 100 个 epoch。当时就意识到：&lt;strong&gt;针对旋转矩阵的优化（Rotation Optimization）需要更高效的方式&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;结果果然别人的手速很快，NeurIPS’25 上就出现了这个 &lt;strong&gt;DartQuant&lt;/strong&gt; 工作，它不仅加速了旋转矩阵的优化过程，还能缓解 calibration 阶段的 &lt;strong&gt;task-specific overfitting&lt;/strong&gt; 问题和通过QR分解解决必须正交的问题，非常巧妙。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;1-motivation&#34;&gt;1. Motivation&lt;/h2&gt;
&lt;p&gt;近年来，大型语言模型（LLMs）在多种 NLP 任务上表现卓越，如文本生成、翻译、问答系统等。然而，其推理阶段的计算与内存开销极高，限制了在边缘设备或资源受限场景下的部署。&lt;/p&gt;
&lt;p&gt;在各种模型压缩方法中（剪枝、蒸馏、参数共享、量化等），&lt;strong&gt;后训练量化（Post-Training Quantization, PTQ）&lt;/strong&gt; 因为不需要重新训练、可直接作用于现成模型，而在实际部署中最具实用价值。&lt;/p&gt;
&lt;p&gt;不过，激活分布中存在的极端值（outliers）严重影响了低比特量化效果。为了解决这一问题，研究者提出了 &lt;strong&gt;旋转变换（rotation transformation）&lt;/strong&gt; 来改变激活分布，使其更适合量化。旋转矩阵具有以下优势：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;保持范数不变；&lt;/li&gt;
&lt;li&gt;可逆；&lt;/li&gt;
&lt;li&gt;能在推理阶段与权重线性层融合，不增加推理时延。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;例如，&lt;strong&gt;QuaRot&lt;/strong&gt; 和 &lt;strong&gt;SpinQuant&lt;/strong&gt; 分别使用随机或可训练旋转矩阵来削弱 outlier 的影响。然而，SpinQuant 的 end-to-end 旋转训练开销巨大（显存、时间都极高），同时容易在小规模 calibration set 上 &lt;strong&gt;过拟合&lt;/strong&gt;。
这正是 DartQuant 要解决的痛点：&lt;strong&gt;如何在不做昂贵端到端微调的情况下，快速获得合适的旋转矩阵。&lt;/strong&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;2-challenge&#34;&gt;2. Challenge&lt;/h2&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://jjl357.github.io/blog/image/DartQuant/figure1.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;现有的基于旋转的量化方法（如 SpinQuant、OSTQuant）主要问题如下：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;计算与显存开销过大&lt;/strong&gt;：
对 70B 模型进行旋转矩阵优化需要上百 GiB 显存与数十 GPU 小时，完全不符合 PTQ 快速部署的目标。&lt;/p&gt;</description>
    </item>
    <item>
      <title>📝 SPINQUANT: LLM QUANTIZATION WITH LEARNED ROTATIONS - ICLR&#39;25</title>
      <link>https://jjl357.github.io/blog/posts/spinquant---llm-quantization-with-learned-rotations---iclr25/</link>
      <pubDate>Thu, 06 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://jjl357.github.io/blog/posts/spinquant---llm-quantization-with-learned-rotations---iclr25/</guid>
      <description>&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://jjl357.github.io/blog/image/SpinQuant/title.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Conference:&lt;/strong&gt; &lt;strong&gt;ICLR&#39;25&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Github:&lt;/strong&gt; &lt;a href=&#34;https://github.com/facebookresearch/SpinQuant&#34;&gt;https://github.com/facebookresearch/SpinQuant&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://jjl357.github.io/blog/image/SpinQuant/figure1.png&#34;&gt;&lt;/p&gt;
&lt;h2 id=&#34;my-thoughts&#34;&gt;My Thoughts&lt;/h2&gt;
&lt;p&gt;这篇工作里的可学习、可融入权重的 Rotation ($R_1, R_2$) 以及 learned rotations ($R_1 R_2$)，再加上 Hadamard rotations ($R_3, R_4$)（其中 $R_3$ 和 $R_4$ 可以通过快速哈达玛核计算）共同组成了整套旋转框架。
理解这些旋转的组合与吸收方式（merge into weights）是理解 SpinQuant 的关键所在。&lt;/p&gt;
&lt;p&gt;就像论文中提到的：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“This opens up intriguing research avenues, such as determining if, given an activation distribution with known outlier axes and magnitudes, a closed-form solution for the optimal rotation matrix that evenly distributes magnitude across different axes can be derived&amp;hellip;”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;作者提出了未来方向：若能已知激活分布的异常方向及幅度，是否能推导出解析的最优旋转矩阵，使不同轴上的幅值均衡？并进一步验证该理论旋转是否能达到最优量化性能。这一点与本工作提出的“可学习旋转”思想一脉相承。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;1-motivation&#34;&gt;1. Motivation&lt;/h2&gt;
&lt;p&gt;Post-training quantization (PTQ) 技术通过对权重、激活和 KV cache 进行低比特量化，可显著降低 LLM 的内存占用、延迟和功耗，但当存在 outliers（离群值）时，量化误差往往会非常大。&lt;/p&gt;</description>
    </item>
    <item>
      <title>📝 QSVD: Efficient Low-rank Approximation for Unified Query-Key-Value Weight Compression in Low-Precision Vision-Language Models - NeurIPS&#39;25 Spotlight</title>
      <link>https://jjl357.github.io/blog/posts/qsvd----efficient-low-rank-approximation-for-unified-query-key-value-weight-compression-in-low-precision-vision-language-models---neurips25-spotlight/</link>
      <pubDate>Thu, 30 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://jjl357.github.io/blog/posts/qsvd----efficient-low-rank-approximation-for-unified-query-key-value-weight-compression-in-low-precision-vision-language-models---neurips25-spotlight/</guid>
      <description>&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://jjl357.github.io/blog/image/QSVD/title.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Conference:&lt;/strong&gt; &lt;strong&gt;NeurIPS&#39;25 Spotlight&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Github:&lt;/strong&gt; &lt;a href=&#34;https://github.com/SAI-Lab-NYU/QSVD&#34;&gt;https://github.com/SAI-Lab-NYU/QSVD&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;1-motivation&#34;&gt;1. Motivation&lt;/h2&gt;
&lt;p&gt;Vision–Language Models (VLMs) 如 LLaVA、BLIP2 等在图像描述、视觉问答 (VQA) 等任务中表现卓越，但这些模型需要极大的计算与存储开销，尤其在推理时：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;KV Cache 占用高&lt;/strong&gt;：注意力机制中需存储 Key、Value，每层缓存大小随序列长度线性增长。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Q/K/V 投影重复计算&lt;/strong&gt;：三组权重矩阵独立计算，造成算力浪费。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;模型量化困难&lt;/strong&gt;：激活分布存在极端 outliers，难以稳定进行低比特量化。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;QSVD 的目标是&lt;strong&gt;统一地对 Q/K/V 权重矩阵进行低秩近似&lt;/strong&gt;并结合&lt;strong&gt;后训练量化 (PTQ)&lt;/strong&gt;，实现以下三点：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;减少参数量、计算量、缓存占用；&lt;/li&gt;
&lt;li&gt;保持模型性能；&lt;/li&gt;
&lt;li&gt;支持低精度硬件部署。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://jjl357.github.io/blog/image/QSVD/figure1.png&#34;&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;2-related-work&#34;&gt;2. Related Work&lt;/h2&gt;
&lt;h3 id=&#34;21-svd-in-large-models&#34;&gt;2.1 SVD in Large Models&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Singular Value Decomposition (SVD)&lt;/strong&gt; 是经典的矩阵分解方法。
对于矩阵 ( W \in \mathbb{R}^{m \times n} )，可分解为：&lt;/p&gt;
&lt;p&gt;$$
W = U \Sigma V^T
$$&lt;/p&gt;
&lt;p&gt;其中：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;(U, V) 为正交矩阵；&lt;/li&gt;
&lt;li&gt;(\Sigma) 为奇异值对角矩阵；&lt;/li&gt;
&lt;li&gt;保留前 (r) 个奇异值可得到 rank-(r) 近似：&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;$$
W \approx U_r \Sigma_r V_r^T
$$&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
