以下是论文《共线性衰减:通过异常值衰减训练量化友好的 ViT》的通俗化解读,辅以生动的类比。
宏观图景:在不损失“大脑”的前提下让 AI 更小巧
想象你拥有一位才华横溢、受过高等教育的专家(即视觉 Transformer或ViT),他能以惊人的准确度识别猫、汽车和花朵。这位专家非常细致,但同时也庞大且雇佣成本高昂。他们需要巨大的办公室(高内存)和大量的电力来运转。
为了让这位专家能负担得起日常使用(例如在手机上或小型摄像头中),我们想要缩小他们的规模。这个过程被称为量化。这就像将一张高分辨率的照片压缩成更小的文件大小。
问题所在:
当你试图缩小这位专家时,你会遇到一个“吵闹的邻居”问题。在专家的“大脑”中,大多数神经元(那些小工人)都很安静,以正常音量工作。但有几个特定的神经元却尖叫得震耳欲聋(这些被称为异常值)。
当你尝试压缩整个系统时,压缩算法必须为这些尖叫的神经元腾出空间。为了容纳它们,它不得不极大地拉伸比例,导致那些安静、正常的神经元被挤压到一个微小且模糊的空间里。结果呢?这位被压缩的专家变得困惑并会犯错,尽管原始版本是完美的。
旧方法 vs. 新方法
旧方法(压制尖叫者):
以前的方法试图通过强迫那些吵闹的神经元闭嘴来解决这个问题。他们在训练过程中添加了一条规则:“如果你太吵,我们将惩罚你。”
- 缺陷: 这就像告诉合唱团只能耳语。如果你强迫大声的歌手变得太安静,整首歌就会失去力量和情感。这位专家变成了一个“不错”的压缩模型,但却是一个“糟糕”的原始模型。你为了让他们塞进一个小盒子里,牺牲了专家真正的智慧。
新方法(共线性衰减):
这篇论文的作者认为,我们不应该只是让吵闹的神经元保持沉默。相反,我们应该解决他们尖叫的根本原因。
他们发现,尖叫的发生是因为一个特定的结构缺陷:两组工人意外地排成了一条直线,放大了彼此信号。
- 类比: 想象一场接力赛。选手 A 将接力棒传给选手 B。如果选手 A 已经在以最高速度冲刺,而选手 B 恰好站在完美接棒的位置,并且能跑得更快,那么信号就会被放大成尖叫。
- 论文的洞察: 问题不在于跑得太快,而在于他们的对齐方式创造了一个危险的反馈循环。
解决方案:“共线性衰减”(CD)
作者引入了一种新的训练规则,称为共线性衰减。
- 修复方法: 他们不再只是大喊“安静点!”,而是轻轻推动第二位选手(下游矩阵),使其稍微偏离与第一位选手的完美对齐。
- 工作原理: 他们在训练期间,对这些特定的矩阵对之间的连接施加微小的、不可见的“衰减”(一种轻柔的推动)。这打破了导致信号爆炸的完美对齐。
- 结果: 吵闹的神经元依然存在,但它们不再那么吵了。它们被降低到了“合理”的音量。
- 原始专家(全精度)依然聪明且准确。
- 被压缩的专家(量化后)现在可以被缩小,而不会失去理智,因为“尖叫者”不再迫使整个系统拉伸。
为什么这很重要
- 无额外成本: 作者设计此方法时,确保它不会减慢训练过程,也不需要更大的计算机。这就像在食谱中添加微小的调整,而无需更换新厨房。
- 优于以往: 在他们的测试中,这种方法使压缩模型比以前的方法显著更聪明,特别是在视频检测等复杂任务中。
- 非侵入性: 他们不必重建专家的“大脑”或改变游戏规则。他们只是微调了现有部分之间的交流方式。
一句话总结
这篇论文教导我们,为了让 AI 模型更小、更快,我们不应只是强迫它们保持安静;相反,我们应该轻轻解开那些导致它们尖叫的特定连接,使它们在缩小后依然保持聪明。
技术摘要:面向量化友好型视觉 Transformer 的共线性衰减
1. 问题陈述
低比特量化是在资源受限环境中部署视觉 Transformer(ViT)的关键策略。然而,完全量化部署受到激活异常值的阻碍——即少数通道或令牌表现出显著大于其余部分的数值。这些异常值迫使量化尺度变得粗糙,从而降低了大多数激活的有效精度。
现有方法通常分为两类:
- 训练后方法:在完整精度模型训练完成后应用的校准、尺度重参数化或重建技术。
- 训练时抑制:在训练期间激进地抑制大激活值的方法(例如 TWEO [23]),以稳定低精度优化。
作者认为,第二种方法存在一个关键缺陷:激进地最小化异常值会损害完整精度模型所学到的表示,导致完整精度(FP)准确率与量化准确率之间的权衡次优。此外,直接的激活正则化通常会产生显著的训练开销。本文提出,训练目标不应仅仅是最小化异常值幅度,而应控制导致这些异常值对量化有害的结构放大效应。
2. 方法论:共线性衰减(CD)
所提出的方法**共线性衰减(Colinearity-Decay, CD)**是一种结构正则化器,旨在在不改变模型架构或任务损失的情况下缓解激活值的放大。
2.1 异常值的结构来源
作者指出,大激活值通常并非源于单个矩阵,而是源于数据流中有序矩阵对 (W1,W2) 之间的对齐。
- 设 W1=USV⊤ 为上游矩阵的奇异值分解(SVD)。
- 如果下游矩阵 W2 的某一行与 W1 的主导左奇异向量(关联于较大的奇异值)对齐,则输出会被放大。
- 标准的权重衰减独立地正则化矩阵,无法惩罚这种跨矩阵的对齐。
2.2 正则化器
CD 惩罚成对能量 ∥W2W1∥F2。当 W2 的行将质量放置在 W1 的高奇异值方向上时,该项数值较大。
- 目标对:CD 应用于 Transformer 块内的特定对:
- 可组合对:归一化尺度后接投影(例如 LayerNorm 尺度和 WQ,WK,WV 或 WF1)。
- 功能对:被非线性分隔但形成功能路径的矩阵(例如注意力机制中的 WV→WO,以及前馈网络中的 WF1→WF2)。
- 解耦更新:CD 不是将辅助损失添加到训练图中(这会增加内存和时间复杂度),而是实现为解耦的权重更新。在计算任务梯度后,下游矩阵 W2 更新如下:
W2←W2−ηλcdW2W1W1⊤
此更新沿 W1 的高奇异值方向收缩 W2 的行。作者证明,该梯度方向与标准权重衰减形成非钝角,确保两者具有协同作用。
2.3 实现细节
- CD 仅应用于每对中的下游矩阵,以避免冗余衰减。
- 正则化预算通过降低标准权重衰减系数(λwd)来容纳 λcd,使总正则化强度与基线相当。
- 该方法是非侵入式的,保留了推理图和架构。
3. 主要贡献
- 实证洞察:作者证明将异常值保持在“适当范围”内是有益的。激进抑制(将最大激活值降至非常低的数值)会损害 FP 准确率,进而损害量化性能。
- 结构正则化:他们确定了过度的跨矩阵对齐是异常值的结构来源,并引入了 CD,这是一种具有可忽略开销的非侵入式正则化器。
- 正交性:CD 与现有的量化流程及架构异常值缓解方法(例如注意力汇)正交,允许组合使用。
- 全面验证:CD 在 ImageNet-1K 预训练、COCO 检测以及九个下游微调任务中得到了验证。
4. 实验结果
4.1 ImageNet-1K 预训练
- 量化准确率:与基线和 TWEO 相比,CD 一致地提高了 W4A4 量化准确率(RepQ-ViT 和 APHQ)。例如,在 ViT-B 上,CD 实现了 77.78%(RepQ-ViT),而基线为 76.47%,TWEO 为 73.86%。
- 完整精度准确率:CD 保持或略微提高了 FP Top-1 准确率(81.63% 对比基线 81.44%)。
- 异常值控制:CD 显著降低了最大激活值(例如在块中从 250.60 降至 162.44),但不像 TWEO(18.56)那样激进,这支持了适度控制是最优的假设。
4.2 COCO 检测
- CD 在保持或略微提高 FP 性能的同时,大幅提高了量化检测器的性能(mAP)。
- 相比之下,TWEO 和 Noise 基线通常会导致 FP 准确率下降。
- CD 在不同的量化流程(Percentile、RepQ-ViT、APHQ、GPLQ)和模型大小(Swin-T、Swin-S)中均表现出一致的增益。
4.3 下游微调
- 在九个数据集(包括 Flowers、Pets、Cars 等)上,与基线和 TWEO 相比,CD 产生了最佳平均 FP 准确率、最佳平均量化准确率以及最小的平均准确率下降。
- 这证实了将激活值控制在合理范围内比尽可能最小化它们更有效。
4.4 效率
- 开销:作为解耦更新,CD 增加了极小的时间和内存开销。相比之下,TWEO 的激活正则化损失随批量大小和隐藏维度线性增长,导致显著更高的成本。
4.5 消融研究
- 强度:适度的 CD 强度(λcd=0.005)产生最佳结果;过强或过弱均次优。
- 形式:解耦更新形式优于直接损失项实现,后者被发现不稳定。
- 目标:在可组合对和功能对中均应用于第二个矩阵可获得最佳结果。将其应用于功能对中的两个矩阵会降低性能。
5. 意义与主张
本文主张,对 Transformer 矩阵对进行结构正则化是使视觉模型做好低比特部署准备的一种实用且有效的方法。
- 零推理开销:由于 CD 仅修改训练动态,推理架构和延迟保持不变。
- 更优权衡:通过避免损害完整精度表示的激进异常值抑制,CD 实现了 FP 准确率与量化准确率之间的更优平衡。
- 泛化性:虽然该方法专注于 ViT,但其定义在有序矩阵对上,并在 GPT-2 语言模型(附录 A.6)上显示出初步前景,表明其适用于视觉以外的领域。
作者得出结论:不应将异常值视为需要消除的问题,而应将其视为一种诊断量,其目标是控制将其放大到有害水平的结构机制(跨矩阵对齐)。
每周获取最佳 computer science 论文。
受到斯坦福、剑桥和法国科学院研究人员的信赖。
请查收邮箱确认订阅。
出了点问题,再试一次?
无垃圾邮件,随时退订。