硬件感知的神经网络架构搜索:FPGA 管道加速之路
1. 目标平台:FPGA 管道
目标平台选用 FPGA,它能让我们自由地描述并将自定义硬件加速器映射到硬件上。借助 FPGA 的强大能力,我们可以为深度神经网络(DNN)设计特定应用的深度管道,利用大规模硬件级并行性来尽快计算出输出结果。
FPGA 的独特之处在于其硬件架构可重新配置,这使得硬件与软件的协同作用比固定架构更为显著,也让 FPGA 成为硬件感知的神经网络架构搜索(NAS)的理想之选。
要将 NAS 找到的以深度学习框架特定表示形式存在的 DNN 映射到 FPGA 配置中,有许多工具可供使用。这些工具还能通过各种优化步骤提升 DNN 的执行效率,例如:
- 量化 :以降低数值精度为代价,减少所有操作数的内存需求。
- 层融合 :将多个较小的操作合并为一个更大、更高效的操作。
不过,这些优化方法存在局限性,因为它们无法对 DNN 拓扑结构进行根本性改变,否则就需要重新训练网络。
这里采用 Xilinx FINN 框架的一个变体作为硬件生成器,它会在 FPGA 上以管道形式实现整个 DNN。尽管生成器的实现过程是自动的,但由于 FPGA 硬件资源有限,选择合适的 DNN 依然颇具挑战。这就是为什么需要硬件感知的 NAS,以找到能同时满足应用和硬件要求的最优解决方案。
在制定 NAS 的目标之前,我们需要了解 DNN 在 FPGA 上的实现方式。以下是处理器或 GPU 与 FPGA 实现 DNN 的区别:
| 实现方式 | 计算方式 | 内存使用 | 并行性
超级会员免费看
订阅专栏 解锁全文
1881

被折叠的 条评论
为什么被折叠?



