{"id":"mb-20260827-c46740","account":"mubei","brand":"","title":"训一个几千亿参数的大模型，上万张最顶级的显卡，有一大半时间根本没在算","summary":"训一个几千亿参数的大模型，上万张最顶级的显卡，有一大半时间根本没在算","body":"训一个几千亿参数的大模型，上万张最顶级的显卡，有一大半时间根本没在算。\n算力租金按秒扣费，电表飞速打转，机房风扇震耳欲聋。\n但芯片的浮点运算单元，却在成片成片地熄火发呆。\n业界的真实数字冷冰冰摆在那里。\n哪怕是顶尖实验室，模型算力利用率通常也只有 35% 到 43%。\n剩下的六成算力，蒸发去了哪里？\n是算法写得太慢，还是代码逻辑不够优化？\n为什么在 Python 里写得整整齐齐的线性代码，扔进上万张显卡之后，会碎成一地残渣？\n这台让万亿资本买来的算力大面积瘫痪的机器，叫通信重叠与关键路径气泡。\n要看懂这台机器，先看单张显卡和集群的本质区别。\n单张显卡训练很简单：数据喂进显存，核心埋头计算。\n但千亿参数的大模型，根本塞不进任何单张显卡的显存。\n工程师必须把模型生生切碎，分摊到几千甚至上万张显卡上。\n张量并行把每一层的矩阵乘法横竖切开。\n全分片数据并行把模型参数、梯度和优化器状态彻底剥离。\n专家并行和上下文并行把海量参数和数十万字的序列切散。\n这种切分带来了一个致命代价。\n任何一张显卡想要算下一层网络，必须先等别的显卡把中间结果传过来。\n在硬件底层，显卡从来不是按代码顺序单线推进的。\n它跑在两条平行的硬件轨道上。\n一条是负责矩阵乘法的高速计算流。\n一条是负责跨卡数据搬运的通信流。\n这两条轨道在时间线上贴身肉搏。\n最理想的状态，是当前层在计算流里疯狂运转时，下一层要用的参数已经在通信流里提前搬运完毕。\n这在工程上叫计算与通信重叠。\n只要算力跑完的瞬间数据刚好到位，跨卡通信的耗时就被彻底藏在计算背后。\n但物理现实没有这么仁慈。\n跨机柜的光纤只要有一丝抖动，或者层与层之间的依赖拓扑解不开，通信就会慢上几个微秒。\n一旦计算流算完了，而通信流的数据还没送达，硬件同步机制会瞬间踩下急刹车。\n在底层的执行轨迹图上，显卡会留下一大片空白。\n工程上把这片空白叫气泡。\n只要这个气泡落在了决定整体速度的关键路径上，几万张每小时烧掉几万美元的显卡，就必须集体陪着它原地发呆。\nAI 研究者 Vlad Savinov 拆解过 PyTorch 官方分布式训练框架 torchtitan 的真实底层轨迹。\n把掩盖在代码背后的底层事件拉平在时间轴上，才能看清真相。\n算力根本不是平铺直叙的流水线，是一张充满阻塞、等待与抢跑的有向无环图。\nMeta 训练 4050 亿参数的 Llama 3.1 时，动用了 1.6 万张 H100 显卡。\n即便用尽了交错流水线调度、异步张量并行与微块切分，把能重叠的通信全部塞进计算缝隙，整体算力利用率依然被锁在 40% 左右。\n这就是为什么 AI 军备竞赛的底层法则正在发生质变。\n很多人看算力竞争，习惯盯着谁买了十万张显卡，以为算力是简单的乘法累加。\n在超大规模分布式系统里，算力遵循的是残酷的拓扑规律。\n芯片堆得越多，通信复杂度的爆炸速度就越快，时间轴上的气泡就越难被压平。\n真正拉开顶尖实验室差距的，从来不是买显卡的支票厚度。\n是在微秒级的时间轴上，把跨卡通信死死压进计算缝隙里的工程编排能力。\n谁能把通信完全藏进阴影里，谁就能用一半的芯片跑出对手两倍的速度。\n藏不住通信的，买再多显卡，也不过是在高昂的电费账单里，养了一大堆在网线面前排队发呆的昂贵发热器。","category":"科技","score":null,"translated_x_url":null,"translated_status_id":null,"published_at":"2026-08-27 11:28:33","created_at":"2026-08-27 11:28:33"}