AI已经被定义为继互联网、移动计算和云基础设施之后的下一大创新周期。每个周期的成熟速度都比前一周期更快,给硬件平台带来了越来越大的适配挑战。

在这种环境下,可重编程硬件越来越多地作为子系统之间的连接组织,跨越人工智能系统链,而非作为主要计算。FPGA吸收变化的方式与固定硅不同。团队可以快速展示想法,提前部署,并在商业模式成熟的同时在现场不断完善。低功耗和小尺寸设备允许产品在生产中长时间保持生产,而不会在第一天就锁定功能。

在 2 纳米工艺下,在产品量产之前,录片成本现在已经高达数百亿美元。这种成本曲线让初创企业和小型团队在软件或现场升级被考虑之前就被排除在创新格局之外。

PGA提供可编程且灵活的硬件设计,但设计周期比基于CPU或GPU的系统更长。随着AI工作负载的扩展,推动更高的计算密度、更快的部署时间以及更低的每次作能耗,且在延迟和控制受限的工作负载中,FPGA在AI堆栈中还有意义吗?

GPU与FPGA的区别

GPU使用为并行处理优化的固定功能核心。它们已成为人工智能训练和大规模仿真的默认加速器,因为它们能够高效处理大规模矩阵作。成熟的软件生态系统,如CUDA、TensorFlow和PyTorch,也降低了开发者的进入门槛。

而FPGA则非常适合需要确定性行为、自定义数据路径或严格延迟控制的应用,如信号处理、电信基础设施和实时AI推断。权衡转移到开发工作上,这需要硬件描述语言以及对综合和路由的详细了解。

学术比较表明,部署性能比宣传中的TOPS数据更为重要。

2020年IEEE国际现场可编程技术会议上发表的一篇论文比较了AI优化的Intel Stratix 10 NX FPGA与英伟达的T4和V100 GPU。虽然比较涉及高端FPGA,但结果凸显了GPU和FPGA在实时约束下执行模型之间的更广泛差异。

该研究没有追逐峰值数,而是关注实时推断,询问应用在考虑数据移动和系统开销后使用了多少张量硬件。

结果显示,在小批量推断中——即实时和边缘部署中常见的推断——FPGA的有效张量利用率高于GPU。GPU张量核心在大型矩阵-矩阵运算上表现出色,但在推理中较小的矩阵-向量工作负载上利用率急剧下降。一旦PCIe传输开销进入现实,差距进一步扩大。

如果你的应用需要非常低功耗,且每秒性能不一定需要超过一次太太运算,那么FPGA是一种更具成本效益、更低功耗的解决方案。

在低批处理量下,延迟限制了开发者将工作负载分组为大块。在这种情况下,FPGA会将训练好的模型参数保存在FPGA的片上内存中,并通过自定义流水线传输数据。这使得FPGA在峰值TOPS评级相近的情况下,仍能提供比GPU更高的端到端性能。

在汽车ADAS、工业自动化和机器人等应用中,数据是持续从摄像头和传感器接收的。系统必须快速做出决策,而非批量处理。在此类系统中,FPGA汇总和预处理传感器数据,协同处理,并将其反馈给处理更高层决策的GPU或CPU。

FPGA的价值来自低延迟和并行性,而非替代AI加速器。

应用层面的提升

随着人工智能从数据中心扩展到边缘系统、机器人、车辆和基础设施领域,并非所有功能都值得定制加速器。部分工作负载要求快速启动、微安培级待机电流、灵活的输入输出和确定性响应。这些属性在先进工艺节点上难以顺利扩展。

大型FPGA在高功率下实现了大规模的连接性和密度。中端FPGA在性能与效率之间取得了平衡。小型FPGA,通常只有毫米级,最靠近传感器、电机和接口。

如今,后者(小型和中端FPGA)支持千兆级连接、快速启动和现场可编程性,适合电池供电系统进行长时间频繁的电源循环。在这种环境下,小幅的节能转化为系统层面的收益。

机器人领域也出现了同样的模式。现代仓库机器人和新兴的人形平台需要在严格的功率限制下,精确、低延迟地控制数十个电机。靠近执行器的FPGA负责控制和协同处理,而更高级的人工智能则在其他地方运行。

在最远端,FPGA也可以运行推理。工业显示器、笔记本电脑和工厂设备中设备部署,设备以毫瓦数计算且始终开启。存在检测、安全检查和缺陷分类不需要大型模型或高吞吐量,但依赖于连续运行和可预测的响应时间。

一个持久的角色

训练和大规模推理依然由GPU主导,设计上仍然耗费大量功耗。然而,人工智能热潮扩大了加速器周围的系统。随着人工智能从机架转向车辆、工厂、机器人和基础设施,延迟、功耗和系统开销与纯计算同样重要。在这些领域,FPGA的作用相对于GPU会变小,但更难被替代。

GPU将继续主导训练和大规模推断。ASIC将继续追求大规模效率。争论并不取决于FPGA能否在巅峰性能下匹敌GPU。它的核心在于人工智能系统是否能在没有低功耗、低延迟逻辑的情况下高效运行。

即使在高端,开发者也越来越多地将GPU作为紧耦合系统的一部分部署,而非作为独立的加速器。行业现在更重视集成而非暴力破解扩展。英伟达决定与英特尔合作,开发由NVLink紧密耦合的x86–GPU系统,体现了同样的架构转变,减少数据流动开销,并将计算与系统其他部分更紧密地集成。尽管公告未提及可重构逻辑,但显示AI性能依赖于组件连接方式,而不仅仅是峰值加速器吞吐量。

随着人工智能推动半导体需求上升,同时收紧固定功能设计的经济性,FPGA的角色看起来不那么光鲜,但更具基础性。