背景        

人工智能(Artifical Intelligence),是研究、开发用于模拟、延伸和扩展人类智能的理论、方法、技术及应用系统的一门科学技术。人工智能的本质是对人类思维过程的模拟。

人工智能应用创新和产业融合,在政策、资本和产业的推动下不断深入,人工智能的应用场景将更快地扩大到各个行业,并在智慧城市、智能制造、智慧医疗、自动驾驶等领域得到广泛应用。自主人工智能计算平台可以帮助客户解决将算法部署到硬件的难题,实现人工智能一键式部署,加速人工智能应用落地。

架构设计

常规架构通常包括两种:

1、全流水线架构,顾名思义,将整个神经网络进行平铺,并对每一层进行优化设计,优点:实现高吞吐率和低延时。缺点:消耗大量硬件资源,通常无法跨网络或硬件平台实现

2、逐层加速,即实现通用加速核心,多个网络层复用加速核心。缺点就是,可能造成计算效率偏低,需要和外部缓存交互导致整个加速器时延过大。优点是,通用。可以跨网络和跨平台移植。

一般AI芯片设计中通常会选择第二种。至于基于FPGA硬件加速实现,可以根据需求指标和硬件资源情况进行取舍选择。

从计算架构角度分为四种不同类型:

1、指令集架构:

可以定义为一种采用完整神经网络指令集来进行神经网络计算加速的一类人工智能处理器。其特点是采用预定义好的定长或者变长的指令作为处理的基本单元,通过对指令的组合构成指令流,由指令流完成任意的计算任务。基本过程即:取指、译码及执行。无论CPU、GPU还是新型的NPU都有很多成功的案例在使用指令集的方式支持不同的计算任务。通过对神经网络的计算特征抽象、构造神经网络专用的指令集,从而实现专用的AI处理器。包括寒武纪、燧原科技、壁仞科技等,都是通过这样的方式来实现人工智能计算  可以定义为一种采用完整神经网络指令集来进行神经网络计算加速的一类人工智能处理器。其特点是采用预定义好的定长或者变长的指令作为处理的基本单元,通过对指令的组合构成指令流,由指令流完成任意的计算任务。基本过程即:取指、译码及执行。无论CPU、GPU还是新型的NPU都有很多成功的案例在使用指令集的方式支持不同的计算任务。通过对神经网络的计算特征抽象、构造神经网络专用的指令集,从而实现专用的AI处理器。包括寒武纪、燧原科技、壁仞科技等,都是通过这样的方式来实现人工智能计算

2、数据流架构

通过数据流调度决定张量的架构,特点是优化数据复用和计算的并行度。在典型的数据流阵列中,会对神经网络的张量划分成不同的Tile,映射到计算单元中,典型的数据流包括两种:

  • WS数据流:充分复用权重
  • OS数据流:充分复用部分数据

通过不同的数据流提高数据复用的程度,减少缓存,提高计算的并行度,从而最终提高系统的处理能力和提高处理的能效。

3、存内计算架构

传统计算架构,计算单元和存储器之间是分离的结构,在每次计算中计算单元和存储器之间要进行一定的数据搬移。存内计算则将一定的计算单元放到存储器内部,在计算过程中不需要大量的搬移数据,从而解决传统计算架构中的存储墙问题。

  • (1)传统计算:数据需要在存储器和处理单元之间反复传输,面临“存储器墙”瓶颈。
  • (2)存内计算:将处理单元的计算功能移动到存储器内部,消除了“存储器墙”瓶颈
    • 有效解决存储墙问题,在SRAM/RRAM/FLASH中,通过模拟的方式实现数字的计算,一是降低数据搬移,同时降低计算功耗,提高了计算效率。

4、可重构架构

一方面,计算单元在空间排成阵列结构,具有计算并行性;另一方面,是近存计算,每个计算单元附近有一个存储单元,减少数据搬移的距离,同时具有弹性粒度特点,通过电路上的重构提高计算的位宽,随着算法的需求变化,可以动态重构计算结构,最终的计算由数据流驱动。

  1. 计算阵列重构:由多个并行计算单元互联而成,每个计算单元可以根据算法所需要的的基本算子不同而进行功能重构
  2. 存储带宽重构:能够根据AI算法的不同而进行重构,以提高数据复用性和计算并行度,提高计算吞吐和能量效率
  3. 数据位宽重构:为满足AI算法多样的精度需求,支持高/低比特模式下计算需求

设计评价指标

神经网络加速器面临的主要问题在于运算速度和功耗。简言之,归纳为性能和能效

1 性能

性能(Performance,单位:GOPS)

Performance = 2MAC*PE Utilization*Frequency

  • 硬件乘加单元数:MAC
  • 计算单元利用率:PE Utilization
  • 计算核心频率:Frequency

能效

能效(Energy Efficiency,单位:GOPS/W)

EnergyEfficiency=Performance/Power=Performance/((Ecomp+Eio)/T)=NOP/(Eop*Nop+Emem*Nmem)=1/(Eop+Emem*Nmem/Nop)

