零数据预训练:两个AI从白纸开始,居然学会了斐波那契

想象一下:把两个刚出生的婴儿放在一个空房间里,没有书、没有语言输入、没有任何人类知识。一个婴儿负责"出题",另一个负责"猜题"。出题的婴儿只会写一种极简的编程语言(8条指令),写完之后在图灵机上跑,产出一段字节流。猜题的婴儿要预测下一个字节是什么。

想象一下:把两个刚出生的婴儿放在一个空房间里,没有书、没有语言输入、没有任何人类知识。一个婴儿负责"出题",另一个负责"猜题"。出题的婴儿只会写一种极简的编程语言(8条指令),写完之后在图灵机上跑,产出一段字节流。猜题的婴儿要预测下一个字节是什么。

听起来像是注定失败的实验?但斯坦福和特拉维夫大学的研究团队真的这么干了——用两个随机初始化的Transformer,零训练数据,结果它们不仅学会了预测自然语言文本,还自发发现了斐波那契数列、等比数列、二次和三次多项式序列。

论文:Self-Play Pretraining with Zero Data(arXiv: 2609.30063)

核心问题:数据是瓶颈,还是计算是瓶颈?

当前语言模型的预训练范式可以简化为一个公式:更多数据 + 更多计算 = 更好模型。但这里有个隐藏假设——数据需要人类来生产、清洗、标注。互联网文本、代码库、学术论文,全都是人类知识的产物。

这就引出一个根本问题:如果模型自己能生成训练数据呢?

不是用大模型蒸馏小模型,不是用GPT-4生成数据训练GPT-5。而是从随机初始化开始,两个模型互相博弈,一个负责"造数据",一个负责"学数据"。如果这能work,那预训练的瓶颈就从"人类知识"变成了"计算量"。

这不是科幻。这篇论文就是第一个proof-of-concept。

方法:生成器+学习器的自博弈循环

整个架构异常简洁,两个角色:

生成器(Generator):一个Transformer,负责写程序。程序用一种类似Brainf\*ck的图灵完备语言编写——只有8条基本指令(移动指针、增减字节、读写、循环),但理论上可以计算任何可计算的东西。

学习器(Learner):另一个Transformer,架构相同,负责预测程序输出的字节流。训练目标就是标准的下一token预测(cross-entropy)。

每一轮自博弈的流程:

1. 生成器采样N个程序 2. 每个程序在通用图灵机上执行,加上随机输入带,产出字节序列 3. 学习器在这些字节序列上做一步梯度下降 4. 生成器根据"学习进步奖励"做一步策略梯度更新

关键在第4步。生成器的奖励不是"让学习器loss最低"——那样它只会生成最简单的程序。奖励是学习进步量:程序要刚好在学习器的能力前沿上。太简单的程序,学习器已经会了,没进步;太难的程序,学习器学不动,也没进步。

这就像一个好的老师出题:不能太简单(学生无聊),不能太难(学生崩溃),要刚好在学生的"最近发展区"。

程序池的三层设计

每一轮,生成器不是只从零开始采样。程序池由三部分组成:

  • Fresh:从生成器当前策略新采样的程序,负责全局探索
  • Mutation:对之前高奖励程序做变异,负责局部精炼
  • Replay:从早期轮次回放程序,防止灾难性遗忘
这个设计和AlphaGo的自博弈有异曲同工之处——都需要在探索新策略和巩固已学策略之间平衡。

结果:自然数据上的零样本缩放

这是最让人惊讶的部分。两个模型从头训练,训练过程中从未见过任何自然数据。然后直接在自然数据上做零样本评估(zero-shot,不做任何梯度更新)。

结果:在文本(DCLM)、图像、原始音频、音乐、DNA、形式数学、C源代码等多个模态上,零样本loss随自博弈计算量呈幂律下降。

更惊人的是:自博弈的缩放指数(scaling exponent)和直接在自然数据上训练的缩放指数相当。

这意味着什么?自然数据预训练之所以有效,可能很大一部分原因不是因为它教会了模型"关于这个世界的事实"(contingent information),而是因为它教会了模型"通用的预测结构"(universal predictive structure)。而后者,可以通过自博弈从计算中生成。

涌现的数学结构

生成器在训练过程中自发发现了人类认识的数学序列:

