中文 英语

隐藏的成本更快,低功耗AI系统

AI / ML设计的权衡可以影响老化到可靠性的一切,但并非总是可预测的方式。

受欢迎程度

芯片制造商正在为智能设备构建性能和能源效率更高的数量级产品,但为了实现这些目标,他们也在进行权衡,这将产生深远、持久的影响,在某些情况下还会产生未知的影响。

这些活动在很大程度上都是将智能推到边缘的直接结果,在那里需要智能处理、分类和管理来自传感器的大量数据,这些数据正在被集成到几乎所有的电子设备中。世界上有数百亿台联网设备,其中很多都有多个传感器实时收集数据。将所有数据传送到云上再传送回来是不切实际的。没有足够的带宽。即使有,它也需要太多的能量和成本。

因此,芯片制造商将目光投向了提高效率和性能的前沿领域,利用多种已知的和新的方法来加快和减少电力消耗人工智能/毫克/戴斯。莱纳姆:系统。其中包括:

  • 降低准确性。AI芯片中的计算产生数学分布而不是固定数字。宽松的分布,结果较低,结果较低的能量较少。
  • 更好的数据。减少需要处理的数据量可以显著提高性能和能源效率。这需要能够缩小源收集的内容,或者快速筛选数据以确定哪些是有价值的,有时需要使用多个处理阶段来细化数据。
  • 数据驱动架构。与传统处理器设计不同,人工智能系统既依赖于处理元素和存储器之间更快的数据流,也依赖于数据需要传输的距离更短。
  • 定制解决方案。算法可以制成稀疏和量化,加速器可以针对特定算法进行调整,在相同或更少的功率下,可以提供100X或更多的性能改进。

这些方法都是有效的,但都有相关的成本。在某些情况下,这种成本甚至还没有被完全理解,因为科技行业刚刚开始拥抱人工智能,以及在哪里和如何使用它。不过,这并没有阻止公司在所有地方添加人工智能。围绕着将某种形式的人工智能植入汽车、消费电子产品、医疗设备等边缘设备,以及针对从“近”到“远”边缘的尚未命名的内部和外部服务器,人们掀起了一股热潮。

精度
对于AI系统,准确性大致相当于工具中的抽象级别。例如,具有高级别的合成,整个系统可以在比寄存器传输水平迅速更高的水平更高的更高水平设计和修改。但这只是芯片实际上看起来的粗略轮廓。

不同之处在于,在AI系统中,对于某些目的,可以足够的抽象水平,例如检测安全系统中的移动。通常,它与提供更高精度的系统耦合,但是以较低的速度或更高功率的成本为代价。

然而,这并不是一个固定的公式,结果也并不总是您所期望的那样。来自圣地亚哥加利福尼亚大学的研究人员发现通过在搜索新材料时混合高精度和低准确度的结果,他们实际上提高了准确率,即使是准确率最高的系统也提高了30%到40%。

加州大学圣地亚哥分校纳米工程教授Shyue Ping Ong表示:“有时,获取大量数据的方法非常便宜,但并不非常精确,而获取非常精确的数据的方法则非常昂贵。”“您可以将这两个数据源结合起来。你可以使用非常大的数据集——它不是非常精确,但它证明了机器学习模型的底层架构——来处理较小的数据,做出更准确的预测。在我们的例子中,我们没有按顺序做。我们将这两种数据流结合起来。”

Ong指出,这不仅仅局限于两个数据流。它可以包括5种或更多不同类型的数据。理论上是没有限制的,但是流的越多越好。

挑战是理解和量化不同的准确度水平,并了解如何在不同级别的准确度下使用数据的系统。因此,虽然它适用于材料工程,但它可能无法在医疗设备或汽车中工作,其中两个不同的准确度水平可能会产生错误的结果。

“这是一个有待解决的问题,”Rob Aitken说手臂的家伙。“如果你有一个具有给定精度的系统,而另一个系统具有不同的精度,它们的总体精度取决于这两种方法之间的独立性,以及你使用什么机制来结合这两种方法。这在图像识别中是很容易理解的,但在拥有雷达数据和相机数据的汽车应用中就比较困难了。它们相互独立,但它们的准确性依赖于外部因素。所以,如果雷达显示这是一只猫,而摄像机显示那里什么都没有,如果天黑,那么你就会假设雷达是正确的。但如果下雨了,那也许摄像机是对的。”

这可以用冗余相机和计算来解决,但是需要更多的处理能力和更多的重量,这反过来减少了电气化的距离可以在单一充电上行进的距离并增加车辆的总成本。“所以现在你必须决定赔偿是否值得,或者大部分时间申请拇指规则更好,因为这是为了你的目的,”Aitken说。

