Selecting Informative Contexts Improves Language Model Fine-tuning**
下载地址:https://arxiv.org/pdf/2005.00175.pdf
来源:ACL 2021
本文主要贡献:
(1)将测试许多随机种子的回顾性方法(Dodge 等人,2020)替换为提高语言模型微调有效性的前瞻性方法。
(2)本文表明这种技术效果很好,适用于各种微调设置。并且研究了为什么它运作良好,并提供了支持我们关于解释数据排序效应的信息示例的假设的证据。
(3)除了性能提升之外,这种方法还可以减轻深度神经网络语言建模对能量的影响。
Abstract
我们提出了一种通用的微调方法,我们称之为信息增益过滤,用于提高语言模型微调的整体训练效率和最终性能。我们将示例的信息增益定义为在对该示例进行训练后对测试指标的改进。 然后训练一个辅助学习器来近似这个数据。 在微调期间,该学习器选择信息丰富的示例并跳过无信息的示例。我们的方法在数据集、微调任务和语言模型架构方面具有一致的改进。
Introduction
分析微调过程的工作表明,它在运行之间具有很高的可变性,并且对数据排序特别敏感。我们假设大部分这种可变性可以通过随机选择具有高度“信息量”的训练示例来解释,这些训练示例最有效地捕获了目标语料库的低级分布统计数据。如果是这种情况,那么应该可以快速筛选信息丰富的训练示例,以降低成本确保高性能。
我们的方法使用辅助学习器来估计每个训练示例的有用性,然后仅选择信息丰富的示例进行训练。
Background
现在对语言模型的标准微调采用随机抽样的方法。虽然随机抽样方法很有用,但上下文抽样的随机性为进一步改进提供了一条途径。 这些方法不对 F 中示例的信息量做出假设,而是依靠随机性来找到有用的训练样本。
Information Gain Filtration
Informativeness of an Example
在给定预训练语言模型 L(X;θ) 和目标数据集 F 的情况下,我们表征示例 (X, y) ∈ F 的信息量。
如果我们对它将给予模型的改进的估计超过所选阈值,我们将示例 (X, y) 定义为“informative”。也就是说,如果我们期望给定的示例将模型的困惑减少超过预设的数值,那么我们将其表示为“informative”。
我们将示例 (X, y) 在目标集 O 上的信息增益 (IG) 定义为在对示例 (X, y) 进行训练之前和之后在目标集 O 上测量的困惑度差异,
其中 θ 是语言模型的初始参数化,θ‘(X, y) 是反向传播与训练样例 (X, y) 相关的损失后的参数化。目标集 O = {(X1, y1), . . . ,(Xn, yn)} 是训练数据的一个保留子集,它告知我们决定哪些上下文是有用的。为简洁起见,我们将 IGO(X, y) 简单地表示为 IG(X)。
Filtering Examples
由于信息增益评估示例的信息量,我们接下来提出一种利用它进行微调的方法。 让我们假设该方法遇到一个新示例(X,y)。 然后,该方法可以在两个操作之间进行选择:
- BACKPROP:通过反向传播损失 Λ({(X, y)}; θ) 更新语言模型参数 θ,采取梯度下降步骤,并将参数从 θ 更新到 θ’。
- SKIP:保持语言模型参数不变。
考虑到这个想法,我们定义了函数q(X, action) 并为上面的每个动作分配一个值:
其中 TSKIP 是一个自由的“阈值”参数,用于决定哪些 IG(X) 值足够高以保证反向传播。
按照这个定义,我们可以在微调期间应用贪心策略来过滤示例:
我们称这种技术为信息增益过滤或简称为 IGF。
Approximating Information Gain
计算等式中的 IG(X) 需要反向传播步骤,这使得直接应用 q(X, action) 至少与标准微调一样昂贵。
为了解决这个问题,我们的目标是使用一个单独的模型来近似信息增益 IG(X),我们将其称为次要学习器并用 Q(X) 表示。
为了训练这个二级学习器,我们首先通过计算从微调集 F 中抽取的随机样本子集的 IG(X) 来构建训练数据集 D。用于计算 IG(X) 的目标集 O 被选为 F 的不同子集。D 中的每个条目由一对输入文本 X 及其关联的 IG(X) 值组成,即 D = {(X1, IG(X1)), 。 . . ,(Xn, IG(Xn))}。然后我们训练辅助学习器 Q来逼近给定 X 的归一化 IG(X)。最后,生成的辅助学习器 Q^ 用于在微调期间过滤示例。
IGF和辅助学习器算法:
Scheduled Thresholding
使用初始预训练模型参数 θ0 构建辅助学习器训练集 D。这意味着学习器区分“高质量”和“低质量”示例的有效性应该会随着参数与其初始值的偏离而降低。为了改善这个问题,等式可以通过在微调过程中改变 TSKIP 来修改。由于 Q 在第一步最准确,我们安排 TSKIP 从高度选择性(高值)切换到高度宽容(低值)。这允许模型在微调过程的早期利用对 IG(X) 的准确率预测,而一旦这些预测在以后变得不那么准确,就不会过度拟合。
Result
Language Model Fine-tunning
下图绘制了这 4 种不同方法在 60 个批次中的平均微调曲线。
我们看到,与混合语料库和书籍语料库的标准微调相比,IGF 显着提高了最终测试的困惑度。这意味着 IGF 通过对信息上下文进行选择性抽样而对数据顺序的总体改进远远超过了通过对上下文随机抽样可能实现的合理改进。
下图显示了在与上图不同的数据集、不同的架构 (GPT2-Medium)、具有不同方向性的嵌入空间 (BERT) 上微调 GPT-2 Small 的最终收敛值,以及不同的整体微调任务 (SST-2)。在任何情况下,IGF 都超过了标准微调的性能。 这表明 IGF 是一种弹性方法,广泛适用于各种微调模式和领域。
Understanding IGF
IGF 的一个主要假设是可以近似 IG(X)。如果 IG(X) 不是近似的,那么次要学习器就不能有效地过滤掉无信息的上下文,因此将毫无用处。为了支持这一假设,我们将首先证明给定示例值得学习,即使它仅具有信息上下文的正确低级特征,例如正确的一元频率分布。
我们进行了一个实验,在其中我们对(1)来自语料库的真实示例序列,(2)通过从语料库的频率分布中独立采样每个标记构建的人工序列,以及(3)通过从所有可能的标记集中均匀采样标记构建的序列来微调语言模型。 然后,我们计算了语料库单独部分的损失变化。下图显示了该实验的结果。
使用 unigram 频率分布构建的示例的平均损失减少明显优于随机,大约是使用语料库中的真实示例的 70%。因此,在真实上下文中训练的很大一部分好处可以通过仅知道这些上下文所源自的一元组频率分布来估计,这很容易在不知道语言模型本身的特定参数化的情况下进行估计。因此,IGF 可以廉价地估计给定上下文是否可以很好地泛化到目标语料库是有意义的。
Understanding the Secondary Learner
这就提出了一个问题,即哪些上下文被次要学习者认为是“信息丰富的”。为了回答这个问题,我们将 IGF 应用于包含 Reddit 和 Books 的混合语料库。 我们创建了一个包含 10,000 个 (X, IG(X)) 对的数据集,该数据集使用 160 个上下文的目标集和 32 个标记,每个标记仅来自 Books 语料库。 我们使用这个数据集来训练二级学习者。 接下来,从混合语料库中随机抽取的上下文向次要学习者提供。 因为目标集仅包含来自一个语料库的示例,我们希望辅助学习器将更高的 IG(X) 值分配给来自同一语料库的其他示例。下图显示,两个语料库之间的 Q 值分布确实存在显着差异,表明 Books 语料库和 Reddit 语料库可以被辅助学习器分开。
辅助学习器期望 Reddit 语料库中的几乎所有示例都能减少至少比均值低一个标准差的困惑度。
这表明次要学习者可以非常自信地识别出 Books 语料库示例比 Reddit 语料库示例在微调 Books 目标方面提供更多信息。
Efficiency of IGF
对于之前的结果,我们使用第 3 节中描述的简单卷积神经网络作为我们的辅助学习器。下图显示了几种学习方法的预测值与实际归一化 IG(X) 值。
虽然 45,000 个参数的卷积神经网络在逼近 IG(X) 方面最有效,但其他学习器的表现几乎都很好。
下图比较了这些辅助学习器架构在不同数量的训练示例中的性能。 在这里,卷积网络是样本效率最高的方法,因为它可以用少至 2,000 个训练样本有效地学习 IG(X)。
Conclusion
在语言模型微调的背景下,我们已经证明辅助学习器可以有效地区分信息和非信息训练示例。这个辅助学习器可用于在我们称为信息增益过滤的技术中选择有用的训练示例,从而导致比标准微调更好的模型性能。
这项工作也提出了几个问题。 由于我们的重点是开发轻量级技术,因此我们测试的最复杂的辅助学习器是一个小型卷积网络。 通过使用更复杂的模型,训练期间的数据效率可能会进一步提高。
一个人可以在多大程度上合理地采用函数逼近器网络来估计信息增益的问题仍未得到探索。