ARCHead: 大语言模型输出头的激活度量残差校正
仅权重量化能大幅降低大语言模型 transformer 块的存储,但实际后端常将最终 LM-head 保留为 BF16/FP16。朴素量化该投影会强烈扰动词表 logit 分布。 我们提出 ARCHead,一种打包式 LM-head 压缩器,结合 量化低秩核心、分组 INT4 残差 和基于 激活度量 拟合的低秩校正。ARCHead 不存储密集 BF16 头,将持久化 LM-head 存储减少 3.7-3.9 倍。 在 Qwen3-8B-Base 上,它仅用 BF16 头存储的 25.6%,同时达到 1.007 的相对困惑度;存储匹配的朴素 INT4 则产生 1.14-1.16。替换由 AWQ 或 bitsandbytes 留下的 BF16 头仅增加 0.006-0.007 交叉熵,且在我们的测量中吞吐量变化小于 2%。 因此,ARCHead 通过压缩块量化器可能忽略的大输出投影来补充它们。代码见附。
论文精读
TL;DR ARCHead 通过激活度量驱动的残差校正,将 LLM 输出头压缩 3.7-3.9×,仅用 25.6% 存储即达到与密集头相近的 perplexity,补全了块量化常跳过的最后投影层。
问题
问题背景
当前大规模语言模型部署中,权重量化 已成为压缩 Transformer 主干网络、降低存储与推理成本的主流手段。然而,实际推理后端(如 AWQ、bitsandbytes)常将最后的 语言建模头 (LM-head) 保留为 BF16 或 FP16 精度,导致该部分成为模型持久化存储中无法忽视的尾巴。
现有方法局限
直接对 LM-head 施加朴素量化(如 INT4 或 GPTQ)会严重扰动词汇表 logit 分布,导致困惑度显著上升(相对困惑度可达 1.14–1.16)。根本原因在于:
- LM-head 的输出维度(词汇表大小)极大,且 logit 分布对量化误差极为敏感,微小的扰动会通过 softmax 放大影响;
- 现有块量化器(如 AWQ)只关注注意力和 FFN 层的权重,对 LM-head 缺乏针对性处理;
- 低秩分解虽能降低参数量,但直接重构质量不足,且未与量化误差的分布特性结合。
为什么这个问题难/重要
技术挑战 在于:LM-head 通常是模型中参数量第二大的组件(仅次于嵌入层),其存储占比在 4B 至 70B 参数模型中可达 10%–15%,且推理时每次前向都要执行大规模矩阵乘法,对吞吐量与延迟影响显著。若不能有效压缩,则模型总存储难以进一步降至移动端或边缘设备可接受的水平。 业界关注度 来自智能终端部署、实时推理等场景对极致内存占用的要求——例如在手机或嵌入式设备上运行 LLM 时,每 MB 存储/内存的节省都至关重要。
行业类比
类比于图像生成模型中对 超分辨率解码头 的轻量化处理:必须保留高精度输出结构,否则生成质量断崖下降,但压缩时需结合输出空间特性定制化方法。
核心洞察
- 大多数 LLM 量化方案(如 AWQ、bitsandbytes)专注于 Transformer 块的权重压缩,但保留最后的 LM Head 为 BF16/FP16,这成为存储瓶颈。ARCHead 首次系统性地针对该输出投影进行压缩,通过低秩核心、分组 INT4 残差和激活度量校正的组合,实现 3.7–3.9 倍存储缩减,同时保持困惑度几乎无损。这弥补了块量化生态中的关键缺口,使整体模型存储更均衡。
- 传统直接量化 LM Head 会严重扰乱词汇 logit 分布,导致困惑度显著上升(例如存储匹配的 INT4 基线相对困惑度达 1.14–1.16)。ARCHead 引入基于激活度量(activation-derived metric)的低秩校正,显式拟合量化误差对 logit 的影响,从而在极低额外参数下将相对困惑度降至 1.007。这种面向输出层特定误差补偿的策略,为后续量化研究提供了新的优化维度。
- ARCHead 的设计高度解耦,可作为现有块量化器(如 AWQ)的无缝后处理步骤,在仅增加 0.006–0.007 交叉熵的代价下压缩其遗留的 BF16 Head,且对推理吞吐量影响小于 2%。这种低侵入式集成方式降低了部署门槛,使工程团队无需重新设计整个量化流程即可获得显著的存储节约,对生产环境十分友好。
方法
整体思路
ARCHead 将 LM-head 权重矩阵压缩为一个 低秩量化核心、分组 INT4 残差 和 激活度量低秩校正 的组合,完全丢弃密集 BF16 头,实现 3.7–3.9× 存储压缩。
输入与分解
- 输入:原始 LM-head 权重矩阵,以及少量校准数据(用于获取激活分布)。
- 步骤 1:低秩核心量化。对权重矩阵进行奇异值分解(SVD),取前 r 个成分构成低秩近似,并将左右因子量化为 INT4,作为压缩表示的基础。
- 步骤 2:分组 INT4 残差。将原始权重减去核心后的误差矩阵按行或按列分成小组,每组独立进行 INT4 对称量化,存储量化索引和缩放因子。分组量化保留了局部细节,克服全局低秩的粗糙性。
- 步骤 3:激活度量低秩校正。在低秩核心和分组残差之上,添加一个可学习的低秩矩阵,秩 r' 很小。该校正通过在 激活空间 中最小化 KL 散度或均方误差来训练:目标不是直接拟合权重,而是让压缩后的头部在给定输入激活时产生的 logits 尽可能接近原始 logits。损失函数中加权了激活的 Fisher 信息矩阵,使得对输出分布影响大的方向得到优先校正。
打包表示与集成
最终存储仅包含:
- 量化后的核心因子(INT4 索引)
- 分组残差的量化索引和缩放因子
- 校正因子(通常以 BF16 存储,但 r' 很小)
所有组件打包为一个连续 buffer,推理时通过解量化操作重构近似权重,再与输入计算 logits。
与同类方法的差异
与 GPTQ 等仅依赖权重量化的方法不同,ARCHead 利用激活度量指导校正,并在量化外显式引入低秩残差,显著降低 logits 分布扰动;相比单纯的 SVD 低秩分解,分组量化残差提供了更高保真度的误差补偿,从而在同等存储下取得更低困惑度。
实验
实验设计
评估主要在 Qwen3-8B-Base 模型上进行,包括仅压缩 LM-head 的困惑度测试 (head-only)、与 block 量化器 (AWQ、bitsandbytes) 协同时的交叉熵及吞吐量影响,以及下游任务 sanity check。校准数据使用 128 条序列,通过激活度量目标拟合低秩校正。指标为相对困惑度 (relative perplexity)、交叉熵增加、存储减少倍数和推理吞吐量变化。
关键发现
- ARCHead 将 LM-head 存储压缩至 BF16 原型的 25.6%,相对困惑度仅升至 1.007,接近无损;同存储的 naive INT4 量化则导致 1.14–1.16 的大幅退化。
- 替换 AWQ/bitsandbytes 量化后保留的 BF16 head 时,交叉熵仅增加 0.006–0.007,吞吐量变化 <2%,几乎无额外成本。
- 整体存储减少 3.7–3.9 倍,完全消除 dense BF16 head 的持久化开销。
基线对比解读
ARCHead 的核心创新在于 激活度量目标 引导的低秩残差校正,使其在极低精度下仍保持 logit 分布。与 naive INT4 直接将权重量化不同,它通过 group-wise INT4 残差 + 低秩核心 的组合有效补偿量化误差。相对于 GPTQ 风格的 head 量化,ARCHead 更关注输出激活空间的保真度,而非简单的权重重构。在工程层面,该方法弥补了现有 block 量化方案常忽略的 LM-head 压缩空白,使全模型压缩更均衡,对 LLM 部署的内存与存储优化具有直接意义。
行业影响
落地场景
大规模语言模型部署中,输出头(LM-head)常被保留在 BF16/FP16 精度,即使 Transformer 块已量化,头部仍占可观存储(例如 8B 模型头部超过 200MB)。ARCHead 将头部存储压缩 3.7–3.9×,且质量损失极低,适用于所有需要缩小模型体积的场景:
- 云推理 API 提供商:同时服务多个微调模型时,模型仓库的持久存储成为成本热点。ARCHead 可将每个模型的 LM-head 体积降至原来的 1/4 左右,直接削减存储及跨区域分发的带宽开销。
- 边缘/移动端智能助理:在手机或 IoT 设备本地运行 7B-8B 模型,应用包大小和内存占用敏感。压缩输出头可加快模型首次加载,并释放内存用于更长上下文或更大 batch。
商业价值
- 存储与带宽降本:头部存储减少 3.7× 以上,对于托管数百个服务实例的平台,可显著降低持久卷和对象存储费用;模型下载带宽同步节省。
- 资源效率提升:内存占用下降后,单 GPU 可容纳的并发请求数上升,硬件利用率提高;推理吞吐变化 <2%,不影响实时性能。
- 质量保持:相对困惑度仅 1.007,交叉熵增加仅 0.006–0.007,生成质量几乎无损,用户无感知差异。
与现有产品/工作流的接口
ARCHead 将自身定位为一个后量化矫正步骤,与现有块量化方案(AWQ、bitsandbytes、GPTQ)互补。实际集成路径:
- 先对 Transformer 块进行权重量化,产生一个包含 BF16 输出头的中间模型。
- 使用少量校准数据(如 128 个 2048 token 序列)运行 ARCHead 算法,将头替换为压缩表示(量化核心 + 分组 INT4 残差 + 激活度量低秩校正)。
- 输出打包后的模型权重文件,可直接加载到 vLLM、TGI 等推理框架。
该流程无需完整训练,可集成于模型转化流水线或推理引擎的启动阶段。开源实现(GitHub)提供清晰的 Python API,便于嵌入现有 MLOps 工具链。
局限
- **对校准数据分布的敏感性**:ARCHead 依赖校准数据的激活度量拟合低秩修正矩阵,若实际推理数据的分布与校准集显著不同,可能导致 logit 偏移,影响生成质量。论文仅在通用语言建模数据上评估,未涉及指令遵循、多轮对话或领域特定文本,这类场景下的鲁棒性尚不明确。由于 LM-head 直接映射到词汇表概率,分布变化会放大误差,尤其对于长尾 token,可能引发不可预测的输出退化。
- **词汇表规模的可扩展性存疑**:实验主要基于词汇量约 15 万的模型(如 Qwen3-8B),对于多语言或大词汇表模型(如词汇量超过 30 万),分组残差和低秩核心的存储开销会随之增加,压缩效率和相对性能保持没有验证。此外,构造算法中 SVD 的复杂度与词汇量相关,校准成本可能显著上升,限制其在超大词表上的实用性。
- **解包计算引入的推理开销**:虽然权重存储降低,但推理时需将 packed 表示解包为可计算的低秩分量和残差,引入额外矩阵乘法和加法。论文的吞吐测试仅限于简单单样本推理,未考察动态 batching、beam search 或长序列生成下的计算瓶颈。在实际在线服务中,这种解包操作可能导致内存碎片和延迟抖动,与 block quantizer 的集成复杂度也被低估了。