“芯片帝国”:英伟达的GPU如何助力AI革命
“芯片帝国”:英伟达的GPU如何助力AI革命
导读:在人工智能快速发展的今天,AI芯片作为其核心基础设施,扮演着至关重要的角色。本文深入探讨了英伟达GPU在AI革命中的重要作用,以及各种不同类型AI芯片的特点和应用场景,展现了AI芯片领域的最新发展动态。
AI划重点 · 全文约4933字,阅读需15分钟
1.英伟达的GPU在人工智能领域发挥着重要作用,助力AI革命。
2.Hopper芯片在MLPerf测试中表现出色,成为各大公司升级AI能力的首选芯片。
3.除此之外,其他类型的芯片如FPGA、TPU等也在AI应用中发挥着重要作用。
4.尽管AI芯片带来了诸多好处,但其能耗成本随着模型变大而逐年上升。
5.未来芯片设计将继续改进,以加快AI在科学界的应用。
今年3月,1.2万人在美国加州圣何塞的一个体育场翘首以盼。芯片制造公司英伟达(Nvidia)的首席执行官黄仁勋(Jensen Huang)打趣地说:“我希望你们不要误会这里是在开演唱会。”
接下来的30分钟里,黄仁勋要向人群介绍图形处理器(GPU)的最新进展——GPU是英伟达的标志性计算机芯片,也是过去十年里人工智能(AI)发展的“功臣”。黄仁勋拿起英伟达2022年的Hopper“超级芯片”。他说:“Hopper改变了世界。”随后,在一阵突如其来的停顿后,他举起了一个便利贴大小的亮黑色长方形:“这是Blackwell。”全场沸腾。
回到2022年,Hopper在素有“AI界奥林匹克”之称的MLPerf测试中,各项类别均所向披靡——从图像分类到语音识别。Hopper一进入市场就成了各大公司想要升级其AI能力的首选芯片。而现在,英伟达承诺Blackwell处理特定问题的速度将是其前代的好多倍。英伟达的加速计算组(Accelerated Computing Group)负责人Dave Salvator说:“我相信,通过结合更多的马力,以及芯片之间的通讯方式,Blackwell将带我们去到更高一级的性能。”
尽管人们对AI的影响有期待也有担忧,但AI芯片的市场从未停步。英伟达当前供应了80%以上的AI芯片,2023年,Hopper芯片销售量达55万。由于一块Hopper芯片的售价至少3万美元,这些芯片主要流向了数据中心,而不是个人计算机。今年,英伟达的市值飙升至2万亿美元以上,成为全球市值第三高的公司,领先于亚马逊和谷歌母公司Alphabet这样的巨头。
英伟达首席执行官黄仁勋手里拿着这家科技公司的全新图形处理器——Blackwell。来源:David Paul Morris/Bloomberg/Getty
英伟达的Blackwell芯片诞生于这一轮的硬件开发浪潮——这些成果来自全力追赶和支持AI革命的各大公司。过去十年里,AI领域的大部分进展并非源于聪明的编程技巧,而是更多地来自“越大越好”(bigger is better)的简单法则。训练大语言模型的数据集越大,对算力的要求也越高。有人估计,美国公司OpenAI训练最新模型GPT-4的算力是其前代的100倍。
Meta等公司建立了依赖英伟达GPU的数据中心。谷歌和IBM等公司以及一些小公司已经设计了自己的AI芯片;Meta当前也在开发自己的芯片。与此同时,研究人员正在测试各种芯片设计,包括一些更适合小型设备的芯片。随着AI逐渐从云计算中心走进各类移动设备,“我认为GPU已经不足够了。”意大利米兰理工大学的计算机工程师Cristina Silvano说。
这些芯片的共同点是:能克服传统计算速度限制的各种技巧,包括并行计算、更易使用的内存和数字速记。
芯片改革
过去十年里的深度学习革命,一大部分要归功于对传统计算马力——中央处理器(CPU)——的舍弃。
CPU本质上是一个微型的顺序执行机器。加拿大多伦多大学计算机工程师Vaughn Betz说:“它基本上会在看到一个指令后说,‘这个指令让我做什么?’。”究其本质,CPU通过翻转晶体管执行指令——晶体管是用“1”表示开,“0”表示关的简单电子开关。只要这种二进制运算,晶体管就能执行异常复杂的运算。
CPU的功率和效能主要取决于其晶体管的大小——晶体管越小翻转速度越快,而且能紧密排布在芯片上。今天,最先进的晶体管只有45×20纳米——比它的原子基本构成大不了多少。顶配的CPU能在1平方毫米的空间里集成1亿多个晶体管,执行约1万亿次flop(每秒浮点运算)。
1970年代至今,CPU经历了指数级发展。随着晶体管不断缩小,它们在芯片上的密度每两年翻一番(该趋势名为“摩尔定律”),而且晶体管越小速度越快(根据“登纳德缩放定律”)。由于CPU的发展速度太快,定制设计其他类型的芯片变得没有意义。“等你设计出一种特殊电路,CPU已经提速了两倍。”加州大学洛杉矶分校的计算机工程师Jason Cong说。但到了2005左右,更小的晶体管不再变得更快了,过去几年里,工程师开始担心他们已经制造不出更小的晶体管了,因为这些晶体管已经开始逼近基本物理法则(见“CPU降速”)。
来源:Karl Rupp
由于CPU的发展慢了下来,计算机工程师开始认真考虑其他类型的芯片。GPU的雏形从1970年代末期就出现了,它们早期的作用是执行电脑游戏的重复计算,如以更快的速度渲染屏幕上的像素颜色。如果说CPU是顺序执行,那GPU就能并行处理更多指令。
通常来说,CPU有多个强大的“核心”来完成计算。其中每个这样的处理单元都能接收指令,并在短时间内由储存数据的多个缓存支持。这种架构使CPU很适合处理复杂运算。相比之下,GPU有几十万个更小的核心,支持每个核心的辅助系统更少,如缓存(见“GPU的优势”)。小核多能让GPU以比CPU快很多的速度并行执行很多简单重复的计算。(GPU的这种不同的计算方式需要不同的计算机代码。Salvator指出英伟达的代码工程师人数是其硬件工程师人数的两倍。)
来源:Cornell University
2012年,神经网络(类脑算法)早期的支持者之一、多伦多大学计算机科学家Geoffrey Hinton让他当时的学生Alex Krizhevsky参加一年一度的ImageNet比赛,比赛目标是训练计算机准确识别日常物体的图像。当时,使用CPU的程序顶多只能达到75%的准确率。但Krizhevsky发现,用GPU训练一个神经网络AI可能更厉害,毕竟机器学习的核心是简单重复的计算。
Krizhevsky和他的合作者[1]利用两个GPU训练他们的神经网络——AlexNet。他们的AI有6000万个参数(AI模型用来预测的内部变量),这在当时是绝无仅有的。AlexNet在比赛中一举夺魁,获得了85%的准确率,其准确分辨相似图像的能力惊艳了世界,比如区分豹和美洲虎。又过了一两年,参加ImageNet比赛的每个选手都开始用GPU了,从那时起,AI研究人员极大地依赖这类芯片。
虽然GPU和CPU一样,仍有晶体管的限制,但它们并行计算的能力能更快完成AI任务。为了训练有1750亿参数的大语言模型GPT-3,OpenAI的研究团队只能让1024个GPU连续运行了一个月,耗费数百亿美元。这些GPU总共执行了1023次flop。相同的训练如果使用同类CPU,将要多花几十万倍的时间。Betz说:“有了更多的计算,你就能训练一个更大的网络,而且它们会越来越好。”比如,2023年发布的GPT-4有惊人的1.8万亿参数,是其前代的10倍。
虽然GPU在AI革命中的核心地位不容置疑,但它们不是这场表演中唯一的“明星”。随着AI应用的猛增,各种AI芯片开始“八仙过海,各显神通”。
“芯”的世界
有时候并没有足够时间给芯片里输入指令。现场可编程门阵列(FPGA)的设计是为了让计算机工程师能编程芯片电路,执行替代指令的特殊命令。Betz说:“像CPU或GPU这样的芯片必须等待外部指令,而FPGA可以直接执行。”
对Cong来说,FPGA就像“一盒乐高”。工程师能逐个电路设计并将FPGA构建到他们能想到的任何设计中,无论是洗碗机传感器还是指挥自动驾驶汽车的AI。不过,与GPU这类电路不可调节的芯片相比,FPGA可能速度和效率都要差一些。Altera(英特尔在圣何塞的子公司)等公司认为FPGA能服务于一系列AI应用,包括医学成像,而研究人员发现它们适合一些利基任务,如处理粒子对撞机的数据。FPGA的简易可编程性使其很适合用于原型设计,Silvano说。她经常会在制造AI芯片的大工程开始前先用FPGA设计AI芯片。
Silvano还在研究一类更小的AI芯片,希望能提高其计算效率,最终增强移动设备。虽然在手机上直接装一个GPU是个很省事,但她说,能耗和价格会令人望而却步。轻便版AI芯片能通过处理AI应用的繁琐任务(如图像识别)支持手机的CPU,无需将数据上传到云。
对AI芯片来说,更费力的工作可能是做乘法。2010年,谷歌遇到了一个问题:谷歌想为大量日常用户提供音频转录服务。训练AI自动完成该任务需要做很多数字乘法,以及其他艰巨的任务。谷歌的计算机工程师Norm Jouppi说:“如果我们当时只使用CPU,我们的服务器舰队就要翻倍。这听起来不怎么有意思。”于是,Jouppi领导开发了一类新型芯片作为谷歌AI的一个平台——张量处理器(TPU)。
TPU是为了AI背后的算术基础而专门设计的。当TPU得到一个指令时,它不是执行一个运算,而是执行10万多个。(TPU的数学多线程能力来自特殊设计的电路和软件;如今,许多针对AI应用制造的GPU都有类似能力,如Blackwell。)在等待指令需求不大的情况下执行海量运算的能力,使谷歌能加快很多AI项目的进度,而不仅仅是音频转录服务。
为进一步提升计算速度,许多AI芯片,如TPU和GPU都使用一类数字速记。CPU通常以64位的格式记录数字——也就是有64个位表示0或1,任何数字都要用64位来表示。使用位数更少的数据格式会降低计算精度,所以普通芯片一般都是64位。
然而,如果你能降低特异性,Betz说,“硬件就能更简单、更小、功率更低”。比如,列出一个DNA序列原则上只需要2位的格式,因为遗传信息只有四种可能:碱基A、T、G或C(以00、01、10或11表示)。Cong设计的一种FPGA[2]用2位格式排列基因组数据,其速度是使用64位格式的同类CPU的28倍。为了加快机器学习的计算速度,工程师降低了芯片的精度;TPU使用专门的16位格式。对于Blackwell这样的新一代芯片来说,用户甚至能从多种格式中选择更适合计算任务的一种——从64位到4位。
芯片趣多多
AI芯片的设计也会避免它们记住太多东西。在执行运算的微处理器与存储器间来回传输数据有时候极度耗时和耗能。为解决这个问题,许多GPU直接在一个芯片上连接了巨大的存储器——英伟达的Blackwell大概有200GB。如果将AI芯片安装在服务器上,它们还能共享内存,让独立芯片间的联网更容易,耗电量更少。谷歌已经在一个“pod”中连接近9000个TPU。
用电量——让这么多电子通过电路的负荷——不是个小问题。虽然具体数字很难统计,但训练GPT-3估计消耗了1300兆瓦时(MWh)的电力[3]。(普通英国家庭一年的用电量在3 MWh左右。)即使在训练完成后,对AI应用的使用可能也是个能量汇。改进芯片设计虽然能提高效率,但AI的能耗成本会随着模型变大而逐年上升[4]。
GPU这类AI芯片的崛起并非是CPU的终结。确切地说,基本芯片类型间的界线本身就很模糊——现代CPU并行计算的能力早已超过了早期版本,GPU也比之前的用途范围更广。Betz说:“大家都在互相偷想法。”英伟达Blackwell芯片的一个版本将GPU与CPU直接配对;全球强大的超级计算机——美国橡树岭国家实验室的Frontier——使用是多个CPU和GPU的组合。
看到了过去十年的风云变幻,研究人员认为芯片领域的未来很难预测——可能会出现用光取代电子的光芯片[5,6]或是量子计算芯片。与此同时,有人认为加强公众对AI硬件的认识或有助于给这个领域祛魅,消除认为AI无所不能的误解。Silvano说:“你可以更好地告诉人们,AI不是什么魔法。”
根本上讲,AI就是电线和电子——不太可能统治世界,Jouppi说,“你可以直接拔了电源。”他相信硬件还将更新换代,从而加快AI在科学界的应用。“这是我的兴趣所在,”Jouppi说,“我对未来的可能性无比期待。”
参考文献:
1.Krizhevsky, A., Sutskever, I. & Hinton, G. E. Commun. ACM 60, 84–90 (2017).
2.Guo, L., Lau, J., Ruan, Z., Wei, P. & Cong, J. in IEEE 27th Annu. Int. Symp. Field-Programmable Cust. Comput. Mach.(FCCM) 127–135 (IEEE, 2019).
3.Luccioni, A. S., Viguier, S. & Ligozat, A.-L. Preprint at arXiv https://doi.org/10.48550/arXiv.2211.02001 (2022).
4.Desislavov, R., Martínez-Plumed, F. & Hernández-Orallo, J. Sustain. Comput. Inform. Sys. 38, 100857 (2023).
5.Xu, Z. et al. Science 384, 202–209 (2024).
6.Nikkhah, V. et al. Nature Photon. 18, 501–508 (2024).
本文原文发表于《自然》杂志,作者为Dan Garisto。