其分别代表了平均一次运算需要消耗的能量,由两部分构成:计算能耗以及平均访存能耗,降低这一能耗指标可以从以下三个方面入手:降低计算本身的能耗;减少单词访存的能量;减少计算流程中访存次数。

核心问题

优化目标:性能和能效

从计算单元利用率和访存次数两个角度优化设计

(1)根据网络结构多样性,应高效地复用各层存储在片上缓存的数据

(2)应充分利用硬件资源,在支持各种算子参数时减少计算单元的浪费

神经网络硬件加速器-架构篇相关推荐

  1. 神经网络硬件加速器-模型分析

    一 基本网络层数学模型 输入特征图尺寸为N*H*L,卷积计算通过M个尺寸为K*K*N的3维卷积核完成,每个卷积核在输入特征图上以S为步长滑动并进行3维卷积计算,最终生成尺寸为R*C*M的输出特征图. ...

  2. 硬件加速器为人工智能应用服务

    硬件加速器为人工智能应用服务 Hardware accelerators serve AI applications 硬件加速器(Hardware accelerators)是用于执行特定任务(如对对 ...

  3. 如何设计神经网络的硬件加速器

    设计神经网络的硬件加速器的方法有很多种,具体的方法取决于你的应用场景以及你希望达到的性能目标.一些常用的方法包括: 使用专门设计的神经网络处理器,比如 Google 的 Tensor Processi ...

  4. 基于FPGA的深度卷积神经网络的加速器设计

    英文论文链接:http://cadlab.cs.ucla.edu/~cong/slides/fpga2015_chen.pdf 翻译:卜居 转载请注明出处:http://blog.csdn.net/k ...

  5. 优化基于FPGA的深度卷积神经网络的加速器设计

    英文论文链接:http://cadlab.cs.ucla.edu/~cong/slides/fpga2015_chen.pdf 翻译:卜居 转载请注明出处:http://blog.csdn.net/k ...

  6. 利用 UMA 使硬件加速器可直接用于 TVM

    本篇文章译自英文文档 Making your Hardware Accelerator TVM-ready with UMA 作者是 Michael J. Klaiber,Christoph Geru ...

  7. (一)人工智能大纲摘要:《人工智能发展白皮书-技术架构篇(2018年9月)》

                                   以下博客的主要内容,摘自白皮书. http://www.caict.ac.cn/kxyj/qwfb/bps/index_1.htm < ...

  8. View 5.1 重装上阵(4—基础架构篇)

    从底层架构方面来看,VIEW 5.1最大的改进在于引入了Content-Based Read Cache(CBRC) 技术,大大降低了部署桌面虚拟化所带来的IOPS风暴,同时大大降低了对于存储的压力和 ...

  9. 探索图神经网络的网络架构和训练方法

    摘要:本文我们将主要介绍各种典型的图神经网络的网络架构和训练方法. 本文我们将主要介绍各种典型的图神经网络的网络架构和训练方法.文章<A Comprehensive Survey on Grap ...

最新文章

  1. 科研文献|结肠直肠癌早期检测中跨群体微生物标记物的鉴定
  2. 乔布斯 18 岁求职信拍卖价 22.24 万美元,值吗?
  3. bat命令 修改ini文件内容_关于mysql使用中文乱码;mysql修改ini文件无法启动;以及mysql卸载无法安装的一系列问题说明。...
  4. java数组 —(8)
  5. [译]基于GPU的体渲染高级技术之raycasting算法
  6. Linux I/O 调度方法
  7. 测一测!中科视拓免费开放口罩人脸检测与识别技术
  8. 解决Pycharm无法使用已经安装Selenium的问题
  9. quartz集群报错but has failed to stop it. This is very likely to create a memory leak.
  10. hdu--1869--见过最好听的题名附送1870
  11. Go 遍历map时的key随机化问题及解决方法
  12. 博士德霸道软件_霸道+远程版7.0
  13. 苹果手机 计算机 错误,苹果手机的计算器连1+2+3都算不对!原因太尴尬!
  14. linux编译firefox,linux安装firefox
  15. 网页屏蔽右键,另存功能
  16. 国庆车流激增,南京启用无人机报路况
  17. MacOS系统上有什么好用的思维导图软件?
  18. win10同步服务器文件夹在哪,win10系统一键同步win 10文件夹视图的操作方法
  19. 富文本关键字搜索高亮,解决方法及优化(收藏!)
  20. Web基础05 盒子模型01边框属性

热门文章

  1. 探寻次时代渲染 - CryEngine2
  2. iOS直播技术学习笔记 直播总体概览(一)
  3. OpenGL读取3D obj文件进行三角拆分-动漫女孩
  4. 魔兽争霸跨网段对战原理与实现
  5. java jsoup爬动态网页_使用Jsoup+HtmlUnit抓取动态网页数据
  6. 【每日一练】63—CSS实现金属边框文本效果
  7. Java后端之美团笔试题
  8. oracle中的reuse,Oracle大表清理truncate .. reuse storage
  9. 你有没有为别人拼过多多,盖过楼
  10. 算法课设第三题:3.Luck 的旅行计划(最短路径算法)