这只是被认为的许多方法之一。“有许多正在研究的旋钮,包括低精度推断(二进制,三元)和稀疏性,以显着减少计算和内存足迹,”AI和软件的产品营销总监Nick Ni说赛灵思公司。“通过实现基于稀疏向量引擎的DSA,我们已经演示了使用稀疏模型运行fpga超过10倍的加速。但一些稀疏模型在cpu、gpu和AI芯片上运行非常糟糕——它们通常会变慢,因为它们中的许多都是为运行传统的‘密集’AI模型而设计的。”

更好的数据,但不一定更多
另一种方法是提高首先处理正在处理的数据的质量。这通常是用更大的数据集完成的。一般规则是,更多的数据更好,但是越来越高的识别并不一定是真的。仅通过收集正确的数据,或通过智能地消除无用的数据,可以大大提高一个或多个系统中的效率和性能。这是一种非常不同的方式看稀疏性,它需要在源或多个阶段使用智能。

“到目前为止,提高电力效率的最好方法不是计算,”吴宇森说,Rambus杰出的发明家。“如果你能排除你不需要的信息,肯定会有很大的好处。人们谈论这个的另一种方式——在这个领域有很多工作正在进行——是稀疏性。所以一旦你有了训练有素的神经网络模型,思考这个问题的方法是神经网络是由节点,神经元和它们之间的连接组成的。这是一种乘法累加的数学运算。你在和所谓的重量相乘。它只是一个与两个神经元之间的连接有关的数字。如果这个连接的权值非常非常小或者接近于零,你可以将它四舍五入为零,在这种情况下乘以一个权值为零就等于不做功。因此,人们首先通过训练一个网络来引入稀疏性,然后他们观察权重值,然后说,'如果它们足够接近于零,我可能就可以说它是零。’这是将工作赶出系统的另一种方式。”

这里的挑战是理解什么被遗忘了。对于涉及关键任务或关键安全应用程序的复杂系统,做出这些假设可能会导致严重的问题。在另一些情况下,它可能会被忽视。但在多个系统相互作用的情况下,影响是未知的。随着时间的推移,由于预期寿命的不同,多个系统被合并,未知的数量也在增加。

体系结构
最大的旋钮转向AI系统中的性能和电源是设计硬件,以充分利用尽可能少量浪费的循环算法。在软件方面,这涉及能够将任何可能的类型组合成单个乘法累积功能。问题是,每个的工具和指标都非常不同,并且了解跨学科的理解和效果是从未完全解决的挑战。

“软件是所有这些中的重要组成部分,您可以在软件中做些什么对您在硬件中所做的事情产生了很大影响,”AI和中央工程副总裁Arun Venkatachar说synopsys.。“很多次你不需要这么多节点。利用软件区域可以帮助获得性能和实现这一目标所需的分区。这需要成为架构的一部分和您在权力的权衡。“

像大多数大型系统公司一样,IBM一直在为地上设计定制系统。“目标是将算法转换为架构和电路,”IBM Research杂交云副总裁Mukesh Khare表示。“我们一直以深入的学习工作量集中在一起。对我们来说,深度学习是AI工作量最关键的部分,这需要了解数学以及如何基于该架构开发架构。我们一直在开发在硬件和软件中开发构建块,以便开发人员编写代码不必担心硬件。我们开发了一套常见的构建块和工具。“

卡雷表示,该公司的目标是通过专注于芯片架构、异构集成和封装技术,在10年内将计算效率提高1000倍。在这些技术中,内存越来越接近人工智能加速器。该公司还计划使用3nm技术部署模拟人工智能,重量和一个小型MAC存储在内存本身。

在过去十年的大部分时间里,设计界一直在讨论这些问题,IBM并不是唯一这样做的公司。但新技术的推出并不总是按计划进行。有几十家初创公司正在研发专门的人工智能加速器芯片,其中一些由于算法的持续变化而被推迟。这使得可编程加速器成为焦点,它在本质上比优化的ASIC要慢。但速度上的损失需要与某些设备寿命的延长以及加速器性能的持续下降进行权衡,因为在这段时间内,加速器无法适应算法的变化。

Xilinx的Ni表示:“大多数现代先进AI模型仍是为大规模数据中心部署而设计的,在保持实时性能的同时,适应功率/热受限的边缘设备是一项挑战。”“此外,模型研究还远未完成,还在不断创新。正因为如此,硬件对最新模型的适应性对于实现基于人工智能的节能产品至关重要。虽然CPU、GPU和AI芯片本质上都是固定的硬件,你需要依靠软件优化,fpga允许你用新的领域特定架构(DSA)完全重新配置硬件,这是专为最新型号设计的。事实上,我们发现定期更新DSA(最好每季度更新一次)非常重要,以保持最佳性能和能源效率。”

