Abstract
我们在少量文本分类中引入了一种用于语言模型提示的噪声通道方法。通道模型不是计算给定输入的标签的可能性(称为直接模型),而是计算给定标签的输入的条件概率,因此需要解释输入中的每个单词。我们将通道模型用于最近提出的小样本学习方法,通过上下文演示或提示调整,对语言模型参数没有或非常有限的更新。我们的实验表明,对于这两种方法,通道模型的性能都显着优于它们的直接对应物,我们将其归因于它们的稳定性,即更低的方差和更高的最坏情况精度。我们还提出了广泛的消融,为何时使用通道提示调整而不是其他竞争方法(例如,直接头部调整)提供了建议:当训练示例数量较少、训练数据中的标签不平衡时,首选通道提示调整,或者需要对看不见的标签进行泛化。
Introduction
通过在输入中添加自然语言文本或连续向量(称为提示)来提示大型语言模型,已证明在小样本学习中很有前景(Brown 等人,2020)。之前的工作已经提出了寻找更好提示的方法( Shin 等人,2020 年;Li 和 Liang,2021 年;Lester 等人,2021 年)或模型输出的更好评分(Zhao 等人,2021 年;Holtzman 等人,2021 年)。这些研究直接预测目标标记 来确定最终任务的预测。尽管结果很有希望,但它们可能不稳定,并且在不同的语言器(标签的文本表达)和种子之间存在很大的差异,最坏情况下的性能通常接近随机(Perez et al., 2021 ; Lu et al.,2021)。
在本文中,受机器翻译中的噪声通道模型的启发(Brown et al., 1993; Koehn et al., 2003; Y u et al., 2017;Y ee 等人,2019 年)及其对其他任务的扩展(Y ogatama 等人,2017 年;Lewis 和 Fan,2018 年)。与在给定输入的情况下计算标签标记的条件概率的直接模型不同,通道模型在给定输出的情况下计算输入的条件概率(图 1)。直观地说,需要通道模型来解释输入中的每个单词,这可能会在低数据状态下放大训练信号。我们研究了通道模型对语言模型提示的影响,其中语言模型的参数被冻结。特别是,我们将渠道模型与其 (1) 演示方法的直接对应物,基于串联 (Brown et al., 2020) 或我们提出的基于集成的 (第 4.1.3 节),以及 (2) 快速调优 (Lester et al., 2021)。
我们对 11 个文本分类数据集的实验表明,通道模型的性能大大优于直接对应的模型。我们将通道模型的强大性能归因于它们的稳定性:与不同语言器和种子上的直接对应物相比,它们具有更低的方差和显着更高的最坏情况准确度。我们还发现了一个带有头部调整的直接模型——调整 LM 头部同时冻结其他参数——非常有效,通常优于采用其他调整形式的直接模型。虽然在不同的条件下首选不同的方法,但当(1)训练数据为不平衡,或者 (2) 需要对看不见的标签进行泛化。 总之,我们的贡献有三方面: 1. 我们在小样本文本分类中引入了一种用于语言模型提示的噪声通道方法,表明它们在演示方法和提示调优方面都显着优于直接对应物。 2. 当训练数据不平衡或需要泛化到看不见的标签时,我们发现通道模型的性能优于直接模型。 3. 基于广泛的消融,我们根据给定的条件(例如目标任务、训练数据的大小、类的数量、标签之间的平衡)提供不同模型之间的推荐(直接与通道和即时调优与头部调优)在训练数据中,以及是否需要对看不见的标签进行泛化。
Related Work
Channel Model
令 x 和 y 分别为输入和输出。 最广泛使用的模型,称为直接模型,计算 P (y|x)。 相比之下,噪声通道模型使 P (x|y)P (y) 最大化(Shannon,1948;Brown 等人,1993)。1 虽然噪声通道方法在机器翻译中最为成功(Y amada 和 Knight, 2001;Koehn et al., 2003; Y u et al., 2017; Y ee et al., 2019),它也在更一般的 NLP 任务中进行了研究。之前的工作提供了通道模型接近其渐近误差的理论分析 比直接对应物更快(Ng 和 Jordan,2002),并且经验表明,渠道模型对文本分类(Y ogatama 等人,2017 年)或问答(Lewis 和 Fan,2018 年)中的分布变化更加稳健,并且 在一些镜头设置中(Ding 和 Gimpel,2019 年)。
在本文中,我们在广泛的文本分类任务中使用大型语言模型探索通道模型,重点是基于提示的小样本学习。
Few-shot Learning
先前在少样本学习方面的工作使用了不同的方法,包括带有数据增强或一致性训练的半监督学习(Miyato 等人,2017;Clark 等人,2018;Xie 等人,2020; Chen 等人,2020)和元学习(Finn 等人,2017;Huang 等人,2018;Bansal 等人,2020)。最近的工作引入了大型语言模型的提示(或启动)。例如,布朗等人。 (2020) 建议使用训练示例的串联作为演示,以便在将其添加到输入之前并馈送到模型时,模型会按照训练示例中的模式返回输出。这特别有吸引力,因为它消除了更新语言模型参数的需要,这通常是昂贵且不切实际的。随后的工作提出了通过更好的模型校准(Zhao et al., 2021; Holtzman et al., 2021)或在离散空间中学习更好的提示(Shin et al., 2020;jiang et al. ,2020; Gao et al., 2021) 或在连续空间中 (Li and Liang, 2021; Lester et al., 2021; Liu et al., 2021; Zhong et al., 2021; Qin and Eisner, 2021)。几乎所有这些都是直接模型,根据提示计算给定 x 的 y 的可能性。
我们的工作与最近的两篇论文密切相关。Tam 等人。 (2021) 研究掩码语言模型的标签条件目标; 虽然这不是严格意义上的生成通道模型,但对输出 y 的调节与我们的工作相似。但是,他们仍在优化判别目标,并且在测试时的推理与 直接模型。 霍尔兹曼等人。 (2021 年)探索了零样本模型,该模型基于逐点互信息计算给定 y 的 x 的概率,但限制是输入和输出是可互换的。 据我们所知,我们的工作是第一个使用噪声通道模型来提示分类的少样本语言模型,也是第一个与 嘈杂的频道文学。
Formulation
我们专注于文本分类任务。目标是学习一个任务函数 f : X → C,其中 X 是所有自然语言文本的集合,C = {c1...cm} 是一组标签。我们考虑三个配方。
Direct 给定输入 x ∈ X : P (ci|x),计算标签 ci ∈ C 的分布。这是现代神经网络中使用最广泛的方法。
Direct++ 是一种更强大的直接模型,它计算 P(ci|x)/P(ci|NULL) 而不是 P(ci|x),遵循 Holtzman 等人的方法。 (2021)和赵等人的非参数方法。 (2021 年)。这种方法的动机是语言模型可能校准不佳并且会受到具有相同含义的不同字符串之间的竞争的影响。该方法用于第 4.1 节中的演示方法。
Channel 使用贝叶斯规则将 P(ci|x) 重新参数化为 P(x|ci)P(ci)/P (x) 。由于我们通常对 argmaxci∈CP(x|ci)P(ci)/P(x) 感兴趣,并且 P(x) 独立于 ci,因此对 P(x|ci)P(ci) 建模就足够了。我们假设 P (ci) = 1/|C|并且只计算 P (x|ci).
Method
我们使用因果语言模型 (LM) PLM 探索直接模型和通道模型,该模型给出文本 y 后跟 x 的条件概率。 更准确地说,给定文本 x =x1...xtx和 y = y1...yty (x1...xtx, y1...yty ∈ V,其中 V 是词汇集),PLM(y|x) 表示
在学习任务函数 f : X → C 时,我们还假设一个预定义的语言器 v : C → X 将每个标签映射为自然语言表达式。 例如,如果任务是 C = {c+, c−} 的情感分析,则示例输入文本 x 将是“一个三小时的电影大师班”,示例 v 将具有 v(c+) =“It was great ”和 v(c−) =“这太可怕了”。 在few-shot 设置中,我们还得到了一组K个训练样例
我们对没有可训练参数(第 4.1 节)或可训练参数的数量非常少的方法感兴趣,通常少于总数的 0.01%(第 4.2 节)。这是根据先前的观察,更新和保存大量每个任务的参数都是昂贵的,而且通常是不可行的(Rebuffi 等人,2017;Houlsby 等人,2019;Lester 等人,2021)。
Demonstration methods
在演示方法中,没有可训练的参数。我们探索了三种进行预测的方法,如表1所示。
Zero-shot
我们关注 Brown 等人。 (2020) 将 P (ci|x) 和 P (x|ci) 分别计算为 PLM(v(ci)|x) 和 PLM(x|v(ci))。 例如,给定 x =“三个小时的电影大师班”,直接模型比较跟随“三个小时的电影大师班”时“很棒”和“很糟糕”的概率,而通道模型 考虑“太棒了”或“太糟糕了”时“三小时的电影大师班”的概率。
Concat-based demonstrations
我们遵循 Brown 等人的小样本学习方法。 (2020 年)。 关键思想是将 K 个训练示例的串联添加到输入中,以便语言模型可以从输入中学习任务设置。 原始方法用于直接模型,但可以自然地扩展为通道模型。 具体来说,直接模型中的 P(ci|x) 是通过 PLM(v(ci)|x1, v(c1),···, xK, v(cK), x) 和 P(x|ci) 在 通道模型通过 PLM(x|v(c1), x1, · · · , v(cK), xK, v(ci)) 获得。
Ensemble-based demonstrations
更强的直接模型。 我们不是将 K 个训练示例连接为一个序列并从 LM 获得一次输出概率,而是一次以一个训练示例为条件从 LM K 次获得输出概率,并将结果概率相乘。 具体来说,P (ci|x) 是通过 计算的,P (x|ci) 是通过
计算的, xj, v(ci))。 这种方法还减少了内存消耗——基于 concat 的方法使用 O(K2),而这种方法使用 O(K)——并消除了对训练示例排序的依赖,这已被证明显着影响模型性能 (Zhao 等人,2021 年;卢等人,2021 年)。
Tuning methods
我们还探索了调整数量非常有限的模型参数的方法,如图 2 所示。我们研究了直接模型的头部调整(第 4.2.1 节)和转换调整(第 4.2.2 节)。 我们还考虑了直接和频道模型的即时调谐(第 4.2.3 节),我们分别将其称为直接即时调谐和频道即时调谐。 在训练和推理期间,所有模型与表 1 中的零样本设置共享相同的输入输出接口。
Head tuning
头部调整微调头部——LM 中的矩阵,将来自最后一个transforms的隐藏表示转换为 logit 值。令 O ∈ R|V|×h 为头部,hx ∈ Rh 为来自最后一个transformer的隐藏表示层给定 x,令牌 vi ∈ V 的 PLM(vi|x) 是通过 Softmax(Ohx) 的第 i 个元素计算的。我们在冻结 LM 的所有其他参数的同时微调 O。 尽管在语言模型预训练期间 O 与 LM 的嵌入矩阵相关联,但我们在头部调整期间将它们分开。
Transformation tuning
作为头部调整的替代方案,我们使用新的变换矩阵 U ∈ Rh×h 变换 O。具体来说,令牌 vi ∈ V 的 PLM(vi|x) 是通过 Softmax(OUhx) 的第 i 个元素计算的。 我们训练 U,从单位矩阵初始化,并冻结包括 O 在内的其他参数。
Prompt tuning
提示调优是最近备受关注的方法(Li and Liang, 2021; Lester et al., 2021; Liu et al., 2021)。 关键思想是将 LM 视为黑盒模型,而不是学习连续提示嵌入。 我们遵循 Lester 等人的方法。 (2021) 其中 n 个提示标记 u1...un 被预先添加到输入中,并且 u1...un 的嵌入是学习的。换句话说,直接模型计算 P (ci|x) =PLM(v(ci) |u1...un, x),通道模型计算 P (x|ci) = PLM(x|u1...un, v(ci))。 LM 中的参数被冻结,除了 u1...un 的嵌入。
Experimental Setup
Datasets
在 Zhang 等人之后,我们报告了 11 个文本分类数据集的结果。 (2015)和高等人。 (2021): SST-2 (Socher et al., 2013), SST5 (Socher et al., 2013), MR (Pang and Lee, 2005), CR (Hu and Liu, 2004), Amazon (McAuley and Leskovec, 2013)、Yelp (Zhang et al., 2015)、TREC (V oorhees and Tice, 2000)、AGNews (Zhang et al., 2015)、Yahoo (Zhang et al., 2015)、DBPedia (Lehmann et al., 2015 年)和 Subj(Pang 和 Lee,2004 年)。 数据集包括每个任务的不同数量的类,从 2 到 14。有关数据集示例,请参见附录 A 中的表 10。
Training Data
对于少样本学习,我们主要使用训练集大小 K = 16,但在消融中探索 K = {4, 16, 64, Full}。 我们从训练数据的真实分布中均匀地抽取 K 个样本。 我们放宽了先前工作中每个标签具有相同数量的训练示例的假设(Gao 等人,2021;Logan IV 等人,2021),以进行更现实和更具挑战性的评估。
我们遵循先前工作(附录 B)中的所有超参数和细节,这消除了对保留验证集的需要。 非常有限的数据更适合用于训练而不是验证,而当验证集非常小时,交叉验证的帮助就较小(Perez 等人,2021)。
Language Models
我们将 GPT-2(Radford 等人,2019)用于 LM。我们主要使用 GPT-2 Large,但也在附录 C 中对不同尺寸(Small、Medium、Large 和 XLarge)进行了实验。虽然我们只进行实验 使用 GPT-2,我们的实验很容易扩展到其他因果语言模型。
Evaluation
我们使用准确性作为所有数据集的指标。我们使用 4 种不同的语言器(取自 Gao 等人(2021);附录 A 中提供的完整列表)、5 种不同的随机种子用于采样训练数据和 4 种不同的随机种子用于 训练。 然后,我们报告平均准确度和最坏情况准确度。 5 我们认为最坏情况准确度与平均准确度一样重要,因为小样本学习模型的方差显着高,如之前的工作所示(Zhao 等人,2021 ;佩雷斯等人,2021)。 最坏情况的准确性可能对高风险应用程序更感兴趣(Asri 等人,2016;Guo 等人,2017)。其他实现细节在附录 B 中。所有实验都可从 github.com/shmsw25/ 复制 通道 LM 提示。
Experimental Results
本节报告演示方法(第 6.1 节)、调整方法(第 6.2 节)和消融(第 6.3 节)的结果。 第 7 节提供了讨论。
Main Results: Demonstration Methods
表3显示了演示方法的性能
Direct vs. Direct++ Direct++ 在所有设置中都显着优于朴素直接模型,这表明使用 P (ci|x)/P(ci|NULL) 代替 P (ci|x) 是非常有益的,正如 Holtzman 等人 (2021) 所声称的那样; 赵等人。 (2021 年)。
Concat vs. Ensemble 我们提出的基于集成的方法在直接模型中优于基于 concat 的方法,当对所有数据集进行宏观平均时,平均准确度和最坏情况准确度的绝对值提高了 7%。 相比之下,基于集成的方法在通道模型中并不总是更好; 仅在具有长输入的数据集上更好。 我们推测,当训练数据中的标签不平衡时,基于集成的方法可能会受到影响,如 Zhao 等人所述,direct++ 明确考虑了这一点。 (2021 年)。
Direct++ vs. Channel 在few-shot下,通道模型几乎在所有情况下都优于直接模型。 就平均准确度和最坏情况准确度而言,最强通道模型的绝对性能分别比最强的直接模型高 3.1% 和 7.2%。
标准偏差和最佳情况准确度在附录的表 11 和表 12 中报告。 它们表明通道模型的强大性能可归因于它们的低方差。直接++在大多数数据集上实现了最高的最佳情况准确度,但它具有更高的方差,平均和最坏情况的准确度低于通道模型。
Zero-shot vs. Few-shot
直接模型的性能有时会在Few-shot设置中下降,这在之前的工作中也观察到了(Zhao et al., 2021)。 这很可能是因为训练数据提供的演示可能会导致模型被错误校准,并且很容易因演示的选择而产生偏差。 然而,通道模型在所有数据集上实现的少样本性能明显优于零样本方法。
Main Results: Tuning Methods
表 4 显示了调优方法的性能。
Comparison when prompt tuning 使用快速调整时,通道模型在所有数据集上的性能始终优于直接模型。 平均和最坏情况下的准确度分别提高了 13.3% 和 23.5%。
标准偏差和最佳情况下的准确度在附录的表 13 中报告。 与第 6.1 节中的发现一致,频道提示调谐的强大性能可以用频道提示调谐的低方差来解释。 直接提示调整通常可以实现更高的最佳情况准确度; 然而,由于其高方差,其整体准确度较低,最坏情况下的准确度显着降低。
Head tuning vs. prompt tuning 我们发现头部调整是一种非常强大的方法,尽管在之前的工作中经常被忽略作为基线。 它在所有情况下都明显优于直接提示调整。它在某些数据集上也优于通道提示调整,尤其是在 TREC 和 Subj 上。 对于这些数据集,任务——找到问题答案的类型或识别陈述的主观性——本质上不同于语言建模,并且可能受益于直接更新 LM 参数,而不是将 LM 用作黑匣子 .
尽管如此,在大多数数据集上,通道提示调整优于直接头部调整。 Yahoo 和 DBPedia 的收益最大。 事实上,在这些数据集上,频道提示调优甚至优于所有微调——微调 LM 的所有参数——在 Yahoo 上达到 48.9/43.8,在 DBPedia 上达到 66.3/50.4。 我们推测,由于大量的类(|C| = 10 和 14),在这些数据集上使用 K = 16 自然需要对看不见的标签进行泛化,其中通道提示调整显着优于直接模型,如我们在第 6.4 节中所示。
Ablations
对于消融,我们报告了关于 SST-2、MR、TREC 和 AGNews 的实验,使用了一个训练种子(而不是四个)、四个语言器和五个数据种子(与主要实验一样)。
Varying the number of training examples
我们改变了训练示例的数量 (K),并在图 3 中报告了平均准确度。随着 K 的增加,所有方法都实现了更高的准确度。 虽然我们确认 K ≤ 16 时频道提示调谐的强大性能,但当 K = 64 时,头部调谐优于频道头部调谐。当 K=Full 时,直接提示调谐和头部调谐都优于频道提示调谐。 我们认为这是因为(1)通道模型(Lewis 和 Fan,2018)放大的训练信号在 K 较小时更显着,(2)通道模型在训练数据上的标签不平衡时更有利(在 下一个消融),这更有可能发生在较小的 K 上。
还值得注意的是,我们对 K = Full 的实验证实了 Lester 等人 (2021) 的发现,即直接提示调整与所有微调的性能相匹配——微调 LM 的所有参数——同时参数效率更高。 这仅适用于 K = Full; 在少量设置中,所有微调都明显优于其他方法。 这与传统分析相矛盾,即当训练数据稀缺时,可训练参数越少越好(Ng 和 Jordan,2002)。 这可能是因为这种分析没有考虑语言模型预训练,它对模型进行监督,但不是最终任务的训练数据。
Impact of imbalance in labels 在二进制数据集(SST-2 和 MR)上,我们用 K = {16, 64} 来改变训练数据中的标签不平衡。具体来说,让 C = {c+, c−} 和 p− =|{(x, c ) ∈ D|c = c−}|/|D|,即 c− 在训练数据中的比例。 我们将 p− 变为 {0, 0.125, 0.250, 0.375, 0.5}。 p− = 0.5 表示标签完美平衡,p− = 0 表示训练数据中的标签仅包含 c+。 我们还与上采样基线进行了比较,在这些基线中,我们使用不常见的标签对训练示例进行上采样,以便模型在训练期间每个标签看到相同数量的示例。
结果在图 4 中报告。所有直接模型都对训练数据的不平衡很敏感,即使它们在 p− 较小时受益于上采样。 通道提示调谐对不平衡不敏感,并且在 p− 较小时明显优于直接模型; 当 p- < 0.25 时,它甚至优于所有微调。 当 p- 接近 0.5 时,直接头部调谐匹配或优于频道提示调谐。 还值得注意的是,当 p− 较小时,使用上采样的直接提示调整匹配或优于所有微调和头部调整。
Generalization to unseen labels
我们尝试了一个具有挑战性的场景,其中模型必须泛化到看不见的标签。 虽然这可能被视为一种极端情况,但这通常是一种实际设置,例如,问题是用一组标签定义的,但后来可能需要添加新标签。
首先,我们像在主要实验中一样对 K 个训练示例进行采样,但不包括一个随机标签,因此在测试时至少有一个标签在训练期间是看不见的。 表 5 报告了结果。 所有直接模型都无法预测在训练时看不见的标签。 然而,频道提示调谐可以预测看不见的标签,并实现比零镜头更好的性能。 它在 2-way 分类数据集上优于所有微调,并且在五个数据集上优于头部微调,除了 TREC,头部微调在看到的标签上实现了非常强的性能。
接下来,我们运行零样本迁移学习,其中模型在一个数据集上进行训练并在另一个数据集上进行测试。 在这里,当两个数据集之间不共享标签时,头部调整不适用。 图 5 显示了结果。 通道提示调整优于所有直接模型,包括对除 TREC 之外的所有数据集的所有微调。 当任务本质上相似时,它尤其具有竞争力,例如前三个图中的 2-way 情感分析和 5-way 情感分析之间的转移。 事实上,在这种情况下,性能接近于在域内数据上训练的模型。 当任务本质上不同时,例如图 5 中的其余数字,零样本性能的增益相对较小; 我们认为应该做更多的工作来更好地进行跨任务转移,并发现何时可能。