SAES-SVD 阅读笔记:让后面的层补偿前面的压缩误差

笔记日期: 2026 年 10 月 9 日
笔记作者: Zhongzhu Zhou
论文题名: SAES-SVD: Self-Adaptive Suppression of Accumulated and Local Errors for SVD-based LLM Compression
论文作者: Xing Hu, Dawei Yang, Yuan Cheng, Zhixuan Chen, Zukang Xu
论文编号与版本: arXiv:2602.03051v1,2026 年 2 月 3 日

1. 后面的层,收到的已经不是原来的输入

读这篇论文时,我觉得最值得先想清楚的,是两个看上去很像、实际上不同的目标。前面几层压缩之后,当前层的输入已经变了。此时把当前权重换成低秩矩阵,是应该尽量模仿“原权重处理新输入”的结果,还是尽量找回“原模型处理原输入”的结果?如果只做前一种拟合,局部误差可以很小,整个网络却依然在偏离原来的轨迹。

SAES-SVD 把两种目标放进同一个最小二乘问题。CEALC 负责兼顾当前层重建与原始路径对齐;ACES 再根据奇异值能量的集中程度,选择两者之间的权重。前一个步骤有清楚的条件最优解,后一个步骤用了固定子空间近似。理解论文时,我会把这两层论证分开:回归问题能精确求解,并不意味着选系数的近似也精确,更不意味着最终语言模型损失达到最优。

随深度变化的输出相似度

图 1(论文 Fig. 1a):作者用逐层输出相似度展示累积误差问题。裁自 Hu 等人的论文,许可 CC BY 4.0。原图说明写 LLaMA-3-8B,相邻正文却写 LLaMA2-7B,因此这里仅将曲线作为定性动机,不擅自认定其中一个模型名称。

我喜欢这个切入点,是因为它没有把压缩理解成“每个矩阵各自少存一点”。神经网络是前后相接的计算过程,前面的近似会改变后面的输入分布。后面一层即使保留了最重要的奇异方向,也可能是在努力复现一个已经偏离参考轨迹的局部行为。允许它适当改变映射,才有机会补偿之前的偏差。

但补偿并非万能。如果上游已经把两个不同状态压成了同一种表示,下游无法凭空知道它们原来分别是什么。论文真正能优化的是当前输入仍然能够预测的那部分参考输出。这个限制会直接出现在后面的投影推导中,也决定了它与端到端微调的区别。

本笔记依据 v1 完整 26 页,正文、参考文献和附录 A 均已阅读。公式和伪代码用于解释论文方法;二维矩阵例子是明确给定假设的说明性计算;模型指标来自原论文表格。我没有运行新的模型压缩实验。论文中有若干文字、图注与表格不一致之处,下面会保留这些证据边界,不替作者猜测缺失设置。

2. 前置知识:低秩不一定省参数,重建也不等于质量

设一层权重为 W∈Rm×nW\in\mathbb{R}^{m\times n},用 U=ABU=AB 替代,其中 AA 是 m×rm\times r,BB 是 r×nr\times n。原矩阵存储 mnmn 个标量,两个因子合计存储 r(m+n)r(m+n) 个。因此,忽略偏置和元数据时,真正减少参数需要满足:

r(m+n)<mn,r<mnm+n.(1)r(m+n)<mn,\qquad r<\frac{mn}{m+n}. \tag{1}

一个 4096×40964096\times4096 方阵,如果选 r=2048r=2048,两个因子的参数量恰好与原矩阵相同。数学上的秩已经降低了一半,存储却没有减少。讨论压缩率时要同时看因子形状、数值精度、未压缩模块和实际字节数,不能只看保留了多少个奇异值。

普通截断 SVD 最小化的是权重空间误差 ∥U−W∥F2\|U-W\|_F^2。如果我们关心这层在真实数据上的输出,应改为 ∥(U−W)X∥F2\|(U-W)X\|_F^2,其中 X∈Rn×NX\in\mathbb{R}^{n\times N} 的每列是一个校准 token 的输入。展开后:

∥(U−W)X∥F2=tr⁡((U−W)H(U−W)⊤),H=XX⊤.(2)\|(U-W)X\|_F^2 =\operatorname{tr}\big((U-W)H(U-W)^\top\big), \qquad H=XX^\top. \tag{2}

这里 HH 是没有减均值的二阶矩。论文把它称作协方差,但若真的先做中心化,目标就变了。它表达的是:校准数据经常激活哪个方向,那个方向上的权重误差就更值得在意。很少出现的方向,即使权重差得多,对当前校准集也可能影响不大。

第三种误差是最终模型的任务损失。这与前两种都不相同。注意力、非线性、残差路径和输出决策边界,会改变局部误差传播到最终结果的方式。一个 token 的小幅 logit 变化可能改变生成路径,而一个较大的隐藏状态变化也可能没有改变答案。因此,局部重建目标是有用代理,不能自动当作端到端质量的定理。

