神经网络加速器设计研究:寒武纪DianNao论文阅读

本文研究了神经网络加速器设计,针对CNN和DNN,提出了一种适用于大规模网络的加速器结构。研究重点在于优化访存性能,以减少数据带宽需求和提升计算效率。通过对卷积层、汇聚层和分类层的数据流分析,揭示了数据重用在加速器设计中的关键作用。此外,还探讨了小规模和大规模神经网络加速器的硬件实现,包括输入/输出缓存、神经网络功能单元和控制逻辑的设计,旨在实现低功耗、高性能的加速方案。
摘要由CSDN通过智能技术生成

神经网络加速器设计研究:寒武纪DianNao

研究背景

  • 现阶段机器学习算法应用逐渐广泛,为了设计出可以更快运行相关算法的ASIC,提出设计
    • 此处主要从相关算法的数量少,应用广,并现阶段常使用SIMD、GPU或FPGA作为其运行平台,效果并不理想,因此提出设计
  • 主要贡献
    • 提出一种综合加速器设计方法,适用于大规模CNN和DNN,可以运行当前最先进的算法
    • 实现小面积、低功耗条件下的高吞吐率
    • 提出的加速器设计方法主要关注访存性能,并对比访存无消耗情况下的运行情况

ML技术介绍(CNN & DNN)

  • 介绍了神经网络算法的大致发展历程及相关术语
  • 当前设计的加速器可以加快处理过程,并不能加快训练过程
    • 从需求角度讲,处理的速度快慢直接影响市场,训练则可以离线进行,但是加快训练仍是有必要的
  • 即使深度神经网络和卷积神经网络并不一样,但是可以抽象出相同的通用结构,以便进行加速器设计,因为相关的算法都是分层的,且每一层的功能基本固定,进行的操作大致相同,均为矩阵乘加运算
  • 卷积层的概念
    • 卷积层本质是对数据的过滤
  • 汇聚层的概念
    • 汇聚层主要用于提取有用的信息
  • 分类层的概念(输出层)
    • 分类层本质是输出层,根据运算结果确定类别

CNNs中三种类型的层的存储需求分析

在这里插入图片描述

  • 大型神经网络训练和预测速度难以提高的瓶颈,在于高数据带宽需求。以CNN为例,底层进行的都是大矩阵乘加运算,每层操作需要的数据量非常庞大,如果希望降低计算时长,只能从增加数据带宽、存储单元重用、降低网络规模三个角度进行分析。在大规模神经网络的前提下,可考虑的就是增加数据带宽和存储单元重用,而随着集成电路技术的发展,片上带宽已经做到的同时代同工艺芯片的顶峰,其增长已经遇到瓶颈,因此更有潜力的研究方向是从存储单元重用入手,通过降低访存时间或减少访存次数来进行加速器设计,以实现大规模神经网络加速。本节通过对卷积神经网络中三种通用操作层,分类层、卷积层和汇聚层的数据流情况进行分析,研究其内在的可重用情况,并通过实验,对比了采取重用机制前后,数据带宽需求的变化,最终说明,进行大规模神经网络加速器设计时,
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值