AI与数学
种种迹象表明,由ChatGPT引发的算力军备竞赛已经悄然而至了。 从另一个侧面也可以得到印证:近期,浪潮在接受媒体采访时,就曾对外表示,“AIGC火热带来AI服务器需求量的爆增,3月份我们发现AI(服务器)市场出现几倍以上增长,以前(客户关注点)是能不能便宜点,现在是能不能用得上。” 近日,有媒体援引知情人士消息称,特斯拉CEO马斯克在推特内部启动了一项人工智能项目,为此购买了约1万个GPU。 在此之前,在业界就不断流传各个互联网大厂都在紧急备货GPU,为其大模型开路。 地主家也没余粮。ChatGPT 本身也一直被算力紧缺所困扰。4 月 6 日, ChatGPT 就” 因需求量太大暂停了升级服务 “,并停止 Plus 付费项目的销售。 为了给ChatGPT 提供算力保障,其金主爸爸微软可以说劳心劳力。据悉,微软用几亿美元,耗费上万张英伟达A100芯片打造超算平台,只为给ChatGPT和新版必应提供更好的算力。不仅如此,微软还在Azure的60多个数据中心部署了几十万张GPU,用于ChatGPT的推理。 事实上,算力紧张这件事情,是从一开始就伴随着ChatGPT 。当初OpenAI选择与微软合作,算力就是一个至关重要的考虑因素。据悉,OpenAI在最初商量与微软合作时,OpenAI要求微软在Azure云计算平台上“腾出”足够的算力单独给它们使用,且确保它们不与Azure提供的其他服务产生冲突。 业界普遍认为,大模型是巨头们的“玩具”,动辄上亿元的投入,小玩家是上不了“赌桌”的。 但是,不要忘了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...