FPGA用于AI的优势

嵌入式系统   作者:祝维豪 时间:2019-12-09来源:电子产品世界

问:AI的技术挑战是什么?

答:Achronix目前关注的重点主要放在数据中心中的机器学习上。然而,随着工业应用领域中人工智能(AI)的兴起,处理将需要向边缘迁移,以减少延迟并实现网络流量最小化。机器学习(ML)处理的特征随着处理向边缘迁移而改变;通常情况下,计算更多地侧重于推理,而不是训练,尽管这并没有将增强学习和边缘训练等新模式出现排除在外。功耗在边缘受到更多限制,每瓦特的性能通常是一种比原始性能更有用的衡量指标。

数字格式也能够被数量化以提高处理效率,其中浮点数将被优化浮点数(例如bfloat16或块浮点数)或整数计算所取代。此外,数据中心里的训练和推理可以依靠巨大批量处理来提高计算效率;对更少聚合流量和边缘推理的更低延迟的需要可以缩小处理批量的规模,直到理想的一个大小。这种情况不太适用于某些类型的处理器结构,而更好的应对方案是采用优化的处理单元阵列或可重新编程逻辑。此外,为具有大量权重应用的网络提供支持这一需求驱动了对片内/片外存储器的层次结构和对高速片外存储器(GDDR6或HBM2)的需求。

边缘处理的另一个特点是,因为接近大量的传感器而推动了接口无处不在。不仅需要诸如CAN、PCIe、JESD204等多种接口,而且这些接口可以根据应用或产品的类别进行更改。此外,多个数据流需要被组合和操作,以便能够去适应处理需求。这些数据包提取、传感器融合和位操作任务非常适合FPGA可以按位和按字节处理的灵活路由架构。此外,当需要一个新的传感器接口或应用发生变化时,就可以编译一个新的FPGA布局并将其下载到设备上以支持新需求,从而提供一个无缝的升级路径。

1575881650648163.png

Achronix公司 战略与规划部高级总监 Mike Fitton博士

问:贵公司是如何解决这些难点的?有哪些创新性的解决方案推荐?

答:尽管FPGA可以用于通用加速,但仍可以调整其架构以最大限度地提高性能,同时降低成本和功耗;这也正是Achronix在其独立Speedster7t FPGA器件以及Speedcore嵌入式FPGA中都在做的。Speedster7t可被用于多样化的部署中来实现数据加速,包括我们最近宣布的与BittWare合作开发的PCIe格式加速卡。Speedcore嵌入式FPGA可以被集成在一个机器学习(ML)系统级芯片(SOC)中,并且通常在将数据馈送到专用的矩阵处理引擎之前就实现灵活的输入输出(IO)、数据提取、传感器融合和预处理任务。

我们在三个关键领域进行了创新,提高了机器学习的性能。

1. 需要将大量数据传送到芯片上:高性能接口

2. 需要在芯片内移动数据:高效的数据转移

3. 需要以有限的成本和功耗去处理数据:高效计算

高性能接口

这是FPGA可编程逻辑的一个典型优势所在,通常最新的高带宽接口得到处理器或专用芯片支持之前,都是先得到FPGA所提供的支持。例如,在处理器卸载这一应用场景中,Achronix提供了首款支持PCIe Gen5的FPGA。在网络连接方面,新发布的一些FPGA支持400G的速率,例如支持8x50G或4x100G收发器。

高效的数据转移

一旦数据最终被送到芯片中,将数据传输到处理单元中以使其尽可能完全地被加载至关重要。通过适当的架构性设计,将能够使处理单元的负载保持在其峰值速率的80%以上。

存储器的层次结构(包括内部和外部存储器)是其中的一个关键要素:包括平衡内部存储器的端口宽度和存储器大小,也包括为外部(GDDR6)和封装内(HBM2)存储器提供高速接口。在最新的Achronix Speedster7t系列FPGA器件中,我们提供了对GDDR6的支持,因为它和其他可选方案相比,提供了更高的灵活性和更低的系统成本。由图形处理应用带来的规模经济正在降低GDDR6的成本[https://semiengineering.com/hbm2-vs-gddr6-tradeoffs-in-dram]。

近年来出现的一个趋势是在FPGA内部构建片上网络(NoC)架构,以支持数据在整个FPGA内部实现转移。在Achronix最新的FPGA系列芯片中,我们利用NoC将外部接口和存储器(例如在PCIe、以太网和存储器接口之间)以及FPGA内核本身连在一起。后者非常重要,因为它可以将可编程资源从路由/连接任务中解放出来,并支持它们被应用于更高价值的计算任务。

高效计算

虽然FPGA可以执行通用的加速功能,但是这种器件的架构可以被调整以面向诸如机器学习等某些工作负载实现最优的效率。通常,FPGA具有支持高效乘法累加的硬件宏单元,它们通常被称为“DSP单元模块”。这些宏单元一直以来被配置为高效地支持FIR滤波。但是,在针对机器学习的应用场景中,略微不同的架构性选择可能会对性能产生巨大的影响。例如,机器学习推理通常需要较低的位宽支持。Achronix的器件在32、16、8和4位之间具有完全可分割的整数算术支持;此外,例如bfloat16或块浮点数等其他的数字格式通常也适用。Achronix硬MAC宏单元原生支持浮点和块浮点,其中多个样本具有各自不同的尾数,但共享一个相同的指数。这样就提供了接近浮点的性能,但其复杂性和功耗更类似于整数计算。

通过整体性而不是孤立地考虑数据处理和数据转移,就可以实现更多的优化。具体来说,在构成机器学习的基本矩阵和向量数学运算中,可以利用大量的数据局部性。数据局部性以共享权重来表示,并在相邻的计算之间重复使用激活数据。通过紧密将存储器和处理单元集成在一起,可降低功耗(因为已将数据转移量降至最少)并提高性能(因为不需要消耗路由资源来连接存储器和MAC)。这种优化方法在诸如波束成形和雷达等采用矩阵数学的或利用数据局部性(例如FFT)的相邻应用中具有额外的好处。

简历:Mike Fitton博士是Achronix公司战略与规划部高级总监。他在信号处理领域拥有25年以上的经验,涉及包括系统架构、算法开发、半导体、无线运营商、网络基础设施以及最新的机器学习等领域。


关键词: FPGA AI

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章


用户评论

请文明上网,做现代文明人
验证码:
查看电脑版