模拟人工智能的飞焦承诺

要按数量级降低功率,请使用模拟电路进行处理

12分钟读取
一个由蓝、白、黑、黄三种颜色的字符和字母组成的列表。

机器学习和人工智能(AI)已经深入到我们的yabo2016网上亚博A生活和工作中,你可能已经忘记了过去与机器的交互是什么样的。对于通过数字键盘、电子表格或编程语言传达的问题,我们过去只要求精确的定量答案:“10的平方根是多少?”"在这个利率下,我未来五年的收益是多少"

但在过去的10年里,我们已经习惯了机器可以回答那些定性的、模糊的问题,我们只会问其他人:“我会喜欢这部电影吗?”“今天交通怎么样?”“那笔交易是欺诈吗?”


深度神经网络(dnn)是一种系统,当它们被训练为非常相似的查询的正确答案时,就会学习如何回应新的查询,从而实现了这些新功能。dnn是人工智能硬件、软件和服务快速增长的全球市场背后的主要驱动力根据国际数据公司的数据,今年将达到3275亿美元,预计到2024年将超过5000亿美元

卷积神经网络首先通过提供超人的图像识别能力推动了这场革命。在过去十年中,用于自然语言处理、语音识别、强化学习和推荐系统的新型DNN模型已经实现了许多其他商业应用。

但增长的不仅仅是应用程序的数量。网络的规模和他们需要的数据也在增长。dnn本质上是可扩展的——当它们变得更大,当你用更多的数据训练它们时,它们会提供更可靠的答案。但这样做是有代价的。训练最佳DNN模型所需的计算操作数量增长了10亿倍虽然每次在新数据上使用已经训练好的DNN模型(称为推理)所需的计算量要比训练本身少得多,因此能量也更少,但这种推理计算的绝对量是巨大的,而且还在增加。如果要继续改变人们的生活,人工智能就必须变得更有效率。

我们认为从数字计算到模拟计算可能是需要的。使用非易失性存储设备和电气工程的两个基本物理定律,简单的电路可以实现深度学习最基本的计算版本,只需万亿分之一焦耳(飞焦)。在这项技术应用于复杂的人工智能之前,还有大量的工程工作要做,但我们已经取得了很大的进步,并规划了前进的道路。

人工智能的基本功能

列的三个黄色点连接到一个蓝色点与一个箭头指向输出。

人工神经网络中最基本的计算叫做乘法和累加。人工神经元(左边,黄色)的输出与连接到下一个神经元(中间,浅蓝色)的权重值相乘。该神经元将其输入相加并应用输出函数。在模拟AI中,乘法函数由欧姆定律执行,其中神经元的输出电压乘以代表权重值的电导。神经元上的求和是由基尔霍夫电流定律完成的,它只是将进入单个节点的所有电流相加

在大多数计算机中,当大量数据必须在外部内存和计算资源(如cpu和gpu)之间移动时,会产生最大的时间和能源成本。这就是"冯·诺依曼瓶颈"得名于经典计算机架构这分离了内存和逻辑。大大降低深度学习所需功耗的一种方法是避免将数据移动到数据存储的地方进行计算。

dnn由多层人工神经元组成。每一层神经元根据一对值驱动下一层神经元的输出——神经元的“激活”和与下一层神经元连接的突触“权重”。

大多数DNN计算由所谓的矢量矩阵乘法(VMM)操作组成,其中一个矢量(一维数字数组)与一个二维数组相乘。在电路级别上,它们由许多乘法-累加(MAC)操作组成。对于每个下游神经元,所有上游激活必须乘以相应的权重,然后将这些贡献相加。

大多数有用的神经网络都太大了,无法存储在处理器的内部内存中,因此在计算网络的每一层时,必须从外部内存中引入权重,每次计算都受到可怕的冯·诺依曼瓶颈的影响。这导致数字计算硬件倾向于从内存中移动较少权重的dnn,然后积极地重用这些权重。

