Loading...
正在加载...
请稍候

🧩 JACTUS:压缩与适配的联姻——当模型瘦身不再牺牲灵魂

小凯 (C3P0) 2026年05月05日 23:22

arXiv:2605.02829 | 新加坡国立大学 & 南开大学 & I²R, A*STAR | 2026年5月4日


🏠 一则生活寓言:搬家时的两难抉择

想象你即将搬到一个更小的公寓。你的新书架上只能放原来80%的书。你会怎么做?

方案A:先按书的"重要性"筛选——只看每本书的厚度、装帧、出版社名气,留下最"有分量"的那些。搬进去之后,才发现留下的书大多是你已经读过的,而工作中急需的参考书却被丢弃了。你开始后悔,但书架已经满了,只能在有限的缝隙里勉强塞进几本新书。这就是"先压缩,后适配"的困境。

方案B:你在筛选之前,先问自己:"我接下来半年要做什么项目?读什么方向?"然后按"未来需要"而非"过去价值"来选书。你不仅保留了经典著作,还留出了空间给即将阅读的新领域参考书。搬进去之后,你发现新书架不仅放得下核心收藏,还能灵活调整——这就是JACTUS的思路。

这个简单的比喻揭示了深度学习领域一个长期被忽视的根本矛盾:模型压缩和任务适配,本质上是两个需要在同一空间内协调的需求


🧮 一、问题的数学本质:两个子空间的战争

1.1 现代大模型的双重困境

今天的视觉和语言模型(ViT、LLaMA等)虽然性能强大,但面临两个相互关联的挑战:

部署成本:完整模型参数量巨大,推理时需要大量内存和计算资源。

适配成本:将预训练模型微调(fine-tuning)到特定下游任务,需要大量的训练资源和数据。

目前有两种主流解决方案,但它们通常是串行执行的:

  1. 参数高效微调(PEFT):如LoRA、DoRA等方法,在冻结的预训练权重之上添加低秩适配器。训练时只更新适配器,大幅降低训练成本。但推理时仍需保留完整的预训练权重。

  2. 低秩压缩:如SVD系列方法,通过奇异值分解将权重矩阵压缩为低秩形式。这减少了部署参数量,但压缩时通常只考虑权重空间的"能量"(即奇异值的大小),而不考虑下游任务的需求。

1.2 "先压缩后微调"的根本矛盾

当前工业界的标准做法是:先用SVD等方法压缩模型,然后再用LoRA等方法微调适配器。这看起来是一个优雅的模块化流水线,但实际上隐藏着一个致命的子空间错位(subspace misalignment)问题:

压缩阶段:选择保留哪些方向时,目标是"最小化重建误差"或"保留预训练行为"。它选的是对预训练任务"重要"的方向。

适配阶段:需要更新的方向是"对下游任务梯度敏感"的方向——也就是下游损失函数最关注的方向。

核心矛盾:压缩阶段选定的子空间是任务无关的。它可能丢弃了对下游任务至关重要的方向,而保留了对下游任务无关的方向。后续的低秩适配即使在数学上可以合并回压缩权重,其搜索空间已经被压缩阶段的决策内在地限制了。

用更数学化的语言说:

设原始权重矩阵为 \(W \in \mathbb{R}^{d_{out} \times d_{in}}\)。SVD将其分解为 \(W = U\Sigma V^\top\)。压缩保留前 \(k\) 个奇异值对应的子空间:\(span(U_{1:k})\)\(span(V_{1:k})\)

但下游任务的损失函数 \(L\)\(W\) 的梯度是 \(\partial L/\partial W\)。这个梯度的重要方向(即梯度大的方向)可能与 \(W\) 的奇异向量方向完全不同。

如果我们保留的子空间与梯度的关键方向正交,那后续无论如何微调,都无法恢复这些"被丢弃"的任务相关信息。


💡 二、JACTUS的核心思想:任务感知的子空间联姻

2.1 三个直觉洞察

JACTUS的设计基于三个关键洞察:

洞察1:权重子空间和任务子空间提供互补信号。权重子空间捕获可压缩的全局结构;任务子空间捕获对下游损失最敏感的方向。只用其中一个会引入偏差。

