ML处理器的功耗挑战

机器学习引擎提出了一些新的动力挑战,可能会让粗心的人绊倒。有些问题曾经为人所知,但后来就被遗忘了。

受欢迎程度

设计人工智能(AI)芯片或机器学习(ML)系统需要设计师和架构师使用书中的每一个技巧,然后学习一些新的技巧,如果他们想要成功的话。可以称之为风格,也可以称之为架构,有些设计就是比其他的好。当涉及到权力时,有很多方法可以让小的改变产生大的变化。

ML处理器往往具有非常规则的体系结构。“它们通常包括非常大的阵列,包含数百甚至数千个处理器,通常以集群的形式在整个芯片上重复排列,消耗数十甚至数百瓦的高功率,”理查德·麦克帕特兰(Richard McPartland)说,该公司的技术营销经理Moortec.“芯片通常很大,大约几百毫米²,采用非常先进的工艺设计——特别是finFET节点。由于可能有无数个门都在同一时间同步开关,因此经常采用策略来分散开关能量。”

当人工智能芯片的处理吞吐量被判断时,目标是让这些处理器保持忙碌。“你确实想让mac电脑一直处于忙碌状态,”微软公司负责数字签收的产品经理主管罗布•克诺斯说节奏.“当你这样做时,问题看起来非常相似生成时间芯片上的活动,所有东西都在同时发出嘎嘎声。这会造成非常严重的,持久的电力问题和热问题,因为它总是在发生。这不是突然爆发的活动。它继续前进,因此热量可能会继续上升。”

ML芯片是一个完整的应用程序设计问题的一部分。Cadence公司产品管理总监CT Kao表示:“在较高的水平上,人工智能芯片将配备三个主要元素:1)大量数据,2)一个或多个处理数据的算法,3)进行数据处理/计算的物理架构。”“与传统的电子或半导体设备相比,这三种设备都将消耗更高的功率,产生更多的热量,这不仅是因为要执行大量的计算,还因为在AI芯片上聚集了多个功能单元。”

这就需要一个系统的方法来解决设计问题。“对于机器学习推理网络,一种方法是在工具流的每个阶段进行优化,”ibm机器学习组产品营销副总裁史蒂夫·罗迪(Steve Roddy)说手臂.这将从网络优化(降低网络复杂性)开始,转移到网络调节(技术包括量化、聚类和修剪模型以最佳地适应目标硬件)。另一种方法是压缩(无损)模型,并以压缩格式一直存储权重和激活,直到在MAC数组中消耗之前。还有其他数据管理和最小化的方法。一旦这个问题得到解决,它就会使物理实现的挑战(如电源、热、红外)变得更加容易处理,因为SoC总线上的数据流量大大减少。”

好的决策
与任何系统一样,好的设计应该尽可能早地开始。Synopsys首席应用工程师Tim Kogel表示:“架构对电力和能源消耗的影响最大,而在RTL及以下,只能实现微小的改进。”“需要在架构层面做出重大决策,例如工作负载的硬件/软件分区、将数据结构映射到片上和片外内存、将组件分组到电源域、电源管理策略(如快速运行然后停止以降低能耗)或dvf为了降低能耗。”

Roddy补充道:“ML的性能和功耗是由数据移动决定的,而不是计算能力或MAC计数。”

这意味着必须仔细考虑内存架构。“你必须考虑内存分布和聚集,”Cadence的Knoth说。这在时间和空间上都是正确的。如果您能够将内存物理地分布在骰子周围的小内存中,这有助于平衡大瓶颈和电源。此外,如果您可以随着时间的推移分布它们,而不是有一个巨大的内存冲击,这将允许内存访问的整体热方面得到解决。如果你能分发任何高带宽的活动,它就会产生良好的影响。因此,内存访问是一个很好的领域,注意分配能力可以提供全面的好处。”

基于分析
随着系统变得越来越复杂,过去使用的技术变得越来越不准确。Synopsys的Kogel说:“过去,架构级功耗分析主要是用Excel完成的。对于具有动态的异构多处理架构,这种静态分析变得越来越困难电源管理,其中实际的电力消耗这取决于动态工作负载、异构处理元素的实际使用情况以及电源管理器的状态。而功率分析基于模拟正在成为主流,并允许估计SoC功率的应用用例,它需要完整的RTL和软件可用。这使得进行架构级权衡分析为时已晚。”

分析需要正确模型抽象.“我们提倡使用虚拟样机用于在SoC平台资源模型上运行的应用工作负载的背景下进行早期功率分析,”Kogel补充道。这个系统级的功率分析流程从3.0版本开始就得到了IEEE 1801 UPF的支持。我们看到越来越多的人采用这种方法进行早期功率分析,因为使用Excel的静态功率分析已经失去了动力。它允许对峰值功率进行首次估计,并对架构替代方案进行定量调查,以在空间上分散更多资源和/或在更长时间内分散电力消耗,以避免在后来的实施和验证阶段出现电力和热问题。”

