一种基于脉动阵列架构的深度学习硬件系统技术方案

技术编号:25184662 阅读:25 留言:0更新日期:2020-08-07 21:12
本申请实施例属于深度学习硬件架构技术领域,涉及一种基于脉动阵列架构的深度学习硬件系统,系统包括:数据输入及处理子系统,用于接收、存储数据并对数据进行处理,所述数据包括特征图数据、卷积核数据、配置指令数据;脉动阵列计算子系统,用于对所述特征图数据和卷积核数据进行逐行卷积运算并输出运算结果;控制子系统,用于根据所述配置指令数据控制所述脉动阵列计算子系统。脉动阵列计算子系统在控制子系统根据配置指令数据的配置和控制下进行特征图数据和卷积核数据的逐行并行卷积运算,直到特征图的最后一行,卷积运算过程中的数据搬运均发生在脉动阵列计算子系统的脉动阵列内部,降低了系统的功耗,且并行运算提高系统的计算速度。

【技术实现步骤摘要】
一种基于脉动阵列架构的深度学习硬件系统
本专利技术涉及深度学习硬件架构
,尤其涉及一种基于脉动阵列架构的深度学习硬件系统。
技术介绍
当前,人工智能已经展现了其在多领域方面的独特优势,比如大数据、智能医疗、安防、先进辅助驾驶系统等。深度学习(DeepLearning)在解决高级抽象认知问题上有着显著的成果,是人工智能算法中最为有效也是使用最为广泛的算法,为“谷歌大脑”、“百度大脑”等采用,并且进入了科大讯飞语音识别、谷歌翻译、Facebook人脸识别等领域。谷歌、微软、Facebook等高端互联网公司的研究实践表明,深度学习能够在图像感知等方面达到甚至超过人类的水平。而卷积神经网络(CNN)是深度学习中最为有效、最具代表性的技术,是当前各大学和公司研究进行语音分析和图像识别研究的热点,它对图像、声音进行有效学习和识别分析,是当前和未来汽车自动驾驶、人脸识别、疾病特征判断、声音识别等信息处理的关键核心技术。在以深度学习为代表的人工智能系统实现中,一个最主要的挑战在于其庞大的运算量需要大量的能量与硬件资源支撑。为了解决更加抽象、更加复杂的学习问题,深度学习的网络规模在不断增加,计算和数据的复杂也随之剧增,比如GoogleCat系统网络具有10亿左右个神经元连接。目前使用的CPU、GPU架构系统的人工智能实现,远未能企及动物神经系统的功耗和学习能力。并且随着摩尔定律的逐渐减慢,晶体管的功耗降低以及速度的提高逐渐迎来瓶颈,通过现有架构来实现如同生物神经系统的高效、低能耗人工智能系统更是遥遥无期。在企业端,谷歌大脑、百度大脑等深度学习任务采用大型GPU和FPGA阵列(英伟达Nvidia、赛灵思Xilinx),不计功耗、仅追求计算能力,在一个系统里就安装运行超过10000个处理芯片。在个人用户端,例如在智能终端上,对海量图像、声音、音乐等数据的模式识别、数据分析仍存在巨大的需求。在这种典型的移动应用场景下,强烈需要一种极低功耗极小体积、同时具有强大模式识别能力的计算设备。如何高性能低能耗地实现深度学习相关算法,则成为科研和商业机构的研究热点。
技术实现思路
本申请实施例的目的在于提出一种基于脉动阵列架构的深度学习硬件系统,以降低深度学习硬件架构的功耗并提高其速度。为了解决上述技术问题,本申请实施例提供一种基于脉动阵列架构的深度学习硬件系统,采用了如下所述的技术方案:所述基于脉动阵列架构的深度学习硬件系统包括:一种基于脉动阵列架构的深度学习硬件系统,其特征在于,包括:数据输入及处理子系统,用于接收、存储数据并对数据进行处理,所述数据包括特征图数据、卷积核数据、配置指令数据;脉动阵列计算子系统,用于对所述特征图数据和卷积核数据进行逐行卷积运算并输出运算结果;控制子系统,用于根据所述配置指令数据控制所述脉动阵列计算子系统。进一步的,所述脉动阵列计算子系统包括行处理单元和列处理单元,所述行处理单元至少包括一个处理元素,所述列处理单元至少包括一个所述处理元素。进一步的,所述处理元素包括卷积SRAM和卷积寄存器文件,以及ALU运算单元。进一步的,所述卷积SRAM用于存储所述卷积核数据,所述卷积寄存器文件存储所述卷积核数据的一行数据,所述ALU运算单元用于将所述特征图数据和卷积核数据进行卷积运算。进一步的,所述ALU运算单元包括卷积运算单元、多路复选器、部分和缓存、寄存器单元、加法单元和FIFO缓冲器。进一步的,所述列处理单元通过列数据传输通道传递数据,所述行处理单元的相邻所述处理元素之间有数据直通通道。进一步的,所述数据输入及处理子系统包括网络数据存储接口、内部存储器、直接内存访问DMA、输入缓存和接口单元,所述控制子系统包括控制器。进一步的,所述接口单元用于将所述配置指令数据输入到所述控制器。进一步的,所述控制器根据所述配置指令数据对所述输入缓存、脉动阵列计算子系统进行功能配置。进一步的,所述输入缓存用于解压和整理所述特征图数据和卷积核数据并将数据输入到所述脉动阵列计算子系统中。与现有技术相比,本申请实施例主要有以下有益效果:提供一种基于脉动阵列架构的深度学习硬件系统,该硬件系统包括:数据输入及处理子系统,用于接收、存储数据并对数据进行处理,所述数据包括特征图数据、卷积核数据、配置指令数据;脉动阵列计算子系统,用于对所述特征图数据和卷积核数据进行逐行卷积运算并输出运算结果;控制子系统,用于根据所述配置指令数据控制所述脉动阵列计算子系统。通过数据输入及处理子系统获取特征图数据、卷积核数据、配置指令数据,并将数据进行处理和存储后分别输入脉动阵列计算子系统,脉动阵列计算子系统在控制子系统根据配置指令数据的配置和控制下进行特征图数据和卷积核数据的逐行并行卷积运算,直到特征图的最后一行,然后输出运算结果,卷积运算过程中的数据搬运均发生在脉动阵列计算子系统的脉动阵列内部,因此降低了系统的功耗,且脉动阵列的并行运算提高系统的计算速度。附图说明为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1示出了根据本申请的实施例提供的一种基于脉动阵列架构的深度学习硬件系统的结构示意图;图2示出了图1中的脉动阵列计算子系统102的结构示意图;图3示出了图2中的处理元素PE206的内部结构示意图。具体实施方式除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的
的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。而本申请所说“连接”、“联接”,如无特别说明,均包括直接和间接连接(联接)。在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。为了使本
的人员更好地理解本申请的技术方案,首先说明下相关背景知识。其中,脉动阵列在1978年由孔祥重(H.T.Kung)提出,表示一种有节奏地计算并通过系统传输数据的处理单元网络,它的模块化和规则化使得大规模集成电路VLSI设计变得更加便捷,并且平衡了运算和I/O,可以在消耗较小的内存带宽的情况下实现较高的运算吞吐率。脉动阵列架构作为与主处理器结合的协处理器,从主处理器得到数据,规则地计算和输入数据本文档来自技高网
...