可以先看一个只有一个数的例子。原权重 W=1W=1,原输入为 1,上游压缩后输入变成 0.8。只拟合当前路径,会选 U=1U=1,输出继续是 0.8;只追求原始输出,则会选 U=1.25U=1.25,把结果拉回 1。两者都不是算错了,而是在解决不同问题。真实矩阵还受到秩约束,事情会更复杂,但目标之间的差别已经出现。

3. 两个重建目标,如何合成一个目标

用 XfX^f 表示原模型路径的输入,T=WXT=WX 表示原权重处理当前输入的结果,R=WXfR=WX^f 表示原模型参考输出。两套激活必须来自相同样本、相同 token 位置,不能只是统计上看着相似。CEALC 的目标是:

J(U)=∥UX−T∥F2+α∥UX−R∥F2,α≥0,rank⁡(U)≤r.(3)J(U)=\|UX-T\|_F^2+\alpha\|UX-R\|_F^2, \qquad \alpha\geq0,\quad\operatorname{rank}(U)\leq r. \tag{3}

第一项约束当前层不要偏离原有功能太多;第二项允许它为了修复上游误差而改变功能。α\alpha 越大,越强调参考路径。需要注意,这只是目标中的偏好,不能直接推出增加它就一定改善最后的 perplexity。

推导的关键是配方。把两个平方展开,关于 UXUX 的二次项系数为 1+α1+\alpha,一次交叉项则对应 T+αRT+\alpha R。因此可以写成:

Z=T+αR1+α,β=α1+α,J(U)=(1+α)∥UX−Z∥F2+α1+α∥T−R∥F2,Z=W[X+β(Xf−X)].(4)\begin{aligned} Z&=\frac{T+\alpha R}{1+\alpha},\qquad \beta=\frac{\alpha}{1+\alpha},\\ J(U)&=(1+\alpha)\|UX-Z\|_F^2 +\frac{\alpha}{1+\alpha}\|T-R\|_F^2,\\ Z&=W\big[X+\beta(X^f-X)\big]. \end{aligned}\tag{4}

固定 α\alpha 时,第二行的最后一项与 UU 无关,所以求最优因子时可以去掉。于是问题变成:用受秩约束的线性映射去拟合混合目标 ZZ。这个变化让补偿目标有了明确的线性代数形式。

不过,如果我们开始比较不同 α\alpha,那一项就不是跨系数不变的常数了,前面的缩放也随之改变。ACES 后面采用的能量比例,是另行定义的系数选择准则,并不是顺手把原来的联合优化完全解掉。这一点很容易在阅读时被“闭式解”三个字掩盖。

用 β\beta 表达更直观:0 表示只看当前路径,趋近 1 表示越来越接近原始参考。有限 α\alpha 的逆变换为 α=β/(1−β)\alpha=\beta/(1-\beta);β=1\beta=1 对应的是无穷大极限,不能当作普通有限系数。前面那个标量例子中,α=1\alpha=1、β=0.5\beta=0.5,混合目标是 0.9,拟合权重为 1.125。它在输出空间折中,但这里没有做任何任务质量实验。

SAES-SVD 框架

图 2(论文 Fig. 2):原始路径与压缩路径共同决定补偿目标,再通过白化和截断得到低秩因子。裁自 Hu 等人,CC BY 4.0。图中的参考对齐、系数选择和最终分解,应当作为三个步骤理解。

4. 白化推导:先弄清哪些误差根本拟合不了

先假设 H=XX⊤H=XX^\top 正定。定义投影矩阵 P=X⊤H−1XP=X^\top H^{-1}X,它把行向量投影到 XX 的行空间。由于 XP=XXP=X,任何可能的输出 UXUX 都已经在这个空间中。把目标 ZZ 分成空间内与空间外两部分,有:

P=X⊤H−1X,∥UX−Z∥F2=∥UX−ZP∥F2+∥Z(I−P)∥F2.(5)P=X^\top H^{-1}X,\qquad \|UX-Z\|_F^2=\|UX-ZP\|_F^2+\|Z(I-P)\|_F^2. \tag{5}

等式成立的原因是正交性。UX−ZPUX-ZP 位于行空间内,Z(I−P)Z(I-P) 位于正交补,两者内积为零,所以平方展开没有交叉项。后一个误差与 UU 无关,不管把本层秩提高多少,都无法由当前校准输入的线性组合拟合。

这一项给“累积误差补偿”划出了很实在的边界。补偿能利用当前表示与原始表示之间仍存在的相关关系,却不能还原已经消失的信息。若主要问题是上游把有用区分抹掉,下游精确求解局部最小二乘也无济于事。此时应该考虑把容量留给上游,而不是只在最后一层增秩。

接下来令 M=ZX⊤M=ZX^\top。展开可优化部分,二次项是 tr⁡(UHU⊤)\operatorname{tr}(UHU^\top),交叉项是 −2tr⁡(UM⊤)-2\operatorname{tr}(UM^\top)。用对称平方根重新配方,并令 V=UH1/2V=UH^{1/2},得到:

min⁡rank⁡(U)≤r∥UX−Z∥F2⟺min⁡rank⁡(V)≤r∥V−MH−1/2∥F2.(6)\min_{\operatorname{rank}(U)\leq r}\|UX-Z\|_F^2 \quad\Longleftrightarrow\quad \min_{\operatorname{rank}(V)\leq r}\|V-MH^{-1/2}\|_F^2. \tag{6}

