龙空技术网

FPGA保持灵活性同时拥有ASIC级AI性能是可实现的吗?

雷峰网企业店 283

前言:

当前大家对“fpga实现深度学习算法”可能比较讲究,你们都需要剖析一些“fpga实现深度学习算法”的相关内容。那么小编在网摘上网罗了一些关于“fpga实现深度学习算法””的相关知识,希望姐妹们能喜欢,姐妹们一起来学习一下吧!

AI语音助手和AI图像优化是离我们最近的AI应用,然而这只是AI能力比较初级的体现,未来,AI将会以目前难以想象的方式改变我们的生活。作为AI的重要推动力之一,不同类别的AI处理器正努力满足AI的需求,但依旧不能满足AI不断迭代的算法的需求。围绕AI芯片的创新因此也成为了热点。

本周二,总部位于美国加利福尼亚州的Achronix为满足AI和机器学习的需求,推出了一款融合ASIC核心效率的全新类别FPGA。

到底是什么在推动AI芯片的创新?

AI发展的三大要素是算力、算法和数据,而这一轮AI热潮的兴起一个关键的原因就是深度神经网络算法的流行。不过,由于AI还处于初级阶段,深度学习算法不仅种类多样,并且在不断迭代。另外,数据的类型也十分多样,包含了整型和浮点型,以及每种数据类型的不同精度,这对芯片的通用性提出了要求。

AI处理器的硬件挑战

但是,芯片的通用也就意味着算力难以做到极致,并且,不同的数据类型和精度对处理器的性能的要求又不相同,想要同时满足算力和通用性的要求,半导体制程的提升是最为直接的方法。过去30年,摩尔定律带来了显著的计算能力的提升,半导体制程从微米跨越到了纳米级,如今的计算机处理速度也可以达到每秒千万亿次(1015 FLOPS) 。

2018年,10nm和7nm的芯片已经开始量产,但CMOS器件的横向尺寸接近几纳米,厚度只有几个原子层,想要继续靠工艺制程提升晶体管密度带来处理性能的显著提升,技术上难度越来越高,成本也让越来越多的芯片公司望而却步。

除了半导体工艺,当运算能力达到一定程度,访问存储器的速度无法跟上运算部件消耗数据的速度,再增加运算部件也无法得到充分利用,这个冯诺依曼架构的瓶颈(内存墙)也阻碍了AI芯片算力的提升。

显然,不断迭代的算法、不同AI模型的数据类型需求、与日俱增的数据量,都推动承载AI算法的AI芯片不断创新。

FPGA如何与ASIC融合?

目前,CPU、GPU、FPGA、ASIC都被认为是广义上的AI芯片,从CPU到ASIC,芯片的通用性降低,但性能依次增强,其中,GPU凭借并行计算的优势成为了目前最成功的AI芯片。FPGA作为不少AI芯片公司ASIC芯片验证的首选,也在AI芯片市场占据一定的地位,但成本是其在大规模应用中面临的挑战。

Achronix Semiconductor总裁兼首席执行官Robert Blake

此时,如果有兼具ASIC的性能和FPGA灵活性的AI处理器,应该是一个非常有竞争力的产品,但需要解决多个挑战。Achronix Semiconductor总裁兼首席执行官Robert Blake接受雷锋网在内的媒体采访时表示:“最新发布的Achronix Speedster7t是灵活的FPGA技术与ASIC核心效率的融合,提供了一个全新的‘FPGA+’芯片品类,这代表了我们建立在四个架构代系的硬件和软件开发基础上的创新和积淀,以及与客户之间的密切合作。”

Robert还指出,这款新产品他们在三年前就开始规划,在规划的过程中工程团队完全重新构建了整个FPGA架构,要平衡片上处理、互连和外部输入输出接口(I/O),以实现数据密集型应用吞吐量的最大化,适合高带宽需求的应用,比如边缘和基于服务器的AI / ML、网络处理和存储。

架构改进让FPGA更适合AI计算

要让FPGA具备ASIC级别的性能,首先需要提升算力。正如前面所说,先进半导体工艺对处理器性能的提升非常关键,因此Speedster7t采用的是台积电7nm FinFET工艺。我们知道7nm工艺的流片成本非常高昂,着是否意味着这款7nm的FPGA+只面向云端市场?Robert对雷锋网表示,在高端应用市场,无论是AI的训练还是推理,对性能和延迟要求都很高,需要7nm工艺。当然,除了云端,针对边缘市场我们会有更小且成本更低的产品,满足不用应用和不同市场的续期。

半导体工艺明确后,想让FPGA适合深度学习的算法,还需要架构的改进。Robert表示,传统的基于DSP的FPGA计算单元的设计DSP、LUTs、存储单元是分立的,布线也限制了其性能,不仅不能高效地支持AI模型的不同数值精度,还要消耗额外逻辑的存储资源。

“我们采用的方法是在传统的架构上进行改进,设计出了MLP单元,采用阵列式乘累积计算架构,每个乘累加单元(MAC)支持最多32个乘法器,实现计算的可配置。同时,MLP单元集成分别针对浮点和整型数据的MAC,可支持4到24位的整点格式和高效的浮点模式。并且,计算单元与缓存单元紧密相领,可以实现更复杂的算法,并且不需要使用复杂的布线,确保以750 MHz的最高性能将数据传送到MLP。” Robert指出。

