中文 英语

优化学习能力的边缘

让边缘学习工作需要显著降低功率,这意味着重新思考流程的所有部分。

受欢迎程度

边缘学习被视为机器学习的圣杯之一,但今天,即使是云也在努力用合理的能力完成计算。电力是这项技术的伟大推动者(或限制者),而业界正开始对此做出回应。

“权力就像一个倒金字塔问题,”特朗普的产品营销高级总监约翰内斯•斯塔尔(Johannes Stahl)说Synopsys对此.“最大的收获是在顶层,通过算法和架构。如果你不开始考虑它,那么你就没有机会通过切换底部的库元素来解决它。”

使用类似于机器学习,也有一个有趣的中间立场。”人工智能(人工智能)芯片实例化逻辑多次,”Preeti Gupta说,RTL产品管理总监有限元分析软件.“我们见过大约有1000个内核的芯片。这是一大堆重复的逻辑。对于高端CPU来说,功耗降低可能会带来少量的节省,但设计师可能会认为这不值得他们花时间。但有了人工智能,他们确实在解决这些电力挑战方面迈出了额外的一步,因为有了大量的复制。因此,如果你为一个块节省了少量的电量,那么当你多次实例化它时,它就会变成大量的电量。”

与传统芯片相比,有些折衷方案略有不同。Synopsys人工智能产品营销经理罗恩•洛曼(Ron Lowman)表示:“所有这些设计的主要挑战在于,它们需要大量的计算能力。”“他们可以增加更多的计算,更多的并行,但它实际上是一个计算和内存问题。这是关于带宽和克服内存瓶颈的问题。它需要合作设计的方法。过去我们谈论的是一起设计硬件和软件,而人工智能现在正在强迫这一点。它还迫使内存和处理器协同设计。这些合作设计至关重要。”

这导致了各种各样的方法被用来降低电力,成功的公司必须解决所有这些问题。

从底层开始
虽然最大的收益可能是在顶部,但当考虑到这些芯片的特殊需求时,一些技术可以帮助底部。

“越来越多的公司正在寻求实施动态或静态电压缩放Alchip美国公司总经理Hiroyuki Nagashima说。“为了支持电压缩放,它涉及库重新表征、过程监视器开发、硅校准、电源隔离、电平移位和多场景定时注销……许多额外的设计工作。适当的电压缩放设计可以使客户在不浪费能源的情况下获得所需的计算能力。”

一些特殊的细胞也在显微镜下。“我们看到有人这样做静态存储器Synopsys的洛曼说。“他们这样做只是为了泄露信息。考虑到非常低的电压能力,你只会想到能量收获芯片组。我们也一直在SRAM中进行自定义,以优化比特单元的密度,以便它们可以在芯片上安装更多的SRAM。这使得他们能够在更少的延迟下将更多的计算放在芯片上。这些就是目前正在使用的技术类型。”

内存是AI和ML芯片的关键。“你构建内存的方式,你定制和优化架构的方式,你放置它的方式,你放置它的位置以及你如何放置它都会产生不同的影响,”该公司业务和企业发展副总裁帕特里克·索海利说eSilicon.“如果通过DDR访问DRAM,将数据从芯片传输到DDR将花费100倍以上的能量。如果你把它以一种HBM将器件堆叠在DRAM的同一衬底上作为芯片,将节省大量能源。但这仍然比你把内存放在芯片里多出10到100倍的能量。然后,当它在芯片内部时,通过优化位置和架构,更积极地考虑如何放置内存,你将节省更多的能量,因为你在考虑数据路径。你要考虑的是信息流,它被访问的频率,以及你需要走多远才能访问它。”

即使内存是在芯片上,也必须小心放置。Alchip的Nagashima说:“对于人工智能推理,芯片上数据移动的功耗高达整个芯片功耗的40%。”“在布局层面,数百或数千个内存被放置在处理元素(pe)旁边,它们需要尽可能靠近以减少数据移动距离,从而减少互连功耗。信号路由也应仔细分析,并与数据移动流方向相匹配。存储器本身的功率也应该通过使用低电压、双轨道技术等技术来降低,这些技术将不同的电压应用到外围和位阵列上。”

