©PaperWeekly 原创 · 作者 | 曾广韬
单位 | 新加坡设计科技大学
我们很高兴向大家分享我们在 ACL 2023 上发表的关于大模型、parameter-efficient transfer learning 方向的最新工作。
论文标题:
One Network, Many Masks: Towards More Parameter-Efficient Transfer Learning
https://arxiv.org/pdf/2305.17682.pdf
https://github.com/ChaosCodes/ProPETL
背景与动机
在深度学习领域,我们一直在寻找更有效的方法来提高模型的性能,同时降低计算和存储需求。我们的工作主要关注如何通过共享参数和掩码子网络的设计(也可以看作是一种剪枝操作)来提高模型的参数效率。
1.1 问题一:参数效率的挑战
在大型语言模型中,参数数量通常是巨大的,这不仅增加了计算和存储的需求,也可能导致过拟合等问题。因此,在 finetune 大型语言模型时, 许多 Parameter Efficient Transfer Learning(PETF)方法被提出。 这些方法只需要更新很少一部分的额外参数, 节省了 finetune 时的显存以及存储需求。 但是当下游任务变得越来越大的时候,计算和存储的需要也会变大从而很难应用在资源受限的环境 。 于是我们希望找到一种方法, 在前人工作的基础上, 继续降低 PEFT module 的大小。 为此我们在 PEFT 中引入了共享参数和剪枝的设计。 1.2 问题二:保持或提高模型性能
在提高参数效率的同时,我们也希望能够保持或提高模型的性能。这需要我们在共享和剪枝参数的过程中,仔细考虑如何选择和调整参数,以保证模型的性能不会受到影响。
为了解决上述问题,我们提出了 ProPETL,一种新的 parameter-efficient transfer learning 方法。
2.1 Preliminaries
在 parameter-efficient transfer learning 中,我们会先冻结预训练语言模型的参数 ,然后引入额外可训练的参数,记为 。给定数据集 ,训练的时候我们需要仅通过更新额外的参数 来最大化标签 的 likelihood:
受到 ALBERT [1] 的启发,为了降低 PEFT 在任务非常多的场景下的参数存储需求。我们在工作的一开始便尝试能否利用共享 transformer 每一层的 adapter 模块 (LoRA 或者 prefix)来降低参数的存储需求 (这里每一层共享的额外模块,我们称作原型网络 Prototype Netork,其参数记为 )。于是我们可以得到这样的损失函数: 我们这里原型网络的参数可以在不同的任务和模型层之间共享。原型网络的设计和训练都是为了最大化参数的共享性,从而提高参数效率。 我们在实验中发现,如果只分享每一层模型的 adapter 的参数,模型在不同层级捕获有意义的表示的能力可能会下降,这可能导致最终的结果不尽人意。受到了文献 [2] 和 [3] 的启发,我们认为模型的表示能力不仅仅取决于参数,网络结构也是一个重要的因素。
为了解决这个问题,我们在每个 Transformer 层 中引入了不同的二进制掩码 (如图 2 所示),这里的 是指单个 PETL 模块中的参数数量。每个掩码代表了共享原型网络的一个子网络。 虽然所有层都共享同一个原型网络,但我们可以使用不同的掩码为每个层 创建不同的子网络,其参数将为 ,这里的 表示元素乘积。于是我们就得到了最终的目标函数: 这些掩码是可以学习的,可以通过反向传播进行优化。通过剪枝,我们可以消除不重要的参数,从而降低模型的复杂性和存储需求。这种方法的关键在于,我们并不是简单地在所有任务和层之间共享所有参数,而是通过学习来确定哪些参数是可以被共享的。
实验结果
我们进行了一系列实验,使用了多种不同的预训练语言模型,包括 RoBERTa 和 T5,并在多个任务上进行了测试,包括 GLUE、XSum 和 WMT16 Ro-En。实验结果显示,ProPETL 在所有任务上表现出色,并且能够显著提高参数效率。 在 GLUE 任务中的单任务设定下,根据表格 1 的结果显示,ProPETLAdapter 和 ProPETLLoRA 在性能上均超过了它们的对应模型(adapter 和 LoRA)。同时,ProPETL 在推理过程中仅需 1/9 的存储空间,相较于其他模型更为高效,而且在性能上仍保持一定的优势。总体而言,ProPETL 对于 adapter 的性能提升最为显著,在所有 ProPETL 的变体中表现最佳。
我们接下来还在 T5 模型中进行了实验(multi-task setting),如表 2 所示。我们最好的模型 ProPETLAdapter,使用 64 大小的瓶颈维度,超越了 fully finetune 的 T5 模型。我们进而探索了训练参数预算非常小的场景(瓶颈维度设置为 6),在这种情况下,adapter 的准确性从 85.48 骤降到了83.94,但是我们的ProPETL 甚至还能保持着与 fully finetuning 模型(85.32 对比 85.47)相当的性能,而每个任务只使用了极小的存储空间(0.001%)。 这表明,普通的 adapter tuning 无法充分利用参数,并且在相对较小的瓶颈维度下可能无法训练得到很好的结果。然而,即使瓶颈维度仅为 6,ProPETL 可以通过共享层之间的参数然后学习各自的子网络从而取得很好的结果。 对于生成任务的结果,如图 3 所示,与传统的 PETL 方法相比,我们的方法在使用更少的存储空间的情况下仍能取得相当的性能。在 XSum 数据集上,ProAdapter 在非常低的存储水平下仍能获得相对良好的结果。在 XSum 数据集上,即使存储消耗为 1.6% 或更多,与 fully finetune 的 T5 模型相比,它仍具有竞争力。然而,在 Ro-En 数据集上,PROPETLAdapter 无法达到 fully finetune 模型的性能水平。 总结
我们的工作提出了一种新的 parameter-efficient transfer learning 方法,通过共享参数和掩码子网络的设计,显著提高了模型的参数效率,同时保持或提高了性能。这为深度学习模型的部署和应用提供了新的可能性,特别是在资源受限的环境中。我们期待这项工作能够为深度学习社区带来启示,推动进一步的研究。 [1] ALBERT: A Lite BERT for Self-supervised Learning of Language Representations, ICLR 2020 [2] What’s Hidden in a Randomly Weighted Neural Network?, CVPR 2020 [3] Parameter-Efficient Masking Networks, NIPS 2022
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读 ,也可以是学术热点剖析 、科研心得 或竞赛经验讲解 等。我们的目的只有一个,让知识真正流动起来。
📝 稿件基本要求:
• 文章确系个人原创作品 ,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注
• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题
• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬 ,具体依据文章阅读量和文章质量阶梯制结算
📬 投稿通道:
• 投稿邮箱: [email protected]
• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者
• 您也可以直接添加小编微信(pwbot02 )快速投稿,备注:姓名-投稿
△长按添加PaperWeekly小编
🔍
现在,在「知乎」 也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」 订阅我们的专栏吧