DeepMind指出「Transformer无法超出预训练数据实现泛化」,但有人投来质疑

AI行业动态1年前 (2023)发布 ainavi
11,300 0
难道 Transformer 注定无法解决「训练数据」之外的新问题?

说起大语言模型所展示的令人印象深刻的能力,其中之一就是通过提供上下文中的样本,要求模型根据最终提供的输入生成一个响应,从而实现少样本学习的能力。这一点依靠的是底层机器学习技术「Transformer 模型」,并且它们也能在语言以外的领域执行上下文学习任务。

以往的经验表明,对于在预训练混合体中得到充分体现的任务族或函数类,选择适当函数类进行上下文学习的成本几乎为零。因此有研究者认为,Transformer 能很好地泛化与训练数据相同分布的任务 / 函数。然而,一个普遍的悬而未决的问题是:在与训练数据分布不一致的样本上,这些模型表现如何?

在最近的一项研究中,来自 DeepMind 的研究者借助实证研究,对这个问题进行了探讨。他们将泛化问题解释为以下内容:「一个模型能否利用不属于预训练数据混合体中任何基本函数类的函数的上下文样本生成良好的预测?(Can a model generate good predictions with in-context examples from a function not in any of the base function classes seen in the pretraining data mixture? )」

这篇论文重点放在了预训练过程的一个特定方面:「预训练中使用的数据」,并研究它如何影响由此产生的 Transformer 模型的少样本学习能力。为了解决上述问题,研究者首先探讨了 Transformer 在预训练中看到的不同函数类族之间进行模型选择的能力(第 3 节),然后回答了几个重点案例的 OOD 泛化问题(第 4 节)。

DeepMind指出「Transformer无法超出预训练数据实现泛化」,但有人投来质疑

论文地址:https://arxiv.org/pdf/2311.00871.pdf

他们发现:首先,预训练 Transformer 在预测从预训练函数类中提取的函数的凸组合时非常吃力;其次,Transformer 虽然可以有效泛化函数类空间中较罕见的部分,但当任务变得不在分布范围内时,Transformer 仍然会崩溃。

归纳为一句话就是,Transformer 无法泛化出预训练数据之外的认知 —— 因此也解决不了认知之外的问题。

DeepMind指出「Transformer无法超出预训练数据实现泛化」,但有人投来质疑

总体来说,本文的贡献如下:

  • 使用多种不同函数类的混合体对 Transformer 模型进行预训练,以便进行上下文学习,并描述了模型选择行为的特征;

  • 研究了预训练 Transformer 模型在与预训练数据中函数类「不一致」的函数上的上下文学习行为;

  • 强有力的证据已经表明,模型在上下文学习过程中可以在预训练的函数类中进行模型选择,而几乎不需要额外的统计成本,但也存在有限证据,表明模型的上下文学习行为能够超出其预训练数据的范围。

这位研究者认为,这对于安全方面来说也许是个好消息,至少模型不会「为所欲为」。

DeepMind指出「Transformer无法超出预训练数据实现泛化」,但有人投来质疑

但也有人指出,这篇论文所使用的模型不太合适 ——「GPT-2 规模」意味着本文模型大概是 15 亿参数作用,这确实很难泛化。DeepMind指出「Transformer无法超出预训练数据实现泛化」,但有人投来质疑

DeepMind指出「Transformer无法超出预训练数据实现泛化」,但有人投来质疑

接下来,我们先来看看论文细节。

模型选择现象

在对不同函数类的数据混合体进行预训练时,会遇到一个问题:当模型看到预训练混合体支持的上下文样本时,如何在不同函数类之间进行选择?

研究者发现,模型在看到属于预训练数据混合体的函数类的上下文样本后,会做出最佳(或接近最佳)预测。他们还观察了模型在不属于任何单一成分函数类的函数上的表现,然后在第 4 节中探讨了一些与所有预训练数据完全不相关的函数。

首先从线性函数的研究开始,线性函数在上下文学习领域受到了广泛关注。去年,斯坦福大学 Percy Liang 等人的论文《What Can Transformers Learn In-Context? A Case Study of Simple Function Classes》表明,对线性函数进行预训练的 Transformer 在对新的线性函数进行上下文学习时表现近乎最佳。

他们特别考虑了两个模型:一个是在密集线性函数(线性模型的所有系数都非零)上训练的模型,另一个是在稀疏线性函数(20 个系数中只有 2 个系数非零)上训练的模型。在新的密集线性函数和稀疏线性函数上,每个模型的表现分别与线性回归和 Lasso 回归相当。此外,研究者还将这两个模型与在稀疏线性函数和密集线性函数的混合体上预训练的模型进行了比较。

