一笔让人窒息的账
训练一个顶级大语言模型要花多少钱?
GPT-4 级别的模型,业内估算训练成本在一亿美元量级。Llama 3.1 405B 用了约 3084 万 GPU 小时。如果你想从头训练一个千亿参数的模型,光是算力租赁就是一笔天文数字,还没算数据采集、人员薪酬和反复调试的成本。
面对这样的数字,任何一个有工程直觉的人都会想同一个问题:有没有捷径?
比如这样一个思路:既然 100 亿参数的模型比 1000 亿的便宜得多,我能不能先训练几个小模型,然后用机器学习的方法,从小模型的参数里"推算"出大模型的参数?哪怕只是推算出一个不错的初始值,也能省下大量的训练时间吧?
这个想法非常自然,也非常诱人。它背后的逻辑链条看起来无懈可击:小模型和大模型学的是同一份数据、做的是同一个任务,那它们的参数之间应该存在某种规律性的关系。如果这个关系能被找到,训练大模型就变成了一个"预测"问题而不是"搜索"问题,成本可能降低几个数量级。
但这条路真的走得通吗?
· · ·
第一堵墙:一千个面孔,同一个灵魂
让我们从一个看起来无关紧要的数学事实说起。
假设你有一个隐藏层含 3 个神经元的网络,这 3 个神经元分别学到了"识别主语""识别动词""识别宾语"的功能。现在把第 1 号和第 3 号神经元连同它们所有的权重整体对调,网络做的事情有变化吗?
完全没有。输出一模一样。
3 个神经元有 3! = 6 种排列方式,这 6 种排列对应 6 组完全不同的参数值,但代表的是同一个网络、同一个功能。如果一个隐藏层有 1000 个神经元,等价排列就是 1000!。这个数比可观测宇宙中的原子总数还要大出不知道多少个数量级。
这就是所谓的排列对称性。它带来一个非常实际的后果:你独立训练两个结构完全相同的小模型,得到的参数看起来会完全不同。模型 A 的第 1 号神经元可能学到了"识别主语",模型 B 里做同样事情的可能是第 573 号神经元。参数值天差地别,但功能完全一样。
如果你想训练一个预测模型,输入小模型的参数,输出大模型的参数,你会面对一个荒诞的局面:你的训练数据里,同一个"答案"被写成了无数种不同的形式。这就好像你想教一个人英语拼写,但训练材料里同一个单词每次出现都用不同的字母顺序拼写。模型能从中学到什么?大概率学到的是所有排列的某种"平均",而这个平均值本身可能对应一个毫无意义的网络。
一个自然的反驳
读到这里,很多人会产生一个直觉性的反驳:既然这些排列本质上是同一个东西,那我们就不应该拆开来看。应该把整个网络当作一个整体,只看它"做了什么事",而不是纠结每个参数的具体数值。所有的排列折叠成一个点,排列对称性的问题不就消失了吗?
这个想法完全正确。数学上确实有一个概念叫商空间(Quotient Space),专门做这件事:把所有等价的表示合并,只保留本质上不同的东西。如果我们能在这个商空间里工作,排列对称性确实不再是问题。
但困难在于最后的一步:落地。
当你的目标是"预测大模型的参数"时,你最终必须输出一组具体的数字。第 1 层第 1 个神经元的第 1 个权重是 0.037,第 2 个权重是 -0.152……你没有办法输出一个抽象的"整体",你只能输出一种具体的排列。而一旦需要选定排列方式,你就必须在小模型和大模型之间建立神经元级别的对应关系。
打个比方。假设你要描述一支三人篮球队的实力。在"整体"层面,你知道这队很强,没有歧义。但如果有人要求你写出每个位置(控卫、前锋、中锋)分别是谁,你就必须做一个具体的分配。三个人有 6 种排法,虽然队伍实力没变,但写在纸上的名单长得不一样。你的预测模型在训练数据里看到同样强度的队伍对应 6 种不同的名单,它会困惑,最终可能学出一个 6 种排列的"平均值"。而这个平均值对应的,很可能是一支根本打不了比赛的队。
学术界确实有人在认真攻克这个问题。一条路是寻找"标准排列"(Canonical Form),用某种规则把任何网络的神经元重新排序成一种固定顺序,消除排列歧义。另一条路是干脆不在参数空间工作,而是在"功能空间"里做预测,不看参数长什么样,只看网络在各种输入上的行为。这两条路目前都还没有找到高效通用的解法,但它们代表了正确的思考方向。
· · ·
第二堵墙:地图上很近,翻山要一天
假设我们用某种方法克服了排列对称性的问题,真的预测出了一组参数。这组参数在数值上和"正确答案"非常接近。这是不是意味着我们已经成功了?
不一定。
这里需要区分两种"距离"。一种是欧氏距离,就是两组参数逐个相减、平方求和再开根号,得到的那个数字。另一种是损失曲面上的距离,它衡量的是:从一组参数出发,沿着梯度下降能走到的路径,到另一组参数要走多远。
这两种距离可以差别极大。想象你在一张地图上看两个点,直线距离只有 1 公里。但实际地形上,这两个点之间隔着一座陡峭的高山。你要从一个点到另一个点,要么翻越高山(损失函数暴涨,模型性能急剧恶化),要么绕一条很远的路。在"地图"上看起来近在咫尺的两个点,在"实际地形"上可能需要走一整天。
高维损失曲面就是这种情况的极端版本。大模型的参数空间动辄几百亿维,而在这样的高维空间里,"山脊"和"峡谷"的拓扑结构比三维世界复杂得多。两组在欧氏距离上很接近的参数,中间可能横亘着一道高维的"山脊",梯度下降会把你推向完全不同的方向。
更糟糕的是,随机初始化虽然看似"什么都不知道",但它是经过精心设计的(比如 Xavier 初始化、Kaiming 初始化),能保证梯度正常流动、神经元之间的对称性被合理打破。如果你用一个预测出来的参数替代它,但这个预测在某些微妙的统计性质上有偏差,训练过程可能一开始就走歪,反而不如从头来。
这就像是有人好心把你空降到了一个"看起来离北京很近"的地方,但那个地方在太行山深处,没有路也没有信号。你可能反而不如从广州出发坐高铁来得快。关键不是起点离终点有多近,而是从起点出发,有没有一条通路。
· · ·
第三堵墙:你没法从不存在的东西里外推
假设前两个问题都解决了,还有一个更根本的障碍。
大模型之所以强大,很大程度上是因为它能学到小模型根本无法表达的东西。很多能力在小模型里完全不存在,到了某个参数规模突然出现。比如 GPT-3 展现出了强大的 few-shot 推理能力,而同系列小得多的模型在很多任务上表现远不如它。在某些任务和评测指标下,这种差距看起来像是从近乎零到突然可用的质变。
这种现象被称为涌现能力(尽管学术界对它的定义和测量方式仍有争论,有研究认为部分"涌现"可能是评测指标造成的假象,但大小模型之间存在本质的能力差距这一点是公认的)。它意味着小模型的参数里根本不包含那些大模型才有的能力的信息。你不可能从不存在的东西里去预测什么。
有人会进一步追问:能不能用线性外推的方法?比如我训练了 10B、20B、50B 三个模型,从参数变化的趋势中推算出 200B 的参数?
问题在于,线性外推的前提是趋势是连续的、可延伸的。但涌现现象恰恰说明,在某些关键能力上,这个趋势不是连续的,而是有断崖式的跳变。你在 10B 到 50B 之间看到的趋势,不能可靠地推广到 200B。
此外还有一个纯粹的数学问题:不同规模模型的参数空间维度不同。100 亿参数的模型生活在 100 亿维空间里,200 亿参数的模型生活在 200 亿维空间里。多出来的那些维度对应的是全新的神经元和连接,小模型里没有任何关于它们应该取什么值的信息。这不是外推能解决的,因为你连坐标轴都多出来了。
· · ·
那真正能用的"省钱"方案是什么?
故事讲到这里,可能有点令人沮丧。直接预测参数这条路目前走不通。但"用小模型帮助大模型训练"这个大方向并没有被否定,只是需要换一种更聪明的方式。工业界目前真正在用的方案主要有四种。
渐进式训练:不预测参数,而是"展开"参数
Net2Net 等方法的思路是:先训练好一个小模型,然后用严格的数学变换把它"展开"成一个更大的模型。比如把每个隐藏层的宽度加倍,新增的神经元初始化为已有神经元的复制。这种变换保证展开后的大模型和原来的小模型在功能上完全一致。然后从这个起点继续训练大模型。
这和"预测参数"的区别在于,它不猜测,而是做一个数学上有保证的恒等变换。起点的质量是有保证的。
超参数迁移:不预测参数值,而是预测训练配置
微软的 μP(Maximal Update Parameterization)解决的是另一个问题。训练大模型时,学习率取多少?初始化缩放系数该是什么?权重衰减怎么设?这些超参数在小模型上的最优值和大模型上的最优值通常不同,直接沿用会导致训练失败或效率低下。
μP 通过一套特定的参数化方式,让这些超参数可以从小模型直接迁移到大模型。你在 1 亿参数的模型上花几天时间搜索出最优配置,然后直接用在 1000 亿参数的模型上。考虑到在大模型上做一次超参数搜索可能要花掉上千万美元,这个方法的价值不言而喻。
缩放定律:不预测参数也不预测配置,而是预测性能
Chinchilla 等工作发现了一个惊人的规律:模型的最终性能可以被参数量和数据量的幂律函数精确描述。也就是说,你可以在非常小的规模上做一系列实验,拟合出一条曲线,然后准确地预测:如果我有 X 块 GPU 和 Y 条数据,训练一个 Z 大小的模型,最终性能大概是多少。
这不会让训练变便宜,但它能防止你把钱花错地方。在 Chinchilla 之前,业界普遍倾向于训练更大的模型但用更少的数据(比如 GPT-3 是 1750 亿参数但只用了 3000 亿 token 数据)。缩放定律揭示出这种做法是低效的,同样的算力用在更小的模型加更多的数据上,反而能得到更好的性能。
知识蒸馏:反过来,用大模型教小模型
最后一种策略反向操作。先有一个大模型(教师),训练一个小模型(学生)去模仿大模型的输出分布。这样小模型能学到超越自身容量的"软知识",在部署阶段以极低的推理成本提供接近大模型的性能。
这和我们讨论的方向相反,但在商业上非常重要:训练只花一次钱,推理要花无数次钱。
· · ·
成本的缩放规律:为什么研究小模型是划算的
讨论到这里,有一个问题绕不开:训练小模型也要花钱啊。如果为了"省钱"要先训练好几个小模型做实验,这些实验本身的成本会不会抵消掉省下的钱?
答案是:不会,而且差得很远。原因在于训练成本的缩放方式。
训练一个模型的计算量大约正比于 6 × N × D,其中 N 是参数量,D 是训练数据的 token 数。根据 Chinchilla 缩放定律,要达到最优性能,N 和 D 应该大致同比例增长。这意味着参数量翻倍时,最优数据量也要翻倍,总计算量大约变成四倍。
我们来算一笔具体的账。假设用 10B 参数的模型做实验,每次实验的成本记为"1 份"。那么:
在小模型上做 10 次甚至 20 次实验的总花费,仍然只是在大模型上跑一次的零头。这就是为什么 μP 和缩放定律这类方法在经济学上成立:在小规模上把所有该探索的方向都探索完,确定好配置,然后在大规模上只执行一次。
· · ·
结语:不是走捷径,而是选对路
回到最初的问题:能不能用小模型的参数"猜"出大模型的参数?
我们沿着这个直觉走了一圈。看到了排列对称性如何让参数预测变成一个表面上可行、实际上无从下手的问题;看到了高维损失曲面如何让"数值上接近"变得没有意义;看到了涌现能力如何让小模型到大模型的外推失去依据。我们也看到了"把网络当作整体来看"这个反驳为什么在思路上正确但在操作上困难。
但更重要的是,我们看到了真正有效的替代方案。它们不试图跳过训练,而是用小模型来做更聪明的准备工作:确定更好的初始化方式、更优的超参数配置、更准确的资源规划。
训练大模型没有捷径,但有正确的路线图。 工业界真正的省钱智慧不是猜出终点在哪里然后一步到位,而是在低成本的环境下把路线勘察清楚,确保最终那次昂贵的长征只走一次、走对方向。
这其实和很多工程领域的逻辑相通:不管是造芯片还是发火箭,没有人会直接上全尺寸原型。先用仿真,再用缩比模型,最后才是全尺寸制造和发射。AI 大模型的训练也正在走向这种成熟的工程范式。
而那个最初的直觉——"小模型里应该蕴含着大模型的信息"——并没有被否定。只是提取这些信息的正确方式不是直接复制参数值,而是提取更抽象的东西:什么样的训练策略有效,什么样的资源分配最优,什么样的能力会在什么规模出现。
这些抽象的知识,才是小模型真正能教给大模型的东西。

我建了一个AI学习研究群,目前几十来人,都是在真正动手搞AI的人。如果你也在自己跑模型、写代码、做项目,或者使用Claude和Claude code,欢迎点赞关注转发一键三连,然后加我微信,备注写清"你在做的AI方向",聊得来的话我拉你进群。纯围观的和小白就不加了,有一定门槛。当然你也可以简单粗暴的甩给我999元,我拉你进群,这个没门槛。
