一种模型训练加速方法及装置制造方法及图纸

技术编号:39601498 阅读:10 留言:0更新日期:2023-12-03 20:01
一种模型训练加速方法,应用于云管理平台,包括:云管理平台接收客户端发送的训练任务请求信息,训练任务请求信息包括待训练模型的信息和训练模式的信息,训练模式包括加速训练模式,加速训练模式的加速训练参数基于用户在加速配置界面中的操作确定;当训练模式为加速训练模式时,云管理平台根据加速训练参数,加载加速库中对应的目标加速模块至训练节点;目标加速模块为加速库中具有加速功能的功能模块;云管理平台指示训练节点基于目标加速模块,对待训练模型进行加速训练

【技术实现步骤摘要】
一种模型训练加速方法及装置


[0001]本申请涉及人工智能
,尤其涉及一种模型训练加速方法及装置


技术介绍

[0002]随着人工智能领域的模型和数据的规模愈发庞大,模型训练过程中的计算任务和数据存储等步骤对于软硬件资源的需求也越来越高

传统的基于本地机器训练机器学习模型的方式逐渐被基于云端的模型训练解决方案所代替

[0003]为了提高模型训练的效率,云平台会对模型的训练过程进行加速处理

在模型加速训练之前,用户需要安装对应的加速包或者使用提供的加速镜像;或者用户需要修改代码,比如手动修改启动方式和环境变量等

也就是说,在模型加速训练之前,用户需要复杂的操作,用户体验差


技术实现思路

[0004]为了解决上述的问题,本申请的实施例中提供了一种模型训练加速方法及装置,用户只需要在云平台前端勾选所需的加速配置,不需要自行安装加速包或者加速镜像,也不需要修改代码,因此,本申请实施例解决了在模型训练加速前需要复杂的操作的问题

[0005]为此,本申请的实施例中采用如下技术方案:
[0006]第一方面,本申请实施例提供了一种模型训练加速方法,应用于云管理平台,该方法包括:云管理平台接收客户端发送的训练任务请求信息,训练任务请求信息包括待训练模型的信息和训练模式的信息,训练模式包括加速训练模式,加速训练模式的加速训练参数基于用户在加速配置界面中的操作确定;当训练模式为加速训练模式时,云管理平台根据加速训练参数,加载加速库中对应的目标加速模块至训练节点;目标加速模块为加速库中具有加速功能的功能模块;云管理平台指示训练节点基于目标加速模块,对待训练模型进行加速训练

[0007]本申请实施例中,通过向用户提供加速配置界面,获取用户的训练任务请求信息,后端再基于用户的训练任务请求信息,进行加速训练的预处理和加速训练

加速训练的预处理包括加载加速库中的与加速配置对应的加速模块,基于加速模块进行模型加速训练

也就是说,用户只需要在云平台前端勾选所需的加速配置,无需自行安装加速包或者加速镜像,也不需要修改代码,降低了用户的使用门槛,因此,本申请实施例解决了在模型训练加速前需要复杂的操作的问题

也就是说,本申请实施例实现了无感加速,即用户只需要进行加速配置,就可以实现模型加速训练,提高了用户体验

进一步地,根据加速训练参数,加载加速库中对应的目标加速模块,也就是说,只安装加速训练参数对应的目标加速模块,而不是安装加速库中的所有加速模块,因此,提高了工作效率,节省了安装的时间和所需资源,提高了模型加速训练在预处理阶段的效率

[0008]在一种可能的实现方式中,加速配置界面包括加速选项;加速选项包括卷积加速


/
或数据加载加速


/
或编译优化


/
或矩阵加速;用户在加速配置界面中的操作包括:
勾选或点击加速选项

[0009]在该实现方式中,对加速配置界面进行了进一步限定

加速配置界面可以包括一个或者多个加速选项,用户对这些加速选项进行操作,选择需要的加速选项

用户对这些加速选项的操作信息以加速训练参数的方式透传到云管理平台

