FPGA、GPU 与 CPU – 人工智能应用程序的硬件选择

2022年04月26日 10:29    发布者:eechina
来源:AVNET

现场可编程门阵列 (FPGA) 为人工智能 (AI) 应用带来了许多优势。图形处理单元 (GPU) 和传统的中央处理单元 (CPU) 相比,孰优孰劣?

所谓人工智能 (AI),是指能够以类似于人类的方式做出决策的非人类机器智能,涵盖了判断、思考、适应和意图能力。

研究公司 Statista 预测,到 2025 年,人工智能的全球市场规模将达 1260 亿美元。到 2030 年,人工智能在中国、北美和阿联酋 GDP 中的占比将分别达到 26.1%、14.5% 和 13.6%。

人工智能市场涵盖了各类应用,包括自然语言处理 (NLP)、机器人过程自动化、机器学习和机器视觉。在很多垂直行业,人工智能的采用率迅速提升,正在创造又一项伟大的技术变革,可以与个人电脑和智能手机的出现相提并论。

尽管人工智能主要依赖于模拟人类思维的编程算法,但硬件同样发挥着重要作用。人工智能操作包括三大主要硬件解决方案:现场可编程门阵列 (FPGA)、图形处理单元 (GPU) 和中央处理器 (CPU)。

人工智能 (AI) 及其术语最早来源于研究人员 Allen Newell、Cliff Shaw 和 Herbert Simon 在 1956 年创建的 Logic Theorist 程序。Logic Theorist 程序由兰德 (RAND) 公司资助开发,旨在模拟人类解决问题的技能。Logic Theorist 被视为第一款人工智能程序,并于 1956 年在新罕布什尔州达特茅斯学院的达特茅斯人工智能夏季研究项目 (DSRPAI) 中进行了介绍。

每种方案都各有优缺点,接下来我们将进一步探讨。

FPGA

现场可编程门阵列 (FPGA) 是具有可编程硬件结构的集成电路。其与图形处理单元 (GPU) 和中央处理单元 (CPU) 的不同之。处在于,FPGA 处理器内部的功能电路未经过硬蚀刻。因此,FPGA 处理器可以根据需要进行编程和更新。此外,设计人员也能从头开始构建神经网络,或完全根据自身需求打造 FPGA。

FPGA 采用可重编程、可重配置的架构,在日新月异的人工智能领域优势明显,使设计人员可以快速测试新算法。由于无需开发和发布新硬件,因此在缩短产品上市时间和节省成本方面竞争优势明显。

FPGA 兼具速度、可编程性和灵活性,降低了专用集成电路 (ASIC) 开发所固有的成本和复杂性,使得效率大为提高。

FPGA 的主要优势包括:

• 延迟降低,性能卓越: FPGA 可以带来低延时,同时也是可确定性的延时(Deterministic Latency)。DL 作为模型将从初始状态或给定的起始条件连续产生相同的输出。DL 提供已知的响应时间,对于很多具有严格硬时延要求的应用程序而言,这一点至关重要。由此,可以加快语音识别、视频流和运动识别等实时应用程序的执行速度。

• 成本效益:制造完成后,FPGA 可以针对不同的数据类型和功能重新编程,避免因为应用改变而需要的硬件更新,从而体现出极高的价值。设计人员可以将其他功能(例如图像处理流程)集成到同一芯片上,借助 FPGA 实现人工智能以外的功能,从而降低成本,节省电路板空间。FPGA 的产品生命周期较长,能显著提升应用的实用性,延长的有效时间可达数年甚至数十年。由此,其成为了工业、航空航天、国防、医疗和运输领域的理想之选。

• 能源效率: 借助 FPGA,设计人员能够对硬件进行微调,以匹配应用需求。利用 INT8 量化等开发工具是优化机器学习框架(如 TensorFlow 和 PyTorch)的有效方法。同时,INT8 量化也为 NVIDIA® TensorRT 和 Xilinx® DNNDK 等硬件工具链提供了令人满意的结果,因为 INT8 使用 8 位整数而不是浮点数,同时使用整数运算而不是浮点运算。适当使用 INT8 可以减少内存和计算需求,最多能使内存和带宽使用量减少 75%。在要求苛刻的应用中,这一点对于满足功耗要求而言至关重要。

FPGA 可以并行处理多种功能,甚至能为特定功能分配器件中特定资源,大大提高了操作和能源效率。FPGA 架构独特,将少量分布式内存放入结构中,使得它们更靠近处理单元。与 GPU 设计相比,这种设计降低了延迟,更重要的是减少了功耗。

GPU

图形处理单元 (GPU) 最初开发用于生成计算机图形、虚拟现实训练环境和视频,其借助高级计算和浮点功能绘制几何对象、照明和色深。人工智能若要获得成功,就需要大量用于分析和学习的数据。这就需要强大的计算能力来执行人工智能算法并转移大量数据。GPU 之所以能够执行此类操作,是因为其专门设计用于快速处理渲染视频和图形时使用的大量数据。由于计算能力出众,GPU 在机器学习和人工智能应用领域颇受欢迎。