忽略其中一些问题可能会导致芯片出现意想不到的限制。该公司首席执行官Stephen Crosher表示:“从供应的角度来看,由于众多核心之间的互连可变性和剧烈的工作负载变化,我们看到了与动态IR下降和瞬态事件相关的问题,这暂时使其供应逻辑枯竭。Moortec.“因此,设计师必须考虑软件如何帮助以一种均匀的方式控制工作量的分布。为了达到最节能的效果,需要将芯片内部的动态条件紧密反馈给软件。通过使用精确、响应灵敏的嵌入式监测结构,可以获得更好的控制,使整个设备的热和电压分布更加平衡,从而优化性能,最小化功耗,并有助于最大限度地减少可能发生的可靠性问题。”

这一切都回到了硬件/软件协同设计和处理器/内存协同设计。

从头开始
对于传统的设计来说,考虑功率通常是从RTL.ANSYS的Gupta说:“在系统层面上有巨大的机会。“你如何设计一个芯片,你要处理这些巨大的块,你必须以一种优化功率的方式把它们放在一起?大多数功耗降低技术集中在寄存器级、时钟和数据门控。我们希望将游戏抽象到较高的水平,并为设计师提供可见性,以便他们能够做出更好的决策。”

这就需要改变设计流程。“今天,甚至在他们考虑RTL之前,他们必须从高级建模开始,”Synopsys的斯塔尔说。“他们必须考虑将算法映射到这些高级架构模型。当他们这样做的时候,他们也可以建模电力消耗做一些权衡。所以,他们应该知道他们是否在朝着正确的方向前进,或者他们的建筑选择是否存在问题。”

有几种方法来看待体系结构优化。“当我们教客户进行架构探索时,我们经常从内存瓶颈开始,”Stahl补充道。“内存子系统或互连周围的一切都只是流量,可以在高层建模。所以我们专注于内存吞吐量以及它们可以输入和输出多少数据。”

然后是处理器/内存协同设计。eSilicon的Soheili说:“每次你在乘法累积块(MAC)上做任何交易——从内存来回移动,或者移动数据——你都会消耗电力。”“所以首先,你必须在架构上最小化这种情况。其次,您可以优化和定制电路,以尽可能减少功耗。其中许多都与体系结构相关。有时候你必须放弃mac的使用或者放松延迟。构建一个神经网络手工制作,而不是合成一个,或者不假思索地从架子上拿起东西,会有很大的影响。如果你可以使用半精度或四分之一精度或固定整数,这都有很大的不同。它们都是架构决策,你必须明确它是否达到目标预算。”

帮助做出体系结构选择的工具可能非常有价值。“构建定制硬件解决方案的最大挑战之一是,你可能需要尝试不同架构的多种组合,以找到两者之间的最佳权衡功率、性能和面积(PPA)的高级合成技术专家Mike Fingeroff说Mentor是西门子旗下的企业.“在RTL中这样做是不切实际的,所以设计师们转向高级合成(HLS)来实现这些定制解决方案。HLS提供了许多高级优化,例如针对PE阵列所需的复杂内存体系结构的自动内存分区,用于轻松连接到系统内存的AXI4内存主接口的接口综合,以及用于调优多个硬件体系结构的精度的任意精度数据类型的综合。此外,由于源语言是c++,它可以很容易地插入到网络最初创建的深度学习框架中,允许验证架构化和量化的网络。”

理解选择
在考虑架构选择时,需要在多个级别上不断评估功率。古普塔说:“我看到越来越多的人要求使用档案功能。“这是一个优化的引擎,用于查看非常长的矢量,并快速得出功率波形。目的是能够看到功率波形的形状。然后,你可以创造一个移动平均,这可能与热时间常数有关。现在你看到的是一段时间内的平均功率波形。这反映了温度变化的方式。这些波形可以被其他工具使用,这些工具将封装和芯片模型与此功率波形一起考虑。然后你可以考虑气流和其他冷却因素。”

