10月28日,美国财政部发布了一项《最终规则》,
其中最后一个版块,关于某些AI 系统,美方是这么定义的:禁止与开发旨在专门用于或打算用于某些最终用途的任何 AI 系统相关的涵盖交易。此外,禁止与使用大于 10ˆ25 次计算操作的计算能力进行训练
那么,让我们来理解一下什么叫做 “大于 10ˆ25 次计算操作的计算能力” (computing power greater than 10^25 computational operations
什么是 FLOP
FLOP(Floating-Point Operation):一次浮点运算(例如加法、乘法、乘加操作等)。
10^24 次计算操作描述的是计算能力的规模,可以理解为执行10的24次方次浮点运算总量,不是指每秒的速度。
与已知 AI 模型的训练计算量对比:
为了直观理解“10^25 次计算操作”的规模,我们可以将其与现代 AI 模型的训练计算量进行对比:
GPT-3(OpenAI,2020):
训练总计算量约为 3.14 × 10^23 FLOP。
GPT-3 的计算量比 10^25 小了两个数量级。
PaLM(Google,2022):
训练总计算量约为 3.6 × 10^24 FLOP。
PaLM 的计算量接近 10^25,但仍稍小一些。
GPT-4(推测):
未公布具体计算量,但估计至少在 10^24 的范围。
什么是 FLOPS
在大模型训练和计算领域,我们通常用FLOPS(Floating point operations per second )来度量计算能力。
FLOPS 表示的是每秒可以执行的浮点运算次数,常用于衡量计算机或处理器的计算能力。比如1 TFLOPS 就表示每秒一万亿次(10^12 次)浮点运算。
与当前硬件的对比:
如果我们使用一张 Nvidia V100 GPU 进行训练:
根据官网NVIDIA V100 | NVIDIA信息 ,
NVIDIA V100 的理论峰值计算性能(以 FLOPS 表示)如下(以单块 GPU 为例):
FP32((这里使用最传统通用的 FP32 单精度浮点数精度进行横向对比)):14 TFLOPS(每秒 14 × 10^12 次浮点运算)。
所需时间 = 10^25 FLOP ÷ (14 × 10^12 FLOP/s)
= 10^25 ÷ 14 × 10^12
= (10 ÷ 14) × 10^(25 - 12)
≈ 0.714 × 10^13 秒
≈ 7.14 × 10^12 秒
≈ 226,000 年
如果我们使用更高性能的 Nvidia A100 GPU 进行训练:
根据官网信息, 我们可以看见 A100 的理论最大性能为 19.5 TFLOPS (这里使用最传统通用的 FP32 精度进行横向对比)
也就是说, 如果用 1 台 A100 来执行 10^25 次计算操作,理论上需要:
所需时间(A100) ≈ 10^25 FLOP ÷ (19.5 × 10^12 FLOP/s)
≈ 10^25 ÷ 19.5 × 10^12
≈ 0.513 × 10^13 秒
≈ 5.13 × 10^12 秒
≈ 162,700 年
如果我们使用多块 V100 并行工作, 即使不考虑 张量并行和模型并行的损耗, I/O开销和容错等, 简单粗暴地直接计算要达成 10^25 计算规模的 AI 系统的训练时长:
使用 1,000 块 V100:约 226 年。
使用 10,000 块 V100 (超级计算机规模):约 22.6 年。
结语:
从上面的分析中我们可以看出,一个 FLOP 数量达到 10^25 的 AI 系统可以说是 非常 cutting-edge 的系统, 其显然远超GPT-3的规模,甚至大概率超过 GPT4,并很可能具备:
1. 超大规模模型:参数量可能超过 1 万亿(1 trillion)。
2. 海量训练数据:可能使用数百 PB 规模的数据集。
3. 超大硬件集群:可能需要数百万块高性能 GPU 或 TPU 集群来并行完成训练。
由此我们可以看出,训练计算量达到 10^25 FLOP 的 AI 系统,是极其先进的模型,可能被用于非常复杂的尖端领域.这种规模的计算涉及超级计算机或大型云计算集群,难以被普通机构或个人实现。