GPU 非常适合并行处理,即并行计算大量算术运算。由此,在具有重复工作负载且快速连续地重复执行的应用程序中,可以显著提高处理速度。GPU 的定价可以采用竞争性解决方案,普通显卡的生命周期为五年。

另一方面,在 GPU 上实施人工智能的局限性也确实存在。GPU 提供的性能通常不及 ASIC 设计,后者具有专门设计用于人工智能应用的微芯片。GPU 具备强大的计算能力,但却牺牲了能效,产生的热量也较高。热量会影响应用的耐用性,损害性能并限制操作环境的类型。在更新人工智能算法和添加新功能方面,其能力也无法与 FPGA 处理器相提并论。

CPU

中央处理器 (CPU) 是许多设备中使用的标准处理器。与 FPGA 和 GPU 相比,CPU 架构的内核数量有限,针对顺序串行处理进行了优化。Arm® 处理器可能是个例外,因其稳健地实施了单指令多数据 (SIMD) 架构,可以同时操作多个数据。尽管如此,但其性能仍无法与 GPU 或 FPGA 媲美。

由于内核数量有限,CPU 处理器无法高效地并行处理正确运行人工智能算法所需的大量数据。FPGA 和 GPU 的架构设计具有密集并行处理功能,可以快速并行处理多个任务。FPGA 和 GPU 处理器执行人工智能算法的速度比 CPU 更快。这意味着与 CPU 相比,人工智能应用程序或神经网络在 FPGA 或 GPU 上的学习和反应速度要快好几倍。

CPU 确实存在一些初始价格优势。使用有限的数据集训练小型神经网络时,可以使用 CPU,但需要以较长时间的代价。与基于 FPGA 或 GPU 的系统相比,基于 CPU 的系统运行速度要慢得多。基于 CPU 的应用程序还存在另一个优势,那就是功耗。与 GPU 配置相比,CPU 能效更高。

微型机器学习 (TinyML)

TinyML 被视为人工智能发展的下一个发展阶段,增长势头强劲。尽管 FPGA、GPU 和 CPU 处理器上运行的人工智能应用程序功能极其强大,但无法在手机、无人机和可穿戴应用程序等情境中使用。

连接设备日趋普及,需要进行本地数据分析,降低对云的依赖,实现完整功能。TinyML 可以在微控制器上运行的边缘设备内实现低延迟、低功耗和低带宽的推理模型。

普通消费者 CPU 的功耗在 65 到 85 瓦之间,而 GPU 的平均功耗在 200 到 500 瓦之间。相比之下,典型的微控制器消耗的功率为毫瓦或微瓦数量级,功耗仅为千分之一。因此,TinyML 设备能够依靠电池供电运行数周、数月甚至数年,同时在边缘运行机器学习应用程序。

TinyML 支持 TensorFlow Lite、uTensor 和 Arm 的 CMSIS-NN 等框架,将人工智能与小型互联设备相结合。

TinyML 的优势包括:

· 能源效率: 微控制器功耗极低,是远程安装和移动设备的理想选择
· 低延迟: 可以在边缘本地处理数据,无需将数据传输到云端进行推理,由此大大降低了设备延迟。
· 隐私: 数据可以存储在本地,无需存储在云服务器上。
· 带宽减少: 降低了对云端推理的依赖性,最大限度地减少了带宽问题。

对于不适合使用 FPGA、GPU 或 CPU 的小型边缘设备和规模有限的应用,使用 MCU 的 TinyML 未来使用前景广阔。

要点

人工智能主要包括三大硬件解决方案:FPGA、GPU 和 CPU。对于速度和反应时间至关重要的人工智能应用而言,FPGA 和 GPU 在学习和反应时间方面存在优势。尽管 GPU 能够处理人工智能和神经网络所需的大量数据,但缺点也比较明显,包括能效、散热(热量)、耐用性以及应用程序新功能和人工智能算法更新的能力。FPGA 在人工智能应用和神经网络中拥有关键优势,包括能源效率、实用性、耐用性以及更新人工智能算法的简便性。

此外,FPGA 开发软件也取得了重大进展,显著降低了编程和编译难度。硬件选择是人工智能应用程序的成败关键所在。最终决定之前,请仔细研究,谨慎抉择。

您需要为下一次创新选择合适的技术合作伙伴,以便提高效率,降低潜在风险并最大程度地提高盈利潜力。为了帮您实现目标,安富利可以为您牵线搭桥,与人工智能领域值得信赖的全球技术合作伙伴建立连接。由此,您可以将宝贵的资源集中在知识产权创新及其他竞争优势明显的领域。我们将与您紧密合作,全力提供所需支持,帮助您的产品在市场中脱颖而出,缩短产品上市时间,赢取更多生意。