关键词:
YOLO算法
数据流架构
数据流图优化
卷积神经网络
神经网络加速
摘要:
YOLO目标检测算法具有速度快、精度高、结构简单、性能稳定等优点,因此在多种对实时性要求较高的场景中得到广泛应用。传统的控制流架构在执行YOLO神经网络时面临计算部件利用率低、功耗高、能效较低等挑战。相较而言,数据流架构的执行模式与神经网络算法匹配度高,更能充分挖掘其中的数据并行性。然而,在数据流架构上部署YOLO神经网络时面临三个问题:(1)数据流架构的数据流图映射并不能结合YOLO神经网络中卷积层卷积核较小的特点,造成卷积运算数据复用率过低的问题,并进一步降低计算部件利用率;(2)数据流架构在算子调度时无法利用算子间结构高度耦合的特点,导致大量数据重复读取;(3)数据流架构上的数据存取与执行高度耦合、串序执行,导致数据存取延迟过高。为解决这些问题,本文设计了面向YOLO神经网络的数据流加速器DFU-Y。首先,结合卷积嵌套循环的执行模式,本文分析了小卷积核卷积运算的数据复用特征,并提出了更有利于执行单元内部数据复用的数据流图映射算法,从而整体提升卷积运行效率;然后,为充分利用结构耦合的算子间的数据复用,DFU-Y提出数据流图层次上的算子融合调度机制以减少数据存取次数、提升神经网络运行效率;最后,DFU-Y通过双缓存解耦合数据存取与执行,从而并行执行数据存取与运算,掩盖了程序间的数据传输延迟,提高了计算部件利用率。实验表明,相较数据流架构(DFU)和GPU(NVIDIA Xavier NX),DFU-Y分别获得2.527倍、1.334倍的性能提升和2.658倍、3.464倍的能效提升;同时,相较YOLO专用加速器(Arria-YOLO),DFU-Y在保持较好通用性的同时,达到了其性能的72.97%、能效的87.41%。