一种计算装置及相关产品制造方法及图纸

技术编号:22021827 阅读:16 留言:0更新日期:2019-09-04 01:10
本公开提供了一种计算装置,所述计算装置获取训练样本、训练模型;所述训练模型包括n层结构;包括:指令控制单元用于获取训练指令,根据所述训练指令得到正向运算指令和反向运算指令;运算单元用于根据所述正向运算指令对所述训练样本进行n层正向运算得到第n层正向运算结果,根据所述第n层正向运算结果获得第n层输出数据梯度,根据所述反向运算指令对所述第n层输出数据梯度执行n层反向运算得到所述训练模型的权值梯度;所述训练模型的权值梯度包括每层的权值梯度;压缩单元用于对所述训练模型的权值梯度进行处理,以对应得到处理后的权值梯度;计算装置用于依据所述处理后的权值梯度对所述训练模型的权值进行更新,以完成训练。

A Computing Device and Related Products

【技术实现步骤摘要】
一种计算装置及相关产品
本申请涉及信息处理
,具体涉及一种计算装置及相关产品。
技术介绍
随着信息技术的不断发展和人们日益增长的需求,人们对信息及时性的要求越来越高了。目前,终端对信息的获取以及处理均是基于通用处理器获得的。在实践中发现,这种基于通用处理器运行软件程序来处理信息的方式,受限于通用处理器的运行速率,特别是在通用处理器负荷较大的情况下,信息处理效率较低、时延较大。申请内容本申请实施例提供了一种数据处理方法及相关产品,可提升计算装置的处理速度,提高效率。第一方面,提供一种使用计算装置进行数据处理的方法,所述计算装置包括运算单元、指令控制单元以及压缩单元;所述计算装置获取训练样本、训练模型;所述训练模型为:神经网络训练模型和/或非神经网络训练模型,所述训练模型包括n层结构;所述方法包括:所述指令控制单元获取训练指令,根据所述训练指令得到正向运算指令和方向运算指令,并将所述正向运算指令和所述反向运算指令分别发送给所述运算单元;所述运算单元根据所述所述正向运算指令对所述训练样本进行n层正向运算得到第n层正向运算结果;根据所述第n层正向运算结果获得第n层输出数据梯度;根据所述反向运算指令对所述第n层输出数据梯度执行n层反向运算得到所述训练模型的权值梯度;所述训练模型的权值梯度包括n层中每层的权值梯度;所述压缩单元对所述训练模型的权值梯度进行处理,以对应得到处理后的权值梯度;所述计算装置依据所述处理后的权值梯度对所述训练模型的权值进行更新,以完成训练。第二方面,提供一种计算装置,所述计算装置包括用于执行上述第一方面的方法的硬件单元。第三方面,提供一种计算机可读存储介质,其存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行第一方面提供的方法。第四方面,提供了一种芯片,所述芯片包括如上第二方面提供的计算装置。第五方面,提供了一种芯片封装结构,所述芯片封装结构包括如上第四方面提供的芯片。第六方面,提供了一种板卡,所述板卡包括如上第五方面提供的芯片封装结构。第七方面,提供了一种电子设备,所述电子设备包括如上第六方面提供的板卡。在一些实施例中,所述电子设备包括数据处理装置、机器人、电脑、打印机、扫描仪、平板电脑、智能终端、手机、行车记录仪、导航仪、传感器、摄像头、服务器、云端服务器、相机、摄像机、投影仪、手表、耳机、移动存储、可穿戴设备、交通工具、家用电器、和/或医疗设备。在一些实施例中,所述交通工具包括飞机、轮船和/或车辆;所述家用电器包括电视、空调、微波炉、冰箱、电饭煲、加湿器、洗衣机、电灯、燃气灶、油烟机;所述医疗设备包括核磁共振仪、B超仪和/或心电图仪。本申请提供的计算装置设置了压缩单元,将数据进行压缩处理后再运算,节省了传输资源以及计算资源,所以其具有功耗低,计算量小的优点。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1A-1C是本申请实施例提供的几种计算装置的结构示意图。图1D是本专利技术实施例提供的一种压缩单元的结构示意图。图1E是本专利技术实施例提供的一种控制单元控制状态迁移的示意图。图2为本专利技术实施例提供的一种压缩单元的局部结构示意图。图3为本专利技术实施例提供的一种神经网络结构示意图。图4为本专利技术实施例提供的另一种压缩单元的局部结构示意图。图5为本专利技术实施例提供的另一种压缩单元的局部结构示意图。图6为本专利技术实施例提供的一种使用计算装置的数据处理方法的流程示意图。图7a是本专利技术实施例提供的一种芯片装置的结构示意图。图7b是本专利技术实施例提供的一种主处理电路的结构示意图。图7c是本专利技术实施例提供的芯片装置的数据分发示意图。图7d为一种芯片装置的数据回传示意图。附图中“/”表示“或”。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。本申请提供一种使用计算装置进行数据处理的方法,该方法应用于计算装置中。下面阐述所述计算装置涉及的相关实施例,请参见图1A是本申请一种可能的计算装置的结构示意图。如图1A所示,该计算装置包括:压缩单元101、存储单元102、指令控制单元107以及运算单元108。可选的,如图1B所述计算装置还可包括第一输入缓存单元105、第二输入缓存单元106。进一步可选的,所述计算装置还可包括直接存储访问(DirectMemoryAccess,DMA)单元103、指令缓存单元104以及输出缓存单元109。下面结合图1A和1B示出的计算装置,具体阐述本申请实施例。其中,所述存储单元102用于存储训练模型、训练样本、训练指令、运算单元产生的中间数据以及运算结果、压缩单元产生的处理后的数据以及位置关系数据等等,本申请不做限定。所述训练模型包括但不限于以下中的任一项或多项的组合:神经网络模型、非神经网络模型以及其他装置侧或用户侧自定义设置的数学模型等等。所述训练样本包括用于对所述训练模型进行训练时所使用的训练输入数据(即输入神经元)。可选的,所述存储单元还存储有对所述训练模型进行训练时所使用的训练输出数据(即与所述输入数据对应的结果数据)。所述训练样本以及训练输出结果具体为装置侧获取的真实数据。关于所述存储单元中存储的各种数据将在下文进行详述,这里不过需叙述。位置关系数据用于表征数据的位置,也可用于表征绝对值大于或等于预设阈值的数据的位置。所述预设阈值为用户侧或设备侧自定义设置的阈值,例如0.2、0.5等等。所述输入数据的位置关系数据可用直接索引或者步长索引的方式表示,具体将在后文进行详细阐述。例如,以所述数据为矩阵数据块预设阈值为0.5,则该矩阵数据块的位置关系数据为可选实施例中,本申请为节省存储空间,所述计算装置可根据所述数据的位置关系数据来存储所述数据。具体的,缓存该数据的位置关系数据以及缓存绝对值大于或等于预设阈值的数据,其他位置的数据默认为是:绝对值小于该预设阈值的数据,或默认为0,本申请不做限定。即是本申请采用稠密方式来存储数据,例如在第一/二缓存单元中以稠密方式缓存数据,所述数据包本文档来自技高网...

