GRINQH: Graded Input-Based Quantization Hierarchy for Efficient LLM Generation¶
会议: NeurIPS 2026
arXiv: 2606.23419
领域: 模型压缩
关键词: 动态后训练量化 (PTQ), 自回归解码加速, 激活感知混合精度, 分层位平面存储, Triton自定义算子
一句话总结¶
针对大模型在批大小为 1 的自回归解码中遭遇的 DRAM 显存带宽墙,提出面向解码阶段的动态输入感知量化框架 GRINQH,依据运行时激活幅度按输入通道分配 0 到 8 位阶梯精度并结合分层位平面交织存储,在等效 2–3 位超低位宽下刷新帕累托前沿,解码吞吐相比 4-bit MARLIN 提速高达 28%。
研究背景与动机¶
在大语言模型(LLM)的部署和端侧推理实践中,性能瓶颈已从预训练阶段的算力约束彻底转向自回归解码阶段的显存带宽瓶颈(Memory Wall)。在批大小为 1 的交互式解码场景下,大模型全量权重参数矩阵占据了绝大多数显存体积,GPU 计算单元每个生成步都必须从高延迟、低带宽的片外 DRAM 中重新搬运数十亿甚至百亿级参数到片上 SRAM,导致计算核心长时间处于闲置等待状态,端侧算力严重利用不足。
现有模型压缩工作主要从权重量化、通道剪枝和激活稀疏化入手。然而,主流后训练量化(PTQ)方法(如 GPTQ、AWQ 等)普遍采用“一视同仁”的静态量化策略,在计算密集型的 Prompt Prefill 阶段与带宽受限的 Token Decoding 阶段采用完全相同的位宽配置。在 Prefill 阶段,由于算力吞吐受限且权重跨上下文高度复用,盲目压低位宽不仅难以带来显著物理加速,还会无端引入量化噪声导致精度受损;而到了真正的解码阶段,固定的位宽分配又无法针对各通道动态出现的激活异常值(Outliers)进行保护,导致在压入 2–3 位极限低位宽时模型精度面临崩溃。另一方面,训练无关的激活稀疏化手段在降低显存搬运量上往往面临结构不规整或破坏关键表示的难题。
本文的切入角度是:解耦 LLM 推理在不同阶段的硬件瓶颈,将优化核心聚焦于访存受限的自回归解码过程。既然不同输入激活维度的绝对幅度差异能够直接反映通道重要性,且激活分布中普遍存在“免费稀疏性”,便可以在推理时根据实时输入的动态激活值,对对应权重的输入通道(即权重矩阵行向量)进行按需精度的稀疏加载。核心 idea:显式解耦 Prefill 与 Decoding 阶段,在解码期利用实时激活绝对值进行分级离散位宽动态分配(0、2、4、6、8 位),配合分层位平面(Bit-Planar)交织存储格式与中点偏置校正,实现仅从片外 DRAM 搬运所需有效比特的高效硬件加载。
方法详解¶
整体框架¶
GRINQH 包含三大协同流程:离线门槛校准、运行时动态精度分配,以及基于分层位平面存储的高效片上重构与矩阵向量乘法(GEMV)。在 Prefill 阶段,模型保持稠密高精度(\(b_{\text{max}}\) 精度,如 8 位或 4 位)并行矩阵计算以保全上下文表征精度;在 Decoding 阶段,根据前一 token 输出的当前层输入激活向量,通过预计算的标量阈值向量进行极低开销的行级精度判定,仅将所需位宽切片从片外 DRAM 连续合并读入片上 SRAM,重构为混合精度矩阵完成向量乘。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
A["输入激活向量 x (din 维)"] --> B["阶段1:动态分级精度分配<br/>标量阈值对比映射 bi ∈ {0,2,4,6,8}"]
B --> C["阶段2:分层位平面交织存储<br/>按通道与位宽平面连续搬运 DRAM 切片"]
C --> D["阶段3:片上权重重构与偏置校正<br/>中点偏移补偿与位运算还原"]
D --> E["定制 Triton GEMV 算子输出 y (dout 维)"]
关键设计¶
1. 动态激活分级精度映射:根据运行时激活幅度阻断显存无效搬运
传统静态 PTQ 无法捕获推理过程中动态漂移的激活离群值(Activation Outliers),且剪枝与量化割裂。GRINQH 统一量化与稀疏化,将激活重要性作为分配精度的代理指标。在解码阶段的线性层 \(\ell\),对当前输入的激活向量 \(\mathbf{x} \in \mathbb{R}^{d_{\text{in}}}\) 的每个标量分量 \(|x_i|\),将其幅度与预先由校准集分位数离线标定得到的递增阈值序列 \(\Theta^{(\ell)} = (\theta_1^{(\ell)}, \dots, \theta_{n-1}^{(\ell)})\) 进行标量比较: $\(b_i = b_k, \quad \text{当 } |x_i| \in [\theta_k^{(\ell)}, \theta_{k+1}^{(\ell)}), \quad k \in \{0, \dots, n\}\)$ 其中 \(b_k \in \{0, 2, 4, \dots, b_{\text{max}}\}\),\(\theta_0^{(\ell)} = 0\),\(\theta_{n+1}^{(\ell)} = \infty\)。当分量分配为 \(b_i = 0\) 时,直接跳过对应输入通道权重向量的显存加载,形成天然的输入引导结构化稀疏;当分量对应高幅值离群值时,分配最高精度(如 6 或 8 位)以确保表征保真度,其余分量则分配中低精度。离线校准只需少量样本(如 128 条)执行单次前向,统计激活分布分位数即可生成全局静态阈值,运行时仅需单步向量化比较,引入的时延开销几乎为零。
2. 分层位平面交织存储与稀疏访存:消除多份存储冗余并实现硬件合并加载
为避免存储多份不同位宽权重带来的显存膨胀,GRINQH 引入嵌套位平面(Bit-Planar)转置存储布局。在离线量化中,每个量化权重 \(q_{b_{\text{max}}}\) 被切分为多个独立的 2-bit 片段,按从高到低的有效位进行平面堆叠。权重矩阵以输入维度优先(Reduction-Dimension Major)连续存储,确保对于输入向量中的任一通道,其对应的全部输出维度通道 \(d_{\text{out}}\) 在显存中物理连续。在硬件执行时,输出维度被划分至 \(b_{\text{max}}/2\) 个静态显著性区域,算子根据分配给该通道的目标位宽 \(b_i\),仅从片外 DRAM 搬运其最高有效的前 \(b_i / 2\) 个 2-bit 切片,低有效位或 0-bit 区域完全不发起访存请求。此外,在相邻权重间采用 32 位(uint32)微块紧凑打包与 16 块对齐,使得单条 32-bit 指令即可并行载入 16 个局部位片段,显存事务请求量减少为原有的四分之一,彻底发挥现代 GPU 的合并访存带宽优势。
3. 中点截断偏置校正:消除累积量化下溢漂移
通过硬件友好的位截断(Bit-Slicing)而非传统舍入(Rounding)来提取低位宽,避免了为了确定舍入方向而额外从 DRAM 多加载 1 个 bit 的访存惩罚。但纯粹的按位截断本质上是向下取整(Floor)操作,会导致量化值的期望产生负向系统偏差。随着 Transformer 深度网络的前向传播累积,该系统偏差会引起模型表征彻底坍塌(实验中未经校正的模型在 GSM8K 上直接退化为 0% 精度,WikiText-2 困惑度激增至 \(10^8\) 以上)。为此,GRINQH 在片上反量化浮点重构公式中引入解析确定的中点偏置补偿项 \(\phi\): $\(\hat{w} = s \cdot \left(q_b \cdot 2^{b_{\text{max}} - b} + \phi\right) + z, \quad \text{其中 } \phi = 2^{b_{\text{max}} - b - 1}\)$ 式中 \(s\) 为全局缩放因子,\(z\) 为零点,\(q_b\) 为拼接后的截断整数。通过在寄存器中轻量加入常量偏移量 \(\phi\),无缝将重建点从量化区间的下界平移至中点,完全消除了量化截断引起的系统漂移,使得极低开销的位截断能够达到与昂贵的完整舍入几乎完全重合的模型下游精度。
实验关键数据¶
主实验¶
论文在 Llama-3.1-8B-Instruct 与 Qwen3-8B 模型上对比了多种静态后训练量化方案(GPTQ, AWQ, RTN, QuaRot+GPTQ, AutoRound, NVFP4)及混合/任意精度 baseline(AnyPrecisionLLM, SliM-LLM)。在 7 项综合基准(WikiText-2, LAMBADA, MMLU, BoolQ, HellaSwag, ARC-C, GSM8K 8-shot CoT)上展开评估,其中 Avg. 准确率不计入语言建模困惑度 WikiText-2。
| 模型与方法 | 等效位宽 (Eff. Bits) | WikiText-2 (ppl ↓) | LAMBADA (ppl ↓) | GSM8K (acc ↑) | 综合平均 (Avg. acc ↑) |
|---|---|---|---|---|---|
| Llama-3.1-8B-Instruct | |||||
| BF16 基线 | 16.00 | 8.64 | 3.40 | 85.14 | 74.35 |
| GPTQ (4-bit) | 4.00 | 9.41 | 3.64 | 80.82 | 72.85 |
| AWQ (4-bit) | 4.00 | 9.53 | 3.91 | 80.59 | 71.98 |
| NVFP4-G16 (4-bit) | 4.00 | 9.27 | 3.41 | 82.49 | 73.24 |
| GRINQH-8b-RTN | 4.01 | 8.97 | 3.38 | 85.14 | 74.34 |
| GPTQ (3-bit) | 3.00 | 12.46 | 5.86 | 60.35 | 63.27 |
| AWQ (3-bit) | 3.00 | 14.36 | 8.04 | 34.50 | 56.05 |
| SliM-LLM (3-bit) | 3.00 | 12.01 | 4.85 | 68.46 | 66.35 |
| GRINQH-8b-RTN | 2.98 | 9.30 | 3.49 | 81.50 | 73.19 |
| AnyPrecLLM (2-bit) | 2.00 | 1953.00 | 10000+ | 1.52 | 22.22 |
| SliM-LLM (2-bit) | 2.00 | 535.00 | 30000+ | 2.96 | 19.59 |
| GRINQH-8b-RTN | 2.11 | 12.87 | 5.94 | 53.53 | 61.37 |
| GRINQH-8b-AnyP | 2.01 | 10.47 | 3.72 | 71.65 | 69.06 |
| Qwen3-8B | |||||
| BF16 基线 | 16.00 | 12.20 | 4.59 | 88.32 | 74.02 |
| GPTQ (4-bit) | 4.00 | 12.68 | 5.17 | 82.79 | 72.18 |
| AWQ (4-bit) | 4.00 | 12.70 | 5.09 | 82.41 | 71.77 |
| GRINQH-8b-RTN | 3.97 | 12.29 | 4.58 | 87.57 | 73.70 |
| GPTQ (3-bit) | 3.00 | 14.89 | 6.96 | 67.78 | 64.67 |
| AWQ (3-bit) | 3.00 | 16.33 | 14.24 | 59.67 | 59.19 |
| GRINQH-8b-RTN | 3.07 | 12.61 | 4.51 | 88.02 | 73.33 |
| GRINQH-8b-RTN | 2.25 | 13.36 | 5.12 | 84.00 | 71.60 |
| GRINQH-8b-AnyP | 2.22 | 12.95 | 4.21 | 87.04 | 73.27 |
硬件吞吐与消融对比¶
在单个 NVIDIA RTX 4090 GPU 上,针对典型 8B 参数模型线性升投影层(矩阵尺寸 \(16384 \times 4096\))进行硬件解码与端到端吞吐测定(基准对比 4-bit MARLIN 算子):
| 算子配置与位宽 | Prefill 吞吐 (tok/s) | 相对 Prefill 速度 | Decoding 吞吐 (tok/s) | 相对 Decoding 速度 | 说明 |
|---|---|---|---|---|---|
| GPTQ 4-bit MARLIN | 10170.4 | 1.00× | 160.4 | 1.00× | 常用高优化定长基准 |
| RTN 8-bit MARLIN | 8927.1 | 0.88× | 100.2 | 0.62× | 8-bit 固定精度基准 |
| GRINQH-8b (Eff. 4-bit) | 8186.8 | 0.80× | 157.6 | 0.98× | 保持与 4-bit 相当的解码速度 |
| GRINQH-6b (Eff. 4-bit) | 8241.0 | 0.81× | 165.1 | 1.03× | 略微降低峰值内存,提升吞吐 |
| GRINQH-4b (Eff. 3-bit) | 8241.0 | 0.81× | 165.1 | 1.03× | 基于 4-bit 基础权重的降位宽 |
| GRINQH-8b (Eff. 3-bit) | 8186.8 | 0.80× | 182.2 | 1.14× | 比 4-bit MARLIN 提速 14% |
| GRINQH-8b (Eff. 2-bit) | 8186.8 | 0.80× | 204.6 | 1.28× | 比 4-bit MARLIN 提速 28% |
关键发现¶
- 打破 3-bit 精度崩溃魔咒:在 Llama-3.1-8B 上,传统 GPTQ/AWQ 在 3-bit 时 GSM8K 准确率从 80%+ 暴跌至 60.35% 和 34.50%,而 GRINQH 在等效 2.98 位下维持了 81.50% 的准确率(综合均分 73.19%,接近 4-bit 基线 72.85%),并在 Qwen3-8B 等效 3.07 位上实现了 88.02% 的准确率。
- 2-bit 超低位宽可用性:现有混合精度方法(SliM-LLM、AnyPrecisionLLM)在 2-bit 下困惑度完全发散、准确率跌入随机猜词水平(<23%),而 GRINQH 结合 AnyPrecisionLLM 底层时,2.01–2.22 位的平均准确率仍高达 69.06%–73.27%,甚至超越了多数静态 4-bit 量化方法。
- 阶段解耦带来显著额外收益:仅在 Decoding 阶段采用动态量化、而在计算受限的 Prefill 阶段维持全精度矩阵乘法,能够以仅 19%–20% 的 Prefill 降速代价(因为 Prefill 权重解包),换取模型在后续长文本生成中更加严谨的推理性能和最高 28% 的 Decoding 物理加速。
- 稀疏度对位宽的敏感性:消融显示在 2.0–3.0 极低位宽区间,提高 0-bit 稀疏通道占比(\(\ge 20\%\))极为有益,它释放出的位宽配额有效转嫁给了离群通道;而在 3.7–4.3 适中位宽区间,超过 20% 的硬剪枝反而会破坏基础表征,此时采用均衡平滑分配更优。
亮点与洞察¶
- 硬件与算法特征深度契合:抓住了 LLM 自回归生成在单 batch 下纯粹是 DRAM 显存带宽受限(GEMV)的物理本质,拒绝在无需削减显存搬运的 Prefill 阶段盲目量化牺牲精度,展现了 Stage-aware 软硬件协同设计的优雅性。
- 零显存额外膨胀的分层位截断与中点偏移校正:通过位平面交织打包实现一份底模动态支持多档精度,巧妙证明了硬件友好的位截断结合解析推导的中点补偿即可替代开销昂贵的运行时四舍五入。
- 对量化原语的高度兼容性:GRINQH 是一个执行层框架,既可直接构筑于简单的 RTN 基础之上,也能无缝叠加至 GPTQ 或 AnyPrecisionLLM 等高级嵌套量化方法上,为模型弹性服务化提供了极高灵活度。
局限与展望¶
- DRAM 物理占用仍受限于最高位宽:尽管解码过程传输的 DRAM-to-SRAM 动态流量被大幅压缩至等效 2–3 位,但模型在片外 DRAM 存储底模时仍需为 \(b_{\text{max}}\)(如 8-bit 或 6-bit)分配静态存储空间。虽然论文验证了以 4-bit 为底模(\(b_{\text{max}}=4\))下推到等效 3-bit 依旧稳健,但无法实现纯粹 2-bit 静态显存常驻。
- 主要针对批大小为 1 的访存密集场景:随着服务批大小(Batch Size)显著增大,自回归解码阶段将逐步跨入 Compute-bound 算力受限区域,通道级动态稀疏带来的带宽收益将被不同请求间的稀疏度冲突抵消。
- 未来方向:探索动态阈值的在线快速强化自适应,以及将该弹性位宽机制与投机采样(Speculative Decoding)相结合,利用低位宽切片充当快速草稿验证模型。
相关工作与启发¶
- vs GPTQ / AWQ: GPTQ 和 AWQ 采用全局静态且固定的单一位宽,虽通过二阶信息或激活缩放抑制离群值,但在解码阶段无法随每个 Token 的动态输入变动分配保护力度,导致 3 位及以下精度骤降;GRINQH 动态按通道激活强度调配精度,以更低等效位宽取得更优表现。
- vs SliM-LLM / MatGPTQ: SliM-LLM 依赖静态块级/层级重要性分析分配混合位宽,无法在运行时自适应 token 生成过程中的激活漂移;MatGPTQ 停留在静态嵌套表示与 Mix'n'Match 策略,而 GRINQH 提供了输入通道级细粒度动态调度与定制硬件 Triton 算子,跨越了软硬件落地的鸿沟。
- vs PMPD: PMPD 仅能在粗粒度的整 Token(按生成序列位置递减)级别调整精度;GRINQH 细化到矩阵的行向量(输入通道)级动态分流,极大提升了对空间离群特征的保真度。
评分¶
- 新颖性: ⭐⭐⭐⭐⭐ 巧妙统合激活感知动态稀疏与分层位平面量化,提出面向 Decoding 的非均匀精度加载架构。
- 实验充分度: ⭐⭐⭐⭐⭐ 涵盖从 0.6B 到 8B 多尺寸 Llama3/Qwen3 评估,完备的精度测试、消融实验、Nsight Compute 硬件 Roofline 分析及自定义 Triton 算子实测。
- 写作质量: ⭐⭐⭐⭐⭐ 逻辑严密,软硬件分析透彻,图表呈现与公式机理解释极具说服力。
- 价值: ⭐⭐⭐⭐⭐ 为端侧与边缘设备上大模型的超低比特、高吞吐实时推理提供了切实可行且性能卓越的硬件级落地范式。