合成数据需求
最近Epoch AI宣称大模型在2026年将会面临数据危机,我对此也比较关注。所以我觉得有必要写一篇小记,梳理一下模型训练对数据的需求,并论述一下大模型的训练数据究竟会在什么时候耗尽。
Scaling Law 估计需求
为了先对全局有一个较好的把握,我们先从经验公式开始。大模型的Scaling Law经验公式主要有两个,分别是KM Scaling Law(Open AI 2020年1月的工作,我们简称KM)和ChinChilla Scaling Law(DeepMind 2022年9月的工作,简称ChinChilla)。
KM树立了一个大模型性能(Loss的下降)将会随着模型参数量、计算量、数据量的不断增加而幂指数上升的信念,OpenAI指出Loss和这三者的关系大约是-0.05到-0.1次方的关系,而ChinChilla则主要指出了这三者联合关系的经验公式。
数据的真实需求
一般语料:
直觉上说,大模型对数据的格式要求并不严格,打个粗糙的比方,大模型基于数据进行训练的过程就像小孩读书启蒙世界观和语言能力,名著、小说还是微博评论区对通识能力的涌现并没有特别大的影响;前期数据清洗时主要的工作一般只是去除乱码留下文本。
专用语料:
然而,一旦要求模型具有专门能力,我们就必须为针对性训练准备数以十亿字计的相应文字材料,例如我们希望模型拥有精湛地Weierstrass定义求表达式极限的能力(90%@1Pass),就需要准备上亿条高等数学领域的定义、算式和上千万条运用Weierstrass定义求解的例题;从这个角度来讲,专用语料不用等到2026年,在当下就面临着严重的短缺。
小估计:一个最典型的专用数据类型的例子就是代码,我们可以估计一下当前模型为了训得代码能力可以找到的数据量:据Wikipedia 2022记录,Github上的总仓库数量已经超过了1.9亿个,其中的开源仓库超过了2800万个;我的室友课程大作业1700行代码,我们假设每个repo都有这个数量级,那么开源的代码数量就将超过 $4.76 \times 10^{11}$ 行,或许有些小众语言还缺乏训练数据,但是作为整体,我不建议任何startup下场做代码数据合成。
结论
量级 基于上面的论述,我们可以粗糙地认为,想让大模型具备某种语言习惯,大致要为它准备数亿行语句或数百亿token,小于这个量级的合成数据可以被认为不具价值。
价格 另外估计如果训练方愿意为数据支付十分之一的总费用,这 批100亿token的数据价格大致就会在1000万到10亿量级不等。
耗尽时间 专用语料可以评价为早就耗尽了(从来就没够过),等不到2026年;至于通用语料耗尽时间大致等同大气层空气耗尽时间。
场景 可以指出的一部分存在合成数据想象空间的领域,包括合成数学推导、合成硬件编程语言、合成特定操作系统指令(比如无人机控制指令),其他的也欢迎大家补充 😺。