这里的双向箭头表示最优解之间一一对应,并不是两个目标数值相等。因为 H1/2H^{1/2} 可逆,乘上它不会改变矩阵秩,所以新的约束仍是秩不超过 rr。这一步把带数据分布的回归,变成了普通 Frobenius 范数下的低秩近似,截断 SVD 才能直接发挥作用。

再定义 Δ=(Xf−X)X⊤\Delta=(X^f-X)X^\top。将混合目标代入,有 M=W(H+βΔ)M=W(H+\beta\Delta)。实际无需构造巨大的 N×NN\times N 投影矩阵,只需保存两个输入维度大小的统计矩阵。最终公式为:

G(β)=W(H+βΔ)H−1/2,[G(β)]r=U~rΣrV~r⊤,A=U~rΣr1/2,B=Σr1/2V~r⊤H−1/2.(7)\begin{aligned} G(\beta)&=W(H+\beta\Delta)H^{-1/2},\\ [G(\beta)]_r&=\widetilde U_r\Sigma_r\widetilde V_r^\top,\\ A&=\widetilde U_r\Sigma_r^{1/2},\qquad B=\Sigma_r^{1/2}\widetilde V_r^\top H^{-1/2}. \end{aligned}\tag{7}

先在激活加权后的坐标里截断,再映射回原输入坐标。将奇异值的平方根平均分到两个因子,是一种方便的参数化;在精确算术下,也可以把所有奇异值放在同一个因子中,乘积相同。但如果后续还要量化,两个因子的数值尺度就会影响误差,参数化不再只是记号问题。

我认为这是论文最稳固、也最容易迁移的部分:只要参考目标、输入统计和秩预算固定,最优低秩回归就能写得非常明确。它既告诉我们如何求解,也告诉我们有什么无法求解。相比一句“考虑全局误差”,这些可检验的条件更有价值。

5. 统计矩阵省下什么,又引入什么条件

若输入宽度 n=4096n=4096,校准集包含 128×2048128\times2048 个 token,按 FP32 存两套完整激活需约 8 GiB;存两套 4096×40964096\times4096 二阶矩则约 128 MiB。这是按明确尺寸计算的说明例子,不包含模型权重、前向临时张量、分解工作区,也不代表任何层都能获得同样比例的节省。

HH 对称,Δ\Delta 一般不对称。后者描述原始路径偏差与当前输入的交叉关系,若为了“像协方差”而强行对称化,会改变补偿方向。两条路径还必须使用相同的样本顺序、token 掩码与缩放规则。形状相同并不足以保证统计含义正确。

算法 1:针对固定上游状态收集配对统计

下面是附录流式统计的数学重述,采用原始求和,让归一化约定清楚可见。

1. 固定已经压缩的上游层及校准样本集合。
2. 初始化 H = 0、Delta = 0、有效 token 数 = 0。
3. 对每个小批量,取得配对的当前输入 X 与原始输入 X_ref。
4. 将有效 token 排成列,保证两条路径的列顺序完全相同。
5. 累加 H += X X^T。
6. 累加 Delta += (X_ref - X) X^T。
7. 记录本批有效 token 数并更新总数。
8. 如需归一化,对 H 和 Delta 同除以总 token 数。
9. 返回统计矩阵以及所用的归一化约定。

原论文算法用 t/(t+m)t/(t+m) 缩放历史统计,再用 2/(t+m)2/(t+m) 加入当前批外积。只要计数一致,按批次归纳可知结果等于外积运行均值的两倍。它不是固定遗忘因子的指数滑动平均,尽管复杂度部分用了类似术语。这里更重要的不是名称,而是两个统计量采用同一尺度。

在没有阻尼时,同时把 HH 和 Δ\Delta 乘正数 cc,会让 GG 乘 c\sqrt c,而逆平方根乘 1/c1/\sqrt c,最终 UU 保持不变。但加入固定 λI\lambda I 后,这个抵消就不成立了;若要保持等价,λ\lambda 也应随统计尺度一起变化。因此,阻尼参数只报一个数,却不报统计归一化方式,无法完整描述方法。

另外,“token 数多于通道数”不意味着必然满行秩。通道可能相关,HH 仍可能奇异。附录采用 H+λIH+\lambda I 稳定逆运算。从回归角度看,保留原始交叉矩 MM,把度量改成这个矩阵,对应的是一个带惩罚项的问题:

min⁡rank⁡(U)≤r∥UX−Z∥F2+λ∥U∥F2⟹U=[M(H+λI)−1/2]r(H+λI)−1/2.(8)\min_{\operatorname{rank}(U)\leq r} \|UX-Z\|_F^2+\lambda\|U\|_F^2 \quad\Longrightarrow\quad U=[M(H+\lambda I)^{-1/2}]_r(H+\lambda I)^{-1/2}. \tag{8}

