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

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

0. 前言

我本人的研究方向为智能芯片,开此系列专题,主要用意为留下学习痕迹,并为同样参与此方向研究的同行者提供参考。由于入行时间较短,还处于学习阶段,文章中不免有错漏,敬请大家批评指正。

本文为神经网络模型加速器的经典论文,在阅读过程中,我个人主要关注其硬件架构设计思想及相关考虑,为方便读者阅读和个人整理,下面我会将其中的一些要点一一罗列。

  • 设计考虑
    • 突破数据带宽瓶颈,减少访存消耗
    • 缩减关键路径长度,减少连线占用的片上面积
    • 增大功能单元处理能力,进一步增加芯片计算能力
    • 异构化功能单元,满足不同网络运行需求
  • 具体设计
    • 采用eDRAM用于片上存储,增大片上存储容量
    • 区分数据类型,确定权重参数、输入数据和输出数据的流向
    • 将片上存储划分为多个bank,增大数据带宽
    • 将每个节点划分为多个tile,缩短关键路径长度
    • 片上采用树状网络连接,用于传输数据
    • 片间(节点间)采用2D网络互连

以上为个人总结的本文中指出的要点,后续阅读研究如有其他体会,也会在上面列出。

1. 摘要

摘要行文从ML应用现状出发,引出实现神经网络加速器的必要性。作者指出,虽然神经网络算法在计算量和存储上需求很高,但是同通用处理器不同,多芯片系统(SoC)可以满足相关需求,这同通用处理器面临的内存墙瓶颈有本质的不同。在硬件可行性、算法本身特性基础上,可以完成高速神经网络加速器设计。本文中进行的相关研究,也是在上述两点基础上,进行的加速器架构设计,其最后的实验效果远远高于同期GPU运算水平,相应的单位面积功耗有明显降低。原文中提到数据相关部分如下。

We show that, on a subset of the largest known neural network layers, it is possible to achieve a speedup of 450.65x over a GPU, and reduce the energy by 150.31x on average for a 64-chip system. We implement the node down to the place and route at 28nm, containing a combination of custom storage and computational units, with industry-grade interconnects.

2. 文章介绍

介绍行文思路十分清晰,从机器学习应用出手,引出现阶段市场和科研需求,并通过对比最新的相关领域(当年最新的)研究,指出可以通过构建多芯片联合系统,以实现可重构、可扩展的神经网络加速器。

在本节处,需要理解作者在行文过程中提到的几个重点,这是加速器研究的基础。

  • 在说明机器学习发展迅速,并将继续如此的观点时,提到现阶段推动高性能计算发展的主要动力正逐渐变为机器学习应用

    It is probably not exaggerated to say that machine-learning applications are in the process of displacing scientific computing as the major driver for high-performance computing

  • 在硬件领域,设计研究专用且在某一领域应用灵活的芯片成为主要研究方向,因为这种ASIC芯片可以在低功耗前提下,实现更高性能。

    Our community is well aware of the trend towards heterogeneous computing where architecture specialization is seen as a promising path to achieve high performance at low energy [21], provided we can find ways to reconcile architecture specialization and flexibility.

自2006年开始,深度学习算法在大量应用上表现良好,相关领域研究进展十分迅速,结合上述两个趋势,专注于加快神经网络计算的加速器设计的相关研究,开始逐渐增多,以满足相关算法对计算性能的高需求。这里其实主要通过两者间的互补,指出神经网络加速器出现的必然性和进行相关研究的必要性。更明确一点说,硬件领域,人们发现专用芯片一般应用于某类特定应用,惟其如此,才能实现低功耗、高性能;机器学习领域,出现了相关深度学习算法,这些算法可以实现大量的应用,但是在进行训练和预测的过程时,动辄以天为计数单位,引导人们追求专用于深度学习算法的高性能芯片。

在引出加速器设计之后,下一步行文指出现有的加速器研究的限制

  • 对神经网络的大小有限制,仅适用于包含数十个神经元的小规模网络,或者其中神经元、权重立即值需要存储在主存中

这两个限制十分严格,严重限制了两个领域的发展(机器学习和硬件)

下步行文指出两个趋势

  • 机器学习发展研究时,出现了设计大规模网络的趋势
  • 硬件角度,进行加速器设计时,如果算法所需的相关数据需要存储在同一个主存中,会使内存访问成为计算瓶颈

这两个趋势是驱动实现多芯片系统的内在驱动力,这样可以减少访存消耗,同时能够承担大规模网络的运行需求。

While 8 GB is still too large for a single chip, it is possible to imagine a dedicated machinelearning computer composed of multiple chips, each chip containing specialized logic together with enough RAM that the sum of the RAM of all chips can contain the whole neural network, requiring no main memory.

3. 机器学习技术介绍

本节主要介绍机器学习相关技术,从文章结构上看,处于奠基作用,通过介绍机器学习基础知识,方便后续硬件设计的相关分析。

作者在本节主要从三个方面对重点分析的机器学习算法进行介绍。这里主要介绍了卷积神经网络和深度神经网络的计算层类别及各类计算层进行的基本操作、基准测试程序和训练预测。这三点也是主流机器学习算法设计的主要内容。

为引出下文,此处上来点明卷积神经网络和深度神经网路在机器学习算法中的重要地位,接着阐述两者区别。

卷积神经网络适用于图像应用或者所使用数据具有平移不变性的应用。

深度神经网络相比与卷积神经网络更加复杂,包含更多的神经元,其使用范围也比卷积神经网络广泛。

3.1 主要计算层类别(CNN or DNN&#x

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值