18.luck新利
的意见

优化边缘机器学习的功率和性能

设计团队正在寻找新的设计和验证流程,以满足边缘人工智能具有竞争力的上市时间窗口。

受欢迎程度

根据Tractica的“深度学习芯片组”(图1),虽然机器学习(ML)算法在企业云系统上运行以训练神经网络,但用于边缘设备的AI/ML芯片组正在以三位数的速度增长。边缘设备包括汽车、无人机和移动设备,这些设备都采用AI/ML来提供有价值的功能。


图1:AI/ML边缘设备的市场数据

这种类型的市场增长意味着公司正在看到针对功率、性能和面积(PPA)优化的边缘硬件架构的爆炸式增长。硬件设计团队正在努力跟上ML进入主流的步伐,他们往往无法在一次迭代中优化AI/ML系统,有时会由于长RTL设计周期的成本而导致他们放弃最初的尝试。

将AI/ML推向边缘意味着重点放在定制设计上,必须成功地满足低功耗和高性能的关键要求。而且,如果传统的RTL设计流程不能在这个竞争激烈的市场中适应他们的上市时间窗口,设计团队必须转向新的设计和验证流程。

了解挑战
优化ML算法需要多次通过设计流程(图2):

  • 算法工程师在Tensorflow或Caffe等机器学习框架中工作,设计和验证ML算法。
  • 这通常包括将算法从浮点数量化为定点,以及修剪以降低复杂性。
  • 然后硬件设计人员实现算法,这需要构建足够复杂的硬件来满足PPA要求。

其中一些系统太复杂了,如果不先构建它们就无法进行分析,这在手工编码的RTL设计流程中是不现实的,因为生成一个工作设计可能需要三到六个月的时间。再加上算法和硬件正在发生的革命性变化,这可能会导致团队放弃在硬件上的首次尝试。


图2:机器学习设计流程。

为ML推理引擎构建定制硬件的一个关键挑战是必须牺牲功能以换取可编程性。这在很大程度上是由于用于构建卷积神经网络(cnn)的网络的逐层行为。cnn的权值存储需求随着层数的增加而增加,特征图存储需求随着层数的增加而减少。此外,精确实现网络所需的精度在后面的层趋于降低。

对cnn的这些相互竞争的存储和精度要求使得“一刀切”的硬件实现在功耗方面效率低下。通用解决方案可以提供相对较高的性能和较小的面积,但这是通过“平铺”ML算法和将特征映射数据来回转移到系统内存来实现的,这大大增加了功耗。这些通用解决方案还为了可编程性而牺牲了片上计算资源的充分利用。

潜在的架构解决方案
更节能的方法可能需要两种或更多的硬件架构,这些架构是定制的,以满足网络中不同层的内存存储、计算和精度要求。这些计算引擎将需要协同工作,并需要复杂的片上内存架构、大规模并行性以及访问高带宽系统内存的能力。

例如,网络的早期层可以映射到融合层体系结构或多通道滑动窗口体系结构上。这些体系结构允许两个或多个网络的第一层被计算,而不需要离开芯片到系统内存。它们还需要相对少量的芯片存储,因为它们只对特征图数据的一个小“窗口”进行操作。对于后面的层,一个多通道处理元件(PE)阵列架构是一个很好的选择,无论是电力和性能。

一个更好的设计和验证流程
构建定制硬件解决方案的最大挑战之一是,设计人员尝试以不同精度将不同架构进行多种组合,以找到功率、性能和面积之间的最佳权衡。在RTL中这样做是不切实际的,因此设计人员转向高级合成(HLS)来实现这些自定义解决方案。

Catapult HLS为硬件设计人员提供了使用c++ /SystemC快速创建和验证复杂硬件架构的能力。HLS使用位精确的数据类型,允许在c++仿真中建模真实的硬件精度。这意味着设计人员不仅可以在c++ /SystemC中建模ML硬件的逐位行为,而且他们可以在几分钟内验证ML设计,而不是在RTL模拟中使用数小时或数天。

Catapult HLS提供了设计和验证流程,为设计团队在设计ML硬件时提供了优势,包括:

  • 自动内存分区:用于创建ML引擎实现性能目标所需的复杂片上内存架构。这些优化允许c++算法中的数组转换为并行操作的多个内存。
  • 界面合成:允许设计接口上的数组自动转换为高性能的AXI4内存master,使核心硬件对系统内存进行透明访问,这是获取ML算法使用的数百万个权重所需要的。
  • 架构代码更改和HLS优化:可以产生具有不同PPA特性的独特硬件。架构优化步骤的一部分是能够交互式地分析和评估这些权衡。
  • 功率优化:该工具可以自动优化RTL输出功率,并为设计人员采取的每一步报告功率,使他们能够快速确定设计的可行性。

作为架构优化过程的最后一步,可合成的c++(使用比特精确的数据类型设计)可以插入ML框架(例如TensorFlow),允许算法设计者对照原始算法验证实现。

将机器学习推向边缘对功率和性能有关键要求。使用现成的解决方案是不切实际的。创建新的节能/内存硬件架构以满足下一代需求需要HLS设计和验证流程,以成功满足生产计划。

在我们的新白皮书中了解更多,机器学习在边缘:使用HLS优化功率和性能



留下回复


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

Baidu