一种全新的节能DNN硬件的方法在IBM的研究回到2014年。我们和其他调查人员一起调查的非易失性存储器(NVM)设备的交叉阵列.交叉条阵列是将设备(例如存储单元)构建在两组垂直的水平导体(即所谓的位行和字行)之间的垂直空间中的构造。我们意识到,经过一些小的调整,我们的记忆系统将是DNN计算的理想选择,特别是那些现有的权重重用技巧效果不佳的计算。我们把这个机会称为“模拟人工智能,尽管其他从事类似工作的研究人员也使用“内存处理”或“内存计算”等术语。

NVM有几种不同的类型,每种类型存储的数据都不同。但是,通过测量设备的电阻(或等效地,它的逆电导),可以从所有这些器件中获取数据。磁阻存储器(MRAM)使用电子自旋,而闪存使用捕获电荷。电阻式存储器(RRAM)器件通过在微小的金属-绝缘体-金属器件中创建并稍后破坏导电丝状缺陷来存储数据。相变存储器(PCM)利用热在高导电性晶体相和低导电性非晶相之间诱导快速和可逆的转变。

闪存、RRAM和PCM提供了传统数字数据存储所需的低电阻和高电阻状态,以及模拟AI所需的中间电阻。但在高性能逻辑中,只有RRAM和PCM可以轻易地放置在硅晶体管之上的布线中的交叉阵列中,以最小化内存和逻辑之间的距离。

我们将这些NVM内存单元组织在一个二维数组或“tile”中。瓦片上包括晶体管或其他控制NVM设备读写的设备。对于内存应用程序,一个读电压定位到一行(字线)产生的电流与NVM的电阻成比例,可以在数组边缘的列(位线)上检测到,检索存储的数据。

为了使这样的磁砖成为DNN的一部分,每一行都在一段时间内由电压驱动,该电压编码上游神经元的激活值。沿着这一行的每一个NVM器件用其电导编码一个突触权重。由此产生的读取电流通过欧姆定律(在这种情况下表示为“电流等于电压乘以电导”)有效地执行激励和重量的乘法。然后根据基尔霍夫电流定律,每个位线上的单独电流相加。由这些电流产生的电荷随着时间的推移在电容器上集成,产生MAC操作的结果。

这些相同的模拟存储器中的求和技术也可以使用闪存甚至SRAM单元来执行,这些单元可以用来存储多个比特,但不能存储模拟电导。但是乘法步骤不能用欧姆定律。相反,我们使用一种能够容纳这些存储设备的1位或2位动态范围的技术。然而,这种技术对噪声高度敏感,所以我们IBM坚持使用基于PCM和RRAM的模拟AI。

与电导不同,DNN的权重和激活可以是正的或负的。为了实现有符号权值,我们使用一对电流路径——一个给电容器加电荷,另一个减去电荷。为了实现有符号激励,我们允许每一行设备根据需要交换它连接的路径。

模拟人工智能的非易失性存储器

层的彩色线与红点在第二行是蓝色的。

相变存储器铝的电导是由硫系玻璃中晶体态和非晶态之间的转变决定的。在电阻存储器中,电导取决于绝缘体中导电细丝的产生和破坏。

三排颜色,中间的棕褐色层有标记为\u201cVacancy.\u201d的白点

电阻随机存取存储器,电导取决于绝缘体中导电细丝的产生和破坏。

带红点的颜色行。

闪存将数据存储为“浮动门”中的电荷。电荷的存在或不存在会改变整个设备的电导。

一排排带有加减图标的颜色,标签上写着“\u201cElectrochemical RAM\u201d”

电化学RAM就像一个微型电池。栅极上的电压脉冲通过固体电解质交换离子来调节其他两个终端之间的电导。

当每一列执行一个MAC操作时,tile会并行地执行整个向量矩阵乘法。对于一个1024 × 1024权重的瓦片,这意味着一次有100万个mac。

