中文 英语

人工智能的新用途

功率和性能的巨大改进源于低水平的智能。

受欢迎程度

人工智能正被嵌入越来越多的技术中,这些技术通常存在于大多数芯片中,初步结果显示,在功率和性能方面都有了巨大的改善。

与备受瞩目人工智能实现,如自动驾驶汽车或自然语言处理,大部分工作都在大多数人的雷达下飞行。它通常采取干扰最小的路径,以现有技术为基础或改进现有技术。但除了产生重大影响之外,这些发展还为设计团队提供了一个基线,以了解AI能做什么和不能做什么,它如何随着时间的推移以及在不同的环境和操作条件下表现出来,以及它如何与其他系统交互。

直到最近,人工智能/机器学习的大部分都局限于数据中心或专门的军事/航空应用。自那以后,它开始向边缘迁移,而边缘本身也刚刚开始形成,这是受数据量不断增长以及需要在更接近源头的地方处理数据的驱动。

记忆的改进
优化数据移动是所有这些市场的一个明显目标。生成的数据如此之多,以至于传统数据难以承受冯·诺依曼方法。各家公司都在寻找减少数据在内存和处理器之间来回流动的方法,而不是废弃经过验证的架构。内存计算和近内存计算是两种受到关注的解决方案,但将AI添加到这些方法中可以产生显著的增量影响。

三星宣布将机器学习功能加入到智能手机中高带宽内存(HBM)堆栈就是一个很好的例子。

“最困难的部分是如何在不影响任何计算生态系统的情况下,将其作为现有DRAM的临时替代品,”三星内存业务部门高级副总裁Nam Sung Kim说。“我们仍然使用现有的机器学习算法,但这项技术是为了更有效地运行它们。在过去,有时运行机器学习模型是不可行的,因为它需要太多的内存带宽。但有了内存中的计算单元,现在我们可以探索更多的带宽。”

Kim表示,这种方法可以在不进行任何额外优化的情况下减少70%的系统总能量。它的价值在于它为数据的移动增加了一定程度的“智能”。反过来,这可以与其他技术改进相结合,以实现更高的功率/性能效率。Kim估计这可能是一个数量级,但其他技术可能会把它推得更高。


图1:内存软件栈中的处理。来源:三星

“作为一个行业,我们必须从几个不同的角度看问题,”斯坦福大学的杰出发明家史蒂文·吴(Steven Woo)说Rambus.“其中之一就是建筑。我们必须思考构建芯片的正确方法是什么,这样它们才更适合实际的算法。在过去的四五年里,我们一直在目睹这种情况的发生。人们已经实现了一些非常简洁的架构——比如收缩数组和更有针对性的实现。还有一些其他的。我们当然知道记忆系统在整个能量消耗中是非常非常重要的。其中一件必须发生的事情是我们必须努力使内存访问更节能。更有效地利用PHY是一个重要的部分。SoC本身仅在PHY上就花费了25%到40%的功耗预算,然后在SoC和PHY之间来回移动数据的行为-大约三分之二的功耗实际上只是用于数据的移动。 And that’s just for HBM2. For GDDR, even more of the power is spent in moving the data because it’s a higher data rate. For an equivalent bandwidth, it’s taking more power just because it’s a much higher speed signal.”

图2:数据移动成本的细目。来源:Rambus

图2:数据移动成本的细目。来源:Rambus

网络优化
使用这种方法的另一个地方是网络配置和优化。与过去不同的是,计算机或智能手机可以接入任何基于标准的协议和网络,这种优势专注于特定于应用程序的优化和独特的实现。数据流中的每个组件都需要优化,有时跨连接在一起的不同系统。

这让必须集成边缘系统的用户以及希望销售可以在许多垂直市场上工作的横向技术的供应商感到头疼。它还为更多智能设备和组件打开了大门,这些设备和组件可以在网络上或包中进行自我配置,也为可配置设备打开了大门,这些设备可以适应用于这些市场的算法的变化。

该公司数据中心营销总监Kartik Srinivasan表示:“它将从软件定义的硬件开始,但它将演变成一种可以由人工智能支持的自我修复、自我协调的设备。赛灵思公司.“它可以说,‘我要对特定的交通流进行这种级别的处理’,并根据所需的人工智能进行大量卸载。”

AI/ML被证明非常善于理解如何根据行为模式和概率来划分数据的优先级和分区,以确定数据在哪里可以得到最好的利用。并不是所有的数据都需要立即进行处理,而且大部分数据可以在本地丢弃。

