摘要: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%。
文章目录
1 引言
2 相关工作
2.1 YOLO算法特点
2.2 YOLO卷积算子
2.3 YOLO加速相关研究
2.4 数据流架构DFU
3 研究动机
3.1 数据复用性差
3.2 算子间数据重复读取
3.3传输延迟高
4 DFU-Y架构
4. 1 小卷积核卷积数据流图映射算法
4.2 算子融合调度机制
4.3 解耦合访存-执行模式
5 实验设置
5.1 实验平台
5.2 测试程序
5.3 对比平台
5.4 衡量指标
6 结果分析
6.1 数据格式实验
6.2 DFU-Y上的消融实验
6.3 与其他平台的性能对比
6.4 DFU-Y执行其他网络
6.5 代 价
7 总 结