0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

神经网络加速器架构的优劣分析

454398 来源:AI加速微信公众号 作者:AI加速微信公众号 2020-11-02 17:22 次阅读

神经网络加速器基本上是一个中介拓扑架构的神经网络加速器,其通过指令解析模块将不同指令分发到不同的数据处理模块。这些数据处理模块共享片上的存储。这种结构的优点有:

1) 结构简单,控制起来容易。对应每个数据处理模块都对应一个复杂指令,在进行神经网络加速的时候,只需要根据神经网络的中的不同数据计算部分,提取出可在硬件上进行布置的部分,根据这部分完成指令编写。同时一个神经网络的计算流图决定了不同类型指令之间的依赖关系。

2) 可扩展性强。数据处理模块可以任意进行扩展,对应着指令集也可以任意增加。每个模块和指令的接口以及cache的接口形式是一定的,它们之间可以通过cache来进行数据交互。指令集和模块的增加和减少都不会影响到整体架构。我们只要开发出新的模块IP以及指令就够了。

我个人认为,目前的架构还存在如下缺陷:

1) 架构不够灵活。相对于千变万化的神经网络结构,其只能加速有限的的计算模块。而且如果不同神经网络之间进行切换的时候,如果这两种神经网络差别很大,则可能造成不太好找到一个比较匹配的XRNN结构。比如一个神经网络要用到模块A,但是另外一个神经网络要用到模块B,那么我们的架构就需要将模块A和B都加上,这样才能适合两种网络。当然也可以选择不加,但是终归是有模块不能得到充分利用。

2) 不同数据处理模块之间通过cache进行数据交互,以及指令分发造成了延时。这对于一个大的神经网络来说,这些开销占比很小,但是当一个神经网络很小,计算复杂的时候,不同模块之间的数据交互就会降低整体效能。

3) 介于AI芯片GPU之间的尴尬处境。使用FPGA来进行神经网络加速器,和GPU比不过算力,同时又不能像AI芯片那样具有高速和充足资源的特点。所以针对大计算的网络,面对GPU我们的性能很难PK过。

4) FPGA的优势没有显现出来。可以和GPU等竞争的优势在于FPGA的动态可重配置以及流水线处理,这些是GPU等芯片不具备的。流水线可以容纳更多的计算核,而且能够减少计算核之间数据延时,而可重配置的特点可以更好的适配千变万化的神经网络结构。这两个优点在神经网络加速器中也得到了一定的体现,比如矩阵乘法核的大小,cache大小都是可配置的。而且不同的计算模块之间还可以做一定的直连,也能够降低读写cache带来的延时。但是这些特点还并没有得到很好的利用。

图架构设想:

对于神经网络加速器,我们总是渴望在FPGA上构建一个统一的IP核,能够尽力去适应不同的神经网络,能够尽力去加速每个神经网络。于是乎,我们增加了一个个模块IP,不断扩充指令集。但是这些都受到了两个条件的制约:一个是FPGA资源的有限性,另外一个就是神经网络的千变万化。如果我们换一种思路,不去追求一种统一的神经网络加速IP,而是基于FPGA可重配置特点构建一种平台,在这个平台下,可以由用户根据需要加速的不同神经网络来自行搭建一套加速器。而我们要做的就是,建立一个IP库,库里包含各种计算IP,比如矩阵乘法,向量加法,concat,embedding等等。整个平台来根据网络模型选择不同IP来构建一个神经网络加速器。

基本设想的结构是这样的:

硬核IP不仅仅包括在FPGA上开发出的各种计算核,还包含有CPU,因为FPGA资源限制以及计算的复杂性,并不是所有的神经网络计算都可以在FPGA上实现。

软件根据网络模型,分析哪些计算可以用FPGA实现,评估其实现性能,选择最适合在FPGA上进行加速的计算。同时需要评估FPGA资源情况,配置每个核的大小,使用资源等。然后根据神经网络计算流图,确定不同IP核的连接关系,构建图。

图结构大致设想如下:

不同节点代表一个计算模块,这些模块之间直接通过数据流交互,不经过共享内存的方式,计算可以实现流水。节点控制器对每个节点实现参数配置,和数据流控制,数据流控制也很简单,只需要控制数据闸门的开关,以及数据量流通的多少就行了。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1599

    文章

    21273

    浏览量

    592820
  • 加速器
    +关注

    关注

    2

    文章

    740

    浏览量

    36569
  • 神经网络
    +关注

    关注

    42

    文章

    4562

    浏览量

    98643
