揭秘AI的“数字直觉”:大模型如何理解数字

作者:狼烟四起2026.11.04 05:40浏览量:0

简介:大模型为何能“秒答”算术题?海外高校联合研究团队用傅里叶变换解剖各类模型的数字表征,发现架构迥异的模型不约而同收敛出周期为2、5、10的波浪形结构,并进一步区分了“表面学会”与“真正学懂”的分层现象。本文拆解其原理、验证方法与四点工程启示。

当你在对话框里输入“358+479”,大语言模型几乎不假思索地给出“837”。这个过程快得让人来不及思考一个问题:在模型内部,“837”究竟以什么形态存在?它是被当作需要死记硬背的符号串,还是被拆解成了某种可以被“运算”的内在结构?

近期,海外两所高校的研究团队联合发表了一项学术成果,对多类模型的数字表征进行了一次“外科手术式”解剖。这项工作回答了两层问题:第一,为什么架构完全不同的模型,对数字的内部编码却高度相似?第二,表面相似的编码背后,为什么有些模型只是“看起来学会了”,而另一些才“真正学懂了”?

一、数字的第一站:从符号到高维向量

要理解这项研究,先要弄清现代AI如何“存放”一个数字。

在模型的处理管线里,输入文本首先会被切成词元,再通过嵌入层映射成一个高维向量——可以理解为概念空间里的一长串坐标。也就是说,模型眼中的”37”并不是一个孤立符号,而是一个拥有成百上千个分量的点,不同分量可能分别编码了这个数字的不同侧面:

  • 奇偶性:它与2、4、6这些数字在某个方向上“抱团”;
  • 数量级:它与“三十几”这一区间的整体远近关系;
  • 整除与质数属性:它与3、9等数字的位置关系可能隐含整除信息;
  • 上下文角色:同一个数字出现在“第37页”和“37元”中,向量可能存在细微偏移。

这种分布式表示是深度学习的基石,但也带来一个黑盒问题:我们无法直接从数千个维度里“看出”模型掌握了什么规律。于是研究团队引入了下一件解剖工具。

二、解剖工具:给数字表征做一次“频谱分解”

傅里叶变换在信号处理中的角色,是把一段复杂的混合信号拆解成若干单一频率的“纯音”,并告诉你哪些频率的能量最响。研究者的做法可以概括为三步:

  1. 让每个模型分别“看”一遍0到999这一千个数字,取出每个数字对应的向量;
  2. 把向量的每一个维度单独拎出来,观察它随数字递增的变化曲线——这条曲线本质上是一段以“数字大小”为自变量的信号;
  3. 对每条曲线做离散傅里叶变换,统计频谱能量在哪些周期上出现峰值。

示意性伪代码如下(省略模型加载与向量提取细节):

  1. # 示意性伪代码:对 0~999 的数字表征做一次"频谱体检"
  2. function spectrum_amplitude(series, period):
  3. re = Σ series[i] * cos(2π * i / period) # 向周期分量投影
  4. im = Σ series[i] * sin(2π * i / period)
  5. return sqrt(re² + im²)
  6. # 1) 导出每个数字对应的向量
  7. vectors = [ embed(n) for n in 0..999 ]
  8. # 2) 逐维度做频谱分析,寻找能量峰值
  9. for dim in all_dimensions(vectors):
  10. series = [ v[dim] for v in vectors ]
  11. peaks = rank_by_amplitude(series, periods=[2,3,4,5,7,10,20,100])
  12. report(dim, peaks)

三、发现一:不同架构的模型,殊途同归的“波浪”

分析结果出人意料地一致:无论是参数量巨大的自回归大语言模型,还是架构思路完全不同的状态空间模型,抑或已“服役”多年的循环神经网络,甚至是最简单的词向量模型,它们的数字表征频谱几乎都在周期2、5、10三处出现了最强峰值。

换句话说,这些架构迥异、训练目标也不尽相同的模型,在“内部数字长什么样”这个问题上给出了近乎相同的答案:一串以2、5、10为周期的波浪。

生物学里有个概念叫趋同进化:亲缘关系很远的物种,面对相似的环境压力时会独立演化出相似的解决方案——鲨鱼是鱼,海豚是哺乳动物,但为了在水中高速游动,两者都长出了流线型身体。人类文明史上也有类似现象:古埃及的日晷、中国古代的漏刻、欧洲的机械钟、现代的电子表,彼此毫无传承关系,却不约而同选择用“周期循环”来刻画时间。

AI世界正在上演同款剧情:把数字编码成周期性波浪,似乎是这个任务上“性价比最高”的方案,以至于无论架构如何设计,最终都被数据“塑形”到了同一个方向。

四、为什么偏偏是2、5、10?

