一种模型训练设备、方法、系统及计算机可读存储介质与流程

文档序号:22389727发布日期:2020-09-29 17:54阅读:180来源:国知局
一种模型训练设备、方法、系统及计算机可读存储介质与流程

本申请涉及模型训练技术领域,更具体地说,涉及一种模型训练设备、方法、系统及计算机可读存储介质。



背景技术:

当前,神经网络模型等模型的应用越来越广泛,为了保证模型的使用效果,需要对模型进行训练以保证模型的处理精度,在模型的训练过程中,为了提高计算速度,增大并行性,会采用多个计算核心对模型进行训练,然而,在训练过程中,需要传输计算得到的数据,现有方法是将待传输数据保存在共享内存,当需要使用数据时,便从共享内存中读取数据。

然而,当模型的训练过程复杂且计算量较大时,会频繁对共享内存进行读取,形成总线和访问冲突,影响模型训练效率。

综上所述,如何提高模型的训练效率是目前本领域技术人员亟待解决的问题。



技术实现要素:

本申请的目的是提供一种模型训练设备,其能在一定程度上解决如何提高模型的训练效率的技术问题。本申请还提供了一种模型训练方法、系统及计算机可读存储介质。

为了实现上述目的,本申请提供如下技术方案:

一种模型训练设备,包括:

高带宽存储器组,用于存储待训练数据;

全局存储器,用于存储目标模型的模型参数;

与所述高带宽存储器组及所述全局存储器连接的处理器,用于基于所述目标模型的训练算法对所述待训练数据和所述全局存储器中存储的初始模型参数进行运算,得到目标模型参数并存储至所述全局存储器;且所述处理器基于片上网络搭建。

优选的,所述处理器基于处理单元和所述片上网络搭建,且所述处理单元的数量与所述目标模型中运算节点的数量相对应;

其中,所述处理单元对自身获取的所述待训练数据及第一模型参数进行运算,得到第二模型参数之后,通过所述片上网络将所述第二模型参数传输给其他所述处理单元。

优选的,还包括:

与所述高带宽存储器组、所述全局存储器和所述处理器连接的fpga,用于获取所述待训练数据并存储至所述高带宽存储器组,获取所述初始模型参数并存储至所述全局存储器,获取所述目标模型参数。

优选的,所述高带宽存储器组包括第一高带宽存储器和第二高带宽存储器;

所述第一高带宽存储器,用于存储当前轮参与运算的所述待训练数据;

所述第二高带宽存储器,用于存储下一轮参与运算的所述待训练数据。

优选的,所述fpga与所述高带宽存储器组连接,包括:

所述fpga通过pcie总线与第一端口扩展器连接,所述第一端口扩展器通过第二端口扩展器与所述第一高带宽存储器连接,所述第一端口扩展器通过第三端口扩展器与所述第二高带宽存储器连接。

优选的,还包括:

连接在所述pcie总线与所述第一端口扩展器之间的第一时钟转换器;

连接在所述第二端口扩展器与所述第一高带宽存储器之间的第二时钟转换器;

连接在所述第三端口扩展器与所述第二高带宽存储器之间的第三时钟转换器。

优选的,所述目标模型包括卷积神经网络模型。

一种模型训练方法,应用于基于片上网络搭建的处理器,包括:

获取高带宽存储器组中存储的待训练数据;

获取全局存储器中存储的目标模型的初始模型参数;

基于所述目标模型的训练算法对所述待训练数据和所述初始模型参数进行运算,得到所述目标模型的目标模型参数;

存储所述目标模型参数至所述全局存储器。

一种模型训练系统,应用于基于片上网络搭建的处理器,包括:

第一获取模块,用于获取高带宽存储器组中存储的待训练数据;

第二获取模块,用于获取全局存储器中存储的目标模型的初始模型参数;

第一运算模块,用于基于所述目标模型的训练算法对所述待训练数据和所述初始模型参数进行运算,得到所述目标模型的目标模型参数;

第一存储模块,用于存储所述目标模型参数至所述全局存储器。

一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的模型训练方法。

