CN114841341B - 图像处理模型训练及图像处理方法、装置、设备和介质 - Google Patents

图像处理模型训练及图像处理方法、装置、设备和介质 Download PDF

Info

Publication number
CN114841341B
CN114841341B CN202210442755.1A CN202210442755A CN114841341B CN 114841341 B CN114841341 B CN 114841341B CN 202210442755 A CN202210442755 A CN 202210442755A CN 114841341 B CN114841341 B CN 114841341B
Authority
CN
China
Prior art keywords
current
update
model parameters
model
computing resources
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210442755.1A
Other languages
English (en)
Other versions
CN114841341A (zh
Inventor
沈亮
巩伟宝
吴志华
于佃海
吴甜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202210442755.1A priority Critical patent/CN114841341B/zh
Publication of CN114841341A publication Critical patent/CN114841341A/zh
Application granted granted Critical
Publication of CN114841341B publication Critical patent/CN114841341B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本公开提供了一种模型训练及数据处理方法、装置、设备和存储介质,涉及人工智能技术领域,具体涉及深度学习等技术领域。模型训练方法包括:获取当前步数;其中,所述当前步数基于所述待训练模型的当前收敛程度信息确定,且,所述当前步数与所述当前收敛程度信息成负相关关系;基于所述当前步数,对所述各个计算资源上的所述模型参数执行更新操作。本公开可以均衡模型精度与训练效率。

Description

图像处理模型训练及图像处理方法、装置、设备和介质
技术领域
本公开涉及人工智能技术领域,具体涉及深度学习等人工智能技术领域,尤其涉及一种模型训练及数据处理方法、装置、设备和存储介质。
背景技术
深度学习(Deep Learning,DL)是机器学习(Machine Learning,ML)领域中的一个新的研究方向,其模仿人脑的机制来解释数据,例如图像、语音和文本等。
深度学习模型的参数量是巨大的,为了提高训练效率,可以采用分布式训练的方式训练深度学习模型。随机梯度下降(Stochastic Gradient Descent,SGD)算法是分布式训练中用于更新模型参数的常用算法。
局部SGD(Local SGD)是SGD的一种,其不是每个时间步(step)都进行全局更新,而是间隔一定时间步执行一次全局更新。
发明内容
本公开提供了一种模型训练及数据处理方法、装置、设备和存储介质。
根据本公开的一方面,提供了一种模型训练方法,包括:获取当前步数,所述当前步数是当前时间步所属的当前周期所包括的时间步的数量,所述时间步用于对多个计算资源中的各个计算资源上的待训练模型的模型参数执行更新操作;其中,所述当前步数基于所述待训练模型的当前收敛程度信息确定,且,所述当前步数与所述当前收敛程度信息成负相关关系;基于所述当前步数,对所述各个计算资源上的所述模型参数执行更新操作。
根据本公开的另一方面,提供了一种数据处理方法,包括:获取待处理数据;采用数据处理模型,对输入的所述待处理数据进行数据处理,以输出数据处理结果;其中,所述数据处理模型的模型参数是在训练阶段中基于当前步数进行更新的,所述当前步数是基于当前收敛程度信息确定的,且所述当前步数与所述当前收敛程度信息成负相关关系。
根据本公开的另一方面,提供了一种模型训练装置,包括:获取模块,用于获取当前步数,所述当前步数是当前时间步所属的当前周期所包括的时间步的数量,所述时间步用于对多个计算资源中的各个计算资源上的待训练模型的模型参数执行更新操作;其中,所述当前步数基于所述待训练模型的当前收敛程度信息确定,且,所述当前步数与所述当前收敛程度信息成负相关关系;更新模块,用于对所述各个计算资源上的所述模型参数执行更新操作。
根据本公开的另一方面,提供了一种数据处理装置,包括:获取模块,用于获取待处理数据;处理模块,用于采用数据处理模型,对输入的所述待处理数据进行数据处理,以输出数据处理结果;其中,所述数据处理模型的模型参数是在训练阶段中基于当前步数进行更新的,所述当前步数是基于当前收敛程度信息确定的,且所述当前步数与所述当前收敛程度信息成负相关关系。
根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上述任一方面的任一项所述的方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据上述任一方面的任一项所述的方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据上述任一方面的任一项所述的方法。
根据本公开的技术方案,可以均衡模型精度与训练效率。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开第一实施例的示意图;
图2a~图2c是不同情况下的两次全局更新之间的步数的示意图;
图3是用来实现本公开实施例的模型训练方法的应用场景的示意图;
图4是根据本公开第二实施例的示意图;
图5是根据本公开实施例中模型参数的更新流程的示意图;
图6是根据本公开第三实施例的示意图;
图7是根据本公开第四实施例的示意图;
图8是根据本公开第五实施例的示意图;
图9是用来实现本公开实施例的模型训练方法或数据处理方法的电子设备的示意图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
相关技术中,局部SGD(Local SGD)算法中,两次全局更新之间的时间步的数量K是人工设置的固定值。
但是,采用固定的K存在一定的问题,例如,K设置过大存在梯度无法及时同步,导致模型精度下降甚至不收敛;K设置过小存在效率提升不明显的问题。
为了均衡模型精度和训练效率,本公开提供如下实施例。
图1是根据本公开第一实施例的示意图。本实施例提供一种模型训练方法,包括:
101、获取当前步数,所述当前步数是当前时间步所属的当前周期所包括的时间步的数量,所述时间步用于对多个计算资源中的各个计算资源上的待训练模型的模型参数执行更新操作;其中,所述当前步数基于所述待训练模型的当前收敛程度信息确定,且,所述当前步数与所述当前收敛程度信息成负相关关系。
102、基于所述当前步数,对所述各个计算资源上的所述模型参数执行更新操作。
本实施例的方法可以应用在多个计算资源中的各个计算资源上。
为了提高训练效率,可以采用分布式训练的方式训练深度学习模型。
分布式训练是指将计算分布到多个计算资源上。多个是指至少两个。
计算资源,是指用于完成深度学习模型计算的软硬件资源。
计算资源例如可以是进程,和/或,硬件节点,硬件节点可以是:图形处理器(Graphics Processing Unit,GPU)、现场可编程门阵列(Field Programmable GateArray,FPGA)、应用集成电路(Application-Specific Integrated Circuit,ASIC)等。
分布式训练可以分为模型并行方式和数据并行方式。数据并行方式下,多个计算资源中的各个计算资源采用不同的训练数据,训练同一个模型。
例如,多个计算资源的数量为N,整体训练数据为M条,则可以将M均分为N份,每份对应一个计算资源,每个计算资源对应的一组训练数据可以称为一批次(batch)训练数据。其中,M和N均为正整数。
分布式训练时,各个计算资源上具有各自的模型参数,由于数据并行方式下,各个计算资源是对同一个模型进行训练,因此各个计算资源上的模型参数的初始值是相同的。在训练过程中,各个计算资源可以并行执行模型参数的更新操作,更新各自的模型参数,又由于各个计算资源是针对同一个模型的训练,因此需要保持各个计算资源上的模型参数的一致性,这种一致性可以通过全局更新实现。
全局更新,是指对全部的计算资源上的模型参数进行同步的过程。例如,有N个计算资源,将N个计算资源上的模型参数同步为相同的模型参数,则为一次全局更新。
模型参数的更新可以采用反向传播(Back Propagation,BP)算法实现,BP算法中,是基于梯度下降进行的模型参数更新,因此,各个计算资源进行模型参数更新时,需要各个计算资源对应的梯度。
全局更新时,需要计算各个计算资源对应的梯度的平均值,因此,各个计算资源之间需要互相通信,以获得各个计算资源对应的梯度,进而计算出梯度均值。
通常的SGD算法中,每个时间步(step)执行一次全局更新,由于全局更新时需要执行计算资源间的通信,因此,每个时间步执行一次通信。例如,如图2a所示,通常的SGD算法中,计算资源(以计算资源-1~计算资源~4为例)每个时间步(以时间步-1~时间步-3为例)执行一次通信。
各个计算资源的步调是不同的,即训练速度是不同的,而在同步通信时,需要等待所有计算资源的结果,即需要等待训练最慢的完成后才能执行通信,整体训练效率较差。
为了提升训练效率,可以采用局部SGD算法,与通常的SGD算法不同的是,局部SGD不是每个时间步都执行一次全局更新,而是间隔一定数量的时间步,两次全局更新之间所间隔的时间步的数量可以称为步数,步数可以用K表示。相关技术中,步数K是固定值。例如,如图2b所示,以K=2为例,则每间隔2个时间步执行一次全局更新,即执行一次计算资源间的通信。
但是,固定的K存在无法均衡模型精度和训练效率的问题。
为此,本实施例中,采用能够自适应调整的K,而不是固定值的K。
例如,如图2c所示,第一个阶段,K=1,即,两次全局更新之间的时间步的数量=1,或者说,计算资源之间间隔1个时间步执行一次通信;第二个阶段,K=2,即两次全局更新之间的时间步的数量=2,或者说,计算资源之间间隔2个时间步执行一次通信。
模型训练过程,是模型参数的更新过程,该更新过程可以迭代执行多次,即,在每个时间步(step)可以执行一次模型参数的更新过程。
每个时间步的更新过程可以是依次执行的,当前所执行的更新过程的时间步可以称为当前时间步,即当前时间步是指当前处理的一个时间步。
当前时间步所属的当前周期,是指当前时间步所属的两次全局更新之间的时间间隔。
当前步数,是指上述的当前周期所包括的时间步的数量。
例如,如图2c所示,假设当前时间步是时间步-1,其所属的当前周期可以称为第一周期,该第一周期内仅包括一个时间步(即时间步-1),因此,若当前时间步是时间步-1,其对应的当前步数K=1;又例如,假设当前时间步是时间步-2,其所属的当前周期可以称为第二周期,该第二周期内包括两个时间步(即时间步-2和时间步-3),因此,若当前时间步是时间步-2,其对应的当前步数K=2;类似地,若当前时间步是时间步-3,其对应的当前步数K=2。
不同周期的当前步数K是可变的,具体地,可以基于待训练模型的当前收敛程度信息确定,且当前步数K与当前收敛程度信息成负相关关系,即,收敛程度越大,K越小,反之,收敛程度越小,K越大。
由于模型训练的开始阶段,模型会快速收敛,即收敛程度大,模型参数变化较剧烈,此时,需要减小K,保证模型精度;随着模型训练趋近于结束,模型的收敛程度会越来越小,模型参数变化不再剧烈,此时,需要增大K,加快训练速度,提高训练效率,还有助于训练跳出局部最优解,提升训练效果。
因此,基于待训练模型的当前收敛程度信息确定当前步数K,且,当前步数K与当前收敛程度信息成负相关关系,可以有效地均衡模型精度和训练效率。
获取到当前步数后,可以基于当前步数对各个计算资源上的模型参数执行更新操作。
例如,可以基于当前步数确定当前时间步执行的更新操作的更新类型,不同于通常的SGD算法中每次都是全局更新,本实施例中的更新类型可以包括:局部更新,或者,全局更新。
由于更新类型包括局部更新,因此,并不需要每个时间步都执行全局更新,可以提升训练效率。
确定出更新类型后,可以基于更新类型执行对应的更新操作。具体地,若更新类型是局部更新,则对各个计算资源上的模型参数进行局部更新;即,各个计算资源可以独立地进行各自的模型参数的更新,虽然,各个计算资源上的模型参数的初始值相同,但是,局部更新后,各个计算资源上的模型参数可以是不同的;或者,若更新类型是全局更新,则将各个计算资源上的模型参数进行全局更新;即,需要将各个计算资源上的模型参数同步为相同的模型参数。
本实施例中,由于当前步数基于待训练模型的当前收敛程度信息确定,且,所述当前步数与所述当前收敛程度信息成负相关关系,因此,当前步数可以随着模型的收敛程度变化而变化,实现当前步数的自适应调整。具体地,由于模型训练的开始阶段,模型会快速收敛,即收敛程度大,模型参数变化较剧烈,此时,需要减小K,保证模型精度;随着模型训练趋近于结束,模型的收敛程度会越来越小,模型参数变化不再剧烈,此时,需要增大K,加快训练速度,提高训练效率,还有助于训练跳出局部最优解,提升训练效果。因此,本实施例的自适应调整的步数,相对于固定步数的方式,可以均衡模型精度和训练效率。
为了更好地理解本公开实施例,对本公开实施例的应用场景进行说明。
应用场景是分布式训练,分布式训练涉及多个计算资源,计算资源以GPU为例,多个计算资源具体包括:第一计算资源(用GPU-1表示)301、第二计算资源(用GPU-2表示)302和第三计算资源(用GPU-3表示)。
GPU-1~GPU-3之间的通信可以采用中心化的通信方式,或者,去中心化的通信方式。中心化的通信方式,是指以某个计算资源(如GPU-1)为中心,其他计算资源均与该中心连接。
本实施例以去中心化的通信方式为例,如图3所示,去中心化的通信方式中,GPU-1~GPU-3连接为环形,通过环形相互传输信息。
分布式训练时,各个GPU(如GPU-1~GPU-3)上分别具有各自的模型参数,数据并行方式下,各个GPU上的模型参数所对应的待训练模型是同一个,该待训练模型可以应用到各种领域,例如,图像处理、自然语言处理、语音处理等。相应地,待训练模型可以是:图像处理模型(如图像识别模型、图像分类模型),文本处理模型(如文本分类模型、文本翻译模型),或者,语音处理模型(如语音识别模型、语音合成模型)等。
由于各个GPU所对应的待训练模型是同一个,因此,各个GPU上的模型参数的初始值是相同的。训练过程中,各个GPU可以独立完成局部的模型参数的更新,局部更新后,各个GPU上的模型参数的参数值可能不一样。但是,间隔一定的步数,需要执行一次全局更新,即将各个GPU上的模型参数更新为相同的参数值。
每次更新模型参数的时间可以称为一个时间步(step),每个时间步执行模型参数的更新,该更新可以为局部更新或者全局更新。
例如,如图2a所示,是每个时间步都执行一次全局更新;如图2b所示,是每间隔K个时间步执行一次全局更新,图2b以K固定为2为例。如图2c所示,所间隔的K的数值不是固定值,如第一周期的K=1,第二周期的K=2。
上述的不固定的K可以基于待训练模型的收敛程度信息确定,具体地,收敛程度信息可以包括:学习率。
采用BP算法更新模型参数时,相关计算参数除了梯度,还包括学习率(learningrate)。由于学习率可以反映模型的收敛程度,因此,可以基于学习率确定当前步数K。
可以理解的是,收敛程度信息除了学习率,还可以包括其他信息,例如,各个GPU的损失函数的平均值,还可以对损失函数的平均值进行类似学习率的运算,以确定当前步数。
结合上述所示的应用场景,以计算资源是GPU、收敛程度信息是学习率为例,本公开还可以提供如下实施例。
图4是根据本公开第二实施例的示意图,本实施例提供一种模型训练方法,本实施例提供的方法包括:
401、初始化。
其中,初始化可以包括:模型参数的初始化、学习率的初始化、步数的初始化、设置最大迭代次数等。
模型参数的初始化可以包括:多个GPU中各个GPU上的模型参数可以初始化为相同的参数值。例如,多个GPU的数量用N表示,N为大于或等于2的正整数。第n个GPU上的模型参数的初始值
Figure GDA0004128522750000081
其中,n是各个GPU的编号,n=1,2,...,N;w(0)是设置的模型参数的初始值;
Figure GDA0004128522750000082
是第n个GPU上的模型参数的初始值。
学习率的初始化是指设置学习率的初始值,学习率的初始值可以用ηinit表示,ηinit是经验值,例如ηinit=0.1。
步数的初始化是指设置步数的初始值,步数的初始值可以用Kinit表示,Kinit是经验值,例如Kinit=1。
最大迭代次数是模型参数的迭代更新过程的次数,可以用Tmax表示,其可以基于经验设置,例如为1000次。
402、判断当前时间步i是否大于或等于最大迭代次数Tmax,若是,执行403,否则执行404。
其中,当前时间步可以用i表示,i=1,2,...,Tmax
403、结束训练。
404、确定当前周期t的当前步数K(t)
其中,周期是指两次全局更新之间的一系列的周期,当前周期是一系列的周期中的当前处理的一个周期。当前周期可以分别用第一周期、第二周期、第三周期等表示,例如,图2c所示。
当前步数可以基于当前周期的初始学习率确定,且与学习率成负相关关系,具体计算公式可以是:
Figure GDA0004128522750000091
其中,t是当前周期的编号,t=1,2,...,T,T为正整数,是全局更新的总次数。
K(t)是当前周期t的当前步数;max()是取最大值运算;
Figure GDA0004128522750000092
是向上取整运算;*是相乘运算;ε是预设的较小值,以避免分母为0,可以设置为ε=e-12
η(t)是当前周期t的初始学习率,可以基于预设的学习率与时间步之间的对应关系确定。
该对应关系可以用ηi=lr_scheduler(i)表示,其中,i是时间步(step)的编号,i=1,2,...Tmax;ηi是第i个时间步的学习率,lr_scheduler(i)是关于时间步i的衰减函数,由于是衰减函数,则随着时间步i的逐渐增大,学习率是逐渐减小的,具体函数内容可以根据经验设置。基于该对应关系可知,学习率是每个时间步(step)更新一次。
由于每个周期可以包括一个或多个时间步,学习率在每个时间步更新一次,因此,每个周期所包括的多个时间步对应的学习率可以是不同的。对应每个周期,可以确定该周期的初始学习率。
每个周期的初始学习率,可以是前一周期所包括的最后一个时间步对应的学习率。
例如,针对图2c所示的第二周期,若当前周期是第二周期,则第二周期的初始学习率是指第一周期所包括的最后一个时间步(即时间步-1)对应的学习率。类似地,若第二周期的后一周期是第三周期,针对第三周期,第三周期的初始学习率是第二周期所包括的最后一个时间步(即时间步-3)对应的学习率。
本实施例中,基于学习率确定当前步数,学习率基于学习率与时间步之间的对应关系确定,且对应关系表征学习率随着时间步衰减,因此,随着时间步的增加,学习率是减小的;又由于当前步数与学习率成负相关关系,因此,随着时间步的增加,当前步数是增大的;由于随着时间步的增加,模型是趋于收敛的,模型越稳定,因此,模型越稳定,当前步数越大;由于模型越稳定,其模型参数的变化量是较小的,当前步数越大表示全局更新的间隔越长,因此,随着模型的稳定,可以以更长的周期执行全局更新操作,降低全局更新操作的频率,由于全局更新操作需要耗费较多的时间,降低全局更新操作的频率,就可以降低时间消耗,提升训练效率。
405、计算所述当前时间步除以所述当前步数的余数,并判断所述余数是否等于0,若是,执行407,否则执行406。
其中,图4中用%表示取余数运算,i是当前时间步,K(t)是当前步数。
其中,若余数是0,则表明达到全局更新的时间,当前时间步执行的更新操作的更新类型是全局更新。否则,若余数不是0,则表明未达到全局更新的时间,当前时间步执行的更新操作的更新类型是局部更新。
本实施例中,由于上述的余数是零,表明达到了当前步数,相应的更新类型是全局更新,反之亦然,因此,基于上述的余数是否为零确定当前时间步的更新类型,可以保证更新类型的准确性,进而提高模型的准确度。
406、对各个GPU上的模型参数执行局部更新操作。之后,可以将当前时间步增加1后,重复执行405及其后续步骤。
其中,局部更新操作可以包括:基于所述各个计算资源的各组训练数据,并行计算所述各个计算资源上的梯度;基于所述梯度以及所述各个计算资源上的所述当前时间步的前一时间步的模型参数,将所述各个计算资源上的所述模型参数并行更新为所述当前时间步的模型参数。
局部更新操作,是指各个GPU可以独立地各自进行模型参数的更新,不需要保持全局一致性。
各个GPU执行局部更新操作的过程可以是并行执行的。
各个GPU各自进行模型参数更新时,可以采用通常的基于梯度下降的算法进行更新。
具体地,各个GPU上的梯度的计算公式为:
Figure GDA0004128522750000111
其中,k是当前时间步i(i=1,2,...,Tmax)在当前周期t(t=1,2,...,T)内的相对编号,k=1,2,...,K(t);i=(t)+k。以步数为相同的步数K为例,相关参数的关系是:Tmax=T*K。
Figure GDA0004128522750000112
是第n个GPU的一组训练数据;B是该组训练数据的样本数量;
Figure GDA0004128522750000113
是第n个GPU上的梯度;
Figure GDA0004128522750000114
是第n个GPU上的当前时间步的前一时间步的模型参数;
Figure GDA0004128522750000115
是基于训练数据中第j个样本以及
Figure GDA0004128522750000116
计算的损失函数的导数。
基于各个GPU上的梯度以及更新前的模型参数(即当前时间步的前一时间步的模型参数),计算更新后的模型参数(即当前时间步的模型参数)的计算公式为:
Figure GDA0004128522750000117
其中,
Figure GDA0004128522750000118
是第n个GPU上的当前时间步的模型参数,即更新后的模型参数,具体是局部更新后的模型参数;
Figure GDA0004128522750000119
是第n个GPU上的当前时间步的前一时间步的模型参数,即更新前的模型参数;
Figure GDA00041285227500001110
是第n个GPU上的梯度;η(t)+k-1是第n个GPU上的当前时间步的前一时间步对应的学习率。
基于上述的局部更新操作,可以获得各个GPU上的第i(i%K(t)≠0)个时间步的更新后的模型参数
Figure GDA00041285227500001111
本实施例中,针对局部更新操作,各个GPU可以并行执行,通过并行执行,可以提高更新效率,进而提高整体的模型训练效率。
407、对各个GPU上的模型参数执行全局更新操作。之后,可以将当前时间步增加1后,重复执行402及其后续步骤。
其中,全局更新操作可以包括:基于所述各个计算资源的各组训练数据,并行计算所述各个计算资源上的梯度;基于所述各个计算资源上的梯度,计算梯度均值;基于所述梯度均值以及所述各个计算资源上的所述当前周期的初始参数,将所述各个计算资源上的所述模型参数并行更新为所述当前时间步的模型参数;其中,所述各个计算资源上的所述当前周期的初始参数以及所述当前时间步的模型参数均相同。
全局更新操作,是指各个GPU上的模型参数需要同步为相同的模型参数。
与局部更新操作时,各个GPU基于各自的梯度进行更新不同的是,全局更新操作时,需要计算梯度均值,再基于相同的梯度均值更新各个GPU上的模型参数。
各个GPU计算各自的模型参数的变化量的过程可以是并行执行的,各个GPU基于梯度均值更新模型参数的过程也可以是并行执行的。
其中,梯度均值的计算公式可以是:
Figure GDA0004128522750000121
其中,
Figure GDA0004128522750000122
是当前周期t的梯度均值,针对各个GPU是相同的;N是GPU的数量;
Figure GDA0004128522750000123
是第n个GPU上的模型参数在当前周期t内的变化量。
基于梯度均值以及更新前的模型参数(即当前周期的初始参数),计算更新后的模型参数(即当前时间步的模型参数)的计算公式为:
Figure GDA0004128522750000124
其中,
Figure GDA0004128522750000125
是第n个GPU上的当前时间步的模型参数,即更新后的模型参数,具体是全局更新后的模型参数;(t+1)=(t)+K(t)
Figure GDA0004128522750000126
是当前周期t的初始参数,其初始值是:
Figure GDA0004128522750000127
η(t)是当前周期t的初始学习率;
Figure GDA0004128522750000128
是当前周期t的梯度均值。
基于上述的全局更新操作,可以获得各个GPU上的第i(i%K(t)=0)个时间步的更新后的模型参数
Figure GDA0004128522750000131
本实施例中,针对全局更新操作,各个GPU的相关参数可以并行执行,通过并行执行,可以提高更新效率,进而提高整体的模型训练效率;另外,全局更新操作采用梯度均值,梯度均值针对各个GPU是相同的,可以保证各个GPU上的模型参数的一致性,进而保证待训练模型的准确性。
基于上述示例,如图5所示,整个训练过程中,可以包括T个周期,执行T次全局更新,针对T个周期内的当前周期t,执行K(t)次局部更新。
其中,如图5所示,针对当前周期t,每次局部更新时,可以基于上一时间步(t)+k-1的模型参数,获得当前时间步(t)+k的模型参数,即局部更新后的模型参数。执行K(t)次局部更新后,可以获得当前周期的最后一个时间步(t)+K(t)的模型参数,该模型参数可以用于全局更新过程中的当前周期t的模型参数的变化量的计算过程。
本实施例中,整体上包括局部更新和全局更新,由于通常的SGD只有全局更新,而全局更新的训练效率较差,因此,相对于通常的SGD可以提高运算效率;本实施例的当前步数基于模型的当前周期的初始学习率确定,且与该学习率成负相关关系,可以在学习率较大时采用较小的步数,在学习率较小时采用较大的步数,实现步数的自适应调整,并且这种自适应调整能够在模型不稳定时减小步数,相应的增大全局更新的频率,从而可以提高模型精度;在模型稳定时增大步数,相应的减小全局更新的频率,可以提高训练效率。
另外,本实施例的计算资源可以选择为GPU,由于GPU的运算性能较好,可以提高训练性能。待训练模型可以包括:图像处理模型、语音处理模型,或者,文本处理模型,可以适用于图像、语音、文本等场景的模型训练。
上述描述了模型训练过程,经过训练过程,可以获得最终生成的模型,该模型可以用于各种相关的数据处理流程中。
图6是根据本公开第三实施例的示意图,本实施例提供一种数据处理方法,该方法包括:
601、获取待处理数据;
602、采用数据处理模型,对输入的所述待处理数据进行数据处理,以输出数据处理结果;
其中,所述数据处理模型的模型参数是在训练阶段中基于当前步数进行更新的,所述当前步数是基于当前收敛程度信息确定的,且所述当前步数与所述当前收敛程度信息成负相关关系。
其中,数据处理可以应用在各种场景下,例如,待处理数据包括:图像数据、语音数据,或者,文本数据。
以图像处理中的人脸识别为例,数据处理模型可以具体为人脸识别模型,待处理数据可以是待识别的人脸图像,将人脸图像输入到人脸识别模型中,人脸识别模型可以提取人脸图像的图像特征,基于图像特征输出人脸识别结果,例如是谁的人脸图像。
上述的人脸识别模型可以位于电子设备内,电子设备可以是用户设备或者服务器,用户设备可以包括:个人电脑(Personal Computer、PC)、移动设备、智能家居设备、智能家居设备、可穿戴式设备等,移动设备例如包括手机、便携式电脑、平板电脑等,智能家居设备例如包括智能音箱、智能电视等,可穿戴式设备例如包括智能手表、智能眼镜等。服务器可以为本地服务器或者云端服务器,可以为单个服务器或者集群服务器等。
本实施例中,数据处理模型在训练时的当前步数基于当前收敛程度信息确定,且所述当前步数与所述当前收敛程度信息成负相关关系,参见上述相关描述,可以均衡模型精度和训练效率,因此,可以较快地获取到较准确的数据处理模型。由于该数据处理模型的精度较高,因此,采用该数据处理模型进行数据处理,可以提高数据处理的准确度,提升数据处理效果。
另外,待处理数据可以包括:图像数据、语音数据,或者,文本数据,可以适用于图像、语音、文本等场景的数据处理。
图7是根据本公开第四实施例的示意图,本实施例提供一种模型训练装置。如图7所示,模型训练装置700包括:获取模块701、类型确定模块702和更新模块703。
获取模块701用于获取当前步数,所述当前步数是当前时间步所属的当前周期所包括的时间步的数量,所述时间步用于对多个计算资源中的各个计算资源上的待训练模型的模型参数执行更新操作;其中,所述当前步数基于所述待训练模型的当前收敛程度信息确定,且,所述当前步数与所述当前收敛程度信息成负相关关系;更新模块702用于基于所述当前步数,对所述各个计算资源上的所述模型参数执行更新操作。
本实施例中,由于当前步数基于待训练模型的当前收敛程度信息确定,且,所述当前步数与所述当前收敛程度信息成负相关关系,因此,当前步数可以随着模型的收敛程度变化而变化,实现当前步数的自适应调整。具体地,由于模型训练的开始阶段,模型会快速收敛,即收敛程度大,模型参数变化较剧烈,此时,需要减小K,保证模型精度;随着模型训练趋近于结束,模型的收敛程度会越来越小,模型参数变化不再剧烈,此时,需要增大K,加快训练速度,提高训练效率,还有助于训练跳出局部最优解,提升训练效果。因此,本实施例的自适应调整的步数,相对于固定步数的方式,可以均衡模型精度和训练效率。
一些实施例中,所述更新模块进一步用于:确定所述当前时间步执行的所述更新操作的更新类型,所述更新类型包括:局部更新,或者,全局更新;响应于所述更新类型是局部更新,对所述各个计算资源上的所述模型参数执行局部更新操作;或者,响应于所述更新类型是全局更新,对所述各个计算资源上的所述模型参数执行全局更新操作。
本实施例中,整体上包括局部更新和全局更新,由于通常的SGD只有全局更新,而全局更新的训练效率较差,因此,相对于通常的SGD可以提高运算效率。
一些实施例中,所述当前收敛程度信息包括:所述当前周期的初始学习率;所述装置700还包括:学习率确定模块,用于基于预设的学习率与时间步之间的对应关系,确定所述当前周期的前一周期所包括的最后一个时间步对应的学习率,作为所述当前周期的初始学习率;其中,所述对应关系用于表征所述学习率随着所述时间步衰减。
本实施例中,基于学习率确定当前步数,学习率基于学习率与时间步之间的对应关系确定,且对应关系表征学习率随着时间步衰减,因此,随着时间步的增加,学习率是减小的;又由于当前步数与学习率成负相关关系,因此,随着时间步的增加,当前步数是增大的;由于随着时间步的增加,模型是趋于收敛的,模型越稳定,因此,模型越稳定,当前步数越大;由于模型越稳定,其模型参数的变化量是较小的,当前步数越大表示全局更新的间隔越长,因此,随着模型的稳定,可以以更长的周期执行全局更新操作,降低全局更新操作的频率,由于全局更新操作需要耗费较多的时间,降低全局更新操作的频率,就可以降低时间消耗,提升训练效率。
一些实施例中,所述更新模块702进一步用于:计算所述当前时间步除以所述当前步数的余数;响应于所述余数不是零,确定所述更新类型是局部更新;或者,响应于所述余数是零,确定所述更新类型是全局更新。
本实施例中,由于上述的余数是零,表明达到了当前步数,相应的更新类型是全局更新,反之亦然,因此,基于上述的余数是否为零确定当前时间步的更新类型,可以保证更新类型的准确性,进而提高模型的准确度。
一些实施例中,所述更新模块702进一步用于:基于所述各个计算资源的各组训练数据,并行计算所述各个计算资源上的梯度;基于所述梯度以及所述各个计算资源上的所述当前时间步的前一时间步的模型参数,将所述各个计算资源上的所述模型参数并行更新为所述当前时间步的模型参数。
本实施例中,针对局部更新操作,各个GPU可以并行执行,通过并行执行,可以提高更新效率,进而提高整体的模型训练效率。
一些实施例中,所述更新模块702进一步用于:基于所述各个计算资源上的模型参数在所述当前周期内的变化量,计算所述当前周期的梯度均值;基于所述梯度均值以及所述各个计算资源上的所述当前周期的初始参数,将所述各个计算资源上的所述模型参数并行更新为所述当前时间步的模型参数;其中,所述各个计算资源上的所述当前周期的初始参数以及所述当前时间步的模型参数均相同。
本实施例中,针对全局更新操作,各个GPU的相关参数可以并行执行,通过并行执行,可以提高更新效率,进而提高整体的模型训练效率;另外,全局更新操作采用梯度均值,梯度均值针对各个GPU是相同的,可以保证各个GPU上的模型参数的一致性,进而保证待训练模型的准确性。
一些实施例中,所述计算资源为GPU;所述待训练模型包括:图像处理模型、语音处理模型,或者,文本处理模型。
本实施例的计算资源可以选择为GPU,由于GPU的运算性能较好,可以提高训练性能。待训练模型可以包括:图像处理模型、语音处理模型,或者,文本处理模型,可以适用于图像、语音、文本等场景的模型训练。
图8是根据本公开第五实施例的示意图,本实施例提供一种数据处理装置。如图8所示,数据处理装置800包括:获取模块801和处理模块802。
获取模块801用于获取待处理数据;处理模块802用于采用数据处理模型,对输入的所述待处理数据进行数据处理,以输出数据处理结果;其中,所述数据处理模型的模型参数是在训练阶段中基于当前步数进行更新的,所述当前步数是基于当前收敛程度信息确定的,且所述当前步数与所述当前收敛程度信息成负相关关系。
本实施例中,数据处理模型在训练时的当前步数基于当前收敛程度信息确定,且所述当前步数与所述当前收敛程度信息成负相关关系,参见上述相关描述,可以均衡模型精度和训练效率,因此,可以较快地获取到较准确的数据处理模型。由于该数据处理模型的精度较高,因此,采用该数据处理模型进行数据处理,可以提高数据处理的准确度,提升数据处理效果。
一些实施例中,所述待处理数据包括:
图像数据、语音数据、或者,文本数据。
通过处理上述数据,可以适用于图像、语音、文本等场景的数据处理。
可以理解的是,本公开实施例中,不同实施例中的相同或相似内容可以相互参考。
可以理解的是,本公开实施例中的“第一”、“第二”等只是用于区分,不表示重要程度高低、时序先后等。
本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图9示出了可以用来实施本公开的实施例的示例电子设备900的示意性框图。电子设备900旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备900还可以表示各种形式的移动装置,诸如,个人数字助理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图9所示,电子设备900包括计算单元901,其可以根据存储在只读存储器(ROM)902中的计算机程序或者从存储单元908加载到随机访问存储器(RAM)903中的计算机程序,来执行各种适当的动作和处理。在RAM 903中,还可存储电子设备900操作所需的各种程序和数据。计算单元901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
电子设备900中的多个部件连接至I/O接口905,包括:输入单元906,例如键盘、鼠标等;输出单元907,例如各种类型的显示器、扬声器等;存储单元908,例如磁盘、光盘等;以及通信单元909,例如网卡、调制解调器、无线通信收发机等。通信单元909允许电子设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元901可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元901的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元901执行上文所描述的各个方法和处理,例如模型训练方法或数据处理方法。例如,在一些实施例中,模型训练方法或数据处理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元908。在一些实施例中,计算机程序的部分或者全部可以经由ROM 902和/或通信单元909而被载入和/或安装到电子设备900上。当计算机程序加载到RAM 903并由计算单元901执行时,可以执行上文描述的模型训练方法或数据处理方法的一个或多个步骤。备选地,在其他实施例中,计算单元901可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行模型训练方法或数据处理方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务("Virtual Private Server",或简称"VPS")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

Claims (14)

1.一种图像处理模型训练方法,应用于分布式训练,所述分布式训练用于将计算分布到多个计算资源上,所述方法包括:
获取当前步数,所述当前步数是当前时间步所属的当前周期所包括的时间步的数量,所述时间步用于对多个计算资源中的各个计算资源上的待训练模型的模型参数,并行执行更新操作;其中,所述当前步数基于所述待训练模型的当前收敛程度信息确定,且,所述当前步数与所述当前收敛程度信息成负相关关系;其中,所述计算资源为图形处理器GPU,所述待训练模型为图像处理模型;其中,所述收敛程度信息是学习率,读取前一周期所包括的最后一个时间步对应的学习率,作为当前周期的初始学习率,并基于所述当前周期的初始学习率确定所述当前步数;
确定所述当前时间步执行的所述更新操作的更新类型,所述更新类型包括:局部更新,或者,全局更新;
响应于所述更新类型是局部更新,对所述各个计算资源上的所述模型参数执行局部更新操作;或者,响应于所述更新类型是全局更新,对所述各个计算资源上的所述模型参数执行全局更新操作;
其中,所述局部更新操作包括:所述各个计算资源独立地进行各自的模型参数的更新;
所述全局更新操作包括:通过计算资源之间的当前通信,获得所述各个计算资源对应的梯度,基于所述各个计算资源对应的梯度确定梯度均值,并基于所述梯度均值将全部的计算资源上的模型参数同步为相同的模型参数,且,所述当前通信与前一次通信的间隔步数是所述当前步数。
2.根据权利要求1所述的方法,其中,
所述当前收敛程度信息包括:所述当前周期的初始学习率;
所述方法还包括:
基于预设的学习率与时间步之间的对应关系,确定所述当前周期的前一周期所包括的最后一个时间步对应的学习率,作为所述当前周期的初始学习率;其中,所述对应关系用于表征所述学习率随着所述时间步衰减。
3.根据权利要求2所述的方法,其中,所述基于所述当前步数,确定所述当前时间步执行的所述更新操作的更新类型,包括:
计算所述当前时间步除以所述当前步数的余数;
响应于所述余数不是零,确定所述更新类型是局部更新;或者,
响应于所述余数是零,确定所述更新类型是全局更新。
4.根据权利要求2所述的方法,其中,所述对所述各个计算资源上的所述模型参数执行局部更新操作,包括:
基于所述各个计算资源的各组训练数据,并行计算所述各个计算资源上的梯度;
基于所述梯度以及所述各个计算资源上的所述当前时间步的前一时间步的模型参数,将所述各个计算资源上的所述模型参数并行更新为所述当前时间步的模型参数。
5.根据权利要求2所述的方法,其中,所述对所述各个计算资源上的所述模型参数执行全局更新操作,包括:
基于所述各个计算资源上的模型参数在所述当前周期内的变化量,计算所述当前周期的梯度均值;
基于所述梯度均值以及所述各个计算资源上的所述当前周期的初始参数,将所述各个计算资源上的所述模型参数并行更新为所述当前时间步的模型参数;其中,所述各个计算资源上的所述当前周期的初始参数以及所述当前时间步的模型参数均相同。
6.一种图像处理方法,包括:
获取待处理图像;
采用图像处理模型,对输入的所述待处理图像进行图像处理,以输出图像处理结果;
其中,所述图像处理模型的模型参数是在分布式训练阶段中基于当前步数进行并行更新的,所述分布式训练用于将计算分布到多个计算资源上,所述当前步数是基于当前收敛程度信息确定的,且所述当前步数与所述当前收敛程度信息成负相关关系;其中,所述收敛程度信息是学习率,读取前一周期所包括的最后一个时间步对应的学习率,作为当前周期的初始学习率,并基于所述当前周期的初始学习率确定所述当前步数;
其中,所述图像处理模型在训练阶段,响应于更新类型是局部更新,对多个计算资源中各个计算资源上的所述模型参数执行局部更新操作;或者,响应于所述更新类型是全局更新,对所述各个计算资源上的所述模型参数执行全局更新操作;其中,所述计算资源是图形处理器GPU;
其中,所述局部更新操作包括:所述各个计算资源独立地进行各自的模型参数的更新;
所述全局更新操作包括:通过计算资源之间的当前通信,获得所述各个计算资源对应的梯度,基于所述各个计算资源对应的梯度确定梯度均值,并基于所述梯度均值将全部的计算资源上的模型参数同步为相同的模型参数,且,所述当前通信与前一次通信的间隔步数是所述当前步数。
7.一种图像处理模型训练装置,应用于分布式训练,所述分布式训练用于将计算分布到多个计算资源上,所述装置包括:
获取模块,用于获取当前步数,所述当前步数是当前时间步所属的当前周期所包括的时间步的数量,所述时间步用于对多个计算资源中的各个计算资源上的待训练模型的模型参数,并行执行更新操作;其中,所述当前步数基于所述待训练模型的当前收敛程度信息确定,且,所述当前步数与所述当前收敛程度信息成负相关关系;其中,所述计算资源为图形处理器GPU,所述待训练模型为图像处理模型;其中,所述收敛程度信息是学习率,读取前一周期所包括的最后一个时间步对应的学习率,作为当前周期的初始学习率,并基于所述当前周期的初始学习率确定所述当前步数;
更新模块,用于确定所述当前时间步执行的所述更新操作的更新类型,所述更新类型包括:局部更新,或者,全局更新;响应于所述更新类型是局部更新,对所述各个计算资源上的所述模型参数执行局部更新操作;或者,响应于所述更新类型是全局更新,对所述各个计算资源上的所述模型参数执行全局更新操作;
其中,所述局部更新操作包括:所述各个计算资源独立地进行各自的模型参数的更新;
所述全局更新操作包括:通过计算资源之间的当前通信,获得所述各个计算资源对应的梯度,基于所述各个计算资源对应的梯度确定梯度均值,并基于所述梯度均值将全部的计算资源上的模型参数同步为相同的模型参数,且,所述当前通信与前一次通信的间隔步数是所述当前步数。
8.根据权利要求7所述的装置,其中,
所述当前收敛程度信息包括:所述当前周期的初始学习率;
所述装置还包括:
学习率确定模块,用于基于预设的学习率与时间步之间的对应关系,确定所述当前周期的前一周期所包括的最后一个时间步对应的学习率,作为所述当前周期的初始学习率;其中,所述对应关系用于表征所述学习率随着所述时间步衰减。
9.根据权利要求7所述的装置,其中,所述更新模块进一步用于:
计算所述当前时间步除以所述当前步数的余数;
响应于所述余数不是零,确定所述更新类型是局部更新;或者,
响应于所述余数是零,确定所述更新类型是全局更新。
10.根据权利要求7所述的装置,其中,所述更新模块进一步用于:
基于所述各个计算资源的各组训练数据,并行计算所述各个计算资源上的梯度;
基于所述梯度以及所述各个计算资源上的所述当前时间步的前一时间步的模型参数,将所述各个计算资源上的所述模型参数并行更新为所述当前时间步的模型参数。
11.根据权利要求7所述的装置,其中,所述更新模块进一步用于:
基于所述各个计算资源上的模型参数在所述当前周期内的变化量,计算所述当前周期的梯度均值;
基于所述梯度均值以及所述各个计算资源上的所述当前周期的初始参数,将所述各个计算资源上的所述模型参数并行更新为所述当前时间步的模型参数;其中,所述各个计算资源上的所述当前周期的初始参数以及所述当前时间步的模型参数均相同。
12.一种图像处理装置,包括:
获取模块,用于获取待处理图像;
处理模块,用于采用图像处理模型,对输入的所述待处理图像进行图像处理,以输出图像处理结果;
其中,所述图像处理模型的模型参数是在分布式训练阶段中基于当前步数进行并行更新的,所述分布式训练用于将计算分布到多个计算资源上,所述当前步数是基于当前收敛程度信息确定的,且所述当前步数与所述当前收敛程度信息成负相关关系;其中,所述收敛程度信息是学习率,读取前一周期所包括的最后一个时间步对应的学习率,作为当前周期的初始学习率,并基于所述当前周期的初始学习率确定所述当前步数;
其中,所述图像处理模型在训练阶段,响应于更新类型是局部更新,对多个计算资源中各个计算资源上的所述模型参数执行局部更新操作;或者,响应于所述更新类型是全局更新,对所述各个计算资源上的所述模型参数执行全局更新操作;其中,所述计算资源是图形处理器GPU;
其中,所述局部更新操作包括:所述各个计算资源独立地进行各自的模型参数的更新;
所述全局更新操作包括:通过计算资源之间的当前通信,获得所述各个计算资源对应的梯度,基于所述各个计算资源对应的梯度确定梯度均值,并基于所述梯度均值将全部的计算资源上的模型参数同步为相同的模型参数,且,所述当前通信与前一次通信的间隔步数是所述当前步数。
13. 一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-6中任一项所述的方法。
14.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-6中任一项所述的方法。
CN202210442755.1A 2022-04-25 2022-04-25 图像处理模型训练及图像处理方法、装置、设备和介质 Active CN114841341B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210442755.1A CN114841341B (zh) 2022-04-25 2022-04-25 图像处理模型训练及图像处理方法、装置、设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210442755.1A CN114841341B (zh) 2022-04-25 2022-04-25 图像处理模型训练及图像处理方法、装置、设备和介质

Publications (2)

Publication Number Publication Date
CN114841341A CN114841341A (zh) 2022-08-02
CN114841341B true CN114841341B (zh) 2023-04-28

Family

ID=82565078

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210442755.1A Active CN114841341B (zh) 2022-04-25 2022-04-25 图像处理模型训练及图像处理方法、装置、设备和介质

Country Status (1)

Country Link
CN (1) CN114841341B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116596091B (zh) * 2022-11-08 2024-02-02 北京百度网讯科技有限公司 模型训练方法、装置、设备以及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111382844A (zh) * 2020-03-11 2020-07-07 华南师范大学 一种深度学习模型的训练方法及装置
CN112183750A (zh) * 2020-11-05 2021-01-05 平安科技(深圳)有限公司 神经网络模型训练方法、装置、计算机设备及存储介质
CN112288083A (zh) * 2020-10-21 2021-01-29 周宇浩 一种神经网络分布式训练方法、装置、设备及存储介质
CN112381218A (zh) * 2020-11-20 2021-02-19 中国人民解放军国防科技大学 一种用于分布式深度学习训练的本地更新方法
WO2021103479A1 (zh) * 2019-11-25 2021-06-03 北京百度网讯科技有限公司 用于训练深度学习模型的方法和装置
CN113327598A (zh) * 2021-06-30 2021-08-31 北京有竹居网络技术有限公司 模型的训练方法、语音识别方法、装置、介质及设备
CN113762527A (zh) * 2021-09-08 2021-12-07 京东科技信息技术有限公司 一种数据处理方法、系统、存储介质及电子设备
CN113807397A (zh) * 2021-08-13 2021-12-17 北京百度网讯科技有限公司 语义表示模型的训练方法、装置、设备和存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111507476A (zh) * 2019-01-31 2020-08-07 伊姆西Ip控股有限责任公司 部署机器学习模型的方法、设备和计算机程序产品

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021103479A1 (zh) * 2019-11-25 2021-06-03 北京百度网讯科技有限公司 用于训练深度学习模型的方法和装置
CN111382844A (zh) * 2020-03-11 2020-07-07 华南师范大学 一种深度学习模型的训练方法及装置
CN112288083A (zh) * 2020-10-21 2021-01-29 周宇浩 一种神经网络分布式训练方法、装置、设备及存储介质
CN112183750A (zh) * 2020-11-05 2021-01-05 平安科技(深圳)有限公司 神经网络模型训练方法、装置、计算机设备及存储介质
CN112381218A (zh) * 2020-11-20 2021-02-19 中国人民解放军国防科技大学 一种用于分布式深度学习训练的本地更新方法
CN113327598A (zh) * 2021-06-30 2021-08-31 北京有竹居网络技术有限公司 模型的训练方法、语音识别方法、装置、介质及设备
CN113807397A (zh) * 2021-08-13 2021-12-17 北京百度网讯科技有限公司 语义表示模型的训练方法、装置、设备和存储介质
CN113762527A (zh) * 2021-09-08 2021-12-07 京东科技信息技术有限公司 一种数据处理方法、系统、存储介质及电子设备

Also Published As

Publication number Publication date
CN114841341A (zh) 2022-08-02

Similar Documents

Publication Publication Date Title
CN112561078B (zh) 分布式的模型训练方法及相关装置
CN113516250A (zh) 一种联邦学习方法、装置、设备以及存储介质
US20200090073A1 (en) Method and apparatus for generating machine learning model
EP3905069A2 (en) Resource recommendation method and apparatus, parameter determination method and apparatus, device, and medium
CN112597754B (zh) 文本纠错方法、装置、电子设备和可读存储介质
CN113361721B (zh) 模型训练方法、装置、电子设备、存储介质及程序产品
CN114065863B (zh) 联邦学习的方法、装置、系统、电子设备及存储介质
KR20210090122A (ko) 분산형 모델 트레이닝 장치, 방법 및 컴퓨터 프로그램
CN113627536B (zh) 模型训练、视频分类方法,装置,设备以及存储介质
CN114065864B (zh) 联邦学习方法、联邦学习装置、电子设备以及存储介质
CN114841341B (zh) 图像处理模型训练及图像处理方法、装置、设备和介质
CN112949818A (zh) 模型蒸馏方法、装置、设备以及存储介质
CN112785493A (zh) 模型的训练方法、风格迁移方法、装置、设备及存储介质
CN113641829B (zh) 图神经网络的训练与知识图谱的补全方法、装置
CN112949433A (zh) 视频分类模型的生成方法、装置、设备和存储介质
CN115170919B (zh) 图像处理模型训练及图像处理方法、装置、设备和存储介质
CN114758130B (zh) 图像处理及模型训练方法、装置、设备和存储介质
CN113850394B (zh) 联邦学习方法、装置、电子设备及存储介质
CN113570067B (zh) 分布式系统的同步方法、装置
CN113408641B (zh) 资源生成模型的训练与服务资源的生成方法、装置
CN113807397B (zh) 语义表示模型的训练方法、装置、设备和存储介质
CN114217933A (zh) 多任务调度方法、装置、设备以及存储介质
CN113657468A (zh) 预训练模型的生成方法、装置、电子设备和存储介质
CN113361574A (zh) 数据处理模型的训练方法、装置、电子设备及存储介质
CN113963433B (zh) 运动搜索方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant