FPGA自上世纪80年代被发明以来,已经在通信、数字信号处理、集成电路设计、视频图像处理等领域大放异彩。近年来,随着AI的飞速发展,这一拥有低延迟、低功耗、灵活高效等优势的可编程硬件,已经成为算法加速中的重要一环,为AI算法的部署提供了更多的可能性。
随着海量数据的算力需求越来越高,FPGA芯片将继续向更高密度、更高通信带宽方向发展,此外,异构计算融合等形式将越来越受推崇。并且从软件发展角度,也更注重配套的工具能力,提供高性能的AI加速能力。
(资料图)
FPGA在AI芯片市场占比不足1%
高算力需求催生了AI芯片兴起,“无芯片,不AI”,以AI芯片为载体实现的算力成为人工智能发展水平的重要衡量标准。广义上,AI算力芯片指的是专门用于处理AI应用中大量计算任务的芯片,包括GPU、FPGA、ASIC、NPU等AI加速芯片。其中,GPU基于强大的并行计算能力,在图形图像处理、复杂的数学计算等场景,可较好支持高度并行的工作负载。
IDC数据显示,2022年中国AI芯片市场,GPU占比约89.0%,ASIC、FPGA、NPU等芯片市场占有率共计超过10%,其中,FPGA占比仅为0.4%。
图:中国人工智能芯片市场规模占比
在前景广阔的AI芯片领域,FPGA作为一种灵活可编程的硬件平台,具备较高的计算性能和可定制性,能够提供对AI算法的加速和优化;在AI应用中,可以用于实现神经网络加速器、高性能计算单元等,为计算密集型的AI任务提供高性能和低延迟的计算能力。但为什么占有率如此低?未来的增长点有哪些?
一直以来,FPGA的设计和开发相对复杂,需要专门的硬件设计和编程技能;此外,与专用AI芯片相比,FPGA在功耗和性能比方面并无显著优势,这在一定程度上影响了FPGA在AI方案中的采用。
不过,FPGA厂商逐年加大在AI领域的发力,例如推出专门针对AI应用的平台和解决方案,提供了更加易用和高性能的产品。同时,开发工具和框架的不断完善,也降低了使用FPGA实现AI特性的门槛,吸引了更多的开发者和企业采用FPGA技术。
面向AI,FPGA软硬兼修
还在2018年左右,Xilinx(现已被AMD收购)已经洞察到了FPGA在算力市场的巨大价值,提出了“数据中心优先”的战略,随后发布了自适应计算加速平台 (Adaptive Compute Acceleration Platform,ACAP) Versal。这一产品形态已经脱离了传统的FPGA范畴,通过内部的可编程引擎,它引入多个以自适应数据流的方式来组织的AI Core,作为承载AI等数据密集型运算的主体。
也就是说,Xilinx FPGA的AI路线相当于是设计了一套专门的硬件体系来承载AI等数据密集型运算,Versal ACAP 整合了标量处理引擎、自适应硬件引擎和智能引擎以及前沿的存储器和接口技术,从而在异构加速性能方面得以提升。
不同于Xilinx通过独立于传统FPGA结构之外的独立硬件组成单元(AI Core阵列)承载AI,Intel FPGA的AI技术路线相对保守,主要是将嵌入在FPGA内部的DSP模块直接升级为AI张量模块,但它依然是FPGA内部的组成模块之一。
在传统的FPGA中,乘累加主要依靠DSP模块实现。为了追求较高的灵活性,普通的DSP模块就是一两个乘法器、外加一个加法器构成。这样就可以基于这种基本的DSP模块配合FPGA的其它部分构成各种不同的运算算法。
由于AI算法的核心是大量的乘加/乘累加,不是一般的乘加,而是一种“张量”运算。因此提升FPGA执行AI算法的方法,自然就是把DSP模块升级为更加适应AI张量运算的模块,这也正是Intel的技术路线。
Intel第一款采用张量模块的FPGA是2020 年推出的Stratix 10 NX,其张量模块架构主要针对AI计算中常用的矩阵-矩阵或矢量-矩阵乘法和加法运算进行了优化,当时可支持 INT8 和 INT4 数据计算,并通过共享指数支持 FP16 和 FP12 块浮点的数字格式。
采用 AI 张量模块的增强型DSP引入了两种全新的重要运算:面向AI的张量处理能力和面向信号处理应用的复数支持,此类应用包括快速傅里叶变换 (FFT) 和复杂有限脉冲响应 (FIR) 滤波器等。第一种模式可通过 INT8 张量模式增强 AI。第二种新模式是复数运算,过去复数乘法需要两个DSP模块,但优化后,一个采用AI张量模块的增强型DSP就可以进行 16位定点复数乘法运算。这些创新不仅为Intel FPGA的发展奠定基础,也成为Intel近年来面向边缘AI领域的重要支撑。
Xilinx和Intel这两种路线也是FPGA AI化的主要技术路径,特别是Xilinx这种高度可配置、可扩展的架构设计,成为FPGA当前进行异构融合设计的主流方式。
软件方面,HLS(High Level Synthesis,高层次综合)技术是近年来各大FPGA学术会议上,学术界和工业界研究最集中的领域之一。HLS将诸如C++、OpenCL等高层语言,通过特定编译工具可以直接转化成FPGA上可以运行的硬件代码,AMD和Intel都有各自的HLS工具和开发套件。
此外,开发工具链近年来也越来越丰富,包括集成开发环境(IDE)、仿真器、调试器等,这些工具可以帮助开发者在FPGA上开发、调试和验证AI应用,提高开发效率和质量。
边缘AI,中端FPGA潜能巨大
根据性能、成本、尺寸等因素,可以将FPGA产品划分为分为小型、中型和大型FPGA,对应市场上通常所说的低、中、高端应用。
低端FPGA具有低功耗、低成本和小体积优势,适用于边缘计算和IoT设备中。由于边缘计算要求在设备端进行实时的数据处理和决策,低端FPGA适合在边缘设备中实现AI推理任务。例如,用于智能摄像头、智能家居设备、传感器节点等,实现图像识别、语音识别和运动检测等功能。此外,低端FPGA还可以用于小规模的机器学习模型训练和优化。
中端FPGA在AI领域的机会较为广泛,由于具有较高的性能和资源,它适合处理更复杂的AI任务,例如在图像和视频处理、自动驾驶、工业自动化等领域,可用于加速计算、优化算法和实现实时推理。同时,中端FPGA还可以与其他硬件加速器结合使用,构建混合加速平台,实现更高效的AI计算。
高端FPGA在AI领域的机会则主要集中在高性能计算和数据中心加速方面,它具有大规模的逻辑资源、高存储容量和高时钟频率,能够支持更复杂和大规模的AI模型训练和推理任务。
随着AI应用越来越多转向比集中式云数据中心更低的延迟、更安全和私密的处理,高端FPGA特性延伸到中端应用的趋势非常明显,网络边缘计算、智能终端设备等市场呈现出巨大的发展潜力,国内外相关厂商纷纷加大了中端FPGA领域的布局。
工业摄像头就是很好的应用案例之一。工业摄像头由于体积小、散热条件不佳,但对带宽要求越来越高,属于典型的“既需要一定性能、又要求低功耗”的应用。此外还有汽车ADAS包括MDC方面的应用,以及汽车显示等方面,都越来越需要更强的处理能力、更高的处理带宽。中端FPGA的低功耗、高性能就非常适合这类应用。
之前专注于低功耗FPGA的Lattice,近年来就在加大中端FPGA的布局,其策略可以解读为“通过基于专用平台的方法来满足市场需求”。在该公司看来,市场上的许多中端FPGA器件都是采用大型FPGA的架构开发的,其底层架构保持不变,只是某些功能发生了变化。由于这些架构主要是为高性能计算应用而设计的,因此这种方法会导致优化不佳,尤其是在功耗和物理尺寸方面。
相比以前拥有100K~150K逻辑单元的FPGA产品,Lattice推出了逻辑单元数量500K的FPGA产品,同时在互联性能、封装尺寸、性能方面进行了优化,使之更适合中端应用需求。
Intel也开始重视中端FPGA的市场机会,尽管前几年,英特尔推出的FPGA产品都更侧重高端应用市场,但随着Agilex D系列FPGA和代号Sundance Mesa的Agilex FPGA的推出,Intel将会更多关注中端应用市场。
还有一个值得注意的趋势,就是“高端和中端FPGA之间的界限越来越趋于模糊。过去几年,中端FPGA应用发生了很大变化,目前已经演进为需要更高的性能和更低的功耗,高端FPGA将延伸到中端应用中;与此同时,一些低端应用又对产品有更高需求。这就意味着,需要打造具备更低功耗和密度的产品。
国产FPGA厂商也开始面向AI进行创新。京微齐力近期就宣布在其FPGA中采用了Imagination的Series3NX AI核,以适用于AIoT应用、边缘端AI视频分析处理应用等。京微齐力这一做法是将FPGA、CPU、AI等多种异构计算单元集成在同一个芯片上,强调了“硬件的可重构特性”,这种混合架构的平台芯片比单一架构更能支持高定制水平和能效提升。
写在最后
FPGA的关键价值在于可编程性、灵活性,AI发展初期,很多新兴应用还在酝酿中,各类标准仍在演进,AI算法也在不断推陈出新,对于硬件的算力和灵活度要求很高,FPGA刚好契合这些需求。此外,在推理环节的小批量数据处理中,FPGA可凭借流水线并行,达到高并行、低延迟的效果。并且,受低延迟、数据隐私和带宽限制等因素驱动,FPGA能够满足低功耗、灵活以及快速响应等需求。
行业数据显示,2021-2027年,FPGA市场预计将以12%的年复合增长率持续成长,并达到130亿美元的规模。预计中国市场增速会更快,未来5年增长率将保持在18%左右。得益于面向AI应用的提升,FPGA有望在汽车、工业等传统非FPGA应用领域中获得新的机会。
标签: