2020年ML和NLP领域研究总结

本博客翻译自RUDER的博客《ML and NLP Research Highlights of 2020》

本文选取的领域和方法很大程度上受到自身兴趣的影响,所选择的话题偏向于表征迁移学习,也偏向于NLP。我尽量覆盖自己听到看到的所有论文,但是也可能会遗漏很多相关的工作,请不要觉得拘束,直接在底下评论。

总的来看,我主要讨论以下几个重要方向:

  1. 预训练模型的变大和缩小
  2. 基于检索增强(retrieval-argumented)的文本生成
  3. 少样本学习
  4. 对比学习
  5. 超越准确率的评测
  6. 大型语言模型的现实担忧
  7. multilinguality
  8. Image Transformers
  9. 面向科学的机器学习
  10. 强化学习

1. 预训练模型的变大和缩小

进展

2020年见证了诸如Meena[1]、Turing-NLG[2]、BST[3]以及GPT-3[4]等大型语言模型和对话模型。同时,研究者们也越来越清晰地意识到这些模型的昂贵,聚焦于缩小模型的工作发展势头强劲:近来的方法聚焦于修剪[5]、量化[6]、蒸馏[7]和压缩[8]。其他的方法主要是想提高Transformer的效率,这条工作线的工作有Performer[9]、BigBird[10].

下图展示了模型大小的变化,要么越来越大,要么越来越小。

2020年ML和NLP领域研究总结

重要性

提升模型的尺寸将进一步推动当前模型所能够达到的上界。然而,为了现实世界场景中的部署和使用,它们需要变得更加高效。最终,这两个方向将实现互惠互利:压缩大模型可以得到性能强大的高效模型,而更有效的方法则会导致模型越来越强劲的同时变得更加庞大。

下一步

鉴于人们对工具的高效性和可用性越来越感兴趣,我非常希望同时汇报模型的性能、参数量以及能源效率能够成为常态。这将有助于更加全面的评估,从而帮助我们打破与真实世界ML用例之间的差距。

2. 检索增强

进展

大模型展示了自身从预训练数据中所学习到的惊人数量的世界知识,这允许它们能够重新生成事实,甚至是在不借助外部上下文的前提下回答问题。然而,将这样的知识存储在模型的参数中非常低效,需要更大的模型来保留更多的信息。因此,最近的方法的思路是联合训练检索模型和大型语言模型,在开放领域问答、语言建模这样知识密集型的NLP任务上取得了非常好的成绩。这些模型的主要优势在于它们将检索直接融入到了语言模型的预训练中,帮助模型卸下回忆事实的负担转而聚焦于学习自然语言理解更具有挑战性的方面,从而使得模型更加高效。

因此,NeurIPS 2020 EfficientQA比赛中的最佳系统完全依赖于检索。

重要性

检索是文本摘要、对话等所有生成任务的基石,并且很大程度上被抽象生成所代替。检索增强生成(retrieval-augmented generation)结合了二者的优势:检索片段的事实准确性和忠实度、生成文本的相关度和组成性。

下一步

检索增强的生成对处理之前影响生成模型性能的失败用例非常有帮助,比如处理幻觉的问题。它也通过直接提供预测背后的证据来提升系统的可解释性。

3. 少样本学习

进展

在过去的几年里,受到预训练进步的驱动,执行一个给定任务所需要的训练样例日趋变少。我们现在所处的时代,只需要几十个数据样本就可以演示一个给定的任务。于是少样本学习的一个很自然的方法就是将任务重构成语言建模。比如其中最为著名的一个实例就是GPT-3的in-context learning,它在不更新模型参数的前提下仅仅基于模型上下文中几个输入输出对的demonstrations和一个提示(prompt)做预测。然而,这种设置存在一些局限:(1)不更新模型参数意味着我们需要一个庞大的模型;(2)模型可以使用的内部知识的数量受限于上下文窗口的大小;(3)提示prompt需要人工构建。

近来的工作提升少样本学习效率的方法有:使用小一点的模型、融合预训练、自动生成自然语言形式的提示。这些工作和可控神经文本生成这个更广阔领域紧密相关,可控文本生成通常寻求利用强大的预训练模型的通用能力。少样本学习使得一个模型可以快速适应很多任务,然而为每个任务更新所有的参数非常浪费。因此,更倾向于集中于参数的一个小的子集做局部更新。一些使得高效微调更加现实的方法包括:使用adapters、加一个系数参数向量、只修改偏置值。

重要性

仅基于少量任务数据样例教会一个模型可以极大地减少将ML和NLP模型应用到现实的阻碍,这也催生了数据收集昂贵的应用,并使得模型能够快速适应于新的领域。

下一步

对于很多真实世界场景,收集成千上万的训练样本室可能的。因此模型应该能够从少样本学习无缝切换到多样本学习,并且不受诸如上下文长度的限制。对于那些在整个训练集上微调后能够在superGLUE等流行任务上实现超过人类成绩的模型,提高它们的少样本成绩是一个需要提升的地方。

4. 对比学习

进展

对比学习——学习在负样本中区分出一个正样本,一般来自于噪声分布——比如使用负采样或者噪声对比评估(noise contrastive estimation),是一个主要的表示学习和自监督学习,也是word2vec这样经典方法的核心部分。最近,对比学习在计算机视觉和语音的自监督表征学习中非常流行。最近一代视觉表征学习的自监督方法不断强大,它依赖于使用一个实例判别任务的对比学习,不同的图片被视为负样例对,同一图片的视图被视作正例对。最近的方法进一步重新定义了这个通用框架:SimCLR在增强样例上定义了对比损失,Momentum Contrast保证一个大规模一致的集合对;SwAV利用在线聚类,BYOL仅仅使用正样例对,Chen and He进一步提出了一个和之前方法相关联的简单方法。

