首页 A1训练模型 打造智能计算中心——Flops算力、大模型参数与GPU卡型号的关系

打造智能计算中心——Flops算力、大模型参数与GPU卡型号的关系

标题:建设智算中心-Flops算力与大模型参数、GPU卡型号间关系

在建设智能计算中心的过程中,经常会涉及到计算能力与GPU卡之间的计算,例如:

1、3E的算力规模需要多少张A100卡?

2. 3E的算力规模可以训练多少个参数模型、训练多长时间、训练多少次。

本文重点对这个内容进行讲解。本文重点讨论智能计算,不包括超级计算和通用计算的算力单位。

1.Flops计算能力单位Flops是浮点运算的次数

1 MFLOPS (megaFLOPS) 等于每秒一百万(=10^6) 次浮点运算。

1 GFLOPS (gigaFLOPS) 相当于每秒10 亿(=10^9) 次浮点运算。

1 TFLOPS (teraFLOPS) 等于每秒一万亿(=10^12) 次浮点运算。

1 PFLOPS (petaFLOPS) 相当于每秒1 万亿次(=10^15) 次浮点运算。

1 EFLOPS (exaFLOPS) 等于每秒一百亿(=10^18) 次浮点运算。

1 ZFLOPS (zettaFLOPS) 等于每秒十万亿(=10^21) 次浮点运算。

2.Flops与GPU卡的对应关系

1、算力精度

FP表示浮点运算数据格式,包括双精度(FP64)、单精度(FP32)、半精度(FP16)、FP8等。INT表示整数格式,包括INT8.INT4等。一般情况下,以下值越高位数越多,精度越高,可支持的计算复杂度越高,适用的应用场景越广。

双精度(Fp64) : 浮点数使用64 位表示,提供更明亮的精度和动态范围。通常用于需要更高精度计算的科学和工程应用,相对于单精度需要更多的存储空间和计算资源。

单精度(Fp32):浮点数采用32位表示,具有高精度和动态范围,适合大多数科学计算和通用计算任务。通常我们训练神经网络模型时,默认使用的数据类型是单精度FP32。应用往往包括A1大型模型、自动驾驶、智慧城市等需要学习大量数据并训练复杂的深度学习模型。

半精度(FP16):个浮点数使用16位表示,其精度比FP32低,但可以减少存储空间和计算开销。按照理论上可以运行机器学习任务,但是FP16会有精度溢出和舍入误差,所以很多应用采用混合精度计算,即FP16+FP32模式。简单来说,FP16在图像处理方面其实有更强大的能力。优势点。

定点(INT8) :个定点使用固定的小点位置来表示值,并且可以使用定点算法进行计算。 INT8相对于FP16和FP32的优势在于计算的数据量相对较小,计算速度可以更快,并且通过降低计算和内存带宽要求来改善能耗。

2.NVIDIA GPU算力统计

需要多少张A100卡才能达到3E的算力规模?

1. 3E=3000 PFlops=3000*1000TFlops

2、以A100为例,一台A100的算力为19.5Tflops(人工智能场景基于FP32位计算)

3、3000*1000/19.515万片

3.Flops与大模型训练参数的对应关系

由于需要处理大量数据,训练大型模型需要大量的计算能力。训练这样的模型所需的计算能力取决于以下因素:模型的大小(参数数量)、训练数据集的大小、训练纪元的数量和批量大小。

我们假设要训练一个千亿规模的大模型,使用1PB的数据进行训练,训练一次,10天内完成训练。看看消耗了多少计算能力,计算一下如果使用Nvidia芯片需要多少芯片。

1、计算千亿参数的模型所需的算力

以GPT-3为例,模型参数数量为1750亿个参数,一次训练所需的浮点算力为3.14*10^23浮点预算。那么对于1000亿个参数的模型,训练一次所需的浮点算力为:

所需的FLOPS=(1000 亿个参数/1750 亿个参数)* 3.14 * 10^23 FLOPS

