详解AI减速器(二):为什么说现在是AI减速器的黄金时代?

在上一篇文章中,前苹果工程师、普林斯顿大学博士 Adi Fuchs 解释了 AI 减速器诞生的动机。在这篇文章中,我们将跟着作者的思路回顾一下处置惩罚器的整个发展历程,看看 AI 减速器为什么能成为行业焦

在上一篇文章中,前苹果工程师、普林斯顿大学博士 Adi Fuchs 解释了 AI 减速器诞生的动机。在这篇文章中,我们将跟着作者的思路回顾一下处置惩罚器的整个发展历程,看看 AI 减速器为什么能成为行业焦点。

图片

这是本系列博客的第二篇,我们来到了整个系列的关键所在。在为新公司或新项目做推介时,风投资本家或高管经常会问一个基本问题:「为什么是现在?」为了回答这个问题,我们需求容易回顾一下处置惩罚器的发展历史,看看近些年这一领域发生了哪些重大变化。处置惩罚器是什么?简而言之,处置惩罚器是估计机系统中负责实际数字估计的部分。它接收用户输入数据(用数值表示),并根据用户的请求生成新的数据,即履行一组用户希望的算术运算。处置惩罚器使用其算术单元来生成估计结果,这意味着运转法式。20 世纪 80 年代,处置惩罚器在个人电脑中被商品化。它们逐渐成为我们日常生活中不可或缺的一部分,笔记本电脑、手机和连接数十亿云和数据中心用户的全球基础设施估计结构中都有它们的身影。随着估计密集型运用的日益普及和大量新用户数据的出现,当代估计系统必须满足对处置惩罚能力不断增长的需求。因此,我们总是需求更好的处置惩罚器。长期以来,「更好」意味着「更快」,但现在也可以是「更高效」,即花同样的时间,但使用的能源更少,碳足迹更少。处置惩罚器进化史估计机系统的进化是人类最杰出的工程成就之一。我们花了大约 50 年的时间达到了这样一种高度:一个人口袋里的普通智能手机拥有的估计能力是阿波罗登月任务中用到的房间大小的估计机的 100 万倍。这一演变的关键在于半导体行业,以及它如何改进处置惩罚器的速度、功率和成本。

图片

英特尔 4004:第一款商用微处置惩罚器,发布于 1971 年。处置惩罚器是由被称为「晶体管」的电子元件组成的。晶体管是逻辑开关,用作从原始逻辑函数(如与、或、非)到复杂算术(浮点加法、正弦函数)、存储器(如 ROM、DRAM)等所有东西的构建模块。这些年来,晶体管一直在不断缩小。

图片

1965 年,戈登 · 摩尔发现,集成电路中的晶体管数量每年翻一番(后来更新为每 18-24 个月)。他预计这一趋势将持续至少十年。虽然有人认为,这与其说是一个「定律」,不如说是一个「行业趋势」,但它确实持续了大约 50 年,是历史上持续时间最长的人为趋势之一。

图片

晶体管缩放的电学特性。但除了摩尔定律,还有一条不那么有名但同样重要的定律。它被称为「登纳德缩放比例定律」,由罗伯特 · 登纳德在 1974 年提出。虽然摩尔定律预测晶体管将逐年缩小,但登纳德问道:「除了能够在单个芯片上安装更多晶体管之外,拥有更小的晶体管还有什么实际好处?」他的观察结果是,当晶体管以 k 为倍数缩小时,电流也会降低。此外,由于电子移动的距离更小,我们最终得到的晶体管快了 k 倍,最重要的是——它的功率下降到 1/k^2。因此,总的来说,我们可以多装 k^2 个晶体管,逻辑函数将快大约 k 倍,但芯片的功耗不会增加。 处置惩罚器发展第一阶段:频次时代(1970-2000 年代)

图片

微处置惩罚器频次速率的演变。早期,微处置惩罚器行业主要集中在 CPU 上,因为 CPU 是当时估计机系统的主力。微处置惩罚器厂商充分利用了缩放定律。具体来说,他们的目标是提高 CPU 的频次,因为更快的晶体管使处置惩罚器能够以更高的速率履行相同的估计(更高的频次 = 每秒更多的估计)。这是一种有些容易的看待事物的方式;处置惩罚器有很多架构创新,但最终,在早期,频次对性能有很大贡献,从英特尔 4004 的 0.5MHz、486 的 50MHz、奔腾的 500MHz 到奔腾 4 系列的 3–4GHz。

图片