DeepMind指出「Transformer无法超出预训练数据实现泛化」,但有人投来质疑

如图 1 所示,该模型在一个DeepMind指出「Transformer无法超出预训练数据实现泛化」,但有人投来质疑混合体在上下文学习中的表现与只对一个函数类进行预训练的模型相似。由于混合体预训练模型的表现与 Garg et al.[4] 的理论最优模型相似,研究者推断该模型也接近最优。图 2 中的 ICL 学习曲线表明,这种上下文模型选择能力与所提供的上下文示例数量相对一致。在图 2 中还可以看到,对于特定函数类,使用各种 non-trivial 权重DeepMind指出「Transformer无法超出预训练数据实现泛化」,但有人投来质疑

预训练数据混合体的 ICL 学习曲线几乎与最优基线样本复杂度相匹配。所能观察到的偏差很小,而且随着 ICL 样本数量的增加,偏差迅速减小,这与图 1 中对应 ICL 学习曲线上一个点的行为相吻合。

图 2 还表明,Transformer 模型的 ICL 泛化会受到分布外的影响。尽管密集线性类和稀疏线性类都是线性函数,但可以看到图 2a 中红色曲线(对应于只在稀疏线性函数上进行预训练并在密集线性数据上进行评估的 Transformer)的性能很差,反之亦然,图 2b 中茶色曲线的性能也很差。研究者在其他非线性函数类中也观察到了类似的表现。

DeepMind指出「Transformer无法超出预训练数据实现泛化」,但有人投来质疑

回到图 1 中的实验,将误差绘制为整个可能范围内非零系数数量的函数,结果显示,在 w = .5 的混合体上预处理的模型,DeepMind指出「Transformer无法超出预训练数据实现泛化」,但有人投来质疑,在整个过程中的表现与在混合体上预处理的模型(即 w = 0 以及 w = 1)一样好(图 3a)。这表明该模型能够进行模型选择,以选择是否仅使用预训练混合体中一个基函数类的知识或另一个基函数类的知识进行预测。

事实上,图 3b 显示,当上下文中提供的样本来自非常稀疏或非常密集的函数时,预测结果几乎与只使用稀疏数据或只使用密集数据预训练的模型预测结果完全相同。然而,在两者之间,当非零系数的数量≈4 时,混合预测结果偏离了纯密集或纯稀疏预训练 Transformer 的预测结果。

这表明对混合体进行预训练的模型并不是简单地选择单一函数类进行预测,而是预测介于两者之间的结果。

模型选择能力的限制

然后,研究者从两个方向检查了模型的 ICL 泛化能力。首先,测试了模型在训练中从未见过的函数上的 ICL 性能;其次,评估了模型在预训练中见过的函数的极端版本上的 ICL 性能。

在这两种情况下,该研究几乎没有发现分布外泛化的证据。当函数与预训练期间看到的函数相差很大时,预测就会不稳定;当函数足够接近预训练数据时,模型可以很好地近似。

DeepMind指出「Transformer无法超出预训练数据实现泛化」,但有人投来质疑

图 3a 展示了 Transformer 在中等稀疏级别(nnz = 3 to 7)下的预测与预训练时提供的任一函数类的任何预测都不相似,而是介于两者之间。因此,人们可能会假设该模型具有某种归纳偏差,使其能够以非平凡的方式组合预训练的函数类。例如,人们可能怀疑该模型可以根据预训练期间看到的函数组合来生成预测。为了在具有明显不相交函数类的背景下检验这一假设,研究者探讨了对线性函数、正弦曲线和两者的凸组合执行 ICL 的能力。他们将重点放在一维情况上,使非线性函数类的评估和可视化变得简单。

图 4 显示,虽然在线性函数和正弦曲线的混合上预训练的模型(即DeepMind指出「Transformer无法超出预训练数据实现泛化」,但有人投来质疑)能够分别对这两个函数中的任何一个做出良好的预测,它无法拟合两者的凸组合函数。这表明图 3b 中所示的线性函数插值现象并不是 Transformer 上下文学习的可概括的归纳偏差。然而,它继续支持更狭隘的假设,即当上下文样本接近预训练中学习的函数类时,模型能够选择最佳函数类用于预测。

DeepMind指出「Transformer无法超出预训练数据实现泛化」,但有人投来质疑

更多研究细节,可参考原论文。

© 版权声明

关注公众号,免费获取chatgpt账号
免费获取chatgpt

相关文章

暂无评论

暂无评论...