← 项目

Transformer 算力与显存计算器

训练一个 Transformer 语言模型,只需要回答四个问题:参数有多少、要算多少、显存够不够、要训多久。每个问题一条公式、一张图——选个模型、拖一拖滑块就能看到它们怎么变。

模型

GPU
×张
训练数据
① 参数量
② 训练总算力
③ 每张卡的显存
④ 训练时间

图架构:一个 token 走完全程

每个张量和权重画成一个盒子,形状跟着上面的模型、滑块和第 3 节的 batch 一起变。

滚轮缩放 · 拖拽平移 · 双指捏合 · 双击复位
100%

1参数都在哪

每层大约 12·d² 个参数——注意力 4·d²,前馈 8·d²——一共 L 层;再加上进出词表的 2·V·d。

2要算多少

一个参数遇到一个 token:前向 2 次运算(一乘一加),训练(前向 + 反向)6 次。唯一的例外是注意力的打分 Q·Kᵀ 和加权求和 ·V——它们没有参数,随 T² 增长。

3显存够不够

每个参数固定占 16 字节:权重、梯度、Adam 的 m 和 v 各 4 字节——这是地板,和 batch、T 都无关。在它上面,激活值随 batch × T 线性增长,注意力的打分矩阵随 T² 增长。

每张卡的 batch

4要训多久

时间 = 总算力 ÷(卡数 × 单卡峰值 × MFU)。MFU 是真正用上的算力占峰值的比例,大规模训练通常在 30–50%。

总算力
÷
每秒真正算多少
=
训练时间