ChatGPT引领的算力军备竞赛:大模型背后的算力挑战
文章主题:算力, ChatGPT, AI服务器, 需求增长
种种迹象表明,由ChatGPT引发的算力军备竞赛已经悄然而至了。
同样地,我们也能从另一个角度来证实这一点。最近,在接纳媒体的访谈中,浪潮公司表达了相似的观点:“随着AIGC技术的繁荣,对AI服务器的市场需求呈现出爆发式增长。我们在三月份观察到AI服务器市场出现了超过几倍的增长,而过去,客户关注的焦点在于价格是否合理,而现在则是是否能够满足实际应用的需求。”
近期,有媒体报道称,特斯拉首席执行官(CEO)埃隆·马斯克已在其推特内部着手开展一项人工智能项目,并为此购置了大约1万个图形处理器(GPU)。
在此之前,在业界就不断流传各个互联网大厂都在紧急备货GPU,为其大模型开路。
在当前的资源紧张环境下,无论是地主家庭还是ChatGPT,都面临着存储空间的不足。尽管地主家庭可能没有多余的粮食,但ChatGPT的问题也同样突出。在4月6日,由于需求量的剧增导致其服务无法得到升级,因此ChatGPT不得不暂停升级服务,并且停止了Plus付费项目的销售。
为了确保ChatGPT拥有充足的算力支持,微软这位慷慨的金主父亲真是操碎了心。据相关资料显示,微软投入巨资,购买了几亿美元的高性能英伟达A100芯片,致力于打造一个强大的超算平台,以便为ChatGPT和新版必应提供更优质的算力服务。此外,微软还在其60多个数据中心中部署了数十万张GPU,以满足ChatGPT在进行推理时的计算需求。
事实上,自ChatGPT诞生之初,算力紧张的问题便如影随形。当时,OpenAI在与微软展开合作的过程中,将算力视为一项关键因素。据透露,在初期协商与微软的合作关系时,OpenAI提出要求,希望微软能够在Azure云计算平台上为它们提供充足的算力资源,并确保这一资源不会与其他Azure提供的服务发生冲突,同时还能满足OpenAI独自使用的需求。
业界普遍认为,大模型是巨头们的“玩具”,动辄上亿元的投入,小玩家是上不了“赌桌”的。
然而,我们不可忽视像ChatGPT这样的巨大模型所具有的双重特性。一方面,它涉及到模型的训练过程,另一方面,则是模型的实际应用。在训练阶段,可能需要投入数十亿甚至千亿级别的计算资源。而在推理应用阶段,对算力的需求将远超训练阶段。
换句话说,要训练大型模型,至少需要数十亿的基础设施投入。然而,若要将这些大型模型大规模应用于支持数百万甚至数千万用户的日常使用,所需的算力成本便可能达到数百亿级别。
在接下来的工作中,我们将深入探讨为何像ChatGPT这样的大型模型会如此消耗计算资源。特别是,我们需要弄清楚在大模型应用阶段,用户数量和企业业务规模与底层计算需求之间是如何相互关联的。基于此,我们将进行计算,以确定要支持足够的使用者和业务规模,实际上需要多少算力,特别是在GPU方面。
ChatGPT训练阶段的算力消耗
先来看看训练阶段的算力消耗。
训练大型模型是一项复杂的任务,它需要消耗巨大的计算资源,这是因为模型需要处理大量的数据。这种计算需求的规模与模型的规模、训练数据集的体积、训练的轮数以及每个轮次的批量大小等因素密切相关。首先,模型的规模,也就是其参数数量,是一个重要的因素。规模越大,需要的算力就越多。其次,训练数据集的大小也是关键。如果数据量庞大,那么就需要更多的算力来完成训练。再者,训练轮次也是一个重要因素。训练轮次越高,需要的总算力就越多。最后,批次大小也会影响算力的消耗。每次训练时处理的样本数量越大,所需要的算力就越多。因此,要训练一个大型模型,我们需要综合考虑这些因素,以确保训练能够顺利进行。
在此,我们假定要训练一个千亿规模的大模型,用1PB数据进行训练,训练一次,并且在10天内完成训练。看看需要消耗多少算力,并计算这样的算力消耗,如果用英伟达的芯片,需要多少芯片。
首先,我们要了解一个概念,即FLOPs(浮点运算次数)。FLOPs用来衡量执行某个任务所需的计算量。假设一个千亿(1000亿)参数的大型模型,我们可以参考GPT-3。GPT-3中最大的模型(1750亿参数)的训练大约需要3.14 * 10^23次浮点运算(FLOPs)。
我们可以通过以下简化公式估算所需的FLOPs:
所需FLOPs = (千亿参数 / 1750亿参数) * 3.14 * 10^23 FLOPs
根据这个公式,我们得出训练一个千亿参数的模型大约需要1.8 * 10^23次浮点运算。
接下来,我们来看看英伟达的芯片。以英伟达A100 GPU为例,其具有每秒19.5万亿次(19.5 TFLOPs)的浮点运算能力。
要计算出需要多少个A100 GPU来满足这个算力需求,我们可以使用以下公式:
所需GPU数量 = 1.8 * 10^23 FLOPs / (19.5 * 10^12 FLOPs/s * 训练时间秒数)
如果希望在10天(约864000秒)内完成训练,可以按照以下计算方式得到所需GPU数量:
所需GPU数量 = 1.8 * 10^23 FLOPs / (19.5 * 10^12 FLOPs/s * 864000s)
根据这个公式,在10天内训练1000亿参数规模、1PB训练数据集,大约需要10830个英伟达A100 GPU。
接下来,我们来计算大模型的训练成本。
要计算训练一个千亿规模大型模型的总费用,我们需要考虑以下因素: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万美元。
综合以上因素,训练一个千亿规模大型模型的总费用大约为:
总费用 = GPU成本 + 其他硬件成本 + 数据中心成本 + 人力成本
= $108,300,000 + $21,660,000 + $10,830,000 + $2,000,000
≈ $142,790,000
因此,在10天内训练一个千亿规模的大型模型大约需要花费1.43亿美元。
当然,如果训练时间长一点,就可以用更少的GPU,花费更少的成本。但一般而言,总成本都会在几千万美元规模。
从上面的分析可以发现,大模型真的是烧钱的游戏。先不考虑大模型的研发,就是要完成一次大模型的训练,首先就要有上亿的成本投入。
ChatGPT推理应用的算力消耗
需要指出的是,并不是模型训练好了就万事大吉。大模型的应用不是免费的,也是需要消耗算力的。
那么,在模型使用过程中,消耗的算力该怎么计算呢?
要计算一个用户向ChatGPT提问并获得回复所需的算力,我们需要考虑以下因素:模型规模(参数数量)、输入文本长度(问题长度)、输出文本长度(回复长度)、模型的计算复杂性。其他3个要素好理解,模型的计算复杂性是什么呢?模型计算复杂性指的是模型本身的复杂程度,它与模型维度(D)和模型层数(N)成正比。
用户一个问题,需要消耗的算力,可以用以下公式计算:所需FLOPs ≈ L * D * N。其中,L是用户问题的输入长度与模型回答的输出长度之和。
我们假设一个用户问ChatGPT一个50个字的问题,ChatGPT给出了1000字的回复。完成这样一次交互需要消耗的算力:
所需FLOPs ≈ L * D * N
≈ 1050 * 1280 * 96
≈ 128,448,000
因此,当输入问题长度为50个词,输出回复长度为1000个词时,处理一个用户向ChatGPT提问并获得回复所需的算力约为128.45百万次浮点运算(FLOPs)。
在此,我们需要澄清一个问题:ChatGPT回答不同类型的问题,只要问题长度和答案长度都一样,其消耗的算力都一样么?比如同样的问题和答案长度,写小说和做算术题这两类任务消耗的算力是否一样。
在理论上,只要输入问题长度和输出答案长度相同,处理不同类型问题所需的算力应该是相似的。这是因为,无论问题类型如何,Transformer模型的计算复杂性主要取决于输入序列长度(L)、模型维度(D)和模型层数(N)。不过,在实际应用中,根据问题的难度和特定上下文,某些任务可能需要更多的计算步骤来生成更准确的答案。
例如,在生成小说文本时,模型可能需要花费更多的计算资源来保持句子的连贯性、情感和文学风格。而在解决算术问题时,模型可能需要更多的计算资源来处理数学逻辑。然而,从整体来看,两者之间的计算复杂性差异相对较小。
因此,在问题长度和答案长度相同的情况下,不同类型的任务(如写小说和解决算术问题)消耗的算力可能存在一定差异,但总体上应该相差不大。
接下来,我们要进一步计算用户使用ChatGPT这类大模型的算力成本,也就是说用户问一个问题,到底要花多少钱。
一般而言,大模型都部署在云端,用户通过云服务来调用相应的计算资源。
要计算使用云计算服务调用ChatGPT的费用,我们需要了解云计算厂商的计算资源定价。这些价格可能因厂商、地区和资源类型而异。
我们以Amazon Web Services(AWS)的英伟达A100 GPU为例,我们可以估算费用。
首先回顾我们之前的计算,对于一个输入长度为50字、输出长度为1000字的问题,处理一个请求所需的算力约为128.45百万次浮点运算(FLOPs)。
现在,我们需要了解GPU的性能以及在云计算平台上的计费方式。以AWS的g4dn实例为例,它使用的是英伟达T4 GPU,每个GPU具有8.1 TFLOPs的计算能力(这与我们之前提到的A100 GPU(具有19.5 TFLOPs的性能)不同。因此,我们需要对计算进行一些调整。)
假设我们需要在1秒内完成这个请求。那么,我们可以计算所需的T4 GPU数量:
所需T4 GPU数量 = 所需FLOPs / (8.1 * 10^12 FLOPs/s)
≈ 128.45 * 10^6 / (8.1 * 10^12)
≈ 0.00001585
根据AWS的价格策略,以美国东部地区为例,g4dn.xlarge实例(1个英伟达T4 GPU)的按需价格约为0.526美元/小时。如果我们假设每个请求都需要1秒钟完成,那么一小时内可以处理的请求数量为:
每小时处理的请求数量 = 3600秒 / 1秒
= 3600
根据这个估算,使用一个g4dn.xlarge实例处理请求的成本约为:
每小时成本 = $0.526 / 3600 请求
≈ $0.00014611 / 请求
所以,使用云计算服务(以AWS为例)调用ChatGPT的能力,每处理一个输入长度为50字、输出长度为1000字的问题,大约需要消耗0.00014611美元的云计算资源。用1美元可以向ChatGPT提问约6843个问题。
最后,我们来讨论另一个问题,看看一个英伟达芯片可以同时支撑多少用户使用。
为了估算英伟达GPU可以同时支撑多少个用户,我们需要了解GPU的性能。以英伟达T4 GPU为例,它具有8.1 TFLOPs的计算能力。之前我们计算过,处理一个输入长度为50字、输出长度为1000字的问题所需的算力约为128.45百万次浮点运算(FLOPs)。
假设每个用户请求的处理时间是1秒。这样,我们可以计算英伟达T4 GPU可以同时支撑的用户数量:
所需FLOPs = 128.45 * 10^6 FLOPs
T4性能 = 8.1 * 10^12 FLOPs/s
用户数量 = T4性能 / 所需FLOPs
= (8.1 * 10^12 FLOPs/s) / (128.45 * 10^6 FLOPs)
≈ 63,088
根据这个估算,一块英伟达T4 GPU可以同时支撑大约63,088个用户(假设每个用户请求的处理时间是1秒,输入长度为50字,输出长度为1000字)。
如果换成英伟达的A100(19.5 TFLOPs的计算能力),则一块A100芯片可以同时支撑15万用户使用。
注意,以上计算都是建立在1000亿参数规模的大模型基础上的。目前的大模型参数规模普遍要超过1000亿,一块芯片能够支撑的用户数要小于上面的计算数值。
根据上面的计算,对于一个5000亿参数规模的大模型,一个A100芯片能够支撑的用户数量预计在3万左右。那要同时支撑1亿用户使用,需要的A100芯片数量就要超过3000个;如果使用T4GPU,那需要的芯片数量可能得上万。
中国在这场GPU盛宴中,不应该缺席
在这场大模型引发的算力军备竞赛当中,GPU芯片成为整个行业的焦点。
为此,数据猿依据Jon Peddie Research(JPR)报告(2020年)、各厂商官方网站和各种硬件评测网站的信息,统计了全球GPU市场的情况,包括主要厂商及其典型产品、性能参数、产品价格、出货量和市场占比,具体如下表:
在深度学习和人工智能的黄金时代,GPU犹如翱翔于浩渺天空的翅膀,赋予大模型行业强大的推进力。这些并行计算的神奇力量,像涓涓细流汇成磅礴大河,携带着无尽的智慧,助推人类探索知识的边界。在GPU的支持下,我们打破了次元壁,砥砺前行,迈向前所未有的高峰。
正是因为GPU强大的计算能力,大模型得以茁壮成长,从浅层神经网络发展到深度学习的复杂模型,从局限的应用领域扩展至无所不及的智能场景。今日的计算机视觉、自然语言处理、强化学习等领域的突破和革新,离不开GPU这位得力助手的默默付出。而大模型所孕育的智慧,正源源不断地流入各个行业。
在未来的道路上,GPU将继续担任大模型行业的引领者,携手开拓新的计算领域,为人类书写更为辉煌的篇章。
目前来看,在整个AIGC产业中,中国的应用生态建设是最强的,在大模型领域虽然跟OpenAI还有一定的差距,但追赶很快。但是,在GPU芯片领域,我们差距还非常大,且在短期内看不到赶超的希望。
就像一个木桶,最终决定能装多少水,不是取决于长板,而是决定于最短的那块木板。在这场军备竞赛当中,我们不要只关注大模型,而忽视了GPU芯片。中国要想在这个领域实现追赶,就必须要补上GPU的短板。
AI时代,拥有个人微信机器人AI助手!AI时代不落人后!
免费ChatGPT问答,办公、写作、生活好得力助手!
搜索微信号aigc666aigc999或上边扫码,即可拥有个人AI助手!