一种面向嵌入式环境的智能计算通用加速系统及其构建方法技术方案

技术编号:24252320 阅读:29 留言:0更新日期:2020-05-22 23:58
本发明专利技术属于智能计算领域,公开了一种面向嵌入式环境的智能计算通用加速系统及其构建方法。该方法包括:预处理阶段,对深度神经网络进行预训练,对深度神经网络模型进行结构解析,提取出该模型的结构特征;可重构阶段,对模型的结构解析数据进行分析,基于可编程逻辑完成对网络各层的计算加速,基于可重构硬件资源实现网络模型的动态存储与动态配置;后处理阶段,对加速效果进行验证,将结果输出,并可对可编程计算加速单元进行扩展。本发明专利技术对复杂深度神经网络加速效果显著,具有良好的灵活性与适用性,有效降低了智能计算所需的存储与计算成本,为满足不同应用需求的深度神经网络同时部署于资源受限的嵌入式环境中提供了技术支撑。

A general acceleration system of Intelligent Computing for embedded environment and its construction method

【技术实现步骤摘要】
一种面向嵌入式环境的智能计算通用加速系统及其构建方法
本专利技术属于智能计算领域,提出了一种面向嵌入式环境的智能计算加速方法。
技术介绍
近年来,以卷积神经网络CNN和循环神经网络RNN为代表的深度神经网络,在处理计算机视觉和语音识别等复杂智能问题时凸显出巨大的优势,能够满足多方面的应用需求:(1)根据综合态势信息进行辅助决策;(2)目标实时检测识别跟踪等。然而,当前深度神经网络的性能优势主要依赖于其规模庞大的参数量以及多图形处理器集成的高计算能力,高昂的存储、计算成本使其几乎无法直接部署到硬件资源受限的嵌入式设备上。因此,解决资源受限的嵌入式环境下多种深度神经网络的部署与优化问题是十分必要的。目前,应用于嵌入式环境下的智能计算加速的实现主要有两个研究方向:一是基于可定制化专用集成芯片进行实现,能够根据特定需求对特定算法进行定制优化,功耗低且计算效率高;但专用集成芯片缺乏统一的软硬件开发环境,开发周期长,灵活性及通用性较差,仅能加速特定深度神经网络,短期内难以应用于嵌入式环境中。另一研究方向是基于可编程半定制化FPGA进行嵌入式实现,FPGA具有出色的迭代速度以及灵活性,技术自主可控,适用于深度神经网络的推理阶段;但FPGA的时序逻辑设计难度非常大。也因此,通常的加速方法主要针对单一结构的神经网络,难以同时满足嵌入式环境的多应用需求。
技术实现思路
针对多种深度神经网络的集合,本专利技术提出了一种面向嵌入式环境的可重构智能计算加速方法,在具备通用性的同时能够有针对性地加速深度神经网络。本专利技术的技术方案如下:该面向嵌入式环境的智能计算通用加速系统,针对多种深度神经网络的集合(即待加速深度神经网络),包括可重构控制单元、可重构存储单元和可编程计算加速单元;所述可重构存储单元采用可重构的可重构硬件资源,用于逐层动态地为加载的网络模型配置最优的存储架构,以降低对外部存储器的数据依赖;所述可编程计算加速单元封装有公用处理单元库和专用处理单元库;所述公用处理单元库用于加速深度神经网络共性部分,提供CNN与RNN两种工作模式;所述专用处理单元库用于加速深度神经网络个性部分;所述可重构控制单元,用于分析待加速深度神经网络模型的结构解析数据,逐层加载网络模型至所述可重构存储单元中,控制可编程计算加速单元中的公用处理单元库在CNN与RNN两种工作模式之间进行切换,并依据模型结构解析数据相应唤醒或休眠所需的专用处理单元库中的算子,依次完成对每一层网络的加速。可选地,所述公用处理单元库包含卷积算子、激活函数Sigmoid算子、激活函数Tanh算子、激活函数ReLU算子、LSTM算子、GRU算子以及全连接算子。可选地,所述专用处理单元库包含浮点乘加算子、更新门算子、遗忘门算子、输入门算子以及输出门算子。可选地,所述可重构硬件资源包括FPGA的查找表(LUTs)和触发器(flipflops)。相应的,本专利技术还提出上述面向嵌入式环境的智能计算通用加速系统的构建方法,包括:预处理阶段:对待加速深度神经网络进行预训练,对深度神经网络模型进行结构解析,提取出该模型的结构特征;可重构阶段:对模型的结构解析数据进行分析,基于可编程逻辑完成对网络各层的计算加速,并基于可重构硬件资源实现网络模型的动态存储与动态配置;后处理阶段:对可重构阶段的加速效果进行验证;若加速效果达到预期,则将结果按照所需格式进行输出;若加速效果未达到预期,则进一步解析模型结构,根据模型的结构特征对公用处理单元库和专用处理单元库进行更新补充,封装新的算子模块(相应加入到公用处理单元库和专用处理单元库中),返回可重构阶段,对该模型再次进行加速处理。上述预处理阶段,具体可以是:通过预训练获取权重参数,应用轻量化技术初步减小网络规模,对网络模型进行结构解析,提取其结构特征。上述应用轻量化技术初步减小网络规模,具体可以是:采取剪枝、稀疏系数、数据量化、哈弗曼编码和二值化/三值化操作,初步减小网络模型参数量。本专利技术具有以下有益效果:本专利技术提出的可重构智能计算加速方法,在具备通用性的同时能够有针对性的加速深度神经网络(针对不同结构的深度神经网络切换处理单元库中的加速算子进行加速),规避了现有的网络加速方法只能加速单一网络的缺陷。特别是可重构阶段中的三种处理单元配合高效紧密,可重构控制单元分析模型结构解析数据,可重构存储单元动态配置存储空间,最大化利用片上资源,可编程计算加速单元充分发挥了FPGA动态可重配置的优势,封装了两种可扩展的处理单元库,有效提升了网络模型硬件加速的灵活性。本专利技术提出的方法对复杂深度神经网络加速效果显著,具有良好的灵活性与适用性,有效降低了智能计算所需的存储与计算成本,为满足不同应用需求的深度神经网络同时部署于资源受限的嵌入式环境中提供了技术支撑。附图说明图1为面向嵌入式环境的可重构智能计算加速方法流程示意图;图2为可重构智能计算加速架构示意图。具体实施方式以下结合附图通过实施例对本专利技术做进一步详细说明。本实施例为同时满足嵌入式环境态势感知(主要依靠RNN)与目标识别(主要依靠CNN)等多应用需求,针对多种深度神经网络的集合,提出可重构智能计算加速方法,搭建智能计算通用加速架构,并采用可编程的FPGA硬件平台对其进行验证。该面向嵌入式环境的可重构智能计算加速方法包含预处理阶段、可重构阶段与后处理阶段三个阶段。如图1所示,该方法具体包括:一、预处理阶段:对待加速深度神经网络模型进行预处理,通过预训练获取权重参数。采取剪枝、稀疏系数、数据量化、哈弗曼编码、二值化/三值化操作等轻量化技术,初步减小网络模型参数量,解析网络模型结构,为可重构阶段的智能计算加速奠定基础。二、可重构阶段:由于CNN网络中的卷积操作会消耗大量计算资源与存储资源,而RNN网络中的数据流向较为复杂,为满足可重构智能计算加速的通用性需求,同时有针对性的最大化提升网络模型性能,设计实现了通用智能计算加速架构,如图2所示。该架构由可重构控制单元、可编程计算加速单元与可重构存储单元组成。1、可重构控制单元分析预处理阶段得到的模型结构解析数据,逐层加载网络模型至片上数据存储中,控制可编程计算加速单元中的公用处理单元库在CNN与RNN两种工作模式之间进行切换,并依据模型结构解析数据唤醒或休眠所需的专用处理单元库中的算子,完成对该层网络的加速。重复此过程直至完成该网络模型所有层的加速计算。2、基于模块化的思想,在可编程计算加速单元内封装了公用处理单元库与专用处理单元库:A、公用处理单元库可加速深度神经网络共性部分,分为CNN与RNN两种工作模式,包含卷积算子、激活函数Sigmoid算子、激活函数Tanh算子、激活函数ReLU算子、LSTM算子、GRU算子以及全连接算子等多种算子;B、专用处理单元库可加速深度神经网络个性部分,包含浮点乘加算子、更新门算子、遗忘门算子、输入门算子与输本文档来自技高网...

