资料介绍
描述
该项目介绍了我们对基于称为 AdderNet 的新型深度学习模型的硬件推理加速器设计和优化的研究。通过用绝对和 (SAD) 内核替换计算密集型卷积 (CONV) 操作,可以通过具有成本效益的加法器/减法器威廉希尔官方网站 消除大量乘法器,这可以提高计算吞吐量,因为硬件限制。我们在 FPGA 设备上展示了基线 ResNet-20 实现 (CNN-ResNet-20) 和两个 AdderNet 设计变体 (ADD-ResNet-20) 之间的比较研究。我们利用自动 HLS(高级综合)和手动转换将 SAD 操作映射到 Xilinx Zynq MPSoC 的 FPGA DSP 块 (DSP48E2)。尤其是,当 DSP48 模块配置为 SIMD(单指令多数据)模式时,我们可以用一个 DSP 模块和最少的 LUT 逻辑资源支持至少两个 SAD 操作。在这个研究阶段,我们选择使用一个 DSP 来支持 2 个 SAD 操作,以增加 10% 的 LUT 和 5% 的推理时间开销为代价,总共可以减少 45.43% 的 DSP 利用率。这些结果鼓励我们探索新的深度学习加速器设计策略,以利用新兴的基于 SAD 内核的 AdderNet 模型以及每个 DSP ≥4 SAD 的积极 SIMD 配置来提高推理吞吐量。我们选择使用 1 个 DSP 支持 2 个 SAD 操作,以增加 10% 的 LUT 和 5% 的推理时间开销为代价,总共可以减少 45.43% 的 DSP 利用率。这些结果鼓励我们探索新的深度学习加速器设计策略,以利用新兴的基于 SAD 内核的 AdderNet 模型以及每个 DSP ≥4 SAD 的积极 SIMD 配置来提高推理吞吐量。我们选择使用 1 个 DSP 支持 2 个 SAD 操作,以增加 10% 的 LUT 和 5% 的推理时间开销为代价,总共可以减少 45.43% 的 DSP 利用率。这些结果鼓励我们探索新的深度学习加速器设计策略,以利用新兴的基于 SAD 内核的 AdderNet 模型以及每个 DSP ≥4 SAD 的积极 SIMD 配置来提高推理吞吐量。
卷积神经网络(CNN)已广泛应用于计算机视觉任务领域。例如工业检测、自主视觉和机器人检测。然而,由于其大量的乘法运算和参数,很难将这些标准神经网络部署到具有效率吞吐量和功耗的嵌入式设备中。作为一种解决方案,AdderNet 在深度神经网络,尤其是卷积神经网络 (CNN) 中使用这些大规模乘法,以获得更便宜的加法以降低计算成本。
Function.1 CNN
Function.2 人工神经网络
作为案例研究,我们选择 ResNet-20-CIFAR10 作为基线设计。ResNet-20-CIFAR10的处理引擎如图1所示。据我们所知,CNN 加速器有两种通用方法:单个 PE 和多个 PE。在这项工作中,我们在应用程序中使用了多个 PE 以获得更好的吞吐量。
自动 HLS 和手动转换
Xilinx Vitis HLS 上的自动综合:
Xilinx Vitis HLS 可以从 C++ 代码自动生成 FPGA 项目。
对于 CNN-ResNet-20,综合报告显示该项目的硬件符合我们的目的。
对于 ADD-ResNet-20,合成报告并没有遵循我们之前的目的,因为 Vitis HLS 中的 C 合成不支持将 DSP48 配置为 SIMD 模式。
我们的解决方案:
将 SAD 操作设计为 C++ 中的独立函数。
替换 Xilinx Vitis HLS 生成的 Verilog 源文件中的 SAD 代码。
在 Xilinx Vivado 中重新综合该项目。
此外,通过编辑 SAD 代码,我们可以为 DSP48E2 配置更多选项。
Batch Normalization 融合可以减少计算量,并为模型量化提供更简洁的结构。
如 Function.3 和 4 所示,将细化权重应用于卷积层作为原始推理。但是考虑左边显示的加法器层的功能,作为卷积添加到函数中的细化权重不能用作卷积层。
由于乘法和加法的开销,这个函数不能提供 AdderNet 的硬件优势。
为了避免这种开销,我们使用额外的 for 循环来处理乘法和加法的开销,这将花费更多的时钟周期和硬件。
DSP配置方法
在本节中,将介绍两种 DSP48E2 配置方法:
方法 a:利用与 CONV 相同数量的 DSP,但与方法 b 相比,LUT 更少。
方法 b:利用一半的 DSP 作为 CONV,但与方法 a 相比,LUT 更多。
该报告显示,通过比较解决方案 a、解决方案 b 和 ResNet-20 基线的结果,我们的方法可以以增加 10% 的 LUT 和 5% 的推理时间开销为代价,减少大约 45% 的 DSP 利用率。
- Rapanda流加速器-实时流式FPGA加速器解决方案
- 《医用电子直线加速器》pdf 0次下载
- 基于FPGA的SIMD卷积神经网络加速器 24次下载
- 神经网络加速器简述 12次下载
- 基于深度学习的矩阵乘法加速器设计方案 3次下载
- 3小时学习神经网络与深度学习课件下载 0次下载
- 深度模型中的优化与学习课件下载 3次下载
- 一种基于机器学习的流簇大小推理模型 34次下载
- 深度学习是什么?了解深度学习难吗?让你快速了解深度学习的视频讲解 16次下载
- 工具包和Eval板帮助加速加速器应用 13次下载
- Green网络加速器 24次下载
- 加速器控制技术
- 兰州重离子加速器冷却储存环高频加速系统
- 实时频谱分析仪(RSA)在加速器中的应用
- 基于Profibus和Ethernet的加速器高频控制系统设
- 什么是神经网络加速器?它有哪些特点? 232次阅读
- 如何处理cache miss问题以提高加速器效率呢? 1127次阅读
- 一个微型的粒子加速器 648次阅读
- 视觉深度学习迁移学习训练框架Torchvision介绍 734次阅读
- 硬件加速器提升下一代SHARC处理器的性能 1068次阅读
- OpenCV+CUDA编译实现YOLOv5能加速 2369次阅读
- 充分利用数字信号处理器上的片内FIR和IIR硬件加速器 1654次阅读
- 多智体深度强化学习研究中首次将概率递归推理引入AI的学习过程 4743次阅读
- FPGA的深度学习加速器有怎样的挑战和机遇 6255次阅读
- 有多快?华为云刷新深度学习加速纪录 5134次阅读
- 一种基于FPGA的高性能DNN加速器自动生成方案 5442次阅读
- 斯坦福机器学习硬件加速器的课程学芯片技术机会来了 5972次阅读
- 深度学习和机器学习深度的不同之处 浅谈深度学习的训练和调参 4270次阅读
- Veloce仿真环境下的SoC端到端硬件加速器功能验证 3491次阅读
- 优化基于FPGA的深度卷积神经网络的加速器设计 7889次阅读
下载排行
本周
- 1使用单片机实现七人表决器的程序和仿真资料免费下载
- 2.96 MB | 44次下载 | 免费
- 2联想E46L DAOLL6笔记本电脑图纸
- 1.10 MB | 2次下载 | 5 积分
- 3MATLAB绘图合集
- 27.12 MB | 2次下载 | 5 积分
- 4PR735,使用UCC28060的600W交错式PFC转换器
- 540.03KB | 1次下载 | 免费
- 5UCC38C42 30W同步降压转换器参考设计
- 428.07KB | 1次下载 | 免费
- 6DV2004S1/ES1/HS1快速充电开发系统
- 2.08MB | 1次下载 | 免费
- 7模态分解合集matlab代码
- 3.03 MB | 1次下载 | 2 积分
- 8美的电磁炉维修手册大全
- 1.56 MB | 1次下载 | 5 积分
本月
- 1使用单片机实现七人表决器的程序和仿真资料免费下载
- 2.96 MB | 44次下载 | 免费
- 2UC3842/3/4/5电源管理芯片中文手册
- 1.75 MB | 15次下载 | 免费
- 3DMT0660数字万用表产品说明书
- 0.70 MB | 13次下载 | 免费
- 4TPS54202H降压转换器评估模块用户指南
- 1.02MB | 8次下载 | 免费
- 5STM32F101x8/STM32F101xB手册
- 1.69 MB | 8次下载 | 1 积分
- 6HY12P65/HY12P66数字万用表芯片规格书
- 0.69 MB | 6次下载 | 免费
- 7华瑞昇CR216芯片数字万用表规格书附原理图及校正流程方法
- 0.74 MB | 6次下载 | 3 积分
- 8华瑞昇CR215芯片数字万用表原理图
- 0.21 MB | 5次下载 | 3 积分
总榜
- 1matlab软件下载入口
- 未知 | 935119次下载 | 10 积分
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420061次下载 | 10 积分
- 3Altium DXP2002下载入口
- 未知 | 233084次下载 | 10 积分
- 4威廉希尔官方网站 仿真软件multisim 10.0免费下载
- 340992 | 191367次下载 | 10 积分
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183335次下载 | 10 积分
- 6labview8.5下载
- 未知 | 81581次下载 | 10 积分
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73807次下载 | 10 积分
- 8LabVIEW 8.6下载
- 未知 | 65987次下载 | 10 积分
评论
查看更多