如何用熟悉的工具在 FPGA 上部署边缘 AI

作者:Barley Li,DigiKey 亚太区技术内容应用工程经理

边缘侧的人工智能(Edge AI)在实际应用中,很少只是单纯的推理计算。真实部署通常还包括高速输入/输出(I/O)、信号调理以及实时控制环路,而且这些功能需要并发执行。这类多功能负载要求系统具备高度协同能力与确定性,而这些恰恰是设计人员在使用主流 AI 硬件时较难实现的。

有两个因素进一步加剧了这一问题。首先,AI 模型正以极快的速度演进,这迫使设计人员采用能够支持算法快速更新的平台。同时,许多边缘系统在现场运行的周期可长达十年甚至更久,这使得系统在长期内保持适应性变得困难。其次,从训练模型到部署系统的路径仍然较为割裂。数据科学家通常使用 PyTorch 和 TensorFlow,而嵌入式开发团队则使用完全不同的工具链,这种差异在交接过程中带来了摩擦,从而延长了产品落地周期。

要应对这些挑战,需要一种平台,在典型边缘部署的功耗约束下,同时具备高吞吐 AI 处理能力、确定性行为、灵活 I/O 以及长期可扩展性。

本文将重点介绍推动设计人员探索新型边缘 AI 架构的应用场景及其需求,并引入 Altera 的边缘 AI FPGA 器件及软件工具,说明其如何在不同性能与功耗范围内满足这些应用需求。

边缘 AI 的演进推动架构创新

边缘系统正在越来越多地采用多种 AI 技术,包括用于异常检测的经典机器学习(ML)、用于感知的卷积神经网络(CNN),以及用于大语言模型(LLM)的 Transformer。这些计算密集型算法,往往需要与高要求的非 AI 功能同时运行,例如信号处理、网络通信以及实时控制。

自主系统是一个典型例子。这类系统通常需要从多种传感器(如视频、音频、雷达、激光雷达以及运动/位置反馈)中获取数据,对这些数据流进行高速预处理,利用复杂 AI 模型进行分析,并最终驱动高精度控制环路,而且整个过程必须具备可靠的确定性。

在工业自动化、医疗成像、国防和通信等领域,也存在大量类似场景。其共同特点是:多种计算负载正在融合,而传统架构难以有效承载。

FPGA 如何独特地适用于边缘 AI

相比之下,这些需求与 FPGA 的能力高度契合。FPGA 的核心是可配置逻辑,可以实现真正的并行计算,其时序行为在设计阶段即已确定,而不是在运行时动态变化。这种架构能够提供边缘 AI 所需的低延迟和确定性。

灵活的逻辑结构还带来了强大的 I/O 能力:FPGA 通常提供丰富的高速接口,可以连接各种传感器和执行器,从而实现与 AI 处理的紧密耦合。

此外,FPGA 内部具有分布式存储结构,使数据可以靠近执行计算的逻辑单元,从而减少多个处理阶段争用共享内存总线所带来的瓶颈——这是基于处理器架构的系统中常见的问题。

许多 FPGA 还集成了专用的数字信号处理(DSP)硬件。这些硬化电路在执行信号处理任务时,性能更高、功耗更低。同时,一些 FPGA 还集成了硬核处理器系统,可以运行包括 Linux 在内的标准软件栈,从而支持网络、设备管理以及用户界面等功能。

总体来看,一颗 FPGA 可以整合原本需要多个芯片才能实现的功能,例如 I/O 芯片、AI 加速器、DSP 以及控制处理器。这样可以降低物料清单(BOM)成本、缩小板级尺寸并降低功耗,同时保持边缘 AI 所需的低延迟与确定性。

AI 张量模块如何释放新的可能性

传统 FPGA 的 DSP 硬件已经适用于许多边缘负载,但 AI 推理通常由大量低精度的乘加运算主导。为此,Altera 在 Agilex 3 和 Agilex 5 器件中引入了增强型 DSP,并集成 AI 张量模块。这是一种专门用于矩阵-矩阵和向量-矩阵乘法的硬件结构,而这些运算在 AI 计算图中反复出现。

该方案的核心是标量乘积与加法/累加引擎(见图1)。在张量模式下,硬化的点积单元可以使用 8 位输入和预加载的 8 位权重执行 10 元素点积运算。为了扩展动态范围,数据路径还可以采用共享“公共指数”,类似于块浮点(block floating point)缩放方式,从而满足 AI 推理中“高动态范围但低精度”的典型需求。

图1:AI 张量模块可执行 10 元素点积运.png

图1:AI 张量模块可执行 10 元素点积运算(图片来源:Altera)

点积结果为 32 位(定点或单精度浮点),并且可以级联到额外的加法/累加级,以实现跨多个相邻模块的更大规模点积运算。每个 AI 张量模块包含两个点积列,从而支持多种运行模式。

在典型应用中,一部分增强型数学硬件仍用于传统 DSP 功能,例如对雷达数据执行快速傅里叶变换(FFT);另一部分则作为 AI 张量模块,用于执行卷积神经网络(CNN)等 AI 推理任务。这种灵活性对于需要同时处理 AI 与其他计算密集型任务的边缘系统至关重要。