推导只需在原来的二次展开中加入 λtr⁡(UU⊤)\lambda\operatorname{tr}(UU^\top)。这说明阻尼并非无影响的数值小补丁,而是在低方差方向引入了偏置。它通常有益,却不再是未阻尼定理中的同一个目标。

还要区分对称平方根与 Cholesky 因子。若 H=CC⊤H=CC^\top,可以一致地使用 UCUC 和 MC−⊤MC^{-\top};但三角矩阵 CC 本身并不等于对称的 H1/2H^{1/2}。论文用 Cholesky 描述白化时,公式中的转置方向仍然需要严格对应,不能把两种记号混着用。

6. ACES:寻找更适合截断的补偿目标

固定秩以后,不同补偿系数会得到不同目标 G(β)G(\beta)。定义 S=WHH−1/2S=WHH^{-1/2}、D=WΔH−1/2D=W\Delta H^{-1/2},就有 G=S+βDG=S+\beta D。ACES 希望目标能量尽量集中在前 rr 个奇异方向,采用保留能量比例:

RER⁡(β)=∑i≤rσi(G(β))2∥G(β)∥F2=1−∑i>rσi(G(β))2∥G(β)∥F2.(9)\operatorname{RER}(\beta)= \frac{\sum_{i\leq r}\sigma_i(G(\beta))^2}{\|G(\beta)\|_F^2} =1-\frac{\sum_{i>r}\sigma_i(G(\beta))^2}{\|G(\beta)\|_F^2}. \tag{9}

这个指标对整体缩放不敏感,表达的是“目标有多容易被当前秩表示”。它没有直接衡量语言模型损失,而且目标本身也随系数移动。保留比例增加,可能是尾部能量下降,也可能是总能量增加。把这些机制都概括成“信息保留更多”,容易跳过尚未验证的语义联系。

补偿系数与保留能量

图 3(论文 Fig. 1c):同一示例中,保留能量比例随系数并非单调变化。裁自 Hu 等人,CC BY 4.0。它支持适应性选系数的动机,但不能单凭这一条曲线推出通用系数。

若对每个候选 β\beta 都重新做 SVD,搜索会很贵。ACES 先对 SS 提取前 rr 个左右奇异子空间,再固定它们,近似追踪补偿之后的尾部。令 PL=I−UrUr⊤P_L=I-U_rU_r^\top、PR=I−VrVr⊤P_R=I-V_rV_r^\top,并记 S⊥=PLSPRS_\perp=P_LSP_R、D⊥=PLDPRD_\perp=P_LDP_R。近似的平方尾部比例为:

q~(β)=a+2bβ+cβ2A0+2B0β+C0β2.(10)\widetilde q(\beta)=\frac{a+2b\beta+c\beta^2}{A_0+2B_0\beta+C_0\beta^2}. \tag{10}

其中 a=∥S⊥∥F2a=\|S_\perp\|_F^2,b=⟨S⊥,D⊥⟩Fb=\langle S_\perp,D_\perp\rangle_F,c=∥D⊥∥F2c=\|D_\perp\|_F^2;A0,B0,C0A_0,B_0,C_0 则用未投影的 S,DS,D 作同样计算。这些大写量是标量,不是前面的低秩因子。论文在平方比例与开平方后的比例之间切换记号;分母为正时,两者的最小化位置相同,笔记统一使用平方形式。

把分子分母写成 n(β),d(β)n(\beta),d(\beta),商求导得到 (n′d−nd′)/d2(n'd-nd')/d^2。展开时三次项相消,只剩二次多项式:

n′d−nd′2=(cB0−bC0)β2+(cA0−aC0)β+(bA0−aB0).(11)\frac{n'd-nd'}{2} =(cB_0-bC_0)\beta^2+(cA_0-aC_0)\beta+(bA_0-aB_0). \tag{11}

于是只需求实根,筛掉区间外的根,再与端点一起比较。这确实是给定有理近似函数的解析搜索,却仍不是真实变化子空间下的精确搜索。两者之间的差距,需要下一节的扰动条件来约束。

7. 固定子空间近似,什么时候会失准

附录 A.3 要求截断位置有正的谱间隙 δ=σr(S)−σr+1(S)\delta=\sigma_r(S)-\sigma_{r+1}(S),并且补偿相对这个间隙足够小:

τ=β∥D∥2δ≪1.(12)\tau=\frac{\beta\|D\|_2}{\delta}\ll1. \tag{12}

如果第 rr 和第 r+1r+1 个奇异值几乎一样大,“哪些方向留下、哪些丢掉”的分界就很脆弱。轻微扰动也可能让主子空间明显旋转。此时,固定在 β=0\beta=0 的投影还在看旧方向,真正的最优截断却已经换了方向,两者自然会分离。

这里的双侧投影也不一定等于某个可行秩为 rr 的重建残差。保留子空间与丢弃子空间之间的交叉块,会推动奇异向量旋转,而近似将这部分作用简化了。因此这个分数适合做局部代理,不能直接当作真实截断误差的上界。

固定子空间近似的二维例子

图 4(原创说明性计算):对下面给定的两个二维矩阵,比较真实平方尾部比例与固定子空间近似。它不是模型实验;近零区域相近,不能保证大扰动时也相近。