其他人也同意。“可重新配置的硬件平台允许所需的灵活性和定制升级和差异化,而不需要重建,”首席执行官Raik Brinkmann说OneSpin解决方案。异构计算环境包括软件可编程引擎、加速器和可编程逻辑,对于实现平台可重构性以及满足低延迟、低功耗、高性能和容量需求至关重要。这些复杂的系统开发成本很高,因此任何能够延长硬件寿命、同时保持定制化的技术都将是必不可少的。”

定制和共性
不过,这在很大程度上取决于特定的应用和目标市场,尤其是与电池相连的设备。

“这取决于你在什么边缘,”Frank Schirrmeister说,解决方案营销高级集团总监节奏。“有些东西你不希望每时每刻都改变,但虚拟优化是真实存在的。人们可以在他们需要的规模下进行工作负载优化,这可能是数据中心的超大规模计算,他们将需要调整这些系统以适应他们的工作负载。”

这种定制可能涉及多个芯片,要么在同一个封装中,要么使用某种高速互连方案连接。Schirrmeister说:“所以你实际上是在一个非常复杂的水平上提供芯片组,而不是仅仅在芯片水平上做设计。”“你现在要通过组装的方式进行设计,它使用3D-IC技术根据性能进行组装。这是在高度复杂的水平上发生的。”


图1:特定领域的AI系统。来源:节奏

许多这样的设备也将可重构性作为设计的一部分,因为它们的制造和定制成本很高,而且变化如此之快,以至于当包含这些芯片的系统被推向市场时,它们可能已经过时了。就某些消费品而言,上市时间可能长达两年。对于汽车或医疗设备,这可能长达5年。在开发周期的过程中,算法可能会改变几十次。

挑战是为了平衡定制,这可以增加相同或更少的功率的性能的数量级,以防止这些快速变化。该解决方案似乎是架构中可编程性和灵活性的组合。

“如果您查看用于医学成像的东西的企业优势,您需要高吞吐量,高精度和低功耗,”Flex Logix.。“首先,你需要一个比GPU更好的架构。你需要更细的粒度。我们不用一个大的矩阵乘子,我们使用一维的模张量处理器,所以你可以用不同的方式组合它们来做不同的卷积和矩阵应用。这需要一个可编程的互连。最后一件事是,我们的计算非常接近内存,以最小化延迟和功率。”

内存访问也在此处播放一个关键角色。“所有计算都发生在静态存储器,我们使用德拉姆重量。对于YOLOV3,有6200万INT8的重量。您需要从芯片上获取那些权重,以便DRAM永远不会在性能路径中。他们加载到芯片上的SRAM。当他们全部加载时,当上一个计算完成时,我们切换到使用进出的新权重转换为计算。我们在背景中携带它们,同时我们正在做其他计算。“

有时重复使用那些权重,并且每层具有不同的重量。但是这背后的主要想法是,并非一切都是所有的时间,而不是一切都必须存储在同一个模具上。

手臂一直从不同的角度看待效率,以共性作为起点。艾特肯说:“有些神经网络具有类似的结构。“所以即使有一百万个应用程序,你也只有几个不同的结构。随着时间的推移,它们可能会分化得更多,我们希望未来会出现合理数量的神经网络结构。但随着时间的推移,你会看到更多这样的东西,你也可以预测它们的演变。”

其中一个领域就是数据的移动。首先,它可以移动的越少,移动的距离越短,结果就越快,所需的能量也就越少。

Rambus ' Woo说:“如今,数据移动确实占了电力预算的很大一部分。“垂直堆叠可以缓解这种情况。不过,它也并非没有自己的挑战。所以有管理热阻的问题,有制造性的问题,还有试图将来自不同制造商的硅片合并在一起的问题。这些都是必须解决的问题,但如果能够解决,就会带来好处。”


图2:记忆选择如何影响功率。资料来源:兰姆斯

也有其他影响,也是如此。使用电路越多,热量的热量,越难以去除,以及更快的电路时代。最小化处理量可以延长整个系统的寿命。

“如果我们可以派小片的一样,因为我们不需要电力驱动数据在更远的距离,并帮助长期可靠性,因为你看不到大梯度的温度波动和你看不到高功率或高电压相关的设备,”吴表示。“但另一方面,这些设备彼此靠得很近,内存并不是很热。另一方面,处理器通常喜欢消耗能量来获得更高的性能。”

设计成本上升
另一个难题涉及时间的元素。虽然有很多关注传统的可靠性冯诺米曼在更长的生命周期内,对于人工智能系统来说太少了。这不仅仅是因为这项技术正在应用于新的应用领域。人工智能系统是出了名的不透明,它们可以随着时间的推移以不被完全理解的方式进化。