Robert表示,MLP的效率比传统FPGA的性能提升了5倍,使这款FPGA能以每秒万亿次运算数量为单位(TOPS)。算法在不断的改变,但底层的需求都是一样的,他们希望建立一个很好的硬件底层,让算法无论怎么改变,需求都可以被满足。

用片上网络解决数据挑战

计算能力的提高可以通过增加MAC,但算力提升之后,能否解决数据传输的挑战决定着AI处理器最终的性能。据介绍,Speedster7t器件是唯一支持GDDR6存储器的FPGA,并且最多可以支持8个GDDR6控制器,可以支持4 Tbps的GDDR6累加带宽,能够以HBM一半的成本提供与HBM等效的存储带宽。

另外,Speedster7t还有72个高性能的SerDes,可以达到1到112 Gbps的速度,Robert强调已经经过硅片验证过。还带有前向纠错(FEC)的硬件400G以太网MAC,支持4x 100G和8x 50G的配置,每个控制器有8个或16个通道的硬件PCI Express Gen5控制器。为了应对400G以太网数据的处理需求,Achronix采用的是将数据进行分割并行处理的方法。

但这些最先进和更大的带宽只能解决芯片与外部数据的交换,芯片内部数据效率的提升才是关键。这就是Achronix这款新产品架构的另一大关键创新,高带宽二维片上网络(NOC)。Robert将架构中可横跨和垂直跨越FPGA逻辑阵列的NOC比喻为城市街道系统上的高速公路网络。NOC中的每一行或每一列都可作为两个256位实现,单向的、行业标准的AXI通道,工作频率为2Ghz,同时可为每个方向提供512 Gbps的数据流量。

他进一步表示,专用二维 NOC极大地简化了高速数据移动,确保数据流可以轻松地定向到整个FPGA结构中的任何自定义处理引擎。最重要的是,NOC消除了传统FPGA使用可编程路由和逻辑查找表资源在整个FPGA中移动数据流中出现的拥塞和性能瓶颈。不仅可以提高Speedster7t FPGA的总带宽容量,还可以在降低功耗的同时提高有效LUT容量。

除了硬件,AI时代软硬件的重要性被更多地关注。据Robert透露,Achronix在软件和硬件方面的投资相当,并且在公司创立的时候很大的优势就是软件技术,这也是他们今天能做到高端配置的的重要原因。

但Robert也强调,底层的软件非常重要,如果NOC软件做不好,就很难实现真正的提升。目前针对Speedster7t我们的ACE设计工具现已可以提供支持,今年第三季度会发布将TensorFlow、Caffe2等框架AI模型转换到其芯片里的工具。第一批用于评估的器件和开发板将于2019年第四季度提供。

另据了解,安全性方面,Speedster7t FPGA系列可用最先进的比特流安全保护功能应对。在产品的批量化支持方面,Achronix在Speedcore eFPGA IP中采用了与Speedster7t FPGA中使用的同一种技术,可支持从Speedster7t FPGA到ASIC的无缝转换。并且,当使用Speedcore eFPGA IP将Speedster7t FPGA转换为ASIC时,用户有望节省高达50%的功耗并降低90%的成本。

哪种处理器会在AI竞争中胜出?

既然功耗和成本都能够显著降低,那是否意味着Achronix新推出的FPGA+将成为AI芯片的主流?Robert表示,CPU、GPU、FPGA、ASIC每一类芯片都有其技术长处,并且AI芯片的市场在增长,所有的芯片类型都会从中受益。仅看FPGA,根据市场调研公司Semico Research的预测,人工智能应用中FPGA的市场规模将在未来4年内增长3倍,达到52亿美元。

但有观点认为,随着AI算法的成熟,未来市场需要的是最通用和最专用的AI处理器,FPGA将失去优势。对此,Robert表示,随着AI的发展,芯片发生了一些变化,ASIC也需要一些可编程的能力,而我们现在也在FPGA当中增加了ASIC的属性,因此未来FPGA和ASIC都可能不再是传统定义。

更进一步,FPGA会在哪个市场体现出优势?Robert从他们产品的产品出发指出,FPGA器件方面主要是云、网络加速以及机器学习,IP主要还是5G、汽车以及存储。当然,还需要根据客户的反馈和需求,推出性能和架构都最适合客户的FPGA产品。

雷锋网小结

随着计算性能的不断提升,内存墙的瓶颈越来越明显,在这样的情况下,架构的创新能够体现的价值越来越明显。当然,这需要具备前瞻性以及强大的技术研发能力,我们看到市场上有一些针对存储进行的架构创新设计,包括存算一体、存储优先、可重组、可重构的架构等。

Achronix擅长于FPGA技术,经过多年的积累以及凭借对用户需求的了解,选择在保持FPGA灵活性的同时,专为AI性能进行优化实现ASIC级,并且通过片上网络解决数据的传输问题,从最重要的计算能力和数据传输两方面进行创新,也是提升竞争力很好的选择。

标签: #fpga实现深度学习算法