导论
知识是被发现的,还是被造成的?
这个问题有两个答法,而两千多年来它们从未分出胜负。
第一个答法说:被知道的东西在被知道之前已经以某种方式在那里,形成过程是接近它的通道。本书称之为先在论。
第二个答法说:被知道的东西的某些规定,是在特定条件与特定路径中才获得的;换一条路径则那些规定不同或不存在。本书称之为造成论。
两个答法的分歧不在措辞上。当一位科学家说”我发现了 X”,先在论读作”X 在被说出之前就以某种方式存在”,造成论读作”在这套仪器、这套记法、这条路径被建立之前,X 所指的那个可稳定重认的东西并不作为这一个而存在”。
而两种读法对科学家的实验室行为、对论文的写法、对后续技术的可用性,不给出任何不同的预测。
这是本书的起点。
通行的解释有两种,本书都不采纳。
第一种:这是一个哲学问题,而哲学问题本来就没有答案。这个回答把”没分出胜负”当成了原因,而那正是要被解释的东西。
第二种:论证还不够好,或者材料还不够多。这个回答可以被检查,而检查的结果是它不成立——两千年里论证一直在变好,材料一直在变多,而分歧的位置一步没动。
本书的诊断是:有三道具体的闸门关着。
闸一·观察等价。 所有可供检查的东西都是产物,而过程已经消失了。在产物层上,“被发现”与”被造成”是两个不同的起源假设,但它们不留下不同的痕迹。三类被反复援引的证据——多重发现、独立可重复性、技术的成功——不是弱证据,是零分辨力的证据:它们所证明的东西,与本案所争的东西不是同一件。
闸二·普遍性自伤。 历史上分量最重的几次造成论,都用自己的方式取消了自己的可判性。一个造成论若把它的构成装置设定为普遍的、唯一的、必然收敛的,它就与先在论给出相同的经验预测。康德如此,皮亚杰、乔姆斯基、进化心理学、结构主义各自重演了一次。这道闸不是外部的限制,是造成论自己关上的。
闸三·干预不可施加。 判决这个问题需要对知识的形成路径施加干预,然后看被形成的知识是否随之改变。而这要求四条性质:可重跑、可干预、可消融、可观测。对人类知识史,四条一条也做不到。
三道闸合起来,给出本书的脊梁:
两千年判不了这道题,缺的从来不是论据,是一台能把过程重跑的装置。
大约两年前,这件事变了。
大规模语言模型的训练同时满足那四条性质:训练是一个确定的计算过程,可以被从头再跑一次;可以只换随机种子或数据次序而保持语料、架构、判准不变;可以从语料中精确删除某一子集再跑;成千上万个中间状态被完整保存而不是被推测。
更要紧的是第五条:它的产物具有知识主张的形式——可以被评价为对或错,可以与世界上的事情对照,可以在对照失败时被修改。
本书不主张这些模型拥有知识,不主张它们理解任何东西。全书不使用”理解”“意识”“智能”这三个词,而且这个设限使论证变强而不是变弱:一个不需要模型懂什么的论证,不会因为模型不懂而倒。
本书主张的只有一件很冷的事:它是一台实验设备。
选它的理由全部是工程性的,而不是”它像人脑”。同样按这四条性质,本书排除了三个更常被援引的候选:量子测量(被干预的不是形成过程)、实验演化(对象是生物性状不是知识)、遗传算法与人工生命(产物不构成知识主张,且材料与判准合一)。
装置本身不判任何事。要用它,必须先把待判的命题翻译成它能回答的形式。
翻译的落点是可达集:
Reach(C, A, L) = { R :存在路径 P 使训练到达 R }
其中 C 是材料(语料),A 是装置(架构与优化器族),L 是判准(损失与评估),P 是路径(种子、数据次序、课程等一切不改变前三者的变量)。
四个符号里,只有 P 不出现在括号里。 这就是定义的要害:若路径不进入结果的规定,这个集合退化成一个点;若路径进入规定,它就是一个有内部结构的集合。
于是两个答法得到两个判然不同的形式:
先在论:R = Φ(C, A, L)
造成论:R = Φ(C, A, L, P),且 P 不可消去
判决的问题变成一个具体的问题:P 能不能被消去?
“消去”有三种含义,而三条条款各对应一种:量上的消去(差异随资源趋于零)、描述上的消去(差异可由不提路径的描述写出)、集合上的消去(不存在只有某条路径才到得了的结果)。
翻译之后,还有一件必须先做的事,而它是全书的柱子。
两侧都拿得出”路径依赖”的证据,而它们说的不是同一件事。这个词在先在论嘴里指求解过程的有限性,在造成论嘴里指结果的存在条件;两者都会在实验里表现为”换一条路,结果不一样”,而且在中间规模上表现得几乎一模一样。
因此必须拆词:
计算性路径依赖说的是”你还没走到”;构成性路径依赖说的是”从这条路走过去,那里没有那个东西”。
两侧各有三条判别特征:差异随资源加上去是衰减到零还是趋于正常数;存不存在一个只以材料、装置、判准为自变量的统一描述;可达集是不是满的。
由此得到一句对本书自己不利、却必须写在最前面的话:
计算性路径依赖是先在论的自家话,不是造成论的战利品。
迄今为止机器学习里报告过的绝大多数路径依赖,在结构上都属于前一种。靠它赢下来的判决,对手一夜之间就能收回去。
三对判别特征落成三条条款,各带一个量:
| 条款 | 量 | 先在论预测 | 造成论预测 |
|---|---|---|---|
| 一·规模消解检验 | 不可消解度 κ | κ = 0 | κ > 0 |
| 二·语料可归约性 | 可归约份额 ρ | ρ → 1 | 1 − ρ 稳定为正 |
| 三·可达集不足 | 标定不可达 | 不存在 | 存在 |
三条不是并列的三个论点,是先在论的三道退守防线。 每一道被守住,本书作出一次事先写明的让步。
四条败绩条件在任何读数产生之前写死,另有两条在正文中补入。其中最重的一条要求:条款一若判负,本书不但放弃核心命题,还要把失败的后果推广出去,交给对手一条比他原本主张的更清楚的结论。 一条不会带来真实损失的败绩条件不是败绩条件。
判据之外还有四条硬规定,用来堵住四种把结论塞进度量的做法:不得用任务分数作结果距离;必须消去已知对称性;必须包含分布外行为;两通道不得合成。
本书执行过一次真跑。
材料是一组公开的多种子检查点:四个规模、每个规模五条只在路径上不同的运行;112 条探针在执行之前冻结并公开摘要值。
读数分两个通道。
表征通道:路径间距离在四个规模上依次为 0.352、0.445、0.441、0.411,先升后持平,没有向零衰减的迹象;作为对照,同一轨迹内相邻检查点之间只有 0.031。所用度量对神经元置换、正交变换与各向同性缩放不变——这些差异不是标号差异。
行为通道:路径间距离依次为 0.263、0.221、0.171、0.116,单调下降;但在最大规模上仍是噪声基线的两倍以上,未落入不可区分的程度。
两通道结论不一致。按执行前写死的第三款:
未能分辨。
这个结论是本书最要紧的一件产出,理由不在它说了什么,在它挡住了什么。
只报表征通道,这一跑是条款一的一次漂亮通过;只报行为通道,它是一次清楚的败绩。两种写法里的每一个数字都是真的,而两种都是作弊。
比”未能分辨”更难堪的是另一件事。
预注册的冻结项第二条规定噪声基线取”同一训练轨迹内相邻检查点之间的距离”,并为这个选择做过一整段逻辑正确的论证。执行之后发现它跨规模不可比——它在三个较小规模上稳定在 0.011 至 0.013 之间,到最大规模跳到 0.031;归一化后的比值在最大规模处从 40.4 掉到 13.4,主要不是分子变了,是分母变了。
本书没有回头改读数,按原定义照登。由此得到一句:
预注册保护的是”事后不许改判据”,它不保护”事前把判据写错”。
前者是意志问题,制度挡得住;后者是知识问题,制度挡不住。而正因为这条基线被写死并在四个规模上统一使用,它的毛病才显形——若它是每个规模随手取的,这个问题会被平滑掉,永远浮不出来。
本书不主张六件事,列在此处以免误读:
不主张大模型拥有知识、理解或认识主体性;不主张人类知识与模型训练是同一类过程;不主张数学是发明而非发现;不主张已经完成判决,也不主张首跑判出了任何东西;不主张路径依赖是好事;不主张先在论是愚蠢的立场。
本书的论证结构是反例式而非类比式。 先在论在其最一般的形态上主张的是一条全称命题——任何以材料为输入、以判准为约束的知识形成过程,其结果由材料与判准唯一决定。要削弱一条全称命题,不需要类比,只需要一个落在其范围内的实例。
于是本书能取得的最大收获可以一句写定:
普遍性一旦破了,先在论就必须为它想主张的每一个领域单独举证——而这正是它两千年来从未做过的事。
它不证明人类知识是被造成的。它确实取消了”知识必然由材料唯一决定”这一原则的先天地位,把它从公理降为待证的经验假设。
本书有一记接不住的反击,用整章写明。
条款三的第三类性质候选是”语境内临时形成的程序”——模型在推理时形成一个训练时并不存在的、针对当前任务的临时程序。反击说:那只是把权重里已有的能力按语境组合起来激活了一次。
本书给不出”形成”与”激活”之间的界限。
而更难堪的是:这一记恰好绕开了本书换现场的全部三个理由——它不需要重跑(组合与形成的区别不随重跑次数改变),不需要缩放(它在任何规模上都同样成立),也不需要出示地址(权重就在那里,只是不知道该往里面找什么)。
换现场在这里没有帮到本书。
四个领域每天按其中一侧的答案行事,而那一侧从未被检验过。
教育按”所有人学到的是同一个东西”设计评估;科学史按”逐步逼近加人事噪音”讲述进展;法律按”自然规律不可专利”划归属;人工智能研究按”逼近那个唯一最优模型”分配算力。
四栏全部倒向先在论,而这不是它被证实的证据——主要是”按它行事更便宜、且不按它行事的问题没人提出”的证据。
本书不主张哪一侧的后果更可取。 若判决倒向造成论,它的后果里有相当一部分是坏消息:依赖分数的选拔与认证会遇到结构性的麻烦;不可复现性变成结构性的而非工程性的;科学史上的一些结论失去”迟早会被发现”这层保险。
一个承重区分、三条条款、四个量、六条写死的败绩条件、一份预注册与它的冻结摘要值、全部脚本与原始读数、一次未能分辨的首跑、一份六条的修订清单、一记接不住的反击、六件不主张的事。
没有交出结论。
一个悬置了两千年的问题,不应该被任何人用一本书宣布解决。它应该被交给一台能判它的装置,并且事先说清楚,怎样算输。
三段工序做完之后,剩下的事不归本书管。
剩下的事是跑。