【技术保护点】
1.一种基于脉动阵列架构的深度学习硬件系统,其特征在于,包括:/n数据输入及处理子系统,用于接收、存储数据并对数据进行处理,所述数据包括特征图数据、卷积核数据、配置指令数据;/n脉动阵列计算子系统,用于对所述特征图数据和卷积核数据进行逐行卷积运算并输出运算结果;/n控制子系统,用于根据所述配置指令数据控制所述脉动阵列计算子系统。/n

【技术特征摘要】
1.一种基于脉动阵列架构的深度学习硬件系统,其特征在于,包括:
数据输入及处理子系统,用于接收、存储数据并对数据进行处理,所述数据包括特征图数据、卷积核数据、配置指令数据;
脉动阵列计算子系统,用于对所述特征图数据和卷积核数据进行逐行卷积运算并输出运算结果;
控制子系统,用于根据所述配置指令数据控制所述脉动阵列计算子系统。


2.如权利要求1所述的硬件系统,其特征在于,所述脉动阵列计算子系统包括行处理单元和列处理单元,所述行处理单元至少包括一个处理元素,所述列处理单元至少包括一个所述处理元素。


3.如权利要求2所述的硬件系统,其特征在于,所述处理元素包括卷积SRAM和卷积寄存器文件,以及ALU运算单元。


4.如权利要求3所述的硬件系统,其特征在于,所述卷积SRAM用于存储所述卷积核数据,所述卷积寄存器文件存储所述卷积核数据的一行数据,所述ALU运算单元用于将所述特征图数据和卷积核数据进行卷积运算。


5....

【专利技术属性】
技术研发人员:雍珊珊王新安徐伯星张兴何春舅
申请(专利权)人:北京大学深圳研究生院
类型:发明
国别省市:广东;44

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

1