中央研究院人工智慧大楼的负三层,是未来科技最耗电丶最烧钱的地方。四排黑色的机柜整齐排列,每排十六个,共六十四台定制化AI训练伺服器昼夜不停地运转。机柜表面贴着温度传感器,实时数据显示在墙上的监控大屏:45.3℃,46.1℃,47.8℃……空调系统在全功率运行,但依然压不住这些「算力怪兽」散发的热量。
赵静站在监控屏前,已经盯着那条曲线看了二十分钟。那是「小芯」3.0大模型过去七天训练损失的下降曲线。按照计划,曲线应该平滑地向右下方延伸,显示模型正在持续学习。但现实是,曲线在三天前开始剧烈震荡,昨天下午甚至出现了罕见的反向上升,这意味着模型不但没有进步,反而在某些方面退步了。
她身后站着五名核心算法工程师,每个人都脸色凝重。空气里除了伺服器风扇的低频嗡鸣,就只有空调出风口的气流声。
「还是没有找到原因?」赵静没有回头,声音在空旷的机房里显得格外清晰。
站在最左边的年轻工程师扶了扶眼镜:「我们排查了所有可能:数据清洗流程没问题,训练代码没有bug,硬体监控显示所有GPU都在正常工作,内存和显存使用率都在安全范围内。」
「但损失函数就是震荡。」赵静转过身,目光扫过每个人的脸,「而且震荡幅度越来越大。昨天下午那个峰值,损失值回升到了十天前的水平。这意味着我们过去一周的训练,可能白费了。」
这句话让所有人都打了个寒颤。过去一周,这六十四台伺服器消耗的电费就超过八十万,更别说研发人员的工时成本。如果训练真的出了问题需要回滚,损失远不止金钱,更是宝贵的时间。
(请记住 追台湾小说神器台湾小说网,?????.???超好用 网站,观看最快的章节更新)
「张博到了。」一名助理从电梯间小跑过来,压低声音说。
赵静眼睛一亮:「快请他进来。」
被称为张博的男人四十出头,穿着朴素的白衬衫和牛仔裤,背着一个磨损严重的双肩包。他叫张景明,国内顶尖的机器学习理论学者,三个月前被赵静以「访问学者」名义请来,专门研究大模型训练中的稳定性问题。此人性格孤僻,不善交际,但论文被引用次数在亚洲区排前三。
「数据。」张景明走到监控屏前,只说了一个词。
工程师立刻调出详细日志:每一轮训练的参数更新幅度,梯度分布统计,激活函数输出范围,权重矩阵的奇异值分解结果……数十个维度的监控数据以图表形式展开,密密麻麻布满了八块屏幕。
张景明没有看屏幕,而是从背包里掏出自己的笔记本电脑,连接上内部网络。他的电脑桌面上没有任何花哨的壁纸,只有几个命令行终端和一个自制的数据可视化工具。
「给我过去两周的完整梯度历史,按层丶按头丶按batch分别导出。」他的手指在键盘上飞舞,敲击声又快又轻。
机房里的气氛变得更加紧张。所有人都知道,张景明正在尝试一种很少有人用的诊断方法,分析训练过程中梯度的微观动态。大多数团队只关心损失函数这个宏观指标,但张景明认为,大模型训练中的很多问题,早在损失函数震荡之前,就已经在梯度层面显露徵兆。
数据导出需要时间。伺服器阵列的指示灯规律闪烁,硬碟读写的声音像细密的雨点。赵静让助理给大家倒了咖啡,但没人有心思喝。
二十五分钟后,张景明的屏幕上开始出现复杂的多维图表。他用自己编写的工具将数百GB的梯度数据压缩成可视化的模式,不同颜色代表不同网络层,点的位置和大小代表梯度的大小和方向,时间轴则用动画形式展现。
「看这里。」张景明按下了暂停键,指着屏幕上一片区域,「第32层到第35层,注意力机制中的查询-键值投影矩阵,梯度方向在过去四十八小时内出现了系统性偏移。」
赵静凑近屏幕:「这意味着什麽?」
「意味着模型在试图学习某种模式,但遇到了内在冲突。」张景明调出另一组数据,「再看对应的激活值分布,这几个层的神经元输出正在逐渐两极分化,一部分神经元的激活值趋近于零,另一部分则饱和到上限。」
「死亡神经元问题?」一名工程师问。
「比那更复杂。」张景明放大了一个局部区域,「注意观察梯度方向的变化频率。它不是在随机震荡,而是在两个对立方向之间规律摆动。这通常意味着,训练数据中存在某种矛盾的模式,或者模型架构在某些场景下存在歧义性。」
他调出训练数据集的统计信息:「『小芯』3.0用了多少数据?」
「目前是1.2万亿token,混合了中文丶英文丶代码丶学术论文和高质量对话数据。」赵静回答,「清洗过程非常严格,去重丶去毒丶质量过滤都做了。」
「数据配比呢?」
「中文40%,英文35%,代码15%,其他10%。」
张景明点点头,在键盘上敲了几个命令,调出一个他自己训练的诊断模型:「我怀疑问题出在多语言对齐上。大模型需要学习不同语言之间的对应关系,但当语言特性差异太大时,某些底层表示可能会互相冲突。」
他展示了一个简化的示例:「比如中文里『含蓄』这个概念,在英文中没有完全对应的词,需要多个词和语境共同表达。模型在试图为这类概念学习跨语言表示时,可能会遇到梯度冲突,中文语料告诉它往A方向优化,英文语料告诉它往B方向优化。」
「所以损失函数震荡是因为模型在『左右为难』?」赵静理解了。
「可以这麽理解。」张景明说,「但更深层的问题是,随着模型参数规模增加到万亿级别,这种冲突会被放大。小模型可以通过牺牲某些能力来妥协,但大模型理论上应该能同时掌握多种模式,前提是训练过程足够稳定,能让它找到那个高维空间中的平衡点。」
他关掉诊断工具,看向赵静:「你们用的优化器是什麽?学习率调度策略呢?」
「AdamW优化器,馀弦退火学习率,warmup(预热)阶段用了五万步。」工程师调出超参数配置。
「试试换成Lion优化器。」张景明建议,「虽然理论性质不如AdamW清晰,但在我们最近的实验里,它对梯度冲突的鲁棒性更好。另外,学习率可以再降低一个数量级,延长训练时间。」
「降低一个数量级?」有人惊呼,「那训练周期要从三个月延长到两年!」
「或者增加batch size(批次大小),保持总计算量不变。」张景明平静地说,「但问题是,你们的硬体允许吗?」
所有人看向那排伺服器。每台伺服器搭载八张最新的「悟道2.0」AI训练晶片,每张晶片的显存是80GB。当前的batch size已经调到了硬体极限,再大就会爆显存。
「我们可以用梯度累积……」一名工程师刚开口,就被张景明打断了。
「梯度累积只能模拟大batch,不能解决表示学习中的根本冲突。而且会增加通信开销,训练更慢。」
机房陷入沉默。问题似乎又绕回了原点:要麽接受极慢的训练速度,要麽想办法解决硬体限制。
赵静的手机震动起来。她看了一眼来电显示,是陈醒。