埃隆·马斯克刚刚宣布,xAI 终于连接了他们的Colossus 集群,这是一台拥有 100,000 个安装基数的 NVIDIA H100 GPU 加速计算机。
世界上迄今为止最大的人工智能计算机(甚至没有什么接近它)拥有一些人们所能想象的最惊人的数字,并帮助我们想象下一代模型将会有多大。
我告诉你,它们非常巨大!
失败率很高
人工智能工作负载需要大量的计算才能实现。原因是它们是巨大的数字文件,拥有数十亿个参数,占用两位数或三位数的千兆字节,在某些情况下,如前沿模型,大小达到兆兆字节。
更糟糕的是,由于它们的结构,每次需要预测某些东西时,这些模型都会被查询,从文本角度来说,这意味着它们会针对预测的每个新词进行查询。
因此,为了防止延迟变得无法忍受,我们需要将它们存储在 RAM 中,而 RAM 即使对于高级 GPU 来说也是稀缺的。因此,要自信地部署这些模型,它们可能需要数百甚至数千个 GPU 协同工作。
尽管一切都围绕线性代数展开,这意味着每个计算都不是特别复杂,但它们的数量必然导致整体复杂性巨大。
但与看到真实的数字相比,简单的文字毫无意义。那么,如果我们想预测下一个模型前沿有多大,培养LLM的成本是多少?
估算LLM费用
为了确定这一点,我们必须计算所需的 FLOP 数量。FLOP 是每秒的浮点运算次数,或训练(或运行)模型所需的每秒计算总数。
按照OpenAI 的扩展定律论文,我们可以使用公式Cost = 6 x N x D来估算 FLOP 的总量,其中:
- ‘N’表示模型的非嵌入参数的数量(对于非常大的模型,嵌入参数可以忽略不计,因此我们可以取全局值)
- “D”表示用于训练模型的训练 token 数量
但这个非常简单的公式准确吗?让我们以 Meta 最先进的 LLM 课程 Llama 3.1 405B 为例:
- ‘N’ = 4050 亿(如上所述,4050 亿中只有 20 亿(即 0.49%)是嵌入参数,因此我们可以取总值)
- “D” = Meta 自己报告的15 万亿代币
应用此公式,我们可以得到训练此模型所需的 Meta FLOPs 总量:
- 总 FLOP = 6 x 405 x 10⁹ x 15 x 10¹² = 36,450 x 10²¹,或3.6 x 10²⁵,非常接近 Meta 实际报告的3.8 x 10²⁵,这是一个舍入误差。
我们可以做的另一件有趣的事情是估计他们训练模型需要多长时间。
估计训练运行长度
根据实际研究论文,我们知道他们使用了 16k Nvidia H100 集群。我们还知道该模型是在混合精度、FP16 权重精度(或每个权重 2 个字节)下训练的,而 Adam 优化器具有 FP32 精度(或每个权重 4 个字节)。
这意味着单个 NVIDIA H100 的峰值性能为1,979 TeraFlops。
虽然这是峰值性能(而不是每个 GPU 的实际吞吐量),但这意味着 16k H100 的总计算能力为 1,979 x 10¹² x 16 x 10³ = 31,664 x 10¹⁵ 或3.2 x 10¹⁹ FLOPs。
因此,为了达到之前计算的 Llama 3.1 405B 的总训练成本,集群必须运行 3.8 x 10²⁵ / 3.2 x 10¹⁹ = 1.48 x 10⁶ 秒,即14 天。
但问题是:这个估计值还远远不够。该模型实际上训练了 54 天,在三个预训练阶段,平均模型 Flop 利用率在 38-43% 之间,如下图所示:
模型 Flop 利用率 (MFU) 定义了我们在训练期间平均可以获得的每个 GPU 的实际吞吐量。
长话短说,估计理想的训练时间是不值得的,因为现实要艰巨得多。尽管如此,该模型的训练时间还是比理论值高出三倍。
总经济成本是多少?
一个16k NVIDIA H100集群的成本大概是9.6亿美元的资本成本。
- 以每 GPU 30,000 美元计算,仅 GPU 的资本成本就高达 4.8 亿美元
- 在人工智能数据中心的数字中,土地、承包商和其他必要设备占总成本的另外 50%,额外增加了 4.8 亿美元。
至于训练运行成本,事情就有点棘手了。
- 如果我们以美国工业电价平均 0.083 欧元/千瓦时计算
- 假设运行每个 GPU 所需的实际功率约为 GPU 热设计功率 (TDP) 的两倍(根据 SemiAnalysis 计算,考虑到网络、冷却和其他成本),根据 NVIDIA 的说法为 700W,这意味着所需的实际功率负荷为 1400 x 16,000 = 22.4 MW
因此,运行 42.5 天时,此类数据中心在最大功率下的运行成本约为 22.4 x 10³ KW x 24 x 54 = 29.03 x 10⁶ KW x 0.083 欧元/千瓦时 = 241 万美元,或仅占总拥有成本 (TCO) 的 0.25%。
如你所见,AI 训练的运行成本微不足道。但对于 AI 推理来说,情况就完全不同了。
了解了所有这些,我们现在可以回答这个大问题:我们可以用这样的数据中心训练多大的模型?
真正的庞然大物
在 100,000 个 H100 的情况下,Elon 集群的总理论峰值 FLOP 非常巨大,总值达到 1,979 x 10¹⁷ FLOP。
因此,要训练 Llama 3.1 405B,理论上大约需要 3.8 x 10²⁵ / 1.979 x 10²⁰ = 1.92 x 10⁵ 秒 = 53 小时,或者仅仅2.2 天。
是的,你没看错:花两天时间来训练一个最先进的模型。
当然,如果我们假设 xAI 无法达到比 Meta 更高的 MFU(由于 Colossus 的规模庞大,它可能会低得多),那么假设 500 TFlops/GPU,这个数字实际上是9 天左右,对于 Llama 3.1 405B 的大小和质量的模型来说,这仍然是疯狂的。
但我们可以更进一步。在这种规模下,xAI 可以决定训练一个更大的模型。例如,如果我们设定 100 天的预算,那么我们能用这样的集群训练多大的模型?
让我们对这些数字进行逆向工程。
我假设训练精度也是混合的(权重为 BF16/FP16,Adam 优化器状态为 FP32。
以峰值性能(TDP)运行这样的集群意味着总 FLOP 预算为100,000 GPU x 每 GPU 1,979 x 10¹² FLOP x 3600 秒 x 24 小时 x 100 天 = 170,985,600 x 10¹⁹ FLOP,或 1.71 x 10²⁷ FLOP。
使用我们之前看到的相同缩放定律公式,并将训练标记的数量(训练数据集的大小)固定在 Meta 使用的 15 万亿个标记中,我们将得到以下结果:
我之所以固定数据集大小,是因为我们想知道针对已知的最先进数据集(例如 Meta 的数据集)可以训练的最大模型。然而,实际上最好最大化数据集大小,而不是最大化模型大小。
1.71 x 10²⁷ = 6 x {Model_size} x 15 x 10¹² ⇒模型大小 = 19 x 10¹² 或 19 万亿参数模型,比当前边界所谓的最大尺寸大十倍;只有巨像大小的集群才能建造出一个真正巨大的野兽。
再次强调,这是理论最大规模。如果我们假设峰值为 500 TFlops/GPU,则参数模型为 4.8 万亿,是实际峰值规模的两倍。
如果我们假设台积电在 SEMICON 期间的泄密(3-5 万亿之间)是真实的,那么这个数字就更接近现实。
从成本角度来看,Colossus 也位于另一个星球上。
- 资本成本约为 60 亿美元(每 GPU 价格为 3 万美元,考虑到 NVIDIA 为 xAI 提供的巨额折扣,可能接近 40 亿美元)
- 训练该模型的运行成本也将非常高昂。连接这样的数据中心需要大约 140 兆瓦的电力。运行 100 天,将花费 3360 万千瓦时 x 0.083 欧元/千瓦时 = 2790 万美元。
作为参考,140 兆瓦的电力足以为低端 56,000 户家庭供电,高端 126,000 户家庭供电。
Grok-3 会打破所有记录吗?
由于业界仍在消化 Grok-2,如果埃隆不打算训练一个可以大规模运行的庞大模型,他就不会建立一个价值 40 至 60 亿美元的数据中心。
因此,Grok-3 可能是第一个下一代 AI 模型。它可能比目前最先进的 FLOPs 预算增加两个数量级,这也将回答一个重大问题:
我们所需要的就是扩展吗?
如果 Grok-3 未能实现期待已久的阶跃函数增长,尽管投入的计算量比训练 GPT-4 多 100 倍,情况可能会变得糟糕。
如果真是这样,那么也许《惨痛教训》根本不是真的,我们能做的就是为那些几乎将所有资金都投入到扩大人工智能规模的公司祈祷。
RA/SD 衍生者AI训练营。发布者:chris,转载请注明出处:https://www.shxcj.com/archives/5932