想象你拥有一个巨大的图书馆(一个大型 AI 模型),它极其聪明,但体积庞大到无法放入普通的书架(手机或小型计算机)中。你希望在不丢失内部故事的前提下缩小这个图书馆。
长期以来,科学家们试图通过直接剪掉书页(剪枝)或将书籍改用更小字号印刷(量化)来压缩这些图书馆。但本文介绍了一种名为FiPS(细粒度参数共享)的新颖策略。
以下是 FiPS 的工作原理,通过简单的类比进行解释:
1. 问题:太多相同的房间
将 Transformer 模型(驱动现代 AI 的模型)想象成一座拥有许多相同楼层的巨型酒店。在每一层楼,都有一个进行“烹饪”的“厨房”(称为 MLP 层)。
- 旧方法:通常,每一层楼都拥有自己独特的一套 100 位厨师,每位厨师都有自己独特的食谱。尽管楼层看起来相同,但厨师们互不交流。这浪费了大量空间。
- FiPS 理念:FiPS 提出:“为什么每一层楼都需要 100 位独特的厨师?让我们聘请一位共享主厨(共享基),他掌握核心食谱,然后在每一层楼安排几位本地助手(稀疏投影矩阵),他们只需针对该特定楼层微调这些食谱。”
2. 秘诀:“共享主厨”与“稀疏助手”
FiPS 同时通过三件事来缩小模型:
- 共享主厨(低秩分解):FiPS 不再为每层楼配备 100 位独特厨师,而是创建一位掌握基础技术的“主厨”。这位主厨在整组楼层中共享。
- 稀疏助手(稀疏性):每层楼的本地助手不需要知道主厨掌握的所有食谱。他们只需要知道其中少数几种特定食谱,以便为该楼层制作菜肴。FiPS 迫使这些助手保持“稀疏”,意味着他们只保留关键连接而忽略其余部分。这就像给助手提供一份只有 3 道菜的菜单,而不是 100 道菜。
- 团队协作(跨块共享):FiPS 将这些楼层分组。它观察整组楼层的主厨和助手,找出共享工作负载的最佳方式,从而使整个酒店高效运行。
3. 构建过程(如何构建它)
研究人员并非凭空猜测;他们使用了一种名为SVD(奇异值分解)的数学工具来自动寻找“主厨”。
- 想象将一组楼层的所有食谱混合在一起,找出最常见、最关键的食材。
- 然后,他们将这些食材分配给主厨。
- 最后,他们训练本地助手仅使用他们需要的特定食材,并丢弃其余部分(剪枝)。
4. 结果:更小、更快,且依然聪明
该论文在两种类型的 AI 上测试了此方法:
- 视觉 Transformer (ViTs):这些是用于识别图像的 AI。
- 结果:他们在不导致 AI 忘记如何识别物体的情况下,将模型缩小了高达33%(经过少量额外调整后高达57%)。这就像将行李箱缩小三分之一,却仍能装下你所有的衣物。
- 大型语言模型 (LLMs):这些是用于写作和对话的 AI。
- 结果:他们将这些模型缩小了20%,并使其比其他压缩方法更智能。
- “魔法技巧”:当他们将 FiPS 与称为“量化”(用非常紧凑的代码表示数字)的技术结合时,实现了8 倍压缩(使模型体积变为原来的八分之一),同时保持了比仅使用压缩技术更好的 AI 语言能力。
5. 为什么这很重要
该论文声称,FiPS 是一种实用的、“即插即用”的方法,可将大型 AI 模型缩小到足以在手机或笔记本电脑等设备上运行,而不会丧失其智能。它证明,通过在不同部分的 AI 之间共享“脑力”(参数),并非常选择性地保留信息(稀疏性),我们可以构建出无需超级计算机即可运行的高效 AI。
简而言之:FiPS 就像意识到,与其让房子的每个房间都配备一套完整的工具,不如在走廊里设置一个共享工具箱,而每个房间只放几件特定工具。房子运作得同样好,但占用的空间却小得多。
技术摘要:基于稀疏张量分解的细粒度参数共享(FiPS)
问题陈述
大型神经网络,尤其是 Transformer,虽然实现了最先进的性能,但由于其庞大的规模,在资源受限设备上的部署面临重大障碍。尽管存在多种压缩技术(例如量化、蒸馏、张量分解),但跨层参数共享在 Transformer 模型中仍相对未被充分探索。现有方法通常共享整个模块(例如 ALBERT),这限制了表征能力,或者依赖稠密系数进行共享,从而限制了压缩效率。因此,亟需一种能够显著减少参数量,同时保持高表征灵活性和最小精度损失的方法。
方法论:细粒度参数共享(FiPS)
FiPS 是一个统一的框架,旨在通过将跨块参数共享、低秩分解和稀疏性结合到单个优化过程中,来压缩 Transformer 的多层感知机(MLP)。
核心机制
该方法基于以下观察:Transformer 的 MLP 由重复的、同质的块组成,这些块具有形状相同的全连接(FC)层。FiPS 不为每一层学习独立的权重,而是:
- 沿输出维度(即“长轴”)拼接来自 N 个 Transformer 块组的权重矩阵(W1,…,WN)。
- 将该拼接后的张量分解为一个共享基 U∈Rd×r 和特定于层的稀疏投影矩阵 Vi∈Rr×p。
- 将原始权重重构为 Wi′=UVi。
关键技术组件
- 初始化:共享基 U 和投影矩阵 Vi 通过拼接权重的**截断奇异值分解(SVD)**进行初始化。如果目标秩 r 超过模型维度 d(由于高参数预算),则使用“混合初始化”:U 中的新维度设为零,而 V 中对应的维度则源自经阻尼因子 τ 缩放的前几个奇异向量,以允许渐进式学习。
- 稀疏性诱导:本文的一个关键见解是,在投影矩阵 V 上强制实施稀疏性至关重要。与使用稠密系数的方法不同,FiPS 会剪枝 V 中的低幅值。研究发现,最优稀疏度约为75%,特别是在应用于较大的因子矩阵时。
- 优化策略:
- 共享初始化:对拼接权重进行 SVD 分解。
- 局部误差最小化:使用小型校准数据集,优化 U 和 Vi 以最小化原始激活与压缩激活之间的 ℓ2 重构误差。稀疏性通过**渐进幅值剪枝(GMP)**强制实施。
- 全局误差最小化(可选):使用动态稀疏训练(RigL)进行端到端微调阶段,以在更高压缩比下恢复性能。
- 分组策略:本文指出,相邻层共享最多的冗余。最佳性能是通过将连续块分组(例如 DeiT-B 每组 4 个)并对大型语言模型(LLM)使用“ tapered(锥形)”分组策略(网络两端分组较小,中间分组较大)来实现的。
主要贡献
- 跨块共享的系统性分析:作者系统地探索了共享粒度、拼接方案和稀疏模式,确定长轴拼接和投影因子上的稀疏性可产生最低的重构误差。
- FiPS 算法:一种新颖的算法,通过 SVD 初始化,并联合优化共享基以及稀疏的、特定于层的投影。它独特地将低秩分解与投影因子上的稀疏性(而非基上的稀疏性)相结合。
- 最先进的压缩结果:
- 视觉 Transformer(ViT):在 ImageNet-1k 上,将 DeiT-B 和 Swin-L 压缩高达33%,Top-1 精度损失小于1%。经过微调后,压缩率可达57%。
- 大型语言模型(LLM):将 Llama-7B 和 Llama-3.1-8B 压缩高达20%,在困惑度和下游基准测试中优于现有的基于 SVD 的基线(ASVD、SVD-LLM、SVD-LLM V2)。
- 量化协同效应:当与量化感知训练(QAT)结合时,Gemma-2-2B 上的 3 位 FiPS 实现了与单独 2 位 QAT 相同的8 倍压缩,但困惑度显著更低(35.43 对比 41.86)。
- 硬件效率:该方法支持结构化稀疏性(例如 2:4 模式),能够在不显著降低精度的情况下实现可测量的推理加速(在 NVIDIA A4000 上为 1.31 倍)和内存减少(峰值显存为 0.79 倍)。
结果
- ViT 性能:在 ImageNet-1k 上,FiPS 在各种参数预算(10% 至 75%)下始终优于自适应原子特征模仿(AAFM)和全局特征模仿(GFM)等基线。例如,在 40% 的参数预算下,FiPS 在 DeiT-B 上实现了 81.69% 的准确率,超过了 GFM(81.28%),尽管 GFM 的计算成本更高。
- LLM 性能:在 WikiText-2 和 C4 数据集上,FiPS 在 20% 压缩率下实现了基于分解的方法中最低的困惑度。与 GFM 相比,它还在 CIFAR-100、Flowers102 和其他视觉基准测试中表现出更优越的迁移学习能力。
- 消融研究:本文证实了:
- 投影矩阵 V 上的稀疏性至关重要;稠密基线在低参数预算下会崩溃。
- SVD 初始化优于随机初始化。
- 全局剪枝(跨层自适应分配参数)比局部剪枝产生更好的结果。
- 75% 的稀疏度是投影矩阵的最优水平。
意义与主张
本文确立了细粒度参数共享作为一种实用且有效的 Transformer MLP 压缩方法。作者声称,FiPS 与量化感知训练(QAT)和 LoRA 等其他压缩技术是正交的,意味着它可以与它们结合以获得进一步的收益。
其意义在于证明,如果使用共享基和稀疏的、可学习的投影,跨层共享参数并不需要牺牲表征能力。这种方法为现有策略提供了具有竞争力的替代方案,实现了显著的压缩(ViT 高达 57%,LLM 高达 20%),同时性能损失极小,从而促进了大型模型在资源受限设备上的部署。该方法特别值得注意的是,它不依赖蒸馏或辅助监督信号,而是依赖块级重构误差最小化。
每周获取最佳 machine learning 论文。
受到斯坦福、剑桥和法国科学院研究人员的信赖。
请查收邮箱确认订阅。
出了点问题,再试一次?
无垃圾邮件,随时退订。