不要忘记细节
抽象是好的,它必须包含所有必要的细节。Knoth解释说:“当你的目标是设计在高频工作时,你在寄存器之间很少有门。”“当行业专注于这种类型的架构时,故障往往会从人们的雷达上消失。故障可以显著增加总功率,因为信号通过多层组合逻辑传播,在信号稳定之前可以进行许多更改。随着流程技术的改进,特别是对于AI类型的应用程序,您将获得更深入的数据路径,其中包含更多的组合逻辑。所以边之间能量转换的百分比会变大。这促使人们考虑更具容错性的逻辑设计。”

一个小错误乘以很多,就会产生很大的影响。Knoth补充道:“如果你低估了MAC级别的功耗来源,并且在一个网线有限的设计中,在子块级别上的小功率低估会扩展到整个设计级别。”“仅仅因为早期对功率的估计有错误,就可能出现各种各样的问题。”

这些分支可能会影响设计的其他方面。“每个周期的大量MAC操作使得分析峰值功率及其对IR下降的影响变得非常重要,”Arti Dwivedi说,该公司的首席技术产品经理有限元分析软件.峰值功率分析和关键向量的识别IR降分析需要对多个现实场景的数十亿周期仿真活动数据进行准确的功率分析。这里有多个方面需要考虑。首先,用于此分析的向量是否实际上强调了最糟糕的IR掉落场景的设计,使得向量质量和覆盖非常重要。其次,大型仿真活动数据的功率分析需要具有大容量和并行处理能力的体系结构。第三,对数十亿个周期的功率分析产生了大量的数据。设计师需要大数据分析来从这些数据中获得有用的见解,例如签署电源完整性所需的最小矢量集,以及如何解决IR掉落问题。”

平铺式设计会产生一些问题,这些问题在更多的异构电路类型中是不存在的。“扩频时钟是一种技术,你可以稍微扭曲时钟,以分散功率峰值,”Knoth说。“在EDA方面,我们不仅花时间研究时序关闭的时钟偏移,还研究功率的时钟偏移。我们的目标是设计师不需要担心这个问题。我们应该能够产生一个更均衡的架构。扩频时钟是一项有价值的技术,但只是箭袋中的一支箭。真正的价值在于进一步分析,这反过来又使我们能够回到架构,并为编写C算法的人提供准确的功率反馈。”

运行时的保护
有些设计的目标是靠近边缘,但永远不会超过它。这需要芯片上的反馈回路。Cadence的Kao说:“片上热传感器在检测实时温度响应方面发挥着至关重要的作用,因此内置的反馈机制可以保护AI芯片。”

Moortec的McPartland解释说:“为了管理和保持AI芯片在其热范围内,设计通常包括在整个模具上不只是一个,而是数十个温度传感器——例如,每个处理集群一个。”“这不仅对于避免热失控至关重要,而且通过最小化处理器节流使数据吞吐量最大化。热管理对于汽车和数据中心等受高温影响的应用也很重要电迁移.汽车应用需要15年或更长时间的超长寿命,而数据中心虽然希望芯片的使用寿命更短,但却选择以更高的数据吞吐量运行,从而导致高温。”

虽然反馈回路在运行过程中是活跃的,但仍需要大量的早期分析来确保其正确运行。高锟补充说:“同样重要的是,在设计人工智能芯片时,可以进行物理分析和模拟的软件工具。”“在实际制造之前,可以同时分析不同的应用场景和芯片设计,显著缩短上市时间,并确保设备的可靠性。”

这些应用场景对于最大化功能至关重要。而行为的电力输送网络(PDN)可以被模拟,这些设备都是软件驱动的,PDN可能会表现出不同的行为,仅仅是因为在最终应用中使用了不同的软件,”McPartland说。“尽管使用了所有的模拟和设计策略,但嵌入电压监控器的结构非常有价值,这样就可以检查PDN是否足够。此外,通过查看芯片上的实际情况,您可以获得优化性能、功耗和/或可靠性所需的信息。”

结论
大规模的、重复的设计对一些开发团队来说可能是新的挑战。其中一些是老问题,另一些以前只在测试工程师那里见过,但是现在它们都已经被引入到高级架构决策中。其中许多芯片都是在最先进的节点上制造的,在这些节点上解决IR下降问题比过去更加困难。但这些问题中很少是全新的,处理这些问题所必需的技术是现成的。

Knoth说:“当你给任何人额外的自由度时,优秀的架构师和设计师,加上帮助他们更快更好地得到答案的工具,就可以做出真正差异化的产品。”



留下回复


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

Baidu