根据这个公式,我们得出训练一个千亿参数的模型大约需要1.8 * 10^23次浮点运算。

2.计算一次训练需要多少个A100 GPU

以NVIDIA A100 GPU为例,其浮点计算能力为每秒19.5万亿次运算(19.5 TFLOPs)。仅使用一张A100 GPU卡完成GPT-3模型计算所需时间=1.8 * 10^23 FLOPS/19.5*10^12 FLOPs=9.23*10^9 如果要计算GPT-3模型10天(864000秒),需要多少张A100 GPU卡=9.23*10^9/864000=10830 3.计算投入成本,包括:GPU成本、其他硬件成本、数据中心成本、人工成本

GPU 成本:NVIDIA A100 GPU 的价格因供应商和购买数量而异。假设每个A100 GPU 的成本约为10,000 美元,则10,830 个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万美元。

考虑到上述因素,训练一个千亿规模的大型模型的总成本约为:

总成本=GPU成本+其他硬件成本+数据中心成本+人工成本

=$108,300,000 + $21,660,000 + $10,830,000 + $2,000,000

142,790,000 美元

因此,10天训练一个千亿规模的大型模型大约需要1.43亿美元。

4. ChatGPT 推理阶段的算力消耗为了计算用户向ChatGPT 提问并得到回复所需的算力,我们需要考虑以下因素:模型大小(参数数量)、输入文本长度(问题长度)、输出文本长度(回复长度)、模型的计算复杂度。其他三个要素很容易理解。模型的计算复杂度是多少?模型计算复杂度是指模型本身的复杂度,与模型维度(D)和模型层数(N)成正比。

用户的问题所需的计算能力可以使用以下公式计算:

所需的FLOPs L * D * N。其中,L 是用户问题的输入长度与模型答案的输出长度之和。

1. 我们假设用户向ChatGPT 询问50 字的问题,ChatGPT 给出1,000 字的回复。完成这样的交互所需的计算能力:

所需的FLOPS 1050 * 1280 * 96 128448000 FLOPS 128.45*10^6

因此,当输入问题长度为50字,输出回复长度为1000字时,处理用户向ChatGPT提出的问题并获得回复所需的计算能力约为12845万次浮点运算(FLOPs)

2、接下来我们计算一张T4 GPU卡(8.1 TFLOPS)可以支持多少并发用户。

用户并发访问数=8.1*10^12 Flops/s/128*10^663088

即一台T4可以同时支持63088个用户(假设每个用户请求的处理时间为1秒,输入长度为50个字,输出长度为1000个字)

3、如果换成NVIDIA的A100(19.5 TFLOPs算力),一颗A100芯片可以同时支持15万用户

根据上述计算,对于参数规模达到5000亿的大模型,一颗A100芯片可支持的用户数预计在3万左右。同时支持1亿用户,需要的A100芯片数量将超过3000颗;如果使用T4 GPU,所需的芯片数量可能是数万个。

评论:

我们需要澄清一个问题:ChatGPT 回答不同类型的问题。只要问题长度和答案长度相同,那么消耗的计算能力是一样的吗?例如,相同的问答长度,写小说和做算术题消耗的算力是否相同。

(1)理论上,只要输入问题的长度和输出答案的长度相同,处理不同类型问题所需的计算能力应该是相似的。这是因为,无论问题类型如何,Transformer模型的计算复杂度主要取决于输入序列长度(L)、模型维度(D)和模型层数(N)。然而,在实际应用中,根据问题的难度和具体上下文,某些任务可能需要更多的计算步骤才能生成更准确的答案。

例如,在生成小说文本时,模型可能需要花费更多的计算资源来保持句子连贯性、情感和文学风格。在解决算术问题时,模型可能需要更多的计算资源来处理数学逻辑。但总体而言,两者的计算复杂度差异较小。

(2)因此,当问题长度和答案长度相同时,不同类型的任务(比如写小说、解算术题)所消耗的算力可能存在一些差异,但总体来说是存在差异的应该差别不大。

热门文章