![]()
2023年前后,语言模型训练圈子里流传着一个听起来有点玄乎的发现:让一个模型先去学一堆完全看不懂、没有任何语义的括号序列,比如 ( [ ( ] ) ),学个几百步之后,再拿去做正式的语言训练,效果反而会变好。
这事儿乍一听很反直觉。你会说,学一堆乱七八糟的括号跟学英语有什么关系?但做实验的人发现,这样做之后模型在正式训练阶段需要的数据量更少了,下游任务的表现也更好了。于是有研究者给出了一个很浪漫的解释:模型在这个"热身阶段"学到了一种语法先验,一种关于层级结构的归纳偏置,这种偏置后来迁移到了自然语言的语法理解上。
这个解释听起来很美,但有个问题。所有验证这个说法的实验,模型都没超过10亿参数,训练数据都没超过20亿token,用的也几乎都是纯网页文本。而今天真实的大模型动不动就是几十亿参数,训练数据动辄上万亿token,而且训练语料里混着代码、数学题、学术论文,早就不是单一的网页文本了。
这篇论文要回答的问题就是:这套"预预训练"的把戏,放到真实世界的规模下,还灵不灵?如果灵,它靠的真的是语法先验吗?
**预预训练*:在正式的语言模型预训练之前,先用一段很短的时间,在人造的、非自然语言的合成数据上训练模型,再把这个"热身"后的参数拿去做正式训练。英文叫 Pre-pretraining,简称 PPT。
一场跨越四个尺度、四种数据配方的大型验证
要回答"规模化之后还灵不灵"这个问题,光靠加大模型可不够,得把能想到的变量全部摆上台面。
这篇论文做的事情,规模堪称这个方向迄今最大。研究者测试了四种模型规模:5亿、10亿、30亿、70亿参数,预训练预算最高拉到1000亿token,是此前研究的50倍左右。他们还找来了四种公开的、成分透明的真实预训练数据配方:纯网页文本的C4、网页为主的Marin、网页加代码数学混合的SmolLM3、以STEM(科学技术工程数学)内容为主的OLMo3。
**预训练*:这里指语言模型吸收海量文本、获得通用语言能力的主训练阶段,英文是 Pre-training,简称 PT,和前面说的"预预训练"是两个不同阶段,顺序是先PPT再PT。
为什么要测这么多数据配方?因为这里藏着一个关键的潜在矛盾。如果一个模型本来就要在代码和数学题里泡着训练,而代码和数学天生就有嵌套结构和严格规则,那它可能根本不需要靠括号游戏来提前学"结构"这件事,PPT岂不是白费功夫?这正是研究者想弄清楚的事情。
他们还换了五种不同的"热身任务"来对比,有的是严格的形式语言,有的是没有正式语法规则但有结构的合成任务,还设了一个对照组,直接拿正式训练数据里截出来的一部分文本来做热身,目的是把"合成数据本身的效果"和"多训练了几百步"这两件事分开看。
规模变大了,PPT的好处真的还在吗
先说好消息。
实验结果显示,在12组"模型规模×数据配方"的组合里,有9组从PPT中获得了至少0.6个百分点的下游任务平均提升,平均提升幅度达到1.6分。而且这个提升幅度在不同规模下基本保持稳定,5亿参数时提升0.8分,10亿参数时1.4分,30亿参数时1.3分。
这意味着什么?意味着PPT的好处不是那种"模型越大就越不需要"的拐杖式效应。有人可能会猜,小模型因为能力有限,需要靠外部提示才能学到结构;模型大了,自己就能把结构学出来,PPT自然就该失效了。但数据没有支持这个猜测。
这里有一个很直观的类比。假设你要教一个孩子骑自行车,你会不会在正式骑车之前,先让他在平衡车上练习一会儿?有人可能觉得,等孩子年纪大一点、协调能力更强了,这种"热身"自然就不需要了。但事实恰恰相反,无论是5岁孩子还是15岁的大孩子,先练一下平衡感,正式上车之后都会更快进入状态。这不是因为平衡能力这个东西本身随年龄消失,而是热身本身帮你节省了试错成本,这个成本节省跟年龄大小关系不大。模型大小对PPT来说,大致也是这个道理。
那PPT的好处是不是只是"多训练了几百步"带来的虚假繁荣?研究者设置的对照组给出了明确否定。那组模型用同样的500步在真实文本上热身,结果几乎没有提升,跟完全不热身的基线差不多。真正带来提升的,是合成的括号游戏数据本身,不是额外的训练步数。
哪些任务提升最多?答案很有意思,阅读理解、常识推理、科学问答、语言建模这四大类任务里,语言建模(简单说就是预测下一个词的能力)提升幅度最大,三个规模下分别提升了1.2、1.8、1.7分。而具体到单个任务,ReCoRD(一种阅读理解测试)、HellaSwag(一种常识推理测试)在12组实验里全部获得提升,LAMBADA(一种语言建模测试)在10组里获得提升。这三个任务有个共同点,它们都需要模型回头去翻之前出现过的内容才能答对题。这个细节非常关键,后面会反复提到。
真正的问题:提升靠的是语法先验吗
现在到了这篇论文最关键的转折点。
研究者拿出了检验语法能力的标准工具 BLiMP,这是一套专门测试语言模型"语法直觉"的基准,里面每道题给模型两句话,一句语法正确一句语法错误,看模型能不能分辨出来。涵盖语义、形态、句法三大类共12个语法现象。
**BLiMP*:全称 Benchmark of Linguistic Minimal Pairs,一套通过给模型呈现成对的最小差异句子来测试其语法判断能力的评测集。
如果PPT真的给模型装上了一种语法先验,那它在BLiMP上应该稳定地表现得更好才对。结果呢?12组实验里有9组整体准确率有提升,但只有1组的提升是"稳定的",也就是说提升幅度能稳稳超过训练过程中的波动范围。相比之下,下游任务平均分在12组里有10组是稳定提升的。
这个对比非常刺眼。更麻烦的是,即便回到5亿参数这个和前人研究吻合的规模,结果依然是乱的。两种数据配方上BLiMP变好了,两种配方上反而变差了,其中变差最明显的恰恰是C4,就是前人研究证明"有效"的那个数据集。模型规模继续往上调也没能解开这个矛盾,在Marin配方上,BLiMP的提升幅度从5亿参数时的+0.3,变成10亿参数时的+1.6,又跳回30亿参数时的-0.3。这不是一条稳步上升的曲线,这是一条毫无规律的折线。
如果再细看语法现象的分类,原本的猜测是,括号匹配这种任务应该对"形态"和"句法"这两类涉及层级依赖关系的语法现象帮助最大,因为这两类正是括号任务理论上应该迁移过去的东西。但实际看下来,这两个子类都没有出现稳定的提升。
那PPT到底在教模型什么?答案来自另一项评测:逐字记忆检索。这个测试会先让模型看一串名词,过一段时间之后,再测它能不能准确地复述出之前看过的那些名词。这事和语法关系不大,考的是模型能不能在长篇上下文里精确地找到之前出现过的内容并原样搬出来。
**逐字记忆检索*:评测模型能否在看过一长串文本之后,准确复述出之前出现过的特定内容片段的测试方法,衡量的是长距离信息定位和复制的能力,不是语法判断能力。
结果在这项测试上,括号游戏任务(k-Shuffle Dyck)在全部12组实验里都降低了模型出错的程度,其中7组是稳定的降低。相比BLiMP只有1组稳定,这个差距实在太大了。
研究者的解释是,这两种测试要求模型做的事情本质不同。BLiMP考的是一句话内部的语法判断,证据全部摆在眼前,不需要回头看。逐字记忆检索考的是在一大段上下文里定位一个之前出现过的具体位置,然后把它找出来。而括号匹配游戏本质上就是做这件事,给你一个右括号,你得回头找到那个跟它配对的左括号,中间可能隔着一大串别的符号。这正是一种对长距离位置检索能力的训练,不是对语法规则的训练。
这个发现一下子解释了前面那个悬而未决的疑问,为什么LAMBADA、ReCoRD、HellaSwag提升最明显?因为这三个任务恰恰都需要回头翻看前文才能答对,跟逐字记忆检索要求的能力是同一类东西。
代码和数学会不会让PPT变得没用
有一种很合理的猜测:现在的主流预训练数据里,代码和数学的比例越来越高,这两类内容本身就充满了嵌套结构和严格规则,比如一段代码里的括号配对、函数调用的层级关系。如果这些内容本身就能教会模型"结构"这件事,那PPT岂不是重复劳动?
研究者专门拿Marin这个配方做了实验,把数学内容的比例从1.3%一路提高到17%,相当于13倍的增长,网页文本的比例因此从92.6%降到76.9%,基本接近OLMo3的配方比例。结果呢?PPT带来的平均提升分数几乎没变,从1.9分变成2.0分。换句话说,数学题堆再多,也没能让PPT的作用消失。
但接下来的实验揪出了另一个关键变量:网页文本。研究者把网页内容整个拿掉,只留下代码和数学(大约82%代码,18%数学),PPT的平均提升一下子从1.9分骤降到0.2分,几乎失效了。语言建模任务的提升幅度也从原来的1.5到3.1分,掉到只剩0.6分。
这个结果有点意外。原来起作用的关键变量不是"结构密度",而是"网页文本在不在"。
这里可以做一个类比,想象你要训练一名翻译,平时的练习材料里有大量法律合同(规则严谨、结构固定),也有大量日常对话(表达随意、充满省略和指代)。如果把日常对话全部拿掉,只留法律合同,翻译水平会不会受影响?答案很可能是会,因为合同的严谨性不能替代对话中那种需要"回指"和"追溯上下文"的能力训练,法律文本里的指代关系通常很明确,不需要你费力去前文搜寻。网页文本之所以重要,可能恰恰是因为它充满了日常语言里那种松散但需要追溯上下文的表达方式,这正好呼应了PPT真正起作用的机制:长距离检索能力的训练。
有意思的是,OLMo3这个配方从头到尾都是四个配方里表现最弱的一个,30亿参数规模下PPT对它几乎没有带来提升。但研究者排查发现,无论是数学比例还是网页比例都解释不了这个异常,跟OLMo3网页比例几乎一样的那个17%数学变种,照样获得了2.0分的提升。这个谜团目前没有解开,留给了未来的研究。
什么样的热身任务才算有效
既然起作用的核心是"长距离检索能力",那是不是任何一种带点结构的合成任务都能达到类似效果,根本不需要死磕正式的形式语法?
研究者又测试了另外三种热身任务,一种是形式语言(MP-Struct Core,给每个括号配对加了明确标记,消除歧义),另外两种不是形式语法,一种叫Set(删除序列里的重复词但保持原有顺序),一种叫NCA,全称神经元胞自动机,记录的是一套固定规则反复更新网格状态产生的轨迹。
**神经元胞自动机*:一种按照固定规则,根据相邻单元格状态不断更新每个格子状态的计算模型,这里被用来生成一种有重复性结构但不涉及层级嵌套的合成序列,作为热身训练的素材。英文缩写NCA。
结果显示,形式语法和非形式语法的界限根本不是决定因素。MP-Struct Core提升0.9分,NCA提升1.2分,跟括号游戏的1.3分相差不大,三者在四种数据配方里都有3组获得了改善。
真正的分水岭出现在Set这个任务上。它让下游表现平均暴跌7.2分,四种数据配方里一个都没能从中获益。
为什么偏偏是Set失效了?研究者的解释很直接:前面三种任务都要求模型定位到序列中一个具体的、特定的位置。括号游戏要找到配对的那个左括号,结构标记任务要锚定一个明确的标记符,NCA要还原出上一个状态里对应的那个格子。但Set这个任务只需要判断"这个词之前出不出现过",模型靠维护一个"见过的词汇清单"就能回答,根本不需要定位到序列中的具体某个位置。
这个对比揭示了一个很朴素但容易被忽略的道理:不是任何形式的"结构训练"都管用,真正起作用的是那种逼着模型学会"回头找到具体某个位置"的训练方式。
更长的训练预算会不会把这个效果磨平
还剩最后一个顾虑。前人研究普遍训练预算很短,大概2亿token左右就停了。如果把训练预算拉长到几十倍甚至上百倍,这种热身带来的"初始优势"会不会随着时间被慢慢稀释掉,就像一个人靠临时抱佛脚考了高分,但随着时间推移这点优势早晚会消失?
研究者把30亿参数模型的训练预算一路拉到1000亿token,还额外训练了一个70亿参数模型跑了755亿token。结果是,在全部14个不同训练预算的检查点上,下游任务平均分全部获得提升,没有一次例外。在Marin配方上,PPT模型只用630亿token就达到了62.3分的平均成绩,而不经过PPT的基线模型要训练到840亿token才达到62.0分。这意味着PPT实实在在省下了至少210亿token的训练量,相当于约1%训练总算力的投入,换来了超过20%训练预算的节省。
70亿参数规模下,提升幅度确实有所收窄,从30亿参数时的1.3分降到0.6分,但依然是正数,一次都没有变负。研究者推测这可能和训练预算本身有关,70亿参数模型实际上只训练到每个参数约11个token的强度,远低于30亿参数模型的33个token,如果继续拉长训练,这个差距可能还会缩小。
这整套结果说明一件事:PPT不是那种"刚开始领先,后面被追平"的虚假优势,它更像是一种持续产生回报的低成本投资。
写在后面
读完这篇论文,最打动我的不是它证明了PPT有用,而是它证明了一个被广泛接受的"解释"是错的,而且是用极其系统的方式把这个错误找出来的。
科学研究里经常会出现这种情况:一个现象被观察到了,一个听起来合理的解释被提出来了,然后大家就带着这个解释继续往前走,很少有人回头去扎实地验证那个解释本身对不对。这篇论文做的事情恰恰是回头检查地基。他们没有否定PPT有用这件事,他们否定的是"为什么有用"这个归因。这种"结果对,但解释错"的情况,在很多领域里可能比我们想象得更常见。
还有一个细节让我印象很深。研究者发现,如果只看训练到第10000步这一个时间点的快照,BLiMP的分数经常会出现方向性的逆转,原本看起来是提升的,换一个时间窗口一看变成了下降。这提醒我们,很多论文里报告的"某个指标提升了多少分",如果没有说明是不是经过多次检查点平均、方差有多大,这个数字本身可能根本不可靠。这是一个很容易被忽视,但其实非常重要的方法论陷阱。
这篇论文留下的开放问题也挺耐人寻味:为什么OLMo3这个数据配方始终是个例外,它既不是网页比例最低的,也不是数学比例最高的,但PPT对它就是不太起作用。研究者自己也说这是留给未来研究的坑。
如果PPT真正起作用的机制是训练长距离检索能力,那是不是可以直接设计一个专门针对"回头找东西"这个能力的热身任务,根本不需要绕弯子去模仿括号配对或者形式语法?这个方向听起来值得试一试。
Q&A
Q1:预预训练(PPT)到底是什么,为什么要在正式训练之前多加这一步?
A:预预训练是指在模型进行正式语言预训练之前,先用一小段时间在人造的、非自然语言的合成数据上训练模型,比如括号配对序列,再把这个阶段训练出的参数作为正式训练的起点。研究发现这样做能明显提升正式训练阶段的数据效率和下游任务表现,哪怕合成数据和正式训练数据没有任何语义关联。
Q2:PPT提升模型效果,真的是因为模型学到了语法先验吗?
A:这篇论文的核心发现是不是。研究者系统测试发现,PPT带来的下游任务提升和语法测试BLiMP的表现并不同步,语法测试结果忽好忽坏且不稳定。真正稳定提升的是逐字记忆检索能力,也就是模型在长文本中定位并复述之前出现过内容的能力,说明PPT训练的其实是长距离检索能力,而不是语法结构的理解。
Q3:如果预训练数据里代码和数学题比例很高,还需要做预预训练吗?
A:需要。实验显示把数学内容比例从1.3%提高到17%,PPT带来的提升几乎没有变化,说明代码和数学内容的结构性并不能替代PPT的作用。真正让PPT失效的是完全去掉网页文本,只保留代码和数学时提升才会大幅下降,这说明PPT的效果和网页文本的存在直接相关,与代码数学比例关系不大。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.