云管理平台基于加速训练参数指示训练节点进行加速训练

因此,用户只需对加速配置界面的加速选项进行操作,便可以实现加速训练待训练模型,提高了用户体验,降低了用户的使用门槛,增大了本申请实施例的适用范围

[0010]在另一种可能的实现方式中,加速库包括多个加速模块;每个加速模块设置有适配器;适配器,用于适配加速模块与加速库

[0011]在该实现方式中,对加速库中的多个加速模块采样适配器的设计模式

也就是说,每个加速模块设置有适配模块,适配模块可以适应不同的加速模块,增加了加速库和加速模块的适用性

示例性的,加速系统是基于
Pytorch
框架时,用户的待训练模型和加速库也是基于
Pytorch
框架的

为了最大程度地提高模型训练的速度,因此加速模块可以是其他框架下的具有加速功能的模块,其他框架可以是
TensorFlow、Keras、MXNet


也就是说,通过适配器的模式,对其他框架下的加速模块和加速库进行适配,丰富了加速库的包含范围,解决了不同场景下的加速库的支持问题,使得加速库可以适用于不同的用户场景,使得加速库具有更多的不同的加速能力,使得用户的加速选项丰富,加速能力的实现途径更多

进一步地,随着技术的进步,当有新的加速模块出现时,可以在新的加速模块的基础上增加适配器,以适配新的加速模块和加速库,因此提高了本申请实施例对新技术的适应性,降低了研发成本,缩短了研发周期

[0012]在另一种可能的实现方式中,每个加速模块相互独立,使得加速模块被独立新增或者独立更新

[0013]在该实现方式中,每个加速模块可以进行独立新增或者独立更新

也就是说,加速模块可以独立地进行自身的更新和迭代,还可以独立地增加新的加速模块

因此,每个加速模块相互独立,使得某个加速模块的更新和新增,不影响其他的加速模块,提供了加速模块的稳定性

本申请实施例的技术方案,可以通过独立新增或者独立更新加速模块,以适应技术的更迭或者需求场景的变化,提高了本申请实施例的技术方案的适用性

[0014]在另一种可能的实现方式中,云管理平台指示训练节点基于目标加速模块,对待训练模型进行加速训练,包括:云管理平台将目标加速模块设置于用户自定义模块中;云管理平台运行用户训练容器中的用户脚本文件,用户脚本文件指示:从用户自定义模块中,获取目标加速模块;将待训练模型的原生算子替换为目标加速模块;原生算子为待训练模型中原有的具有计算功能的功能模块;基于替换后的目标加速模块,云管理平台指示训练节点对待训练模型进行加速训练

[0015]在该实现方式中,提供了一种基于目标加速模块进行模型加速训练的实现方式

也就是说,将目标加速模块设置于用户自定义模块中,在训练任务开始时,访问用户自定义模块,以获取目标加速模块

通过算子替换,使得用户的模型的原生算子的位置替换为目标加速模块

在开始加速训练,用户的模型会直接通过目标加速模块进行计算

因此,算子替换过程为后端自动进行,因此,整个加速过程,用户无需操作,提高了用户体验

...

【技术保护点】

【技术特征摘要】
1.
一种模型训练加速方法,其特征在于,应用于云管理平台,所述方法包括:所述云管理平台接收客户端发送的训练任务请求信息,所述训练任务请求信息包括待训练模型的信息和训练模式的信息,所述训练模式包括加速训练模式,所述加速训练模式的加速训练参数基于用户在加速配置界面中的操作确定;当所述训练模式为所述加速训练模式时,所述云管理平台根据所述加速训练参数,加载加速库中对应的目标加速模块至训练节点;所述目标加速模块为所述加速库中具有加速功能的功能模块;所述云管理平台指示所述训练节点基于所述目标加速模块,对所述待训练模型进行加速训练
。2.
根据权利要求1所述的方法,其特征在于,所述加速配置界面包括加速选项;所述加速选项包括卷积加速