这三个周期并非随机出现,它们恰好是十进制计数系统的骨架:

  • 周期2:任何数字序列每前进2步,个位就在奇偶之间切换一次,模2余数构成以2为周期的波;
  • 周期5:模5余数以5为周期循环,对应个位上“逢五”的结构规律;
  • 周期10:个位每10步走完一个完整循环回到起点,同时向高位进一。

更进一步,10=2×5,这三个周期本质上是同一套十进制结构在不同粒度上的投影。训练语料中,数字的出现频率、运算规则、页码、价格、日期,都在反复强化“模2、模5、模10”的统计规律。对模型而言,把数字表示成这些频率的叠加,是用最少的维度装下最多规律的高压缩编码——这很可能就是各架构殊途同归的根本原因:不是模型之间互相“抄袭”,而是数据结构本身太强势,任何足够强的学习器都会被引向同一片“最优解洼地”。

五、发现二:相似的波形之下,藏着“学会”与“学懂”的分层

如果故事只到“大家都一样”,那不过是一条有趣的观察。这项研究真正有分量的部分,是研究者接着追问:波形相似,能力就相似吗?

答案是否定的。表面都呈现周期结构的模型,可以被分成两类:

  • 一类只是“看起来学会了”:向量的周期性确实存在,但更像是记忆与统计共现的副产品,模型并未在推理时真正调用这套结构;
  • 另一类是“真正学懂了”:周期结构不只是静态存在于表征中,而是被模型在运算过程中实际使用,成为算术能力因果链路的一部分。

区分这两者,可解释性研究中通常组合三类手段:

  1. 行为层测试:用分布外样本检验——比如数位更长的加法、需要连续进位的运算。只背过表内规律的模型,在超出记忆范围时性能会断崖式下跌;真正掌握结构的模型衰减则平缓得多。
  2. 线性探针:训练一个极简的线性分类器,从向量中直接“读出”奇偶、整除等属性,检验表征的信息含量与可解码性。
  3. 干预与消融:主动抹掉或扰动表征中的周期性分量,观察算术表现是否随之受损。若性能应声下跌,说明这些分量参与了因果过程,而非摆设。

这种分层现象对业界的提醒是尖锐的:表内准确率、基准测试分数,可能只度量了“看起来学会了”;要判断模型能否被托付关键数值任务,必须看它在分布外场景与因果干预下的表现。

六、给开发者的四点工程启示

启示1:把“会不会算数”从二值问题变成分层问题。 选型评估时建议至少构造三层测试集:表内样本(训练分布内)、近邻样本(数字组合略有变化)、分布外样本(更长数位、连续进位、跨数量级),分别度量记忆、插值与泛化能力,避免把记忆误读为能力。

启示2:关键数值计算不要交给模型的“直觉”。 大模型的内部算术本质上是概率推断,周期表征让它具备惊人的数感,但不等于精确性保证。稳妥的工程分工是:模型负责理解意图、把任务翻译成表达式或代码,真正的计算交给解释器、规则引擎或外部工具——“模型生成、机器执行”,同时拿到自然语言便利性与计算可靠性。

启示3:关注词元化对数字的影响。 同样的数字,按整串切分与按位切分,会给模型留下完全不同的学习难度。业界普遍的经验是,按位或按短数字段切分更有利于模型习得周期性结构与进位逻辑;自研或微调模型时,词表设计值得单独评审。

启示4:把频谱分析变成常规“体检”工具。 这类分析成本低、架构无关,且不局限于数字:日期、时间戳、版本号、编号体系等一切带内在结构的字符串,都可用同样思路检查模型是否学到了结构性表征。在百度智能云等云平台上借助弹性算力与批量推理服务,可以把这类评测与回归测试纳入持续交付流程,让可解释性分析常态化。

七、结语:从“看起来聪明”到“确实可靠”

这项研究的启发可以浓缩成两句话:

第一,趋同不等于偶然。不同架构在数字表征上的趋同,说明学习结果在很大程度上由数据结构决定——这既是表征学习鲁棒性的证据,也提示我们:想要不同的能力,有时需要改变的不只是模型,还有数据。

第二,相似不等于等同。波形层面的高度一致,掩盖了“统计共现的周期”与“参与运算的周期”之间的鸿沟。判断一个模型是真懂还是装懂,必须越过表征、进入因果。

对数字的“直觉”并不是玄学,它是可以被测量、被干预、被验证的对象。当企业把大模型放进财务核算、报表生成、工程计算这些容错率极低的场景时,这项研究提供的正是一把判断“能否托付”的解剖刀:先看表征,再看行为,最后做因果检验——让可靠性建立在证据之上,而不是建立在“它答得很快”的错觉之上。