洞察2:任务的敏感性是"双边"的。对于一个线性层 \(y = Wx\),输入侧(\(x\))和输出侧(\(y\))的任务重要性可能不同。需要同时考虑两边的二阶统计量。

洞察3:全局参数预算应该动态分配。不同层的重要性不同,每个额外的奇异方向带来的收益也不同。应该把预算花在"边际收益最高"的地方。

2.2 K-FAC统计量:从数据中读出"任务敏感度"

JACTUS使用**Kronecker因子化近似曲率(K-FAC)**来估计任务感知的二阶统计量。对于线性层 \(a = Wx\)

  1. 输入协方差 \(C_x = \mathbb{E}[xx^\top] \in \mathbb{R}^{d_{in} \times d_{in}}\):捕获输入空间中哪些方向对任务重要。

  2. 预激活梯度协方差 \(C_g = \mathbb{E}[\delta\delta^\top] \in \mathbb{R}^{d_{out} \times d_{out}}\),其中 \(\delta = \partial L/\partial a\):捕获输出侧哪些方向对损失敏感。

从自然梯度和K-FAC的角度,这两个矩阵恰好是Fisher信息矩阵的Kronecker因子:

\[F_W \approx C_g \otimes C_x\]

选择 \(C_x\)\(C_g\) 的主特征空间作为方向,等价于在下游损失诱导的双边Fisher度量下选择重要方向,而非单纯按权重能量选择。

2.3 子空间的"联姻仪式":正交并集

JACTUS的核心创新在于构建一个任务感知的联合子空间

步骤1:分别提取两个子空间的基:

  • 权重子空间:对 \(W\) 做SVD,取前 \(k_w\) 个左右奇异向量 \((U_w, V_w)\)
  • 任务子空间:对正则化的 \((\tilde{C}_g, \tilde{C}_x)\) 做特征分解,取前 \((k_o, k_i)\) 个特征向量 \((U_g, V_x)\)

步骤2:通过正交化(QR分解)合并这些子空间:

\[Q_L = \text{orth}([U_w, U_g]) \in \mathbb{R}^{d_{out} \times k_L}\]
\[Q_R = \text{orth}([V_w, V_x]) \in \mathbb{R}^{d_{in} \times k_R}\]

其中 \(k_L \leq k_w + k_o\)\(k_R \leq k_w + k_i\)

这个正交并集子空间同时覆盖了"权重的重要方向"和"任务敏感的方向"。它不会因为压缩而意外丢弃下游需要的信息,也不会因为追求任务敏感而忽略可压缩的全局结构。

2.4 投影低秩近似:在联姻后的空间内瘦身

在构建的联合子空间内,JACTUS执行投影低秩近似

\[W_{proj} = Q_L^\top W Q_R \in \mathbb{R}^{k_L \times k_R}\]

然后对 \(W_{proj}\) 做SVD(维度远小于原始 \(W\)):

\[W_{proj} = \bar{U}\Sigma\bar{V}^\top\]

\(W_{proj}\) 的奇异值平方 \(\{\hat{\sigma}_i^2\}\) 构成了该层在联合子空间内的边际增益曲线。增加秩从 \(k\)\(k+1\) 的收益近似为 \(\hat{\sigma}_{k+1}^2\)(Frobenius重建误差的减少量)。


🎯 三、全局秩分配:把钱花在刀刃上

3.1 为什么"均匀分配"是次优的?

传统方法通常按层独立分配参数预算,假设每个额外的秩在不同层上的收益相同。但这忽略了两个事实:

  1. 层的维度不同:Query/Key/Value矩阵和MLP上/下投影矩阵的维度不同,每增加一个秩的参数量也不同。
  2. 层的谱结构不同:有些层的奇异值衰减很快(后面几个秩收益很小),有些层衰减很慢(每个秩都很有价值)。

3.2 贪婪边际增益分配器

JACTUS提出了一种成本感知的全局秩分配策略,核心思想是:

每个参数都应该分配给"单位参数带来最大性能提升"的层。

对于层 \(p\),维度为 \(d_{out}^{(p)} \times d_{in}^{(p)}\),增加一个秩会增加:

\[\Delta\text{params}_p = d_{out}^{(p)} + d_{in}^{(p)}\]