“我们开始将机器学习视为一个优化问题,”ibm战略和业务发展高级经理Anoop Saha说西门子EDA.”机器学习历史上已经被用于模式识别,无论是监督学习,非监督学习还是强化学习。这个想法是你从你拥有的数据中识别出一些模式,然后用它来对事物进行分类,从而做出预测或进行猫与狗的识别。不过,还有其他一些用例,比如智能网卡,在这些用例中,您没有找到确定如何最大化SDN(软件定义网络)网络的网络拓扑。这些不是纯粹的模式识别问题,对于更广泛的行业来说,它们非常有趣。人们开始把它用于各种各样的任务。”

虽然实现非常具体,但通用概念开始在多个市场受到关注。“这取决于你所处的细分市场,”Geoff Tate说Flex Logix.“我们正在致力于我们所谓的医疗成像等领域的企业优势。我们的客户需要高吞吐量、高精度、低成本、低功耗。所以你真的必须有一个比gpu更好的架构,我们的基准是我们的3到10倍。我们用更细的粒度来做,而不是用一个大的矩阵乘法器,我们有一维张量处理器。它们是模块化的,所以我们可以用不同的方式组合它们来做不同的卷积和矩阵应用。这也需要一个可编程的互连,我们已经开发出来了。我们做的最后一件事是让我们的计算非常接近内存,这最小化了延迟和功耗。所有的计算都在SRAM中进行,然后DRAM用于存储权重。”

处于边缘的人工智能
这种模块化和可编程的方法通常隐藏在许多设计中,但是在设计和实现中强调灵活性是至关重要的。更多的传感器、大量的数据以及扩展带来的效益放缓,迫使芯片制造商转向更复杂的架构,以降低延迟和功耗,同时提高性能。

在边缘设备上尤其如此,其中一些设备是基于电池的,在内部部署和近距离部署的数据中心,速度是关键因素。解决方案往往是高度定制的、异构的,并且通常在一个包中涉及多个芯片。因此,不同于超大规模的云,所有东西都位于一个或多个巨大的数据中心,有基于需要对数据采取行动的速度和需要处理多少数据的处理层。

结果是一个非常复杂的数据分区问题,因为现在数据必须在不同的服务器之间,甚至在不同的系统之间进行智能解析。“我们肯定看到了这一趋势,特别是随着更多边缘节点的出现,”英特尔公司内存解决方案营销和应用高级总监Sandeep Krishnegowda说英飞凌.“当有更多数据进入时,你必须对你试图加速的内容进行划分。你不希望只是把原始信息一路发送到云端。它必须是有意义的数据。与此同时,你想让实时控制器在边缘做出推理决策。所有这些都明确强调了架构的变化,使其更有效地管理您的流量。但最重要的是,这在很大程度上取决于数据以及如何管理数据。而这些都不可避免地会回到你的记忆和记忆架构的子系统。”

此外,这还成为一个路由问题,因为所有东西都是连接的,数据来回流动。

“如果你在做一个数据中心芯片,你就在设计划线极限,”微软解决方案营销高级集团总监Frank Schirrmeister说节奏.“你有一个加速器,不同的热方面,以及3D-IC问题。当你向下移动到可穿戴设备时,你仍然在处理同样相关的热功率水平,在汽车中你有一个人工智能组件。所以这是全方位的,需要一个整体的方法。你需要优化低功耗/热/能源活动,无论你在哪里,人们将需要调整系统以适应他们的工作负载。然后,问题就在于你如何把这些东西组合在一起。”

这增加了另一个层次的复杂性。IP at的战略营销经理Ron Lowman表示:“最初的想法是,‘我需要最大密度的SRAM,这样我就可以在芯片上容纳尽可能多的激活和重量Synopsys对此.“其他公司表示,他们需要尽可能低的功耗。我们以前有过这些类型的解决方案,但我们看到了很多专门围绕人工智能的新要求。然后他们进入了下一步,他们会说,“我需要一些超出最高密度或最低泄漏的定制”,因为他们将它们与内存和计算类型技术等专门的处理组件结合起来。有一些构建模块,比如原始数学模块,DSP处理器,RISC处理器,然后是一个特殊的神经网络引擎。所有这些组件组成了处理解决方案,其中包括标量乘法、向量乘法和矩阵乘法,以及与之连接的内存体系结构。当我们第一次做这些处理器时,假设你会有某种外部存储器接口,很可能是LPDDR或DDR,所以很多系统都是围绕这些假设构建的。但有一些独特的高带宽内存架构,这改变了从这些外部内存接口获取负载和存储的方式以及它们的大小。然后顾客加入他们特制的酱汁。随着更多利基市场的发现,这一数字将继续增长。”

这些利基市场将增加对更多类型硬件的需求,但它们也将推动对这些基础级技术的持续扩展的需求,这些技术可以适应特定的用例。