功率密度的演变。大约在 2000 年,登纳德缩放比例定律开始崩溃。具体来说,随着频次的提升,电压停止以相同的速率下降,功率密度速率也是如此。如果这种趋势持续下去,芯片发热问题将不容忽视。然而,强大的散热方案还不成熟。因此,供应商无法继续依靠提高 CPU 频次来获得更高的性能,需求想想其他出路。处置惩罚器发展第二阶段:多核时代(2000 年代 – 2010 年代中期)停滞不前的 CPU 频次意味着提高单个运用的速度变得非常困难,因为单个运用是以连续指令流的形式编写的。但是,正如摩尔定律所说的那样,每过 18 个月,我们芯片中的晶体管就会变为原来的两倍。因此,这次的解决方案不是加快单个处置惩罚器的速度,而是将芯片分成多个相同的处置惩罚内核,每个内核履行其指令流。

图片

CPU 和 GPU 核数的演化。对于 CPU 来说,拥有多个内核是很自然的,因为它已经在并发履行多个独立的任务,比如你的互联网浏览器、文字处置惩罚器和声音播放器(更准确地说,操作系统在创建这种并发履行的抽象方面做得很好)。因此,一个运用可以在一个内核上运转,而另一个运用可以在另一个内核上运转。通过这种实践,多核芯片可以在给定的时间内履行更多的任务。然而,为了加快单个法式的速度,法式员需求将其并行化,这意味着将原始法式的指令流分解成多个指令「子流」或「线程」。容易地说,一组线程可以以任何顺序在多个内核上并发运转,没有任何一个线程会干扰另一个线程的履行。这种实践被称为「多线程编程」,是单个法式从多核履行中获得性能提升的最普遍方式。多核履行的一种常见形式是在 GPU 中。虽然 CPU 由少量快速和复杂的内核组成,但 GPU 依赖大量更容易的内核。通常来讲,GPU 侧重于图形运用,因为图形图像(例如视频中的图像)由数千个像素组成,可以通过一系列容易且预先确定的估计来独立处置惩罚。从概念上来说,每个像素可以被分配一个线程,并履行一个容易的「迷你法式」来估计其行为(如颜色和亮度级别)。高度的像素级并行使得开发数千个处置惩罚内核变得很自然。因此,在下一轮处置惩罚器进化中,CPU 和 GPU 供应商没有加快单个任务的速度,而是利用摩尔定律来增加内核数量,因为他们仍然能够在单个芯片上获得和使用更多的晶体管。

图片

不幸的是,到了 2010 年前后,事情变得更加复杂:登纳德缩放比例定律走到了尽头,因为晶体管的电压接近物理极限,无法继续缩小。虽然以前可以在保持相同功率预算的情况下增加晶体管数量,但晶体管数量翻倍意味着功耗也翻倍。登纳德缩放比例定律的消亡意味着当代芯片将遭遇「利用墙(utilization wall)」。此时,我们的芯片上有多少晶体管并不重要——只要有功耗限制(受芯片冷却能力的限制),我们就不能利用芯片中超过给定部分的晶体管。芯片的其余部分必须断电,这种现象也被称为「暗硅」。处置惩罚器发展第三阶段:减速器时代(2010 年代至今)暗硅本质上是「摩尔定律终结」的大预演——对处置惩罚器制造商来说,时代变得具有挑战性。一方面,估计需求飞速增长:智能手机变得无处不在,而且拥有强大的估计能力,云服务器需求处置惩罚越来越多的服务,「最糟糕的是」——人工智能重新登上历史舞台,并以惊人的速度吞噬估计资源。另一方面,在这个不幸的时代,暗硅成为晶体管芯片发展的障碍。因此,当我们比以往任何时候都更需求提高处置惩罚能力时,这件事却变得以往任何时候都更加困难。

图片

训练 SOTA AI 模型所需的估计量。自从新一代芯片被暗硅束缚以来,估计机行业就开始把精力放到了硬件减速器上。他们的想法是:如果不能再增加晶体管,那就好好利用现有的晶体管吧。具体怎么做呢?答案是:专门化。传统的 CPU 被设计成通用的。它们使用相同的硬件结构来运转我们所有运用(操作系统、文字处置惩罚器、估计器、互联网浏览器、电子邮件客户端、媒体播放器等)的代码。这些硬件结构需求支持大量的逻辑操作,并捕获许多可能的模式和法式诱发的行为。这相当于硬件可用性很好,但效率相当低。如果我们只专注于某些运用,我们就可以缩小问题领域,进而从芯片中去除大量的结构冗余。

图片