具体取 SS 为对角元 2、1 的对角矩阵,DD 的对角元为 0、两个非对角元为 1,保留秩为 1。固定投影后,右下角元素始终为 1;真实较小特征值则是 (3−1+4β2)/2(3-\sqrt{1+4\beta^2})/2,总平方能量为 5+2β25+2\beta^2。据此直接画出两条曲线,不需要运行任何神经网络。

当 β=1\beta=1 时,真实平方尾部比例约 0.0208,近似约 0.1429,差异已经很明显。但这不是对局部定理的反例,因为此时 τ=1\tau=1,已经不满足小扰动条件。这个例子要提醒的是:不能把近零处的一阶准确性,扩大成整个系数区间上的可靠性。

附录还从尾部能量的误差界转到开平方后的比例界。尾部能量趋近零时,平方根不是一致 Lipschitz 的;总能量如果也很小,除法同样敏感。因此我更愿意直接使用平方能量的近似,并认为未平方比例的界需要明确的非退化条件。论文提到的某个示意性 τ\tau 范围,也不应被读成普遍适用的误差阈值。

不同层的能量曲线

图 5(论文 Fig. 5):不同层可以偏好不同系数。裁自 Hu 等人,CC BY 4.0。此图图注写 rank 1228,而 Fig. 1c 写 rank 128;没有进一步澄清前,不应把两处合并成同一组定量设置。

8. 把方法写成能逐步核对的算法

算法 2:用固定子空间近似选择 beta

这份伪代码按 ACES 的数学意图重述,并明确退化情况。保护分支用于说明数值边界,不代表我核验了某个软件版本的行为。

1. 用一致的白化约定计算 L、S = W H L、D = W Delta L。
2. 提取 S 的前 r 个左右奇异子空间。
3. 将 S、D 双侧投影到相应正交补。
4. 按式 (10) 计算 a、b、c、A0、B0、C0。
5. 组成式 (11) 的驻点多项式。
6. 二次时求实根;退化为一次时解线性方程。
7. 常数或恒零情形保留区间端点。
8. 将有效实根与端点放入候选集合。
9. 按声明的顺序执行截断、缩小与最终可行区间约束。
10. 排除总能量分母在数值上接近零的候选。
11. 比较平方尾部比例,返回得分最小的 beta。
12. 仅在 beta < 1 时换算为有限 alpha。

原附录 Algorithm 3 先写比例目标的候选生成,后面又写能量目标的候选赋值,中间没有清楚显示分隔的 else。结合文字说明,应把它们理解为两种可选目标,而不是让后一行覆盖前一行。能量目标最小化 a+2bβ+cβ2a+2b\beta+c\beta^2;当 c>0c>0 时,候选是截断到区间内的 −b/c-b/c。它关注绝对尾部能量,与比例目标不同。

另一个细节是保护操作的顺序。如果先把系数截断到区间,再乘一个小于 1 的缩小因子,它可能又掉到下界之外。所谓“始终在区间内”,需要最后再检查一次,或明确下界约束只在缩小前成立。数学原理正确,并不会自动消除算法文字中的这些歧义。

算法 3:按依赖顺序压缩网络

本层收集统计时,上游已经压缩的层应固定;完成本层替换之后,下游输入才会随之改变。这是累积误差统计有意义的前提。

1. 确定各层秩、校准集、阻尼尺度和 beta 的范围。
2. 保留原始参考路径,以及逐步更新的压缩路径。
3. 为下一个待压缩层运行算法 1,取得配对统计。
4. 使用指定 beta,或者用算法 2 自适应选择。
5. 构造 G = W (H + beta Delta) L。
6. 对 G 做秩 r 的截断 SVD。
7. 按一致的白化方向构造因子 A、B。
8. 将这两个因子安装到压缩路径,替换原层。
9. 更新后续层所见的校准输入。
10. 按依赖顺序继续,最后评估完整压缩模型。

如果系数由外部给定,CEALC 的最终分解只需对 GG 做一次 SVD。但自适应流程还要对 SS 提取主子空间,所以通常是两次截断分解。附录 A.10 明确说 ACES 多一次 SVD;正文和其他算法说明中“每层一次”的说法,只能用于最终固定系数分解,不能覆盖完整自适应流程。

统计收集也有成本。它需要与 token 数、通道宽度有关的矩阵乘法;保存二阶矩仍随宽度平方增长。某种截断求解器可以近似按 mnrmnr 估算计算量,但这取决于求解方式、迭代次数和容差,不能拿来代表任意稠密精确 SVD。统计省内存、分解省搜索和最终推理加速,是三个不同层面的收益。

9. 主实验:先读表格,再决定怎样描述提升

Table 1 给出 LLaMA-7B 在 0.2、0.4、0.6 压缩率下的结果。这里沿用论文的压缩率定义,不自行换算成完整模型的实际字节预算。原模型 WikiText-2 perplexity 为 5.68,表中七任务平均准确率为 0.52。

LLaMA-7B 主实验