收藏 人收藏

    评论

    相关推荐

    PowerVR Series2NX神经网络加速器设计

    我的母亲是一名护士,目前已经退休。她是一个非常聪明的人,对自己的工作业务非常的尽职尽责。几天前我和她说我正在研究Imagination最新的神经网络加速器,她诧异的说:你说的是什么意思?,当然只有
    的头像 发表于 06-19 18:36 5358次阅读
    PowerVR Series2NX<b class='flag-5'>神经网络</b><b class='flag-5'>加速器</b>设计

    张量计算在神经网络加速器中的实现形式

    引言 神经网络中涉及到大量的张量运算,比如卷积,矩阵乘法,向量点乘,求和等。神经网络加速器就是针对张量运算来设计的。一个神经网络加速器通常都
    的头像 发表于 11-02 13:52 2542次阅读
    张量计算在<b class='flag-5'>神经网络</b><b class='flag-5'>加速器</b>中的实现形式

    【PYNQ-Z2申请】基于PYNQ的卷积神经网络加速

    项目名称:基于PYNQ的卷积神经网络加速试用计划:申请理由:本人研究生在读,想要利用PYNQ深入探索卷积神经网络的硬件加速,在PYNQ上实现图像的快速处理项目计划:1、在PC端实现Ln
    发表于 12-19 11:37

    如何构建神经网络

    原文链接:http://tecdat.cn/?p=5725 神经网络是一种基于现有数据创建预测的计算系统。如何构建神经网络神经网络包括:输入层:根据现有数据获取输入的层隐藏层:使用反向传播优化输入变量权重的层,以提高模型的预测
    发表于 07-12 08:02

    一种基于FPGA的图神经网络加速器解决方案

    的形式呈现给读者。对图神经网络(GNN)的介绍在宏观层面上,GNN的架构与传统CNN有很多相似之处,诸如卷积层、池化、激活函数、机器学习处理(MLP)、全连接层(FC layer)等模块,这些都可以
    发表于 09-25 17:20

    【书籍评测活动NO.18】 AI加速器架构设计与实现

    创新的芯片架构设计,这正面临新的挑战。本书从神经网络分析出发,总结和提炼了AI加速器架构设计中常见的难点,以及解决这些难点的技术、方法和思
    发表于 07-28 10:50

    《 AI加速器架构设计与实现》+第一章卷积神经网络观后感

    《 AI加速器架构设计与实现》+第一章卷积神经网络观感    在本书的引言中也提到“一图胜千言”,读完第一章节后,对其进行了一些归纳(如图1),第一章对常见的神经网络结构进行了介绍,
    发表于 09-11 20:34

    《 AI加速器架构设计与实现》+学习和一些思考

    ,如有错误还望大佬们指出,我马上改正。 目录和进度 目前阅读到第一章,先更新到第一章的内容吧 卷积神经网络 运算子系统的设计 储存子系统的设计 架构优化技术 安全与防护 神经网络
    发表于 09-16 11:11

    《 AI加速器架构设计与实现》+第2章的阅读概括

    。 从名字上就能看出来书里可能覆盖的内容是和CNN加速器有关的内容了。 作者在前言里说这本书主要讨论Inference(推理)的过程,“主要讨论神经网络硬件,尤其是芯片设计层面的内容”。这本书的第2,3章
    发表于 09-17 16:39

    Imagination发布最新神经网络加速器

    Imagination Technologies宣布推出其面向人工智能(AI)应用的最新神经网络加速器(NNA)架构PowerVR Series3NX。
    的头像 发表于 12-06 16:09 3279次阅读

    多项第一!Imagination神经网络加速器通过AIIA DNN benchmark评估

    基于端侧推断任务深度神经网络处理器基准测试结果中,Imagination的神经网络加速器在多个框架测试中成绩名列第一!
    的头像 发表于 07-12 15:23 5030次阅读

    Imagination 的神经网络加速器在边缘计算领域的应用

    神经网络加速赋能端侧智能
    的头像 发表于 08-08 10:59 4354次阅读

    美信半导体新型神经网络加速器MAX78000 SoC

        新型神经网络加速器 Maxim Integrated的新型MAX78000芯片,基于双核MCU,结合了超低功耗深度神经网络加速器,为高性能人工智能 (AI) 应用提供所需的算力
    的头像 发表于 01-04 11:48 2617次阅读

    神经网络加速器简述

    神经网络加速器基本概念。
    发表于 05-27 15:22 11次下载

    基于FPGA的SIMD卷积神经网络加速器

    了一种基于FPGA的SIM卷积神经网络加速器架构。以YOOV2目标检测算法为例,介绍了将卷积神经网络模型映射到FPGA上的完整流程;对加速器
    发表于 05-28 14:00 23次下载