当前位置: 首页 > 科技观察

GPT-3是一个很好的“伙伴”:这种方法减轻了模型退化,使输出更加自然

时间:2023-03-16 10:00:58 科技观察

文本生成对于许多自然语言处理应用程序来说非常重要。但是神经语言模型的基于最大化的解码方法(例如集束搜索)通常会导致退化的解决方案,即生成的文本不自然并且经常包含不必要的重复。现有方法通过采样或修改训练目标来引入随机性,以降低某些标记的概率(例如,非似然训练)。然而,它们往往导致缺乏连贯性的解决方案。近日,来自剑桥大学、香港中文大学、腾讯人工智能实验室和DeepMind的科学家证明,自然语言生成模型退化的一个潜在原因是令牌的分布式表示向量的各向异性。他们进一步提出了一个基于对比学习的自然语言生成框架。对两种语言的三个基准进行的大量实验和分析表明,所提出的方法在人工和自动评估中均优于最先进的文本生成方法。研究动机和主要研究内容图1.Token表示向量的余弦相似度矩阵在本研究中,研究团队发现神经语言模型的退化源于token表示向量的各向异性分布,即它们的表示向量驻留在整个空间的一个狭窄子集。图1(a)显示了从GPT-2最后一个隐藏层的输出导出的令牌表示向量的余弦相似度矩阵。研究团队看到句子中标记之间的余弦相似度超过0.95,这意味着表示彼此非常接近。理想情况下,模型的token表示应该服从各向同性分布,即token相似度矩阵应该是稀疏的,不同token的表示应该不同,如图2(b)所示。在解码过程中,为了避免模型退化,需要保留生成文本的token相似度矩阵的稀疏性。基于上述动机,研究团队提出了SimCTG(一种用于神经文本生成的简单对比框架),它鼓励模型学习有辨别力的、各向同性的标记表示。对比搜索背后的关键直觉是:(1)在每个解码步骤中,输出应该从一组预测模型中选择最可能的候选词,以更好地保持生成文本之间的语义一致性;(2))应保持令牌相似度矩阵的稀疏性以避免退化。MainMethodComparisonTraining研究团队的目标是鼓励语言模型学习判别和各向同性的标记表示。为此,在语言模型的训练中引入了对比损失函数LCL。给定任意变长序列x,对比损失函数定义为:其中ρ是预设的margin,hxi是模型输出的xi的表示向量。相似度函数s计算任意两个表示向量之间的余弦相似度:可以想象,通过训练上述对比损失函数,可以拉开不同token的表示之间的距离。因此,可以获得一个可分离的、各向同性的模型表示空间。最终的总损失函数为:ContrastiveSearch研究团队提出了一种新的解码方法:contrastivesearch。在解码的每个步骤中,(1)模型选择一个最可能的候选集作为输出,(2)生成的输出应该与之前生成的内容有足够的不同。通过这种方式生成的文本可以避免模型退化,同时保持与之前文本的语义一致性。具体来说,输出xt的生成满足:其中V(k)为候选词的集合,k通常取值3~10。上式第一项表示模型对v的支持度(模型置信度),即是模型估计的候选词v是下一个词的概率。第二项是模型退化的惩罚(degenerationpenalty),即下一个词v与之前生成的词之间的最大相似度。α是调节两种损失之间平衡的超参数。当α=0时,解码方法退化为贪心搜索。效率分析:该方法可以有效地实现对比搜索。所需的额外计算是退化惩罚的计算,可以通过简单的矩阵乘法来实现。稍后将证明对比搜索的解码速度优于或可与其他广泛使用的解码方法相媲美。文本生成研究团队提出的新方法首先在开放式文档生成任务上进行了评估。模型和基线本文提出的方法与模型结构无关,因此可以应用于任何生成模型。在这个实验中,他们在代表性的GPT-2模型上评估了所提出的方法。具体来说,研究团队在评估基准(下文详述)上使用提出的目标LSimCTG对GPT-2进行微调,并使用不同的解码方法生成连续文本。使用由12个Transformer层和12个注意力头组成的基础模型(117M参数)进行实验,将我们的方法与两种强基线方法进行比较:(1)在标准MLE损失函数上微调的GPT-2;(2)微调非似然目标函数。研究团队的实现基于Huggingface库(Wolf等人,2019)。BenchmarkDataset研究团队在Wikitext-103数据集(Merityetal.,2017)上进行了实验,该数据集包含超过1亿个单词的数据集。Wikitext-103是一个文档级数据集,已广泛用于评估大规模语言建模。评价指标研究团队从两个方面进行评价:(1)语言建模质量,衡量模型的内在质量;(2)生成质量,衡量生成文本的质量。l语言建模质量n困惑度n预测准确度n预测重复率l文本生成质量n生成重复度n多样性nMAUVE(衡量机器生成文本和人类生成文本的相似度;MAUVE越高,机器生成的越多)moretextresembleshumantext)nSemanticcoherencenPerplexityofgeneratedtext实验结果表1.Wikitext-103数据集上各种方法的测试结果表1显示了Wikitext-103数据集上的实验结果。语言建模质量从结果来看,SimCTG实现了最佳的困惑度和下一个标记预测精度。因为它使用了更具判别力的分布式表示,SimCTG在进行下一个token预测时更不容易混淆,从而提高了模型性能。非似然模型在rep和wrep指标上产生了最好的结果,但代价是下一个标记预测准确性的复杂性和性能下降。文本生成质量首先,SimCTG+对比搜索在rep-n和多样性指标上实现了最佳性能,表明它最好地解决了模型退化问题。其次,MAUVE分数表明SimCTG+对比搜索生成的文本在标记分布方面最接近人类编写的文本。第三,在所有方法中,SimCTG+contrastivesearch是唯一一致性得分高于0.6的方法,表明该方法生成的高质量文本与前缀语义一致。最后,gen-ppl指标也验证了SimCTG+对比搜索的优越性,因为与其他方法相比,它实现了明显更好的生成困惑。此外,从MLE和Unlikelihoodbaselines的结果来看,对比搜索仍然比贪婪搜索和波束搜索带来额外的性能提升。然而,对比训练的性能提升仍然落后于SimCTG,这说明了对比训练的必要性。一个可能的原因是,在没有对比损失LCL、MLE或不可能性的情况下训练的标记表示不能充分区分。因此,不同候选者的退化惩罚不易区分,输出的选择受模型置信度的影响,使得对比搜索效果较差。人类评估研究团队还通过内部评分平台,在英语水平较高的学生的帮助下进行了人类评估。所有生成的文本和基本事实后记被随机打乱在一起,然后由5名人工评估者进行评估,从而产生总共9000个标记样本。评估遵循5分李克特量表(1、2、3、4或5),并在三个方面进行评分:连贯性:生成的文本在语义上是否与前面的文本一致流畅性:生成的文本是否容易-to-readinformation:生成的文本是否多样化,是否包含有趣的内容表2.文本生成的人类评价表2显示了人类评价的结果,第一行清楚地表明人类评价可以很好地找到参考文本。首先,研究团队发现直接使用MLE或Unlikelihood模型进行比较搜索并没有得到令人满意的结果。这是由于它们所代表的空间的各向异性。其次,Unlikelihood模型的一致性得分明显低于MLE和SimCTG,表明它产生的结果是最不可能的,这从表1的生成困惑度(gen-ppl)也可以看出。此外,SimCTG+对比搜索结果在一致性和流畅性方面明显优于来自不同模型的内核采样。最后,SimCTG-large+contrastivesearch实现了全面的最佳性能,甚至在流畅性指标上与人工编写的文本相当。这揭示了该方法对大型模型的通用性,未来的工作可以重点将其扩展到包含超过数十亿参数的模型,例如GPT-3。开放对话系统为了测试这种方法在不同任务和语言中的普遍性,我们还在开放域对话生成任务上评估了我们的方法。在此任务中,给定一个多回合对话上下文(每个回合都是一个用户话语),模型需要生成在语义上与上下文一致的适当响应。在这里,对话上下文被认为是前提。BaselineModelandBenchmarkTestSet实验在两个基准数据集上以两种语言,中文和英文进行。对于中文数据集,请使用LCCC数据集(Wang等人,2020)。对于英语数据集,使用DailyDialog数据集。研究团队比较了SimCTG和MLE微调后的GPT-2模型。具体来说,对于中文基准数据集,使用了公开可用的中文GPT-2(Zhao等人,2019)。在训练期间,使用128作为批量大小并将训练样本截断为最大长度为256个标记。在LCCC数据集上,模型经过40k步训练(即微调)。对于DailyDialog数据集,由于其数据集较小,该模型训练了5k步。对于优化,使用Adam优化器和2e-5的学习率。模型评估研究团队依靠人工评估来衡量模型的性能。从测试集中随机抽取200个对话上下文,并要求5名注释者从连贯性、流畅性和(3)信息内容三个维度对它们进行评分。分数遵循5点李克特量表(1、2、3、4或5)。表3.OpenDialog的人工评估表3显示了OpenDialog的人工评估结果。在这两个数据集上,SimCTG+ContrastiveSearch在各种指标上明显优于其他方法,这表明该方法可以泛化到不同的语言和任务。值得强调的是,在LCCC基准测试中,SimCTG+对比搜索在流畅性指标上的表现出人意料地优于人类,同时在连贯性和信息量指标上也表现相当不错。而且,即使没有对比训练,使用对比搜索时MLE模型的性能也会显着提高。这是由于中文语言模型的固有特性,MLEobjective已经可以产生一个表现出高度各向同性的表示空间,使得对比搜索直接适用。这一发现特别有吸引力,因为它揭示了对比搜索对某些语言(例如中文)的现成语言模型(即没有对比训练)的潜在适用性。总之,在这项研究中,作者证明了神经语言模型的退化源于其标记表示的各向异性性质,并提出了一种新方法SimCTG,用于训练语言模型以获得各向同性和判别式表示空间。此外,该研究引入了一种新的解码方法——对比搜索,这与本文提出的SimCTG目标一致。基于对两种语言的三个基准测试集的广泛实验和分析,自动和人工评估均表明,所提出的方法大大降低了模型退化程度,并显着优于当前最先进的文本生成方法。