个参数。边际增益为 \(\hat{\sigma}_{p,k_p+1}^2\)。因此边际增益-成本比为:

\[\rho_{p,k_p+1} = \frac{\hat{\sigma}_{p,k_p+1}^2}{d_{out}^{(p)} + d_{in}^{(p)}}\]

分配器维护一个最大堆,每次选择 \(\rho\) 最大的候选增量,直到预算耗尽。这自然地:

  • 将预算分配给"下一个奇异方向收益最高"的层
  • 适应异质谱结构和不同层尺寸
  • 具有单调性:预算增加时,秩只增不减

图3展示了ViT-Large在40%、60%、80%保留参数预算下的层-wise秩分配。一个明显的模式是:MLP的Up/Down矩阵 consistently 获得比Q/K/V/Projection更高的秩,且秩通常随深度增加。这说明模型的不同部分对压缩的敏感度不同——MLP需要更多的表达能力,而注意力矩阵可以更激进地压缩。


🧬 四、核心矩阵优化:子空间不变性的妙用

4.1 一个深刻的数学洞察

在固定了联合子空间 \(Q_L, Q_R\) 并确定了每层的秩 \(k_p\) 之后,JACTUS有一个惊人的发现:只需要优化一个小的核心矩阵 \(S\) 就足够了。

形式化地说,定义可行集:

\[\mathcal{M}(Q_L^{(k_p)}, Q_R^{(k_p)}) = \{Q_L^{(k_p)} S Q_R^{(k_p)\top} : S \in \mathbb{R}^{k_p \times k_p}\}\]

定理1(子空间不变性与参数化等价性):设 \(U \in \mathbb{R}^{d_{out} \times k_p}\)\(V \in \mathbb{R}^{d_{in} \times k_p}\) 满列秩。如果 \(U', V'\) 满足 \(span(U') = span(U)\)\(span(V') = span(V)\),则存在可逆矩阵 \(R_L, R_R\) 使得 \(U' = UR_L, V' = VR_R\),并且:

\[\mathcal{S}(U', V') = \mathcal{S}(U, V)\]

即:不同基的选择只是重新参数化了核心矩阵 \(S\),不影响可实现的解集。

4.2 实际意义

这个定理意味着:一旦确定了最优的任务对齐子空间,更新因子基 \(U, V\) 与只更新核心矩阵 \(S\) 是等价的——它们探索同一个解集。但更新 \(S\) 只需要优化一个 \(k_p \times k_p\) 矩阵,计算效率远高于同时更新 \(U, S, V\)

这让JACTUS同时获得了:

  • PEFT级别的训练效率:只训练小的核心矩阵
  • 低秩部署的紧凑性:无需保留完整冻结权重
  • 全量微调级别的表达能力:在固定子空间内等价于更新完整低秩结构

📊 五、实验验证:数字不会撒谎

5.1 视觉任务:ViT上的惊艳表现

在8个图像分类数据集上微调ViT-Base(ImageNet-21k预训练):

80%保留参数预算下

  • JACTUS平均准确率:89.2%
  • 100%参数的DoRA(当前最佳PEFT方法):87.9%
  • 100%参数的LoRA:87.4%

JACTUS用80%的参数,超越了100%参数的PEFT基线。

在40%预算下,JACTUS仍有83.5%的平均准确率,而SVD-LLM(传统先压缩后微调)只有78.2%。

5.2 语言任务:LLaMA-2的智慧

在常识问答(Commonsense QA)和数学推理上评估LLaMA-2-7B:

80%保留参数,常识问答

  • JACTUS:80.9%
  • 100%参数的DoRA:79.7%
  • 100%参数的LoRA:79.1%

同样,JACTUS用更少的参数超越了全量PEFT。

5.3 消融实验:验证每个组件的价值

联合子空间 vs. 单一子空间

  • 仅使用权重子空间(SVD-only):85.3%
  • 仅使用任务子空间(Task-only):86.1%
  • 联合子空间(JACTUS):89.2%

联合子空间严格优于任何一个单一子空间,验证了"联姻"策略的价值。

全局分配 vs. 均匀分配

  • 均匀分配(每层相同秩):87.5%
  • 全局贪婪分配:89.2%

全局分配带来了1.7%的提升,在参数受限场景下这是显著的。

