论文阅读翻译之The Curious Case of Neural Text Degeneration
关于
- 首次发表日期:2024-07-14
- 论文原文链接: arxiv.org/abs/1904.09…
- 论文标签:ICLR 2020
- PDF提交日期:Fri, 14 Feb 2020
- 使用KIMI和ChatGPT机翻,然后人工润色
- 个人添加了一些来自ChatGPT的解释,用以说明部分概念
- 如有错误,请不吝指出
摘要
尽管在神经语言建模方面取得了相当大的进步,但从语言模型中生成文本(例如生成一个故事)的最佳解码策略仍然是一个悬而未决的问题。一个违反直觉的实证观察是,尽管使用似然作为训练目标可以为广泛的语言理解任务带来高质量的模型,但基于最大化的解码方法,如束搜索(beam search),会导致退化——输出的文本平淡无奇、不连贯,或者陷入重复循环。
为了解决这个问题,我们提出了Nucleus Sampling,这是一种简单但有效的方法,可以从神经语言模型中提取出比以往解码策略更高质量的文本。我们的方法通过截断概率分布中不可靠的尾部,从包含绝大多数概率质量的动态调整的核心 tokens 集合(dynamic nucleus of tokens)中进行采样,从而避免了文本退化。
ChatGPT的解释: 在自然语言处理的上下文中,dynamic nucleus指的是在文本生成过程中,动态调整的包含大多数概率质量的词汇集合。这意味着这个集合并不是固定的,而是根据当前生成的上下文和模型的输出概率分布实时变化的。
为了恰当地检验当前基于最大化和随机解码的方法,我们将每种方法生成的文本与人类文本的分布进行比较,比较的维度包括似然性、多样性和重复性。我们的结果表明:(1) 最大化对于开放式文本生成来说是一个不恰当的解码目标;(2) 目前最佳语言模型的概率分布有一个不可靠的尾部,这在生成过程中需要被截断;(3) Nucleus Sampling是目前可用的最佳解码策略,用于生成既高质量——以人类评估为衡量标准——又像人类撰写的文本一样多样化的长篇文本。
图1:
1 引言
2019年2月14日,OpenAI发布了一篇由GPT-2撰写的关于奥维德独角兽的高质量文章,令科学界大为惊讶。值得注意的是,从模型中获得的高质量生成文本依赖于解码方法中的随机性,具体来说是通过top-k采样,从前个最可能的选择中采样下一个词,而不是旨在解码最大化似然的文本。
实际上,诸如束搜索这样优化高概率输出的解码策略,即使使用像GPT-2 Large这样的最先进模型,也会导致文本极度退化,如图1所示。这似乎有些反直觉,因为人们期望优秀的模型会将更人类化、语法正确的文本分配更高的概率。确实,语言模型通常会给予格式良好的文本高分,但对于长文本来说,最高分数通常是一些简单普通、重复且笨拙的文本。图2展示了束搜索解码文本所分配的概率分布和自然发生文本所分配的概率分布实际上有多么不同。
图2:
也许同样令人惊讶的是图1的右侧,它显示了纯粹采样(pure sampling)——直接从模型预测的概率中采样——产生的文本是不连贯的,几乎与上下文无关。为什么纯粹采样产生的文本如此退化?在这项工作中,我们展示了“不可靠的尾部”是罪魁祸首。这个不可靠的尾部由数以万计的候选 tokens 组成,这些 tokens 的概率相对较低,但在总体中被过度代表。
为了克服这些问题,我们引入了Nucleus Sampling。Nucleus Sampling的关键直觉在于,每个时间步的绝大部分概率质量都集中在核心区域,即词汇表中的一个小子集,候选词汇的数量通常在一到一千之间变动。我们不再依赖固定的top-k方法,或者使用温度(temperature)参数来控制分布的形状而没有充分抑制不可靠的尾部,而是建议从top-p部分的概率质量中进行采样,动态扩展和收缩候选池。
为了将当前方法与Nucleus Sampling进行比较,我们与参考分布(reference distribution)对比了生成文本的各种分布属性,比如转向重复的可能性和生成文本的困惑度。后者揭示了通过最大化或top-采样生成的文本过于可能(too probable),这表明与人类(所写的文本的)分布相比,使用的词汇表缺乏多样性和差异性。另一方面,纯粹采样(pure sampling)产生的文本比黄金标准的可能性显著降低,对应于较低的生成质量。
ChatGPT的解释: "Too probable" 指的是生成的文本具有过高的概率,意味着它们在模型的概率分布中占据了相对较大的部分。在文本生成的上下文中,这通常表示生成的文本倾向于过于简单、重复或缺乏多样性,与人类书写的文本有较大的差异。
词汇使用和Self-BLEU统计显示,需要较高的值才能使top-采样与人类统计(human statistics)匹配。然而,基于高值的生成通常在似然性上具有高方差,暗示存在可定性上观察到(qualitatively observable)的不连贯问题。Nucleus Sampling可以通过调整值轻松匹配参照的困惑度(reference perplexity),避免了因将设定得过高来匹配分布统计而引起的不连贯性问题。
ChatGPT的解释: 在这里,"human statistics" 指的是人类生成的文本或语言使用的统计特征。这包括词汇使用频率、语法结构、逻辑连贯性等,反映了人类语言表达的特点和规律。在自然语言处理和文本生成领域,比较生成文本与人类统计特征的一致性,有助于评估生成文本的质量和自然度。
最后,我们进行人类统一统计评估(Human Unified with Statistical Evaluation, HUSE),以联合评估解码策略的整体质量和多样性,这不能单独通过人类或自动评估来捕捉。HUSE评估显示,Nucleus Sampling是最佳的整体解码策略。我们提供生成的示例供定性分析 —— 请参见图3的代表性示例,以及附录中的更多示例。
图3:
2 背景
2.1 文本生成解码策略
一些近期的研究已经指出了通过最大化生成的弊端,这种方法倾向于生成语法正确性高但多样性低的输出(Kulikov et al., 2019; Holtzman et al., 2018; Fan et al., 2018)。生成对抗网络(GANs)一直是研究的热点方向(Yu et al., 2017; Xu et al., 2018),但最近的研究表明,当质量和多样性一起考虑时,GAN生成的文本未能超越语言模型生成的文本(Caccia et al., 2018; Tevet et al., 2019; Semeniuta et al., 2018)。在神经对话系统方面的工作提出了多样波束搜索(diverse beam search)方法,使用特定任务的多样性评分函数或限制束假设的差异性足够大(Li et al., 2016a; Vijayakumar et al., 2018; Kulikov et al., 2019; Pal et al., 2006)。虽然这样的效用函数(utility functions)促进生成期望的属性,但它们并没有消除选择适当解码策略的需要,我们相信Nucleus Sampling在这些方法中将具有互补的优势。最后,Welleck et al. (2020)开始通过“非似然损失”解决神经文本退化问题,这减少了对重复词元(tokens)的训练损失(training loss),从而隐式地也减少了对频繁词元的梯度。我们的重点是揭示神经文本退化并提供一个可以与任意模型一起使用的解码解决方案,但未来的工作可能会结合训练时和推理时的解决方案。
2.2 开放式生成与定向生成的比较
许多文本生成任务是通过(输入,输出)对来定义的,使得输出是输入的受限转换。示例应用包括机器翻译(Bahdanau et al., 2015)、数据到文本生成(Wiseman et al., 2017)和摘要(Nallapati et al., 2016)。我们将这些任务称为定向生成。通常使用编码器-解码器架构,经常配备注意力机制(Bahdanau et al., 2015; Luong et al., 2015)或使用基于注意力的架构,如Transformer(Vaswani et al., 2017)。生成通常使用束搜索执行;由于输出被输入紧密限定,重复和通用性问题不太突出。尽管如此,在使用大的束尺寸时(Koehn & Knowles, 2017)以及更近期的精确推理中(Stahlberg & Byrne, 2019),也报告了类似的问题,这是一个违反直觉的观察,因为更全面的搜索有助于最大化概率。
开放式生成(Open-ended generation),包括条件故事生成和上下文文本续写(如图1所示),由于神经语言模型的重大进展(Clark et al., 2018; Holtzman et al., 2018; Fan et al., 2018; Peng et al., 2018; Radford et al., 2019),最近已成为一个充满希望的研究方向。虽然输入上下文限制了可接受输出生成的空间,但在接下来可能出现什么上存在相当大的自由度,这与定向生成设置不同。我们的工作解决了神经文本生成面对这种自由度增加的挑战,但我们注意到,有些任务,如目标导向的对话,可能介于开放式生成和定向生成之间。
3 语言模型解码
给定一个输入文本段落作为上下文,开放式生成的任务是生成与给定上下文连贯的续写文本。更正式地说,给定一个由个词元组成的序列作为上下文,任务是生成接下来的个续写词元,以获得完整的序列。我们假设模型使用文本概率的常见从左到右的分解来计算,
这被用来通过特定的解码策略一个token一个token地生成文本。
基于最大化的解码 最常用的解码目标,特别是在定向生成中,是基于最大化的解码。假设模型给更高质量的文本分配更高的概率,这些解码策略搜索最有可能的续写。由于从循环神经语言模型或Transformer中找到最优的argmax序列是不可行的(Chen et al., 2018),常见的做法是使用束搜索(Li et al., 2016b; Shen et al., 2017; Wiseman et al., 2017)。然而,一些关于开放式生成的最新研究报告说,基于最大化的解码并不能生成高质量的文本(Fan et al., 2018; Holtzman et al., 2018)。
3.1 Nucleus Sampling
我们提出了一种新的随机解码方法:Nucleus Sampling。关键思想是使用概率分布的形状来确定要采样的词元(token)集合。给定一个分布 ,我们定义其 top- 词汇表 为最小的集合,使得
设 。原始分布被重新缩放到一个新的分布,从这个新分布中采样下一个词:
在实践中,这意味着选择累积概率质量超过预先选定的阈值 的最高概率词元。采样集的大小将根据每个时间步的概率分布的形状动态调整。对于高值的 ,这是词汇表的一小部分,占据了绝大多数的概率质量——即核 (nucleus)。
3.2 Top-采样
Top-采样最近成为了一种流行的抽样程序可替代选项(Fan et al., 2018; Holtzman et al., 2018; Radford et al., 2019)。Nucleus Sampling和top-k都从截断的神经语言模型(Neural LM)分布中采样,区别仅在于截断的策略。选择在哪里截断可以被解释为确定生成模型的可信预测区域。
在每个时间步,根据它们的相对概率从top-个可能的下一个token中进行采样。形式上,给定分布,我们定义其top-词汇表为大小为的集合,使得最大化。设。然后根据公式3重新缩放分布,并基于该分布进行采样。请注意,与Nucleus Sampling不同,缩放因子在每个时间步可能会有很大的变化。
选择合适的值的困难 尽管Top-采样比束搜索或从完整分布中采样生成的文本质量显著提高,但在不同上下文中使用恒定的值是次优的。如图5左侧所示,在某些上下文中,下一个词的分布可能在数十或数百个合理选项(例如一般情境中的名词或动词)之间平坦化,而在其他上下文中,大部分概率质量集中在一个或少数几个token上,如图右侧所示。因此,如果值较小,在某些情境下可能会生成单调或简单通用的文本,而如果值较大,top-词汇表将包括不适当的候选项,它们的采样概率会因重新归一化而增加。在Nucleus Sampling下,考虑到的候选项数量动态升高或下降,对应模型在词汇表上置信区域的变化,而这是top-采样无法通过任何一个值捕捉到的。
图5:
3.3 Temperature采样
另一种常见的基于采样的生成方法是通过温度(temperature)来塑造概率分布(Ackley et al., 1985)。温度采样已广泛应用于文本生成(Ficler & Goldberg, 2017; Fan et al., 2018; Caccia et al., 2018)。给定logits 和温度 ,softmax 重新估计为:
将设置在区间内会使分布偏向高概率事件,这隐式地降低了尾部分布的质量。低温采样也被用来部分缓解上述top-采样的问题,通过在top-采样之前塑造分布(Radford et al., 2018; Fan et al., 2018)。然而,最近的分析表明,虽然降低温度可以提高生成质量,但这是以牺牲多样性为代价的(Caccia et al., 2018; Hashimoto et al., 2019)。