【技术保护点】
1.一种面向嵌入式环境的智能计算通用加速系统,针对多种深度神经网络的集合,其特征在于:包括可重构控制单元、可重构存储单元和可编程计算加速单元;/n所述可重构存储单元采用可重构的可重构硬件资源,用于逐层动态地为加载的网络模型配置最优的存储架构,以降低对外部存储器的数据依赖;/n所述可编程计算加速单元封装有公用处理单元库和专用处理单元库;所述公用处理单元库用于加速深度神经网络共性部分,提供CNN与RNN两种工作模式;所述专用处理单元库用于加速深度神经网络个性部分;/n所述可重构控制单元,用于分析待加速深度神经网络模型的结构解析数据,逐层加载网络模型至所述可重构存储单元中,控制可编程计算加速单元中的公用处理单元库在CNN与RNN两种工作模式之间进行切换,并依据模型结构解析数据相应唤醒或休眠所需的专用处理单元库中的算子,依次完成对每一层网络的加速。/n

【技术特征摘要】
1.一种面向嵌入式环境的智能计算通用加速系统,针对多种深度神经网络的集合,其特征在于:包括可重构控制单元、可重构存储单元和可编程计算加速单元;
所述可重构存储单元采用可重构的可重构硬件资源,用于逐层动态地为加载的网络模型配置最优的存储架构,以降低对外部存储器的数据依赖;
所述可编程计算加速单元封装有公用处理单元库和专用处理单元库;所述公用处理单元库用于加速深度神经网络共性部分,提供CNN与RNN两种工作模式;所述专用处理单元库用于加速深度神经网络个性部分;
所述可重构控制单元,用于分析待加速深度神经网络模型的结构解析数据,逐层加载网络模型至所述可重构存储单元中,控制可编程计算加速单元中的公用处理单元库在CNN与RNN两种工作模式之间进行切换,并依据模型结构解析数据相应唤醒或休眠所需的专用处理单元库中的算子,依次完成对每一层网络的加速。


2.根据权利要求1所述的面向嵌入式环境的智能计算通用加速系统,其特征在于:所述公用处理单元库包含卷积算子、激活函数Sigmoid算子、激活函数Tanh算子、激活函数ReLU算子、LSTM算子、GRU算子以及全连接算子。


3.根据权利要求1所述的面向嵌入式环境的智能计算通用加速系统,其特征在于:所述专用处理单元库包含浮点乘加算子、更新门算子、遗忘门算子、输入门算子以及输出门算子。


4.根据权利要求1...

【专利技术属性】
技术研发人员:李欣瑶刘飞阳高泽白林亭文鹏程李亚晖
申请(专利权)人:中国航空工业集团公司西安航空计算技术研究所
类型:发明
国别省市:陕西;61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1