AI训练AI,可能会让AI变傻?!
来自牛津、剑桥等学校机构的研究人员最新发现,使用合成数据训练,大模型可能会崩溃。其研究成果被选为最新的Nature封面。
直接一个:GARBAGE OUT!
要知道,现在绝大部分科技公司的大模型都在用合成数据来缓解“数据荒”。这下无疑是整个行业浇了一波冷水。
研究团队给了这样一个例子。
他们测试了Meta的OPT-125m模型,询问了关于中世纪建筑的相关信息。
每一次微调都是由上一次生成的数据来训练。结果前面几轮回答还好。结果就在第九次,就开始胡说八道……
扯到兔子是什么鬼?!
该论文主要作者表示,他们曾考虑过合成数据可能对大模型造成误差,但未曾预料到模型的恶化速度会如此迅速。
三个误差导致模型崩溃
首先,团队定义了什么是模型崩溃。
模型崩溃是一个退化过程,模型生成的内容会污染下一代的训练数据集。而在被污染的数据上训练之后,新一代模型就容易误解现实。
以此循环往复,一代更比一代差。
按照时间推移,主要分为两种情况:早期模型崩溃和晚期模型崩溃。
早期模型崩溃中,模型开始丢失一些尾部信息。(类似概率分布中一些低概率事件) 而在晚期模型崩溃,模型将收敛到同原始分布几乎没有任何相似之处。
这一过程的发生,同模型设计、学习过程和所用数据质量有关。
具体到理论中,主要包括了这三个误差导致大模型同原始模型的偏离。
- 统计近似误差。这是主要类型的误差,由于样本数量有限而产生,并随着样本数量趋于无穷大而消失。这是因为在重新采样的每一步中信息都有可能丢失,这种概率不为零。
- 函数表达性误差。这种误差是由于函数近似表达能力有限而产生的。特别是,神经网络只有在其规模达到无穷大时才是通用近似值。不过,在没有其他两种误差的情况下,这种误差只会发生在第一代。
- 函数近似误差。主要由学习过程局限性引起,例如随机梯度下降的结构偏差或目标的选择。这种误差可以看作是在无限数据和每一代都具有完美表达能力的情况下产生的误差。
对语言模型的影响
随后研究人员评估了模型崩溃对语言模型的影响。由于从头开始训练大模型成本非常高,他们选择评估语言模型最常见的设置:微调设置。
每个训练周期都从具有最新数据的预训练模型开始。训练数据来自另一个经过微调的预训练模型。
他们用Meta因果语言模型OPT-125m,在wikitext2上进行了微调。
为了从训练好的模型中生成数据,团队使用了five-way波束搜索。他们将训练序列设为 64 个token长度;然后对于训练集中的每个token序列,要求模型预测下一个64个token。
他们会浏览所有原始训练数据集,并生成一个相同大小的人工数据集。如果模型的误差为0,它就会生成原始的wikitext2数据集。
为了进一步感受区别,他们采用两种不同的设置:一组是除了最开始训练,后续过程没有任何原始训练数据;另一组则是保留10%的原始数据。
结果显示,随着时间推移,模型产生的错误会增加。在模型完全崩溃之前,它还会导致模型遗忘数据集中低概率事件,他们的输出也变得更加同质化。最终也就出现了开头这一现象。
另外在VAE、GMM模型中看到了类似模型崩溃的现象。
来自杜克大学的Emily Wenger教授表示,到目前为止,要缓解这一问题并非易事。
有领先的科技公司已经部署了一项技术,即嵌入“水印”——
标记AI生成的内容,让其在训练数据中排除。但困难在于,这需要科技公司之间的协调,因此不太具有商业可行性。
这样一来,那从之前互联网获取数据的公司,他们训练的模型更能代表现实世界。所以,最开始那一波大模型算是有了先发优势。
对于这一观点,你怎么看呢?
参考链接:
[1]https://www.nature.com/articles/d41586-024-02420-7。
[2]https://www.nature.com/articles/d41586-024-02355-z。
[3]https://www.nature.com/articles/s41586-024-07566-y。