2021 年已经过去,这一年里,机器学习(ML)和自然语言处理(NLP)又出现了哪些研究热点呢?谷歌研究科学家 Sebastian Ruder 的年度总结如约而至。
2021 年,ML 和 NLP 领域取得了很多激动人心的进展。在 Sebastian Ruder 的最新博客《ML and NLP Research Highlights of 2021》中,他介绍了自己认为最具有启发意义的论文和研究领域。通用预训练模型
大规模多任务学习
Transformer 架构替代方案
提示( prompting)
高效的方法
基准测试
条件图像生成
与自然科学结合的机器学习
程序合成
偏见
检索增广
Token-free 模型
时序自适应
数据的重要性
元学习
2021 年研究者开发了更大的预训练模型。预训练模型可以应用于不同的领域,对 ML 研究至关重要。在计算机视觉中,有监督预训练模型如 Vision Transformer 继续被扩展,而自监督预训练模型性能也在不断提高。在语音方面,基于 wav2vec 2.0 模型(如 W2v-BERT),以及更强大的多语言模型(如 XLS-R)已经被构建出来。与此同时,新的统一预训练模型可用于不同的模态(例如视频和语言等)。在视觉和语言方面,对照研究揭示了这种多模态模型的重要组成部分。此外,预训练模型在强化学习和蛋白质结构预测等其他领域也取得了巨大进展。为什么预训练模型如此重要?预训练模型已被证明可以很好地泛化到给定领域或不同模态中。它们表现出较强的小样本学习行为和良好的学习能力。因此,预训练模型是进行科学研究和实际应用的重要组成部分。下一步是什么?我们无疑将在未来看到更多甚至更大的预训练模型。同时,我们应该期望单个模型同时执行多个任务。在语言任务中,模型以通用的文本到文本格式构建执行不同的任务。同样,我们可能会看到在单个模型中执行图像和语音任务的模型。最后,我们将看到更多的、针对多模态进行训练的模型。上一节中的大多数预训练模型都是自监督的,它们从大量未标记的数据中学习。然而,对于许多领域,已经有大量标记数据可用,可用于学习更好的表示。到目前为止,T0、FLAN 和 ExT5 等多任务模型已经在大约 100 个任务上进行了预训练,可用于语言任务。如此大规模的多任务学习与元学习密切相关。通过访问不同的任务分配,模型可以学习不同类型的行为,比如如何在上下文中学习。为什么多任务模型很重要?T5 、 GPT-3 等许多模型可以使用文本到文本格式,因此可以进行大规模多任务学习。因此,模型不再需要手工设计的、特定于任务的损失函数或特定于任务的层,以便有效地跨多个任务学习。这些方法突出了将自监督预训练与监督的多任务学习相结合的好处,并证明了两者的结合会产生更通用的模型。下一步是什么?鉴于数据集(统一格式)的可用性和开源性,我们可以想象一个良性循环,新创建的高质量数据集可用于不同的任务,以训练更强大的模型,然后这些模型可以在循环中被用来创建更具挑战性的数据集。前几节中讨论的大多数预训练模型都是基于 Transformer 架构的。2021 年出现了可替代的模型架构,这些架构是 transformer 的可行替代方案。Perceiver 是一种类似 transformer 的架构,它通过使用固定维度的潜在数组作为其基本表示并通过交叉注意力在输入上进行调节,从而可以扩展到非常高维的输入。Perceiver IO 通过扩展架构,可以处理结构化的输出空间。还有一些模型试图替换自注意力层,最著名的是使用多层感知器 (MLPs),如 MLP-Mixer 和 gMLP。FNet 使用 1D Fourier Transforms 而不是 self-attention 在 token 级别混合信息。一般来说,将架构与预训练策略解耦是很有用的。如果 CNN 以与 Transformer 模型相同的方式进行预训练,它们将在许多 NLP 任务上实现具有竞争力的性能。同样,使用可替代的预训练目标(例如 ELECTRA-style 的预训练)可能会带来更多收益。为什么替代 Transformer 架构很重要?如果大多数研究都集中在单一架构上,这将不可避免地导致偏见、盲点等一系列错误。新模型可能会解决一些 Transformer 的限制,例如注意力的计算复杂性、黑盒性质等。下一步是什么?虽然预训练 transformer 会被继续部署,作为许多任务的标准基线,我们应该期待看到可替代的架构被提出。由于 GPT-3 的普及,使得提示( prompting)已成为 NLP 模型中一种可行的替代输入格式。提示包括模式(即要求模型进行特定预测)和将预测转换为类标签的语言器(verbalizer)。PET、iPET 和 AdaPET 等几种方法利用提示进行小样本学习,然而,提示并不是万能的。模型的性能因提示而异,找到最佳提示仍然需要标记示例。为了在少量设置中比较模型的可靠性,我们需要不断的开发新的评估程序。为什么提示很重要?提示可用于对特定任务信息进行编码,根据任务的不同,这些信息可能高达 3,500 个标记示例。因此,提示是一种将专家信息纳入模型训练的新方法,而不是手动标记示例或定义标记函数。下一步是什么?目前,我们只是触及了使用提示来改进模型学习。在以后的研究中,提示将变得更加复杂,例如包括更长的指令、正例和负例、一般启发式。提示也可能是将自然语言解释纳入模型训练的一种更自然的方式。预训练模型的一个缺点是,它们通常非常大,而且在实践中效率低下。2021 年研究者带来了更高效的架构和更高效的微调方法。在建模方面,我们可以看到几个更有效的自注意力版本。当前预训练模型非常强大,只需更新少量参数即可有效地调节模型,这促进了基于连续提示和适配器(adapter)等更有效的微调方法的发展。高效的方法还可以通过学习适当的前缀(prefix)或适当的转换来适应新的模式。为什么高效的方法很重要?如果模型在标准硬件上运行不可行或过于昂贵,那么它们就没有意义。效率的提高将确保模型在变得更大的同时,对实践人员有益并易于使用。下一步是什么?高效的模型和训练方法应该变得更容易使用和更容易获得。同时,社区应该开发更有效的方式来与大模型交互,并有效地适应、组合或修改它们,而无需从头开始预训练新模型。近来 ML 和 NLP 模型的快速改进已经超越了许多基准度量的能力。与此同时,社区评估的基准越来越少,这些基准只来自少数精英机构。因此,2021 年出现了很多能够可靠评估此类模型的方法的实践与讨论,我在这篇博文中对此进行了介绍。 2021 年在 NLP 社区中出现的重要排行榜形式包括动态对抗性评估、社区驱动型评估(社区成员合作创建评估数据集,例如 BIG-bench)、跨多种错误类型的交互式细粒度评估、超越单一性能指标评估模型的多维评估 。此外,领域内针对有影响力的设置还提出了新的基准,例如小样本评估和跨域泛化。一些用于评估通用预训练模型的新基准也应运而生,包括用于语音、特定语言等特定模态的基准和跨模态基准。另一方面,评估指标也是应该关注的重点。机器翻译 (MT) 元评估显示:尽管已经提出了 108 个具有更好人类相关性的替代指标,但在过去十年的 769 篇机器翻译论文中,74.3% 的论文仍然仅使用了 BLEU。因此,一些研究(例如 GEM 和二维排行榜)提出联合评估模型和方法。基准测试和评估是机器学习和 NLP 进步的关键。如果没有准确可靠的基准,就无法判断我们是在取得真正的进步还是对根深蒂固的数据集和指标的过度拟合。提高对基准测试的认识将使得新数据集的设计更具深思熟虑。对新模型的评估也应减少对单一性能指标的关注,而应考虑多个维度,例如模型的公平性、效率和稳健性。条件图像生成,即基于文本描述生成图像,这一领域在 2021 年取得了令人瞩目的成果。围绕最新一代的生成模型涌现出一系列进展。最新的方法不是直接基于 DALL-E 模型中的文本输入生成图像,而是使用联合图像文本嵌入模型(例如 CLIP)指导生成模型(例如 VQ-GAN)的输出。基于似然的扩散模型逐渐消除了信号中的噪声,已成为强大的新生成模型,其性能优于 GAN。通过基于文本输入指导其输出,最近的模型已经可以生成逼真的图像。这类模型也特别擅长修复,可以根据描述修改图像的区域。自动生成由用户指导的高质量图像具有广泛的艺术和商业应用前景,包括视觉产品的自动设计、模型辅助的设计、个性化等。与基于 GAN 的模型相比,基于扩散的模型的采样速度要慢得多,因此这些模型需要提高效率才能具有实际作用。此外,该领域还需要对人机交互进行更多研究,以确定此类模型帮助人类的最佳应用方式。2021 年,机器学习在推动自然科学方面取得了多项突破。在气象学方面,机器学习与降水预报的结合大大提高了预测的准确性,使得模型优于最先进的物理预测模型。在生物学方面,AlphaFold 2.0 使得在不知道类似结构的情况下,也能以前所未有的准确率预测蛋白质的结构。在数学方面,ML 被证明能够引导数学家的直觉,以发现新的联系和算法。Transformer 模型也被证明经过足量数据训练后可学习差分系统的数学特性,例如局部稳定性。使用 ML 促进我们对自然科学的理解和应用是其最具影响力的应用方向之一,例如药物设计。使用模型 in-the-loop 来帮助研究人员进行科研的方向非常引人注目,这既需要开发强大的模型,也需要进行交互式机器学习和人机交互的研究。今年大型语言模型最引人注目的应用之一是代码生成,Codex 被首次集成到一个 GitHub Copilot 中。预训练模型的其他进展包括更好的预训练目标、扩展实验等。然而,对于当前模型来说,生成复杂程序仍是一个挑战。一个有趣的相关方向是学习执行或建模程序,通过执行多步计算来改进,其中中间计算步骤记录在「暂存器(scratchpad)」中。 能够自动合成复杂程序理论上对于支持软件工程师的工作非常有用,但在实践中代码生成模型在多大程度上改善了软件工程师的工作流程仍然是一个悬而未决的问题。为了真正发挥作用,此类模型需要能够根据新信息更新其预测,并且需要考虑局部和全局语境。鉴于大型预训练模型的潜在影响,至关重要的一点是:此类模型不能包含有害偏见,不被滥用以生成有害内容,并以可持续的方式使用。很多业内讨论都强调了此类模型的潜在风险,一些研究对性别、种族和政治倾向等受保护属性的偏见进行了调查。然而,从模型中消除偏见需要权衡取舍。在实际应用中使用的模型,不应表现出任何有害偏见,也不应歧视任何群体。因此,更好地理解当前模型的偏见以及消除它们对于实现 ML 模型的安全和负责任部署至关重要。到目前为止,偏见主要见于预训练模型、特定文本生成程序和分类应用程序。鉴于此类模型的预期用途和生命周期,我们还应该致力于识别和减轻多语言环境中的偏见,并在预训练模型使用的各个阶段(包括预训练之后,微调后,测试时)尽可能消除偏见。检索增广语言模型将检索融合到预训练和下游使用中,在我 2020 年度研究热点总结中就已经提及。2021 年,检索语料库已经扩展到多达万亿 token,模型也有能力查询网页以回答问题。此外,我们还可以看到很多将检索融合到预训练语言模型的新方法。检索增广为何如此重要呢?由于模型需要在参数中存储更多的知识并可以检索它们,检索增广的应用使得模型具备更高的参数效率。检索增广还能通过更新检索数据来实现有效的域自适应。未来,我们可能会看到不同形式的检索来利用不同种类的信息,如常识、事实关系、语言信息等。检索增广还可以与更多结构化形式的知识检索相结合,比如源于知识库群体和开放信息提取的方法。2021 年,新的 token-free 方法崭露头角,这些方法直接使用序列字符(character)。这些 token-free 模型已被证明优于多语种模型,并在非标准语言上表现非常好。因此,它们是领域内普遍使用的基于字词的 transformer 模型的有潜力替代方案。token-free 模型为何如此重要?自 BERT 等预训练语言模型出现以来,由 tokenized 字词组成的文本已经成为了 NLP 中的标准输入格式。但是,字词 tokenization 已被证明在噪声输入上表现糟糕,比如在社交媒体常见的拼写错误或拼法差异,或者某些类型的词法上。此外,强制依赖 tokenization 在将模型适应新数据时表现出不匹配。得益于更强的灵活性,token-free 模型能够更好地建模词法,在面对新词和语言变化时也能泛化得很好。但是,依然不清楚的是:与基于字词的方法相比,token-free 模型在不同类型的构词处理上的表现如何,以及它们在哪些方面做了权衡。模型根据其训练时使用的数据,会在很多方面表现出偏见。2021 年,受到了越来越多关注的一种偏见是对模型训练数据的时间框架(timeframe)的偏见。考虑到语言持续演化,新的术语不断出现,在过时数据上训练的模型已被证实泛化性能不佳。但是,时序自适应是否有用,可能取决于下游任务。比如,对于那些语言使用中事件驱动变化与任务性能无关的任务而言,时序自适应可能帮助不大。在某些问答任务中,一个问题的答案根据问问题的时间而变化。时序自适应对于这类问答任务极其重要。开发可以适应新时间框架的方法需要摆脱静态的预训练微调( pre-train–fine-tune)范式,并需要更高效的方法来更新预训练模型知识。在这方面,高效方法和检索增广都很有用。此外,我们还需要开发新的模型,使得输入不存在于真空中,而是建立在非语言上下文和现实世界的基础上。长期以来,数据都是 ML 至关重要的一环,但往往被建模方面的进展所掩盖。然而,考虑到数据在模型扩展中的重要性,研究社区也慢慢从以模型为中心(model-centric)转向以数据为中心(data-centric)的方法。重要的主题包括如何高效地构建和维护新数据集,以及如何保证数据质量。此外,预训练模型使用的大规模数据集在 2021 年受到了审查,包括多模态数据集、英语和多语种文本语料库。数据在训练大规模 ML 模型时至关重要,并且是模型获取新信息的关键因素。随着模型规模越来越大,保证大规模数据的质量变得越来越具有挑战性。目前,对于如何高效构建用于不同任务的数据集,以及如何可靠地保证数据质量,我们在这些方面缺乏最佳实践和原则性方法。此外,数据如何与模型学习交互以及数据如何形成模型偏见,在这些方面依然理解不深。尽管元学习和迁移学习有着共同的目标,但主要是在不同的社区中进行研究。在一个新的基准上,大规模迁移学习方法优于元学习方法。一个有希望的发展方向是扩展元学习方法,结合存储效率更高的训练方法,提高元学习模型在现实世界基准测试中的性能。元学习方法还可以与高效的自适应方法(如 FiLM 层)相结合,使通用模型更高效地适应新的数据集。元学习是一种重要的范式,但在设计时未考虑到元学习系统的标准基准上未能实现 SOTA 结果。将元学习和迁移学习社区更紧密地联系在一起,可能会产生在现实世界应用中更有用的元学习方法。当与用于大规模多任务学习的大量自然任务相结合时,元学习特别有用。元学习还可以通过学习如何根据大量可用提示设计或使用提示,来提升提示(prompting)。博客链接:https://ruder.io/ml-highlights-2021/