算力觉醒——为什么AI时代需要专属芯片
2016年3月15日,韩国首尔,围棋九段李世石与AlphaGo的对弈进入最后一局。在前三局全部落败后,李世石在这一天找回了状态,下出了被誉为“神之一手”的第78手,逼迫AlphaGo出现了罕见的失误。现场解说员惊呼,人类棋手的创造力仍然无法被替代。然而,最终的比分定格在1比4。李世石,这位被誉为21世纪最伟大的围棋棋手之一,不得不承认人工智能的棋力已经超越了人类。
比赛结束后,全世界的目光聚焦在一个问题上:AlphaGo是如何做到这一点的?答案藏在它运行的那台超级计算机里。这台由谷歌DeepMind团队打造的计算系统,包含了1202个CPU核心和176个GPU图形处理器,能够在每秒计算超过1亿步围棋走法。普通人穷尽一生也下不了几万盘棋局,而AlphaGo在训练过程中自我对弈了数百万局。这种恐怖的计算能力,正是人工智能能够在围棋这个被誉为“人类智慧最后堡垒”的游戏中击败人类的根本原因。
这个故事拉开了一个新时代的序幕。从那一刻起,我们开始意识到,一场静悄悄的革命正在发生。这场革命的核心,不是某个精妙的算法,不是一项颠覆性的应用,而是一个我们很少关注却至关重要的基础能力——算力。算力,简单来说就是计算能力,是计算机处理数据、执行指令的速度和效率。在人工智能领域,算力就像是汽车的引擎,决定着整个系统能够跑多快、能走多远。
算力:AI奇迹的幕后英雄
让我们把时间拨回到更久以前。1956年,在达特茅斯学院的一次学术会议上,“人工智能”这个词第一次被正式提出。那时的计算机,体积庞大到需要占据整个房间,运算速度却还不如今天一台普通计算器。科学家们梦想着创造出能够像人类一样思考的机器,但受限于算力,这个梦想显得遥不可及。在接下来的半个多世纪里,人工智能经历了两起两落的“寒冬期”,每一次低谷都与算力不足密切相关。算法模型再好,没有足够的计算能力支撑,就像是一辆设计精良的汽车却没有引擎,只能是一堆无法动弹的零件。
转折点发生在21世纪初。随着摩尔定律持续发挥作用,计算机芯片的性能以每两年翻一番的速度不断提升。与此同时,互联网的蓬勃发展产生了海量的数据,为机器学习提供了丰富的“养料”。深度学习技术正是在这个时期异军突起,从2012年AlexNet在图像识别竞赛中以压倒性优势夺冠开始,人工智能迎来了真正的爆发期。此后的每一年,我们都能看到人工智能在各个领域取得突破:语音识别准确率超越人类、机器翻译质量大幅提升、自动驾驶汽车开始上路测试、人脸识别技术广泛应用。这些成就的背后,是算力在默默支撑。
以我们每天都打交道的语音助手为例。当你对着手机说“小爱同学”或“Hey Siri”时,你的语音指令首先被转换成数字信号,然后发送到云端服务器进行分析。云端的人工智能系统需要在毫秒级别的时间内完成语音识别、语义理解和意图分析的复杂计算,最后生成回复或执行相应操作。这个过程看似简单,实际上涉及数十亿次甚至上百亿次的数学运算。如果算力不足,你可能会等上好几秒甚至更长时间才能得到回应,体验将大打折扣。而在一些对实时性要求更高的场景,比如自动驾驶汽车在行驶过程中遇到的突发情况,系统必须在几十毫秒内做出反应,这对算力的要求更是严苛到近乎苛刻。
算力与人工智能的关系,可以用一个形象的比喻来理解:算力是土壤,算法是种子,数据是水分,而人工智能的各项应用则是最终长成的参天大树。没有肥沃的土壤,再优良的种子也无法生根发芽;没有充足的算力,再精妙的算法也无法发挥威力。近年来的人工智能发展史,本质上就是一部算力不断提升的历史。每当有新的、更强大的芯片问世,研究人员就能训练出更复杂的模型,开发出更强大的应用。算力的进步,为人工智能的每一步跨越提供了最基础的保障。
CPU时代的天花板
了解了算力的重要性之后,我们不禁要问:传统的计算机算力难道不够用吗?答案既是肯定的,又是否定的。对于我们日常办公、浏览网页、观看视频等基本任务,现有的计算机确实足够胜任。但对于现代人工智能的核心——深度学习,传统的通用处理器CPU已经触及了它的天花板。
要理解为什么CPU在人工智能面前显得力不从心,我们需要先了解CPU的工作原理。CPU的设计哲学是“通用性”。它就像一个全能的数学家,能够处理各种类型的计算任务:从简单的加减乘除到复杂的微积分,从文字处理到视频播放,CPU都能应对自如。这种通用性是CPU最大的优势,也是它最大的劣势。为了具备处理各种任务的能力,CPU必须具备复杂的控制电路和缓存系统,每一次执行指令都需要经过取址、解码、执行、访存、写回等多个步骤。虽然现代CPU的运算速度已经非常惊人,达到每秒数十亿次甚至上百亿次运算,但这种复杂的工作流程使得它在面对某些特定类型的大规模并行计算时效率低下。
深度学习的工作负载恰恰具有鲜明的特点。训练一个人工智能模型,特别是大型深度神经网络,需要对海量的数据进行大量的矩阵运算和向量运算。以图像识别为例,识别一张图片中的物体需要遍历图片中的每一个像素,分析它们之间的关系,这个过程涉及数百万次乘法累加运算。而在训练阶段,模型需要处理数百万甚至数十亿张图片,每一次处理都需要进行同样的大规模计算。这种计算的特点是:操作简单、重复性高、数据量大、各计算之间相互独立,非常适合并行处理。
然而,CPU的架构设计并不擅长这种并行计算。CPU通常只有几个到十几个核心,虽然每个核心的运算能力很强,但面对深度学习那种需要同时处理海量数据的场景,这些核心就像是几个大力士,面对堆积如山的工作却分身乏术。打个比方,如果把深度学习计算比作搬运一百万块砖头,CPU的做法是找来十几个身强力壮的工人,每个人一次可以搬几十块砖,但人数有限;而专用的人工智能芯片则像是有了一百万只小蚂蚁,每只蚂蚁一次只能搬一小块砖,但因为数量庞大,总体的搬运速度要快得多。
让我们来看一些具体的数据。一颗高端桌面处理器,比如英特尔的酷睿i9,拥有8到16个CPU核心,睿频频率可以到5GHz以上,理论峰值性能大约在每秒一万亿次浮点运算左右。这个数字听起来很大,但用它来训练一个现代的大型人工智能模型,可能需要数周甚至数月的时间。而在2020年,OpenAI训练GPT-3模型使用的算力据估计超过每秒十亿亿次浮点运算,这是一个CPU根本无法企及的天文数字。即便是用来运行已经训练好的模型,CPU的效率也非常低下,无法满足实时应用的需求。
更深层次的问题在于,CPU的能耗效率。深度学习计算的能耗是惊人的,据统计,训练一个大型模型产生的碳排放相当于五辆汽车整个生命周期的排放量。这不仅意味着巨额的电费支出,更带来了严峻的散热挑战。传统CPU在进行大规模深度学习计算时,会产生大量的热量,需要复杂的散热系统来维持正常工作温度。而专用的人工智能芯片在设计之初就考虑到了能耗效率问题,能够以更低的能耗完成更多的计算任务。
功耗问题在实际应用中更加凸显。想象一下,如果我们要在一个智能摄像头中部署一个人脸识别系统,这个摄像头只能从电网获取有限的电力供应,而且没有主动散热装置。如果使用传统的CPU方案,处理器可能需要数百瓦的功率才能运行人脸识别算法,这么高的功耗不仅会让摄像头发烫,还会导致成本的急剧上升。而使用专用的人工智能加速芯片,同样的任务可能只需要几十瓦甚至几瓦的功耗,芯片甚至可以做得非常小巧,直接集成到摄像头内部。这就是专用芯片带来的质变——它不仅让计算变得更快,更让它变得在各种场景下都成为可能。
GPU:从图形渲染到人工智能
说起人工智能芯片,很多人脑海中浮现的第一个名字可能是GPU。GPU,即图形处理单元,是显卡的核心组件,最初专门设计用于加速电脑图形的渲染过程。然而,这个为绘制像素而生的硬件,却在人工智能时代找到了更广阔的舞台,完成了从“绘图工具”到“AI引擎”的华丽转身。
要理解GPU为什么能在人工智能领域大放异彩,我们需要回顾一下GPU的设计哲学。与CPU追求通用性不同,GPU从诞生之日起就专注于一个目标:快速渲染大量的像素。每个电脑游戏玩家都希望自己屏幕上的画面流畅清晰,而要做到这一点,显示芯片必须能够在每秒内完成数十亿次像素计算。为了实现这个目标,GPU的设计师们采取了一种与CPU截然不同的策略:与其把芯片设计得足够灵活来处理各种任务,不如把芯片设计得足够专一,让它能够同时处理海量的简单任务。
一块高端显卡可能拥有数千个微小的计算核心。以英伟达的RTX 4090为例,它拥有16384个CUDA核心,这些核心被组织成128个流式多处理器。虽然每个核心的运算能力比不上高端CPU的核心,但胜在数量众多。当需要绘制一个复杂的3D场景时,GPU可以把这幅画面分解成数百万个三角形和像素,然后让所有核心同时工作,并行处理这些元素。这种并行计算能力,恰恰是深度学习最需要的。
深度学习中的矩阵运算可以非常自然地映射到GPU的并行架构上。在神经网络的前向传播和反向传播过程中,需要对海量的权重参数和输入数据进行大规模的矩阵乘法运算。这些运算可以被分解成无数个相互独立的乘法和加法操作,非常适合用GPU的数千个核心来并行处理。就像是如果要计算一百万个数字的总和,CPU需要一个人一个个地加,而GPU则可以召集一万个人,每个人负责加一百个数字,然后再把结果汇总,速度自然快得多。
GPU在人工智能领域的崛起,有一个标志性事件:2012年的ImageNet图像识别竞赛。在这一年,来自多伦多大学的三位研究者——亚历克斯·克里切夫斯基、伊利亚·萨特斯基弗和杰弗里·辛顿,提交了一个名为AlexNet的深度卷积神经网络参赛。这个网络的表现震惊了整个学术界——它的错误率仅为15.3%,比第二名低了10多个百分点,而第二名使用的还是传统的计算机视觉方法。更令人惊讶的是,AlexNet团队使用了GPU来加速神经网络的训练,这在当时还是一个非常规的选择。在此之前,深度学习的研究者们主要使用CPU进行计算,GPU被认为只适合游戏和图形渲染。
AlexNet的成功开启了深度学习的新纪元,也开启了GPU在人工智能领域的黄金时代。从那以后,几乎所有重要的人工智能模型都是用GPU训练出来的。2015年,微软研究院使用深度残差网络ResNet在ImageNet竞赛中将错误率降到了3.6%,这个成绩已经超越了人类的平均识别水平。2017年,谷歌团队的Transformer架构横空出世,奠定了现代大语言模型的基础。2020年,OpenAI的GPT-3惊艳亮相,参数规模达到1750亿,需要使用庞大的GPU集群进行训练。这些里程碑式的成果,背后都有GPU的身影。
英伟达作为GPU领域的领头羊,也敏锐地察觉到了这个趋势。从2016年开始,英伟达开始推出专门针对人工智能应用的Tesla系列GPU,以及配套的CUDA编程平台和cuDNN深度学习库。这些软硬件工具大大降低了人工智能开发者使用GPU的门槛,使得深度学习从学术象牙塔走向了千家万户。如今,英伟达的市值已经超过万亿美元,成为全球最受瞩目的半导体公司之一。这一切的发迹,都可以追溯到GPU从图形渲染到人工智能计算的华丽转身。
然而,GPU虽然强大,但它毕竟不是为人工智能专门设计的芯片。作为一块“半路出家”的计算设备,GPU在人工智能应用中仍然存在一些固有的局限。首先是功耗问题:一块高端GPU的功耗可以高达400瓦甚至更多,这意味着需要强大的电源供应和复杂的散热系统;其次是体积问题:GPU需要独立的显卡和散热装置,很难被集成到小型设备中;第三是效率问题:GPU的设计仍然保留了大量图形渲染相关的硬件电路,对于纯人工智能计算任务来说,这些电路是多余的,增加了成本和功耗。这些问题催生了新一代专用人工智能芯片的诞生。
TPU与专用AI芯片:术业有专攻
如果说GPU是人工智能计算领域的“万金油”,那么专用人工智能芯片就是为这个领域量身定制的“精密武器”。2016年,谷歌正式发布了自研的张量处理单元TPU,这是人工智能芯片发展史上的一个重要里程碑。TPU的诞生标志着芯片设计进入了一个新时代——不再追求通用性,而是针对特定的工作负载进行极致优化。
TPU的设计理念与CPU和GPU都有本质的不同。谷歌的工程师们在设计TPU时,首先思考的不是“如何让芯片能够完成各种计算任务”,而是“如何让芯片最高效地完成矩阵乘法这个深度学习中最核心的操作”。答案出人意料地简单:既然矩阵乘法是深度学习的核心,那就把所有其他功能都砍掉,只保留矩阵乘法单元,然后把这个单元做到极致。
这种极简主义的设计哲学带来了惊人的效率提升。TPU内部没有复杂的指令缓存、分支预测单元和乱序执行引擎,取而代之的是大量专为矩阵运算设计的乘法累加单元。在TPU上,一次矩阵运算只需要几个时钟周期,而同样的运算在CPU或GPU上可能需要数百甚至数千个周期。更重要的是,TPU在设计时充分考虑了深度学习的工作特点,采用了脉动阵列的架构,数据像血液一样在芯片中有节奏地流动,被沿途的计算单元依次处理,最大化地利用了每一个晶体管。
谷歌公布的测试数据显示,TPU在运行深度学习推理任务时,比同期的CPU快15到30倍,能效比高出30到80倍。在训练任务上,TPU同样表现出色,一个使用32颗TPU的训练集群,性能可以媲美数百颗CPU组成的集群。这意味着,如果用传统的CPU来训练AlphaGo,可能需要数月时间;而使用TPU,这个时间可以缩短到几周甚至几天。
TPU的成功引发了整个芯片行业的震动。各大科技巨头纷纷开始自研人工智能芯片,形成了群雄逐鹿的局面。亚马逊推出了Trainium和Inferentia芯片,专门用于云端人工智能训练和推理;Facebook母公司Meta正在开发自研芯片用于人工智能推荐系统;苹果在iPhone中集成了Neural Engine神经网络引擎,让手机能够在本地运行复杂的人工智能模型;特斯拉则开发了Dojo超级计算机芯片,用于自动驾驶视觉系统的训练。国内方面,华为的昇腾系列芯片、阿里巴巴的含光芯片、百度的昆仑芯片、寒武纪的思元芯片等,都是专用人工智能芯片的代表作品。
这些专用芯片虽然各有特色,但有一个共同的设计原则:针对深度学习的工作负载进行专门优化。它们不再追求能够运行Windows操作系统或Photoshop软件,而是专注于一件事:高效地执行人工智能计算。这种“术业有专攻”的思路,在芯片设计领域带来了一场静悄悄的革命。
除了巨头们的自研芯片,还有一类专用人工智能芯片值得关注:神经网络处理器NPU。NPU是专门为神经网络计算设计的芯片,它模仿了人脑神经网络的结构,用硬件电路实现了神经元的功能。与GPU和TPU不同,NPU通常采用更激进的专用设计,放弃了灵活性,换取更高的效率和更低的功耗。这使得NPU特别适合部署在移动设备和物联网设备中。华为麒麟系列芯片从麒麟970开始就集成了NPU模块,用于加速拍照场景识别、语音处理等人工智能功能;苹果的A系列和M系列芯片也都包含专门的神经网络引擎;在物联网领域,各种专用的人工智能芯片正在让越来越多的设备变得“智能”。
专用人工智能芯片的崛起,不仅仅是芯片行业的技术进步,更深刻地改变了人工智能的应用格局。在传统模式下,所有的人工智能计算都必须发送到云端服务器进行处理,这带来了延迟、隐私和成本等一系列问题。有了专用芯片,人工智能终于可以“下沉”到边缘设备和终端设备上。智能手机可以在本地运行图像识别和语音助手,智能摄像头可以实时分析视频内容,工业传感器可以本地做出判断和决策。这种“边缘智能”正在成为人工智能应用的新趋势,而推动这个趋势的,正是专用人工智能芯片的不断进步。
算力竞赛:大模型的军备战争
如果说AlphaGo还只是人工智能算力需求的一个预演,那么大语言模型的出现则将算力需求推向了新的巅峰。GPT-3、BERT、PaLM、ChatGPT——这些名字背后,是一场看不见的算力军备竞赛,而竞赛的结果直接决定了谁能在人工智能时代占据制高点。
让我们先来理解什么是大语言模型。简单来说,大语言模型是一种能够理解和生成人类语言的人工智能系统。它通过在海量文本数据上进行训练,学习语言的规律、知识和推理能力。当训练完成后,这样的模型就可以回答问题、写文章、写代码、翻译语言,甚至进行创意写作。ChatGPT之所以能够与人进行如此流畅自然的对话,正是因为它背后的大语言模型GPT-3.5/4具备了强大的语言理解和生成能力。
然而,训练这样的大语言模型需要消耗惊人的算力。GPT-3的训练据估计使用了约3640 PetaFLOP/s-day的计算量。这个单位可能对很多人来说比较陌生,我们可以做一个换算:如果用一块英伟达A100 GPU(每秒可以进行312万亿次浮点运算)来训练GPT-3,大约需要相当于355年的计算时间。当然,实际上OpenAI使用了数百块GPU组成的集群并行训练,但即便如此,整个训练过程也持续了数周时间。
训练大语言模型的成本同样惊人。据估算,GPT-3的单次训练成本约为460万美元,这还不包括研发人员工资、数据采购和基础设施建设的费用。对于更大规模的模型,比如谷歌的PaLM(5400亿参数),训练成本据估计超过1000万美元。这种烧钱速度,使得大语言模型的训练成为了只有科技巨头才能参与的游戏。
算力需求为什么会增长得如此之快?这要从几个方面来分析。首先是模型规模的增长:2018年BERT-large模型只有3.4亿参数,2020年的GPT-3有1750亿参数,而到了2023年,一些前沿模型的参数规模已经突破万亿级别。参数越多,模型能够学习和存储的知识就越多,能力也就越强,但同时对算力的需求也呈指数级增长。其次是训练数据规模的增长:更大的模型需要更多的数据来训练,而处理更多的数据也需要更多的算力。第三是训练轮次的增加:为了让模型学习得更充分,研究人员往往需要让模型多轮学习训练数据。
更值得关注的是,算力需求的增长似乎没有止境。在深度学习领域,有一个著名的“扩展定律”——模型的能力随着参数规模、数据规模和计算规模的增加而不断提升。这意味着,如果想要让人工智能变得更聪明,就需要投入更多的算力。这场“更大即更好”的竞赛,推动着各大公司不断采购更多的GPU和专用芯片,建设更大的数据中心,投入更多的资金用于算力建设。
在这场算力军备竞赛中,GPU的供需关系出现了严重的不平衡。2022年至2023年间,全球人工智能领域的GPU需求急剧增长,而英伟达的高端GPU产品一度出现了有钱也买不到的情况。各大云计算服务商为了确保算力供应,争相向英伟达下单;有实力的公司开始囤积GPU;一些创业公司为了获得足够的算力,不得不接受高昂的租赁价格。这种局面促使越来越多的公司开始思考:与其在公开市场上争抢GPU,不如自己研发专用芯片。
算力竞赛还带来了一个意想不到的后果:芯片代工产能的紧张。英伟达的GPU主要由台积电代工生产,而台积电最先进的制程产能是有限的。当人工智能芯片的需求爆发式增长时,芯片制造环节成为了新的瓶颈。这解释了为什么算力供应链的问题会成为近年来科技行业的热门话题,也解释了为什么芯片制造能力上升到了国家战略的高度。
算力竞赛的本质,是一场关于人工智能制高点的争夺。在这场没有终点的竞赛中,谁能提供更强大的算力,谁就能训练出更强大的模型,开发出更先进的人工智能应用。从某种意义上说,算力已经成为继电力、石油之后最重要的战略资源之一,关乎国家竞争力和科技创新