CN114461568B - 一种数据处理方法、系统、设备及可读存储介质 - Google Patents

一种数据处理方法、系统、设备及可读存储介质 Download PDF

Info

Publication number
CN114461568B
CN114461568B CN202210387060.8A CN202210387060A CN114461568B CN 114461568 B CN114461568 B CN 114461568B CN 202210387060 A CN202210387060 A CN 202210387060A CN 114461568 B CN114461568 B CN 114461568B
Authority
CN
China
Prior art keywords
moment
training
new
moving average
model
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
CN202210387060.8A
Other languages
English (en)
Other versions
CN114461568A (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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202210387060.8A priority Critical patent/CN114461568B/zh
Publication of CN114461568A publication Critical patent/CN114461568A/zh
Application granted granted Critical
Publication of CN114461568B publication Critical patent/CN114461568B/zh
Priority to PCT/CN2022/118104 priority patent/WO2023197520A1/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了计算机技术领域内的一种数据处理方法、系统、设备及可读存储介质。本申请将主机和硬件计算平台通过CXL协议连接,因此主机和硬件计算平台可以共享对方的内存、IO和缓存,那么训练数据无需经由主机内存、GPU缓存、GPU内存等存储介质进行传输,而是由硬件计算平台直接读取主机内存中的训练数据,从而降低数据传输开销。同时,硬件计算平台可以基于矩滑动平均当前值调整学习率后再计算模型的新参数,从而可稳定模型参数,保障模型精度,提升训练效率。可见该方案能够降低主机和硬件模块之间的数据传输开销,提升模型训练效率。相应地,本申请提供的一种数据处理系统、设备及可读存储介质,也同样具有上述技术效果。

Description

一种数据处理方法、系统、设备及可读存储介质
技术领域
本申请涉及计算机技术领域,特别涉及一种数据处理方法、系统、设备及可读存储介质。
背景技术
目前,可以借助硬件模块(如GPU)进行模型训练。例如:作为主机的服务器将大量训练数据发给硬件模块,硬件模块处理训练数据进行模型训练,模型训练完成后,硬件模块将训练完成的模型反馈给主机。由于训练数据的数据量较大,且主机和硬件模块之间的数据传输需要经过主机内存、GPU缓存、GPU内存等存储介质,因此主机和硬件模块之间的数据传输开销较大,会影响模型训练效率。
因此,如何降低主机和硬件模块之间的数据传输开销,提升模型训练效率,是本领域技术人员需要解决的问题。
发明内容
有鉴于此,本申请的目的在于提供一种数据处理方法、系统、设备及可读存储介质,以降低主机和硬件模块之间的数据传输开销,提升模型训练效率。其具体方案如下:
第一方面,本申请提供了一种数据处理方法,应用于与主机通过CXL(ComputeExpress Link,高速互联通信协议)协议连接的硬件计算平台,包括:
基于CXL协议共享所述主机中的、用于训练目标模型的训练数据;
调用所述目标模型处理所述训练数据得到训练结果,并基于所述训练结果计算所述目标模型的新参数;其中,计算所述新参数包括:确定矩滑动平均当前值,并基于所述矩滑动平均当前值调整学习率,基于调整后的学习率计算所述新参数;
利用所述新参数更新所述目标模型,得到新模型;
若所述新模型符合收敛条件,则保留所述新模型,并使所述主机基于CXL协议共享所述新模型。
可选地,所述确定矩滑动平均当前值,并基于所述矩滑动平均当前值调整学习率,包括:
基于预设的目标衰减系数和矩滑动平均最大值确定矩滑动平均当前值;
若所述矩滑动平均当前值大于预设阈值,则利用warmup策略调整所述学习率;否则,利用随机梯度下降以及动量算法调整所述学习率。
可选地,所述基于预设的目标衰减系数和矩滑动平均最大值确定矩滑动平均当前值,包括:
按照第一公式计算所述矩滑动平均当前值;所述第一公式为:
Figure 555030DEST_PATH_IMAGE001
其中,ρ t 为所述矩滑动平均当前值,ρ 为所述矩滑动平均最大值,t表示当前训练时刻,β 2为所述目标衰减系数。
可选地,所述利用warmup策略调整所述学习率,包括:
基于所述训练数据、所述训练结果以及前一训练时刻输出的模型参数计算当前训练时刻的更新梯度;
基于预设的对象衰减系数、所述更新梯度和前一训练时刻的第一滑动平均计算新第一滑动平均;
基于所述更新梯度、所述目标衰减系数、所述新第一滑动平均和前一训练时刻的第二滑动平均计算新第二滑动平均;
基于所述新第二滑动平均和所述目标衰减系数计算当前训练时刻的学习率;
相应地,所述基于调整后的学习率计算所述新参数,包括:
基于当前训练时刻的学习率、所述前一训练时刻输出的模型参数、预设的前进步长、所述新第二滑动平均的矫正项和所述新第一滑动平均的矫正项计算所述新参数。
可选地,所述利用随机梯度下降以及动量算法调整所述学习率,包括:
基于所述训练数据、所述训练结果以及所述前一训练时刻输出的模型参数计算当前训练时刻的更新梯度;
基于预设的迭代参数和预设的前进步长、前一训练时刻的目标滑动平均和所述更新梯度计算当前训练时刻的学习率;
相应地,所述基于调整后的学习率计算所述新参数,包括:
基于当前训练时刻的学习率和所述前一训练时刻输出的模型参数计算所述新参数。
可选地,所述硬件计算平台包括多个计算模块,各个计算模块之间基于CXL协议共享内存。
可选地,所述计算模块包括:CPU、GPU、FPGA、ASIC中的任一项或组合。
第二方面,本申请提供了一种数据处理系统,包括:主机、与所述主机通过CXL协议连接的硬件计算平台;
所述主机,用于提供用于训练目标模型的训练数据;基于CXL协议共享硬件计算平台训练得到的新模型;
所述硬件计算平台,用于基于CXL协议共享所述主机中的所述训练数据;调用所述目标模型处理所述训练数据得到训练结果,并基于所述训练结果计算所述目标模型的新参数;利用所述新参数更新所述目标模型,得到新模型;若所述新模型符合收敛条件,则保留所述新模型;其中,计算所述新参数包括:确定矩滑动平均当前值,并基于所述矩滑动平均当前值调整学习率,基于调整后的学习率计算所述新参数。
第三方面,本申请提供了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,以实现前述公开的数据处理方法。
第四方面,本申请提供了一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述公开的数据处理方法。
通过以上方案可知,本申请提供了一种数据处理方法,应用于与主机通过CXL协议连接的硬件计算平台,包括:基于CXL协议共享所述主机中的、用于训练目标模型的训练数据;调用所述目标模型处理所述训练数据得到训练结果,并基于所述训练结果计算所述目标模型的新参数;其中,计算所述新参数包括:确定矩滑动平均当前值,并基于所述矩滑动平均当前值调整学习率,基于调整后的学习率计算所述新参数;利用所述新参数更新所述目标模型,得到新模型;若所述新模型符合收敛条件,则保留所述新模型,并使所述主机基于CXL协议共享所述新模型。
可见,本申请将主机和硬件计算平台通过CXL协议连接,因此主机和硬件计算平台可以共享对方的内存、IO和缓存,那么训练数据从主机传输至硬件计算平台,也就无需经由主机内存、GPU缓存、GPU内存等存储介质,而是由硬件计算平台直接读取主机内存中的训练数据,从而降低数据传输开销。同时,硬件计算平台在训练模型的过程中,可以基于矩滑动平均当前值调整学习率,基于调整后的学习率计算模型的新参数,从而可稳定模型参数,避免陷入局部最优,保障模型精度,提升训练效率。可见该方案能够降低主机和硬件模块之间的数据传输开销,提升模型训练效率。
相应地,本申请提供的一种数据处理系统、设备及可读存储介质,也同样具有上述技术效果。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种数据处理方法流程图;
图2为本申请公开的一种系统框架示意图;
图3为本申请公开的一种设备间的连接示意图;
图4为本申请公开的一种基于CXL协议的内存共享示意图;
图5为本申请公开的一种电子设备示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,由于训练数据的数据量较大,且主机和硬件模块之间的数据传输需要经过主机内存、GPU缓存、GPU内存等存储介质,因此主机和硬件模块之间的数据传输开销较大,会影响模型训练效率。为此,本申请提供了一种数据处理方案,能够降低主机和硬件模块之间的数据传输开销,提升模型训练效率。
参见图1所示,本申请实施例公开了一种数据处理方法,应用于与主机通过CXL协议连接的硬件计算平台,包括:
S101、基于CXL协议共享主机中的、用于训练目标模型的训练数据。
在本实施例中,硬件计算平台包括多个计算模块,各个计算模块之间基于CXL协议共享内存。计算模块包括:CPU、GPU、FPGA、ASIC中的任一项或组合。目标模型可以是任意模型,如:CNN、自然语言处理模型、图像分类模型等。
S102、调用目标模型处理训练数据得到训练结果,并基于训练结果计算目标模型的新参数;其中,计算新参数包括:确定矩滑动平均当前值,并基于矩滑动平均当前值调整学习率,基于调整后的学习率计算新参数。
需要说明的是,模型训练过程即更新模型参数的过程。当前用于更新模型参数的优化算法包括AdaGrad、RMSProp、Adam等。针对Adam的改进算法如Radam,Adabelief等。
本实施例使用Adabelief更新模型参数。具体的,基于Adabelief,可以设定前进步长、两个衰减系数、迭代参数ε、矩滑动平均最大值等参数。在每一次获得一个训练结果后,可基于前一训练时刻的这些参数计算新的模型参数,本实施例为了避免学习率对参数计算的影响,先计算了矩滑动平均当前值,并基于矩滑动平均当前值调整学习率后再计算新参数,从而可确定合适的学习率,继而保障模型参数的稳步更新。其中,计算出的新参数包括模型的权重参数与偏置参数,也即:每次计算出的模型新参数是众多参数的集合。
S103、利用新参数更新目标模型,得到新模型。
S104、若新模型符合收敛条件,则保留新模型,并使主机基于CXL协议共享新模型。
具体的,若当前新模型不符合收敛条件,则继续训练当前模型,直至训练得到的新模型符合收敛条件。其中,收敛条件可参照现有相关技术进行设定,如:达到最大迭代次数等。
可见,本实施例将主机和硬件计算平台通过CXL协议连接,因此主机和硬件计算平台可以共享对方的内存、IO和缓存,那么训练数据从主机传输至硬件计算平台,也就无需经由主机内存、GPU缓存、GPU内存等存储介质,而是由硬件计算平台直接读取主机内存中的训练数据,从而降低数据传输开销。同时,硬件计算平台在训练模型的过程中,可以基于矩滑动平均当前值调整学习率,基于调整后的学习率计算模型的新参数,从而可稳定模型参数,避免陷入局部最优,保障模型精度,提升训练效率。可见该方案能够降低主机和硬件模块之间的数据传输开销,提升模型训练效率。
基于上述实施例,在一种具体实施方式中,确定矩滑动平均当前值,并基于矩滑动平均当前值调整学习率,包括:基于预设的目标衰减系数和矩滑动平均最大值确定矩滑动平均当前值;若矩滑动平均当前值大于预设阈值,则利用warmup策略调整学习率;否则,利用随机梯度下降以及动量算法调整学习率。
在一种具体实施方式中,基于预设的目标衰减系数和矩滑动平均最大值确定矩滑动平均当前值,包括:按照第一公式计算矩滑动平均当前值;第一公式为:
Figure 272451DEST_PATH_IMAGE001
其中,ρ t 为矩滑动平均当前值,ρ 为矩滑动平均最大值,t表示当前训练时刻,β 2为目标衰减系数。其中,ρ =[1/(1-β 2)]-1=β 2/(1-β 2)。
在一种具体实施方式中,利用warmup策略调整学习率,包括:基于训练数据、训练结果以及前一训练时刻输出的模型参数计算当前训练时刻的更新梯度;基于预设的对象衰减系数、更新梯度和前一训练时刻的第一滑动平均计算新第一滑动平均;基于更新梯度、目标衰减系数、新第一滑动平均和前一训练时刻的第二滑动平均计算新第二滑动平均;基于新第二滑动平均和目标衰减系数计算当前训练时刻的学习率;相应地,基于调整后的学习率计算新参数,包括:基于当前训练时刻的学习率、前一训练时刻输出的模型参数、预设的前进步长、新第二滑动平均的矫正项和新第一滑动平均的矫正项计算新参数。
当矩滑动平均当前值大于预设阈值时,利用warmup策略调整学习率后,计算新参数的过程包括:
(1)假设当前训练时刻为t,那么当前训练时刻的更新梯度g t 的计算公式为:
Figure 120190DEST_PATH_IMAGE002
。其中,g t 为当前训练时刻的更新梯度,θ t-1 表示前一训练时刻输出的模型参数,▽ θ 表示对θ求导,X为训练数据,f t (θ t-1 ;X)表示针对训练数据的训练结果。
(2)当前训练时刻的新第一滑动平均m t 的计算公式为:
Figure 403404DEST_PATH_IMAGE003
。其中,m t 为新第一滑动平均,β 1为对象衰减系数,m t-1 为前一训练时刻的第一滑动平均,g t 为当前训练时刻的更新梯度。
(3)当前训练时刻的新第二滑动平均v t 的计算公式为:
Figure 429129DEST_PATH_IMAGE004
。其中,v t 为新第二滑动平均,β 2为目标衰减系数,m t 为新第一滑动平均,v t-1 为前一训练时刻的第二滑动平均,g t 为当前训练时刻的更新梯度。
(4)当前训练时刻ρ t >4时的学习率l t 的计算公式为:
Figure 148692DEST_PATH_IMAGE005
ρ t >4表示矩滑动平均当前值大于预设阈值,即预设阈值取值为4。其中,v t 为新第二滑动平均,β 2为目标衰减系数。
(5)当前训练时刻的新参数θ t 的计算公式为:
Figure 550854DEST_PATH_IMAGE006
ρ t >4表示矩滑动平均当前值大于预设阈值,即预设阈值取值为4。其中,α t 为前进步长,
Figure 688574DEST_PATH_IMAGE007
Figure 150780DEST_PATH_IMAGE008
r t 为新第二滑动平均v t 的矫正项,
Figure 623218DEST_PATH_IMAGE009
为新第一滑动平均m t 的矫正项。ρ t 为矩滑动平均当前值,ρ 为矩滑动平均最大值。
其中,m t 决定模型训练过程中梯度的下降方向,v t 与α t 共同决定模型训练过程中梯度的下降大小。而针对m t 求得
Figure 94651DEST_PATH_IMAGE009
再去计算新参数,可使计算误差始终相对较小。即:在模型训练前期通过
Figure 86878DEST_PATH_IMAGE009
增大原m t ;当t变得较大时,β 1 t 趋近于0 ,所以1-β 1 t 趋近于1,因此后期的
Figure 985564DEST_PATH_IMAGE009
趋近于原m t 。据此,ρ t >4时,学习率逐步稳定增大,有助于减缓模型在初始训练阶段的提前过拟合现象,保持分布的平稳。
在一种具体实施方式中,利用随机梯度下降以及动量算法调整学习率,包括:基于训练数据、训练结果以及前一训练时刻输出的模型参数计算当前训练时刻的更新梯度;基于预设的迭代参数和预设的前进步长、前一训练时刻的目标滑动平均和更新梯度计算当前训练时刻的学习率;相应地,基于调整后的学习率计算新参数,包括:基于当前训练时刻的学习率和前一训练时刻输出的模型参数计算新参数。
当矩滑动平均当前值不大于预设阈值时,利用随机梯度下降以及动量算法调整学习率后,计算新参数的过程包括:
(1)假设当前训练时刻为t,那么当前训练时刻的更新梯度g t 的计算公式为:
Figure 682649DEST_PATH_IMAGE002
。其中,g t 为当前训练时刻的更新梯度,θ t-1 表示前一训练时刻输出的模型参数,▽ θ 表示对θ求导,X为训练数据,f t (θ t-1 ;X)表示针对训练数据的训练结果。
(2)当前训练时刻ρ t ≤4时的学习率l t 的计算公式为:
Figure 426614DEST_PATH_IMAGE010
ρ t ≤4表示矩滑动平均当前值不大于预设阈值,即预设阈值取值为4。其中,l t-1 为前一训练时刻输出的学习率,α t 为前进步长,g t 为当前训练时刻的更新梯度,ε为预设的迭代参数。
(3)当前训练时刻的新参数θ t 的计算公式为:
Figure 538926DEST_PATH_IMAGE011
ρ t ≤4表示矩滑动平均当前值不大于预设阈值,即预设阈值取值为4。其中,θ t-1 表示前一训练时刻输出的模型参数。
ρ t ≤4时,选用随机梯度下降加动量(SGD+ Momentum)算法,可以有效避免学习率为负数的情况,使
Figure 342934DEST_PATH_IMAGE012
在前期保持在较为稳定的波动状态。
下述实施例基于CXL协议构建了硬件互连系统来进行模型训练,可以有效解决数据传输延迟以及带宽问题,能支持 Parameter server、Ring-Allreduce等多种主流的通信拓扑结构。
具体的,本实施例提供的硬件互连系统包括计算设备CPU、GPU、FPGA、ASIC,可通过CXL协议实现多种异构计算设备的内存共享,打通异构设备之间的通信延迟屏障,大幅增加数据交互速度,系统的整体架构图请参见图2。
如图2所示,利用python实现顶层深度学习框架,并使用OneAPI编程实现目标算子。目标算子可供顶层深度学习框架调用,并运行在底层不同的计算设备上。底层的不同计算设备CPU、GPU、FPGA、ASIC通过CXL协议互联,且各计算设备与主机设备也通过CXL协议连接。其中,目标算子实现有:需要训练的模型、 Rectified-Adabelief优化算法及其相关参数。
具体的,各设备间的拓扑连接示意可参见图3。图3中各计算设备(CPU、GPU、FPGA、ASIC等)通过转接设备与主机设备相连。按照图3所示的连接结构,各计算设备可以在不同主机设备之间共享,也即:不同主机共享所有计算设备。图3所示的各条连接线均使用CXL协议,以实现IO、缓存和内存的互连共享。
以各计算设备的内存共享为例,各计算设备的内存共享示意图如图4所示,各主机、各计算设备访问某一计算设备的内存时,像是在访问自己的内存一样。
可见,本实施例使用Adabelief优化算法,解决了优化算法在训练早期由于数据不足引起的学习率方差过大问题,在完成各种深度学习任务时实现更快的收敛速度,避免过早的陷入局部最优解。同时,基于CXL通信协议构建了实现分布式Rectified-Adabelief优化算法的异构计算系统,并基于OneAPI编程模型实现Rectified-Adabelief优化算法,使其能在多种异构计算设备上运行。实现异构计算设备之间的内存一致性,大大增加数据传输带宽,并减少计算设备之间的数据交互延迟。
下面对本申请实施例提供的一种数据处理系统进行介绍,下文描述的一种数据处理系统与上文描述的一种数据处理方法可以相互参照。
本申请实施例公开了一种数据处理系统,包括:主机、与主机通过CXL协议连接的硬件计算平台;
主机,用于提供用于训练目标模型的训练数据;基于CXL协议共享硬件计算平台训练得到的新模型;
硬件计算平台,用于基于CXL协议共享主机中的训练数据;调用目标模型处理训练数据得到训练结果,并基于训练结果计算目标模型的新参数;利用新参数更新目标模型,得到新模型;若新模型符合收敛条件,则保留新模型;其中,计算新参数包括:确定矩滑动平均当前值,并基于矩滑动平均当前值调整学习率,基于调整后的学习率计算新参数。
在一种具体实施方式中,硬件计算平台具体用于:
基于预设的目标衰减系数和矩滑动平均最大值确定矩滑动平均当前值;
若矩滑动平均当前值大于预设阈值,则利用warmup策略调整学习率;否则,利用随机梯度下降以及动量算法调整学习率。
在一种具体实施方式中,硬件计算平台具体用于:
按照第一公式计算矩滑动平均当前值;第一公式为:
Figure 55544DEST_PATH_IMAGE001
其中,ρ t 为矩滑动平均当前值,ρ 为矩滑动平均最大值,t表示当前训练时刻,β 2为目标衰减系数。
在一种具体实施方式中,硬件计算平台具体用于:
基于训练数据、训练结果以及前一训练时刻输出的模型参数计算当前训练时刻的更新梯度;
基于预设的对象衰减系数、更新梯度和前一训练时刻的第一滑动平均计算新第一滑动平均;
基于更新梯度、目标衰减系数、新第一滑动平均和前一训练时刻的第二滑动平均计算新第二滑动平均;
基于新第二滑动平均和目标衰减系数计算当前训练时刻的学习率;
相应地,硬件计算平台具体用于:
基于当前训练时刻的学习率、前一训练时刻输出的模型参数、预设的前进步长、新第二滑动平均的矫正项和新第一滑动平均的矫正项计算新参数。
在一种具体实施方式中,硬件计算平台具体用于:
基于训练数据、训练结果以及前一训练时刻输出的模型参数计算当前训练时刻的更新梯度;
基于预设的迭代参数和预设的前进步长、前一训练时刻的目标滑动平均和更新梯度计算当前训练时刻的学习率;
相应地,硬件计算平台具体用于:
基于当前训练时刻的学习率和前一训练时刻输出的模型参数计算新参数。
在一种具体实施方式中,硬件计算平台包括多个计算模块,各个计算模块之间基于CXL协议共享内存。
在一种具体实施方式中,计算模块包括:CPU、GPU、FPGA、ASIC中的任一项或组合。
其中,关于本实施例中各个模块、单元更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
可见,本实施例提供了一种数据处理系统,能够降低主机和硬件模块之间的数据传输开销,提升模型训练效率。
下面对本申请实施例提供的一种电子设备进行介绍,下文描述的一种电子设备与上文描述的一种数据处理方法及系统可以相互参照。
参见图5所示,本申请实施例公开了一种电子设备,包括:
存储器501,用于保存计算机程序;
处理器502,用于执行所述计算机程序,以实现上述任意实施例公开的方法。
下面对本申请实施例提供的一种可读存储介质进行介绍,下文描述的一种可读存储介质与上文描述的一种数据处理方法、系统及设备可以相互参照。
一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述实施例公开的数据处理方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本申请涉及的“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法或设备固有的其它步骤或单元。
需要说明的是,在本申请中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的可读存储介质中。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (8)

1.一种数据处理方法,其特征在于,应用于与主机通过CXL协议连接的硬件计算平台,包括:
基于CXL协议共享所述主机中的、用于训练目标模型的训练数据;
调用所述目标模型处理所述训练数据得到训练结果,并基于所述训练结果计算所述目标模型的新参数;其中,计算所述新参数包括:确定矩滑动平均当前值,并基于所述矩滑动平均当前值调整学习率,基于调整后的学习率计算所述新参数;
利用所述新参数更新所述目标模型,得到新模型;
若所述新模型符合收敛条件,则保留所述新模型,并使所述主机基于CXL协议共享所述新模型;
其中,所述确定矩滑动平均当前值,并基于所述矩滑动平均当前值调整学习率,包括:
基于预设的目标衰减系数和矩滑动平均最大值确定矩滑动平均当前值;
若所述矩滑动平均当前值大于预设阈值,则利用warmup策略调整所述学习率;否则,利用随机梯度下降以及动量算法调整所述学习率;
其中,所述基于预设的目标衰减系数和矩滑动平均最大值确定矩滑动平均当前值,包括:
按照第一公式计算所述矩滑动平均当前值;所述第一公式为:
Figure DEST_PATH_IMAGE002
其中,ρ t 为所述矩滑动平均当前值,ρ 为所述矩滑动平均最大值,t表示当前训练时刻,β 2为所述目标衰减系数。
2.根据权利要求1所述的方法,其特征在于,所述利用warmup策略调整所述学习率,包括:
基于所述训练数据、所述训练结果以及前一训练时刻输出的模型参数计算当前训练时刻的更新梯度;
基于预设的对象衰减系数、所述更新梯度和前一训练时刻的第一滑动平均计算新第一滑动平均;
基于所述更新梯度、所述目标衰减系数、所述新第一滑动平均和前一训练时刻的第二滑动平均计算新第二滑动平均;
基于所述新第二滑动平均和所述目标衰减系数计算当前训练时刻的学习率;
相应地,所述基于调整后的学习率计算所述新参数,包括:
基于当前训练时刻的学习率、所述前一训练时刻输出的模型参数、预设的前进步长、所述新第二滑动平均的矫正项和所述新第一滑动平均的矫正项计算所述新参数;
其中,新第一滑动平均m t 的计算公式为:
Figure DEST_PATH_IMAGE004
m t 为新第一滑动平均,β 1为对象衰减系数,m t-1 为前一训练时刻的第一滑动平均,g t 为当前训练时刻的更新梯度;
其中,新第二滑动平均v t 的计算公式为:
Figure DEST_PATH_IMAGE006
v t 为新第二滑动平均,β 2为目标衰减系数,m t 为新第一滑动平均,v t-1 为前一训练时刻的第二滑动平均,g t 为当前训练时刻的更新梯度。
3.根据权利要求1所述的方法,其特征在于,所述利用随机梯度下降以及动量算法调整所述学习率,包括:
基于所述训练数据、所述训练结果以及前一训练时刻输出的模型参数计算当前训练时刻的更新梯度;
基于预设的迭代参数和预设的前进步长、前一训练时刻的目标滑动平均和所述更新梯度计算当前训练时刻的学习率;
相应地,所述基于调整后的学习率计算所述新参数,包括:
基于当前训练时刻的学习率和所述前一训练时刻输出的模型参数计算所述新参数。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述硬件计算平台包括多个计算模块,各个计算模块之间基于CXL协议共享内存。
5.根据权利要求4所述的方法,其特征在于,所述计算模块包括:CPU、GPU、FPGA、ASIC中的任一项或组合。
6.一种数据处理系统,其特征在于,包括:主机、与所述主机通过CXL协议连接的硬件计算平台;
所述主机,用于提供用于训练目标模型的训练数据;基于CXL协议共享硬件计算平台训练得到的新模型;
所述硬件计算平台,用于基于CXL协议共享所述主机中的所述训练数据;调用所述目标模型处理所述训练数据得到训练结果,并基于所述训练结果计算所述目标模型的新参数;利用所述新参数更新所述目标模型,得到新模型;若所述新模型符合收敛条件,则保留所述新模型;其中,计算所述新参数包括:确定矩滑动平均当前值,并基于所述矩滑动平均当前值调整学习率,基于调整后的学习率计算所述新参数;
其中,所述确定矩滑动平均当前值,并基于所述矩滑动平均当前值调整学习率,包括:
基于预设的目标衰减系数和矩滑动平均最大值确定矩滑动平均当前值;
若所述矩滑动平均当前值大于预设阈值,则利用warmup策略调整所述学习率;否则,利用随机梯度下降以及动量算法调整所述学习率;
其中,所述基于预设的目标衰减系数和矩滑动平均最大值确定矩滑动平均当前值,包括:
按照第一公式计算所述矩滑动平均当前值;所述第一公式为:
Figure 185603DEST_PATH_IMAGE002
其中,ρ t 为所述矩滑动平均当前值,ρ 为所述矩滑动平均最大值,t表示当前训练时刻,β 2为所述目标衰减系数。
7.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至5任一项所述的方法。
8.一种可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的方法。
CN202210387060.8A 2022-04-14 2022-04-14 一种数据处理方法、系统、设备及可读存储介质 Active CN114461568B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210387060.8A CN114461568B (zh) 2022-04-14 2022-04-14 一种数据处理方法、系统、设备及可读存储介质
PCT/CN2022/118104 WO2023197520A1 (zh) 2022-04-14 2022-09-09 一种数据处理方法、系统、设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210387060.8A CN114461568B (zh) 2022-04-14 2022-04-14 一种数据处理方法、系统、设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN114461568A CN114461568A (zh) 2022-05-10
CN114461568B true CN114461568B (zh) 2022-07-08

Family

ID=81418423

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210387060.8A Active CN114461568B (zh) 2022-04-14 2022-04-14 一种数据处理方法、系统、设备及可读存储介质

Country Status (2)

Country Link
CN (1) CN114461568B (zh)
WO (1) WO2023197520A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114461568B (zh) * 2022-04-14 2022-07-08 苏州浪潮智能科技有限公司 一种数据处理方法、系统、设备及可读存储介质
CN114925829A (zh) * 2022-07-18 2022-08-19 山东海量信息技术研究院 一种神经网络训练方法、装置、电子设备及存储介质
CN115310566A (zh) * 2022-10-12 2022-11-08 浪潮电子信息产业股份有限公司 分布式训练系统、方法、装置、设备及可读存储介质
CN117112466B (zh) * 2023-10-25 2024-02-09 浪潮(北京)电子信息产业有限公司 一种数据处理方法、装置、设备、存储介质及分布式集群
CN117785489B (zh) * 2024-02-27 2024-05-10 苏州元脑智能科技有限公司 一种服务器及一种任务执行方法、装置和存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106991095B (zh) * 2016-01-21 2021-09-28 阿里巴巴集团控股有限公司 机器异常的处理方法、学习速率的调整方法及装置
CN110033081A (zh) * 2019-03-08 2019-07-19 华为技术有限公司 一种确定学习率的方法和装置
US20210142177A1 (en) * 2019-11-13 2021-05-13 Nvidia Corporation Synthesizing data for training one or more neural networks
US11586630B2 (en) * 2020-02-27 2023-02-21 Sap Se Near-memory acceleration for database operations
US20210390414A1 (en) * 2020-06-10 2021-12-16 Nvidia Corporation Accelerated training for neural network models
CN114257386B (zh) * 2020-09-10 2023-03-21 华为技术有限公司 检测模型的训练方法、系统、设备及存储介质
CN113723692A (zh) * 2021-09-02 2021-11-30 深圳前海微众银行股份有限公司 数据处理方法、装置、设备、介质及程序产品
CN114169534A (zh) * 2021-12-09 2022-03-11 京东科技信息技术有限公司 分布式机器学习模型的训练方法、装置、设备及介质
CN114461568B (zh) * 2022-04-14 2022-07-08 苏州浪潮智能科技有限公司 一种数据处理方法、系统、设备及可读存储介质

Also Published As

Publication number Publication date
CN114461568A (zh) 2022-05-10
WO2023197520A1 (zh) 2023-10-19

Similar Documents

Publication Publication Date Title
CN114461568B (zh) 一种数据处理方法、系统、设备及可读存储介质
JP6348561B2 (ja) マルチコア最適化リカレントニューラルネットワーク用のシステムおよび方法
US11263539B2 (en) Distributed machine learning method and system
US20200090073A1 (en) Method and apparatus for generating machine learning model
CN113412494B (zh) 一种确定传输策略的方法及装置
CN107404409B (zh) 面向突变负载的容器云弹性供给容器数量预测方法与系统
CN108986063A (zh) 梯度融合的方法、装置及计算机可读存储介质
JP2018110387A (ja) リアルタイムライブ環境でのバッファに基づく帯域幅測定および適応的データ送信のための方法およびシステム
CN106648456B (zh) 基于用户访问量以及预测机制的动态副本文件访问方法
CN101873224A (zh) 一种云计算负载均衡方法和设备
Andronov et al. Algorithm of the artificial comparison star for the CCD photometry
CN103970879B (zh) 一种调整数据块存储位置的方法及系统
US20120307654A1 (en) Bandwidth Estimation Based on Statistical Measures
CN108958893A (zh) 高并发业务的资源控制方法、装置和计算机可读存储介质
CN111160531A (zh) 神经网络模型的分布式训练方法、装置及电子设备
CN106028085A (zh) 基于dash的多客户端码率自适应及震荡补偿方法
CN114945004B (zh) 拥塞控制方法、装置、电子设备及存储介质
CN114357676B (zh) 一种针对层次化模型训练框架的聚合频率控制方法
CN112395090A (zh) 一种移动边缘计算中服务放置的智能混合优化方法
CN110278611A (zh) 一种无线供电移动边缘计算系统中的资源分配方法
WO2023226284A1 (zh) 一种深度学习模型的训练方法、装置、设备及存储介质
CN113635892A (zh) 车辆控制方法、装置、电子设备和计算机可读介质
CN113778691A (zh) 一种任务迁移决策的方法、装置及系统
JP2019074947A (ja) 学習装置、学習方法及び学習プログラム
CN113902128B (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