训练算力从 LeNet 到今天的旗舰模型涨了约 15 个数量级。 Demo 用 2 × 参数 × 数据量 估算 FLOPs:GPT-3 单卡 A100 要跑 26.7 年, 换成 1024 张卡是 9.5 天。
上一节讲分层,这一节讲背景:为什么这十年「训练师」会变成一个岗位。
一、三个时代,一条曲线
1998 年的 LeNet-5 只有 6 万个参数,在 6 万张手写数字上跑 20 轮; 2012 年的 AlexNet 有 6000 万参数,在 128 万张图上跑 90 轮; 2020 年的 GPT-3 是 1750 亿参数,3000 亿 token。 今天(按 2026 年的量级假设)旗舰模型到 1.8 万亿参数、15 万亿 token。 参数量涨了 3000 万倍,训练用量涨了上亿倍,乘起来是十四个数量级。 这个量级变化不是「更努力」,是换了算法范式:卷积网络靠局部连接省参数, Transformer 靠注意力换并行度,两者能吃到同一块 GPU 的方式完全不同。
二、算力账怎么估
一个够用的估算式:训练 FLOPs ≈ 2 × 参数量 × 处理的数据条数。 每处理一条数据,每个参数做一次乘加,乘加算两次浮点运算。 再看单卡有效算力:A100 的 fp16 峰值 312 TFLOPS,实际训练能用到四成左右,也就是 1.25e14 FLOPS。 两者一除,就是「一张卡要跑多久」。 GPT-3 那个数算出来是 26.7 年。换成 1024 张卡是 9.5 天(理想线性加速)。 旗舰模型用 4096 张卡也要 3.3 年。 这就是为什么训练一次要提前几周做决定:跑错了重来,成本是按「月」算的。 训练师的价值有一半在这里——把返工挡在开跑之前。
三、算力涨了,人反而更重要
如果只是算力变强,那这个岗位应该消失才对。事实相反,因为算力只解决「能算」,解决不了「算什么」。 数据要人去定「这条样本算不算正例」,指标要人去定「错到什么程度算错」, 结果要人去判断「这版能不能发」。这三件事 GPU 一件也做不了。 所以算力涨十四个数量级,人的判断反而更贵了:一次判断失误,浪费的是几千张卡跑几周的电费。
四、动手 Demo:从 6 万参数到 1.8 万亿,单卡要跑多久
取六个有代表性的模型,按 2 × 参数 × 数据量 估训练 FLOPs,再按单张 A100 的有效算力折算成时间, 最后算首尾相差多少个数量级、换多卡后要跑多久。
flops = 2.0 * params * used # 每条数据、每个参数一次乘加
one_card = 312e12 * 0.40 # A100 峰值 × 有效占比
seconds = flops / one_card
np.log10(flops_list[-1] / flops_list[0]) # 涨了几个数量级
实跑输出:
--------------------------------------------------------------------
三十年,训练算力涨了十四个数量级
--------------------------------------------------------------------
模型 参数量 训练用量 训练 FLOPs 单卡 A100 要跑
-------------------------------------------------------------------------
LeNet-5(1998) 6 万 120 万 1.44e+11 0.00 秒
AlexNet(2012) 6000 万 1.15 亿 1.38e+16 1.8 分钟
ResNet-50(2015) 2560 万 1.15 亿 5.9e+15 47.3 秒
BERT-Large(2018) 3.4 亿 33 亿 2.24e+18 5.0 小时
GPT-3(2020) 1750 亿 3000 亿 1.05e+23 26.7 年
旗舰模型(2024,假设) 1.8 万亿 15 万亿 5.4e+25 13720.6 年
FLOPs 用 2 × 参数 × 数据量 估:每处理一条数据,每个参数做一次乘加,
乘加按两次浮点运算算。单卡有效算力 = 3.12e+14 峰值 × 40% = 1.25e+14 FLOPS。
首尾相差 3.75e+14 倍(约 14.6 个数量级)
GPT-3 单卡要跑 26.7 年
换成 1024 张卡 9.5 天
旗舰模型 4096 张卡 3.3 年
这张表解释了一件事:为什么「训练师」这个岗位会出现。
算力涨了约 15 个数量级,但数据不会自己变干净、指标不会自己变好看——
这些活只能人来做,而且必须在烧钱之前做完,因为一次训练跑完可能要几周。
【口径说明】上表把「训练用量」统一成「处理了多少条数据(或 token)」,
所以卷积网络那一列是「图片数 × 轮数」,语言模型那一列是 token 数。
两者不能直接比大小,只能比数量级;真要横向比较得换算成 FLOPs,也就是第 4 列。
表里六行的「训练用量」是统一口径:卷积网络那几行是「图片数 × 轮数」,语言模型那几行是 token 数。 两者不能直接比大小,只能比数量级;真要横向比较得看第 4 列的 FLOPs。 LeNet-5 一行只有 1.44e11 FLOPs,单卡 0.00 秒就跑完了;GPT-3 是 1.05e23,单卡 26.7 年。 首尾相差 3.75e14 倍,约 14.6 个数量级。 「1024 张卡 9.5 天」是理想线性加速。 真实集群要打折扣,因为卡间通信会吃掉一部分时间——这个折扣在不同模型上从三成到一半都有, 本 Demo 没有实测条件,所以只给理想值。 最后一行「旗舰模型 4096 张卡 3.3 年」看着不合理,是因为我给的假设参数(1.8 万亿参数、 15 万亿 token)已经超出单集群常规做法。 它想说明的是:规模到这一步,靠堆卡已经不划算了,得换架构或换训练策略。
30 秒实验
- 把有效算力从 40% 改成 25%,重算 GPT-3 单卡要跑多久。
- 算一算:一次训练电费按 0.6 元/度、单卡 400 瓦,1024 张卡跑 9.5 天要多少钱。
- 想一想:为什么「参数量」和「数据量」要一起涨,只涨一个会怎样?
常见误区
- 「算力越强越不需要人」——算力只解决能算,不解决算什么。
- 「大模型就是参数多」——参数和训练数据要匹配,只堆一个会浪费。
- 「FLOPs 能直接比模型好坏」——同 FLOPs 不同架构的效果可以差很远。
自测三问(点开对答案)
1. 训练 FLOPs 的估算式是什么? —— 约等于 2 × 参数量 × 处理的数据条数(乘加算两次浮点运算)。 2. GPT-3 单卡 A100 要跑多久?换 1024 张卡呢? —— 单卡 26.7 年,1024 张卡约 9.5 天(理想线性加速)。 3. 算力涨了十四个数量级,为什么训练师反而更重要? —— 一次判断失误浪费的是几千张卡跑几周,人的判断变贵了。算力账算完,下一节把这笔账落到十个行业上,看「价值」怎么被量化。
- ☐ (本节完,下一节 1.1.4 十大行业变革:人工智能引领的未来趋势)