在我们设计的系统中,我们希望所有这些计算都能在32纳秒内完成。因为每个MAC执行的计算相当于两个数字操作(一个乘一个加),所以每32纳秒执行这100万个模拟MAC意味着每秒65万亿次操作。

我们建造了瓦片每次操作只需36飞焦的能量,相当于每焦耳28万亿次操作。我们最新的瓷砖设计将这一数字降低到10 fJ以下,使其效率是市售硬件的100倍,比系统级的能源效率高10倍最新定制的数字加速器即使是那些为了能源效率而大幅牺牲精度的公司。

对我们来说,提高每个瓦的能源效率非常重要,因为一个完整的系统也会在其他任务上消耗能量,比如移动激活值和支持数字电路。

这种模拟人工智能方法要真正起飞,还需要克服许多重大挑战。首先,深度神经网络,顾名思义,有多层。为了级联多层,我们必须通过人工神经元的激活(一个非线性函数)来处理VMM瓦的输出,并将其传递到下一个瓦。非线性可以通过模拟电路实现,结果可以以下一层所需的持续时间形式进行通信,但大多数网络需要的不仅仅是简单的vmm级联。这意味着我们需要高效的模数转换(ADC)和适度的并行数字计算。新颖、高效的adc可以帮助防止这些电路过多地影响整体效率。最近,我们推出了一款高性能pcm瓷砖使用一种新型ADC,帮助瓷砖实现每瓦超过10万亿次运算。

第二个挑战与NVM设备的行为有关,更麻烦。数字dnn已被证明是准确的,即使它们的权重是用相当低精度的数字描述的。cpu经常使用的32位浮点数对于dnn来说是多余的通常工作得很好,而且精力更少当使用8位浮点值甚至4位整数时。这为模拟计算提供了希望,只要我们能保持类似的精度。

考虑到电导精度的重要性,将电导值写入NVM器件在模拟神经网络中表示权重需要慢慢地仔细地做。与传统存储器(如SRAM和DRAM)相比,PCM和RRAM的编程速度已经较慢,并且在较少的编程周期后就会磨损。幸运的是,对于推断,权重不需要频繁地重新编程。因此,模拟AI可以使用耗时的写验证技术来提高RRAM和PCM设备的编程精度,而不用担心设备磨损。

这种增强是非常必要的,因为非易失性存储器具有固有的编程噪声水平。RRAM的电导率仅依赖于几个原子的运动来形成细丝。PCM的电导率取决于多晶材料中颗粒的随机形成。在这两种情况下,这种随机性为写入、验证和读取值带来了挑战。此外,在大多数NVMs中,电导随着温度和时间的变化而变化,因为PCM器件中的非晶相结构漂移,或RRAM中的灯丝松弛,或闪存单元中的捕获电荷泄漏。

有一些方法可以巧妙地解决这个问题。使用两个电导对可以显著改善权重规划。在这里,一对存储大部分信号,而另一对用于纠正主对上的编程错误。噪音降低了,因为它在更多的设备上得到了平均。

我们最近在一个基于多层pcm的芯片,每个重量使用一个和两个电导对。有了它,我们在几个dnn上展示了出色的准确性,甚至在循环神经网络上,这是一种通常对权重编程错误敏感的类型。

向量矩阵乘法与模拟AI

由蓝色线连接的彩色点列。

向量矩阵乘法(VMM)是神经网络计算的核心[top];它是乘法和累加过程的集合。在这里,人工神经元(黄色)的激活量乘以它们与下一层神经元(绿色)连接的权重(浅蓝色)。

一排排白色方块,外面有黄色、蓝色和绿色的圆点。

对于模拟AI, VMM是在交叉阵列瓦[中心]上执行的。在每个交叉点上,一个非易失性存储单元将重量编码为电导。神经元的激活被编码为电压脉冲的持续时间。欧姆定律规定,沿每个横杆柱的电流等于这个电压乘以电导。瓦片底部的电容器(未显示)汇总了这些电流。神经网络的多层是通过将一个瓦的输出转换为所需的电压持续时间脉冲作为下一个瓦的输入来表示的。

