GLGE:业界首个通用语言生成评估基准
编者按:最近,除了针对自然语言理解(NLU)任务设计的预训练语言模型,许多针对自然语言生成(NLG)任务而设计的预训练语言模型也被不断提出。然而,这些模型往往通过不同的任务、数据集、和评测指标进行评估,目前还没有一个统一的通用评测基准。为了填补 NLG 通用评测基准这一空缺,微软亚洲研究院提出了业内首个通用的语言生成评测基准 GLGE (General Language Generation Evaluation benchmark)。GLGE 提供了三种不同难度的的评测基准,以方便研究者们更全面或更有选择性地对模型进行评估。
近年来,多任务的评测基准(multi-task evaluation benchmark)推动了预训练语言模型如 BERT、RoBERTa、XLNet 等在 NLP 领域的发展。这些通用的评测基准(general evaluation benchmark)通常依靠在多个自然语言理解(NLU)任务上的综合情况来评估模型。比如,英文的 NLU 通用评测基准 GLUE 和 SuperGLUE,以及一些针对其他语言的评测基准,如中文的 CLUE、法文的 FLUE 和印度尼西亚文的 IndoNLU。此外,一些针对跨语言的评测基准也被提出,例如 XTREME 和 XGLUE。
然而,除了针对 NLU 任务设计的预训练语言模型外,最近许多针对自然语言生成(NLG)任务而设计的预训练语言模型也被不断提出,包括MASS、BERT-share、BART、ProphetNet、ERINE-GEN 等等。遗憾的是,这些模型往往通过不同的任务、数据集、和评测指标进行评估,目前还没有一个统一的通用评测基准。尽管现阶段已有一些如上面提到过的通用基准评测,但它们都不是为评估模型的语言生成能力而设计的。
为了填补 NLG 通用评测基准这一空缺,微软亚洲研究院自然语言计算组的研究员们提出了业界首个通用的语言生成评测基准GLGE(General Language Generation Evaluation benchmark)。GLGE 包含了四类典型的文本生成任务(生成式文本摘要、答案敏感的问句生成、对话式问答和个性化的对话)下的八个英文文本生成数据集(CNN/DM、Gigaword、XSUM、MSNews、SQuAD QG、MSQG、CoQA、PersonaChat),其中六个数据集是已经公开的常用 NLG 评测数据集,而另外两个数据集则是从现实场景中获取的新数据集。此外,类似 SuperGLUE 和 GLUE 是两种难度的评测基准,GLGE 提供了三种不同难度的的评测基准(GLGE-Easy、GLGE-Medium和GLGE-Hard),以方便研究者们更全面或更有选择性地对模型进行评估。
GLGE 基准依照以下几个原则进行设计与构建:
1)任务多样性,包括输入输出文本的长度、生成文本的类型和数据集大小等等。
2)难度多样化,GLGE 提供了三种不同难度的基准,科研人员可以根据模型的大小和使用的预训练语料库的规模选择难度适中的基准进行评估和比较。
3)任务的流行度和定义明确,GLGE 选择了六个现有的且已被 NLG 社区默认为是具有挑战性和研究价值的数据集。同时,GLGE 也从真实场景中选择了两个新数据集,这两个新的数据集的测试集是隐藏非公开的,从而进一步确保了评估的公平性。所有数据集经过预处理且输入和输出均已明确定义,微软亚洲研究院的研究员们期望这样有利于科研人员更专注于模型本身的改进。
4)任务易于自动评估。一些无条件或弱条件的语言生成任务,如单轮闲聊、答案不确定的问句生成等,它们合理的生成结果是多种多样的,难以通过有限数量的参考集进行自动评测。因此,GLGE 倾向于选择条件较强的语言生成任务,这样的任务对生成结果有更加明确的条件限制,有助于自动评估。
表1:GLGE 基准中各任务的统计信息、输入输出、评测指标
与其他通用基准类似,GLGE 也是通过一个综合得分来进行综合评估,该得分使用平均的方式权衡每个任务的得分。对于具有多个指标的任务,GLGE 会首先对这些指标进行平均以获得对应的任务得分。
GLGE 基准提供了三种不同级别难度(Easy、Medium、Hard)的版本,研究员以所有数据集对应的原始任务作为 Easy 级别的难度,并基于此,采用了两种简单的策略来进一步增加任务的难度。其中,Medium级别难度通过模拟低资源场景来增加 GLGE 的难度,每个任务都保留了 GLGE-Easy 的测试和验证集,并随机将训练数据的规模减小到原始训练集的50%。而 Hard 级别难度则通过降低训练集输出句和测试集输出句之间的词重叠率来增加 GLGE 的难度,从而进一步评估 NLG 模型的泛化能力。研究员们这样设置的动机是,即使目标输出可能包含一些低频词,一个好的 NLG 模型也应该能够基于输入信息生成有效的目标输出。与 GLGE-Medium 中随机减小训练数据规模不同,GLGE-Hard 保留了原始训练集中测试集词频得分最低的前25%的训练数据。
在主实验部分,研究员们分别在 GLGE-Easy、GLGE-Medium、GLGE-Hard 三个基准上对比了非预训练模型 LSTM-Seq2Seq 和 Transformer,以及预训练语言模型 MASS-base、ProphetNet-base、MASS-middle、BART-large、ProphetNet-large。结果如表2所示,可以看到预训练模型相比非预训练模型性能有明显提升,且预训练模型越大效果越好。通过对比 GLGE 不同难度上的结果也可以看到模型的性能在 GLGE-Hard 上有明显下降。
表2:在三个基准上对比了部分非预训练模型以及预训练语言模型的结果
在分析实验中,研究员们通过对比 GLGE-Hard 中使用的低频词汇策略在保留50%训练集的情况下和随机保留的区别,得到了表3的结果,进一步验证了该方式可以加大数据集的难度。
表3:对比 GLGE-Hard 中使用的低频词汇策略在保留50%训练集的情况下和随机保留的区别后的结果
研究员们还进一步对比了各方法输出样本和真实样本的二元组(bigram)多样性(Distinct-2)之间的比值(比值越接近1说明该方法生成样本的二元组多样性越接近真实样本)。从结果(如图1所示)中可以看到,即使是大规模版的预训练语言模型,在 XSUM、SQuAD 1.1、MSQG、CoQA 和 PersonaChat 等任务上的二元组多样性依旧与人类书写的样本有较大差距。这也说明了当前方法在输出多样性上依然还有不小的提升空间。
图1:对比各方法输出样本和真实样本的二元组多样性之间的比值
总的来说,作为一个全新的多任务 NLG 评测基准,GLGE 由四种典型的 NLG 任务下的八个不同数据集组成,并提供了三种不同难度的评测基准,旨在为科研人员提供标准化的基准指标和测试脚本,用于模型的评价和比较。现在,GLGE 已经开源了数据集的基准方法代码(https://github.com/microsoft/glge),并构建了一个可供用户提交结果的公开排行榜(Leaderboard,https://microsoft.github.io/glge/),让研究人员可以对现有广泛使用的非预训练模型和预训练模型进行比较研究,并对结果进行分析,从而更好地提升 NLG 相关领域的研究进展。
了解更多技术细节,请点击阅读原文查看论文:
GLGE: A New General Language Generation Evaluation Benchmark
论文链接:https://arxiv.org/abs/2011.11928
数据集下载及代码链接:https://github.com/microsoft/glge
公开排行榜链接:https://microsoft.github.io/glge/
你也许还想看: