文 | Rukawa_Y
编 | Sheryc_王苏,小轶
去年年初 GPT-3 的论文在 arxiv 上出现,论文名为 “Language Models are Few-Shot Learners”,引起一阵轰动。除了前无古人的模型规模外,最抓人眼球的是, GPT-3 能够不需要 fine-tuning 进一步更新参数,直接解决下游任务。
这种完全依赖语言模型从预训练过程中习得的推理能力,通过上下文语境(task description)直接解决新任务的方式,叫做语境学习(in-context learning)。然而利用语境学习让模型学会处理一个新的任务的方法效果往往比不上传统的微调,预测的结果也有很大的方差,并且如何把多种多样的任务转化为语境的模版(Prompt)是很难被设计出来的。
近期,Facebook AI 实验室所发表的论文 MetalCL: Learning to learn in context ,提出了一种训练方法MetalCL,通过元学习的方式让模型更加简单有效地进行语境学习——不需要在输入中提供任务描述模板,只需提供训练样例和目标输入。论文作者希望通过在元训练任务上进行多任务学习,让模型能够自动学习到如何通过输入中的少量训练样本重构任务信息,从而省去人工设计模板的麻烦。
论文标题
MetaICL: Learning to Learn In Context
论文链接
https://arxiv.org/pdf/2110.15943.pdf
Arxiv访问慢的小伙伴也可以在 【夕小瑶的卖萌屋】订阅号后台回复关键词 【1219】 下载论文PDF~
根据GPT-3的论文,语境学习分为 3 种情形,分别是:零样本学习(Zero-shot Learning)、单样本学习(One-shot Learning)和少样本学习(Few-shot Learning)。
GPT-3 的论文的实验结果中,表明 GPT-3 这3种情况均取得了一定的效果,这里有不再展开了,有兴趣的同学可以看看 GPT-3 的论文。
了解了语境学习之后,相信大家都会被这种通过推理就能学习一个新的任务的,并且无需任何参数更新的学习方式所吸引。然而利用语境学习让模型学会处理一个新的任务的方法效果往往比不上传统的微调,预测的结果也有很大的方差,并且如何把多种多样的任务转化为语境的模版(Prompt)是很难被设计出来的。基于这些挑战,也就是如何让模型在语境学习中所学习到的新的任务效果更好,MetaICL应运而生了。
MetaICL,全称Meta-training for In-context Learning。其中先对模型进行元训练(Meta-training),让模型学会如何根据数据集自动调整语境学习策略,然后再进行语境学习。在Meta-training的过程中,论文的作者使用了数十个不同领域的NLP的任务作为元训练任务(Meta-training Task)对于模型进行训练,来提升模型进行少样本学习的能力。在这一训练过程中,MetaICL的优点在于不需要在输入中提供任务描述模板,只需提供训练样例和目标输入:论文作者希望通过在元训练任务上进行多任务学习的策略,让模型能够自动学习到如何通过输入中的少量训练样本重构任务信息,从而省去人工设计模板的麻烦。
MetalCL的具体的训练过程是:对于每一个元训练任务,利用K-shot Learning,将元训练任务中随机抽取出的任务中的 个样本的 和 ,和第 个样本的 连接起来作为一个输入,输入到模型中,预测对应的第 个样本的 。其中,前 个样本相当于提供了对于任务的描述信息。MetalCL推测的过程也采用了与训练过程相同的输入方式来处理预测的样本:不需要任务描述,只需将该任务的 个训练样本与目标输入相拼接即可。
总结一下MetalCL的流程如下:
除此之外,论文的作者还借鉴了在少样本的文本分类任务中的一种噪声通道[1]的方式,将元训练过程中的目标函数变换为 。即在噪声通道模型中,,将 定义为 ,那么目标函数则变换为最大化概率 ,即最大化概率,对应在推理阶段模型则是计算。
论文中作者使用GPT-2 large进行MetalCL训练,元训练过程中一共使用了142个元训练数据集,这142个数据集包含了文本分类、QA、NLI和paraphrase detection等任务。论文作者在实验过程中对于Meta-training采取了7种设置,对Target采取了5种设置,并且在Meta-training和Target所使用的任务是没有交集的,具体的设置如下:
Meta-train和Target所采取的设置总结如下,见表格:
最终实验结果里作者将MetaICL和Channel MetalCL同其他baseline做了比较,实验结果如下:
表格中各个method的意义如下:
从表格中我们可以得到如下的结论:
对于模型来说,在元训练/目标任务相似,即不进行任务迁移的情况下:
在需要进行任务迁移的情况下:
而将MetalCL训练的模型同Fine-tuning的模型比较时:
除了上面的结论,作者还将使用MetaICL训练的GPT-2模型同GPT-J进行了比较,实验结果如下:
从表格中还可以看出MetalCL训练的语言模型在许多领域的模型效果基本上跟GPT-J差不多,有些领域甚至要比GPT-J好。
最后论文作者还进行了Ablation study,主要内容分为两点:
本文介绍了一种MetaICL的训练方法,通过这种训练方法可以让模型通过元训练更好更简单地进行语境学习。同时笔者认为MetaICL也算是一种大力出奇迹的方法吧。这其实可以给予我们一些启发:
后台回复关键词【入群】
加入卖萌屋NLP/IR/Rec与求职讨论群
后台回复关键词【顶会】
获取ACL、CIKM等各大顶会论文集!
[1] Noisy channel language model prompting for few-shot text classification.
[2] Surface form competition: Why the highest probability answer isn’t always right.