加速深度学习推断的软硬件协同设计制造技术

技术编号:26172026 阅读:25 留言:0更新日期:2020-10-31 13:47
实施方式公开了加速深度学习推断的软硬件协同设计,包括一种人工智能芯片和应用于该人工智能芯片的卷积神经网络,该人工智能芯片包括处理器、至少一个并行计算单元和池化计算单元。该方法包括:将卷积任务划分成多个卷积子任务和相应的池化子任务;在不同的并行计算单元中执行卷积子任务,并在同一并行计算单元中执行卷积、批量归一化和非线性计算操作;将每个并行计算单元执行卷积子任务的执行结果发送给池化计算单元,以执行相应的池化子任务;合并池化计算单元对相应的卷积子任务输出的执行结果执行池化操作的执行结果,得到卷积任务的执行结果。这能减少数据传输,使得卷积神经网络的操作可以在边缘设备中以更低的功耗和更少的时间来完成。

【技术实现步骤摘要】
加速深度学习推断的软硬件协同设计
本公开的实施方式涉及计算机
,更具体地,涉及AI芯片和应用于AI芯片的卷积神经网络计算方法。
技术介绍
卷积神经网络(CNN)作为一种深度学习技术,已经广泛应用于各种场景。由于卷积神经网络具有相对高的复杂性,已经提出了各种技术来加速卷积神经网络的操作。目前,卷积神经网络的操作主要在数据中心运行,以利用数据中心强大的计算能力来实现卷积神经网络的加速。或者,通过优化对应于卷积神经网络算法的软件设计来加速卷积神经网络的操作。
技术实现思路
本公开的实施方式提供了一种人工智能芯片和应用于该人工智能芯片的卷积神经网络计算方法。在第一方面,本公开的实施方式提供了一种应用于人工智能芯片的卷积神经网络计算方法,其中人工智能芯片包括处理器、至少一个并行计算单元和池化计算单元,所述方法包括:由所述处理器将卷积任务划分为至少一个卷积子任务和至少一个对应的池化子任务,并确定对应于每个卷积子任务的并行计算单元,其中,所述卷积任务被配置为对所述卷积任务的待处理数据执行卷积、批量归一化、非线性计算和本文档来自技高网...

【技术保护点】
1.一种应用于人工智能芯片的卷积神经网络计算方法,其中,所述人工智能芯片包括处理器、至少一个并行计算单元和池化计算单元,所述方法包括:/n由所述处理器将卷积任务划分为至少一个卷积子任务和至少一个对应的池化子任务,并确定对应于每个卷积子任务的并行计算单元,其中,所述卷积任务被配置为对所述卷积任务的待处理数据执行卷积、批量归一化、非线性计算和池化操作,所述卷积子任务被配置为对所述卷积子任务的待处理数据执行所述卷积任务中的卷积、批量归一化和非线性计算操作,并且所述池化子任务被配置为对所述对应的卷积子任务的执行结果执行所述卷积任务中的池化操作;/n由所述处理器将每个划分后的卷积子任务发送给对应于所述卷...

【技术特征摘要】
20190424 US 16/393,2471.一种应用于人工智能芯片的卷积神经网络计算方法,其中,所述人工智能芯片包括处理器、至少一个并行计算单元和池化计算单元,所述方法包括:
由所述处理器将卷积任务划分为至少一个卷积子任务和至少一个对应的池化子任务,并确定对应于每个卷积子任务的并行计算单元,其中,所述卷积任务被配置为对所述卷积任务的待处理数据执行卷积、批量归一化、非线性计算和池化操作,所述卷积子任务被配置为对所述卷积子任务的待处理数据执行所述卷积任务中的卷积、批量归一化和非线性计算操作,并且所述池化子任务被配置为对所述对应的卷积子任务的执行结果执行所述卷积任务中的池化操作;
由所述处理器将每个划分后的卷积子任务发送给对应于所述卷积子任务的所述并行计算单元,并且控制所述并行计算单元执行接收的卷积子任务;
由相应的并行计算单元执行所述接收的卷积子任务,并且将执行结果作为待池化数据发送给所述池化计算单元;
响应于接收到所述并行计算单元发送的指示信息,由所述处理器将目标池化子任务的池化参数发送给所述池化计算单元,所述指示信息指示所述卷积子任务已经完全执行,并且控制所述池化计算单元执行所述目标池化子任务,其中,所述目标池化子任务是指对应于发送了接收到的指示信息的所述并行计算单元的所述卷积子任务所对应的池化子任务;
由所述池化计算单元执行相应的池化子任务;并将执行结果发送给所述处理器;以及
由所述处理器合并从所述池化计算单元接收的相应的池化子任务的执行结果,以获得所述卷积任务的执行结果。


2.根据权利要求1所述的方法,其中,由所述处理器将所述卷积任务划分为至少一个卷积子任务和至少一个对应的池化子任务,并且确定对应于每个卷积子任务的并行计算单元,包括:
由所述处理器基于所述至少一个并行计算单元的当前运行状态将所述卷积任务划分为至少一个卷积子任务和至少一个对应的池化子任务,并确定对应于每个卷积子任务的并行计算单元。


3.根据权利要求2所述的方法,其中,每个卷积子任务的计算量是8的倍数。


4.根据权利要求3所述的方法,其中,由所述处理器基于所述至少一个并行计算单元的当前运行状态将所述卷积任务划分成至少一个卷积子任务和至少一个对应的池化子任务,并且确定对应于每个卷积子任务的并行计算单元,还包括:
由所述处理器将所述至少一个并行计算单元中当前运行状态是空闲状态的并行计算单元的数量确定为空闲单元的数量;
由所述处理器将所述卷积任务划分成数量等于空闲单元的数量的卷积子任务,以及相应数量的池化子任务;以及
由所述处理器将当前运行状态为空闲状态的各个并行计算单元确定为对应于数量等于空闲单元的数量的所述卷积子任务中的各个卷积子任务的并行计算单元。


5.根据权利要求4所述的方法,其中,所述卷积任务的待处理数据是三维数据;并且
将所述卷积任务划分成数量等于空闲单元的数量的卷积子任务以及相应数量的池化子任务包括:
将所述卷积任务的待处理数据划分成数量与沿第三维的空闲单元数量相等的待处理数据;以及
对于数量等于空闲单元数量的所述待处理数据中的每个待处理数据,生成对应于所述待处理数据的卷积子任务,以及生成对应于生成的卷积子任务的池化子任务,其中,所述生成的卷积子任务被配置为对所述待处理数据执行所述卷积任务中的卷积、批量归一化和非线性计算操作;并且所述生成的池化子任务被配置为对所述相应的卷积子任务的执行结果执行所述卷积任务中的池化操作。


6.根据权利要求5所述的方法,其中,所述卷积任务的待处理数据是深度图像。


7.根据权利要求6所述的方法,其中,所述卷积任务的非线性计算是...

【专利技术属性】
技术研发人员:程治宇寇浩锋包英泽
申请(专利权)人:百度美国有限责任公司
类型:发明
国别省市:美国;US

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

1