通用 CPU vs. 面向特定运用的减速器。减速器是专门面向特定运用或领域的芯片,也就是说,它们不会运转所有运用(例如不运转操作系统),而是在硬件设计层面就考虑一个很窄的范围,因为:1)它们的硬件结构仅满足特定任务的操作;2)硬件和软件之间的接口更容易。具体来说,由于减速器在给定的域内运转,减速器法式的代码应该更紧凑,因为它编码的数据更少。举个例子,假如你要开一家餐厅,但面积、用电预算是有限的。现在你要决定这个餐厅具体做哪些菜,是比萨、素食、汉堡、寿司全做(a)还是只做披萨(b)?如果选 a,你的餐厅确实能满足很多口味不同的顾客,但你的厨师就要做很多菜,而且不见得每种都擅长。此外,你可能还需求买多个冰箱来存储不同的食材,并密切关注哪些食材用完了,哪些变质了,不同的食材还有可能混在一起,管理成本大大提高。但如果选 b,你就可以雇佣一位顶级的披萨专家,准备少量的配料,再买一台定制的烤箱来做披萨。你的厨房会非常整洁、高效:一张桌子做面团,一张桌子放酱汁和奶酪,一张桌子放配料。但同时,这种做法也有风险:如果明天没有人想吃披萨怎么办?如果大家想吃的披萨用你定制的烤箱做不出来怎么办?你已经花了很多钱打造这个专门化的厨房,现在是进退两难:不改造厨房就可能面临关店,改造又要花一大笔钱,而且改完之后,客户的口味可能又变了。回到处置惩罚器世界:类比上面的例子,CPU 就相当于选项 a,面向特定领域的减速器就是选项 b,店面大小限制就相当于硅预算。你将如何设计你的芯片?显然,现实并没有那么两极分化,而是有一个类似光谱的过渡区域。在这个光谱中,人们或多或少地用通用性来换取效率。早期的硬件减速器是为一些特定领域设计的,如数字信号处置惩罚、网络处置惩罚,或者作为主 CPU 的辅助协处置惩罚器。从 CPU 到主要减速运用领域的第一个转变是 GPU。一个 CPU 有几个复杂的处置惩罚核心,每个核心都采用各种技巧,比如分支预测器和乱序履行引擎,以尽可能加快单线程作业的速度。GPU 的结构则有所不同。GPU 由许多容易的内核组成,这些内核具有容易的控制流并运转容易的法式。最初,GPU 用于图形运用,如估计机游戏,因为这些运用包含由数千或数百万像素组成的图像,每个像素都可以并行独立估计。一个 GPU 法式通常由一些核函数组成,称为「内核(kernel)」。每个内核都包含一系列容易的估计,并在不同的数据部分(如一个像素或包含几个像素的 patch)履行数千次。这些属性使得图形运用成为硬件减速的目标。它们行为容易,因此不需求分支预测器形式的复杂指令控制流;它们只需求少量操作,因此不需求复杂的算术单元(比如估计正弦函数或进行 64 位浮点除法的单元)。人们后来发现,这些属性不仅适用于图形运用,GPU 的适用性还可以扩展到其他领域,如线性代数或科学运用。如今,减速估计已经不仅仅局限于 GPU。从完全可编程但低效的 CPU 到高效但可编程性有限的 ASIC,减速估计的概念无处不在。

图片

