适用神经网络处理器的自动化设计方法、装置及优化方法制造方法及图纸

技术编号:15921675 阅读:41 留言:0更新日期:2017-08-04 01:56
本发明专利技术提出一种适用神经网络处理器的自动化设计方法、装置及优化方法,该方法包括获取神经网络模型拓扑结构配置文件与硬件资源约束文件,其中硬件资源约束文件包括目标电路面积开销、目标电路功耗开销及目标电路工作频率;根据神经网络模型拓扑结构配置文件与硬件资源约束文件生成神经网络处理器硬件架构,并生成硬件架构描述文件;根据所述神经网络模型拓扑结构、硬件资源约束文件及硬件架构描述文件优化数据调度、存储及计算方式,生成对应的控制描述文件;根据硬件架构描述文件、控制描述文件从已构建的神经网络可复用单元库查找符合设计要求的单元库、生成相对应的控制逻辑并生成对应的硬件电路描述语言,将硬件电路描述语言转化为硬件电路。

Automatic design method, device and optimization method suitable for neural network processor

The invention provides a method for automatic design, processor neural network optimization method and device, the method includes obtaining topology configuration files and hardware resource constraint file neural network model, the hardware resource constraint file including the target circuit area overhead and power consumption target circuit and target operating frequency of the circuit; according to the neural network topology configuration the file and the hardware resource constraint file generating neural network processor hardware architecture, hardware architecture and generate the description file; according to the neural network topology and hardware resource constraint files and hardware architecture description file data storage and scheduling optimization, calculation, control and generates a corresponding description file; description file and control description file from the neural network the reusable library unit according to the hardware architecture Design the unit library, generate the corresponding control logic, and generate the corresponding hardware circuit description language, the hardware circuit description language is translated into hardware circuit.

【技术实现步骤摘要】

