LLM训练成本计算指南(手搓版)

在大模型训练的过程中,提前预估训练所需要的训练资源是十分有必要的,基于transformer结构的语言模型这些都是可以通过计算来进行估计的。这篇bolg就是主要围绕这个问题来进行展开。

基本公式

首先是训练成本:

一个基本的可靠的公式为: C ≈ τ T = 6 P D C\approx\tau T = 6PD CτT=6PD
其中:

  • C是训练 transformer 模型所需的计算,以总浮点运算。这里
    C = C forward + C backward C=C_{\text{forward}}+C_{\text{backward}} C=Cforward+Cbackward
    C forward ≈ 2 P D C_{\text{forward}}\approx2PD Cforward2PD
    C backward ≈ 4 P D C_{\text{backward}}\approx4PD Cbackward4PD
  • τ 是硬件设置 (τ=(No. GPUs)×(Actual FLOPs/GPU))的总吞吐量,以 FLOP 为单位
  • T 是训练模型所花费的时间,以秒为单位
  • P是 transformer 模型中的参数数
  • D是数据集大小(以token为单位)

这里C的单位可以是多种的 他可以一些以下的值:
FLOP/秒,单位为 [ Floating Point Operations Second ] × [ Seconds ] [\frac{\text{Floating Point Operations}}{\text{Second}}] \times [\text{Seconds}] [Second

猜你喜欢

转载自blog.csdn.net/m0_56022510/article/details/141746627