论文标题:
ELLE: Efficient Lifelong Pre-training for Emerging Data
论文链接:
https://openreview.net/forum?id=UF7a5kIdzk
代码链接:
https://github.com/thunlp/ELLE
当前的预训练语言模型(PLM)通常使用固定的、不更新的数据进行训练,但在现实世界场景中,各种来源的数据可能会不断增长,如果我们想让 PLM 同时掌握旧数据和新数据中的知识,就需要让它能够持续地整合各个来源的知识。这个目标固然可以通过对所有新老数据重新大规模训练来实现,但这样的过程太过低效和昂贵。而如果我们只让模型在新数据上进行训练,它又很容易忘记旧数据中的知识,这种现象被称为灾难性遗忘。
为此,我们提出了 ELLE 框架,旨在对新来的数据进行高效的持续预训练,让模型在快速学习来自新领域的知识的同时,不忘记已经学过的来自旧领域的知识。具体来说,ELLE 包括 (1) 维持网络功能的模型扩展,它能够灵活地扩展现有 PLM 的宽度和深度,以提高知识获取的效率;(2) 在不同领域的文本前预先加入不同的领域提示词(domain prompt),从而让模型在预训练期间更好地区分从不同领域学到的知识,在下游任务中更准确的激发相应领域的知识。我们在 BERT 和 GPT 上使用来自 5 个领域的数据来试验,结果表明 ELLE 在预训练效率和下游性能方面优于各种传统的持续学习方法。
假设从 N 个领域(如新闻文章、商品评价和学术论文)中依次收集一个语料库构成一个数据集流:
模型需要依次在这批语料库上进行预训练,在每个语料库上,模型都只有有限的训练资源(如在特定显卡上的训练时长),且模型只有有限的记忆来保留以前语料库的少部分数据进行回忆。我们的目标是当模型在第 i 个语料库上训练完成后,不应该忘记前面 i-1 个语料库的知识。
在实验中我们发现,小模型能力有限,容易知识饱和,即在学习新知识时容易忘记旧知识。因此,当模型完成在第 i 个语料库上的预训练并进入到下个语料库的预训练时,为了提高模型的能力和训练效率,我们采用 function preserved model expansion (FPE) 来扩展模型的宽度和深度。相比于将模型中新增的参数随机初始化,FPE 能使模型在扩展后更大程度保留原来模型的知识。具体分为三部分:
我们使用 Bert2Bert 中的 function preserving initialization (FPI) 进行宽度拓展。FPI 在拓展 dense 层新维度时,并非随机初始化,而是随机挑选一个旧维度复制其参数,并在复制后将这些参数相同的维度同除以重复次数,以保证 dense 层输出的结果不变:
另外,我们发现新维度在复制参数后加上一些随机噪声会防止新维度学习到和旧维度太过相似的知识,从而避免冗余,加速训练。
以往的方法在扩展模型的深度时直接将小模型复制后堆叠,但这样只能拓展整数倍的深度,不够灵活。我们发现,每次随机选择还未复制过的一层,复制后插入到原来该层的后面,如(1234 -> 12234->122344),有很好的效果。这种插入不会打乱模型处理特征的顺序,也保证了每一层的功能都能得到扩展。
由于噪声的添加和深度的拓展,上述模型扩展不能精确保证新旧模型输出完全相同,不可避免地会导致功能损失和性能下降。因此,在每次拓展后,我们会让新模型在储存了少量旧数据的 memory bank 上进行少许训练,即 function recovering warmup (FRW)。实验证明极少的训练步数就能让新模型恢复到和老模型相同的水平,且有利于防止新模型忘记旧知识。
为了促进模型在预训练时不同领域知识的获取和在下游任务微调时抽取对应领域的知识,我们在每个领域的文本前预先植入了一个可学习的领域提示词 (domain prompt,如<News>) 来区分领域和指导模型的学习:
当模型在每个领域对应的下游任务上微调时,我们也会在任务句子前添加对应领域的提示词。
我们从五个领域中依次收集了五个语料库作为数据流:WikiPedia&BookCorpus (WB),News Articles (Ns), Amazon Reviews (Rev), Biomedical Papers (Bio) 和 Computer Science Papers (CS),每个语料库大小约为 17G,其中我们从每个语料库随机采样 1G 文本作为 memory。
我们分别采用 6 层,宽度为 384 的 BERT 和 GPT 模型作为初始模型,经过四次 FPE,最终变成 12 层,宽度为 768 的模型。我们在保证每个领域上预训练时间相同的情况下,和不同的持续学习基线方法进行了对比,包括基于正则的方法:EWC、MAS、A-GEM,基于回忆的方法:ER、Logit-KD;基于扩展的方法:PNN。
我们分别比较了不同方法在预训练和下游任务上的表现。
5.1 更高效的预训练
预训练时,我们使用了两个基于 PPL 的指标:
其中 AP 体现了模型在已经训练过的领域上的整体水平,AP+表现了模型对旧知识的遗忘程度,两个指标都是越低越好。
可以看到,除了 PNN(渐进式神经网络)对遗忘旧知识免疫,我们的方法比所有基线模型都有显著提升。在更好地掌握所有领域知识的情况下,ELLE 遗忘的旧知识也最少。
5.2 下游任务
我们在每个领域上都挑选了一个对应的下游任务,分别是 MNLI (WB domain),HyperPartisan (Ns domain), Helpfulness (Rev domain), ChemProt (Bio domain), ACL-ARC (CS domain),并用不同方法预训练的 BERT 模型在这些任务上进行微调。
可以看到,在各个预训练阶段后,由于更好的记住了学过的知识,ELLE 在各个领域下游任务上的表现也显著优于其他基线方法。
在本文中,我们提出了 ELLE 框架,它通过逐步扩展模型来让 PLM 有效地获取新领域地知识和避免遗忘旧领域的知识,实现高效的持续预训练。ELLE 还在不同领域的训练文本前植入不同的领域提示词,利用它们来让模型区分不同领域的知识和刺激模型提取下游任务所需的知识。实验结果表明,ELLE 在预训练效率和下游性能上均优于各种持续学习基线方法。利用 ELLE,面对源源不断出现的新领域数据,我们可以让 PLM 持续而高效地吸收它们,且最终有可能形成一个巨大的通用模型。我们也希望有更多关注高效持续预训练问题的工作出现。
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析、科研心得或竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。
📝 稿件基本要求:
• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注
• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题
• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算
📬 投稿通道:
• 投稿邮箱:hr@paperweekly.site
• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者
• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿
△长按添加PaperWeekly小编
🔍
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