本专利技术涉及神经网络处理器体系结构
,特别涉及适用神经网络处理器的自动化设计方法、装置及优化方法
技术介绍
随着人工智能领域相关技术的飞速发展,深度学习作为计算机科学与生命科学的跨学科产物,在解决高级抽象认知问题上具有出色的表现,因此成为了学术界和工业界的研究热点。为了提高神经网络的计算性能同时适应更复杂的应用问题,神经网络的规模在不断扩大,计算量、数据量及运算能耗也随之增加。寻找高性能低能耗的神经网络计算方法及设备成为研究人员的关注热点目前利用深度神经网络进行实时任务分析大多依靠大规模高性能处理器或通用图形处理器,这些设备成本高功耗大,面向便携式智能设备应用时,存在电路规模大、能量消耗高和产品价格昂贵等一系列问题,因此,针对嵌入式设备及小型低成本数据中心等应用领域中高能效实时处理的应用,采用专用神经网络处理器加速而不是软件的方式进行神经网络模型计算成为一种更有效的解决方案,然而神经网络模型的拓扑结构及参数设计会根据不同的应用场景而改变,另外神经网络模型的发展更迭速度很快,提供一种可以面向各种应用场景并覆盖各种神经网络模型的通用高效神经网络处理器非常困难,这为高层应用开发者针对不同应用需求设计硬件加速解决方案带来了极大不变。目前现有的神经网络硬件加速技术包括专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)芯片和现场可编程门阵列(FieldProgrammableGateArray,FPGA)两种方式,在同等工艺条件下,ASIC芯片运行速度快且功耗低,但设计流程复杂、投片周期长、开发成本高,无法适应神经网络模型快速更新的特点;FPGA具有电路配置灵活、开发周期短的特点,但运行速度相对低,硬件开销及功耗相对较大,无论采用上述哪种硬件加速技术,均需要神经网络模型及算法开发人员在了解网络拓扑和数据流模式的同时掌握硬件开发技术,包括处理器架构设计、硬件代码编写、仿真验证及布局布线等环节,这些技术对专注于研究神经网络模型及结构设计、而不具备硬件设计能力的高层应用开发人员而言开发难度较高,因此,为了使高层开发者高效地进行神经网络技术应用开发,提供一种面向多种神经网络模型的神经网络处理器自动化设计方法及工具是非常迫切的。为缩短神经网络处理器的设计周期、提高神经网络处理器的工作性能并满足上层应用开发者的神经网络运行需求,本专利技术提供一款适用神经网络处理器的自动设计工具,该工具可将神经网络模型映射为神经网络专用处理器,并根据该处理器结构优化数据计算及调度方式、生成相对应的控制流指令,实现了神经网络硬件加速器的硬件及软件自动化协同设计。
技术实现思路
针对现有技术的不足,本专利技术提出适用神经网络处理器的自动化设计方法、装置及优化方法。本专利技术提出一种适用神经网络处理器的自动化设计方法,包括:步骤1,获取神经网络模型拓扑结构配置文件与硬件资源约束文件,其中所述硬件资源约束文件包括目标电路面积开销、目标电路功耗开销及目标电路工作频率;步骤2,根据所述神经网络模型拓扑结构配置文件与所述硬件资源约束文件生成神经网络处理器硬件架构,并生成硬件架构描述文件;步骤3,根据所述神经网络模型拓扑结构、所述硬件资源约束文件及所述硬件架构描述文件优化数据调度、存储及计算方式,生成对应的控制描述文件;步骤4,根据所述硬件架构描述文件、所述控制描述文件从已构建的神经网络可复用单元库查找符合设计要求的单元库、生成相对应的控制逻辑并生成对应的硬件电路描述语言,将所述硬件电路描述语言转化为硬件电路。所述神经网络模型拓扑结构配置文件包括神经网络层数及每层网络尺寸大小、数据位宽、权重位宽、当前层功能属性、当前层输入层数、当前层输出层数、当前层卷积核大小、当前层步进大小,下一层连接属性。在生成神经网络电路模型的同时生成控制指令流,指令类型包括载入/存储指令和运算指令等类型。所述步骤3包括:根据所述神经网络模型拓扑结构配置文件进行卷积核分块、数据分块,并生成控制状态机;根据所述控制状态机生成控制指令流。所述硬件架构描述文件包括输入数据存储器容量、输入存储器位宽、权重存储器容量、权重存储器位宽、偏置存储器容量、偏置存储器位宽、输出数据存储器容量、输出数据存储器位宽、数据位宽、计算单元宽度、计算单元深度、数据共享标志位及权重共享标志位。本专利技术还提出一种适用神经网络处理器的自动化设计装置,包括:获取数据模块,用于获取神经网络模型拓扑结构配置文件与硬件资源约束文件,其中所述硬件资源约束文件包括目标电路面积开销、目标电路功耗开销及目标电路工作频率;生成硬件架构描述文件模块,用于根据所述神经网络模型拓扑结构配置文件与所述硬件资源约束文件生成神经网络处理器硬件架构,并生成硬件架构描述文件;生成控制描述文件模块,用于根据所述神经网络模型拓扑结构、所述硬件资源约束文件及所述硬件架构描述文件优化数据调度、存储及计算方式,生成对应的控制描述文件;生成硬件电路模块,用于根据所述硬件架构描述文件、所述控制描述文件从已构建的神经网络可复用单元库查找符合设计要求的单元库并生成对应的硬件电路描述语言,将所述硬件电路描述语言转化为硬件电路。所述神经网络模型拓扑结构配置文件包括神经网络层数及每层网络尺寸大小、数据位宽、权重位宽、当前层功能属性、当前层输入层数、当前层输出层数、当前层卷积核大小、当前层步进大小,下一层连接属性。在生成神经网络电路模型的同时生成控制指令流,指令类型包括载入/存储指令和运算指令等类型。所述生成控制描述文件模块功能包括:根据所述神经网络模型拓扑结构配置文件进行卷积核分块、数据分块,并生成控制状态机;根据所述控制状态机生成控制指令流。所述硬件架构描述文件包括输入数据存储器容量、输入存储器位宽、权重存储器容量、权重存储器位宽、偏置存储器容量、偏置存储器位宽、输出数据存储器容量、输出数据存储器位宽、数据位宽、计算单元宽度、计算单元深度、数据共享标志位及权重共享标志位。本专利技术还提出一种基于如所述的适用神经网络处理器的自动化设计方法的优化方法,包括:步骤1,对于给定的神经网络层,若卷积核大小k与步进值s一致,采用权重共享模式,卷积核在单层数据图内进行卷积操作;步骤2,若数据图层数小于计算单元宽度,采用卷积核分割的方法,将卷积核k分割为多个卷积核ks;若数据图层数大于计算单元宽度,采用数据共享方式;步骤3,判断下一神经网络层的计算方式,并根据下一神经网络层的卷积操作方式存储当前层的计算结果。由以上方案可知,本专利技术的优点在于:本专利技术包括一款硬件生成器和一款编译器,所述硬件生成器可根据神经网络类型及硬件资源约束自动生成神经网络处理器的硬件描述语言代码,随后设计人员利用已有硬件电路设计方法通过硬件描述语言生成处理器硬件电路;所述编译器可根据神经网络处理器电路结构生成控制和数据调度指令流。附图说明图1是本专利技术提供的神经网络处理器的自动化设计工作流程图;图2是本专利技术可自动生成的神经网络处理器系统示意图;图3是本专利技术中编译器工作具体步骤图;图4是神经网络处理器进行卷积操作的控制状态机流程图;图5是权重共享模式下卷积核工作示意图;图6是本专利技术提出的卷积核分割方法示意图;图7是载入/存储指令的指令格式图;图8是运算指令的指令格式图。具本文档来自技高网
...
适用神经网络处理器的自动化设计方法、装置及优化方法

