大规模语言模型--训练成本( 三 )

C 是一个量化计算成本的单位,通常用FLOP 表示,也可以用一些新的单位来表示:

  •  FLOP/s-s :表示每秒浮点运算数 × 秒;
  •  PetaFLOP/s-days:表示实际情况下每秒浮点运算数 × 天
 
费用和能耗
近年来 ,  LLM 变得越来越大,LLM 的训练费用跟参数大小直接相关, 训练大型模型需要大量的算力,因为 需要处理海量的数据 。训练这类模型所需的算力取决于以下因素:模型的规模(参数数量)、训练数据集的大小、 训练轮次、批次大小 。T5 11b 规模的模型单次训练成本预估超过 130 万美元,GPT-3 175B 单次训练需要 460 万 美元 。
在此, 我们假定要训练一个千亿规模的大模型,用 1PB 数据进行训练,训练一次,并且在 10 天内完成训练 。 看看需要消耗多少算力,并计算这样的算力消耗 , 如果用英伟达的芯片 , 需要多少芯片 。
首先,我们要了解一个概念, 即 FLOPs  (浮点运算次数) 。FLOPs 用来衡量执行某个任务所需的计算量 。T5 11B 模型只需要 3.3x102 2,假设一个千亿(1000 亿) 参数的大型模型,我们可以参考 GPT-3 。GPT-3 中最大的模 型(1750 亿参数) 的训练大约需要 3.14 ∗ 102 3 次浮点运算(FLOPs),FLOPs 大了 10 倍,下图是训练大语言模 型所需 FLOPs 对比示意图 。
大规模语言模型--训练成本

文章插图
训练大语言模型所需 FLOPs 对比示意图
我们可以通过以下简化公式估算所需的 FLOPs:
所需 FLOPs = (千亿参数 / 1750 亿参数) * 3.14 ∗ 102 3 FLOPs
根据这个公式,我们得出训练一个千亿参数的模型大约需要 1.8 ∗ 102 3 次浮点运算 。我们来看看英伟达的芯片 。 以英伟达 A100 GPU 为例,其具有每秒 19.5 万亿次(19.5 TFLOPs) 的浮点运算能力 。要计算出需要多少个 A100  GPU 来满足这个算力需求,我们可以使用以下公式:
所需GPU数量 = 1.8 ∗ 10^23FLOPs/(19.5∗10^12FLOPs/s * 训练时间秒数)
如果希望在 10 天(约 864000 秒) 内完成训练, 可以按照以下计算方式得到所需 GPU 数量, 在 10 天内训练 1000 亿参数规模、 1PB 训练数据集,大约需要 10830 个英伟达 A100 GPU:
所需GPU数量 = 1.8 ∗ 10^23FLOPs/(19.5∗10^12FLOPs/s * 864000s)
接下来 ,  我们来计算大模型的训练成本 。要计算训练一个千亿规模大型模型的总费用,我们需要考虑以下 因素:GPU 成本、其他硬件成本(如 CPU、内存、存储等)、数据中心成本(如电力、冷却、维护等)、人力成本 。
还是上面的例子,需要在 10 天内训练 1000 亿参数规模的大模型,总的成本如下:
GPU 成本: 英伟达 A100 GPU 的价格因供应商和购买数量而异, 假设每个 A100 GPU 的成本约为 10000 美 元,那么 10830 个 GPU 的总成本约为:10830 * $10,000 = $108,300,000
其他硬件成本: GPU 只是整个计算系统的一部分, 我们还需要考虑其他硬件设备的成本 。包括 CPU、内存、 存储、网络设备等 。这些硬件成本可能占据整体硬件成本的一部分,假设其他硬件成本占 GPU 成本的 20%,那 么:其他硬件成本 = $108,300,000 * 20% = $21,660,000
数据中心成本: 我们还需要考虑数据中心的成本,包括电力、冷却、维护等 。假设这些成本占 GPU 成本的 10%,那么:数据中心成本 = $108,300,000 * 10% = $10,830,000
人力成本: 训练大型模型需要一支研究和工程团队,包括研究员、工程师、数据科学家等 。人力成本因团队 规模和地区差异而异 。在这里,我们假设人力成本约为 200 万美元 。
大规模语言模型--训练成本

文章插图
训练大语言模型所需费用对比示意图
综合以上因素,训练一个千亿规模大型模型的总费用大约为 $142,790,000:
  • 总费用 = GPU 成本 + 其他硬件成本 + 数据中心成本 + 人力成本
  • 总费用 = $108,300,000 + $21,660,000 + $10,830,000 + $2,000,000
因此, 在 10 天内训练一个千亿规模的大型模型大约需要花费 1.43 亿美元 。当然,如果训练时间长一点,就 可以用更少的 GPU,花费更少的成本 。但一般而言 ,  总成本都会在几千万美元规模 。从上面的分析可以发现,大模型真的是烧钱的游戏 。先不考虑大模型的研发, 就是要完成一次大模型的训练, 首先就要有上亿的成本投入, 上图是训练大语言模型所需费用对比示意图 。


推荐阅读