图1所示。准确性和性能分析的权衡。来源:ANSYS。

图1所示。准确性和性能分析的权衡。来源:ANSYS。

分析必须发生在不同的抽象级别上。“系统层面的一切都是相对的,”斯塔尔说。“没有办法知道任何绝对数字。但在相对水平上,事情往往相当大,并提供了一个很好的指示,如果你正朝着正确的方向前进。功率总是一种权衡,所以您要考虑吞吐量、资源、时钟频率等。但要确切地知道发生了什么,唯一的方法是在RTL中采用最终的架构,并运行经过软件堆栈的算法。”

为了跑足够长的距离,模拟是唯一可能的解决方案。Stahl解释道:“第一步是使用在模拟器中运行的加权功率模型。“我们可以通过将RTL与设计中关键点的权重函数结合来计算加权模型。可能是记忆,时钟网络等等。这个加权模型与RTL一起编译,并在模拟器中运行。得到的是权重随时间的和。这保留了最大的仿真速度。”

一旦你有了一般的功率波形,你就可以专注于关注的领域了。Stahl继续说道:“您可以在关键窗口上重新运行模拟并转储整个状态信息。“你可以采用扩展波形并根据切换活动计算平均功率,也可以将完整的活动文件放入功率分析工具中,在那里你可以得到准确的平均功率。或者,你可以获得一个周期一个周期的电力。通过这种方法,我们可以获得足够的准确性,在这1000万周期的模拟中,确定我们可能探索的两种不同架构的相对性能,或者是否有任何看起来不寻常的事件。”

在边缘学习
为了实现边缘学习,功率成为关键的设计标准。“除了PPA,我们还必须加上另一个A,即准确性。还有一个P,那就是可编程性。节奏.“对于可编程性,你可以使用通用处理器,或GPU或TPU,或者你可以一直走到另一端,其特点是无法改变任何东西,除了可能是系数。这只适用于单一应用程序。”

早期的成功可能与你努力的程度有关。“如果你有新的对抗性攻击,你需要能够实时更新这些攻击,而做到这一点的最好方法是在边缘Synopsys的洛曼说。“当你训练较低的计算能力时,训练会持续很长时间,直到可能变得不切实际的地步。因此,你在云端和边缘可以做的事情是混合的,在这种发展中存在权衡。如果你在边缘做,这将是一个显著的优势。只是把产品推向市场的计算时间可能不切实际。”

已经有应用程序在推动这一点了。Knowles公司技术战略副总裁吉姆•斯蒂尔表示:“没有人希望在输入关键字时,所有人的设备都被唤醒。“当你打开iPhone的盒子时,你必须说很多次‘嘿,Siri’,这样它才能了解你的声音特征,只让你的声音进入。这就是边缘学习。这是一种非常有监督的学习,因为你知道他们在说关键字,因为他们是被指示这样做的,而且你可以在不牺牲性能的情况下这样做。”

关键是要设定现实的目标。Mentor的Fingeroff说:“在短期内,边缘学习可能包括基于部署网络收集的新训练数据增量更新权重。”“推理引擎已经在硬件中运行,可以直接用于网络的前馈部分。“学习”不是实时完成的,可以使用一个非常紧凑的计算引擎来完成,可以优化面积和功率。与使用数万或更多数据集的训练相比,增量学习将使用单个数据集。”

结论
能力是由需求推动的,这意味着金钱。只要投入足够的资金,问题就会得到解决。资金已经流入这一领域,因此人们认为,在边缘学习是必要的。早期的解决方案已经开始形成,这可能决定了学习算法的某些方面的进展。

相关文章
智能边缘的软硬件设计
系统是非常特定的,而且功耗有限,这使得设计非常复杂。
能力限制了机器学习的部署
部署受到耗电量的限制,在情况好转之前可能会变得更糟。
机器学习推理移动设备
TinyML移动将高性能计算推向更小的设备。
边缘计算知识中心
关于边缘计算的文章库



留下回复


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

Baidu