目录
根据大模型的参数量及训练数据量设计算力需求需综合考虑计算量、内存占用、硬件性能及并行策略。
1、训练阶段的算力需求
公式:训练算力需求(FLOPs)=2×P×N×S×D
P:模型参数量。它通常以浮点数形式表示,比如10亿参数等于109。
N:每次训练的样本数,也就是批大小(BatchSize)。
S:单次前向传播的计算量,由于模型架构不同而有所差异,一般会按照一定数量的FLOPs来估算。
D:训练轮数(Epochs)乘以训练数据集的样本数量。每个Epoch表示整个数据集被完整训练一次。
2:训练过程中需要进行前向传播和反向传播,而反向传播的计算量大约是前向传播的两倍。
还有一个简化公式可以用来估算:
实际FLOPs=8×tokens数×模型参数量
在这种情况下,每个token的每个参数需要进行多次浮点运算。
示例:以GPT-3这个拥有1750亿(1.75×1011)参数的模型为例,它训练了3000亿(3×1012)tokens,单次前向传播的计算量按6FLOPs来算。
根据公式:
训练算力需求=2×175×109×6×3×1012×150×109=3.15×1023FLOPs
如果每次训练的批量大小为150(1次FLOPs),那么总的FLOPs就是:1.75×1011×3×1012×150≈8×1023FLOPs