图 6(按论文 Table 1 重绘):选取 WikiText-2 perplexity 和表中平均准确率,展示不同压缩率下的变化。数据为作者报告,不是新实验;比较方法所用的训练和秩分配预算并不完全相同。

在 0.2 压缩率下,SAES-SVD 的 WikiText-2 PPL 为 7.17,平均准确率 0.50;Dip-SVD 分别是 7.95 和 0.47。用四舍五入后的准确率算,下降幅度从 0.05 缩小到 0.02,减少 60%;用表中相对 Drop 栏计算,1−3.9/9.21-3.9/9.2 约等于 57.6%,与论文所说约 58% 接近。这里的小差别可以由舍入解释。

但 PPL 缺口不一样。若比较相对原模型的 WikiText-2 缺口,计算是:

1−7.17−5.687.95−5.68≈0.344.(13)1-\frac{7.17-5.68}{7.95-5.68}\approx0.344. \tag{13}

结果约 34.4%,并非引言所写相对 Dip-SVD 的 52%。换一种聚合方式也许会得到别的值,但文中没有清楚给出可据以复算的定义。笔记因此采用表内数值和明确分母,不把无法对应的百分比继续当作结论传播。

0.6 压缩率下,Dobi-SVD 的 WikiText-2 PPL 是 46.18,SAES-SVD 是 22.01;相对原模型的 PPL 缺口减少约 59.7%,这是明显改善。不过平均准确率是 0.34,对比原模型 0.52,绝对下降 0.18。正文说此处下降低于 0.03,与表格冲突。“比其他压缩方法好”仍然成立于某些指标,但不能写成“几乎不损失原始质量”。

也不能把优势推广到每一个数据集。0.4 压缩率下,SAES-SVD 的 C4 PPL 为 32.79,Dobi-SVD 为 23.54,后者更好;在 0.2 下,Dobi-SVD 的 PTB 和 C4 PPL 也更低。合理的归纳应是:SAES 在若干平均指标和 WikiText-2 比较上表现强,而非逐项胜出。

表格本身还有需要谨慎的地方:Table 1 图注称无法取得 Dip-SVD 的 0.4 结果,却又列出该行;FWSVD 在 0.2 的七项分数算术平均约 0.077,打印的平均值却是 0.02。附录 Table 5 原始模型的四个准确率平均约 74.74%,并非打印的 68.85%。这些问题不等于方法无效,但使得部分汇总指标不能被当作已经独立核对完毕的事实。

10. 消融、扩展与运行时间:分别回答不同问题

10.1 两个组件是否各自有用

Table 3 的消融更适合观察方法内部的作用。在 LLaMA-2-7B 上,去掉两个组件时,WikiText-2 PPL 为 9.34;加入 CEALC 后降到 7.66;再加入 ACES 后降到 7.37。LLaMA-3-8B 对应为 16.59、12.25、11.48。两组结果都表明,先改变拟合目标带来的改善更大,自适应选择系数在此基础上继续贡献收益。

组件消融中的困惑度变化

图 7(按论文 Table 3 重绘):两种模型的 WikiText-2 PPL。这里仅画困惑度,不把不同任务集合的平均准确率混合在一起。

准确率也沿同一方向变化:LLaMA-2 的四任务平均为 58.66%、62.02%、63.03%,LLaMA-3 为 55.76%、58.82%、60.18%。但这组平均只覆盖 PIQA、ARC-e、HellaSwag 和 WinoGrande,Table 1 则有七项任务。即使都叫“平均准确率”,分母对应的任务不同,也不能把它们直接拼接成一条提升曲线。

消融能支持“两个组件在这些配置中有贡献”,却不能证明贡献彼此独立。ACES 的选择对象本来就是 CEALC 的混合目标;没有前者定义的参数化问题,后者并没有相同意义上的搜索空间。这里更自然的理解是先有目标设计,再有对这个目标的自适应调节。

10.2 系数边界本身也是超参数

Table 4 中,打印的区间 [0,1][0,1] 得到 PPL 8.96、准确率 58.47%;区间 [0.25,0.75][0.25,0.75] 则得到 7.37 和 63.03%。允许更宽的区间没有自动带来更好的模型表现。这提醒我们,谱能量代理和最终任务质量之间确实存在距离,适度约束反而可能减少代理目标的偏差。

但是该表把区间记为 α\alpha,而 ACES 优化的参数是 β\beta。两者绝不能直接互换。若 α∈[0.25,0.75]\alpha\in[0.25,0.75],对应的 β\beta 范围约为 [0.2,0.4286][0.2,0.4286];若 β∈[0.25,0.75]\beta\in[0.25,0.75],对应的 α\alpha 范围则是 [1/3,3][1/3,3]。这个差别会明显改变混合目标,所以不能凭“看起来都是零到一附近的数”忽略它。现有文字不足以消除歧义,我保留表中结果,但不替作者确定实验究竟用了哪种参数约定。

10.3 与秩分配、量化的结合

