铸丹坊的炼药师
一、三个丹炉,三炉废渣
终南山下有座道观,道观后头有一间铸丹坊。
说是铸丹坊,其实就是三间土坯房加三个丹炉。坊主是个老道士,姓公孙,单名一个"炼"字。没人知道他多大岁数——观里的道童说,他爷爷的爷爷的师父,就已经在叫公孙炼"师父"了。
可这些年,公孙炼的名声不怎么好。
观里的香火钱一年比一年少。住持找公孙炼谈过三回——"公孙道长,您炼了一辈子丹,拿出一样东西来堵外头的嘴,行不行?"
公孙炼有三个徒弟:大徒弟抱朴,二徒弟守拙,小徒弟归真。
三人炼丹的路子,完全不一样。
抱朴走"精料"路线。他用最好的丹砂、最纯的铅汞,但丹炉极小——就是一尊三尺高的青铜炉,一回只炼一两。出来的东西确实不错——偶尔能炼出几颗品相圆润的丹丸。但要他多炼——"不行,炉就这么大。"
守拙走"广量"路线。他不管料好不好——山里刨出来的矿石,水沟里淘的泥巴,统统往里倒。丹炉比抱朴的大三倍,一次出丹半斤。但出来的东西——杂质多得像泥丸子,药力若有若无。住持私下说:"吃了守拙的丹,最大的风险就是——什么反应都没有。"
归真最怪。他既不用抱朴的好料,也不用守拙的粗料——他用中等的料。丹炉也不大不小。但他在炉前帖了一行字:"火候不到,绝不开炉。"
他炼一炉丹,时间是他两个师兄的三倍。出来的成品——不算惊艳,但比守拙的干净,比抱朴的多。
住持看了一圈,叹了口气。"三个人,三种路子。有一颗让人放心的丹没有?"
公孙炼始终没说话。直到有一天,他把三个徒弟叫到了自己那间从不让人进的内室。
二、五百年,一堵墙的废方子
公孙炼的内室,三面墙,从地到顶,全是抽屉。
每个抽屉上一张纸条:"乙丑年·小炉精料·三日火"、"丁卯年·大炉杂料·七日火"、"辛未年·中炉普料·十二日火"……密密麻麻。三面墙,少说有几千个抽屉。
"打开看看。"
抱朴拉开一个抽屉——一撮黑乎乎的粉末,旁边一张纸,纸上两个大字:"失败。"
再拉一个。"失败。"
再拉一个。"失败。"
守拙拉了七八个也都是"失败"。归真一直拉到第十一个抽屉,才看到一张写着"可用"的条子——但下面还补了一行小字:"品相二流,药力寻常。"
"师父,"抱朴把抽屉推回去,"这屋里少说有三千个方子。成功的有多少?"
"不到七十个。"
三个徒弟都不说话了。三千个方子——七十个能用。但公孙炼的神情,不像一个失败了三千次的人。
他从抽屉最深处翻出一个薄薄的本子,封面上四个字:"火候通考"。
"失败了多少次不重要。重要的是——每一次失败,都写了它在什么条件下失败的。炉多大、料多少、炼了多久。三千个方子排在一起,你们看出什么了?"
三个徒弟凑近那本子。公孙炼把每一页抄出来的数字排成了一张大表。表上赫然画着三条曲线——不管用什么料、什么炉、什么年份——三条曲线都在说同一件事:
用料多一倍,成丹率大概涨这么多。
炉子大一圈,成丹率大概涨这么多。
炼得久一刻,成丹率大概涨这么多。
而且这三个"这么多",不是各走各的——它们彼此独立。不管你把其中两个拉到什么地步,第三个的效果是固定的。三件事的效果,可以乘在一起。
"老君在上,"归真小声说,"这是在说——炼丹不是碰运气?"
"从来不是。"公孙炼翻到最后一页。
"如果你告诉我——你有多少料、多大的炉、炼多少天——我不用开炉,就能告诉你出丹的品质在什么范围。"
三、大比小好,多大都值
守拙挠着头问:"师父,这有什么好大惊小怪的?料多一点总比少一点好,炉大一点总比小一点好,炼久一点总比仓促好——这不都是废话吗?"
"不是废话。"公孙炼拿茶壶往桌上一顿。
"'多一点就好一点'是废话。'多多少就好多少'——这才是道理。"
他翻到火候通考上一组数据。
"你看这个——把丹砂的量翻一倍,成丹率涨了大约一成二。想再涨一成二,得再把丹砂翻一倍。再涨一成二——四次翻倍,每一次的效果是一样的。没有哪一次翻倍是浪费的。"
"炉径也一样。你把炉子直径从一尺加到两尺,和从两尺加到四尺——效果一样。也就是说,炉子越大,你越来越赚——而不是越来越不划算。"
"更大的炉、更多的料、更久的火——加在一起的效果,是把三条曲线乘起来。一条曲线在上升的时候,不耽误另外两条也在上升。"
归真的眼睛亮了起来。"所以我的炉比抱朴的大、料比守拙的精、火候比他俩都长——三个乘起来,我的丹理论上是最好的?"
"你算对了。但你的'最好'也就比别人好那么一点——因为你炉只大了一号,料只精了一档,火候只多了三成。三个乘完,优势不大。"
公孙炼合上通考。
"可如果把这事推到极致呢?炉大一百倍、料多一百倍、火候长一百倍——三条曲线各自走了多少个'翻倍'?乘起来是多大一个优势?"
抱朴打了个寒战。
"师父——您不会是想……"
"我想造的丹炉,"公孙炼站起身,望着窗外云雾里的终南山,"不能放在这间屋子里。它得建在山底下。"
四、终南山有座藏着火的洞
三个人花了三年,在山体深处凿了一个洞,在洞里砌了一座前所未见的丹炉。
不是三尺高——是三丈高。一次投的料不是几斤——是几百斤。炼的不是七日——是九九八十一天。
开炉那天,观里所有人都来了。公孙炼掀开炉盖,里面躺着三十六颗丹丸——颗颗流光,粒粒剔透。药性之纯,前所未有。
住持拈起一颗,对着光看了半晌:"这不是丹。"
抱朴在边上愣了一整天。后来他找到师父:"我这些年用最小最精的炉,结果您一座大山炉全碾压了。那精料精炉还有什么意义?"
"不是没有意义。"公孙炼正在收第三炉丹的渣,"精料和精炉让你那小炉成功率高。但不管你的小炉多精——它最多只能证明一件事在小规模下是成立的。"
"真正的问题是:堆大去做,一样成立吗?"
他拿过一本新抄的通考续编——三年来大山炉的记录——翻给抱朴看。
"三条曲线,从小炉到山炉,一以贯之。没有断点。没有突然失效的地方。一套规矩管到底。"
他又翻了一页。抱朴看到了一行他从没见过的记录——
"第七十四天,炉中出现了'丹魂'。"
"'丹魂'?"
"一种在开炉之前,你不知道它会有的东西。小炉炼一千次,从未见过。"公孙炼的手指按在那行字上,"它不是你想的——多加一味药炼出来的。它是规模到了以后,自己出来的。"
出丹以后,那些丹丸被送到了长安。一颗治好了王爷的痼疾,两颗解了太后的沉疴。道观的香火从此再没断过。
公孙炼对三个徒弟说了一句话:
"大本身,就是一种解法。同样的规矩,换一座山一样的炉,能做出小炉做梦都做不出的东西。"
技术解读
缩放定律(Scaling Laws)是大语言模型过去五年最重要的实证发现之一。2020 年,Kaplan 等人在 OpenAI 发表《Scaling Laws for Neural Language Models》,系统测量了模型参数量、训练数据量、计算量三者与最终损失(Loss)之间的关系——发现它们遵循精确的幂律(Power Law),且彼此大致独立。
这意味着:不是"大一点就好一点",而是"每次翻倍的效果是稳定的"。想降低同等幅度的 loss,参数量需要指数级增长——但增长的回报是持续的、可预测的。此后,Chinchilla 缩放定律(Hoffmann et al., 2022, DeepMind)进一步校正了数据与参数的配比:训练 token 数应与参数量同比例增长,而非固定数据量下堆大模型。
缩放定律最深远的影响是催生了"涌现"这个现象的描述(Wei et al., 2022):许多能力在小模型中完全不存在,在中等模型中若有若无,到了某个规模门槛以上突然可靠地出现。这不是被单独训练的——是从规模本身涌现出来的。
核心概念回顾
| 概念 | 通俗解释 |
|---|---|
| 幂律缩放(Power Law Scaling) | 损失 L 与参数量 N、数据量 D、计算量 C 的关系近似 L ∝ N^(-α),即对数坐标下是直线——每次翻倍的降幅恒定 |
| 三个缩放维度 | 参数量(模型多大)、数据量(喂多少语料)、计算量(训练多久)。三者独立贡献于最终性能 |
| Chinchilla 最优 | 教训:不要只堆参数而数据不够。每个参数应匹配约 20 个训练 token(经验法则),参数和数据应同比放大 |
| KL 散度 / 交叉熵 | 衡量模型预测分布与真实文本分布之间的差距。训练就是把交叉熵往下降 |
| 外推(Extrapolation) | 用小规模实验的曲线外推预测大模型的表现——缩放定律让这成为可能 |
| 涌现能力(Emergent Abilities) | 在小模型中完全不存在,在大模型中突然出现的能力——如思维链、少样本学习、算术推理等 |
| 计算最优(Compute-Optimal) | 在固定计算预算下,如何分配参数量和数据量才能获得最低损失——Chinchilla 定律给出的配方 |
| 训练预算(Training Budget / FLOPs) | 训练的总计算成本。给定预算,缩放定律能预测最优模型大小和最佳数据量 |
| 边际收益递减 | 每增加一倍投入,性能提升是稳定的——但绝对值递减。所以大规模很贵,但规律本身是线性的(在 log-log 空间) |
| 相变(Phase Change) | 涌现能力的物理学类比:系统在某个临界规模处发生质的跃迁,出现全新行为模式 |
故事中的隐喻对照
| 故事元素 | 映射的技术概念 | 解释 |
|---|---|---|
| 铸丹坊(三间土坯房) | 早期小规模实验 | 资源有限时做的前期探索——模型小、数据少、训练短 |
| 公孙炼(五百年废方子记录) | 缩放定律的实证研究 | 从大量实验中总结出的规律——不同配置下的性能可以预测 |
| 三条曲线:料量、炉径、火候 | 三个缩放维度:数据量 D、参数量 N、计算量 C | 每个"增大"对性能的贡献独立且遵循幂律 |
| "多一倍就涨一成二,再翻倍再涨一成二" | 幂律关系(Power Law) | 在对数空间中,损失与资源的关系是一条直线——每次翻倍的收益可预测 |
| "三个维度彼此独立" | Kaplan 的关键发现 | 参数量、数据量、计算量的效果在大范围内相互独立,可分别建模 |
| "三条曲线从小炉到山炉没断过" | 外推(Extrapolation) | 小规模实验得出的规律可以外推到远超实验范围的规模,且保持有效 |
| 山底下的巨炉(大山炉) | 大规模预训练(如训练 GPT-4) | 将缩放定律推到极致的产物:巨大的模型 + 海量数据 + 长时间训练 |
| "丹魂"(小炉炼一千次都没见过) | 涌现能力 | 大模型才出现的能力——不是被单独训练的,而是规模到了以后自己出来的 |
| 抱朴的精料小炉 | 小模型在精数据上的训练 | 在小规模里看起来还不错——但无法与大模型竞争 |
| 守拙的粗料大炉 | 数据量大但质量差的训练 | D 够大但质量有问题,同样不理想 |
| 归真(中料+中炉+长火候) | 平衡配置 / Chinchilla 最优 | 最均衡——不是某一个维度的极端,而是三个维度协同放大 |
| 三千个方子——七十个能用 | 模型训练的试错成本 | 找到正确配置需要大量实验——但有规律可循后效率大幅提高 |
| 火候通考 | 缩放定律论文(Kaplan, Chinchilla 等) | 把经验系统化为数学规律的记录 |
为什么这个故事对应缩放定律?
"料多一倍就涨一成二"精确描述了幂律关系。 Kaplan 等人发现测试损失 L 与模型参数 N、数据 D、计算 C 的关系遵循幂律:L(N) ≈ (N_c / N)^α_N。在对数空间中,这是一条直线——每次翻倍的收益是稳定的,不会突然失效。
三个维度独立是缩放定律最核心的发现之一。 在相当宽的范围内,模型的性能取决于三个因素的乘积效应——这意味着要得到最好的结果,必须同时放大所有维度,而不是只放大一个。Chinchilla 定律进一步给出了最优的比例配方。
外推能力让缩放定律有了工程意义。 不需要训练 GPT-4 才能知道 GPT-4 的损失大致是多少——用 1000 倍小的模型做实验,画出的曲线可以外推到 1000 倍大。这从根本上改变了 AI 的工程节奏:你先在小规模找到规律,再在大规模上去验证。
涌现能力是缩放最令人敬畏的回报。 "丹魂"对应了那些只有大模型才有的能力——思维链推理、少样本学习、代码生成等。这些能力没有在任何训练样本中被标注过,但在某个规模门槛以上,它们自然而然地出现了。就像一座足够大的丹炉,自己炼出了前人从未见过的"丹魂"。
幂律的边际收益递减与规模的红利并存。 每次翻倍的绝对收益在递减(从 10→5→2.5→...),但在 log-log 空间里,这条路没有尽头。这意味着"更大的投入总是有回报的"——但获得同等回报所需的投入是指数级增长的。这也是为什么训练 GPT-4 的成本是 GPT-3 的几十倍甚至上百倍。
"大本身,就是一种解法"总结了缩放时代的哲学。 在缩放定律被充分验证后,许多过去被认为需要精巧算法设计的问题——翻译、推理、编码——被简单地用"更大的模型 + 更多数据"轻松突破。大,不是回避问题——大,就是一种答案。
后记:公孙炼在终南山深处的那座巨炉,是数学带给工程的一种绝对的信念——不是"大一点就好一点"的模棱两可,而是"多一倍就涨一成二"的铁律。三千个抽屉的失败不是徒劳,它们聚在一起画出了三条干净的曲线——从这三条曲线出发,你能推算出任何规模的答案。炼药最深的智慧不是某一种料的配比,而是认识到:在某些事情上,规模本身即是品质。终南山的烟囱还冒着烟,那座建在山体里的巨炉还在烧——每一个翻倍的投入,都在逼近幂律承诺的那个数字。

