Contrastive Decoding: Open-ended Text Generation as Optimization
----
对比解码:开放式文本生成作为优化
斯坦福大学1、华盛顿大学2、卡内基梅隆大学、约翰霍普金斯大学4、FAIR5
摘要
给定语言模型(LM),对于开放式生成来说,最大概率是一个很差的解码目标,因为它会产生简短且重复的文本。另一方面,采样通常会产生偏离原始主题的不连贯的文本。我们提出了对比解码(CD),这是一种可靠的解码方法,可以在合理性约束下优化对比目标。对比目标返回大型 LM(称为专家,例如 OPT-13B)和小型 LM(称为业余爱好者,例如 OPT-125M)下的可能性之间的差异,并且约束确保输出是合理的。 CD 的灵感来自于这样一个事实:较大的 LM 的失败(例如,重复、不连贯)在较小的 LM 中更为普遍,并且这种差异表明应该优先选择哪些文本。 CD 需要零额外训练,并且比单独从较大的 LM 解码生成更高质量的文本。它还可以跨模型规模(OPT-13B 和 GPT2-1.5B)工作,并且在维基百科、新闻和故事领域的自动和人工评估中显着优于四种强大的解码算法(例如,nucleus、top-k)。
1 简介
开放式文本生成旨在为给定提示制作流畅且连贯的文本延续,为写作辅助和故事生成等各种下游应用奠定基础(Brown 等人,2020)。规范方法通常从大型预训练语言模型中采样(Holtzman et al., 2020; Fan et al., 2018; Radford et al., 2019),但由于采样选择不幸,生成的文本很容易出现不连贯和主题漂移的情况长序列上的化合物(Eikema 和 Aziz,2020;Maynez 等人,2020)。另一方面,搜索最可能的序列通常会产生简短、重复且乏味的文本(Holtzman et al., 2020),这表明最大化概率是一个错误的解码目标。
我们提出了一种新的基于搜索的方法,即对比解码(CD),它可以生成流畅且词汇多样的文本,而不会影响连贯性。如图 1 所示,对比解码采用现成的大型语言模型,如 OPT-13B(我们称之为专家)和现成的较小语言模型,如 OPT-125M(我们称之为专家)。业余)。 CD 搜索最大化专家对数概率和业余对数概率之间差异的文本,但受到似真性约束的约束,该约束将搜索空间限制为专家 LM 下具有足够高概率的标记。
图 1:对比解码通过选择最大化对数似然差异的标记来利用不同大小的专家 LM 和业余 LM 之间的对比。 CD 生成高质量的文本,可以增强良好的专家行为并减少不良的业余行为。
对比解码之所以有效,是因为语言模型的许多失败模式(短的、重复的、不相关的或无趣的字符串)在较小的 LM 下比在较大的 LM 下更常见。通过获取模型对数概率之间的差异,可以进一步弱化此类输出。相反,更强的模型倾向于将更多的概率质量放在所需的输出上,例如那些具有较弱模型尚未学习到的事实知识的输出,并且通过对比解码来强调这些字符串。
以图1为例,专家模型将显着的概率质量放在先前的标记上,例如“夏威夷”和“檀香山”,导致贪婪搜索的高度重复延续;诸如“Washington”之类的无意义标记可能会被采样,从而导致不连贯的延续。对比解码强烈推荐正确的延续“1961”,尽管其概率仅为 0.1,并且该延续包含更多正确的事实。这个例子表明,对比解码生成的输出强调了专家 LM 的最佳性能,并消除了其业余倾向。此外,我们在第 4 节中提供了对比解码的实用解释。
与最近提高生成质量的基于训练的方法(例如似然性训练(Welleck et al., 2020)和对比学习(Su et al., 2022;An et al., 2022))相比,对比解码需要零额外训练。我们发现,通过简单地对比两种不同大小的冻结语言模型,我们能够比单独使用较大的 LM 解码更高质量的文本。此外,我们发现当专家和业余爱好者之间的尺度差异较大时,可以获得更好的性能(§7.1)。因此,最佳业余模型的运行成本也很低,并且推理时间开销也很小。
我们在三个领域评估开放式文本生成的对比解码方法:维基百科、故事和新闻,并使用不同的师生组合进行评估,包括(GPT2-XL 与 GPT2-small、OPT-13B 与 OPT-125M) )。根据人类评估和自动指标,与四种解码基线(核采样、top-k、典型解码和 SimCTG)相比,我们的对比解码方法显着提高了生成文本的连贯性,并提高或保持相同的流畅度。
2 问题陈述
我们考虑用于开放式语言生成的解码方法,其中语言模型接收输入提示并旨在生成流畅且连贯的延续。具体来说,我们考虑长度为 n 的相对较短的提示,表示为 xpre = x1 · · · xn,其中 xi 是词汇表 V 中的标记。解码器必须生成长度为 m 的延续,表示为 xcont = xn+1,· ··,xn+m。
我们从预先训练的自回归语言模型 pLM 生成文本。在解码时,我们通过调节前面的上下文,一次迭代地解码一个标记:
其中 pLM(xi | x<i) 是下一个令牌分配。我们使用不同的下标来表示不同的LM:pAMA是业余LM(例如GPT-2小),pEXP是专家LM(例如GPT-2 XL)。
一种规范的解码方法是在每个时间步从截断的下一个令牌分布中进行采样。例如,核心抽样(Holtzman et al., 2020)从下一个 token 分布的前 p 个百分位数中抽取; top-k 采样(Fan et al., 2018)从下一个 token 分布中的前 k 个候选中抽取。另一种常见的方法是通过贪婪解码或波束搜索来搜索最可能的文本序列(Wu et al., 2016);但这会导致重复和乏味的输出。
3 对比解码
我们提出对比解码作为一种基于搜索的解码方法,该方法根据我们的合理性约束优化新颖的对比目标。我们首先提供直觉并定义对比目标(§3.1)。其次,我们单独讨论该目标的潜在弱点,并引入合理性约束来纠正该弱点(§3.2)。然后,我们将完整的对比解码方法定义为受合理性约束(§3.3)约束的对比目标。最后,我们通过讨论业余爱好者的选择来详细阐述设计空间(§3.4)。
3.1 对比物体
较小的 LM 比较大的 LM 表现出更强的产生不良模式(例如重复、主题漂移和自相矛盾)的倾向。例如,当专家(较大的 LM)和业余(较小的 LM)都将最高概率分配给重复标记时,专家 LM 通常对此决策不太有信心,并将非平凡的概率质量分配给其他好的、非重复的延续。对比解码受到这些观察的启发。目标是剔除较小的业余 LM 突出显示的不良行为,并根据较大的专家 LM 的剩余良好行为生成文本。
为了实现这种直觉,我们提出了对比客观 LCD(xcont, xpre):
CD 目标奖励大型专家 LM 喜欢的文本模式,并惩罚小型业余 LM 喜欢的文本模式。然而,业余语言模型并不总是会犯错误:小型语言模型仍然捕获英语语法和常识的许多简单方面(例如,主谓一致)。因此,不加区别地惩罚业余 LM 的所有行为将会惩罚这些正确的简单方面(假阴性),并相反奖励不可信的标记(假阳性)。为了解决这个问题,我们引入了合理性约束,它补充了我们的 CD 目标并避免了这些故障模式。
3.2 Vhead:自适应合理性约束
为了解决上述问题,我们提出了一种自适应合理性约束(Vhead),当专家 LM 高度置信时,它利用专家 LM 的置信水平来限制对比目标的效果:
这里,α是[0, 1]中的一个超参数,它截断pEXP的下一个令牌分布。较大的 α 需要更积极的截断,仅保留高概率的标记,而较小的 α 允许生成较低概率的标记。我们在整篇论文中设置 α = 0.1。
这种自适应合理性约束可以纠正对比目标的假阳性和假阴性失败:
误报。在我们不受约束的对比目标下,一个难以置信的代币可能会获得高分。例如,令牌“NetMessage”在图 1 的上下文中非常不可信,其中 pEXP 为 3 × 10−9,pAMA 为 8 × 10−14;然而,它达到了 log pEXP − log pAMA = 10.6 的最高对比度,远高于合理的标记“1961”和“Hawaii”。为了处理误报问题,Vhead 过滤掉低概率令牌,只保留候选池中高概率令牌。
假阴性。当面对一个简单的决策时,在业余 LM 和专家 LM 下实现高概率的正确 token 在对比目标下可能会得到低分。例如,由于标记化,单词“unicorn”由两个子词组成:“unic”和“#orn”,在两个 LM 下,给定前缀“unic”的“#orn”的概率接近 0.99,但是对比 log pEXP −log pAMA 只有 6×10−4,远低于 bad Continuations。
在这里,Vhead 使用专家 LM 的置信度(由给定时间步内最大概率标记的 α 比率定义)来避免这些假阴性情况。专家 LM 将高置信度分配给简单的决策,但不会分配给反映业余爱好者不良行为的标记,因为概率质量被专家能够考虑的其他候选标记所占据。当专家对这个令牌高度有信心时,我们的约束在候选池中保留一个令牌,这消除了对比目标的影响,因为无论 CD 目标如何,单个令牌总是排名最高。
3.3 完整方法
结合对比目标和自适应合理性约束,我们得到
上述目标是在序列级别定义的,难以优化。因此,我们将目标考虑到令牌级别分数:
我们应用波束搜索来优化 CD 分数,首先根据合理性约束 Vhead(x<i) 过滤标记,消除在专家 LM 下无法达到足够高概率的标记。然后,我们根据 log pEXP(xi | x<i) − log pAMA(xi | x<i) 根据剩余标记所表现出的对比度量对它们进行评分。结果,我们最终在专家 LM 下选择了与业余 LM 最不相似的合理令牌。
3.4 业余爱好者的选择
业余LM的选择对于对比解码来说是一个重要的决定。正如第 3.1 节中所讨论的,我们应该选择表现出我们希望从专家 LM 中降低权重的行为的业余 LM。这里,我们从三个方面来考虑:
规模。较小的语言模型具有较低的建模能力并且更容易出错。因此,我们选择业余LM作为专家LM同族中最小的模型。例如,对于OPT-13B专家,我们选择OPT-125M作为业余爱好者;对于GPT-2 XL专家,我们选择GPT-2小型作为业余爱好者。我们在第 7.1 节中验证了这种设计选择。在极端情况下,使用 n-gram 模型会产生容量极低的业余 LM。但这种选择会损害生成质量,因为 n-gram LM 会产生太多错误,无法识别专家 LM 的类似故障模式。
温度。我们可以通过调整温度 τ 来操纵业余 LM 行为。例如,对业余 LM 应用高温 (τ > 1) 会导致分布更平坦;应用低温(τ 接近 0)突出了业余分布的模式,该模式更容易出现错误(例如重复)。因此,我们操纵业余LM的温度来调整在对比解码中将受到惩罚的业余行为。在§7.2中,我们研究了τ对发电质量的影响,并将τ设置为0.5或1.0作为我们的主要实验。
上下文窗口。我们还可以通过限制业余 LM 的上下文窗口来削弱容量(Li et al., 2016)。例如,我们只能允许业余 LM 以 xpre 的最后一个标记为条件,但我们允许专家 LM 以整个 xpre 为条件。换句话说,我们从日志 pEXP(xcont|x1:n) pAMA(xcont|xn) 解码。通过仅根据部分提示调节业余 LM,业余 LM 的连贯性会被削弱,而对比解码则通过突出专家 LM 的连贯性来产生更连贯的文本。在第 7.5 节中,我们研究了这种设计选择的影响。