自发布以来,曾被认为是世界上最强大的 gpt-4 也经历了多场「信任危机」。
如果说今年早些时候那次「间歇式降智」与 openai 重新设计 gpt-4 架构有关,前段时间的「变懒」传闻就更搞笑了,有人测出只要告诉 gpt-4「现在是寒假」,它就会变得懒懒散散,仿佛进入了一种冬眠状态。
大模型变懒、变笨,具体是指模型在新任务上的零样本性能变差。尽管上述原因听起来很有趣,但问题到底怎么解决呢?
在最近的一篇论文中,加州大学圣克鲁斯分校研究者的新发现或可解释 gpt-4 性能下降的深层原因:
「我们发现,在训练数据创建日期之前发布的数据集上,llm 的表现出奇地好于之后发布的数据集。」
它们在「见过的」任务上表现出色,而在新任务上则表现糟糕。这意味着,llm 只是基于近似检索的模仿智能方法,主要是记忆东西,而没有任何程度的理解。
说白了,就是 llm 的泛化能力「没有说的那么强」—— 基础不扎实,实战总有出纰漏的时候。
造成这种结果的一大原因是「任务污染」,这是数据污染的其中一种形式。我们以前熟知的数据污染是测试数据污染,即在预训练数据中包含测试数据示例和标签。而「任务污染」是在预训练数据中加入任务训练示例,使零样本或少样本方法中的评估不再真实有效。
研究者在论文中首次对数据污染问题进行了系统分析:
论文链接:https://arxiv.org/pdf/2312.16337.pdf
看完论文,有人「悲观」地表示:
这是所有不具备持续学习能力的机器学习(ml)模型的命运,即 ml 模型权重在训练后会被冻结,但输入分布会不断变化,如果模型不能持续适应这种变化,就会慢慢退化。
这意味着,随着编程语言的不断更新,基于 llm 的编码工具也会退化。这就是为什么你不必过分依赖这种脆弱工具的原因之一。
不断重新训练这些模型的成本很高,迟早有人会放弃这些低效的方法。
目前还没有任何 ml 模型能够可靠地持续适应不断变化的输入分布,而不会对之前的编码任务造成严重干扰或性能损失。
而这正是生物神经网络所擅长的领域之一。由于生物神经网具有强大的泛化能力,学习不同的任务可以进一步提高系统的性能,因为从一项任务中获得的知识有助于改善整个学习过程本身,这就是所谓的「元学习」。
「任务污染」的问题有多严重?我们一起来看下论文内容。
模型和数据集
实验所使用的模型有 12 个(如表 1 所示),其中 5 个是专有的 gpt-3 系列模型,7 个是可免费获取权重的开放模型。
数据集分为两类:2021 年 1 月 1 日之前或之后发布的数据集,研究者使用这种划分方法来分析旧数据集与新数据集之间的零样本或少样本性能差异,并对所有 llm 采用相同的划分方法。表 1 列出了每个模型训练数据的创建时间,表 2 列出了每个数据集的发布日期。
上述做法的考虑是,零样本和少样本评估涉及模型对其在训练期间从未见过或仅见过几次的任务进行预测,其关键前提是模型事先没有接触过要完成的特定任务,从而确保对其学习能力进行公平的评估。然而,受污染的模型会给人一种未接触或仅接触过几次的能力的假象,因为它们在预训练期间已经接受过任务示例的训练。在按时间顺序排列的数据集中,检测这种不一致性会相对容易一些,因为任何重叠或异常都会很明显。
测量方法
研究者采用了四种方法来测量「任务污染」:
训练数据检查:在训练数据中搜索任务训练示例。
任务示例提取:从现有模型中提取任务示例。只有经过指令调优的模型才能进行提取,这种分析也可用于训练数据或测试数据的提取。注意,为了检测任务污染,提取的任务示例不必与现有的训练数据示例完全匹配。任何演示任务的示例都表明零样本学习和少样本学习可能存在污染。
成员推理:此方法仅适用于生成任务。检查输入实例的模型生成内容是否与原始数据集完全相同。如果完全匹配,就可以推断它是 llm 训练数据中的一员。这与任务示例提取不同,因为生成的输出会被检查是否完全匹配。开放式生成任务的精确匹配强烈表明模型在训练过程中见过这些示例,除非模型「通灵」,知道数据中使用的确切措辞。(注意,这只能用于生成任务。)
时序分析:对于在已知时间范围内收集训练数据的模型集,在已知发布日期的数据集上测量其性能,并使用时序证据检查污染证据。
前三种方法精度高,但召回率低。如果能在任务的训练数据中找到数据,那么就能确定模型曾见过示例。但由于数据格式的变化、用于定义任务的关键字的变化以及数据集的大小,使用前三种方法找不到污染证据并不能证明没有污染。
第四种方法,按时间顺序分析的召回率高,但精确度低。如果由于任务污染而导致性能较高,那么按时间顺序分析就有很大机会发现它。但随着时间的推移,其他因素也可能导致性能提高,因此精确度较低。
因此,研究者采用了所有四种方法来检测任务污染,发现了在某些模型和数据集组合中存在任务污染的有力证据。
他们首先对所有测试过的模型和数据集进行时序分析,因为它最有可能发现可能的污染;然后使用训练数据检查和任务示例提取寻找任务污染的进一步证据;接下来观察了 llm 在无污染任务中的性能,最后使用成员推理攻击进行额外分析。
重点结论如下:
1、研究者对每个模型在其训练数据在互联网上抓取之前创建的数据集和之后创建的数据集进行了分析。结果发现,对于在收集 llm 训练数据之前创建的数据集,其性能高于大多数基线的几率明显更高(图 1)。
2、研究者进行了训练数据检查和任务示例提取,以查找可能存在的任务污染。结果发现,对于不可能存在任务污染的分类任务,在一系列任务中,模型很少比简单多数基线有统计意义上的显著提高,无论是零样本还是少样本(图 2)。
研究者也检查了 gpt-3 系列和开放 llm 的平均表现随时间的变化,如图 3:
3、作为案例研究,研究者还尝试对分析中的所有模型进行语义解析任务的成员推理攻击,发现在最终任务中,提取实例的数量与模型的准确性之间存在很强的相关性(r=.88)(图 6)。这有力地证明了在这一任务中零样本性能的提高是由于任务污染造成的。
4、研究者还还仔细研究了 gpt-3 系列模型,发现可以从 gpt-3 模型中提取训练示例,而且从 davinci 到 gpt-3.5-turbo 的每个版本中,可提取的训练示例数量都在增加,这与 gpt-3 模型在该任务上零样本性能的提高密切相关(图 2)。这有力地证明了从 davinci 到 gpt-3.5-turbo 的 gpt-3 模型在这些任务上的性能提高是由于任务污染造成的。
编辑:蛋酱
更多研究细节,可参考原论文。