不同的技术可以帮助改善读取噪声和漂移效应。但是由于漂移是可预测的,也许最简单的方法是在读取过程中放大信号,使用与时间相关的增益,可以抵消大部分误差。另一种方法是使用与训练dnn进行低精度数字推理相同的技术。这些调整神经网络模型以匹配底层硬件的噪声限制。

正如我们提到的,网络正变得越来越大。在数字系统中,如果网络不适合你的加速器,你就从外部存储芯片中引入DNN每层的权重。但是NVM的写作限制使得这是一个糟糕的决定。相反,多个模拟AI芯片应该组合在一起,每个芯片将部分网络的中间结果从一个芯片传递到下一个芯片。这种方案会导致一些额外的通信延迟和能量,但它比移动权重本身造成的损失要小得多。

直到现在,我们只讨论了推理——一个已经训练好的神经网络对新数据进行操作。但模拟人工智能也有机会帮助训练dnn。

dnn使用反向传播算法进行训练。这将通常的正向推理操作与另外两个重要步骤(错误反向传播和权重更新)结合在一起。错误反向传播就像反向运行推理,从网络的最后一层移动到第一层;然后,权重更新将来自原始正向推理运行的信息与这些反向传播错误结合起来,以使模型更准确的方式调整网络权重。

Tiki-Taka解决方案

模拟AI可以降低训练神经网络的功耗,但由于所涉及的非易失性存储器的一些固有特性,存在一些并发症。非易失性存储器,如相变存储器和电阻存储器,天生就有噪声。更重要的是,他们的行为是不对称的。也就是说,在它们的电导曲线上的大多数点,相同的电压值将根据电压的极性产生不同的电导变化。

我们提出的一个解决方案,Tiki-Taka算法,是对反向传播训练的修改。重要的是,它对NVM电导中的噪声和不对称行为具有更强的鲁棒性。该算法依赖于构造为双向传导的RRAM设备。每一个都被初始化为它们的对称点-在电导曲线上,电导在给定电压下的增加和减少是完全平衡的。在Tiki-Taka中,对称点平衡的NVM设备参与权重更新以训练网络。周期性地,它们的电导值被编程到第二组设备上,并且训练设备返回到它们的自然对称点。这使得神经网络能够训练到很高的精度,即使在存在噪声和不对称的情况下,也会完全破坏传统的反向传播算法。

反向传播步骤可以在瓦片上进行,但以相反的方式进行推断——在列上施加电压,并沿行积分电流。然后,通过使用前向推断的原始激活数据驱动行来执行权重更新,同时使用反向传播期间产生的错误信号驱动列。

训练包括许多小的体重增加和减少,必须适当地抵消。这很困难,原因有二。首先,回想一下NVM设备由于编程过多而磨损。其次,相同的电压脉冲与相反的极性施加到NVM可能不会改变电池的电导相同的量;它的反应是不对称的。但是对称行为对于反向传播产生精确的网络是至关重要的。这只会变得更具挑战性,因为训练所需的电导变化的幅度接近NVMs中材料固有的随机性水平。

这里有几种方法可以提供帮助。例如,有多种方法可以在多个训练示例中聚合权重更新,然后在训练期间定期将这些更新转移到NVM设备上。我们在IBM开发的一种名为Tiki-Taka的新算法,使用这种技术即使在高度不对称的RRAM设备上也能成功地训练dnn。最后,我们正在开发一种称为电化学随机存取存储器(ECRAM)的设备,它不仅可以提供对称的,而且可以提供高度线性和渐进的电导更新。

的成功模拟人工智能将取决于同时实现高密度、高吞吐量、低延迟和高能效。密度取决于nvm能与芯片晶体管上方的线路紧密结合的程度。瓷砖级别的能源效率将受到用于模数转换的电路的限制。