本申请提供的一种模型训练设备,包括高带宽存储器组,用于存储待训练数据;全局存储器,用于存储目标模型的模型参数;与高带宽存储器组及全局存储器连接的处理器,用于基于目标模型的训练算法对待训练数据和全局存储器中存储的初始模型参数进行运算,得到目标模型参数并存储至全局存储器;且处理器基于片上网络搭建。本申请中,由于高带宽存储器的存储容量较大,所以可以存储较多的待训练数据,降低对高带宽存储器的读写次数,并且处理器基于片上网络搭建,所以处理器可以借助片上网络在自身内部传输相应数据,降低了对待传输数据的读写频率,与现有技术相比,可以提高模型的训练效率。本申请提供的一种模型训练方法、系统及计算机可读存储介质也解决了相应技术问题。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请实施例提供的一种模型训练设备的第一结构示意图;

图2为本申请实施例中处理单元的搭建示意图;

图3为本申请实施例提供的一种模型训练设备的第二结构示意图;

图4为本申请实施例提供的一种模型训练方法的流程图;

图5为本申请实施例提供的一种模型训练系统的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

请参阅图1,图1为本申请实施例提供的一种模型训练设备的第一结构示意图。

本申请实施例提供的一种模型训练设备,可以包括:

高带宽存储器组11,用于存储待训练数据;

全局存储器12,用于存储目标模型的模型参数;

与高带宽存储器组11及全局存储器12连接的处理器13,用于基于目标模型的训练算法对待训练数据和全局存储器中存储的初始模型参数进行运算,得到目标模型参数并存储至全局存储器;且处理器基于片上网络搭建。

实际应用中,待训练数据指的是用于训练目标模型的数据,待训练数据的数据量及数据类型均可以根据实际需要确定,且用于存储待训练数据的高带宽存储器组中高带宽存储器(highbandwidthmemory,hbm)的数量可以根据实际需要确定;模型参数指的是构成目标模型的参数,且全局存储器中存储的目标模型的模型参数的类型可以包括目标模型的初始模型参数、目标模型的目标模型参数等,目标模型参数也即训练好的目标模型的模型参数;由于处理器用于基于目标模型的训练算法对待训练数据和全局存储器中存储的初始模型参数进行运算,得到目标模型参数,而目标模型的运算复杂度一般较高,所以处理器中会存在多组运算,且存在数据重复利用的情况,但是本申请中的处理器基于片上网络搭建,而片上网络的每个节点可以通过双向通道连接到相邻的节点,所以处理器可以在自身内部借助片上网络来在节点间传输数据,降低将数据写入共享内存再读取的频率。

应当指出,目标模型的类型可以根据实际需要确定,比如可以为卷积神经网络模型(convolutionalneuralnetwork,cnn)等。

本申请提供的一种模型训练设备,包括高带宽存储器组,用于存储待训练数据;全局存储器,用于存储目标模型的模型参数;与高带宽存储器组及全局存储器连接的处理器,用于基于目标模型的训练算法对待训练数据和全局存储器中存储的初始模型参数进行运算,得到目标模型参数并存储至全局存储器;且处理器基于片上网络搭建。本申请中,由于高带宽存储器的存储容量较大,所以可以存储较多的待训练数据,降低对高带宽存储器的读写次数,并且处理器基于片上网络搭建,所以处理器可以借助片上网络在自身内部传输相应数据,降低了对待传输数据的读写频率,与现有技术相比,可以提高模型的训练效率。

本申请实施例提供的一种模型训练设备中,处理器可以基于处理单元(processingelement,pe)和2dtorus结构的片上网络搭建,且处理单元的数量与目标模型中运算节点的数量相对应;

其中,处理单元对自身获取的待训练数据及第一模型参数进行运算,得到第二模型参数之后,通过片上网络将第二模型参数传输给其他处理单元。

应当指出,处理单元基于2dtorus结构的片上网络搭建的方式可以如图2所示样例等,且在图2中,只示出了16个pe间的搭建方式。且片上网络的结构除了2dtorus结构之后,还可以为2dmesh结构,蝶形拓扑结构,banyan结构,fat-tree拓扑结构等。

