首页 > 其他分享 >DeepBurning:神经网络系列学习加速器自动生成

DeepBurning:神经网络系列学习加速器自动生成

时间:2023-06-06 22:47:00浏览次数:32  
标签:硬件 FPGA 控制流 生成 DeepBurning 神经网络 系列学习

介绍一下这篇论文所做的工作。

Introduction

首先是背景方面,
现在出现了CNN、RNN、LSTM等多种神经网络,如何使用硬件加速的方法让这些网络跑的更快?
现在已经有的工作:

1.GPGPU

加速矩阵乘法,可以处理非常大规模的CNN和多种GPU支持的学习框架,
但缺点是硬件开销非常大,难以应用在嵌入式领域等对功耗要求比较高的条件下。

2.ASIC

面向特定应用的芯片,难以应用非常多变的神经网络和不同的激活函数条件下。
改进后的ASIP,仍然具有其局限性。

3.FPGA(现场可编程门阵列)

在效率和多功能性等方面取得平衡。可以利用FPGA平台实现特定网络,不过比较复杂,对开发者的水平要求还是很高的。

本文的工作:

设计DeepBurning,一个自动的工具(感觉相当于一键生成),将不同的神经网络映射为一个高性能和低功耗的硬件描述。并且自适应的生成数据布局(data layout)和动态控制流(control flow)。实现良好的时间和空间折叠性

遇到的机遇和挑战

为啥用FPGA?

FPGA的可重用性可以实现不同的NN网络以实现不同的应用,也解决了设计空间爆炸问题。
在做训练时,每个候选模型上得做大量运算。采用FPGA硬件加速本身是比较好,而且FPGA的可重用性也为NN模型和拓扑结构的探索提供了更多的空间。

为啥用DeepBurning?

首先,采用FPGA是不适合顶层的开发人员的。做一个“一键部署”是有必要的。
跟Tensorflow封装这种意义差不多。
其次,现在的自动化工具,是难以轻易协调软硬件(存在复杂的控制流和数据流),存在一定缺陷。

贡献:
根据神经网络生成RTL代码,并且会生成在线控制流实现软/硬件协同(不局限于硬件,时间折叠和空间折叠?),内存方面也做了一定的优化。

标签:硬件,FPGA,控制流,生成,DeepBurning,神经网络,系列学习
From: https://www.cnblogs.com/zjz2333/p/17461928.html

相关文章

  • 神经网络模型
    神经网络介绍T.Kohonen于1988年在NeuralNetworks创刊号上给出了神经网络的定义:神经网络是由具有适应性的简单单元组成的广泛并互连的网络,它的组织能够模拟生物神经系统对真实世界物体所作出的交互反应。神经网络中最基本的成分是神经元(neuron)模型(即上述定义中的“简单单元”),包......
  • 百度倾力出品|《神经网络机器翻译技术及产业应用》正式上线
    随着经济社会的国际交流合作日益密切,人们迫切需要高质量、高效率的跨语言信息获取和传播工具。《神经网络机器翻译技术及产业应用》以产业需求为牵引,分析了新时期机器翻译的产业需求特点和挑战,介绍了神经网络翻译的基本理论、前沿技术以及面向产业应用的实用系统开发方法。《神经网......
  • Arm NN 成功适配 openEuler Embedded,提供高性能神经网络推理能力
    近期,RISC-VSIG完成了ArmNN在openEulerEmbedded系统的适配,于2023年1月合入系统构建工程代码库,经测试验证可用,实现了神经网络加速库在openEulerEmbedded嵌入式系统上的加速和优化。系统构建工程下载地址:https://gitee.com/openeuler/yocto-meta-openeuler支持ArmN......
  • 基于深度学习的图像分类:使用卷积神经网络实现猫狗分类器
    摘要:深度学习在计算机视觉领域中具有广泛的应用。本文将介绍如何使用卷积神经网络(CNN)实现一个猫狗分类器。我们将使用Python和TensorFlow框架搭建一个简单的卷积神经网络模型,并利用猫狗图像数据集进行训练和测试。通过本文,读者将了解到深度学习在图像分类任务中的基本原理和实践应......
  • 数据不够怎么训练深度学习模型?不妨试试迁移学习 ——重用神经网络的结构2
    数据不够怎么训练深度学习模型?不妨试试迁移学习本质就是这个图!pretrainedmodel就是你截取的部分神经网络模型(迁移学习),而nanonet就是你自己加入的网络层。随着深度学习技术在机器翻译、策略游戏和自动驾驶等领域的广泛应用和流行,阻碍该技术进一步推广的一个普遍性难题也日渐凸显:训......
  • 循环神经网络 RNN LSTM GRU 笔记
    文章目录1.神经网络基础2.RNN循环神经网络2.1背景与概念2.2RNN基本方法2.3拓展3.LSTM3.1概念3.2LSTM基本方法3.3原理解释4.GRU4.1概念与背景4.2GRU基本方法1.神经网络基础上图是一个简单的全连接神经网络结构,每一条连接线上都有一个权重,蕴含着网络学得的“能力”。......
  • 07.类神经网络训练--局部最小值与鞍点
    局部最小值于鞍点训练模型的参数时,随着参数不断地更新,loss函数不会再继续下降,但是仍然对这个loss不满意,或者有时候发现一开始model就训练不起来,不论怎么更新参数loss函数都不会掉下去。我们认为在某个地方参数对loss的微分是0,于是梯度下降就失去了作用,这个时候训练就停止了,这个......
  • Arm NN 成功适配 openEuler Embedded,提供高性能神经网络推理能力
    近期,RISC-VSIG完成了ArmNN在openEulerEmbedded系统的适配,于2023年1月合入系统构建工程代码库,经测试验证可用,实现了神经网络加速库在openEulerEmbedded嵌入式系统上的加速和优化。系统构建工程下载地址:https://gitee.com/openeuler/yocto-meta-openeuler支持ArmNN......
  • 神经网络与深度学习
    神经网络与深度学习(邱锡鹏)第一部分机器学习基础第1章绪论深度学习是机器学习的一个分支,指从有限样例中通过算法总结出一般性的规律,并可以应用到新的未知数据上。一种可以比较好解决贡献度分配问题的模型是人工神经网络(ArtificialNeuralNetwork,ANN),也简称神经网络。贡献......
  • 神经网络中embedding层作用——本质就是word2vec,数据降维,同时可以很方便计算同义词(各
    Embeddingtflearn.layers.embedding_ops.embedding(incoming,input_dim,output_dim,validate_indices=False,weights_init='truncated_normal',trainable=True,restore=True,reuse=False,scope=None,name='Embedding')Embeddinglayerforase......