/
或数据加载加速


/
或编译优化


/
或矩阵加速;用户在所述加速配置界面中的操作包括:勾选或点击所述加速选项
。3.
根据权利要求1或2所述的方法,其特征在于,所述加速库包括多个加速模块;每个所述加速模块设置有适配器;所述适配器,用于适配所述加速模块与所述加速库
。4.
根据权利要求3所述的方法,其特征在于,每个所述加速模块相互独立,使得所述加速模块被独立新增或者独立更新
。5.
根据权利要求1‑4任意一项所述的方法,其特征在于,所述云管理平台指示所述训练节点基于所述目标加速模块,对所述待训练模型进行加速训练,包括:所述云管理平台将所述目标加速模块设置于用户自定义模块中;所述云管理平台运行用户训练容器中的用户脚本文件,所述用户脚本文件指示:从所述用户自定义模块中,获取所述目标加速模块;将所述待训练模型的原生算子替换为所述目标加速模块;所述原生算子为所述待训练模型中原有的具有计算功能的功能模块;基于替换后的所述目标加速模块,所述云管理平台指示所述训练节点对所述待训练模型进行加速训练
。6.
根据权利要求1‑5任意一项所述的方法,其特征在于,还包括:所述云管理平台确定第一时间和第二时间;所述第一时间为所述目标加速模块计算完成目标输入数据所需的时间;所述目标输入数据为预设条件成立时的加速训练过程中的所述目标加速模块的输入数据;所述预设条件包括训练迭代次数满足多个预设阈值;所述第二时间为原生算子计算完成所述目标输入数据所需的时间;所述原生算子为所述待训练模型中原有的具有计算功能的功能模块;基于所述第一时间

第二时间,所述云管理平台确定与显示加速收益
。7.
根据权利要求1‑6任意一项所述的方法,其特征在于,还包括:当所述目标加速模块加载成功时,所述云管理平台指示客户端向用户显示加载成功的提示;和
/
或当所述目标加速模块加载失败时,所述云管理平台指示客户端向用户显示加载失败和失败原因的提示
。8.
根据权利要求1‑7任意一项所述的方法,其特征在于,还包括:所述云管理平台检测所述待训练模型中是否存在可加速点;所述可加速点为所述待训练模型中的可以使用加速库中的加速模块进行加速的原生算子;所述原生算子为所述待训
练模型中原有的具有计算功能的功能模块;当存在所述可加速点时,所述云管理平台指示客户端向所述用户显示所述可加速点


/
或所述可加速点对应的加速模块


/
或所述可加速点对应的估计的加速收益
。9.
根据权利要求1‑8任意一项所述的方法,其特征在于,所述训练模式还包括标准训练模式;所述方法还包括:当所述训练模式为所述标准训练模式时,所述云管理平台检测所述待训练模型中是否存在可加速点;所述可加速点为所述待训练模型中的可以使用加速库中的加速模块进行加速的原生算子;所述原生算子为所述待训练模型中原有的具有计算功能的功能模块;当存在所述可加速点时,所述云管理平台指示客户端向所述用户显示所述可加速点


/
或所述可加速点对应的加速模块


/
或所述可加速点对应的估计的加速收益;所述云管理平台指示训练节点对所述待训练模型进行训练
。10.
一种模型训练加速装置,其特征在于,应用于云管理平台,所述装置包括:接收模块,用于接收客户端发送的训练任务请求信息,所述训练任务请求信息包括待训练模型的信息和训练模式的信息,所述训练模式包括加速训练模式,所述加速训练模式的加速训练参数基于用户在加速配置界面中的操作确定;加载模块,用于当所述训练模式为所述加速训练模式时,根据所述加速训练参数,加载加速库中对应的目标加速模块至训练节点;所述目标加速模块为所述加速库中...

【专利技术属性】
技术研发人员:沈亦凡李谋白小龙张云
申请(专利权)人:深圳华为云计算技术有限公司
类型:发明
国别省市:

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

1