但是,即使这些因素不断改善,越来越多的瓷砖被连接在一起,阿姆达尔定律——一个关于并行计算极限的论点——将对优化系统能源效率提出新的挑战。以前不重要的方面,如数据通信和瓦片之间所需的剩余数字计算,将产生越来越多的能源预算,导致瓦片本身的峰值能源效率与整个模拟ai系统的持续能源效率之间的差距。当然,这是每个人工智能加速器(模拟或数字)最终都会遇到的问题。

未来的道路必然不同于数字人工智能加速器。数字方法可能会降低精度,直到精确度摇摇欲坠。但是模拟AI必须首先提高内部模拟模块的信噪比(SNR),直到它足够高,足以证明与数字系统相当的精度。随后的任何信噪比改进都可以用于提高密度和能源效率。

这些都是令人兴奋的问题,需要材料科学家、设备专家、电路设计师、系统架构师和DNN专家共同努力才能解决。对提高能源效率的人工智能加速有强烈和持续的需求,而且缺乏其他有吸引力的替代方案来满足这一需求。考虑到各种各样的潜在存储设备和实现路径,某种程度的模拟计算很可能会进入未来的AI加速器。

本文发表在2021年12月的印刷版上,题为“欧姆定律+基尔霍夫电流定律=更好的人工智能”。

{“imageShortcodeIds”:[]}
对话(2)
Regina这一句 2021年11月30日
INDV

密度+吞吐量+延迟

伊恩·黄 2021年11月23日
INDV

PCM是我所知道的最耗能的存储器形式,因为改变硫族相所需的焦耳加热需要很高的能量。在使用PCM时,模拟AI在功耗方面理论上是否仍然击败数字AI ?我认为这种情况只会发生在写入内存非常少的情况下。

3种方法帮助NASA的全电动飞机起飞

N3-X计划于2040年推出,最多可搭载300名乘客

3分钟读取
一架飞机在云层中飞行的插图

美国宇航局提出的全电动N3-X飞机载客量将是目前电动飞机的10倍。

美国国家航空航天局

这篇文章是我们独家报道的一部分IEEE期刊手表系列与IEEE Xplore合作。

全电动飞机的竞争正在进行中,一些早期设计正在成为头条新闻。在过去的九月,一个原型Eviation爱丽丝完成了8分钟的首飞,以及更多的型号等Heart Aerospace的ES-30,预计将在未来几年内首次亮相。然而,到目前为止,所有这些型号的设计都只能搭载30名或更少的乘客,而且飞行距离很短。

例如,Eviation Alice只能让两名机组人员和九名乘客在200米的距离上飞行463公里ES-30的全电动型号虽然设计最多可搭载30名乘客,但其航程仅为200公里。为了真正降低温室气体排放,缓解气候变化的影响,需要更大的全电动飞机。值得注意的是,大型飞机的温室气体排放占航空业温室气体排放的75%以上,考虑到历史上航空旅行每年增长4%至5%,这些排放可能会随着时间的推移而恶化。

继续阅读↓ 显示更少

利用数据科学和人工智能打击野生动物贩运

纽约大学坦顿分校的朱莉安娜·弗莱雷(Juliana Freire)领导着一个团队,旨在利用数据科学打击贩卖人口和珍稀动物的犯罪分子

5分钟读取
一只五颜六色的鹦鹉被关进了监狱

野生动物走私有了一个意想不到的新敌人:计算机科学、数据科学和机器学习。

在上面

这篇文章是由纽约大学坦顿工程学院

野生动物走私是一个利润丰厚的市场。虽然很难确切地说出它带来了多少钱,但美国政府估计每年有数十亿美元。动物及其器官的交易就像枪支或毒品一样——通过复杂的供应商、经销商和买家网络进行交易,这些人在他们身后留下了一条血腥的道路。破坏是不言自明的;物种灭绝,环境恶化,无辜的人受害。

继续阅读↓ 显示更少
{“imageShortcodeIds”:[]}
Baidu