面向不同 AI 负载的 FPGA 选择

Agilex 系列在性能扩展方面提供了较大灵活性。器件范围从尺寸仅为 12 × 12 毫米、以能效为重点的型号,到性能高达 152.6 TOPS 的高性能型号,同时 I/O 和存储接口能力也相应扩展。

例如,高性能器件 Agilex 5 A5ED065BB32AE4SR0,在 32 × 32 毫米封装中可提供 22.17 TOPS;而面向能效优化的 Agilex 3 A3CW135BM16AE6S,则在 16 × 16 毫米封装中提供 2.8 TOPS。相关关键参数如表1所示。

表1:Agilex 5 与 Agilex 3 示例器件的关键规格.png

表1:Agilex 5 与 Agilex 3 示例器件的关键规格(来源:Altera,经作者整理)

这两个系列既可以作为传统 FPGA 使用,也可以提供集成 Arm 处理器的 SoC 版本。Agilex 3 SoC 集成双核 800 MHz 的 Arm Cortex-A55;Agilex 5 SoC 则采用异构架构,包含双核 1.8 GHz Cortex-A76 以及双核 1.5 GHz Cortex-A55。两者均支持 Linux,从而支持网络、设备管理及用户界面等常规软件开发。

使用 FPGA 简化边缘 AI 部署

AI 模型通常在以软件为中心的框架中开发,迭代周期较短;而 FPGA 实现传统上则需要硬件开发技能,集成周期较长。Altera 的 FPGA AI Suite(见图2)提供了一种更直接的路径,可以通过兼容主流 AI 工具链的流程,将训练好的模型转换为可部署在 FPGA 上的推理 IP。

图2:FPGA AI Suite 工作流程连接了标准 AI 框架与 FPGA 部署.png

图2:FPGA AI Suite 工作流程连接了标准 AI 框架与 FPGA 部署(图片来源:Altera)

该流程可总结如下:

  • 在 PyTorch、TensorFlow 或 ONNX 等标准框架中开发推理模型

  • 使用 OpenVINO 工具包将模型转换为中间表示(IR),包括图文件(.xml)和权重文件(.bin)

  • 将 IR 输入 FPGA AI 图编译器,将模型映射到 FPGA 可用资源上(包括外部主机处理器、内部处理器或无头配置)

  • 使用 Quartus Prime Pro Edition 编译并部署各层,通过推理引擎运行时栈以及 FPGA AI API 管理执行、内存调度与硬件调度

  • 在编译过程中,通过架构优化器平衡性能与资源使用,例如在满足推理吞吐的同时,为其他 FPGA 逻辑预留空间

从实际角度看,这种方法的价值在于:将“在 FPGA 上部署 AI”从一个加速器设计问题,转变为一个系统集成问题。数据科学家可以继续使用熟悉的模型开发流程,而 FPGA 与嵌入式团队则可以获得适配其构建与部署流程的输出,从而加快模型与系统需求迭代速度。通过 OpenVINO 的 Open Model Zoo 提供的预训练模型,还可以进一步加速开发。

使用开发套件快速入门

对于希望快速探索 FPGA 边缘 AI 的设计人员,可以选择多种开发套件。

对于高性能应用,Terasic P0775 Atum A5 开发套件(见图3)是一个合适的选择。该套件基于 Agilex 5 A5ED065BB32AE4SR0,提供丰富的接口组合,适用于边缘系统。主要特性包括:8 GB DDR4、QSFP+ 与 2.5 GbE 接口、PCIe Gen3 x4、双 MIPI 摄像头接口以及 HDMI 输出。该套件还附带 Quartus Prime Pro Edition 的免费许可证。

图3:P0775 Atum A5 开发套件支持高性能 AI 与视觉开发.png

图3:P0775 Atum A5 开发套件支持高性能 AI 与视觉开发(图片来源:Terasic)

对于更注重能效的应用,可以选择 DK-A3W135BM16AEA Agilex 3 FPGA 与 SoC C 系列开发套件(见图4)。该套件基于 Agilex 3 A3CW135BM16AE6S,强调紧凑型原型开发以及良好的生态扩展能力。板载资源包括:4 GB LPDDR4、GbE、DisplayPort 和 USB 2.0,同时提供 Raspberry Pi HAT 接口和 Digilent Pmod 接口,便于扩展。

图4:DK-A3W135BM16AEA 开发套件提供面向能效型边缘 AI 的紧凑平台.png

图4:DK-A3W135BM16AEA 开发套件提供面向能效型边缘 AI 的紧凑平台(图片来源:Altera)

结论

随着大语言模型及其他新型 AI 负载进入边缘侧,开发者正在寻求新的实现方式。FPGA 提供了一种独特的解决方案,不仅能够提供低延迟和确定性性能,还可以同时承担多种系统功能。借助支持 AI 的 Agilex FPGA 以及 FPGA AI Suite,开发者可以更快速、更便捷地利用这些能力,从而为高度可适应、长期运行的系统设计开辟新的架构空间。

文章来源:翻译自timestech.in