在上一篇文章《大模型的Token生成动力学漫谈》中,我们讨论了一个看似简单的问题:一个一次只输出一个字的系统,怎么能生成完整、连贯、有意义的内容?
当时给出的回答是:完整的含义从一开始就以能量的形式编码在上文的token之中。生成过程不过是这些能量沿时间轴的有序释放。没有一个外在的终点在"拉"着轨迹,而是已有token中的能量在持续"推"着轨迹。
写完之后,我一直在想一个问题:这个过程让我想起了什么?
后来我意识到,它让我想起的不是弹簧,不是化学反应,而是一个远比它们都古老的系统:基因。
· · ·
人从一颗受精卵长成一个完整的人,大约需要经历40万亿次细胞分裂。在这个过程中,没有谁从外部发号施令说"现在长手指""现在该形成海马体了"。所有的指令,在受精卵形成的那一刻,就已经全部写在DNA里了。
但DNA并不是一张蓝图。这是一个常见的误解。蓝图意味着结果与图纸之间存在一一对应的映射关系,你看着蓝图就能直接看到建筑的样子。DNA不是这样。DNA更像一个程序,或者更准确地说,像一套有时序编排的指令集。它编码的不是"最终长什么样",而是"在什么条件下、什么时候、激活什么过程"。
这就有意思了。如果你读过上一篇关于Token生成动力学的文章,你可能已经感觉到了,这不就是token的逻辑吗?
Token也不是"答案的蓝图"。每个token携带的不是最终结论的某个片段,而是一种结构性约束:在当前上下文中,下一步应该往哪个方向走。答案不是被提前写好、然后逐字念出来的。答案是在力的逐步传递中,一步步涌现出来的。
基因也是如此。人体不是被提前画好、然后按图施工的。人体是在基因指令的逐步展开中,一步步涌现出来的。
让我们认真看看这种同构有多深。
在Token生成动力学中,我们说每个token的能量不是一次性释放的。"虽然"在出现时储存了转折预期的能量,但这个能量要延迟到十几个token之后、模型需要决定是否转折的那个位置才真正释放。
基因表达有着几乎完全相同的结构。
人类基因组里大约有两万多个基因,但在任一时刻,任一细胞中,只有一部分基因是活跃的。其余的都沉默着,不是被删除了,而是被化学修饰"封印"了,等待合适的时机被唤醒。
最经典的例子是Hox基因。这组基因控制身体的前后轴分化,决定"头在哪里、尾在哪里、中间长什么"。惊人的是,Hox基因在染色体上的物理排列顺序,与它们在身体前后轴上的激活顺序严格对应。排在染色体前端的基因先激活,控制头部发育;排在后端的后激活,控制尾部发育。这种物理排列与时序激活的一一对应,被称为共线性。
这就像一个token序列在模型内部的排列和它在时间轴上的释放顺序之间的对应关系。信息早就在那里了,但它按照特定的时序,逐步展开。
再看一个更细致的例子。婴儿出生后会经历一个所谓的"口欲期",对吮吸和口腔探索表现出强烈的偏好。这不是因为某个外部设计者说"这个阶段应该这样",而是因为在发育的这个时间节点上,与口腔运动相关的神经回路恰好优先完成了髓鞘化(神经纤维的绝缘层包裹),信号传导效率最先达标。而控制精细手指运动的神经回路此时还没有成熟,其相关基因的表达时间窗口排在后面。
这跟"虽然"的逻辑是一样的。"口欲期"的信息在受精卵的基因组里就已经编码了,但它的释放时间窗口是在出生后的特定月份。它是一个被延迟释放的基因"势能"。
在Token生成动力学中,我们强调过:token携带的能量不是一个标量,而是多维的。同一个token在不同的注意力头上编码着不同类型的信息,比如句法、语义、语体,并在不同时刻分别释放。
基因的信息结构同样是多维的,而且可以说更为极端。
同一个基因,在不同的细胞类型中,可以生产完全不同的蛋白质(通过可变剪接,也就是同一段DNA序列被不同的方式剪切和拼接,生成不同的最终产物)。一个基因在肝脏里做一件事,在大脑里做另一件事,在胚胎期和成年期又做不同的事。它携带的"信息"不是单一的,而是在不同的上下文中释放不同的维度。
这在结构上与多头注意力机制高度同构:同一个token,96个注意力头各自从中提取不同类型的关联信息。基因组是一个多维的信息存储体,它的"能量"在不同的细胞环境(相当于不同的注意力头)中被不同方式解读和释放。
在上一篇文章的结尾,我们借用了Stephen Wolfram的计算不可约性概念:要知道第100个token是什么,不存在比把前99个token全部生成完更快的方法。力的链条是严格串行的。
发育生物学家对此深有体会。
胚胎发育中,每一步的细胞状态决定了哪些基因被激活,激活后产生的蛋白质改变了细胞内外的化学环境,新的环境又决定下一步哪些基因被激活或沉默。这是一个严格的因果链。你不可能跳过胚胎发育的第5天去直接计算第50天的细胞分布,因为第50天的状态依赖于第6天到第49天每一天的具体演化结果,而每一天的结果又依赖于前一天。
这也是为什么发育生物学至今无法仅凭基因组序列就预测一个生物体的最终形态。我们已经测序了全部的DNA,但我们无法直接从这些序列"读出"一个人长什么样,因为从基因到个体之间的演化过程是计算不可约的。你必须让这个过程跑完,才能看到结果。
基因组就像一个prompt。你可以分析它、统计它、拆解它,但你无法不运行这个系统就知道它的输出。
· · ·
到这里,Token生成动力学与基因表达之间的同构关系已经相当清晰了:两者都是把编码在初始条件中的信息,通过有时序的、多维度的、不可跳过的因果链逐步展开为一个完整的结果。
但如果我们沿着这条类比再往前走一步,会碰到一个更大的问题。
这是很多人面对精密的生物系统时的直觉反应:这么复杂、这么精巧的东西,不可能没有设计者吧?一只眼睛、一个免疫系统、一个能从单细胞发育成完整生物体的基因组,这些东西的精密程度,似乎远远超出了"碰巧如此"的解释范围。
这就是所谓的智能设计论(Intelligent Design)的核心直觉:看起来有目的的东西,背后一定有一个有目的的设计者。
而大模型的token生成恰好在这个问题上提供了一个有趣的反例。
你看着大模型输出一段文字,你觉得它"知道自己在说什么",它的每一句话都服务于一个清晰的主题,逻辑衔接严丝合缝,甚至会在结尾呼应开头。如果你不知道它的运作方式,你会强烈地感到:这背后一定有一个"理解了全文"的智能体在操控。
但实际上没有。没有任何一个模块"看过"完整的输出。每一步只有一个局部的决策:根据前文的合力,选择下一个token。全局的连贯性是局部规则逐步迭代的涌现结果,不是某个全知视角的规划产物。
大模型让我们亲眼看到了一件事:高度有序的、看起来"有目的"的复杂输出,可以从没有目的的局部规则中涌现出来。
这不是第一个这样的例子。Conway的生命游戏、自然界的雪花结晶、鸟群的编队飞行,都是简单规则涌现复杂秩序的经典案例。但大模型提供了一个独特的、前所未有的实例:涌现的不只是空间中的几何图案,而是有语义的、有逻辑的、有论证结构的自然语言文本。它涌现的是意义本身。
从这个角度看,"看起来有目的"和"被有目的地设计"之间,确实存在一个真实的逻辑间隙。
写到这里,我必须对自己诚实。
上面的论证有一个致命的弱点:大模型本身是被设计出来的。
模型的参数,也就是上一篇文章里说的"力的传递规则",不是天然存在的。它们是通过在数万亿字的人类文本上做梯度下降优化出来的。训练过程有明确的目标函数,有人设计的架构,有Anthropic和OpenAI这样的研究团队在背后做出无数的工程决策。
所以大模型展示的并不是"无设计者也能产生秩序"。它展示的是:一个设计者可以把设计意图编码进初始条件和演化规则中,然后让系统自行展开出有秩序的结果。
这反过来甚至可以被智能设计论者拿来做论据:你看,连大模型都需要设计者,那生物系统凭什么不需要?
如果类比是严格的,大模型需要研究者来训练,正如基因组需要某种"设计者"来编写,那这条类比非但不能反驳智能设计,反而在加强它。
讨论到此似乎陷入了僵局。
但如果我们愿意把视角再拉远一层,会发现故事并没有结束。
大模型的参数是通过训练得到的。训练过程是什么?是让一个随机初始化的系统,在海量数据构成的环境压力下,通过反复试错和调整,逐渐演化出能够完成任务的内部结构。
注意这个过程的结构:随机起点、环境选择压、适者生存(误差小的参数组合被保留和强化)。
这与生物演化的结构是同构的。
没有人手动设计了模型的每一个参数。训练开始时,参数是随机数。训练结束时,它们形成了高度精密的结构,能够支撑语义理解、逻辑推理、创意生成。这些结构是在优化压力下自发涌现的,就像眼睛不是被某个工匠设计出来的,而是在自然选择的压力下、经过数百万年的随机变异和环境筛选逐渐演化出来的。
所以这里形成了一个有意思的嵌套结构:
生物系统的嵌套:自然选择(无设计的演化)→ 产生基因组(发育的"程序")→ 基因组按时序展开 → 涌现出完整的生物体。
大模型的嵌套:梯度下降训练(无设计的演化)→ 产生模型参数(token生成的"力学规则")→ token按规则逐步展开 → 涌现出有意义的文本。
两层嵌套的结构是一样的:先有一个"无方向"的演化过程产生规则,然后规则驱动一个"有方向"的展开过程产生结果。演化本身没有目标,但它产出的规则在运行时表现出高度的目的性。
这才是这个类比真正有力量的地方。它不仅仅是说"局部规则可以涌现全局秩序",这个我们早就知道了。它说的是,产生这些规则的过程本身也不需要目的。目的性可以通过两层无目的的过程嵌套而涌现:演化没有目的地产生了规则,规则没有目的地产生了看似有目的的结果。
到这里,诚实的思考者必须承认:我们并没有"证明"什么。
因为你总可以继续追问:训练过程是在GPU上跑的,GPU是人造的。自然选择是在物理定律下进行的,物理定律从何而来?在任何因果链条的尽头,都会撞上一个无法在链条内部回答的问题:"为什么是这套规则而不是别的?"
科学的做法是在这里停下来说:"我们还不知道,也许我们可以继续探索。"神学的做法是在这里引入一个终极原因。这两种选择不是科学内部的分歧,而是关于"解释到什么程度算解释完了"的元认知框架的差异。
更深一层,如果我们真的严肃对待计算不可约性的概念,还存在一种可能性:这个问题本身是不可判定的。如果宇宙是一个计算不可约的系统,那么你无法从系统内部区分两种情况:一种是初始条件被某个外部智能"精心选择"以产生特定结果,另一种是初始条件"恰好如此"而结果是演化的自然产物。因为不管是哪种情况,如果力的链条不可跳过,那么从任何中间状态出发向前看或向后看,你看到的现象都是一模一样的。
这不是说这个问题不值得想。恰恰相反,认识到一个问题的不可判定性本身就是一种深刻的理解。它让你不再被两种立场中的任何一种所裹挟,而是看到问题的真实结构:我们对世界的理解,总有一些边界不是被我们的知识不足所限制,而是被问题本身的逻辑结构所限制。
· · ·
让我试着把收获整理一下。
从Token生成动力学到基因表达的类比,最有价值的不是它证明或反驳了哪个哲学立场,而是它提供了一种看待世界的方式。
它让我们看到:复杂的、有时序的、看似有目的的展开过程,不需要一个实时的控制者在幕后操盘。信息可以被编码在初始条件中,然后通过局部规则的逐步迭代自行展开为完整的结果。
一颗受精卵不知道自己将来要长成什么样。它只是在每一个时刻,根据当前的细胞状态和被激活的基因,做出当下这一步的"决策"。但四十周后,一个完整的婴儿诞生了。
一个token不知道整篇文章要说什么。它只是在当前位置,承受所有前序token的合力,落在概率最高的那个点上。但几千个token后,一篇连贯的论文写完了。
这两件事在机制上的深层同构,指向了一个关于复杂性的深刻洞见:世界中大量看起来需要全局规划才能完成的事情,实际上是通过局部信息的逐步释放完成的。目的不在远方,而是内禀于初始条件,随着力的链条逐环展开而显现。
至于这些初始条件本身从何而来,是被设定的还是恰好如此,那是一个也许永远开放的问题。但至少,我们现在能更清晰地看到:从"初始条件"到"最终结果"之间的那段路程,不需要神秘力量的介入。力的链条一旦启动,就会自行展开。
这也许就是我们在大模型时代获得的一个意外礼物:一个可以亲手把玩的、缩微版的"宇宙演化模型"。它让那些曾经只能在哲学课上抽象讨论的问题,比如涌现、目的、设计,变成了你每天打字聊天时就能直接观察到的现象。
答案从一开始就在那里。只是需要力的链条一环一环地展开,才能将它揭晓。
而力的链条展开的过程本身,也许就是这个世界最深的秘密。
我建了一个AI学习研究群,目前几十来人,都是在真正动手搞AI的人。如果你也在自己跑模型、写代码、做项目,欢迎点赞关注转发一键三连,然后加我微信,备注写清"你在做的AI方向",聊得来的话我拉你进群。纯围观的和小白就不加了,有一定门槛。