本申请实施例提供的一种模型训练设备中,为了便于用户对模型训练过程进行控制,还可以设置与高带宽存储器组、全局存储器和处理器连接的fpga(field-programmablegatearray,现场可编程门阵列),用于获取待训练数据并存储至高带宽存储器组,获取初始模型参数并存储至全局存储器,获取目标模型参数。

请参阅图3,图3为本申请实施例提供的一种模型训练设备的第二结构示意图。

本申请实施例提供的一种模型训练设备中,在模型训练过程中,可能需要更换待训练数据,比如当前轮模型训练用的是一份待训练数据,下一轮模型训练便可能用的是另一份待训练数据,为了便于更换待训练,避免因更换待训练数据而影响模型训练效率,本申请提供的模型训练设备中的高带宽存储器组11可以包括第一高带宽存储器111和第二高带宽存储器112;第一高带宽存储器111,用于存储当前轮参与运算的待训练数据;第二高带宽存储器112,用于存储下一轮参与运算的待训练数据。

实际应用中,第一高带宽存储器和第二高带宽存储器中各自包含的高带宽存储器的数量可以根据实际需要确定,且处理器中的处理单元可以与高带宽存储器一一对应,这样,处理单元在需要获取自身运算的待处理数据时,可以直接在高带宽存储器中进行读取。

请参阅图3,本申请实施例提供的一种模型训练设备中,fpga与高带宽存储器组连接时,fpga可以通过pcie总线31与第一端口扩展器41连接,第一端口扩展器41通过第二端口扩展器51与第一高带宽存储器111连接,第一端口扩展器41通过第三端口扩展器61与第二高带宽存储器112连接。

实际应用中,由于fpga、第一端口扩展器、第一高带宽存储器和第二高带宽存储器的工作时钟不同,所以为了保证各个器件的工作时钟不变,本申请中,还可以设置连接在pcie总线31与第一端口扩展器41之间的第一时钟转换器71;

连接在第二端口扩展器51与第一高带宽存储器111之间的第二时钟转换器81;

连接在第三端口扩展器61与第二高带宽存储器112之间的第三时钟转换器91。

应当指出,第二端口扩展器的端口数量可以根据第一高带宽存储器中高带宽存储器的数量来确定;第三端口扩展器的端口数量可以根据第二高带宽存储器中高带宽存储器的数量来确定。

请参阅图4,图4为本申请实施例提供的一种模型训练方法的流程图。

本申请实施例提供的一种模型训练方法,应用于基于片上网络搭建的处理器,可以包括以下步骤:

步骤s101:获取高带宽存储器组中存储的待训练数据。

步骤s102:获取全局存储器中存储的目标模型的初始模型参数。

步骤s103:基于目标模型的训练算法对待训练数据和初始模型参数进行运算,得到目标模型的目标模型参数。

步骤s104:存储目标模型参数至全局存储器。

本申请实施例提供的一种模型训练方法中各个步骤的描述可以参阅上述实施例,在此不再赘述。

请参阅图5,图5为本申请实施例提供的一种模型训练系统的结构示意图。

本申请实施例提供的一种模型训练系统,应用于基于片上网络搭建的处理器,可以包括:

第一获取模块101,用于获取高带宽存储器组中存储的待训练数据;

第二获取模块102,用于获取全局存储器中存储的目标模型的初始模型参数;

第一运算模块103,用于基于目标模型的训练算法对待训练数据和初始模型参数进行运算,得到目标模型的目标模型参数;

第一存储模块104,用于存储目标模型参数至全局存储器。

本申请实施例提供的一种模型训练系统中各个模块的描述可以参阅上述实施例,在此不再赘述。

本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如上任一实施例所描述的模型训练方法的步骤。

本申请所涉及的计算机可读存储介质包括随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质。

本申请实施例提供的模型训练方法、系统及计算机可读存储介质中相关部分的说明请参见本申请实施例提供的模型训练设备中对应部分的详细说明,在此不再赘述。另外,本申请实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。

还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1