Xilinx产品线经理Jayson Bethurem表示:“我们的fpga遍布整个设备的内存,因此可以将内存直接定位到加速器,加速器可以成为深度学习处理单元。”“因为架构不是固定的,它可以适应不同的特征,分类拓扑,cnn和其他类似的东西。这是应用程序增长的主要领域,我们发现人们希望在对某些东西做出反应之前对其进行分类。”

人工智能在终端设备上的限制
人工智能本身并不是一项固定的技术。随着技术的适应和优化,人工智能解决方案的不同部分正在运行,因此处理结果通常以分布和可接受概率的形式出现。

这使得定义人工智能的精度和可靠性变得特别困难,因为每个实现和用例的指标都是不同的,这也是芯片行业谨慎对待这项技术的原因之一。例如,考虑AI/ML在辅助驾驶汽车中的应用。数据输入和决策需要实时做出,但人工智能系统需要能够衡量这些数据的价值,这可能与其他车辆衡量数据的方式不同。假设这两辆车永远不会相互作用,那就不是问题。但如果他们共享信息,结果可能会非常不同。

“这在某种程度上是一个悬而未决的问题,”罗勃·艾特肯(Rob Aitken)说手臂的研发组。“如果你有一个具有给定精度的系统和另一个具有不同精度的系统,那么它们的精度累积起来取决于它们彼此之间的独立程度。但这也取决于你用什么机制来结合这两者。这似乎在图像识别等方面已经得到了很好的理解,但当你看到一个汽车应用程序,你有一些雷达数据和一些摄像头数据时,就更难了。它们实际上是相互独立的,但它们的准确性取决于你必须知道的外部因素,除此之外。所以雷达可能会说,‘这是一只猫’,但摄像机说那里什么都没有。如果是黑的,那么雷达可能是对的。如果在下雨,也许雷达也错了。这些外部比特可以非常非常快地发挥作用,并开始压倒任何经验法则。”

所有这些相互作用都需要详细了解。“汽车领域的许多设计都是高度可配置的,它们甚至可以根据从传感器获得的数据进行动态配置,”at的营销主管西蒙·兰斯(Simon Rance)说ClioSoft.“数据从这些传感器返回到处理器。从车辆到数据中心再回到车辆的大量数据,所有这些都必须被追踪。如果出现问题,他们必须追踪并找出根本原因是什么。这就是需要填补的地方。”

另一个问题是知道哪些是相关数据,哪些不是。微软分布式数据处理和控制部门主管Dirk Mayer说:“当你把人工智能转移到边缘时,你就转移了一个模型之类的东西,这意味着你已经知道哪些是信息的相关部分,哪些不是。弗劳恩霍夫IIS的自适应系统工程部。“即使你只是做低通滤波、高通滤波或平均之类的事情,你心里也会有一些东西告诉你,‘好吧,如果你应用低通滤波器,这是相关的,或者你只需要100赫兹左右的数据。’”

挑战在于能够在人工智能的多个实现中利用这一点。梅耶尔说:“即使你看一些基本的东西,比如铣床,过程是一样的,但机器可能完全不同。”“工艺材料是不同的,被研磨的材料是不同的,工艺速度是不同的,等等。要发明出能在不同机器间自我适配的人工智能是相当困难的。你总是需要一个再培训阶段和时间来收集新数据。这将是一个非常有趣的研究领域,为人工智能发明一些类似积木的东西,其中算法在行业中被广泛接受,你可以将它从这台机器转移到那台机器,并且它是预先训练好的。所以你添加了领域专业知识,一些基本的过程参数,你可以参数化你的算法,这样它学习得更快。”

结论
然而,这并不是如今芯片行业的现状。人工智能及其子组,机器学习和深度学习,为一个建立在批量和大规模可重复性基础上的行业增添了独特的能力。虽然人工智能已被证明在某些事情上是有效的,比如优化数据流量和基于使用模式的分区,但在做出具有可预测结果的更大决策之前,它还有很长的路要走。

功耗降低和性能改进的初步结果令人鼓舞。但是,它们也需要在更广泛的系统集、多个细分市场的快速发展以及不同的方法(如异构集成、特定领域的设计和跨供应链数据共享的限制)的背景下进行设置。

相关的
限制人工智能系统的能力
开发这些系统只是挑战的一部分。确保他们只做他们应该做的事情可能更难。
更快、低功耗人工智能系统的隐藏成本
AI/ML设计中的权衡可能会影响从老化到可靠性的一切,但并不总是以可预测的方式。
权衡提高性能,降低功耗
定制设计正在成为常态,但让它们发挥作用却没有那么简单。



留下回复


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

Baidu