10

GPT-3的最强落地方式?陈丹琦提出小样本微调方法,比普通微调提升11%

 4 years ago
source link: https://mp.weixin.qq.com/s?__biz=MjM5ODkzMzMwMQ%3D%3D&%3Bmid=2650419609&%3Bidx=1&%3Bsn=873da230fb3eaa1888618da3f8c41868
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

E7BvM3U.jpg!mobile

文 | JayLou娄杰

这次解读的论文来自陈丹琦团队,一作曾是清华特奖得主@高天宇;借鉴GPT-3的核心思想,探索小样本微调方法。

2020年引领NLP社区的 GPT-3 [1] 在众多语言理解任务中展现了惊人能力。GPT-3 仅仅通过 一个自然语言提示(prompt) 和  少量的任务示例 就可以作出正确的预测,值得注意的是: 这一过程不需要更新预训练模型的参数权重

虽然GPT-3表现惊艳,但有一点很明显:拥有 1750亿参数 (如此重量)在真实世界也是很难应用!更何况,据说GPT-4会有上万亿参数?

哎,GPT-3落地还是比较困难啊~

不过,就在2020年最后一天12月31日,陈丹琦团队发表了最新力作《 Making Pre-trained Language Models Better Few-shot Learners 》,研究了一个更符合实际场景的小样本学习问题:1)可以在普通硬件资源上访问 中等大小 的语言模型(如RoBERTa);2)可以通过少量样本进行微调。

其实,自BERT等预训练语言模型诞生以来,本身就降低了对大规模标注数据量的需求;此外,获得少量的标注样本(比如每个类别16个样本),对我们也是很容易的。

因此,我们可以试想一下:如果能基于小样本对语言模型微调就能获得不俗表现,是不是极具现实意义呢?(boss再也不用担心标注成本啦~)

这不,丹琦女神团队借鉴GPT-3思想(引入提示和样本示例),提出了 一种基于语言模型的小样本微调方法 LM-BFF ,该方法在低资源设置下,比普通的标准微调方法 最高提升30%、平均提升11% !提升如此明显, LM-BFF 也有两种“贴切”解释:

  • b etter  f ew-shot  f ine-tuning of  l anguage  m odels (正经 一些)

  • l anguage  m odels’  b est  f riends  f orever (俏皮一些)

本篇专栏文章,JayJay就以QA形式和大家分享丹琦团队是 如何构建小样本微调框架的

qmQ3InQ.jpg!mobile

论文下载:https://arxiv.org/pdf/2012.15723.pdf

github开源: https:// github.com/princeton-nlp/LM-BFF

Q1: 小样本微调框架是怎样的?

LM-BFF 就是一套针对小样本进行微调的简单技术,主要包括两部分:

  1. 基于提示(prompt)进行微调,关键是如何自动化生成提示模板;

  2. 将样本示例以上下文的形式添加到每个输入中,关键是如何对示例进行采样;

j6VjQ3z.jpg!mobile

LM-BFF的基本方式如上图所示, 红框部分 就是 提示模板 篮框部分 就是 额外的样本示例

Q2:为什么要通过「提示模板」构建MLM任务呢?

bIFVNfQ.jpg!mobile

在普通的标准微调方法中(如上图b所示),新参数的数量(独立于原始预训练模型外的参数)可能会很大,例如基于RoBERTa-large的二分类任务会新引入2048个参数,会使从小样本(如32个标注数据) 中学习变得困难。

为解决这一问题,LM-BFF借鉴masked language model (MLM) 方式(如上图a所示),将下游任务直接转化为MLM任务,即:通过语言模型对「提示模板」进行“自动补全”。这也是论文所称的「 基于提示的微调方法 」。

AbeaArq.png!mobile

具体地:首先构建如上图的提示模板,[MASK]包含在提示模板中;然后对[MASK]预测,预测输出是标签词(label words),与具体标签建立映射关系:例如,标签positive对应单词great,标签negative对应单词terrible。

值得注意的是:上述方法重新使用了预先训练的参数权重,并且没有引入任何新参数来进行微调。同时还减少了微调和预训练之间的差距,这可以 更有效地用于小样本场景

Q3:为何「提示」选择如此重要、又很困难?

有上述分析,我们可以得知「 提示 」由两部分构成:

  1. 模板T :例如  It was  [MASK] 。

  2. 标签词映射M(y) :即[MASK]位置预测输出的词汇集合,与真实标签y构成映射关系。例如,标签positive对应单词great,标签negative对应单词terrible。

