来源:互联网 更新时间:2026-08-11 16:21
by Armin Rahimi

本文转自:DeepHub IMBA
AI 领域有个问题听起来简单,却难住了不少人:
需要多少 GPU,训练要花多长时间?
很多人觉得回答这个问题得靠复杂的基础设施建模,或者昂贵的集群仿真软件。其实没那么负载,只用一个基于 scaling law(缩放定律)研究的公式,几分钟就能算出一个靠谱的估算值。
虽然结果不会完全的精确,但肯定可以落在一个数量级之内。这种计算方式在早期规划阶段基本上够用了。
GPU 规划归结为两个数字:
知道一项工作有多大,也知道一个工人的速度,就能算出需要多少工人才能按时完成;GPU 是同样的道理:
GPUs = C / (GPU throughput × T)
其中:
所有 LLM 训练的粗略估算,都建立在这一个公式上。后面的内容就是把每一部分拆开讲清楚。
训练是逐个 token 进行的,所以第一个问题是:单个 token 的成本有多高?
对于一个参数量为
加起来:
≈ 6N FLOPs per token
前向传播中,N 个参数每一个大约都会被用到一次,一次乘加运算算作 2 次运算,这就是 2N 的由来;反向传播要同时计算激活值和参数的更新,成本大约是前向传播的两倍,这就是 4N 的由来。2N + 4N =
这个近似在实践中用得很广并且也与 Kaplan 等人(2020)、Hoffmann 等人(2022)的 scaling law 研究结果吻合。
一个 token 成本是 6N FLOPs,那么在
C ≈ 6 × N × D
其中:
一个稠密 Transformer 的计算模型更大、数据更多,计算量都线性增加。
不要用规格表上营销宣传的"峰值"数字。真实训练永远达不到峰值,实际能拿到的往往只是峰值的一部分,通常是 30%–60%,原因在于内存限制、GPU 之间的通信开销,以及软件层面的损耗。
所以想要更贴近实际的持续吞吐量数字,OpenAI 关于真实训练效率的分析(Amodei & Hernandez,2018)是个经典参考:
K80 → 2.8 TFLOPS
K40 → 3.7 TFLOPS
M40 → 6.0 TFLOPS
P100 → 9.5 TFLOPS
(1 TFLOPS = 10¹² FLOP/s。)A100、H100 这类现代显卡,代入各自的持续吞吐量数字即可,方法不变。
这里有必要专门解释一下这个 P100 数字:9.5 TFLOPS,本质上引用的是 NVIDIA 规格表里 P100 的峰值 FP32 指标(PCIe 版本是 9.3 TFLOPS,SXM2 版本约 10.6)。但放到真实训练环境里,几乎不可能长期跑到这个峰值,实际能够稳定拿到的持续吞吐量,通常只有峰值的 30%–60%。所以,这里的例子更适合被理解为一种偏乐观、用于判断数量级的估算;到了实际落地时,往往需要更长时间,或者更多 GPU。这也正是后文专门提醒 MFU 问题的原因。
单块 GPU 上的耗时:
T_single = C / GPU throughput
针对多块 GPU 的核心公式,再写一遍:
GPUs = C / (GPU throughput × T)
规划一个从零训练的小型 LLM。
Model 1.5B parameters N = 1.5 × 10⁹
Dataset 100B tokens D = 10¹¹
Hardware NVIDIA P100 9.5 TFLOPS = 9.5 × 10¹² FLOP/s
总计算量(第二步):
C = 6 × (1.5 × 10⁹) × 10¹¹ = 9 × 10²⁰ FLOPs
单块 GPU 需要多久:
T = (9 × 10²⁰) / (9.5 × 10¹²) ≈ 9.5 × 10⁷ seconds ≈ 1,097 days
用一块 P100 算下来就是大约三年。。。显然不现实,只能并行。
要在 30 天内完成,需要多少块 GPU?先把 30 天换算成秒:
T = 30 × 24 × 3600 = 2.59 × 10⁶ seconds
单 GPU 所需时间除以愿意等待的时间:
GPUs = (9.5 × 10⁷) / (2.59 × 10⁶) ≈ 37
37 块 P100,能把约 3 年的训练缩短到大约一个月。
这就是整个方法:输入三个数字,输出一份硬件方案。
这是个好用的规划工具,但终究是个简化模型,有三点要记住。
6N 法则是近似的。它抓住了主要的矩阵乘法运算,但忽略了 attention softmax、LayerNorm、embedding 等开销。对大多数模型来说,这些只占很小的比例,但不是零。
现实里的系统,几乎不可能把效率拉到 100%。任务一旦分到多块 GPU 上,通信开销(all-reduce)、内存瓶颈,以及软件栈本身的损耗,都会一点点把性能吃掉。实际最终能跑到峰值的多少,用
GPU 吞吐量也不是固定不变的常数。它会随精度(FP16 / BF16)、批量大小(batch size)、模型架构,以及软件栈的调优程度而变化。TFLOPS 数字,始终只是一个估算值。
不必手动完成每一步计算,有几个免费工具可以帮着算。大致分三类:计算量估算、显存检查、成本预算。
计算量估算(6ND 运算):
显存 / "装不装得下"检查:
C ≈ 6 × N × D
从这一个公式出发,就能估算训练成本、训练时间、所需的 GPU 数量,误差都在一个数量级以内。做系统方案初步设计时,这通常已经够用;等需要把数字算得更精确,再去用上面那些工具。
Kaplan et al. (2020). Scaling Laws for Neural Language Models
Hoffmann et al. (2022). Training Compute-Optimal Large Language Models (Chinchilla)
Amodei, D. & Hernandez, D. (2018). AI and Compute
腾讯ima怎么把微信内容一键导入知识库?
腾讯ima怎么创建共享知识库?
Celestia价格预测2026-2032:TIA币能否引领山寨币上涨行情?历史价格回顾
新浪互联网热点小时报丨2026年07月26日16时_今日实时互联网热点速递
比特币(BTC)核心周期指标复刻历史走势 价格或跌破5.8万美元关键支撑位
比特币 2025 年价格预测:BTC 的未来走势
新浪机器学习热点小时报丨2026年07月25日18时_今日实时机器学习热点速递
WorkBuddy微信版怎么获得积分?
新浪人工智能热点小时报丨2026年07月30日18时_今日实时人工智能热点速递
男生高性价比充电头?
博世壁挂炉关闭暖气怎么操作
5000元起的鼠标哪个最值得入手?
车载冰箱重置到出厂设置几步?
短剧《史上最强洪荒修为》剧情介绍
管线机怎么接云米净水器
笔记本移动电源推荐哪款?
结婚家电首选:Leader懒人三筒Ultra热泵洗烘一体
腾讯ima知识库怎么分类管理?
海尔消毒柜自动消毒如何中止
kimi提示词专家使用方法新手指南
手机号码测吉凶
本站所有软件,都由网友上传,如有侵犯你的版权,请发邮件haolingcc@hotmail.com 联系删除。 版权所有 Copyright@2012-2013 haoling.cc