附录 Table 7 把评估扩展到 LLaMA3.1、Qwen2.5,以及长上下文、代码和数学任务,但展示的是 0.2 压缩率。例如 Qwen2.5-7B 的 HumanEval 为原模型 0.66、SVD-LLM 0.55、SAES-SVD 0.63。这说明收益不只出现在最初的困惑度表格;不过单一压缩率和有限评估细节,仍不足以覆盖高压缩率、分布迁移或长程 agent 任务中的稳定性。

Table 8 加入混合秩分配后,0.4 压缩率的 WikiText-2 PPL 从 10.42 变成 7.48,平均准确率从 0.41 变成 0.47。这与方法逻辑一致:系数选择决定固定容量下拟合什么目标,秩分配决定把容量放在哪些矩阵。两者可以互补,但加入秩分配后的提升不能全部归到系数策略上。

Table 10 进一步比较 GPTQ 和 SAES-SVD 加 GPTQ,在论文所称等效三比特预算下,LLaMA2-7B 的 PPL 从 10.17 改善为 7.64,Qwen2.5-7B 从 12.29 改善为 9.87。这为低秩与量化组合提供了动机。真正比较部署成本时,还需要将两个因子的形状、量化缩放参数及其他元数据算进字节数;名义等效位宽不会自动保证实际显存或延迟相同。

10.4 推理加速为何依赖工作负载

论文中的显存和速度结果

图 8(论文 Fig. 4):NVIDIA A6000 上 LLaMA-3-8B 的显存和加速结果,裁自 Hu 等人,CC BY 4.0。1.29 倍至 3.79 倍是图中配置的结果,不能直接作为任意服务场景的吞吐倍率。

从代数上看,低秩把一个大矩阵乘法变成两个较小的乘法。算术量和权重读取可以下降,但中间表示需要存取,计算也多了一个操作边界。解码往往更受权重读取影响,较大批次的预填充则可能更受计算效率影响;因子形状是否适合硬件上的矩阵乘法内核,同样会影响结果。

因此需要同时说明批次、序列长度、精度、预填充与解码阶段。论文的图不足以提供完整工作负载定义,我不会把最高的 3.79 倍直接用于容量规划。尤其最高加速对应较强压缩,质量损失也应当放在同一张决策表里。只看速度的最大值,可能选到一个已经无法满足任务要求的模型。

10.5 压缩总耗时主要省在哪里

作者报告的流程耗时拆分

图 9(按论文 Table 11 重绘):SVD-LLM 配置包含 3.5 小时微调,SAES 配置不含微调;两者校准样本数分别为 256 和 128。这里比较的是所报告流程,并非相同预算下单独分解步骤的速度。

表中 SVD-LLM 的统计、压缩和微调分别为 0.45、0.15、3.5 小时,共 4.1 小时;SAES-SVD 为 0.30、0.20、0 小时,共 0.5 小时。总耗时减少 1−0.5/4.1≈87.8%1-0.5/4.1\approx87.8\%,但压缩一栏反而从 0.15 增到 0.20 小时。最大差别来自省去微调,其次还混有校准样本数不同的影响。

这仍是有实际价值的结果:如果训练成本是主要障碍,能用无训练流程取得可接受质量,就可能明显缩短准备时间。但它不能证明 SVD-LLM 在任何使用方式下都必须微调,也不能证明 ACES 比普通分解更便宜。把“整个流程更省时”和“某个数学步骤更快”分开,才能理解这组实验真正支持什么。

11. 局限:哪些误差不能靠这一层补回来

首先,最强的精确结论依赖固定校准输入、固定系数以及明确的误差度量。每层完成替换后,下游输入会改变,所以整网是一串彼此影响的局部问题。每一步都解出当前问题的最优低秩矩阵,仍不能推出整个网络的损失最优。与端到端训练相比,这是计算成本降低之后保留下来的主要边界。

其次,补偿依赖校准样本中 Xf−XX^f-X 与 XX 的关系。如果换到另一种语言、文体或任务后,这种关系变了,交叉残差统计 Δ\Delta 可能提供错误方向。对原始模型的内部表示做对齐,是一种保真目标;原始模型本身并非正确答案的来源,所以更像原模型也不自动意味着指令遵循、安全性或事实性改善。

第三,未中心化的二阶矩会强调高能量方向和频繁出现的 token。少见但重要的上下文可能在 Frobenius 误差里权重很小。平均重建误差降低,仍可能伴随某个困难问题的答案改变。任务相关加权、Fisher 信息或按子群平衡的校准可以作为替代思路,但都会引入新的估计成本和假设,不能当作免费的修补。

第四,流式统计只解决不保存全部激活的问题。两个通道宽度平方大小的矩阵、白化和主子空间提取仍然存在;对宽的前馈层输入尤其昂贵。减少样本能降低收集成本,却可能让统计矩阵条件更差,或降低对少见输入的覆盖。内存、数值稳定性和统计代表性之间需要共同权衡。

最后,v1 的若干文字与数字尚未统一。除了前面核对的均值、系数名称和图注,附录 Fig. 6 的图注写 LLaMA2-7B,相邻正文却写 LLaMA3-8B。没有澄清前,不适合从该图推出一个普遍适用的“随深度增加系数”策略。这些问题限制的是可支持结论的范围,并不构成替作者猜测修正值的理由。

