感谢网友 刺客 的线索投递!
用 AI 生成的数据训练 AI,模型会崩溃?
牛津、剑桥、帝国理工、多伦多大学等机构的这篇论文,今天登上了 Nature 封面。
如今,LLM 已经强势入侵了人类的互联网,极大地改变了在线文本和图像的生态系统。
如果网络上的大部分文本都是 AI 生成的,我们用网络数据训练出的 GPT-n,会发生什么?
论文地址:https://www.nature.com/articles/s41586-024-07566-y
研究者发现,如果在训练中不加区别地使用 AI 产生的内容,模型就会出现不可逆转的缺陷 —— 原始内容分布的尾部(低概率事件)会消失!
这种效应,被称为「模型崩溃」。
换句话说,合成数据就像是近亲繁殖,会产生质量低劣的后代。
模型崩溃在 LLM、变分自编码器 VAE 和高斯混合模型 GMM 中,都可能会发生。
有网友认为,是时候敲响警钟了!
「如果大模型真的在 AI 生内容的重压下崩溃,这对它们的可信度来说就是末日了。如果它们吃的是机器人反刍的内容,我们真的能相信 LLM 的输出吗」?
真实数据,价值连城
我们都知道,如今全球已陷入高质量数据荒。
当前的大模型(包括 GPT-3)还是主要基于人类生成的文本进行训练的,但是未来可就不一定了!
如果未来,大多数模型的训练数据也是从网上抓取的,那它们不可避免地会用上前辈模型生成的数据。
当某个版本的 GPT 生成的大部分文本,成为了后续模型的训练数据集,随着版本号的增加,GPT-{n} 会发生什么变化?
LLM 迭代至第 9 代,完全胡言乱语
简单讲,LLM 生成的数据最终污染了下一代模型的训练集,就会出现「模型崩溃」(model collapse)的现象。
由于在被污染的数据上进行训练,LLM 随后会错误地感知现实。
这样一来,会导致多代 AI 生成模型的退化。也就是那句经典名言 —— 垃圾进,垃圾出。
合成数据,无异于给数据集「投毒」。
研究中,作者们使用维基百科文章先训练了模型 OPT-125m,并在前一代模型生成的文本上,训练了多代模型。
模型们被要求续写一段来自 wiki 的关于「萨默塞特(Somerset)一级登录建筑」条目的文本。
输入的提示如下所示,这是关于设计 14 世纪教堂塔楼主题的文本:
输入:据 Poyntz Wright 所说,一些教堂塔楼在 1360 年之前就开始建造了,通常是由一位大师石匠和一小队流动石匠完成,辅以当地教区的工人。但其他作者不同意这种观点,他们认为主要是由著名建筑师根据早期的垂直风格设计了这些教区教堂的塔楼。
在第 0 代模型中,输入同样的提示,得到的输出是:
第 0 代:复兴建筑的典型例子包括伦敦的圣约翰大教堂。最早的垂直复兴建筑实例可以在 18@-@世纪的根西岛圣母教堂中找到,该教堂实际建于 19 世纪晚期。垂直教堂有两种类型:那些。
可以看到,Gen0 的续写已经开始有点前言不搭后语了,而且还出现了诡异的符号「@-@」。
奇怪的事实错误是,圣约翰大教堂位于纽约,不在伦敦。
在 Gen1 中,虽没有奇怪符号的输出,但同样出现了事实错误 ——
圣彼得大教堂(St. Peter’s Basilica)真正位于梵蒂冈,而不是什么罗马、布宜诺斯艾利斯。而且建造于公元 1506 和 1626 年之间,由教皇朱利奥二世开始建造,直至教皇奥本八世。
第 1 代:像罗马的圣彼得大教堂或布宜诺斯艾利斯的圣彼得大教堂这样的建筑。虽然没有证据表明这些建筑是在教皇英诺森三世统治期间建造的,但它们有可能是在他的继任者教皇英诺森统治期间建造的。
接下来,到了第五代模型,输出的结果完全是胡言乱语了。
以 ism 起句,讲了一大堆语种,根本不是续写的相关素材。
第 5 代:ism,已被翻译成 100 多种语言,包括英语、法语、德语、意大利语、西班牙语、葡萄牙语、荷兰语、瑞典语、挪威语、波兰语、匈牙利语、斯洛伐克语、立陶宛语、爱沙尼亚语、芬兰语、罗马尼亚语、保加利亚语、土耳其语、克罗地亚语、塞尔维亚语、乌克兰语、俄语、哈萨克语、吉尔吉斯语。
再到第 9 代,奇怪的 @-@符号又出现了,而且还输出了更加无关的内容 —— tailed jackrabbits。
第 9 代:建筑。除了拥有世界上最大数量的黑 @-@尾兔、白 @-@尾兔、蓝 @-@尾兔、红 @-@尾兔、黄 @-。
以下是所有迭代模型,完整输出的过程。每一代新的模型都是在前一代生成的数据上进行训练的。
看得出,模型在每一代次迭代中退化。研究人员发现,所有递归训练后的模型,皆会输出重复的短语。
另一个案例是,今天杜克大学助理教授 Emily Wenger,发表在 Nature 上一篇社论文章中指出:
AI 基于自身数据训练,生成的图像扭曲了狗的品种。
数据集中,不仅有金毛、柯基,还有法国斗牛犬、小体巴塞特雪橇犬等。
基于真实数据训练后的模型,输出的图像中,常见品种如金毛寻回犬占大多数,而不太常见的品种斑点狗会消失。
然后,基于 AI 生成的数据训练模型,生成的品种全是金毛了。
最终,经过多次迭代,金毛的图像就完全出现混乱,脸不是脸鼻子不是鼻子,LLM 就此完全崩溃了。
此外,2023 年来自斯坦福和 UC 伯克利的一项研究中,作者同样发现了,LLM 在少量自己生成数据内容重新训练时,就会输出高度扭曲的图像。
论文地址:https://arxiv.org/pdf/2311.12202
他们还在实验中展示了,一旦数据集受到污染,即便 LLM 仅在真实图像上重新训练,模型崩溃现象无法逆转。
作者警示道,为了模型不再被自己「降级」,AI 需要能够区分真实和虚假内容。
这一观点,与 Wenger 不谋而合。
她认为,缓减 LLM 崩溃并不简单,不过科技公司已经部署了嵌入「水印」的技术,进而可以把标记 AI 生成内容,从数据集中剔除。
此外,模型崩溃的另一个关键寓意是,那些早已构建的 AI 模型,有着先发优势。
因为,从 AI 时代互联网获取训练数据的公司,可能拥有更能代表真实世界的模型。
什么是模型崩溃?
最新研究中,作者表示,模型崩溃包含了两种特殊的情况:早期模型崩溃、晚期模型崩溃。
在早期模型崩溃中,模型开始丢失关于数据分布尾部的信息;在晚期模型崩溃中,模型收敛到一个与原始分布几乎没有相似性的分布,通常方差显著降低。
这一过程的发生,是由于三种特定误差源,在多代模型中逐渐累积,最终导致模型偏离原始模型:
– 统计近似误差
这是主要的误差类型,由于样本数量有限而产生,并且在样本数量趋向无限时会消失。这是因为在每一步重采样过程中,信息丢失的概率总是存在。
– 函数表达误差
这是次要误差类型,由于函数近似器(function approximator)的表达能力有限而产生。
特别是,神经网络只有在其规模无限大时,才能成为通用近似器。
因此,神经网络可能会在原始分布的支撑集(support)之外,引入「非零概率」,或在原始分布的支撑集内引入「零概率」。
一个简单的例子是,如果我们用单个高斯分布,来拟合两个高斯分布的混合。即使有完美的数据分布信息(即无限数量的样本),模型产生误差也是不可避免的。
然而,在没有其他两种类型误差的情况下,这种误差只会在第一代发生。
– 函数近似误差
这也是次要的误差类型,主要由于学习过程的限制而产生,例如随机梯度下降的结构偏差或目标函数选择的影响。
这种误差可以看作,即便在理想条件下,即拥有无限数据且完美表达能力,仍在每一代模型中产生。
综上所述,每种误差都可能会导致模型崩溃变得愈加严重,或得到一些改善。
更强的近似能力甚至可能是一把「双刃剑」。
因为更好的表达能力可能抵消统计噪声,从而更好地逼近真实分布,但同样也可能放大噪声。
更常见的情况下,我们会得到一种级联效应(cascading effect),其中个别的不准确性会结合起来,导致整体误差的增长。
例如,过拟合密度模型会导致模型错误地外推,并将高密度区域分配给训练集中未覆盖的低密度区域。
这些错误分配的区域,随后会被频繁采样。
值得注意的是,除上述内容之外,还存在其他类型的误差。比如,在实际操作中,计算机精度是有限的。
接下来,研究人员将通过「数学直觉」来解释上述误差是如何产生的,不同误差来源如何复合(compound),以及我们如何量化平均模型偏差。
理论直觉
在所有基于前几代生成数据进行递归训练的生成模型,这种现象都是普遍存在的。
所以,到底是什么原因,导致了模型崩溃?
研究者提供了几种理论解释。
通过研究两个数学模型,研究者量化了前一部分讨论的误差来源。
这两个模型分别是一个在没有函数表达能力和近似误差情况下的离散分布模型,以及一个描绘联合函数表达能力和统计误差的多维高斯近似模型。
它们既足够简单,可以提供感兴趣量的解析表达式,同时也能描绘模型崩溃的现象 ——
考虑的总体随机过程,作者称之为「代际数据学习」。
第 i 代的数据集 D_i 由具有分布 p_i 的独立同分布随机变量组成:
其中,数据集的大小 j∈{1,…, M_i}。
从第 i 代到第 i+1 代,我们需要估计样本在新数据集 D_i 中的分布,近似为:
这一步称之为函数近似:
然后通过从:
中采样,生成数据集:
其中,非负参数 α_i, β_i, γ_i 的和为 1,即它们表示来自不同代的数据的比例。
它们对应的混合数据,分别来自原始分布(γ_i)、上一代使用的数据(β_i)和新模型生成的数据(α_i)。
这一步,称为采样步骤。
对于即将讨论的数学模型,我们考虑 α_i=γ_i=0,即仅使用单步的数据,而数值实验则在更现实的参数选择上进行。
离散分布的精确近似
在本小节中,我们讨论一种没有函数近似和表达误差的离散概率分布,即:
在这种情况下,模型崩溃的原因仅仅是采样步骤中的统计误差。
首先,由于低概率事件被采样到的概率很低,它们的尾部(低概率事件)会逐渐消失,随着时间的推移,分布的支持范围也会缩小。
假设样本量为 M,如果我们考虑一个概率为 q≤1 / M 的状态 i,那么来自这些事件的 i 值样本的期望数量将小于 1。
也就是说,我们会失去关于这些事件的信息。
如果更一般地考虑一个概率为 q 的状态 i,使用标准条件概率,我们可以证明失去信息的概率(即在某些代中没有采样到数据)等于 1−q。
这也就意味着,分布最终会收敛到某个状态处的 δ 函数,最终落在某个状态的概率等于从原始分布中采样该状态的概率。
将这个过程:
看作一个马尔可夫链,我们就可以直接证明上述结论,因为 X^(i+1) 仅依赖于 X^i。
此外,如果所有如下值:
都相同,那么在下一代,近似分布将完全是一个 δ 函数。因此所有如下值:
也将相同。
这就意味着,马尔可夫链至少包含一个吸收态,因此它会以概率 1 收敛到其中一个吸收态。
对于这个链,唯一的吸收态是那些对应于 δ 函数的状态。
因此,随着我们跟踪的模型逐渐崩溃,我们必然会陷入一个常数状态;当这条链被完全吸收时,原始分布的所有信息就都丧失了。
在一般情况下,这个论点也是成立的,因为浮点表征是离散的,因此使得模型参数的马尔可夫链也是离散的。
因此,只要模型参数化允许使用 δ 函数,我们一定会到达这个结论,因为由于采样误差的原因,唯一可能的吸收态就是 δ 函数。
基于上述讨论,我们可以看到,无论是早期模型崩溃(仅低概率事件被切断)还是后期模型崩溃(过程开始收敛到单一模式)的现象,只要是在具有完美函数近似的离散分布下,都必然会出现。
多维高斯分布
在讨论了离散分布之后,我们就可以提出一个更通用的结果,它可以在高斯近似的背景下得到证明。
在这种情况下,每一代的数据都是通过上一代的均值和方差的无偏估计来近似的。
高斯模型崩溃
假设原始数据是从分布 D_0(不一定是高斯分布)中采样的,且样本方差不为零。假设 X^n 是递归地使用上一代的无偏样本均值和方差估计来拟合的,其中:
且样本量是固定的。
此时就可以得到:
其中,W_2 表示第 n 代的真实分布和其近似之间的 Wasserstein-2 距离。
换句话说,这意味着不仅第 n 代的近似值会任意远地偏离原始分布,而且随着代数的增加,它也会以概率 1 收敛到零方差,从而发生崩溃。
这个定理展示了后期模型崩溃的效果,即过程开始收敛到零方差。这个过程,与离散情况非常相似。
语言模型中的模型崩溃
当模型发生崩溃,会对语言模型产生哪些影响?
模型崩溃在各种机器学习模型中都是普遍现象,然而像变分自编码器(VAE)和高斯混合模型(GMM)这样的小模型通常是从头开始训练的,而 LLM 则有所不同。
从头训练的成本非常高,因此通常使用预训练模型(如 BERT、RoBERTa 或 GPT-2)进行初始化,然后再对预训练模型进行微调以适应各种下游任务。
那么,当 LLM 使用其他模型生成的数据进行微调会发生什么呢?
实验评估了训练大语言模型最常见的微调设置,其中每个训练周期(epoch)都从一个预训练模型开始,并使用最新数据。
这里的数据来自另一个已经微调过的预训练模型。
由于训练范围限制在生成接近原始预训练模型的模型,由于这些模型生成的数据点通常只会产生非常小的梯度,因此实验的预期是模型在微调后只会发生适度的变化。
实验微调了 Meta 通过 Hugging Face 提供的 OPT-125m 因果语言模型,在 wikitext2 数据集上对模型进行微调。
为了生成训练模型所需的数据,实验使用五向集束搜索(beam search)。
将训练序列限制为 64 个 token,然后对于训练集中的每个 token 序列,让模型预测接下来的 64 个 token。
用上面的方法调整所有原始训练数据集,并生成一个大小相同的人工数据集。
由于范围涉及所有原始数据集并预测了所有块 (Block),如果模型的误差为 0,它将生成原始的 wikitext2 数据集。
每一代的训练都从原始训练数据的生成开始,每个实验运行五次,结果显示为五次独立运行,使用不同的随机种子。
用 wikitext2 数据微调的原始模型,平均困惑度(perplexity)从零样本基线的 115 下降到 34,说明它成功地学习了任务。
最后,为了尽可能接近现实情况,实验使用了在原始任务上表现最好的模型,使用原始 wikitext2 验证集进行评估,作为后续几代的基础模型。
这意味着,实际上观察到的模型崩溃可能更加明显。
实验还考虑了考虑两种不同的设置:
– 5 个 epoch,不保留原始训练数据。
在这种情况下,模型在原始数据集上训练五个周期,但在后续的训练中不再使用原始数据。
整体的原始任务表现如图所示。
实验发现,使用生成的数据进行训练虽然能适应基本任务,但性能有所下降,困惑度从 20 增加到 28。
– 10 个 epoch,保留 10% 的原始训练数据。
在这种情况下,模型在原始数据集上训练十个周期,并且每次新的训练时,随机保留 10% 的原始数据点。
整体的原始任务表现如图所示。
实验发现,保留部分原始数据可以更好地进行模型微调,并且仅导致性能的轻微下降。
虽然两种训练方式都导致了模型性能下降,但实验发现使用生成数据进行学习是可行的,模型也能成功地学习一些基础任务。
特别是,从图下及其 3D 版本中可以看到,模型崩溃现象确实发生了,因为低困惑度样本的密度随着训练代次的增加而开始累积。
这意味着,在多个训练代次中,采样数据可能会逐渐趋向于一个 δ 函数。
到这里,结论就和「理论直觉」中的一般直觉一致了。
可以看到,生成的数据有更长的尾部,这就表明某些数据是原始模型永远不会生成的。而这些错误,就是来自代际数据学习的积累。
这也给我们敲响了警钟 ——
如果没有大规模采用 AI 泛滥之前从网上抓取的数据,或者直接使用人类生成的大规模数据,训练新版本的 LLM,恐怕会变得越来越困难!
有什么办法吗?
研究团队认为,AI 生成数据并非完全不可取,但一定要对数据进行严格过滤。
比如,在每一代模型的训练数据中,保持 10% 或 20% 的原始数据;使用多样化数据,如人类产生的数据;或者研究更鲁棒的训练算法。
没想到吧,人类创造的数据,居然有一天会如此价值连城。
参考资料:
-
https://www.nature.com/articles/d41586-024-02420-7
-
https://www.nature.com/articles/s41586-024-07566-y
本文来自微信公众号:微信公众号(ID:null),作者:新智元,原标题《AI 训 AI 惨遭投毒 9 次大崩溃,牛津剑桥等惊天发现登 Nature 封面!》