简介:大模型为何能“秒答”算术题?海外高校联合研究团队用傅里叶变换解剖各类模型的数字表征,发现架构迥异的模型不约而同收敛出周期为2、5、10的波浪形结构,并进一步区分了“表面学会”与“真正学懂”的分层现象。本文拆解其原理、验证方法与四点工程启示。
当你在对话框里输入“358+479”,大语言模型几乎不假思索地给出“837”。这个过程快得让人来不及思考一个问题:在模型内部,“837”究竟以什么形态存在?它是被当作需要死记硬背的符号串,还是被拆解成了某种可以被“运算”的内在结构?
近期,海外两所高校的研究团队联合发表了一项学术成果,对多类模型的数字表征进行了一次“外科手术式”解剖。这项工作回答了两层问题:第一,为什么架构完全不同的模型,对数字的内部编码却高度相似?第二,表面相似的编码背后,为什么有些模型只是“看起来学会了”,而另一些才“真正学懂了”?
要理解这项研究,先要弄清现代AI如何“存放”一个数字。
在模型的处理管线里,输入文本首先会被切成词元,再通过嵌入层映射成一个高维向量——可以理解为概念空间里的一长串坐标。也就是说,模型眼中的”37”并不是一个孤立符号,而是一个拥有成百上千个分量的点,不同分量可能分别编码了这个数字的不同侧面:
这种分布式表示是深度学习的基石,但也带来一个黑盒问题:我们无法直接从数千个维度里“看出”模型掌握了什么规律。于是研究团队引入了下一件解剖工具。
傅里叶变换在信号处理中的角色,是把一段复杂的混合信号拆解成若干单一频率的“纯音”,并告诉你哪些频率的能量最响。研究者的做法可以概括为三步:
示意性伪代码如下(省略模型加载与向量提取细节):
# 示意性伪代码:对 0~999 的数字表征做一次"频谱体检"function spectrum_amplitude(series, period):re = Σ series[i] * cos(2π * i / period) # 向周期分量投影im = Σ series[i] * sin(2π * i / period)return sqrt(re² + im²)# 1) 导出每个数字对应的向量vectors = [ embed(n) for n in 0..999 ]# 2) 逐维度做频谱分析,寻找能量峰值for dim in all_dimensions(vectors):series = [ v[dim] for v in vectors ]peaks = rank_by_amplitude(series, periods=[2,3,4,5,7,10,20,100])report(dim, peaks)
分析结果出人意料地一致:无论是参数量巨大的自回归大语言模型,还是架构思路完全不同的状态空间模型,抑或已“服役”多年的循环神经网络,甚至是最简单的词向量模型,它们的数字表征频谱几乎都在周期2、5、10三处出现了最强峰值。
换句话说,这些架构迥异、训练目标也不尽相同的模型,在“内部数字长什么样”这个问题上给出了近乎相同的答案:一串以2、5、10为周期的波浪。
生物学里有个概念叫趋同进化:亲缘关系很远的物种,面对相似的环境压力时会独立演化出相似的解决方案——鲨鱼是鱼,海豚是哺乳动物,但为了在水中高速游动,两者都长出了流线型身体。人类文明史上也有类似现象:古埃及的日晷、中国古代的漏刻、欧洲的机械钟、现代的电子表,彼此毫无传承关系,却不约而同选择用“周期循环”来刻画时间。
AI世界正在上演同款剧情:把数字编码成周期性波浪,似乎是这个任务上“性价比最高”的方案,以至于无论架构如何设计,最终都被数据“塑形”到了同一个方向。
这三个周期并非随机出现,它们恰好是十进制计数系统的骨架:
更进一步,10=2×5,这三个周期本质上是同一套十进制结构在不同粒度上的投影。训练语料中,数字的出现频率、运算规则、页码、价格、日期,都在反复强化“模2、模5、模10”的统计规律。对模型而言,把数字表示成这些频率的叠加,是用最少的维度装下最多规律的高压缩编码——这很可能就是各架构殊途同归的根本原因:不是模型之间互相“抄袭”,而是数据结构本身太强势,任何足够强的学习器都会被引向同一片“最优解洼地”。
如果故事只到“大家都一样”,那不过是一条有趣的观察。这项研究真正有分量的部分,是研究者接着追问:波形相似,能力就相似吗?
答案是否定的。表面都呈现周期结构的模型,可以被分成两类:
区分这两者,可解释性研究中通常组合三类手段:
这种分层现象对业界的提醒是尖锐的:表内准确率、基准测试分数,可能只度量了“看起来学会了”;要判断模型能否被托付关键数值任务,必须看它在分布外场景与因果干预下的表现。
启示1:把“会不会算数”从二值问题变成分层问题。 选型评估时建议至少构造三层测试集:表内样本(训练分布内)、近邻样本(数字组合略有变化)、分布外样本(更长数位、连续进位、跨数量级),分别度量记忆、插值与泛化能力,避免把记忆误读为能力。
启示2:关键数值计算不要交给模型的“直觉”。 大模型的内部算术本质上是概率推断,周期表征让它具备惊人的数感,但不等于精确性保证。稳妥的工程分工是:模型负责理解意图、把任务翻译成表达式或代码,真正的计算交给解释器、规则引擎或外部工具——“模型生成、机器执行”,同时拿到自然语言便利性与计算可靠性。
启示3:关注词元化对数字的影响。 同样的数字,按整串切分与按位切分,会给模型留下完全不同的学习难度。业界普遍的经验是,按位或按短数字段切分更有利于模型习得周期性结构与进位逻辑;自研或微调模型时,词表设计值得单独评审。
启示4:把频谱分析变成常规“体检”工具。 这类分析成本低、架构无关,且不局限于数字:日期、时间戳、版本号、编号体系等一切带内在结构的字符串,都可用同样思路检查模型是否学到了结构性表征。在百度智能云等云平台上借助弹性算力与批量推理服务,可以把这类评测与回归测试纳入持续交付流程,让可解释性分析常态化。
这项研究的启发可以浓缩成两句话:
第一,趋同不等于偶然。不同架构在数字表征上的趋同,说明学习结果在很大程度上由数据结构决定——这既是表征学习鲁棒性的证据,也提示我们:想要不同的能力,有时需要改变的不只是模型,还有数据。
第二,相似不等于等同。波形层面的高度一致,掩盖了“统计共现的周期”与“参与运算的周期”之间的鸿沟。判断一个模型是真懂还是装懂,必须越过表征、进入因果。
对数字的“直觉”并不是玄学,它是可以被测量、被干预、被验证的对象。当企业把大模型放进财务核算、报表生成、工程计算这些容错率极低的场景时,这项研究提供的正是一把判断“能否托付”的解剖刀:先看表征,再看行为,最后做因果检验——让可靠性建立在证据之上,而不是建立在“它答得很快”的错觉之上。