【技术保护点】
1.一种计算装置,其特征在于,包括运算单元、指令控制单元以及压缩单元;所述计算装置获取训练样本、训练模型;所述训练模型为:神经网络训练模型和/或非神经网络训练模型,所述训练模型包括n层结构;所述指令控制单元用于获取训练指令,根据所述训练指令得到正向运算指令和反向运算指令;将所述正向运算指令和所述反向运算指令分别发送给所述运算单元;所述运算单元用于根据所述正向运算指令对所述训练样本进行n层正向运算得到第n层正向运算结果;根据所述第n层正向运算结果获得第n层输出数据梯度;所述运算单元还用于根据所述反向运算指令对所述第n层输出数据梯度执行n层反向运算得到所述训练模型的权值梯度;所述训练模型的权值梯度包括n层中每层的权值梯度;所述压缩单元用于对所述训练模型的权值梯度进行处理,以对应得到处理后的权值梯度;所述计算装置用于依据所述处理后的权值梯度对所述训练模型的权值进行更新,以完成训练。

【技术特征摘要】
1.一种计算装置,其特征在于,包括运算单元、指令控制单元以及压缩单元;所述计算装置获取训练样本、训练模型;所述训练模型为:神经网络训练模型和/或非神经网络训练模型,所述训练模型包括n层结构;所述指令控制单元用于获取训练指令,根据所述训练指令得到正向运算指令和反向运算指令;将所述正向运算指令和所述反向运算指令分别发送给所述运算单元;所述运算单元用于根据所述正向运算指令对所述训练样本进行n层正向运算得到第n层正向运算结果;根据所述第n层正向运算结果获得第n层输出数据梯度;所述运算单元还用于根据所述反向运算指令对所述第n层输出数据梯度执行n层反向运算得到所述训练模型的权值梯度;所述训练模型的权值梯度包括n层中每层的权值梯度;所述压缩单元用于对所述训练模型的权值梯度进行处理,以对应得到处理后的权值梯度;所述计算装置用于依据所述处理后的权值梯度对所述训练模型的权值进行更新,以完成训练。2.根据权利要求1所述的计算装置,其特征在于,所述指令运算单元还用于将所述正向运算指令进行译码得到第一微指令和第二微指令;所述压缩单元,还用于根据所述第一微指令对所述训练样本进行处理,得到处理后的训练样本;所述运算单元,具体用于根据所述第二微指令对所述处理后的训练样本进行n层正向运算得到第n层正向运算结果。3.根据权利要求1所述的计算装置,其特征在于,所述运算单元,具体用于根据所述反向运算指令对所述第n层输出权值梯度执行第n层反向运算得到所述训练模型中第n层的权值梯度;所述压缩单元,还用于对所述第n层的权值梯度进行处理,得到处理后的第n层的权值梯度;所述计算装置,具体用于利用所述处理后的第n层的权值梯度对所述训练模型中第n层的权值进行更新。4.根据权利要求3所述的计算装置,其特征在于,所述运算单元,还用于获取第n-1层输出数据梯度,对所述第n-1层输出数据梯度执行第n-1层反向运算得到第n-1层的权值梯度;所述压缩单元,还用于对所述第n-1层的权值梯度进行处理,得到处理后的第n-1层的权值梯度;所述计算装置,具体用于依据所述处理后的第n-1层的权值梯度对所述训练模型中第n-1层的权值进行更新,依次类推,所述计算装置将依据所述训练模型中处理后的每层的权值梯度对应对所述训练模型的权值进行更新,以完成训练。5.根据权利要求1-4中任一项所述的计算装置,其特征在于,所述压缩单元,用于确定数据处理方式,根据所述数据处理方式对所述训练模型的权值梯度进行处理,以对应得到处理后的权值梯度;所述数据处理方式包括以下中的至少一项:剪枝处理、量化处理以及编码处理。6.根据权利要求5所述的计算装置,其特征在于,所述压缩单元还包括控制单元,在所述压缩单元内部通过所述控制单元对所述处理方式对应的运算状态进行修改,以实现多种处理方式的数据处理;所述运算状态包括以下中的至少一项:第一状态、第二状态、第三状态以及第四状态,其中,所述第一状态,用于指示所述压缩单元处于初始状态,不进行任何数据处理;所述第二状态与所述剪枝处理关联,用于指示所述压缩单元将进行数据的剪枝处理;所述第三状态与所述量化处理关联,用于指示所述压缩单元将进行数据的量化处理;所述第四状态与所述编码处理关联,用于指示所述压缩单元将进行数据的编码处理。7.根据权利要求5所述的计算装置,其特征在于,当所述数据处理方式为剪枝处理时,所述压缩单元,具体用于根据所述剪枝处理,将绝对值大于或等于第一阈值的...

【专利技术属性】
技术研发人员:不公告发明人
申请(专利权)人:上海寒武纪信息科技有限公司
类型:发明
国别省市:上海,31

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

1