深度神经网络的处置惩罚替代方案。来源:微软。如今,随着越来越多表现出「良好」特性的运用法式成为减速的目标,减速器越来越受关注:视频编解码器、数据库处置惩罚器、加密货币矿机、分子动力学,当然还有人工智能。是什么让 AI 成为减速目标?商业可行性设计芯片是一个费力、耗资的事情——你需求聘请行业专家、使用昂贵的工具进行芯片设计和验证、开发原型以及制造芯片。如果你想使用尖端的制程(例如现在的 5nm CMOS),耗资将达到数千万美元,不论成功或失败。幸运的是,对于人工智能来说,花钱不是问题。AI 的潜在收益是巨大的,AI 平台有望在不久的将来产生数万亿美元的收入。如果你的想法足够好,你应该能够很容易地为这项工作找到资金。AI 是一个「可减速」的运用领域AI 法式具有使其适用于硬件减速的所有属性。首先最重要的是,它们是大规模并行的:大部分估计都花在张量运算上,如卷积或自注意力算子。如果可能,还可以增加 batch size,以便硬件一次处置惩罚多个样本,提高硬件利用率并进一步推动并行性。硬件处置惩罚器驱动其快速运转能力的主要因素是并行估计。其次,AI 估计仅限于少数运算种类:主要是线性代数核的乘法和加法、一些非线性算子,例如模拟突触激活的 ReLU,以及基于 softmax 的分类的指数运算。狭窄的问题空间使我们能够简化估计硬件,专注于某些运算符。最后,由于 AI 法式可以表示为估计图,因此我们可以在编译时知道控制流,就像具有已知迭代次数的 for 循环一样,通信和数据重用模式也相当受限,因此可以表征我们需求哪些网络拓扑在不同估计单元和软件定义的暂存存储器之间通信数据,以控制数据的存储和编排方式。AI 算法是以硬件友好的方式构建的不久之前,如果你想在估计架构领域进行创新,你可能会说:「我有一个新的架构改进的想法,它可以显著地提高一些东西,但是——我需求做的就是稍微改变编程界面并让法式员使用这个功能。」在那个时候这种想法会行不通。法式员的 API 是不可触及的,而且用破坏法式「干净」语义流的低级细节来加重法式员的负担是很难的。此外,将底层架构细节与面向法式员的代码混合在一起并不是一个好习惯。首先它是不可移植的,因为某些架构特征在芯片代际之间发生变化。其次它可能会被错误地编程,因为大多数法式员对底层硬件没有深入的了解。虽然你可以说 GPU 和多核 CPU 已经因为多线程(有时甚至是——内存墙)偏离了传统的编程模型,但由于单线程性能早已不是指数级增长,我们只能将希望诉诸于多线程编程,因为这是我们唯一的选择。多线程编程仍然很难掌握,需求大量的教育。幸运的是,当人们编写 AI 法式时,他们会使用神经层和其他定义明确的块来构建估计图。高级法式代码(例如 TensorFlow 或 PyTorch 中的代码)已经在以一种可以标记并行块并构建数据流图的方式编写。因此理论上,你可以构建丰富的软件库和足够精细的编译器工具链来理解法式的语义并将其有效地降为硬件表示,而无需开发运用法式的法式员做任何参与,让数据科学家做他们的事情,他们可以不在乎任务在哪些硬件上运转。在实践中,编译器完全成熟还需求时间。几乎没有其他选择人工智能无处不在,大型数据中心、智能手机、传感器,机器人和自动驾驶汽车中都有它的身影。每个系统都有不同的现实限制:人们肯定不愿意自动驾驶汽车因为算力太小而无法检测障碍物,也不能接受因为效率低而在训练超大规模预训练模型时每天多花数千美元,AI 的硬件不存在一个芯片适用所有场景的说法,估计需求巨大,每一点效率都意味着花费大量的时间、精力和成本。如果没有适当的减速硬件来满足你的 AI 需求,对 AI 进行实验和发现的能力将受到限制。原文链接:https://medium.com/@adi.fu7/ai-accelerators-part-ii-transistors-and-pizza-or-why-do-we-need-accelerators-75738642fdaa

原创文章,作者:机器之心,如若转载,请注明出处:https://www.iaiol.com/news/33810

(0)
上一篇 2022年2月10日 下午3:12
下一篇 2022年2月10日 下午3:23

相关推荐

  • 对标ChatGPT,Stack Overflow推出了自己的天生式AI工具

    该来的还是要来,全球最大的的程序员问答网站 Stack Overflow 在 AI 领域也终于有了动作。

    2023年7月28日
  • ChatGPT一路狂飙,我们的保险平安带在哪儿?

    自去年 11 月 30 日发布以来,OpenAI 的 ChatGPT 已经在短短的三个月内席卷了各个社会规模:普通人用它当搜索引擎;办公室文员用它来写文案、做会议纪要,程序员用它来写代码。

    2023年3月7日
  • 中央气象台:鉴于 AI 的台风监测和预告体系初步建成

    中央气象台今日宣布,已初步建立鉴于人工智能的台风监测和预告体系。该体系可为提升我国台风监测预告营业智能化及拓展全世界多海疆寒带气旋营业提供重要技巧支持。中央气象台台风与陆地气象预告主题副主任钱奇峰表示,“中央气象台与各科研院所、高校等联合,开展了一系列人工智能在台风监测预告中的探索。并发展出了台风涡旋辨别、台风智能定强、台风疾速增强鉴别等技巧,可在处理非线性、海量数据上发挥优势,帮助预告员在预告准确率上做加法。”

    2023年6月6日
  • Top50 榜单中90% 天生AI公司已盈利,大模型「套壳」产物不被看好

    机器之能报道编辑:Sia消费类领域,大模型「套壳」创业没有竞争力。领先的产物几乎都是围绕天生 AI「从头开始」构建。距离 ChatGPT 发布已经过去 9 个月, 距离它成为最快月活跃用户达 1 亿的

    2023年9月22日

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注