JVz6F3B.jpg!mobile

在基于提示的微调方法中,不同的模板和标签词选择其实对最终结果影响很大,如上图所示:

  • 使用相同「标签词」,即使对「模板」进行较小改动(如删除标点)也会呈现不同结果;

  • 使用相同「模板」,不同的「标签词」效果不一样,例如cat/dog和dog/cat就不同了,而互换great和terrible指标则会大幅下降。

上述「模板」是根据人工直觉设计的,可以更好的完成相关类似任务。但是,找到一个合适的、正确的「提示」,既需要专业知识、又需要对语言模型内部的运作方式有着充分的理解。

其实,针对不同任务,就人工手动设计提示「模板」或者「标签词」,是一件费力不讨好的事情,因为人工模板也不一定奏效~ 因此,我们应该试图去自动化构建提示: 自动构建一种与任务无关的廉价方法

BUT! 「提示」的搜索空间很大 ,尤其是「模板」。这很容易理解,毕竟模板千千万,选择哪个很费劲~此外, 当只有少量标注数据进行模板搜索时,很容易导致过度拟合

综上所述:「提示」选择虽然很重要,但自动化构建却很难。论文针对这一点提出了有效方法。

Q4:如何自动化构建「提示」?

自动化构建「 提示 」分为「 标签词 」和「 模板 」的构建。自动化构建的目的是削减人工设计「提示」的工作,并找到超越手动构建的「最佳提示」。

1、自动化选择「标签词」

自动化构建「标签词」,即固定模板、选择最佳的标签词映射关系M,使得在验证集的分类准确率最高。

由于「标签词」搜索空间随着类别数目呈指数增加,LM-BFF采用一种简单的搜索策略:

第一步 :通过未经微调的预训练模型,对于训练集中的每一个类别,选择 top-k 的单词使得条件概率最大:

beayu2n.png!mobile

第二步 :综合每个类别下的候选标签词,然后找出使得训练集正确率最大的 top-n 个分配方式;

第三步 :通过对dev集微调,从n个分配方式中选择最佳的一个标签词,构建标签映射关系M。

2、自动化选择「模板」

自动化构建「模板」,即固定标签词构建模板。LM-BFF使用Google提出的T5模型 [2] 进行解码,从而生成模板。

T5基于多种无监督目标进行预训练,其中最有效的一个无监督目标就是:利用<X>或<Y>替换一个或多个连续span,然后生成对应输出。例如:在“ Thank you  <X>  me to your party  <Y>  week  ”,T5会在<X>生成“  for inviting  ”、在<Y>生成“ last  ”。

很显然,T5这种方式很适合生成模板,不需要指定模板的token数目。具体,依然利用<X>或<Y>作为mask tokens,1种可能的输入方式为:

RbYJBbQ.png!mobile

然后我们就可以基于T5去填充占位符<X>和<Y>,生成提示模板T。生成的模板应该是训练集中的输出概率最大化。具体的模板生成过程如下图所示:

jyqA7na.jpg!mobile

论文采用柱搜索来解码生成多个候选模板,然后对每一个候选模板利用dev集微调、选择其中一个最佳模板。

尽管在每个模板上微调模型似乎很昂贵,由于训练集较小,这与 手动生成提示模板并进行调整 相比: 这种方式在实践中是快速的、完全自动化的

Q5:如何基于「样本示例」进行微调?

在GPT-3中,是从训练集中随机抽取32个示例,以上下文的形式添加到每个输入中的;这种方式的缺陷在于:

  • 样本示例的数量会受到模型最大输入长度的限制;

  • 不同类型的大量随机示例混杂在一起,会产生很长的上下文,不利于模型学习。

LM-BFF采用2种简单的方式进行了改进:

  1. 对于每个输入, 从每个类别中随机采样一个样本示例 ,最终将所有类别下的采样示例进行拼接输入;

  2. 对于每个输入,在每个类别中, 通过与Sentence-BERT进行相似度计算、并从排序得分的top50%中随机选择一个样本示例

Q6:实验结果:LM-BFF性能如何?

为验证LM-BFF的有效性,论文在8个单句、7个句子pair任务上进行了小样本验证(每个类别下,采取15个标注样本),实验采用RoBERTa-large模型。

