google在《Trading Off Diversity and Quality in Natural Language Generation》讲了下NLG中的Diversity & Quality的tradeoff。
摘要
对于讲故事、对话等开放式语言生成任务(open-ended language generation tasks),选择正确的解码算法(decoding algorithm)对于控制生成质量和多样性之间的权衡至关重要。然而,目前尚无共识,不知道哪种解码程序最佳,甚至不知道比较它们的标准是什么。我们通过将解码(decoding)视为一个多目标优化问题来解决这些问题,旨在同时最大化响应质量和多样性。我们的框架使我们能够首次对整个质量-多样性谱上的解码方法进行大规模评估。我们发现:当多样性是优先考虑时,所有方法的表现都相似;但当质量被视为更重要时,最近提出的核采样(nucleus sampling:Holtzman等人,2019年)胜过所有其他评估的解码算法。我们的实验还证实了“可能性陷阱(likelihood trap)”的存在,这是一个反直觉的观察,即高可能性序列往往出人意料地质量很低。我们利用我们的发现来创建并评估一种名为选择性采样(selective sampling)的算法,该算法可实际近似全局归一化温度采样(globally-normalized temperature sampling)。
1. 引言
生成式语言模型适用于包括撰写文章、创作莎士比亚十四行诗或进行对话在内的多种任务。对于几乎所有这些目标,人类判断是可信评估生成文本质量的唯一方式,这使得直接针对期望目标进行优化变得极其昂贵。研究人员通常通过采用两阶段流程来解决这个问题:
- 在训练时,模型试图模仿人类撰写的文本语料库作为真实目标的代理(例如更高质量的样本)。
- 在推理时,模型通过解码算法生成文本序列,该算法在给定网络原始预测的基础上更好地优化了期望的成功标准。
在过去几年中,几乎所有主要的图像和语言生成突破(Radford等人,2019年;Zhang等人,2019年;Fan等人,2018年)都采用了这种两阶段流程,其中模型概率分布在训练和推理时不同。
本研究考察了语言模型的解码方法,众所周知,这对于语言生成的性能至关重要(Ippolito等人,2019a)。最近改进生成语言模型的努力主要集中在:
- 改变模型架构(Vaswani等人,2017年;Gehring等人,2017年)、
- 训练方法(de Masson d’Autume等人,2019年)
- 模型大小(Radford等人,2019年;Adiwardana等人,2020年)
虽然也努力改进解码器(Vijayakumar等人,2016年;Li & Jurafsky,2016年;Ippolito等人,2019b),但在评估解码器性能改进方面取得了明显较少的进展,特别是对于开放式生成任务,成功的模型必须生成多样化的高质量答案范围,而不仅仅是单一输出。
对于许多任务来说,质量和多样性这两个标准并不总是同等重要。在机器翻译中,最重要的标准是产生准确、高质量的输入翻译;生成多种替代翻译也很有用,但如果以牺牲正确性为代价则不可取。与此同时,在开放式领域对话中,目标通常是维持与人类对话伙伴的愉快对话,因此更重视多样性。
为了具体说明对话案例,短语“I don’t know”通常是完全合理的评论,并且在正常的人类对话中经常出现。然而,一个在每次对话中都重复“I don’t know”的聊天机器人是一个很差的对话者。在这种开放式领域中,能够就广泛的话题进行对话,偶尔有些奇怪的言论,比仅仅重复最安全的言论要受欢迎得多(Li等人,2016年)。
为了同时捕捉这两个标准,我们建议将生成式语言模型的目标框架设定为在质量和多样性上的多目标优化。所提出的框架足够灵活,可以包含传统上对多样性重视较低的任务,如机器翻译或摘要,以及其他重视多样性的任务,如讲故事。此外,所提出的框架使我们能够通过比较整个质量-多样性谱上的性能来评估现有的解码算法。我们比较了各种常用的解码算法,在解码器质量的首次大规模研究中,使用了超过38,000个评分对近10,000个样本进行了评估。我们发现,当多样性受到高度重视时,所有解码器的表现都相似,但当质量被视为更重要时,最近提出的核采样(Holtzman等人,2019年)胜过所有其他评估的解码算法。
此外,我们利用我们的框架来调查普遍持有的直觉,即模型可能性(likelihood)与人类质量判断直接相关。首先,我们通过测量人类评估者判断的句子质量与其在生成模型下的可能性(likelihood)之间的关系,明确测试了这种信念。我们的发现证实了可能性陷阱(likelihood trap)的存在,即最高可能性(likelihood)的句子质量出奇地低,尽管模型可能性(likelihood)与人类质量判断之间通常存在正相关关系。虽然这一发现已经在从新闻生成到机器翻译的多种语言生成任务和模型中观察到(Cohen & Beck,2018年;Holtzman等人,2019年),但据我们所知,我们是第一个在模型概率空间的所有点明确量化两者关系的人。
其次,我们提出并评估了选择性采样(selective sampling),这是一种通过从全局温度调整(global temperature-adjusted)的模型分布中抽取样本来强调高概率句子的解码器。虽然这传统上被认为由于计算配分函数的困难而不可行,但我们提出了一种使用拒绝采样(rejection sampling)直接从所需分布中采样的程序,而无需显式计算划分函数(partition function)。在与现有的逐标记解码器一起评估此解码器时,我们发现即使考虑到可能性陷阱(likelihood trap),它的性能也很差,这表明局部逐标记解码器可能能够捕捉全局解码器无法捕捉的结构。
2. 框架
在本节中,我们介绍了一个用于在语言生成中权衡质量和多样性的框架。设X表示所有可能生成句子的空间。我们考虑自回归语言模型,该模型将序列$(x_1, x_2, \cdots, x_n)= x_{1:n} \in X$的可能性按从左到右的方式逐个分解为token(Hamilton,1994;Sutskever等人,2014)。具体来说,序列的条件可能性是:
\[p_{\text{model}}(x_{1:n} | c) = \prod_{i=1}^{n} p_{\text{model}}(x_i | x_{1:i-1}, c)\]其中:
- c是任何附加的条件信号,例如对话的上一个回合。随机采样是直接从模型联合分布的分解中得出的解码过程,其中token根据模型的条件分布一次一个地采样:
通常不直接从$p_{model}$采样;它首先通过解码器进行后处理,以使其偏向于已经具有高可能性的token。
在我们提出的框架中,我们通过要求人类对单个句子$x ∈ X$进行质量判断HJ(x)来评估其质量。我们可以将模型的质量Q定义为:从模型中抽取的句子的预期人类“质量”判断(HJ:Humen Judgement):
\[Q(p) = \mathbb{E}_{x \sim p}[HJ(x)]\]我们通过香农熵H(Shannon,1948)来衡量模型的多样性,这是一个在计算机科学以外的许多领域广泛使用的多样性度量指标,包括生物学、经济学、化学和物理学。香农熵由下式给出:
\[H(p) = -\mathbb{E}_{x \sim p}[\log p(x)]\]这使我们能够将我们的多目标优化问题定义为最大化以下目标G:
\[G(p) = Q(p) + \lambda H(p)\]其中:
- λ是任务特定度量,用于衡量多样性和质量的相对重要性。
因此:
- 对于像对话这样的开放式任务,强调多样性,较大λ下的解码器性能至关重要。
- 对于更封闭领域任务,如摘要或机器翻译,在较小的λ(包括可能的0)下的性能更为重要。
理想情况下,人们会直接针对目标G进行优化,但由于它依赖于人类判断,实际上直接优化是不可行的。相反,以前的工作优化了一个代理目标(如KL散度),然后使用解码算法来“扭曲”模型$p_{model}$,使其在事后朝向更高的G值。
在接下来的部分中,我们将我们的目标G与现有的解码器联系起来,并调查一种新的解码算法,该算法是全局归一化跨越所有可能的序列,而不仅仅是逐个token。
3. 选择性采样
3.1 似然陷阱
序列可能性(likelihood)通常用作选择高质量生成的启发式方法。在极端情况下,束搜索(Beam search)近似于寻找最有可能的序列生成:
\[x^* = argmax \ log p_{model}(x)\]并且这是机器翻译中主要采用的方法(Koehn,2004)。然而,先前的工作表明,序列可能性与序列质量之间单调正相关的假设在极端情况下会崩溃。例如,众所周知,在机器翻译和图像字幕社区中,超过某个点后,增加束宽会损害BLEU分数和其他质量度量(Stahlberg & Byrne,2019;Koehn & Knowles,2017;Vinyals等人,2016)。最近,Holtzman等人(2019)观察到开放式生成中类似的现象,其中最高可能性的句子退化为极端重复。
我们通过抽取大量代表各种模型对数似然(log likelihood)的上下文-响应对来实证量化序列可能性与人类质量判断之间的关系。然后,我们要求人类众包工作者根据上下文对每个响应的质量进行评分,评分范围为五档:从“糟糕”到“高质量”。图1将这些评分作为$log p_{model}$的函数绘制出来,并确认平均而言,最高质量的生成不是似然最高的。具体来说,我们发现响应质量通常与$log p_{model}(x)$正相关,直到一个拐点之后,它变成负相关。在我们的实验中,这个拐点出现在$log p_{model}(x) = -58.09$。我们的发现表明,虽然模型可能性是响应质量的良好代理,但简单地最大化句子可能性会导致次优的响应质量。我们将这种现象称为似然陷阱。
图1 似然陷阱。我们请了146名群众工作者对不同模型似然度下的100个句子的质量进行评分。虽然模型对数似然通常与人类平均质量判断呈正相关,但我们注意到在某个拐点之后它们变成了负相关。图中的每个点代表了具有相似模型似然度的5个句子的群众工作者平均评分。我们在第3节中更深入地讨论了这一现象。
在表??中可以看到可能性陷阱的例子。极端高可能性的文本序列倾向于退化为极端重复或其他无意义的内容,有些人将其归因于模型偏差(Holtzman等人,2019)或训练数据的异常(Ott等人,2018)。我们本文不探讨可能性陷阱的根本原因。
3.2 全局温度采样
受到我们的发现,即人类判断HJ与模型可能性在某些可能性区间内正相关的启发,我们研究:使用$log p_{model}$作为HJ的代理是否会导致更好的解码算法。具体来说,我们创建了一个代理质量函数,
\[\widehat{Q}(p) = \begin{cases} \mathbb{E}_{x \sim p}\left[ \log p_{\text{model}}(x) \right], & \text{if } \log p_{\text{model}} < \alpha \\ -\infty, & \text{otherwise} \end{cases}\]其中:
- α被选为超参数。
使用全局归一化温度采样,我们可以通过优化代理目标$\widehat{G}(p) = \widehat{Q}(p) + H(p)$来近似优化G。这是由于以下命题。
命题1: 假设P是某个句子有限集合X上的概率分布,H是香农熵函数。概率分布Q最小化逆KL散度DKL$(Q | P)$,使得$H(Q) = K$对于任何可实现的常数K具有形式,
\[Q(x) = \frac{P(x)^{1/\tau}}{ \sum_{x \in X} P(x)^{1/\tau} }\]其中:
- 温度 $τ \in [0,1]$。
证明。证明包含在附录A.1中。
表1 不同模型似然度下的句子示例。具有非常低的对数似然度 $ p_{\text{model}} $ 的句子会产生无意义的内容,而模型下似然度很高的句子往往会陷入极端重复。这里展示的无意义和重复分类仅用于说明目的。群众工作者仅对句子的整体质量进行了评分。更多细节请参见附录。
当应用于自回归模型时,全局温度采样通常被认为是不可行的,因为它需要在所有可能序列的指数级大空间上求和以追求划分函数
\[Z = \sum_{x} p_{\text{model}}(x | c)^{1/\tau}\]相反,过去的工作通常将句子分解为token,并以从左到右的自回归方式使用局部近似,
\[\hat{Z} = \prod_{i=1}^{n} \sum_{x_i} p_{\text{model}}(x_i | x_{1:i-1}, c)^{1/\tau}\]其中模型在每组token上局部归一化。
这导致了众所周知的(局部)温度采样算法。
算法1
不幸的是,虽然用一系列局部划分函数替换全局划分函数将一个指数问题转化为一个线性问题,但这种近似可能会使模型偏向于偏爱局部结构而不是全局结构。实际上,我们通过以下示例展示,对于一些联合分布,即使允许在每个时间步使用不同的温度τ进行局部温度采样,也不可能通过局部温度采样来表示全局归一化温度采样。
命题 2. 存在一种概率分布p和一个全局温度τ,使得没有任何参数选择能让局部温度采样匹配联合分布$p(x)^{(1/τ)}$。
图2 局部温度采样的任何温度选择都必须满足 $ P(A) = P(B) $。然而,选择全局温度 $ \tau = 0.5 $ 会导致 $ P(A) = 0.5763 $ 和 $ P(B) = 0.4237 $,这在任何局部温度的选择下都不可能满足。
证明。图2展示了p的一个选择。通过构造,局部温度采样被迫在那个时间步使用的温度超参数不管如何设置,都要使 $p_{local}(A) = p_{local}(B)$。设置全局温度为 τ = 0.5,结果为:
\[P(A) = \frac{0.1^2 + 0.4^2}{0.1^2 + 0.4^2 + 0.25^2 + 0.25^2} = 0.5763 \\ P(B) = \frac{0.25^2 + 0.25^2}{0.1^2 + 0.4^2 + 0.25^2 + 0.25^2} = 0.4237\]这无法通过任何局部温度设置来模仿。我们的核心见解是,可以通过拒绝采样从全局归一化温度采样分布中采样,而无需估计划分函数 Z。
拒绝采样(Forsythe,1972)提供了一种从能量分布 $p_{energy}$ 采样的算法,如果存在一个建议分布 q 和常数 M,使得$M_q \geq p_{energy}$。
我们观察到:对于$τ \in (0, 1)$ 和 $0 ≤ p ≤ 1$,有 $p_{model} > p_{model}^{(1/τ)}$。这允许我们使用 $p_{model} $作为建议分布,因为全局温度采样的未归一化概率由 $p_{global} ∝ p_{model}^{(1/τ)} $给出。
选择性采样在设计上显著增加了采样具有大值 $log p_{model}$ 的序列的机会。为了避免陷入可能性陷阱,我们建议:明确丢弃 $log p_{model}(x)$ 大于选定超参数 α 的句子生成 x。
截止的额外积极副作用是:可以选择信封常数 M 以在 $p_{energy}$上创建紧密界限,这可以通过几个数量级增加接受概率。
事先,如何有效选择 α 并不明显。我们建议收集人类对从 $p_{model}$ 中随机抽取的样本选择的判断,如图 1 所示,并设置 α 等于发现的拐点。注意,虽然这导致我们的程序忽略了个别具有最高概率的句子集合,但这个集合的总概率质量相当低:在我们的实验中不到 0.5%。
图3 对于从相同提示中抽取的样本,$p_{model}(x)$的直方图。99.5%的样本具有小于图中以黑色显示的选定截断α的对数似然。
4. 实验
在第2节中,我们介绍了一个理论框架,用于在质量-多样性曲线上比较解码算法。在这个框架下,我们在下面描述的人类研究中评估了几种常用的解码算法。除了选择性采样,我们还考虑了以下自回归解码算法:
- 温度采样:以概率与 $p_{model}(x_i \mid x_{1:i−1})^{(1/\tau)}$ 成比例来采样token。$\tau$从0变化到1。
- top-k(Fan等人,2018):每个时间步只从词汇表中可能性最高的k个token中采样。k从1变化到词汇表大小。
- top-p(也称为核采样)(Holtzman等人,2019):每个时间步只从包含最有可能的p百分比概率质量的token中采样,按可能性从高到低排序。p从0变化到1。
在它们超参数范围的极端情况下,这些算法都分别收敛到贪婪解码和随机采样。为了扫过质量-多样性曲线,我们在下面考虑了每种解码算法的几个超参数设置。我们把每种解码算法-超参数组合称为一个“解码配置”。
4.1 设置
我们将每种解码算法应用于GPT-2(Radford等人,2019)的774M参数变体,这是一个公开发布的语言模型。为了将样本定位在共同的上下文中,我们选择了48个GPT-2测试集中的示例作为条件。由于样本质量在样本简洁时变得模糊(Ippolito等人,2019a),我们明确要求所有采样方法生成恰好30个token,这个长度大约等于提示的长度。
为了估计每种解码算法引起的分布的预期人类判断分数$Ep[HJ(x)]$,我们招募了146名合格的亚马逊Mechanical Turk(AMT)工人,他们通过资格任务的满意表现被选中。工人被呈现五组样本,每组样本都以相同的提示为条件,来自五种不同的算法-超参数配置,并被要求对每个样本分配从类似人类到胡言乱语的质量评分。如附录所示,向众包工作者展示的确切提示被包括在内。
先前的研究已经发现,当机器生成的和人类生成的续写在质量相似时,人类标注者在直接区分它们时存在显著困难,因为评估句子质量的任务具有很高的主观性(Ippolito等人,2019a)。我们发现,通过随机配对同时评估的样本来构建成对偏好评分,可以显著减少我们结果的方差。具体来说,如果一个样本的评分高于另一个,一个被分配+1的分数,另一个被分配-1的分数。如果两者评分相等,则两者都被分配0分。分配给解码配置的分数是它在所有成对偏好评分中的平均分数。
4.2 结论
我们现在介绍第一项大规模研究,比较解码算法及其超参数。与之前所有的工作(Holtzman等人,2019;Ippolito等人,2019b)不同,我们通过在同等多样性的点上比较样本质量,明确地将解码算法放在同等基础上进行比较。我们考虑每个解码算法的五种超参数配置,总共有十五种配置。对于每种配置和提示,我们抽取十个样本。总共,工作人员对近10,000个样本进行了评分,产生了超过38,000个成对评分。我们的主要结果总结在图2a和2b中。令人安心的是,熵和人类质量判断都随着解码算法超参数的变化而平滑变化。
正如预期的那样,直接从模型分布 $p_{\text{model}}(x) $ 进行随机抽样,同时具有最高的熵和最低的质量。这与长期以来的直觉相符,即解码算法对于提高样本质量至关重要。
为什么随机抽样的文本质量如此之差?像GPT-2这样的语言模型被训练来最小化训练集和模型分布 $p_{\text{model}}$ 之间的KL散度,这一目标优先考虑召回率而非精确度(Arjovsky等人,2017)。因此,模型倾向于确保高质量序列具有高可能性,而不坚持所有高可能性序列也具有高质量。当我们评估模型中的样本时,我们评估的是后者条件。
我们的第二个结论是,对于所有解码算法,样本质量随着熵的显著变化而变化。此外,在熵对齐的情况下,所有自回归解码算法的样本质量在广泛的范围内是可比的。只有当熵很低时——当解码算法严重影响抽样时——不同算法之间的样本质量才会出现分歧。在这种制度下,我们发现核采样优于top-k采样,而top-k采样又优于温度采样。
观察到这样的差异应该不会令人惊讶:一个分布的熵本身并不能描述其样本,因此也不能描述其整体质量。因此,对解码算法的公平比较不仅要在相同的熵水平上进行比较,还要在一系列熵水平上进行比较。
4.3 选择性采样
为什么选择性采样表现不佳?我们的错误分析至少发现了两个潜在原因:由解码算法引起的先验和上下文依赖的似然陷阱。我们首先考虑自回归解码算法的隐含先验。自回归解码算法自然倾向于那些每个标记 $ x_i $ 相对于其条件分布 $ p_{\text{model}}(x_i \mid x_{1:i-1}) $ 具有高模型似然的序列。请注意,这不一定与倾向于所有具有高联合似然 $ p_{\text{model}}(x) $ 的高似然序列相同;这是低温度下选择性采样的目标。我们假设自回归解码算法正在引入超出高联合似然的额外结构。
为了测试这一假设,我们构建了一个人类评分实验,将解码算法的随机样本与模型分布 $ p_{\text{model}} $ 的另一随机样本配对,使得两个样本具有相同的联合句子似然。通过这种方式,我们能够控制不同解码器引起的 $ p_{\text{model}} $ 分布的差异,并明确测试各种解码算法如何促进具有相同整体联合似然的不同序列。我们从所有48个提示条件的三种常用解码配置中抽取样本,并通过让群众工作者评分来比较每个样本与随机采样的对比,以确定哪对响应的质量更高。
在图6中,我们可以看到,温度采样 $ t = 0.7 $ 无疑比直接从 $ p_{\text{model}} $ 抽取的等效样本更受青睐,尽管对于其他解码配置,差异目前尚不清楚。选择性采样,一种从 $ p_{\text{model}}$ 抽取提议的方法,并不共享其自回归局部归一化解码对应物的先验。因此,我们可以得出结论,解码算法的成功涉及的不仅仅是促进高联合似然;在这种情况下,选择性采样是不足的。
图6 成对样本等对数似然度的人类判断分数。95%自举置信区间。虚线代表随机判断。对于所有解码策略,可以看出多样性的减少往往会导致被判断为更高质量的输出。
其次,我们考虑固定提示条件下样本对数似然的分布,如图7所示。根据提示的不同,对数似然的分布也会有所不同。在选择性采样中,我们选择了一个单一的全局最大似然常数 $ \alpha $。对于某些提示,这几乎没有影响——几乎所有样本的似然度都低于截止值。对于其他提示,这可能消除了近一半的样本,只剩下质量较低的样本。这表明,对于所有提示使用固定的截止 $ \alpha $ 可能不是理想的。
图7 五个不同提示条件下样本对数似然度的分布。虚线表示实验中使用的截止值 $ \alpha $。
基于先前的实验,我们发现解码算法及其超参数的选择对样本质量和多样性有显著影响。此外,我们发现样本质量和多样性可以相互交换,而且解码算法的优点需要在同等多样性水平上与其他算法进行比较。我们还提供了证据表明,自回归解码算法引入了超出促进高联合似然样本的额外偏好;这是一种有益的偏好,选择性采样并不共享。