Stabilizing the Dynamic Low-Rank Training¶
会议: NeurIPS2026
arXiv: 2609.32615
领域: 模型压缩
关键词: 动态低秩训练、曲率耦合、补偿缓冲、秩自适应、参数高效微调
一句话总结¶
SDLRT 在动态低秩训练中保留上一轮刚被截断的主要奇异方向,用补偿基扩展和截断容差负反馈缓解高压缩下的秩坍缩,并在六项 SuperGLUE 验证任务上取得 85.15% 的平均准确率。
研究背景与动机¶
直接训练低秩权重与先训练完整模型、再剪枝或分解不同:每层从一开始就由两个窄基矩阵和一个小核矩阵表示,训练和推理都可以沿用这种紧凑结构。DLRT 用动态低秩近似的流形投影更新这些因子,还能在训练中决定各层的秩,因此不必反复执行完整模型训练与事后压缩。不过,低秩表示能存下多少信息,与它能否在优化过程中找到合适的方向,是两个不同的问题。原文的 VGG-19/CIFAR-100 诊断显示,初始压缩约 69.6% 时,DLRT 的测试准确率落后完整模型 25.9 个百分点,且训练准确率也较低;这不是单纯的过拟合,而是紧凑网络已经失去足够的可训练表达能力。
困难在于,截断奇异值不仅删除当前权重中的小成分,还改变之后的子空间运动。一个方向在当前时刻较弱,不代表它不会影响保留方向下一步怎样旋转。作者比较“完整参数训练轨迹每个时刻的最佳低秩近似”与“始终留在低秩流形上的训练轨迹”,发现后者同时存在梯度取值位置不同和曲率耦合被省略两种偏差。高压缩下,保留与舍弃奇异值的间隙可能很小,耦合项便不能再当作微小误差;秩下降使表达能力变弱,又推动进一步截断,形成恶性循环。
如果直接长期提高各层的秩,可能恢复容量,却会削弱压缩收益。本文转而给训练过程留一点短期的谱记忆,并在秩下降时降低截断力度,让已经舍弃但仍可能有用的方向重新参与下一轮更新。核心 idea:最终权重仍保持低秩,但不要把一次截断当作永久遗忘,而是在临时扩展空间中重新利用近期被舍弃的方向,并用容差反馈抑制持续秩坍缩。
方法详解¶
整体框架¶
SDLRT 以每层的低秩因子和上一轮的补偿缓冲为训练状态,输出更新后的低秩因子及新的缓冲。一个迭代先执行补偿基扩展,再进行小核 Galerkin 更新,最后做谱截断与秩反馈;缓冲只辅助训练,不作为最终推理权重的额外分支。
对一个矩阵层,权重表示为 \(W=USV^{\top}\),其中两个基矩阵各有 \(r\) 列,小核为 \(r\times r\)。算法先分别沿梯度流更新左右因子的辅助矩阵,再将这些更新、旧基以及补偿方向合并正交化。随后在扩展空间中更新小核,对小核做 SVD,留下新秩对应的主方向,同时把紧随其后的舍弃方向保存到下一轮。
因此,“不提高最终秩”不能理解成“训练中从不扩大空间”。临时 QR 基和小核可以更大,最终保留秩也仍由容差自适应决定。推理只使用最后保留的三个因子;分析中出现的完整参数轨迹是理论参照,稳定性实验中的完整模型是测量参照,二者都不是 SDLRT 每步实际维护的全参数影子模型。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
A["训练批次与低秩因子"] --> B["补偿基扩展"]
P["上一轮训练缓冲"] --> B
B --> C["小核 Galerkin 更新"]
A -.->|任务损失的梯度监督| C
C --> D["谱截断与秩反馈"]
D -->|新舍弃方向,仅训练| P
D -->|低秩因子与容差,下一轮| A
D -->|训练结束,仅保留因子| E["最终因子化推理"]
关键设计¶
1. 补偿基扩展:让近期舍弃方向重新参与子空间更新
本文首先解释为什么“保留最大奇异值”不能自动保证低秩训练跟随完整模型。设完整权重沿其梯度流演化,在某个时刻取最佳秩 \(r\) 近似;对这个近似的左右奇异子空间求导,会出现保留方向与舍弃方向之间的耦合。原文给出的两个耦合系数为:
这里 \(\sigma_i\) 属于保留部分,\(\sigma_{r+j}\) 属于舍弃部分。系数乘的是完整轨迹上的梯度在不同奇异方向之间的投影;它们不是简单的“尾部能量罚项”。分母说明,真正危险的不仅是舍弃奇异值有多大,还包括截断边界两侧的谱间隙有多小。推导要求截断边界没有重复奇异值交叉,因此不能把分母为零的情况也直接代入这组公式。
标准 DLRA 只投影低秩点处的梯度,既不在完整参数点上求梯度,也不保留上述耦合修正。SDLRT 并不逐项计算这些系数,而是用一个可实施的近似:保留上一轮刚截掉的主要左右奇异方向,使扩展空间允许这些方向再次参与权重变化。这恢复的是部分方向信息,并不等价于精确追踪完整梯度或精确补回所有曲率项。
具体而言,算法从旧因子初始化 \(K_0=US\) 和 \(L_0=VS^{\top}\),分别执行梯度流更新得到 \(K_1\) 和 \(L_1\)。左侧把更新矩阵、旧左基和左补偿缓冲拼接,右侧做对称操作,再通过 QR 获得正交扩展基。保留旧基确保新空间仍能表示上一步的权重;加入新更新提供当前下降方向;加入补偿基则避免每轮都把近期谱尾部彻底遗忘。这三类列承担不同作用,不能把缓冲误写为一个独立训练的完整权重副本。
2. 小核 Galerkin 更新:扩展表示空间,但不先改变旧权重
获得扩展基后,不能直接随意初始化更大的小核,否则稳定性改进可能混入一次无依据的权重扰动。SDLRT 将旧权重投影到扩展基坐标中作为初值,然后只在该坐标空间内更新小核。用 \(\bar U,\bar V\) 表示本节的扩展基,核心过程可以写成:
由于扩展基包含旧左右基,初始扩展表示重建出的仍是旧权重;新增缓冲列只提供后续运动的自由度,而不是一开始就往网络里加上舍弃权重。因此补偿的价值在于“下一步允许向哪里更新”,并非“把所有被删掉的值直接加回来”。梯度仍在当前扩展的低秩表示处求取,不需要额外训练完整模型。
完成小核更新后,SVD 也作用于这个小矩阵,而不是对一个全尺寸稠密权重每步重新分解。作者在 \(r\ll\min(m,n)\) 的条件下给出每层更新的复杂度量级 \(O(r^2(m+n))\)。这说明它沿用低秩计算路径,但不能因此断言实际开销只取决于小核:缓冲和扩展基都占存储,QR 与基旋转也要计算;实际增量仍应看硬件测量。
3. 谱截断与秩反馈:保存有限尾部,并在秩下降时减少删减
小核 SVD 完成后,算法按相对容差保留主奇异方向。附录明确以舍弃尾部的 Frobenius 范数受容差控制来分析截断误差;正文设定绝对容差为 \(\vartheta=\tau\|\hat S\|\)。留下的左右奇异向量经扩展基映射回原坐标,成为新的网络因子;从新秩之后开始,最多再取相当于新秩数量的主要舍弃方向,作为下一轮补偿缓冲。更远的尾部仍然删除,因此这是有限、短期的方向记忆,不是保存完整谱。
秩坍缩还需要一个主动制动器。如果本次新秩低于该层的初始秩,算法将相对容差因子乘以小于一的反馈系数:
容差越小,下一次允许丢弃的尾部越少,所以这个操作会抑制进一步秩下降。它不是把秩硬性锁在初始值,也不是每轮强制恢复所有已经删除的列;反馈改变的是之后的截断规则。因而讨论不同方法时,必须同时区分初始秩、训练临时维度和最终保留秩,不能把三者混成“完全固定的相同秩预算”。
原文截断更新式复用了 \(U_1,V_1\) 记号:同一组式子先把它们改写为保留基,后面又用它们映射尾部奇异向量。按矩阵维度理解,尾部方向需要用截断前的扩展基映射。本笔记区分扩展基与保留基解释流程,不将原文的记号复用照抄成可直接执行的赋值代码。
一个完整示例¶
考虑一层正在训练的低秩权重:当前保留方向已经能解释大部分当前权重,但上一轮边界附近的某个方向被截掉了。普通 DLRT 下一轮只能依靠旧保留基和新的因子更新寻找方向;SDLRT 则把那个尾部方向带进临时 QR 空间,让小核更新判断它是否值得重新占据保留位置。
如果小核更新后该方向的重要性提高,它可能进入新的主奇异方向集合;如果仍不重要,就再次落入缓冲或被进一步舍弃。若这次保留秩仍低于初始秩,容差因子会缩小,下一轮截断更谨慎。训练结束后,不论缓冲中曾经记过哪些方向,预测只通过最终保留的左右基和小核完成。这是机制示例,不对应原文的某条数值训练曲线。
损失函数 / 训练策略¶
SDLRT 改变的是优化与截断过程,不引入新的任务损失。视觉实验训练 120 个 epoch,batch size 为 128,初始学习率 0.05,在第 60、100 个 epoch 各乘 0.1,动量 0.1;相对容差取 \(\tau\in\{0.1,0.2,0.25,0.3,0.4\}\),反馈系数为 \(\omega=0.8\)。
PEFT 实验把低秩适配放在每层自注意力的 query、key、value 投影上。各方法初始秩为 10;DLRT 与 SDLRT 使用 \(\tau=0.02\)。六项任务按正文列出的顺序 BoolQ、CB、COPA、RTE、WiC、WSC,分别训练 30、20、20、20、30、30 个 epoch,batch size 为 16,学习率 \(6\times10^{-4}\),前 6% 步数线性 warm-up,weight decay 为 0.01。LoRA+ 的学习率为 \(2\times10^{-4}\),因子学习率比为 8。
理论保证需要分开阅读。附录 B 的精确性证明针对整段轨迹恰好保持秩 \(r\)、相关子空间重叠矩阵可逆、子步骤精确积分且截断保留全部非零成分的情况;它说明补偿扩展不会破坏这一特殊情形的重建,并不证明实际深网离散训练能复现任意完整轨迹。
附录 C 的全局误差界为:
其中 \(\delta\) 是初始化投影误差,\(\varepsilon\) 控制梯度流离开低秩切空间的分量,\(\eta\) 是积分步长,\(\gamma\) 表示补偿带来的投影收缩。条件包括梯度向量场有界且 Lipschitz、轨迹邻域接近低秩流形,以及补偿实际产生收缩。扩展子空间只能直接保证投影误差不增,不能单凭包含关系保证所有步骤都有统一的严格 \(\gamma<1\);因此严格改进应作为条件性结论,不是所有深网全局收敛的证明。界中的 \(\vartheta/\eta\) 也提醒,缩小步长而不同时控制截断误差,未必改善总误差。
实验关键数据¶
主实验¶
表 1 摘录六项 SuperGLUE 任务的验证准确率均值,单位均为百分比;原表单任务还报告六个随机种子的离散程度,此处为便于横向阅读仅列均值。Avg. 是这六项的平均值,不是 SuperGLUE 官方全部任务的综合分数。
| 方法 | CB | COPA | WSC | RTE | WiC | BoolQ | Avg. |
|---|---|---|---|---|---|---|---|
| SDLRT | 83.63 | 91.00 | 91.51 | 86.52 | 73.93 | 84.29 | 85.15 |
| DLRT | 81.85 | 91.17 | 90.06 | 86.28 | 73.41 | 84.33 | 84.52 |
| LoRA | 85.72 | 90.50 | 84.93 | 87.30 | 73.07 | 84.14 | 84.28 |
| AdaLoRA | 82.74 | 90.67 | 63.46 | 85.92 | 73.49 | 83.92 | 80.03 |
| LoRA+ | 85.12 | 89.83 | 89.58 | 87.24 | 73.27 | 83.80 | 84.81 |
SDLRT 的平均值比 LoRA+ 高 0.34 个百分点,比 DLRT 高 0.63 个百分点,比 LoRA 高 0.87 个百分点,但仅在 WSC、WiC 两列取得最高均值。CB、RTE 的最高值来自 LoRA,COPA、BoolQ 的最高值来自 DLRT,不能把平均领先写成逐项领先。WSC 上 SDLRT 为 \(91.51\pm1.13\),LoRA 为 \(84.93\pm10.53\),也提示稳定性差异是平均成绩之外值得关注的现象。
可训练参数约为:LoRA、LoRA+、AdaLoRA 各 1.145M,DLRT 1.159M,SDLRT 1.177M。约 2.8% 的增量是相对 LoRA 适配器参数量的比较,不是整个 DeBERTa 模型多出 2.8%,也不是严格同参数预算比较。表题写 DeBERTa-base,正文和附录图 5 写 DeBERTa-v3-base,笔记保留这一原文命名差异。
消融实验¶
SDLRT 的方向补偿对照为 \(\mathrm{SDLRT}_{\mathrm{2dim}}\):将补偿直接施加到原始 \(K,L\) 因子,分别使用更新因子与补偿基组合。正文利用这一变体与相应维度设置的 DLRT 比较,支持收益不只来自较大的临时空间;不过本地文本未给曲线逐点数值,也没有单独去掉负反馈的数值表,不能据此编造精确消融降幅。
第二张表采用附录 D.2 的实测开销分析:VGG-19/CIFAR-100、RTX3080、seed=30、\(\tau=0.45\)、batch size 128。这是单种子特定配置,不是主实验五次运行的均值。
| 方法 | 显存 | 每 epoch 平均训练时间 | 测试准确率 |
|---|---|---|---|
| DLRT | 2680 MB | 56.88 s | 53.87% |
| SDLRT | 2710 MB | 57.53 s | 61.86% |
在这一配置中,SDLRT 多用 30 MB 显存、每 epoch 多用 0.65 s,准确率提高 7.99 个百分点。这支持“实测额外开销较小”,但不能外推为任意架构、秩或设备都只增加相同开销。
关键发现¶
- CIFAR-10 每配置独立运行五次。正文报告压缩超过约 80% 时,SDLRT 在 VGG-16 上保持超过 90% 的准确率、AlexNet 上超过 84%;低压缩时差异较小,补偿还可能轻微过拟合。这里保留正文阈值,不猜图中其他点的精确值。
- VGG-19/CIFAR-100 在压缩超过 76.1% 时,DLRT 可能出现准确率坍缩和明显种子差异,SDLRT 更稳定。这是特定实验观察,不是普适的安全压缩阈值。
- 稳定性指标是同初始化下,完整模型当前权重的最佳同秩 SVD 近似与低秩模型权重之间的 Frobenius 距离,定义为 \(d_t=\|\mathrm{SVD}(W_t,r_t)-U_tS_tV_t^{\top}\|_F\)。正文报告 \(\tau=0.4\) 时 SDLRT 的终点距离比 DLRT 约小 10%;它衡量权重轨迹接近程度,不直接等同于泛化误差。
- 图 3、图 4 图注把五次运行误差条定义为最小值与最大值;第 4.2 节却说报告均值与标准差。原文存在统计说明冲突,本笔记不把图注的范围误写成标准差。
亮点与洞察¶
- 重要性不仅取决于当前奇异值大小,还取决于该方向对未来子空间旋转的影响。保留少量近期舍弃方向,将“瞬时弱”与“永久无用”分开,是比机械提高秩更有针对性的改动。
- 缓冲只扩展可更新方向,不改变扩展表示的初始权重。这让稳定性改进有清楚的机制解释,也避免把补偿误解成简单的尾部权重回加。
- 截断策略本身可以是反馈控制对象。秩跌落时减小容差,为资源约束训练提供了一个可迁移的思路,但需要同时审查实际参数预算是否随反馈变化。
局限与展望¶
- 作者承认反馈系数是启发式设置,大规模架构上的扩展仍待研究。现有证据主要来自 CIFAR 上的经典卷积网络和 DeBERTa 的小型适配器,不能直接推断大语言模型预训练表现。
- 严格投影收缩不是仅由子空间扩展自动推出的;理论还依赖有界、Lipschitz 和流形接近条件。未来可研究缓冲何时确实覆盖缺失下降方向,而不是仅保存了更多列。
- 没有完整拆开的“无缓冲/无反馈”数值消融,缓冲长度和反馈强度的独立贡献仍不充分。建议固定最终参数预算,再分别扫描两者并报告多种子分布。
- 开销表只有单配置、单种子。需要更多秩、网络与硬件上的训练吞吐、峰值显存及最终因子化推理速度,才能判断算法复杂度优势能否稳定转化为部署收益。
- 方法式的基矩阵记号复用、模型命名与误差条说明差异影响复现清晰度。正文称代码在补充材料中,但缓存没有可核实的仓库链接,因此不添加代码 URL。
相关工作与启发¶
- vs DLRT / DLRA:两者都沿低秩表示优化;SDLRT 在原有基扩展中加入近期舍弃方向,并调整截断容差。区别是训练空间的记忆与反馈,不是另行训练完整模型再投影。
- vs CondLR:CondLR 用近似正交约束改善因子训练;SDLRT 针对截断导致的方向信息丢失。高压缩对照支持后者的作用,但没有证明两种稳定机制不能结合。
- vs LoRA / AdaLoRA / LoRA+:LoRA 使用固定秩适配,AdaLoRA 根据重要性分配秩预算,LoRA+ 调整因子学习率;SDLRT 将动态低秩更新与短期谱补偿用于适配器。其六任务平均优势需要连同略大的可训练参数量一起阅读。
- vs 事后 SVD 与彩票假说:事后分解压缩已经训练好的权重,SDLRT 试图在训练中找到可训练低秩子网。本文所称 winning ticket 是低秩谱空间中的子网络,不等于经典稀疏掩码彩票的全部论断。
评分¶
- 新颖性: 4/5。将保留/舍弃方向的曲率耦合分析转化为短期谱缓冲,机制有明确针对性。
- 实验充分度: 3/5。包含视觉压缩、轨迹距离、六任务 PEFT 和开销分析,但独立模块消融与大规模验证不足。
- 写作质量: 3/5。动机和算法衔接清楚,理论严格收缩与部分记号、统计说明仍需要澄清。
- 价值: 4/5。适合关注高压缩可训练性与低秩优化的人参考,尚不能替代大型架构的系统评测。