该公司市场开发经理Anoop Saha表示:“挑战在于理解该衡量什么,如何衡量,以及如何确保你拥有一个优化的系统。西门子eda.。“你可以测试访问数据所需的时间和处理数据的速度,但这与传统半导体设计非常不同。为一个模型优化的体系结构对于另一个模型不一定是相同的。你可能有非常不同的数据类型,而且单元性能不如系统性能重要。”

这将影响到AI设计中的分割方式和内容。Saha说:“当你处理软硬件协同设计时,你需要了解系统的哪一部分与哪一部分相匹配。”“一些公司正在使用eFPGAs对于这个。有些同时对硬件和软件进行分区。您需要能够在较高的抽象级别上理解这一点,并围绕数据、管道和微体系结构进行大量的设计空间探索。这是一个系统的系统,如果你看一辆车的架构,例如,SoC架构依赖于车辆的整体架构和整体系统性能。但这里还有另一个问题。硅的设计通常需要两年时间,当你使用架构和优化性能时,你可能不得不再次更新设计。”

萨哈注意到,这种决定变得更加复杂,因为设计被物理分为多芯片包。

人工智能,人工智能
使用人工智能技术也有实际限制。在一种情况或市场中有效的方法可能在另一种情况或市场中并不有效,即使它被证明有效,也可能仍有一些限制仍在定义中。这是显而易见的,因为芯片行业开始利用人工智能进行各种设计和制造过程的基础上广泛混合的数据类型和来源。

“我们将一些人工智能技术应用到当前的检测解决方案中,我们称之为AI ADT(反衍射技术),”该公司检测产品管理总监蔡戴蒙(Damon Tsai)表示进入创新。“所以我们可以用更高的功率来提高灵敏度,但我们也可以减少随之而来的噪音。”因此AI ADC可以帮助我们提高缺陷的分类率。如果没有人工智能图像技术,我们将使用一个非常简单的属性来判断,‘这是一个划痕,这是粒子。对于缺陷纯度,我们通常只能达到60%左右,这意味着另外40%仍然需要人工审查或扫描电子显微镜审查。那要花很多时间。有了AI,我们可以比传统的图像比较技术达到超过85%的缺陷纯度和准确率,在某些情况下我们可以做到95%。这意味着客户可以减少作业人员数量和SEM检查时间,提高生产率。但如果我们无法看到亮场或暗场的缺陷,人工智能也无能为力。”

在其他情况下,结果可能是令人惊讶的好,即使获得这些结果的过程并没有被很好地理解。

“最有趣的一个方面,我们要做的是我们要理解先进的之间的相关性的一些让其它计量过程完成后,生成的数据和结果从机器学习和人工智能算法,使用数据从传感器和进程内的信号,”David炸,说计算机产品副总裁林研究所。“也许没有理由的是传感器数据将相关或是出于前地计量数据的好代理。但是通过机器学习和AI,我们可以找到隐藏的信号。我们可以确定一个给定腔室中的一些传感器,这真的不应该对过程结果有任何轴承,实际上是测量最终结果。We’re learning how to interpret the complex signals coming from different sensors, so that we can perform real-time in-situ process control, even though on paper we don’t have a closed-form expression explaining why we’d do so.”

结论
芯片行业在了解人工智能如何工作以及如何最好地将其应用于特定应用和工作负载方面仍处于非常初级的阶段。第一步是使其工作并将其移出数据中心,然后提高系统的效率。

不过,目前尚不清楚的是,这些系统如何与其他系统协同工作,各种节能方法的影响将是什么,以及在没有人在中间的情况下,这些系统最终将如何与其他系统交互。在某些情况下,准确率出人意料地提高了,而在另一些情况下,结果充其量是模糊的。但这是不可逆转的,行业将不得不开始分享数据和结果,以理解在任何地方安装人工智能的好处和限制。这是一种完全不同的计算方法,它需要同样不同的公司互动方式,以推动这项技术的发展而不会出现一些重大障碍。

相关的
人工智能的新用途
功率和性能的大量改善源于低级智能。



1评论

Mads Hommelgaard, MemXcell常务董事 说:

我鼓励那些对AI的内存计算解决方案感兴趣的人回顾Stefan Cosemans博士在2020 ESSCIRC上的演讲或他在2019年IEDM上关于这个主题的论文。Cosemans博士对架构和实现中的基本问题给出了非常好的见解。他的分析包括组件精度(dac, adc和权重)和非理想的影响,如线电阻如何影响存储单元选择和阵列精度。

留下一个回复


(注意:此名称将公开显示)