【技术保护点】
一种适用神经网络处理器的自动化设计方法,其特征在于,包括:步骤1,获取神经网络模型拓扑结构配置文件与硬件资源约束文件,其中所述硬件资源约束文件包括目标电路面积开销、目标电路功耗开销及目标电路工作频率;步骤2,根据所述神经网络模型拓扑结构配置文件与所述硬件资源约束文件生成神经网络处理器硬件架构,并生成硬件架构描述文件;步骤3,根据所述神经网络模型拓扑结构、所述硬件资源约束文件及所述硬件架构描述文件优化数据调度、存储及计算方式,生成对应的控制描述文件;步骤4,根据所述硬件架构描述文件、所述控制描述文件从已构建的神经网络可复用单元库查找符合设计要求的单元库、生成相对应的控制逻辑并生成对应的硬件电路描述语言,将所述硬件电路描述语言转化为硬件电路。

【技术特征摘要】
1.一种适用神经网络处理器的自动化设计方法,其特征在于,包括:步骤1,获取神经网络模型拓扑结构配置文件与硬件资源约束文件,其中所述硬件资源约束文件包括目标电路面积开销、目标电路功耗开销及目标电路工作频率;步骤2,根据所述神经网络模型拓扑结构配置文件与所述硬件资源约束文件生成神经网络处理器硬件架构,并生成硬件架构描述文件;步骤3,根据所述神经网络模型拓扑结构、所述硬件资源约束文件及所述硬件架构描述文件优化数据调度、存储及计算方式,生成对应的控制描述文件;步骤4,根据所述硬件架构描述文件、所述控制描述文件从已构建的神经网络可复用单元库查找符合设计要求的单元库、生成相对应的控制逻辑并生成对应的硬件电路描述语言,将所述硬件电路描述语言转化为硬件电路。2.如权利要求1所述的适用神经网络处理器的自动化设计方法,其特征在于,所述神经网络模型拓扑结构配置文件包括神经网络层数及每层网络尺寸大小、数据位宽、权重位宽、当前层功能属性、当前层输入层数、当前层输出层数、当前层卷积核大小、当前层步进大小,下一层连接属性。3.如权利要求1所述的适用神经网络处理器的自动化设计方法,其特征在于,在生成神经网络电路模型的同时生成控制指令流,指令类型包括载入/存储指令和运算指令等类型。4.如权利要求1所述的适用神经网络处理器的自动化设计方法,其特征在于,所述步骤3包括:根据所述神经网络模型拓扑结构配置文件进行卷积核分块、数据分块,并生成控制状态机;根据所述控制状态机生成控制指令流。5.如权利要求1所述的适用神经网络处理器的自动化设计方法,其特征在于,所述硬件架构描述文件包括输入数据存储器容量、输入存储器位宽、权重存储器容量、权重存储器位宽、偏置存储器容量、偏置存储器位宽、输出数据存储器容量、输出数据存储器位宽、数据位宽、计算单元宽度、计算单元深度、数据共享标志位及权重共享标志位。6.一种适用神经网络处理器的自动化设计装置,其特征在于,包括:获取数据模块,用于获取神经网络模型拓扑结构配置文件与硬件资源约束文件,其中所述硬件资源约束文件包括目标电路面积开销、目标电路功耗开销及目标电路工作频率;生成硬件架构描述文件模块,用于根据所述神经网...

【专利技术属性】
技术研发人员:韩银和许浩博王颖
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:北京;11

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

1