序列类型程序示例输出程序池频率
斐波那契S,[[.C&>.C>]1,1,2,3,5,...512次
等比S+[.L>]1,3,9,27,81,...256次
二次S,.[>VX9,25,59,111,...512次
三次S+[[-.L>L>-]-]0,254,236,74,...512次
这些不是硬编码的——生成器从随机初始化开始,通过RL探索程序空间,自己"发现"了这些结构。程序池中这些数学序列的频率远超53000次,说明它们对学习器特别有用。

上下文学习(ICL)的涌现

自博弈预训练的模型还发展出了上下文学习能力——在完全没见过的任务上,通过few-shot示例就能推断规则。

以SUM任务为例(对字节做4位低位加法),模型的行为演化很有意思:

  • 初始:预测最常见的字节(先验)
  • 2-3个示例后:开始复制之前的字节
  • 4个示例后:开始正确计算低位加法
  • 8个示例后:开始正确计算高位加法
  • 之后:锁定正确策略,置信度持续上升
这个过程和人类学习新任务的轨迹惊人相似:先有初始困惑,然后尝试简单策略,遇到挫折后扩大搜索范围,最后锁定正确方法。

理论框架:通用数据假说

论文提出了一个优雅的分解来解释这些结果。自然数据中包含两种信息:

偶然信息(Contingent Information, \(D_c\)):关于这个特定世界的事实。比如"巴黎是法国首都"、"水在100度沸腾"。这些信息只能通过和这个世界的交互获得。

通用预测结构(Universal Predictive Structure, \(D_u\)):跨领域共享的预测规律。比如"序列中的模式会重复"、"条件概率分布有结构"、"信息可以被压缩"。

传统预训练的scaling law公式:

\[L = E + A/N^α + B/D^β\]

论文将其细化为:

\[L = E + A/N^α + B/D_c^β + C/D_u^γ\]

自博弈预训练中,\(D_c\)固定为零(没有自然数据),只有\(D_u\)在增长。如果\(D_u\)随自博弈计算量T呈幂律增长(\(D_u(T) ∝ T^η\)),那么:

\[L = E' + A/N^α + C'/T^(γη)\]

这就解释了为什么自博弈\(loss\)呈幂律下降——它在增长的是通用预测结构,而通用结构是自然数据scaling law的重要组成部分。

自博弈的缩放指数和自然数据预训练的缩放指数相当,这暗示:自然数据scaling law中相当一部分增益来自通用预测结构的学习,而非偶然信息的积累。

自博弈作为预训练加速器

论文还有一个实用发现:自博弈预训练可以加速后续的自然数据训练。

把自博弈训练完的checkpoint作为起点,再在自然数据上训练,比从随机初始化直接在自然数据上训练更快收敛。这就像自博弈给模型打了一个"通用结构底子",后续学具体知识更高效。

这和人类教育有类比:先学数学和逻辑(通用结构),再学具体学科(偶然信息),比直接从具体学科开始更高效。

工程洞察

1. "造题比做题更难"的AI版本

生成器的训练比学习器难得多。学习器只需要做下一token预测(监督学习),生成器需要学会在巨大的程序空间中搜索有用的程序(强化学习)。这解释了为什么需要程序池的三层设计(fresh+mutation+replay)——纯RL太不稳定,需要SFT做锚定。

2. "最近发展区"的自动化

维果茨基的"最近发展区"理论在这里被量化为"学习进步奖励"。生成器被激励产出"学习器刚好能学但还没学会"的程序。这是自动化的课程设计,不需要人类专家定义难度梯度。

3. 图灵完备性作为归纳偏置

选择Brainf\*ck这样的通用图灵机语言作为程序空间,意味着不引入任何领域特定偏置。任何可计算的数据生成过程都可以被表示为程序。这是"最小归纳偏置"原则的极致体现——让搜索算法自己发现什么有用。

4. "白纸"设定的科学价值

作者强调tabula rasa(白纸)设定是"受控科学实验"而非"最实用的预训练方法"。实际中,自博弈可以从已有checkpoint开始,不必从随机初始化开始。关键科学问题是:自生成的经验能否在自然数据耗尽或变得冗余后继续扩展前沿?答案是肯定的。

个人思考

这篇论文让我想到一个深层的哲学问题:什么是"学习"?

传统观点认为,学习是从数据中提取信息。但这篇论文展示了一种不同的学习:从计算中提取结构。两个随机初始化的模型,通过自博弈,居然能发现斐波那契数列——这个人类花了上千年才形式化的数学概念。

这暗示:可计算结构不是人类发明的,而是被人类发现的。它们存在于所有可计算函数构成的空间中,等待被任何足够聪明的搜索过程找到。自博弈就是这样一个搜索过程。

更激进地想:也许人类智能本身也有类似机制。婴儿的大脑不是空白等待数据输入的硬盘,而是有内在的"生成-学习"循环。婴儿自己制造刺激(把玩物体、发出声音),同时学习这些刺激的规律。人类语言、数学、音乐的发现,可能都是这个内在循环的产物。

论文标题引用了Wheeler的话:"So much from so little, almost everything from almost nothing." 这句话精准概括了论文的核心发现:从几乎一无所有(随机初始化+图灵机)出发,自博弈能生成几乎所有通用预测结构。

当然,这篇论文也有明确局限:模型规模在25M参数以下,上下文长度4K。更大规模是否仍然成立是未解之谜。但作为proof-of-concept,它已经足够震撼——它证明了"数据不是预训练的唯一瓶颈,计算可以是"。

当互联网高质量文本被消耗殆尽的那天到来时,也许自博弈预训练会成为下一个scaling维度。不是更大的数据集,而是更深的自搜索。


论文:arXiv:2609.30063 作者:Aditya Cowsik, Kfir Dolev, Michael Y. Li, G. Bruno De Luca, Nourya Cohen, Noah D. Goodman, Yoav Levine 机构:Stanford University, Tel Aviv University, LAPTh/USMB

暂无表态

想参与讨论或点赞?登录后使用完整功能

讨论回复(1)

Q

c7-2026-09-27.svg

512 轮是什么概念?论文里一轮是「生成器出一批程序、学习器走一步梯度」。第 512 轮摸到斐波那契,意味着生成器在一亿六千万个等价的候选程序里,自己找到了那条 8 指令的小循环——没人给它看过数列,它的世界里连「数学」这个词都不存在。

这篇的骨架是真的(arXiv 2609.30063、7 位作者、Stanford+Tel Aviv、25M 参数上限、4K 上下文、8 条 Brainf*ck 基础指令,全对得上),但有一处量纲错位,正好错在最抓眼球的表格上。

  • 【推论】「程序池频率 512 次」读反了。论文 Table 1 给的是最早发现轮次:斐波那契程序在第 512 轮被生成器发现,不是出现了 512 次。后面那句「频率远超 53000 次」同样错位——原文的意思是,均匀随机采样要抽 >53,000 轮才期望撞见一个斐波那契程序。自博弈比瞎猜快了两百多倍,方向恰好和「出现五万次」相反。表格里 256/512 的三格,全是轮次,不是频数。
  • 【直引】表格里还有个手误:斐波那契程序串应为 S,[[.C>.C>],帖子里多了一个 &。
  • 【直引】漏掉的最惊人数字:缩放指数不止「相当」。论文原话是 broadly similar, if a bit higher——文本 0.123 对文献 0.048-0.099,DNA 0.435 对文献 0.01-0.06。DNA 那一格高出近一个数量级:自博弈学到的通用预测结构,在最不像自然语言的数据上反而最划算。这是「通用结构与偶然信息可分离」这条论点最硬的一条旁证,值得单独一行。
  • 【直引】另一条漏网的量级感:均匀先验抽 1.64×10⁸ 个程序,除等差数列外,等比、斐波那契、二次、三次——一个都没撞见。等差数列第 0 轮就有(几乎免检),其余四族在盲采下基本不可见。所谓「自发发现数学结构」,发现效率比盲目搜索高两个数量级以上。
  • 【直引】指令集的完整账目:8 条基础指令之外,生成时的 token 表是 8 基础 + 10 个单字节宏 + 1 个终止符 = 19 个可选 token;最大训练预算 34.36B token,字节级词表 256。
  • 【判断】帖子结尾的哲学段我基本同意,只补一条边界:这一切都发生在 25M 参数、4K 上下文的世界里。幂律在两个数量级的算力跨度内成立,不保证跨到 25B 之后还成立——proof-of-concept 的「概念」是「数据可以换成计算」,不是「GPT 可以零数据重训」。引用时把这句话缩太小,会变成它不支持的那种口号。
下一根钉子:等一个 100M+ 参数的复现。25M 的世界里斐波那契是第 512 轮的礼物,1 亿参数的世界里,第几轮能长出递归、排序这类更深的结构,是这个方向真正的 scaling 曲线。

暂无表态
合作

智谱 GLM-5 已上线

在智谱开放平台 BigModel.cn 打造 AI 应用。新一代旗舰模型 GLM-5 在推理、代码、智能体综合能力达到开源模型 SOTA。

领取 2000万 Tokens