前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >芯片是如何为ChatGPT提供算力的?怪不得地球都容不下它了

芯片是如何为ChatGPT提供算力的?怪不得地球都容不下它了

作者头像
博文视点Broadview
发布2023-04-12 19:18:17
3690
发布2023-04-12 19:18:17
举报

👆点击“博文视点Broadview”,获取更多书讯

近日,ChatGPT因大规模封号及关闭Plus付费会员的申请引发大家热议。

有网友说这是因为计算资源不够了,已经不单是靠钱能解决得了的问题,地球上已经没有足够的算力来满足ChatGPT的运行需求了。

AI的发展真的会被算力所限制吗?它和芯片又有怎样的关系?

01

芯片:算力决定智力

AI的“三驾马车”是数据、算法和算力。

我们将数据送入AI算法,由算法学习数据中的规律,这意味着要进行无数次运算。运算的背后是芯片提供的算力支持。

如果我们回顾AI算法的发展历史,可以发现,AI算法的发展史同样也是芯片公司的发展史。

从1999年的第一颗GPU,到2008年NVIDIA公司推出的第一颗可用于AI的GPU——Tegra,再到最近几年涌入AI领域的、百花齐放的各类芯片方案(例如,基于AVX-512指令集扩展的Intel至强CPU,NVIDIA全新的Volta GPU架构,赛灵思的Vitis AI推理平台),算力的提高极大地提高了AI的智力水平,让AI可以解决更加复杂、多样化的问题,也为我们进入AIGC时代铺平道路。

可以看到,在过去的20年中,数据的规模、算法的参数量、芯片的算力三者相辅相成,共同将AI推动到了当前阶段,衍生出了不同类型的AIGC。

因此,本文就以2023年的巨星级产品ChatGPT为例来说明芯片是如何为AIGC提供算力的。

ChatGPT的参数量达到了1750亿个量级。ChatGPT展现出的超强智力的背后是昂贵、巨量的算力资源。

让我们问ChatGPT两个问题,用它的回答来开始这一节的叙述(如图1和图2所示)。

图1

图2

下面从两个角度来解释AIGC和芯片的关系:①在AIGC领域中,现在用什么芯片?②随着AIGC的发展,对芯片会有什么新的需求?

02

在AIGC领域中,现在用什么芯片

1.何为“训练(Training)”和“推理(Inference)”

ChatGPT是通过“训练”得到答案的,那么什么是“训练”?

AIGC的实现过程分为两个环节:训练和推理。

训练是用大规模的数据来训练出复杂的神经网络模型。

通过对数据的标记,以及深度学习中的监督(Supervised),使最终得到的神经网络模型具有训练者需要的、特定的功能。

在具体的实现过程中,大数据作为输入源,经过神经网络算法解算,可以得到一个输出结果。

显然,这种单向的计算,对神经网络模型的构建起不到作用。我们需要构建一个反向的、从输出到输入的机制,才能形成负反馈,调整神经网络模型,达到“训练”的效果。

这个反向的机制可以是有监督学习(Supervised Learning),即算法工程师给出参数,或者无监督学习(Unsupervised Learning),让算法通过自回归或自编码器来对输入信息进行学习。

推理是利用训练好的模型,通过输入新数据来获取结论。

因此,通俗地讲,“训练”的实质就是计算—反馈—调整—计算的往复过程,这一过程在不同的模型中有不同的实现方式;“推理”的实质是针对某个应用场景的输入—计算—输出的过程。

显而易见,训练所需要的计算量和算力资源是远大于推理的,而推理所需要考虑的,除了算力本身,还有功耗、成本,以及与应用场景的匹配。

AI芯片通常有以下3种类别:云端训练芯片、云端推理芯片、端侧推理芯片。其代表公司见表1。

表1

可以注意到,由于训练对算力的要求极高,芯片的功耗较大,因此训练往往放在云端,并没有“端侧训练芯片”。

2.云端训练芯片:ChatGPT是怎样“练”成的

ChatGPT的“智能”感是通过使用大规模的云端训练集群实现的。

目前,云端训练芯片的主流选择是NVIDIA公司的GPU A100。GPU(Graphics Processing Unit,图形处理器)的主要工作负载是图形处理。

GPU与CPU不同。从传统意义上来说,CPU作为一个通用处理器而存在,可以全面承担调度、计算和控制任务。