近来,Zhao发现数据增强对于对比学习至关重要。这可能暗示了为什么无监督对比学习在数据增强不常见的NLP大型预训练模型上没有取得成功的原因。他们也假设计算机视觉领域中实例判别之所以比监督预训练表现更好的原因是它并没有使类中所有实例的特征相似但却保留了每个实例的信息。这在NLP领域不足以成为问题,因为无监督预训练涉及到成千上万的词类型的分类。在NLP中,Gunel等人最近提出使用对比学习来实现基于监督的微调。

重要性

语言建模中使用的交叉熵目标函数定义在one-hot标签和一个模型输出的logits之间,它存在若干个局限,比如在不均衡类上泛化很差。对比学习是一个可选的、弥补的方法,可能有助于改善这些赤字。

下一步

结合遮掩语言建模的对比学习使得学习的嵌入更加丰富更加健壮,它可以帮助建模异常值和罕见的句法和语义现象,这对于当下的NLP模型来说是一个挑战。

5. 超越准确率的评估

进展

NLP领域SOTA模型在很多任务上超越了人类,无论我们是否相信这些模型实现了真正的自然语言理解,我们都知道当前模型距离这个难以达到的目标还很遥远。然而,我们的任务性能度量方法太简单不足以捕捉到当前模型的局限。这个领域有两个核心的方法:一是设计困难样本,二是超越简单的准确率度量,朝着更细粒度的评估方向走。

关于前者,常用的方法是使用对抗过滤,在创建数据集时过滤掉当前模型预测正确的样例;最近的工作提出了更加高效的对抗过滤方法和一个迭代数据集创建过程(对样本进行过滤,同时重训模型多轮)。

关于后者,采用的方法在想法上是相似的。只不过不是去根据特定模型创建样本,而是使用样本来探测感兴趣任务的常见现象。常见的方法是创建最小对(也称对等样本或者对比集),对样本的扰动很小,但是会改变正确标签。Ribeiro等人在他们CheckList的工作中对一些潜在的直觉进行了建模,实现了这些测试用例的半自动化构建。或者,可以基于不同的属性来描述示例,从而对模型的优点和弱点做一个更细粒度的分析。

重要性

为了朝着构建能力更强的模型这个目标得到一些有意义的进展,我们不仅仅需要知道一个模型是否超过之前的系统,还需要知道它可能犯什么错误,以及无法捕捉的现象。

接下来

通过提供模型表现的细粒度的诊断,可以容易地识别出模型的不足之处然后提出方法来解决它们。同样地,一个细粒度的评估也可以给不同模型做一个细致入微的对比。

6. 大型语言模型的现实担忧

进展

2019年语言模型的分析主要集中在句法、语义和模型捕捉到的世界知识(译者注:说白了就是只看成绩),可以查看Rogers et al.2020查看更好的概览。最近的分析已经开始表露出很多对于实践的担忧。预训练语言模型被发现倾向生成不良语言、泄露信息、微调后易受后门攻击。这意味着一个攻击者可以操纵模型的预测,并且对模型和数据抽取的攻击非常脆弱。另外,众所周知预训练模型对性别这样的保护属性存在偏见。

重要性

大型预训练模型由很多机构训练,然后在真实世界场景部署。由此我们不仅需要知道他们的偏见,还需要知晓他们哪些表现实际上可能存在有害的结果。

接下来

随着更庞大更强大的模型被开发出来,这些现实的担忧和偏置、公平相关的偏置都是开发过程一开始重要的部分。

7. 多语言

进展

2020年多语言NLP有很多精彩的工作。负责为非洲语言强化NLP的Masakhane组织在第五届机器翻译大赛(WMT20)上做了一个keynote演讲,是去年最振奋人心的讲解。一些新的其他语种的通用的benchmark开始涌现,包括XTREME、XGLUE、IndoNLU以及IndicGLUE等。

很多数据都可以在HuggingFace数据集上轻松获取。

8. Image Transformers

略。

9. 科学机器学习

10. 强化学习

进展

Agent57,成为深度强化学习历史上首个在所有57Atari所有游戏中超越了人类的单个深度强化学习单智能体


  1. Towards a Human-like Open-Domain Chatbot, Daniel Adiwardana, ..., Quoc V. Le ↩︎

  2. Turing-NLG: A 17-billion-parameter language model by Microsoft ↩︎

  3. Recipes for building an open-domain chatbot, Stephen Roller, ..., Jason Weston ↩︎

  4. GPT-3 ↩︎

  5. https://arxiv.org/abs/2004.03844
    https://openreview.net/forum?id=SylO2yStDr
    https://papers.nips.cc/paper/2020/file/eae15aabaa768ae4a5993a8a4f4fa6e4-Paper.pdf ↩︎

  6. https://openreview.net/forum?id=dV19Yyi1fS3 ↩︎

  7. https://arxiv.org/abs/1910.01108
    https://www.aclweb.org/anthology/2020.acl-main.195/ ↩︎

  8. https://www.aclweb.org/anthology/2020.emnlp-main.633/ ↩︎

  9. https://openreview.net/forum?id=Ua6zuk0WRH ↩︎

  10. https://papers.nips.cc/paper/2020/file/c8512d142a2d849725f31a9a7a361ab9-Paper.pdf ↩︎

上一篇:(二)使用 ML.NET 进行训练模型:机器学习区分戴口罩和不带口罩的人群


下一篇:(一)安装最新的 Visual Studio ,开启ML.NET (机器学习) 预览功能