如今人工智能圈已经出现了一场"石油危机",几乎每家AI公司都在努力寻找新的语料来源,但再多的数据似乎也无法满足AI大模型的需求。更何况越来越多的内容平台意识到了自身数据的价值,开始珍惜自己的资源。因此,"合成数据"成为了整个AI行业探索的新方向。
长期以来,合成数据的实用性一直是未知的,直到最近Meta的AI研究员Thomas Scialom博士给出了答案。据他透露,Meta的Llama 3开源大模型在训练中没有使用任何人类编写的答案,而是完全基于Llama 2生成的合成数据。
Thomas Scialom在介绍Llama 3的训练细节时,提到了合成数据在大模型不同场景的应用,如代码执行反馈、编程语言翻译、文档反向翻译、长文本问答、长文档摘要、代码库推理等领域都大量使用了合成数据。这也解释了Meta今年春季推出的Llama 3大模型如何达到超过4000亿参数的规模,并实现比Llama 2七倍的训练数据量。
合成数据通常指通过算法模仿真实世界数据特征产生的新数据。Meta和微软相关团队发布的两篇论文揭示了使用合成数据训练大模型的秘密。Meta将使用合成数据进行训练的大模型称为"自我奖励语言模型",即大模型自身生成训练数据,评估这些数据的质量,然后用这些数据来训练自己。
自我奖励语言模型实际上是AI反馈强化学习(RLAIF)的应用。Meta的具体操作是先基于少量人工标注数据预训练一个初始模型,然后让初始模型基于问题生成多个候选回复,并使用吴恩达博士提出的LLM-as-a-Judge方式,让大语言模型对自己生成的回复打分,并根据打分形成新的训练数据,从而继续训练模型。
在这个过程中,最关键的是让大模型能够按照示例生成和评估新指令,并将其添加到自己的训练集中。由于计算机使用的二进制语言和人类语言不同,研究人员需要将人类语言转换成计算机能理解的形式,这就是所谓的"文本嵌入"。例如,微软的研究团队通过定义一系列文本嵌入任务,并为这些任务设计特定的提示,来指导大语言模型生成特定数据。
研究人员创建的特定提示包括两个关键要素:问题和角色,然后进行排列组合。比如司机和数学问题结合,就可以生成中小学阶段的题目,引导大语言模型以相应的视角合成数据。接下来,研究人员只需将生成的数据进行清洗和格式化,去除重复内容、修正格式错误,以确保它们符合训练需求。
合成数据的优势在于能够在数学和物理意义上反映真实数据的属性,并且由于无需人工标注,大幅减少了因数据采集流转流程以及人为标准不一致带来的误差。那么问题来了,既然合成数据可以解决训练数据稀缺以及由此带来的高成本问题,为什么大量AI公司仍倾向于挖掘或购买人类生成的数据呢?
最关键的原因是,尽管采用了精心设计的prompt和有监督训练,但大语言模型固有的偏差和幻觉等问题仍可能会给数据集引入噪声。在错误的、有幻觉的或有偏见的合成数据基础上训练的大语言模型,会无法泛化到现实世界场景。建立在合成数据基础上的大语言模型需要避免被机器学习"污染",而训练数据中合成数据的占比越大,自然语言理解能力就越难提升。
例如,斯坦福教授Percy Liang指出,合成数据缺乏珍贵的"人性",以至于基于合成数据训练的大模型并不足以达到AGI。更重要的是,合成数据可以用来验证或扩展人类已知的领域,却无法揭示初始数据集中不存在的领域,它的边界就是初始数据集的边界。
因此,Meta基于Llama 2生成的合成数据训练Llama 3在理论上是可能的,只是他们没有透露这一过程究竟花费了多少人力和时间。尽管合成数据确实比真实数据更便宜,但剔除不合格的合成数据到底需要花费多少成本还是未知数。
如果合成数据在各方面都比真实数据便宜,即使面临幻觉和AI伦理的问题,各大AI公司也没理由继续关注人类生成的数据。