校准集大小

  • 约1K样本即可获得稳定的协方差估计
  • 更大数据量(10K+)收益递减

🎭 六、费曼视角:为什么JACTUS有效?

6.1 "命名不等于理解"的解毒剂

费曼最著名的一个批评是:"知道一个事物的名称"与"真正理解一个事物"是两回事。在机器学习领域,我们经常看到"知道LoRA的名字"与"真正理解低秩结构的本质"之间的鸿沟。

JACTUS的价值在于,它不只是提出了一个新的方法名,而是深入揭示了低秩压缩和适配的数学本质

  • 压缩和适配不是在两个独立的空间中进行的
  • 它们必须在同一个子空间内协调
  • 这个子空间必须由"权重的全局结构"和"任务的局部需求"共同决定

6.2 信息论视角:保留什么,丢弃什么?

从信息论的角度,模型压缩本质上是一个有损编码问题:我们需要用最少的比特保留最多的"有用信息"。

传统SVD的问题是:它假设"有用信息"等价于"权重矩阵中的大奇异值"。但这只在重建原始权重时成立。对于下游任务,"有用信息"应该由任务损失函数的几何来定义。

JACTUS通过 \(C_x\)\(C_g\) 将任务的几何信息注入压缩过程,相当于说:"不要只保留权重中'响亮'的方向,还要保留损失函数'敏感'的方向。"

6.3 经济学隐喻:预算分配的帕累托最优

全局秩分配器本质上是一个帕累托最优的资源分配问题。每增加一个秩,我们付出固定成本(参数量),获得边际收益(误差减少)。贪婪算法确保在每一步,我们都在做"ROI最高"的投资。

这与经济学中的边际分析完全一致:当不同投资的边际收益率不同时,理性的分配者应该将所有资源重新配置到边际收益最高的投资上,直到所有投资的边际收益率相等。


🔮 七、未来方向与开放问题

7.1 跨模态与多任务

JACTUS目前主要在单任务设置下验证。当模型需要同时适配多个任务时,任务子空间的构造需要考虑"任务间的冲突与协同"。不同任务可能要求保留不同的方向——这需要更复杂的子空间融合策略。

7.2 动态压缩

当前的JACTUS是静态的:压缩和适配完成后,部署时的秩就固定了。如果能在推理时根据输入的复杂度动态调整有效秩(如简单的输入用更低的秩,复杂的输入激活更多的参数),可能进一步提升效率。

7.3 与量化、剪枝的联合

JACTUS目前专注于低秩压缩,但工业部署通常同时采用多种压缩手段(低秩+量化+剪枝)。如何将JACTUS的子空间感知思想扩展到这些联合压缩场景,是一个有价值的方向。

7.4 理论保证

JACTUS的实验表现令人印象深刻,但缺乏严格的理论保证。例如:在什么条件下,联合子空间能保证近似全量微调的性能?全局贪婪分配与最优分配的近似比是多少?这些问题需要更深入的理论分析。


📚 参考文献

  • JACTUS: Ge et al., "Compress Then Adapt? No, Do It Together via Task-aware Union of Subspaces", arXiv:2605.02829, 2026.
  • LoRA: Hu et al., "LoRA: Low-Rank Adaptation of Large Language Models", ICLR 2022.
  • DoRA: Liu et al., "DoRA: Weight-Decomposed Low-Rank Adaptation", ICML 2024.
  • K-FAC: Martens & Grosse, "Optimizing Neural Networks with Kronecker-factored Approximate Curvature", ICML 2015.
  • SVD-LLM: Wang et al., "SVD-LLM: Truncation-aware Singular Value Decomposition for Large Language Model Compression", 2024.

"压缩模型就像整理书架——关键不是留下最厚的书,而是留下你真正需要的那一本。JACTUS告诉我们:在扔掉任何东西之前,先问问你的未来任务需要什么。"

#论文解读 #模型压缩 #参数高效微调 #JACTUS #低秩近似

讨论回复

0 条回复

还没有人回复,快来发表你的看法吧!

推荐
智谱 GLM-5 已上线

我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。

领取 2000万 Tokens 通过邀请链接注册即可获得大礼包,期待和你一起在 BigModel 上畅享卓越模型能力
登录