GPU的内核更小、更专用,例如在图像渲染中涉及大量的矩阵乘法和卷积运算,为了满足计算负载要求,GPU拥有CPU所不具备的大规模并行计算架构。根据NVIDIA公司官网的描述,CPU和GPU的区别见表2。

表2

(1)始于1985年,从VPU到GPU。

最早的图形处理器是1985年ATI公司(2006年被AMD公司收购)发布的一款芯片。当时,ATI公司并未将其命名为GPU,而是叫VPU(Video Processing Unit,视频处理器),直到AMD公司收购ATI公司,它们的产品名称才更改为GPU。

图3所示为ATI公司于1986年发布的CW16800-A图形处理器产品。

图3

“GPU”这个名字实际上来源于1999年NVIDIA公司将其发布的GeForce 256命名为GPU。随着NVIDIA公司的发展,GPU也与图形处理器概念等同,成了现代计算芯片的一大类型。

图4所示为NVIDIA公司的GPU A100的照片。

图4

虽然GPU是为图像处理而生的,但深度学习的计算类型和图形渲染有很多的共通点。在图形渲染中,芯片需要不停地计算移动对象的轨迹,这需要大量的并行数学运算,而机器学习/深度学习涉及大量的矩阵/张量运算。因此,GPU的并行处理架构也能够很好地满足AI计算的要求。

(2)2006年,跨时代的计算平台CUDA。

仅有芯片层面的配置是不够的,软件接口的适配及生态的构建也非常重要。这就不得不提到统一计算设备架构(Compute Unified Device Architecture,CUDA)。

2006年,NVIDIA公司首次推出CUDA。从这个词组本身的设计上可以看出,CUDA的最初开发人员是希望CUDA能成为不同平台之间的统一计算接口。

到目前为止,CUDA已经成为连接NVIDIA公司所有产品线的通用平台,上面沉淀了非常全面的API和算法框架库。

因此,CUDA生态成了NVIDIA公司面对其他GPU厂商时,最大的竞争优势之一。

那么,是不是所有的训练任务都只能够由NVIDIA公司的GPU来做?

虽然目前NVIDIA公司的GPU是训练芯片的主流选择,但答案是否定的,就像在本文开头ChatGPT的回答:“OpenAI并不固定使用某一种芯片,而是根据模型训练的具体需求,选择适当的计算平台”。

这里尝试使用表3来阐释训练芯片的选择。

表3

3.云端推理芯片:与云端的ChatGPT对话

按照AI芯片的分类,我们使用AIGC应用的过程本质上是一个推理过程。例如,在与ChatGPT对话时,我们输入一句话,这句话经过算法的运算,输出一个结果,这就是我们看到的回答。

因此,人们在使用ChatGPT这种AIGC应用(推理)时,理论上,对芯片的性能要求不需要像训练那么高。

以当前ChatGPT的应用场景为例,目前ChatGPT运行在云端,用户每一次与它对话都是一次推理过程。这个过程目前运行在OpenAI的计算集群——Azure AI超算平台上,这是微软在2020年开发者大会上公布的拥有28.5万个CPU核心、1万个GPU,每个GPU拥有400Gb/s网络带宽的超级计算机。

虽然推理对算力的要求比训练稍低,但需要的算力资源仍然非常夸张。不过,由于两者计算的实质不同,训练本身类似于大力出奇迹,而推理是一个应用的过程,因此推理更容易被优化和加速。未来,AIGC应用所需的云端推理资源将会大幅降低。

4.端侧推理芯片:从云端芯片到终端芯片

目前,我们还不能在端侧运行ChatGPT这样的LLM,原因有以下几个方面:

  • 第一,ChatGPT本身仍然在迭代,并且对话者输入的文字也是它迭代的原料。
  • 第二,作为一个新模型,ChatGPT对于在终端部署的优化不足(这非常好理解,现阶段这也不是重点),导致对终端芯片的要求过高(主要是内存空间)。

随着LLM的进一步完善,未来我们有可能将它下载到终端,用终端的计算资源来运行,这样就可以实现离线运算。经过优化后的ChatGPT算法,对终端芯片的性能要求可能不会特别高。PC芯片,无论是Intel的还是Apple的M系列芯片,都可以承担这样的推理任务。

图5所示为Intel的酷睿处理器。

图5

