当AI遇见算力:一个关于速度的故事
想象一下这样的场景:2016年3月的一个深夜,韩国首尔四季酒店。数百万人守在屏幕前,见证一场将被载入史册的围棋对弈。对阵的双方,一边是拥有十八冠称号的人类围棋天才李世石,另一边是一个没有任何段位的"新人"——AlphaGo。
比赛进行到第五局,当AlphaGo落下第78手时,李世石陷入了长考。这手棋精妙绝伦,完全超出了人类对围棋的理解范畴。解说的职业九段棋手们面面相觑,他们从未见过这样的下法。后来,AlphaGo的创造者们解释,那一手棋的背后,是数千台服务器、数十个TPU芯片、数百万盘棋谱、以及无数次的自我对弈。
最终比分定格在4:1。人类输掉了那场比赛,但更令人震惊的是失败的方式——李世石赢下的那一局,是他猜中了AlphaGo在某个特定局面下的"失误",而那或许只是因为一个程序bug。换言之,AlphaGo几乎是以碾压性的优势赢下了这轮系列赛。
这个夜晚改变了很多东西。它让全世界第一次直观感受到人工智能的威力,也让我们开始追问一个看似简单却深刻的问题:让机器变聪明的,究竟是什么?
答案或许出乎你的意料:是算力。
算力:AI的水与电
在科技圈有一句流传甚广的话:"人工智能的发展史,就是一部算力的进化史。" 这话听起来有些绝对,但细想起来却很有道理。
让我们先来理解什么是算力。算力,简单来说就是计算能力——设备每秒能够完成多少次运算。这个数字可以从几个GFLOPS(每秒十亿次浮点运算)到数百PFLOPS(每秒千万亿次浮点运算)不等。听起来抽象?让我们用一个生活中的例子来类比。
假设你要完成一项任务:把一堆积木搭成一座城堡。这项任务可以用两种方式完成:
方式一:串行处理 找来一个心灵手巧的工匠,让他一个人慢慢搭。这个工匠技艺精湛,每分钟能搭10块积木。搭完1000块积木需要100分钟。
方式二:并行处理 找来100个普通人,每人负责搭一部分。由于可以同时工作,理论上每分钟能搭1000块积木,10分钟就能完成。
这个例子虽然简化了真实情况,但揭示了一个核心原理:在某些场景下,增加并行处理的能力可以大幅缩短完成任务的时间。 而这,正是现代AI芯片设计的核心理念。
现在,让我们把镜头拉远,看看算力如何塑造了AI的三次发展浪潮。
深度学习的三次浪潮
如果要为人工智能写一部传记,2012年很可能被标记为"觉醒之年"。但在此之前,AI已经历了两次起落,每一次都与算力密切相关。
第一次浪潮:符号主义的黄金时代(1956-1970s)
1956年的达特茅斯会议,被公认为人工智能作为一门独立学科的起点。那是一个充满乐观主义的年代——计算机刚刚诞生不久,科学家们坚信用不了多久,机器就能像人一样思考。
第一次AI浪潮的核心方法是符号主义。这种方法假设智能可以被形式化为符号操作:如果你能把问题表述为一系列逻辑规则,计算机就能通过推理找到答案。著名的"通用问题求解器"(GPS)就是这一理念的产物。
然而,符号主义的局限性很快显现出来。它能很好地处理明确定义的逻辑问题,比如下象棋,但要处理图像识别、语音理解这些"模糊"任务时却步履维艰。 一个三岁小孩能轻松分辨猫和狗,但要让计算机完成这个任务,用符号主义的方法可能需要写数万条规则,而且效果依然不佳。
更深层的问题在于:那时的计算机算力实在太弱了。 1965年,Intel的创始人戈登·摩尔提出了著名的"摩尔定律"——芯片上的晶体管数量大约每两年翻一番。这意味着计算机的性能在稳步提升,但提升的速度远远赶不上复杂AI任务的需求。
1973年,英国政府委托数学家詹姆斯·莱特希尔评估AI研究的进展。他的报告毫不客气地指出:AI研究"没有产生任何实质性突破",现有技术"无法解决实际问题"。这份报告直接导致了第一次AI寒冬——研究经费大幅削减,AI研究进入低谷期。
第二次浪潮:专家系统的短暂辉煌(1980s-1990s)
1980年代,随着个人电脑的普及和算力的提升,AI迎来了第二次复兴。这一次的主角是专家系统——一种将人类专家的知识编码为规则的系统。
专家系统的思路很直观:与其让机器自己学习,不如把专家的经验直接告诉它。医疗诊断专家系统MYCIN就是典型代表,它能根据病人的症状推断可能的感染类型和推荐抗生素剂量,据说在测试中表现能达到专业医生的水平。
专家系统的短暂辉煌揭示了一个重要规律:知识可以转化为算力,但这种转化本身需要巨大的投入。 每一条规则都需要专家精心编写、测试、调试。当系统的规则数量超过数千条时,维护和更新的成本就变得难以承受。
与此同时,另一个问题逐渐浮出水面:专家系统擅长处理确定性高的规则推理,但面对不确定性高、边界模糊的问题时表现糟糕。而现实世界恰恰充满了这样的问题——自然语言理解、图像识别、故障诊断,每一个都充满例外和噪声。
1990年代,随着日本经济泡沫破裂和PC时代的到来,专家系统逐渐退出历史舞台。第二次AI寒冬来临。
第三次浪潮:深度学习的突破(2006至今)
2006年,Geoffrey Hinton在《科学》杂志上发表了一篇论文,提出了"深度信念网络"(Deep Belief Networks)的训练方法。这篇论文被视为第三次AI浪潮的起点。
但真正的转折点发生在六年后的2012年。
ImageNet竞赛:算力改变一切的瞬间
要理解2012年发生了什么,我们需要先认识ImageNet。
2009年,斯坦福大学的李飞飞教授团队创建了一个庞大的图像数据库——ImageNet。这个数据库包含超过1400万张手工标注的图片,涵盖了2万多个类别。从猫狗到飞机,从食物到乐器,几乎你能想到的东西都在其中。
为了让这个数据库发挥作用,李飞飞团队每年举办一场竞赛——ImageNet大规模视觉识别挑战赛(ILSVRC)。参赛队伍需要训练模型,让它能够正确识别图片中的物体。2010年的第一届竞赛,冠军队伍的的错误率高达28%——换句话说,每四张图片就会认错一张。
这个错误率意味着什么?意味着机器的图像识别能力,还不如一个两三岁的小孩。
2012年,一个来自多伦多大学的团队参加了竞赛。他们的领队是Geoffrey Hinton——那位在2006年发表开创性论文的深度学习先驱。团队成员包括他的学生Alex Krizhevsky和Ilya Sutskever。
他们提交的模型叫做AlexNet。
这是一个包含8层神经网络的深度学习模型,它的结构在今天看来已经算是"小个子"了——但在2012年,它的规模和复杂度让许多评委感到不可思议。
更令人震惊的是结果:AlexNet的错误率只有16.4%,比上一年的冠军提升了超过10个百分点。这是一个巨大的飞跃,在ImageNet竞赛的历史上几乎是前所未有的。
但这还不是全部故事。
AlexNet的成功,还有一个幕后英雄——GPU。
GPU崛起:并行计算的意外主角
在我们继续之前,先来聊聊GPU是什么。
GPU的全程是Graphics Processing Unit,图形处理器。顾名思义,它最初是为图形渲染而设计的。玩游戏时屏幕上那些炫目的光影效果,CAD软件里旋转的三维模型,都是GPU的功劳。
GPU的设计哲学与CPU截然不同。让我们用另一个比喻来说明。
想象你要处理一堆积木。CPU就像一个全能的工匠大师——他什么都会,可以雕刻、抛光、组装,样样精通。但因为只有一个大师,所以只能一件一件地处理积木。
GPU则像是一群普通工人。每个工人只会做简单的动作——拿起积木、放下积木。但好处是工人数量众多,可以同时工作。你有成百上千个工人,每个人同时处理不同的积木,效率自然就上去了。
这种设计哲学叫做并行计算。GPU擅长同时执行大量简单的计算任务,而CPU则擅长处理复杂的、需要各种逻辑判断的任务。
传统上,GPU只用于图形渲染。但2006年,一个重要的变化发生了——NVIDIA推出了CUDA(Compute Unified Device Architecture)平台,第一次让程序员能够相对容易地编写在GPU上运行的通用计算程序。
这扇门的打开,为后来的一切埋下了伏笔。
回到AlexNet。Hinton团队在训练这个模型时做了一个关键决定——用GPU来加速神经网络的训练过程。
神经网络训练的本质是什么?简单来说,就是不断调整数百万个参数,让模型的预测结果越来越接近正确答案。这个过程涉及大量的矩阵运算——矩阵乘法、矩阵加法等等。
而GPU,恰好最擅长矩阵运算。
Hinton团队使用了两块NVIDIA GTX 580显卡来训练AlexNet。据他们后来估计,如果没有GPU,同样的训练任务可能需要花费几个月时间——而用GPU,只需要几天甚至更短。
这个效率提升是革命性的。它意味着研究人员可以在更短的时间内尝试更多的模型结构、用更多的数据训练模型。算力的提升,第一次与AI能力的提升形成了直接的正相关。
2012年ImageNet竞赛的结果,像一颗重磅炸弹扔进了科技圈。从那以后,几乎所有参加ImageNet竞赛的队伍都开始使用GPU来加速训练,而深度学习模型的层数也开始急剧增加——从AlexNet的8层,到VGG的16-19层,到ResNet的152层,再到后来更深的网络。
这场竞赛还揭示了一个更深的规律:数据和算力的组合,比算法的创新更能解释深度学习的成功。 当你拥有足够的算力,就可以用更多的数据训练更大的模型,而更大的模型往往能学到更丰富的特征表示。
这个规律有一个更简洁的名字:规模化法则(Scaling Law)。OpenAI的研究人员在2020年发现,神经网络的性能(以损失函数衡量)与模型参数数量、训练数据量、算力投入之间存在可预测的幂律关系。这意味着:如果你想让模型的能力提升一个档次,最可靠的方法就是——投入更多的算力、更多的数据。
这或许解释了为什么科技巨头们开始了一场算力军备竞赛。从Google到Meta,从微软到Amazon,每一家公司都在疯狂购买GPU,构建超级计算集群。这场竞赛的终点在哪里,目前还看不到迹象。
并行计算入门:用"外卖小哥"理解GPU
现在,让我们更深入地理解一下并行计算是如何工作的。
前面我们用"积木工人"的比喻介绍了并行处理的概念。现在让我们把这个概念再具体化一点,用一个你可能每天都会遇到的情景——点外卖——来解释GPU的工作原理。
假设你点了三份外卖:一份炒饭、一份麻辣烫、一份寿司。通常的流程是:
串行处理方式(CPU):一个骑手依次取三份餐。他先去A店取炒饭,送到你家,然后再去B店取麻辣烫,再送一趟,最后去C店取寿司,再送一趟。这个过程是顺序进行的,每份餐都要等待。
并行处理方式(GPU):三个骑手同时出发。一个去A店取炒饭,一个去B店取麻辣烫,一个去C店取寿司。他们可以同时取餐、同时送餐,最后几乎同时到达你家。
这个比喻可以帮助我们理解并行计算的基本逻辑:当多个任务可以同时进行时(它们之间没有依赖关系),使用更多的"工人"可以大幅缩短总时间。
现在让我们把这个比喻对应到真实的计算场景中:
| 场景 | CPU思维 | GPU思维 | |------|---------|---------| | 处理1000张图片 | 一个核心依次处理 | 1000个核心同时处理 | | 矩阵乘法 | 逐个元素计算 | 一次性计算多个元素 | | 视频渲染 | 一帧一帧串行处理 | 多帧同时渲染 |
GPU之所以适合AI计算,是因为神经网络的运算具有天然的并行性。神经网络的核心是矩阵运算——输入数据被表示为矩阵,神经网络的权重也是矩阵,网络的每一层都在进行矩阵乘法。
矩阵乘法的计算可以高度并行化。以两个4×4矩阵的乘法为例:结果矩阵的每个元素是输入矩阵对应行和列的点积,而这些点积的计算是完全独立的,可以同时进行。这意味着你可以分配给GPU的每个"工人"计算结果矩阵的一个元素。
GPU有成千上万个小型计算单元。以NVIDIA的A100 GPU为例,它拥有6912个CUDA核心(可以理解为"工人")。当进行矩阵运算时,这些核心可以同时工作,在几毫秒内完成过去CPU需要几秒甚至几分钟才能完成的任务。
这就是为什么深度学习在2012年后突然爆发——GPU提供了足够强大的并行算力,让训练深层神经网络成为可能。
为什么还需要专用AI芯片?
故事讲到这里,你可能会产生一个疑问:既然GPU这么强大,为什么还需要专用AI芯片?
这是一个非常好的问题。让我们来分析一下。
GPU的优点与局限
GPU在深度学习领域的成功毋庸置疑,但它毕竟是为图形渲染而设计的芯片。用GPU来做AI计算,有点像用卡车去拉客——虽然能跑,但毕竟不是最优选择。
GPU的第一个局限是:效率问题。
GPU虽然算力强大,但它的功耗也相当惊人。一块高端GPU如NVIDIA H100的功耗可达700W,这意味着运行它需要大量的电力,也需要复杂的散热系统。更重要的是,GPU的算力并不完全用于AI计算——它的架构中有相当一部分电路是专门为图形渲染设计的,在运行神经网络时这些电路是闲置的。
用更专业的话说:GPU的能效比(每瓦功耗能提供的算力)对于AI任务来说并不是最优的。
GPU的第二个局限是:灵活性与专用性的权衡。
GPU是通用并行计算芯片,它可以处理各种类型的并行计算任务,从科学计算到机器学习,无所不能。但这种通用性是有代价的——为了保持灵活性,GPU必须在硬件层面做出妥协,无法针对特定任务进行极致优化。
打个比方:GPU就像一把瑞士军刀,什么都能做,但每样都不够精通。而专用AI芯片则像一把专业厨刀,只为切菜而生,但在切菜这件事上效率远超瑞士军刀。
专用AI芯片的崛起
正是看到了GPU的局限性,科技巨头们开始研发专用AI芯片。最著名的例子包括Google的TPU(Tensor Processing Unit)和华为的昇腾(Ascend)系列。
这些专用芯片的设计理念是什么?
第一,专为神经网络运算优化。
神经网络的核心运算是矩阵乘法和卷积。专用AI芯片在硬件层面直接支持这些运算,不需要像GPU那样通过通用计算单元来模拟。这意味着在执行相同的AI任务时,专用芯片可以用更少的晶体管、更低的功耗完成。
Google的第一代TPU就是一个典型案例。Google的研究人员发现,TPU在推理任务(使用已训练好的模型进行预测)上的速度比同期GPU快15-30倍,而功耗只有GPU的零头。
第二,针对特定的精度和数据格式优化。
深度学习计算通常不需要特别高的精度。传统计算机使用32位或64位浮点数来保证计算精度,但在神经网络中,使用16位甚至8位定点数往往就足够了——模型参数的微小偏差对最终结果影响不大。
专用AI芯片可以直接支持这些低精度运算,在保证模型性能的同时,大幅减少计算量和存储需求。这就像在建筑工程中,用精确到米的数据来规划城市道路就足够了,不需要精确到毫米——用米为单位,数据量更小,计算更快。
第三,更好的互联和扩展性。
当需要训练超大规模模型时,单个芯片的算力往往不够用,需要将多个芯片连接起来协同工作。Google的TPU Pod和华为的Atlas集群都支持这种扩展,通过高速互联网络将成百上千个AI芯片组合成一个超级计算集群。
这种扩展能力对于训练大型语言模型至关重要。GPT-3这样的模型有1750亿个参数,需要数千个GPU或AI芯片协同训练数周甚至数月才能完成。
三国争霸:GPU、TPU与昇腾
说到AI芯片,就不得不提到当前市场上的主要玩家。如果用"三国"来比喻这个市场,我们可以把NVIDIA的GPU阵营比作"魏",把Google的TPU阵营比作"吴",把华为的昇腾阵营比作"蜀"。每一方都有自己的优势和战略。
NVIDIA(魏):坐拥GPU市场的绝对主导地位,市值一度突破万亿美元。NVIDIA的CUDA生态系统经过十多年发展,已经成为深度学习领域的事实标准。几乎所有的深度学习框架(PyTorch、TensorFlow等)都对CUDA有原生支持。NVIDIA的优势在于软件生态的完善和先发优势——开发者们习惯了使用CUDA,迁移成本很高。
Google(TPU/吴):Google是最早推出专用AI芯片的科技巨头之一。TPU从2016年开始在内部使用,主要服务于Google的搜索、翻译、语音识别等业务。Google不对外销售TPU,但通过Google Cloud提供TPU计算服务。Google的优势在于拥有最海量的真实数据和丰富的应用场景来迭代芯片设计。
华为(昇腾/蜀):华为是中国AI芯片领域的领军者。昇腾系列芯片从2018年开始推出,包括用于训练的昇腾910和用于推理的昇腾310。受到美国出口管制影响,华为在芯片制造方面遇到了重大挑战,但这也促使华为在芯片设计能力和软件生态(MindSpore框架)方面投入更多资源。
这三方的竞争格局,实际上反映了一个更深的趋势:芯片设计正在从"通用为王"走向"专用制胜"。
在PC时代,Intel的CPU几乎垄断了市场,因为几乎所有软件都需要在CPU上运行。但在AI时代,不同的应用场景对芯片有不同的需求——训练需要高吞吐量,推理需要低延迟,移动端部署需要极低功耗。没有任何一种通用芯片能够在所有场景都做到最优。
这就给了专用AI芯片生存和发展的空间。未来的芯片市场,可能不是"一种芯片打天下",而是多种专用芯片各司其职。
本章小结:算力时代的核心议题
让我们回顾一下本章讨论的核心内容:
1. AI与算力的关系是"鱼水之情"
从深度学习三次浪潮的历史来看,每一次AI能力的跃升都与算力的提升密切相关。第一次浪潮受限于算力不足,第二次浪潮遭遇了知识获取的瓶颈,而第三次浪潮之所以能够持续繁荣,正是因为GPU等并行计算芯片提供了足够的算力支撑。
2. ImageNet竞赛是算力改变AI的标志性事件
2012年AlexNet的突破,本质上是GPU与深度学习结合的突破。它证明了当算力足够强大时,更深的网络、更大的模型可以带来显著的性能提升。从那以后,"规模"成为深度学习最重要的关键词之一。
3. 并行计算是理解AI芯片的关键
GPU的核心优势是并行处理能力——成千上万个计算单元同时工作,大幅加速矩阵运算等AI核心任务。理解并行计算的工作原理,有助于理解为什么GPU比CPU更适合AI任务,以及专用AI芯片的设计思路。
4. 专用AI芯片是算力演进的必然产物
当AI从实验室走向生产环境,从云端走向边缘设备,通用GPU的局限性日益明显。专用AI芯片(TPU、昇腾等)通过针对AI运算的极致优化,在能效比、延迟、成本等方面带来了显著改善。
但这还不是全部故事。
随着AI应用场景的不断拓展,新的问题不断浮现:大模型训练需要什么样的算力基础设施?边缘AI部署面临哪些特殊挑战?不同芯片之间的互操作性如