Low-Rank Ternary Adaptation for Fine-Tuning Transformers¶
会议: ECCV 2026
论文: ECCV 2026
代码: https://github.com/alexmanoo/ternary_adaptation
领域: 模型压缩
关键词: 三值化Transformer / 参数高效微调 / 乘法适配 / Kronecker分解 / 1.58-bit模型
一句话总结¶
针对现有低比特LoRA无法直接微调三值权重且合并后破坏离散特性的瓶颈,提出基于Kronecker分解的低秩三值乘法适配器(Ternary Multiplicative Adaptation),实现零反量化、完全闭合于三值域的高效微调与无损融合。
研究背景与动机¶
大语言模型和视觉Transformer在各项任务中展现出卓越能力,但庞大的显存与算力需求使得端侧与低成本硬件部署极其困难。权重量化作为压缩的核心手段,正在从常规的8-bit、4-bit推向极低比特边界。在此背景下,三值量化(Ternary Quantization,权重严格受限于 \(\{-1, 0, 1\}\),理论存储仅需 \(\log_2 3 \approx 1.58\) 比特)成为极致压缩的最优解之一,能够将8B规模模型的理论显存占用从16GB骤降至1.6GB,并以符号运算与加法替代代价高昂的乘法运算。
然而,如何高效微调并下游适配这些三值模型构成了严峻的结构性挑战。常规参数高效微调(PEFT)代表方法LoRA依赖连续实数空间的加法更新;在量化背景下,QLoRA需要先将低比特权重反量化回浮点精度,与连续更新相加后再重新量化,而在 sub-2-bit 场景下重传与重采样会带来毁灭性的量化误差与性能劣化。虽然QA-LoRA尝试通过修改每组量化参数实现免反量化合并,但在权重严格受限于 \(\{-1, 0, 1\}\) 的三值网络中,网络不存在可自由吸收加法偏移的浮点零点或细粒度缩放因子。三值权重的参数空间具有天然的离散性与非线性,其核心更新自由度仅为保留、置零或符号翻转。
面对这一困境,强行采用连续加法更新必然导致合并后模型脱离三值域,从而丧失三值推理算子的硬件优势。本文的核心 idea 是:将三值权重的离散更新建模为基于Hadamard乘积的乘法适配,并利用两个微型三值矩阵的低秩Kronecker积直接生成高秩离散掩码,在完全闭合于三值域的前提下实现保留、置零与翻转三种离散动作,微调后无需反量化即可直接融合。
方法详解¶
整体框架¶
低秩三值乘法适配器(Ternary Multiplicative Adaptation)的整体设计围绕“严格保持三值闭合域”展开。在微调阶段,预训练三值基座权重被冻结并以打包格式存储;适配模块并不计算浮点加性残差,而是通过两个紧凑的实数代理矩阵生成两个小型三值因子矩阵,再通过Kronecker积展开为与基座权重形状完全一致的高秩三值调制矩阵 \(\Delta_{\text{tern}} \in \{-1, 0, 1\}^{d_{\text{out}} \times d_{\text{in}}}\)。前向传播中,该矩阵与基座三值权重执行逐元素Hadamard积,在下游任务完成后直接相乘合并,得到仍然完全属于 \(\{-1, 0, 1\}\) 的单一紧凑三值模型。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
A["输入特征与冻结三值基座权重 W_tern"] --> B["三值乘法适配机制<br/>逐元素Hadamard乘积维持域闭合"]
B --> C["低秩Kronecker分解<br/>两微型三值因子外积构成高秩掩码"]
C --> D["实数代理与直通估计器优化<br/>STE反向传播更新连续代理参数"]
D --> E["零开销离散融合部署<br/>W_merged = W_tern ⊙ (A ⊗ B) 仍为1.58-bit"]
关键设计¶
1. 三值乘法适配机制:以逐元素乘积维持离散三值域代数闭合
现有LoRA及其变体在加法更新下会立即破坏三值约束:若令 \(W_{\text{merged}} = W_0 + \Delta W\),即使 \(\Delta W\) 也是三值,相加结果也会溢出到 \(\{-2, -1, 0, 1, 2\}\),不得不引入重浮点化或后重整量化。本文摒弃加法设计,定义微调后的三值权重矩阵 \(W'_{\text{tern}}\) 为: $\(W'_{\text{tern}} = W_{\text{tern}} \odot \Delta_{\text{tern}}\)$ 其中 \(\odot\) 表示逐元素Hadamard积,调制矩阵 \(\Delta_{\text{tern}} \in \{-1, 0, 1\}^{d_{\text{out}} \times d_{\text{in}}}\)。对于任意位置的单个元素 \(\Delta_{ij}\),其可能取值具有清晰且自洽的代数语义:\(+1\) 表示保持原基座权重符号不变,\(-1\) 表示将基座权重符号翻转(正负互换),\(0\) 则表示剪枝置零。乘法运算在集合 \(\{-1, 0, 1\}\) 上具有绝对的代数封闭性,即三值乘以三值永远产生三值,从源头上消除了任何反量化或浮点累加的需要。
2. 低秩Kronecker分解:用微型因子矩阵构建高表达能力高秩离散掩码
若直接为整个矩阵 \(d_{\text{out}} \times d_{\text{in}}\) 分配三值掩码,参数量将等同于全量微调;而SVD等经典低秩分解无法在保证三值离散性的同时提供充足秩数。本文引入基于Kronecker积的分解方案: $\(\Delta_{\text{tern}} = A \otimes B\)$ 其中矩阵 \(A \in \{-1, 0, 1\}^{p \times q}\) 与 \(B \in \{-1, 0, 1\}^{r \times s}\) 满足维度匹配条件 \(p \cdot r = d_{\text{out}}\) 且 \(q \cdot s = d_{\text{in}}\)。Kronecker积将 \(A\) 的每个元素标量乘以整个 \(B\) 矩阵进行块拼接展开。由张量积性质可知,该掩码的有效秩为: $\(\mathrm{rank}(A \otimes B) = \mathrm{rank}(A) \cdot \mathrm{rank}(B) \le \min(p, q) \cdot \min(r, s)\)$ 对于典型的方阵权重层(\(d_{\text{out}} = d_{\text{in}} = d\)),选择均衡分解 \(p = q = r = s = \sqrt{d}\),可使可训练参数总量缩减至 \(p \cdot q + r \cdot s = 2d\)。例如在Llama-3.2-1B中,适配器总参数量仅占全模型参数的约 0.06%,却能在全层提供高达 \(O(d)\) 级别的有效秩表达能力,在参数极度紧凑与高维拟合能力之间取得了平衡。
3. 实数代理与直通估计器优化:连续梯度反向传播驱动离散状态跃迁
由于离散阶跃函数无法直接通过常规梯度下降优化,本文为两个因子矩阵分别维护浮点实数代理参数 \(\bar{A} \in \mathbb{R}^{p \times q}\) 与 \(\bar{B} \in \mathbb{R}^{r \times s}\)。在前向传播中,通过基于矩阵绝对值均值计算动态自适应阈值的投影函数 \(\operatorname{Tern}(\cdot)\) 离散化得到三值因子: $\(A = \operatorname{Tern}(\bar{A}), \quad B = \operatorname{Tern}(\bar{B})\)$ 反向传播时,利用直通估计器(Straight-Through Estimator, STE)跳过量化算子的不可导点,直接将损失梯度传递至实数代理参数并由AdamW优化器更新。此外,为了保证微调初始时刻模型与原始基座完全等价,初始化采用平衡策略(Balanced Initialization):将代理矩阵均等填充 \(+1\) 与 \(-1\),并通过修改基座符号抵消初始适配,避免全1初始化导致的梯度饱和停滞。
损失函数 / 训练策略¶
训练过程采用标准自回归语言建模交叉熵损失或监督微调目标。在后训练量化(PTQ)基座实验中,使用Stanford Alpaca微调1个epoch,采用AdamW优化器,学习率设为 \(1.5 \times 10^{-3}\),线性学习率衰减,warmup比例为0.03,批大小为16。在微调结束后,执行单次离散合并: $\(W_{\text{merged}} = W_{\text{tern}} \odot (A \otimes B)\)$ 合并后将实数代理丢弃,部署时模型维持原本的 1.58-bit 纯三值结构,不引入任何额外的浮点参数或运行时内存/计算开销。
实验关键数据¶
主实验¶
在 Llama-3.2-1B 和 Llama-3.2-3B 经过 SpinQuant 三值量化后的基座上,在 9 个主流常识推理与问答基准(零样本评估)及 WikiText-2 困惑度(PPL)上的对比结果如下表所示:
| 模型 | 方法 | 权重比特 | ARC-c | ARC-e | BoolQ | HellaSwag | MMLU | PiQA | 9项平均(%) ↑ | WikiText-2 PPL ↓ |
|---|---|---|---|---|---|---|---|---|---|---|
| Llama-3.2-1B | Full Precision (FP16) | 16-bit | 31.4 | 65.2 | 63.6 | 47.7 | 36.7 | 74.6 | 50.2 | 9.7 |
| RTN 基线 | 2-bit | 22.8 | 23.8 | 62.1 | 25.5 | 22.9 | 53.1 | 32.8 | \(1.5 \times 10^6\) | |
| GPTQ 基线 | 2-bit | 20.2 | 31.6 | 43.1 | 26.3 | 24.1 | 55.2 | 31.4 | 170.0 | |
| SpinQuant 基线 | 2-bit | 18.3 | 37.6 | 62.0 | 28.7 | 22.9 | 57.4 | 34.7 | 43.3 | |
| SpinQuant 基座 | 1.58-bit | 20.3 | 29.7 | 61.3 | 27.0 | 22.9 | 54.5 | 33.2 | 86.5 | |
| 本文方法 (Ours) | 1.58-bit | 19.5 | 39.7 | 61.2 | 29.4 | 23.1 | 58.2 | 35.3 | 44.6 | |
| Llama-3.2-3B | Full Precision (FP16) | 16-bit | 42.4 | 74.6 | 72.9 | 55.2 | 54.0 | 76.6 | 60.0 | 7.8 |
| RTN 基线 | 2-bit | 22.5 | 24.4 | 37.8 | 25.3 | 26.8 | 52.6 | 30.4 | \(7.6 \times 10^5\) | |
| GPTQ 基线 | 2-bit | 21.5 | 25.2 | 40.8 | 26.0 | 22.9 | 53.1 | 30.0 | 190.0 | |
| SpinQuant 基线 | 2-bit | 19.3 | 29.3 | 53.6 | 28.2 | 22.9 | 57.0 | 32.6 | 41.7 | |
| SpinQuant 基座 | 1.58-bit | 18.4 | 33.3 | 45.6 | 27.9 | 22.9 | 57.2 | 31.9 | 45.6 | |
| 本文方法 (Ours) | 1.58-bit | 23.8 | 46.0 | 62.2 | 34.0 | 24.8 | 64.6 | 38.3 | 22.3 |
消融实验与基线对比¶
在下游数学推理任务(GSM8K Exact-Match)、视觉Transformer(ImageNet-100 Top-1)以及与重反量化QLoRA的对比实验如下:
| 评估任务 / 模型 | 对比配置 / 方案 | 基础/适配比特 | 核心指标 | 说明 |
|---|---|---|---|---|
| Llama-3.2-3B (Alpaca微调) | QLoRA (浮点微调后重反量化至三值) | 1.58 / 1.58 | 37.5% / PPL 22.9 | 重反量化截断引入显著二次精度损伤 |
| 本文方法 (原生三值乘法合并) | 1.58 / 1.58 | 38.3% / PPL 22.3 | 原生域内自适应,无重反量化失真 | |
| GSM8K (数学推理 EM %) | BitNet b1.58 2B4T 原生基座 | 1.58-bit | 60.1% | 冻结原生三值LLM基座 |
| BitNet b1.58 2B4T + 本文适配 | 1.58-bit | 63.0% | +2.9% 纯三值免额外推理开销提升 | |
| Falcon Edge 1B 原生基座 | 1.58-bit | 52.0% | 冻结原生基座 | |
| Falcon Edge 1B + 本文适配 | 1.58-bit | 55.1% | +3.1% 显著适应下游指令遵循 | |
| Falcon Edge 3B 原生基座 | 1.58-bit | 65.4% | 冻结原生基座 | |
| Falcon Edge 3B + 本文适配 | 1.58-bit | 66.4% | +1.0% 保持严格三值部署 | |
| ViT-B/16 (ImageNet-100 分类) | Full-FT (全参数STE微调) | 1.58-bit | 85.7% | 全量权重更新上限(高显存训练代价) |
| QLoRA (保留16-bit浮点外挂适配器) | 1.58 / 16 | 85.3% | 推理需要保留双精度分支,失去纯三值优势 | |
| QLoRA (合并后重反量化至三值) | 1.58 / 1.58 | 78.9% | 极端量化下重反量化导致大幅掉点 (-6.4%) | |
| 本文方法 (合并后纯三值模型) | 1.58 / 1.58 | 83.0% | 大幅超越重反量化QLoRA (+4.1%),逼近全微调 |
关键发现¶
- 重量化破坏力被彻底消除:实验证明在 1.58-bit 极限压缩下,传统PEFT(如QLoRA)无论训练如何充分,只要在合并阶段进行“反量化-加法相加-重新三值量化”,就会遭遇严重的性能崩溃(在ViT-B/16上暴跌6.4%至78.9%)。本文的原生三值乘法更新直接避免了该步骤,稳定保持在83.0%。
- 三值权重的跃迁机制具有“零点锁定”特性:权重转移矩阵统计分析显示,所有原本被剪枝置零(\(W_{ij}=0\))的连接在微调后100%保持为0,无法被重新激活(因 \(0 \times \Delta_{ij} = 0\))。因此,微调性能的全部回升均来自非零权重(\(+1\) 和 \(-1\))之间的动态重新分配与符号校准。
- 参数极其轻量却大幅超越2-bit PTQ:在仅更新约 0.06% 参数量的条件下,本文方法在 Llama-3.2-3B 上将 PPL 从 45.6 砍半至 22.3,不仅全线碾压三值基线,且全面超越了参数量更大的 2-bit SpinQuant 基线。
亮点与洞察¶
- 将低秩微调拓展到离散域的代数范式创新:打破了LoRA系列依赖“浮点加法残差”的思维定势,巧妙借助Hadamard积在 \(\{-1, 0, 1\}\) 域上的代数封闭性,构造了完全原生可融合的三值微调算子。
- Kronecker分解实现极小参数量与高有效秩的解耦:利用张量积的秩乘积性质 \(\mathrm{rank}(A \otimes B) = \mathrm{rank}(A)\mathrm{rank}(B)\),以仅 \(2d\) 的一阶参数量获得了媲美高秩矩阵的表达容量,解决了传统LoRA在极低参数预算下秩受限的短板。
- 跨模态与跨架构通用性:该方法无需修改Transformer内部注意力算子或改变激活分布,对PTQ后量化模型、原生预训练三值LLM(BitNet、Falcon Edge)以及视觉Transformer均即插即用。
局限与展望¶
- 零值不可激活问题(Zero-Locking):由于采用纯乘法调制,初始三值模型中已被置为0的稀疏权重无法被恢复为 \(\pm 1\)。在初试量化阶段误剪枝较多的层,其容量上限会受到结构性约束。
- 因子分解依赖矩阵维度的整除性:Kronecker分解要求 \(d_{\text{out}}\) 与 \(d_{\text{in}}\) 能够被分解为相对均衡的整数因子对 \((p,r)\) 与 \((q,s)\)。虽然常规Transformer隐藏层大多为2的幂次,但在非规则尺寸或异构卷积结构中可能遇到分解不平衡问题。
- 激活量化联合优化的未来探索:当前工作主要适配三值权重,激活值仍维持在8-bit或16-bit浮点,未来可进一步探索权重-激活全离散乘法适配体系。
相关工作与启发¶
- vs QLoRA [Dettmers et al., 2023]: QLoRA将量化基座解压至FP16后与低秩加法矩阵相加,部署时若保持双精度分支则占用额外内存与带宽,若重新量化回三值则产生巨大截断噪声;本文采用原生三值乘法,合并后模型纯净、零推理开销且无量化精度受损。
- vs QA-LoRA [Xu et al., 2023]: QA-LoRA将加法适配项吸收进 group-wise 量化器的零点与缩放系数中,但三值量化不存在自由的连续零点;本文专为 \(\{-1, 0, 1\}\) 离散空间设计,填补了 sub-2-bit PEFT 适配的方法空白。
- vs LoRMA [Bihany et al., 2025]: LoRMA在浮点空间利用乘法正交变换旋转权重空间;本文则聚焦于离散量子化空间的符号翻转与置零掩码,具有本质不同的代数约束与优化目标。
评分¶
- 新颖性: ⭐⭐⭐⭐⭐ [首次提出严格闭合于三值域的Kronecker乘法适配机制,突破了极低比特PEFT不可融合的困局]
- 实验充分度: ⭐⭐⭐⭐⭐ [跨越PTQ大模型、原生三值LLM、视觉ViT共6种模型与多项标准基准,分析了详细的权重转移矩阵]
- 写作质量: ⭐⭐⭐⭐⭐ [动机叙述逻辑极其清晰,数学形式化表达严谨且直观]
- 价值: ⭐⭐⭐⭐⭐ [对 1.58-bit 绿色端侧大模型的高效落地与下游领域定制化具有极高的实用价值]