随着AIGC应用逐渐成熟,成本进一步降低,它与IoT场景的结合将会进一步深入。

  • 一方面,我们可以基于PC和手机,在云端使用各种各样的AIGC应用。在这个场景中,模型有可能离线运行在本地,也有可能采用本地+网络结合的方式运行。
  • 另一方面,基于LLM衍生出来的针对特定场景的小模型可能会有意想不到的应用。笔者猜想,在扫地机、智能机器人、智能音箱等我们熟悉的智能终端中,都有可能应用到LLM的衍生模型,那我们有可能看到在未来会有越来越多的终端芯片需要提高对AI算法的支持性。与资金门槛和技术门槛极高的云端芯片相比,终端芯片普及的趋势将会给更多的芯片公司带来机会。

03

随着AIGC的发展,对芯片会有什么新的需求

1.摩尔定律和安迪-比尔定律:基础算力提高和负载算力节约

芯片界有两个很有意思的定律,即摩尔定律和安迪-比尔定律。

前者是指集成电路上可容纳的晶体管数目约每18个月便会增加一倍。

后者来源于20世纪90年代计算机会议上的一个小笑话,“安迪给的,比尔就会拿走”,安迪是Intel的前任CEO安迪·葛洛夫,比尔是微软的CEO比尔·盖茨。这句话的意思是新的软件总会耗尽硬件所提高的计算能力。

因此,云端芯片的计算能力将会继续提高,展现方式可能是现有硅基芯片的继续迭代,也有可能是存算一体、光计算、量子计算的突破。

由于芯片的成本过高,软件侧和硬件侧都会努力降低对算力的需求。我们已经看到类似的事情在不断发生:在硬件侧,例如谷歌针对神经网络计算开发了名为TPU的专用芯片,其在特定场景下的运行成本大幅低于同等性能的GPU;在软件侧,ChatGPT作为一个对话模型,是专门为聊天而设计的,而GPT-3是一个大型通用语言模型。

目前,OpenAI并未公布ChatGPT的参数规模,但我们可以从ChatGPT的兄弟模型——InstructGPT上观察到软件优化对计算资源的节省。

图6展示了InstructGPT和GPT-3参数规模的区别。

        (a)                                             (b)

图7-6

在对话场景中,InstructGPT 仅使用了精选的 13 亿个参数[如图6(a)所示]就达到了与GPT-3使用千亿个量级的参数[如图6(b)所示])结果相当甚至更好的回复质量。这意味着精选数据质量,深挖Transformer模型,将会有巨大的降本潜力。

在我们可见的未来,基础算力的提高和负载资源的节约将会同时发生,而两者究竟会擦出什么样的火花,十分值得期待。

2.成本降低迫在眉睫

虽然ChatGPT一炮而红,但是其高昂的运营成本是其大规模产业化应用的最大障碍之一。

业界已经充分关注到了ChatGPT的成本问题,并提出各个方向的优化措施:①硬件侧:NVIDIA公司的A100的升级版H100显卡能提供更高性价比的算力;Intel在Vision 2022大会上公布的新款云端AI专用芯片Habana Gaudi 2和Greco,有可能针对OpenAI的场景做了特质化加速。②软件侧:以Colossal-AI(潞晨科技的AI大模型开发系统)为例,其宣称能使Stable Diffusion模型的显存消耗降低至之前的1/46。

本文节选自《一本书读懂AIGC:ChatGPT、AI绘画、智能文明与生产力变革》一书。

  • ChatGPT会让我们失业吗?
  • 这些AIGC工具能给我们的工作和生活带来什么变化?
  • 什么是人们热议的AIGC?
  • 在AIGC时代,我们如何应对?

欢迎阅读本书系统地了解AIGC!

粉丝专享五折,快快扫码抢购吧!

423阅读狂欢节

全场5折起

活动时间:2023.4.6-2023.4.23

扫描下方二维码还可以领取叠加优惠券哦!

优惠券限京东自营大部分图书使用,具体情况以实际提示为准。

代码语言:javascript
复制
发布:刘恩惠
审核:陈歆懿 

如果喜欢本文欢迎 在看丨留言丨分享至朋友圈 三连<  PAST · 往期回顾  >
ChatGPT Plus已恢复订阅!算力不足还是炒作?

点击阅读原文,查看本书详情!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-04-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 博文视点Broadview 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
媒体处理
媒体处理(Media Processing Service,MPS)是一种云端音视频处理服务。基于腾讯多年音视频领域的深耕,为您提供极致的编码能力,大幅节约存储及带宽成本、实现全平台播放,同时提供视频截图、音视频增强、内容理解、内容审核等能力,满足您在各种场景下对视频的处理需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档