首先介绍进行对比的各个方法:

  • Majority :使用训练集中频率最高的类别最为result;

  • Prompt-based zero-shot :零样本设置,使用手动设计的模板、并不引入额外的样本示例;

  • “GPT-3” in-context learning :零样本设置,使用手动设计的模板,与GPT-3相同,从训练集中随机抽取示例,以上下文的形式添加到每个输入中。

  • Fine-tuning :小样本设置,标准微调方式,引入新的参数。

  • Fine-tuning(full) :使用全量的标注数据进行标准微调;

  • Prompt-based FT(man) :本文微调方法,使用人工手动设计的提示模板;

  • Prompt-based FT(auto) :本文微调方法,自动构建提示模板;

  • +demonstrations :代表引入额外样本示例到上下文中;

EbYrEfj.jpg!mobile

如上图所示,我们可以发现:

  1. 基于提示模板的微调方法,明显超越普通的标准微调方法 自动构建的模板能够匹敌、或者超过手动模板

  2. 利用额外的样本示例,指标可在绝大数任务上保持增益 ;LM-BFF方法相较于标准微调,最高可提升30%,平均提升11%。

  3. 虽然 小样本条件下,LM-BFF可大幅领先标准微调 ,但其 相较于使用全量数据的标准微调仍然落后

juuqquQ.jpg!mobile

此外,论文也将 LM-BFF标准微调 在不同K(每个类别下的标注样本数量)下进行了比较,如上图所示。可以发现: 不同K下,LM-BFF都领先标准微调 。可见LM-BFF方法在小样本条件下的有效性。

总结

本文提出了 一种简单而又有效的小样本微调方法——LM-BFF,这是一种任务无关的方式 ,在小样本设置下,LM-BFF超越「标准微调」平均11%(最高30%)。主要包括2部分:

  • 采用 提示自动构建方式 来进行「 基于模板的微调方法 」。

  • 动态选择样本示例,作为输入的上下文。

但LM-BFF也有以下缺陷:

  1. LM-BFF仍落后基于全量标注数据的标准微调方法(PS:废话,数据目前还是越多好~)

  2. LM-BFF 自动构建提示 的方法虽然有效,但扩展搜索空间在现实应用中仍是一个巨大挑战;

  3. LM-BFF仅支持几种特定的任务:1)能自然转化为「空白填空」问题,如结构化预测的NER任务可能就不适合;2)句子输入不要太长;3)不要包含过多的类别;其中2)和3)可以在长距离语言模型中进行改善。

参考文献

[1] Language models are few-shot learners

[2] Exploring the limits of transfer learning with a unified text-to-text trans- former.

由于微信平台算法改版,公号内容将不再以时间排序展示,如果大家想第一时间看到我们的推送,强烈建议星标我们和给我们多点点【在看】。 星标具体步骤为:

(1)点击页面 最上方"AINLP" ,进入公众号主页。

(2)点击 右上角的小点点 ,在弹出页面点击“ 设为星标 ”,就可以啦。

感谢支持,比心

欢迎加入预训练模型交流群

进群请添加AINLP小助手微信 AINLPer(id: ainlper),备注 预训练模型 yi6vEbV.jpg!mobile

推荐阅读

这个NLP工具,玩得根本停不下来

征稿启示| 200元稿费+5000DBC(价值20个小时GPU算力)

完结撒花!李宏毅老师深度学习与人类语言处理课程视频及课件(附下载)

从数据到模型,你可能需要1篇详实的pytorch踩坑指南

如何让Bert在finetune小数据集时更“稳”一点

模型压缩实践系列之——bert-of-theseus,一个非常亲民的bert压缩方法

文本自动摘要任务的“不完全”心得总结番外篇——submodular函数优化

Node2Vec 论文+代码笔记

模型压缩实践收尾篇——模型蒸馏以及其他一些技巧实践小结

中文命名实体识别工具(NER)哪家强?

学自然语言处理,其实更应该学好英语

斯坦福大学NLP组Python深度学习自然语言处理工具Stanza试用

关于AINLP

AINLP 是一个有趣有AI的自然语言处理社区,专注于 AI、NLP、机器学习、深度学习、推荐算法等相关技术的分享,主题包括文本摘要、智能问答、聊天机器人、机器翻译、自动生成、知识图谱、预训练模型、推荐系统、计算广告、招聘信息、求职经验分享等,欢迎关注!加技术交流群请添加AINLPer(id:ainlper),备注工作/研究方向+加群目的。

yamaeu.jpg!mobile

阅读至此了,分享、点赞、在看三选一吧:pray:


Recommend

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK