参数服务器、主从客户机、权值参数的处理方法及系统与流程

文档序号:25543353发布日期:2021-06-18 20:40
参数服务器、主从客户机、权值参数的处理方法及系统与流程

本申请涉及计算机技术领域,特别是涉及一种参数服务器、主从客户机、权值参数的处理方法及系统。



背景技术:

在大数据集上训练的神经网络模型在语音识别、图像识别、自然语言处理等许多领域都取得了显著的效果。目前,传统的神经网络模型的训练方式为单机训练方式,也即采用单台训练机对待训练的神经网络模型进行训练。由于在神经网络模型的训练过程中,需要大量的样本数据进行训练,才能得到满足要求的神经网络模型,从而导致采用单机训练方式的训练时长较长。例如,在一台安装有gpu(graphicsprocessingunit,图形处理器)的训练机上完成一次基于imagenet(一个用于视觉对象识别软件研究的大型可视化数据库)等基准数据集的训练,需要耗费长达一周的时间。因此,亟需一种可以降低训练时长的神经网络训练方案。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种参数服务器、主从客户机、权值参数的处理方法及系统。

第一方面,提供了一种参数服务器,所述参数服务器包括处理器和通信接口;

所述通信接口,用于接收各从客户机发送的梯度参数;

所述处理器,用于根据各梯度参数,更新本地存储的待训练的神经网络模型的第一权值参数,得到第二权值参数;

所述通信接口,还用于将所述第二权值参数发送至所述各客户机中的主客户机。

第二方面,提供了一种主客户机,所述主客户机包括处理器和通信接口;

所述通信接口,用于接收参数服务器发送的第二权值参数;

所述处理器,用于根据预设的量化算法和数据格式转换算法,对所述第二权值参数进行量化处理和数据格式转换处理,得到第三权值参数;

所述通信接口,还用于将所述第三权值参数发送至所述各客户机中的从客户机,以使所述各从客户机将待训练的神经网络模型的权值参数更新为所述第三权值参数。

作为一种可选的实施方式,所述第二权值参数对应的数据类型的长度大于所述第三权值参数对应的数据类型的长度。

作为一种可选的实施方式,所述第二权值参数对应的数据类型为单精度数据类型或双精度数据类型,所述第三权值参数对应的数据类型为整数数据类型。

作为一种可选的实施方式,所述通信接口,还用于将所述第三权值参数通过广播方式发送至所述各从客户机。

第三方面,提供了一种从客户机,所述从客户机包括处理器和通信接口;

所述通信接口,用于接收主客户机发送的第三权值参数;

所述处理器,用于将待训练的神经网络模型的权值参数更新为所述第三权值参数,得到更新后的神经网络模型,将样本数据输入至所述更新后的神经网络模型,得到输出结果,并根据预设的梯度算法和所述输出结果,确定梯度参数;

所述通信接口,还用于将所述梯度参数发送至参数服务器,以使所述参数服务器根据各从客户机发送的梯度参数,更新所述参数服务器中存储的第二权值参数。

第四方面,提供了一种权值参数的处理系统,所述系统包括如第一方面所述的参数服务器、如第二方面任一项所述的主客户机和多个如第三方面所述的从客户机。

第五方面,提供了一种权值参数的处理方法,所述方法应用于参数服务器,所述方法包括:

接收各从客户机发送的梯度参数;

根据各梯度参数,更新本地存储的待训练的神经网络模型的第一权值参数,得到第二权值参数;

将所述第二权值参数发送至所述各客户机中的主客户机。

第六方面,提供了一种权值参数的处理方法,所述方法应用于主客户机,所述方法包括:

接收参数服务器发送的第二权值参数;

根据预设的量化算法和数据格式转换算法,对所述第二权值参数进行量化处理和数据格式转换处理,得到第三权值参数;

将所述第三权值参数发送至所述各客户机中的从客户机,以使所述各从客户机将本地的待训练的神经网络模型的权值参数更新为所述第三权值参数。

第七方面,提供了一种权值参数的处理方法,所述方法应用于从客户机,所述方法包括:

接收主客户机发送的第三权值参数;

将待训练的神经网络模型的权值参数更新为所述第三权值参数,得到更新后的神经网络模型,将样本数据输入至所述更新后的神经网络模型,得到输出结果,并根据预设的梯度算法和所述输出结果,确定梯度参数;

将所述梯度参数发送至参数服务器,以使所述参数服务器根据各从客户机发送的梯度参数,更新所述参数服务器中存储的第二权值参数。

第八方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第五方面所述的方法的步骤。

第九方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第六方面所述的方法的步骤。

第十方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第七方面所述的方法的步骤。

本申请实施例提供了一种参数服务器、主从客户机、权值参数的处理方法及系统。主客户机包括处理器和通信接口。其中,通信接口,用于接收参数服务器发送的第二权值参数;处理器,用于根据预设的量化算法和数据格式转换算法,对第二权值参数进行量化处理和数据格式转换处理,得到第三权值参数;通信接口,还用于将第三权值参数发送至各客户机中的从客户机,以使各从客户机将本地的待训练的神经网络模型的权值参数更新为第三权值参数。这样,同时通过多个从客户机对待训练的神经网络模型进行训练,可以减少神经网络模型的训练时长。另外,由于主客户机将第二权值参数进行量化处理和数据格式转换处理,得到第三权值参数后,才将第三权值参数通过通信接口发送至各从客户机,从而使各从客户机无需进行上述对第二权值参数的量化处理和数据格式转换处理,进而提高各从客户机的处理性能。而且,通过将数据类型的长度较大的第二权值参数转换为数据类型的长度较小第三权值参数,可以减少对带宽的占用。

附图说明

图1为本申请实施例提供的一种权值参数的处理系统的架构图;

图2为本申请实施例提供的一种权值参数的处理方法的流程图;

图3为本申请实施例提供的一种权值参数的处理方法的流程图;

图4为本申请实施例提供的一种权值参数的处理方法的流程图。

具体实施方式

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

应当理解,本披露的权利要求、说明书及附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。本披露的说明书和权利要求书中使用的术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在此本披露说明书中所使用的术语仅仅是出于描述特定实施例的目的,而并不意在限定本披露。如在本披露说明书和权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本披露说明书和权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

如在本说明书和权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。

本申请实施例提供了一种权值参数的处理系统,如图1所示,该权值参数的处理系统包括参数服务器(parameterserver,ps)110、主客户机120和多个从客户机130。

参数服务器110中可以存储有待训练的神经网络模型的第一权值参数。当参数服务器110接收到各客户机120发送的梯度参数时,参数服务器110可以根据接收到的各梯度参数,更新第一权值参数,得到第二权值参数,并发送至主客户机120。主客户机120可以根据预设的量化算法和数据格式转换算法,对第二权值参数进行量化处理和数据格式转换处理,得到第三权值参数,并发送至从客户机130。各从客户机130中存储有相同的待训练的神经网络模型,并存储有相同的样本数据集合中不同的样本数据。针对每个从客户机130,当该从客户机130接收到第三权值参数后,可以将待训练的神经网络模型的权值参数更新为第三权值参数。然后,该从客户机130可以将样本数据输入至待训练的神经网络模型中,输出训练结果。之后,该从客户机130可以根据预设的梯度算法和训练结果,确定梯度参数,并将该梯度参数发送至参数服务器110。这样,通过多个从客户机130对同一待训练的神经网络模型进行训练,可以降低训练时长。其中,参数服务器110包括处理器111和通信接口112;主客户机120包括处理器121和通信接口122;从客户机130包括处理器131和通信接口132。上述处理器111、处理器121和处理器131可以为ipu(intelligentprocessingunit,智能处理器)或cpu(centralprocessingunit,中央处理器)或gpu(graphicsprocessingunit,图形处理器)。下面对参数服务器110中的处理器111和通信接口112的功能进行介绍,具体如下:

通信接口120,用于接收各从客户机130发送的梯度参数。

在实施中,在权值参数的处理过程中,各从客户机130可以将样本数据输入至神经网络模型,得到输出结果。然后,各从客户机130可以根据预设的梯度算法和输出结果,确定梯度参数。之后,各从客户机130可以将梯度参数发送至参数服务器110。相应的,参数服务器110中的通信接口112则可以接收到各从客户机130发送的梯度参数,并将各梯度参数发送至处理器111。

处理器111,用于根据各梯度参数,更新本地存储的待训练的神经网络模型的第一权值参数,得到第二权值参数。

在实施中,参数服务器110中可以存储有待训练的神经网络模型的权值参数。处理器111接收到各梯度参数后,可以根据各梯度参数,更新本地存储的待训练的神经网络模型的第一权值参数,得到第二权值参数,并将该第二权值参数发送至通信接口112。其中,该第一权值参数可以为待训练的神经网络模型的初始权值参数,也可以为处理器111上一次更新待训练的神经网络模型的权值参数得到的权值参数。可选的,处理器111接收到各梯度参数后,可以进一步确定各梯度参数的平均值,并根据该平均值更新本地存储的待训练的神经网络模型的第一权值参数,得到第二权值参数。

通信接口112,还用于将第二权值参数发送至各客户机中的主客户机120。

在实施中,通信接口112将第二权值参数发送至各客户机中的主客户机120。这样,参数服务器110仅需要将第二权值参数通过单播方式发送至主客户机120,无需将第二权值参数通过广播方式发送至主客户机120和从客户机130,从而减少了带宽的占用。

下面对主客户机120中的处理器121和通信接口122的功能进行介绍,具体如下:

通信接口122,用于接收参数服务器110发送的第二权值参数。

在实施中,主客户机120中的通信接口122可以接收参数服务器110发送的第二权值参数,并将该第二权值参数发送至处理器121。

处理器121,用于根据预设的量化算法和数据格式转换算法,对第二权值参数进行量化处理和数据格式转换处理,得到第三权值参数。

在实施中,在每次迭代训练的过程中,参数服务器110根据第一数据类型的梯度参数更新第一权值参数,得到第二权值参数。该第二权值参数的数据类型也为第一数据类型。为了提高各从客户机130的运行速率,主客户机120的处理器121得到第二权值参数后,可以进一步根据预设的量化算法和数据格式转换算法,对第二权值参数进行量化处理和数据格式转换处理,得到第二数据类型的第三权值参数,并将该第三权值参数发送至通信接口122。其中,第二权值参数对应的数据类型的长度大于第三权值参数对应的数据类型的长度,也即第一数据类型的长度大于第二数据类型的长度。这样,主客户机120将长度较大的第二权值参数量化为长度较小的第三权值参数,可以提高各从客户机130的运行速率。

另外,主客户机120将第二权值参数进行量化处理和数据格式转换处理,得到第三权值参数后,才将第三权值参数通过通信接口122发送至各从客户机130,从而使各从客户机130无需进行上述对第二权值参数的量化处理和数据格式转换处理,进而提高各从客户机130的处理性能。

通信接口122,还用于将第三权值参数发送至各客户机中的从客户机130,以使各从客户机130将本地的待训练的神经网络模型的权值参数更新为第三权值参数。

在实施中,通信接口122将第三权值参数发送至各从客户机130,以使各从客户机130将待训练的神经网络模型的权值参数更新为第三权值参数。后续,各从客户机130可以基于更新后的神经网络模型进行迭代训练。可选的,通信接口122,还用于将第三权值参数通过广播方式发送至各从客户机130。

同时,由于减少主客户机120向各从客户机130发送权值参数对带宽的占用。处理器121可以根据预设的量化算法和数据格式转换算法,将数据类型的长度较大的第二权值参数进行量化处理和数据格式转换处理,得到数据类型的长度较小第三权值参数。这样,通过将数据类型的长度较大的第二权值参数转换为数据类型的长度较小第三权值参数,可以减少对带宽的占用。例如,处理器121可以根据预设的量化算法和数据格式转换算法,将数据类型的长度为32比特的第二权值参数进行量化处理和数据格式转换处理,得到数据类型的长度为8比特第三权值参数。可选的,第二权值参数对应的数据类型为单精度(float)数据类型或双精度数据(double)类型,第三权值参数对应的数据类型为整数(int)数据类型,第二权值参数对应的数据类型和第三权值参数对应的数据类型也可以为其他数据类型,本申请实施不作限定。

需要说明的是,技术人员可以在主客户机120中设置低精度运算单元,以实现上述处理器121的功能。

下面对客户机130中的处理器131和通信接口132的功能进行介绍,具体如下:

通信接口132,用于接收主客户机120发送的第三权值参数。

在实施中,从客户机130中的通信接口132可以接收主客户机120发送的第三权值参数,并将该第三权值参数发送至处理器131。

处理器131,用于将待训练的神经网络模型的权值参数更新为第三权值参数,得到更新后的神经网络模型,将样本数据输入至更新后的神经网络模型,得到输出结果,并根据预设的梯度算法和输出结果,确定梯度参数。

在实施中,处理器131接收到第三权值参数后,可以将待训练的神经网络模型的权值参数更新为第三权值参数,得到更新后的神经网络模型。然后,处理器131可以将样本数据输入至更新后的神经网络模型,得到输出结果,并根据预设的梯度算法和输出结果,确定梯度参数。其中,该样本数据可以为样本图像数据,也可以为语音样本数据,本申请实施例不作限定;该神经网络模型可以为卷积神经网络模型,也可以为其他类型的神经网络模型,本申请实施例不作限定。之后,处理器131可以将确定出的梯度参数发送至通信接口132。这样,同时通过多个从客户机130对待训练的神经网络模型进行训练,可以减少神经网络模型的训练时长。

需要说明的是,主客户机120得到第三权值参数后,也可以将待训练的神经网络模型的权值参数更新为第三权值参数,得到更新后的神经网络模型。然后,处理器121可以将样本数据输入至更新后的神经网络模型,得到输出结果,并根据预设的梯度算法和输出结果,确定梯度参数。然后,处理器121可以通过通信接口122将该梯度参数发送至参数服务器110。

通信接口132,还用于将梯度参数发送至参数服务器110,以使参数服务器110根据各从客户机130发送的梯度参数,更新参数服务器110中存储的第二权值参数。

在实施中,通信接口132接收到梯度参数后,可以将梯度参数发送至参数服务器110,以使参数服务器110根据各从客户机130发送的梯度参数,更新参数服务器110中存储的第二权值参数。

本申请实施例还提供了一种权值参数的处理方法,该方法应用于参数服务器110,如图2所示,该方法的处理过程如下:

步骤201,接收各从客户机130发送的梯度参数。

步骤202,根据各梯度参数,更新本地存储的待训练的神经网络模型的第一权值参数,得到第二权值参数。

步骤203,将第二权值参数发送至各客户机中的主客户机120。

上述步骤201至步骤203的处理过程与参数服务器110的处理过程类型,此处不再赘述。

本申请实施例还提供了一种权值参数的处理方法,该方法应用于主客户机120,如图3所示,该方法的处理过程如下:

步骤301,接收参数服务器110发送的第二权值参数。

步骤302,根据预设的量化算法和数据格式转换算法,对第二权值参数进行量化处理和数据格式转换处理,得到第三权值参数。

步骤303,将第三权值参数发送至各客户机中的从客户机130,以使各从客户机130将本地的待训练的神经网络模型的权值参数更新为第三权值参数。

上述步骤301至步骤303的处理过程与主客户机120的处理过程类型,此处不再赘述。

本申请实施例还提供了一种权值参数的处理方法,该方法应用于从客户机130,如图4所示,该方法的处理过程如下:

步骤401,接收主客户120发送的第三权值参数。

步骤402,将待训练的神经网络模型的权值参数更新为第三权值参数,得到更新后的神经网络模型,将样本数据输入至更新后的神经网络模型,得到输出结果,并根据预设的梯度算法和输出结果,确定梯度参数。

步骤403,将梯度参数发送至参数服务110,以使参数服务器110根据各从客户机130发送的梯度参数,更新参数服务器110中存储的第二权值参数。

上述步骤401至步骤403的处理过程与从客户机130的处理过程类型,此处不再赘述。

在一个实施例中,一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述权值参数的处理方法的步骤。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本披露并不受所描述的动作顺序的限制,因为依据本披露,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本披露所必须的。

进一步需要说明的是,虽然图2-4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。上述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

依据以下条款可更好地理解前述内容:

条款a1,对应权1;条款a2,对应权2;条款a3,对应权3;条款a4,对应权4;条款a5,对应权5;条款a6,对应权6;条款a7,对应权7;条款a8,对应权8;条款a9,对应权9;条款a10,对应权10;条款a11,对应权11;条款a12,对应权12;条款a13,对应权13。

例如,条款a1、一种参数服务器,其特征在于,所述参数服务器包括处理器和通信接口;

所述通信接口,用于接收各从客户机发送的梯度参数;

所述处理器,用于根据各梯度参数,更新本地存储的待训练的神经网络模型的第一权值参数,得到第二权值参数;

所述通信接口,还用于将所述第二权值参数发送至所述各客户机中的主客户机。

条款a2、一种主客户机,其特征在于,所述主客户机包括处理器和通信接口;

所述通信接口,用于接收参数服务器发送的第二权值参数;

所述处理器,用于根据预设的量化算法和数据格式转换算法,对所述第二权值参数进行量化处理和数据格式转换处理,得到第三权值参数;

所述通信接口,还用于将所述第三权值参数发送至所述各客户机中的从客户机,以使所述各从客户机将本地的待训练的神经网络模型的权值参数更新为所述第三权值参数。

条款a3、根据条款a2所述的主客户机,其特征在于,所述第二权值参数对应的数据类型的长度大于所述第三权值参数对应的数据类型的长度。

条款a4、根据条款a2所述的主客户机,其特征在于,所述第二权值参数对应的数据类型为单精度数据类型或双精度数据类型,所述第三权值参数对应的数据类型为整数数据类型。

条款a5、根据条款a2所述的主客户机,其特征在于,所述通信接口,还用于将所述第三权值参数通过广播方式发送至所述各从客户机。

条款a6、一种从客户机,其特征在于,所述从客户机包括处理器和通信接口;

所述通信接口,用于接收主客户机发送的第三权值参数;

所述处理器,用于将待训练的神经网络模型的权值参数更新为所述第三权值参数,得到更新后的神经网络模型,将样本数据输入至所述更新后的神经网络模型,得到输出结果,并根据预设的梯度算法和所述输出结果,确定梯度参数;

所述通信接口,还用于将所述梯度参数发送至参数服务器,以使所述参数服务器根据各从客户机发送的梯度参数,更新所述参数服务器中存储的第二权值参数。

条款a7、一种权值参数的处理系统,所述系统包括如条款a1所述的参数服务器、如条款a2至条款a5任一项所述的主客户机和多个如条款a6所述的从客户机。

条款a8、一种权值参数的处理方法,其特征在于,所述方法应用于参数服务器,所述方法包括:

接收各从客户机发送的梯度参数;

根据各梯度参数,更新本地存储的待训练的神经网络模型的第一权值参数,得到第二权值参数;

将所述第二权值参数发送至所述各客户机中的主客户机。

条款a9、一种权值参数的处理方法,其特征在于,所述方法应用于主客户机,所述方法包括:

接收参数服务器发送的第二权值参数;

根据预设的量化算法和数据格式转换算法,对所述第二权值参数进行量化处理和数据格式转换处理,得到第三权值参数;

将所述第三权值参数发送至所述各客户机中的从客户机,以使所述各从客户机将本地的待训练的神经网络模型的权值参数更新为所述第三权值参数。

条款a10、一种权值参数的处理方法,其特征在于,所述方法应用于从客户机,所述方法包括:

接收主客户机发送的第三权值参数;

将待训练的神经网络模型的权值参数更新为所述第三权值参数,得到更新后的神经网络模型,将样本数据输入至所述更新后的神经网络模型,得到输出结果,并根据预设的梯度算法和所述输出结果,确定梯度参数;

将所述梯度参数发送至参数服务器,以使所述参数服务器根据各从客户机发送的梯度参数,更新所述参数服务器中存储的第二权值参数。

条款a11、一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现条款a8所述的方法的步骤。

条款a12、一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现条款a9所述的方法的步骤。

条款a13、一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现条款a10所述的方法的步骤。

以上对本披露实施例进行了详细介绍,本文中应用了具体个例对本披露的原理及实施方式进行了阐述,以上实施例的说明仅用于帮助理解本披露的方法及其核心思想。同时,本领域技术人员依据本披露的思想,基于本披露的具体实施方式及应用范围上做出的改变或变形之处,都属于本披露保护的范围。综上所述,本说明书内容不应理解为对本披露的限制。

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