12. 独立批判性分析:我更想看哪几组补充证据

12.1 能量更集中,究竟改善了什么

我最在意的是 ACES 优化一个会随系数移动的目标。尾部比例变小,可能来自尾部绝对能量减少,也可能主要来自总能量增大,还可能是目标混合之后变得更容易压缩。三个现象对任务质量的含义并不相同。一个矩阵“更容易做低秩近似”,不等于它“更接近我们真正想保留的函数”。

更有辨别力的实验是对同一层、同一组系数,同时记录真实截断比例、相对两个输出目标的绝对误差,以及保留集上的 token 损失。这样可以观察代理分数与任务损失是否同向,而不是只看最小代理值对应的一次最终结果。若某些层出现明显脱钩,选择系数时就需要额外的验证信号。这里提出的是后续实验设计,不是已经完成的测量。

12.2 固定子空间的可信范围应该被测出来

论文给出了依赖谱间隙和扰动强度的局部条件,但没有系统展示每一层实际的 τ\tau 与近似误差。可以把层按谱间隙分组,在少量系数网格上计算真实截断误差,再与解析近似的最优系数比较。需要报告的不只是误差差距,还包括增加的压缩时间,以及最终任务质量是否值得这部分成本。

这也为一种折中策略提供依据:稳定的层直接使用解析近似,谱间隙很小或扰动很大的层才做有限的精确搜索。是否值得这样做,要由测量决定。不能因为有一个理论条件,就假设所有模型层自然满足它;也不能因为存在不稳定层,就否定近似在其他层上的效率优势。

12.3 区分信息已经丢失和本层秩不够

前面的投影分解给出一个很有用的诊断视角。Z(I−P)Z(I-P) 是当前输入无法线性预测的目标分量;截断 SVD 的尾部则是当前映射在秩限制下额外丢弃的部分。两者如果占比不同,最佳改进方向也不同。

如果主要是秩截断误差,给当前层增加容量可能有效;如果主要是不可预测分量,就算提高当前层的秩,也无法恢复上游已经丢掉的区别。此时更值得考虑保留上游的容量,或者改变压缩顺序和校准策略。因此我希望看到每层这两项误差的拆分,而不仅是最后一个困惑度值。它可以把“压缩失败”变成一个可定位的问题。

12.4 时间比较需要匹配预算

最醒目的时间结果混合了方法设计、微调预算和校准样本数。更公平的比较应使用相同校准样本、相同因子参数预算和精度,再分别展示无训练版本与允许微调的版本。这样才能回答改进主要来自目标补偿、秩分配,还是准备流程不同。

同样,准确率平均应列明任务集合和聚合方式,随机校准子集应给出变化范围。对 v1 中无法复算的平均值,应先把分项和平均统一,再比较百分比下降。百分比通常看起来非常有说服力,但只要分母或基线改变,它就可能描述完全不同的事情。

12.5 最终比较应落到质量与成本的关系

部署时真正有用的输出,是在同一工作负载下比较实际权重字节数、峰值工作内存、预填充延迟、不同批次的解码延迟和任务质量。模型之间也应分别报告,避免用一个最有利的配置概括全部。

低秩分解的价值不取决于是否在某一项表格里赢得最大百分比,而取决于它能否在目标质量下节省资源,或在相同资源下保留更多能力。SAES 的累积误差补偿给这个方向提供了值得使用的工具,但它是否改善完整的质量—成本关系,仍需要比“局部重建更好”更完整的证据。

13. 结论

我会把 SAES-SVD 的主要贡献概括为:允许后面的层对上游可预测的漂移做补偿,并把这件事写成一个可求解的秩约束回归问题。CEALC 用混合输出目标连接局部重建与原始路径对齐;白化和截断 SVD 给出固定条件下的最优解;ACES 再用固定子空间近似,低成本地选择混合系数。

其中最值得复用的是回归推导本身。它不仅给出因子,还清楚指出哪些目标成分可以由当前输入恢复、哪些不能,以及为什么二阶统计足以替代保存完整激活。自适应部分则需要更多条件:子空间应当足够稳定,谱能量代理也需要与任务质量保持关联。

因此读完之后,我不会把“局部数学最优”“模型能力保留”和“服务加速”当作同一个保证。论文把三者联系起来,并给出了有希望的结果;而表格歧义、未匹配预算以及近似条件,则提醒我们把每个结论放回它真正被验证的范围。

参考文献与配图说明

  1. Xing Hu、Dawei Yang、Yuan Cheng、Zhixuan Chen、Zukang Xu,SAES-SVD,arXiv v1,2026。已阅读全文与附录 A;本文所有模型实验数值均来自该版本。
  2. Carl Eckart、Gale Young,The approximation of one matrix by another of lower rank,1936。原论文使用的低秩近似定理来源。
  3. 图 1、2、3、5、8 为原论文图片裁切,依据 CC BY 4.0 许可注明来源;图 6、7、9 按原论文表格重绘;图 4 为明确给定矩阵的说明性计算。本文图号独立于原论文图号。