一种代码的分布式训练方法、装置及设备与流程

文档序号:35528722发布日期:2023-09-21 05:53阅读:23来源:国知局
一种代码的分布式训练方法、装置及设备与流程

本发明涉及计算机,特别是指一种代码的分布式训练方法、装置及设备。


背景技术:

1、随着机器学习和云计算的迅猛发展,传统的分布式训练方法已经不能满足现有的需求,现有的分布式训练需要用户编写kubeflow资源对象文件,需要对训练代码进行侵入式的修改。无法使用户和代码之间拥有较好的交互,代码的运行与结果的读取,都需要用户具备相关知识。另外,由于不同存储系统拥有自己的调用接口,系统分布式训练在读取不同存储系统上的数据集时,需要去修改大量的代码。同时,分布式训练读取远程存储可能会导致i/o瓶颈,使得资源得不到充分利用。


技术实现思路

1、本发明提供一种代码的分布式训练方法、装置及设备,提高资源利用率以及数据交互性。

2、为解决上述技术问题,本发明的技术方案如下:

3、一种代码的分布式训练方法,所述方法包括:

4、获取用户编写的代码和训练指令;

5、根据所述训练指令,获得用户指定的用于训练所述代码的目标资源;

6、根据所述目标资源,创建资源对象;

7、调度所述资源对象中的目标训练容器进行代码训练,得到训练结果;

8、将所述训练结果通过所述应用返回用户。

9、可选的,获取用户编写的代码和训练指令,包括:

10、接收jupyterhub应用的内核发送的用户编写的代码和训练指令。

11、可选的,根据所述训练指令,获得用户指定的用于训练所述代码的目标资源,包括:

12、对所述训练指令进行解析,获得解析结果;

13、若所述解析结果中包括有用户指定的用于训练所述代码的训练框架与训练容器数量,将所述用户指定的训练框架与训练容器数量作为所述目标资源;

14、若所述解析结果中没有用户指定的训练框架与训练容器数量,获得默认的训练框架和训练容器数量作为所述目标资源。

15、可选的,代码的分布式训练方法,还包括:

16、获取所述训练指令中的数据编排请求;

17、根据所述数据编排请求,与虚拟的分布式存储系统交互,将目标数据挂载于所述虚拟的分布式存储系统,所述虚拟的分布式存储系统中架构在底层分布式文件系统和上层分布式计算框架之间的一个中间件。

18、可选的,根据所述目标资源,创建资源对象,包括:

19、获取所述虚拟的分布式存储系统中所述目标数据挂载的本地存储路径;

20、根据所述目标资源和所述本地存储路径,创建所述资源对象,所述资源对象包括目标训练框架和目标训练容器。

21、可选的,根据所述资源对象训练目标训练容器进行代码训练,得到训练结果,包括:

22、获得所述目标训练容器根据所述目标训练框架对存储于资源对象中的所述代码进行训练,得到的训练结果。

23、可选的,将所述训练结果通过所述应用返回用户,包括:

24、将所述训练结果通过所述jupyterhub应用的内核发送至jupyterhub应用的前端,并由所述jupyterhub应用的前端发送至用户。

25、本发明的实施例还提供一种代码的分布式训练装置,所述装置包括:

26、第一获取模块,用于获取用户编写的代码和训练指令;

27、第二获取模块,用于根据所述训练指令,获得用户指定的用于训练所述代码的目标资源;

28、处理模块,用于根据所述目标资源,创建资源对象;调度所述资源对象中的目标训练容器进行代码训练,得到训练结果;将所述训练结果通过所述应用返回用户。

29、本发明还提供一种计算设备,包括:处理器、存储有计算机程序的存储器,所述计算机程序被处理器运行时,执行如上所述的方法。

30、本发明还提供一种计算机可读存储介质,存储指令,当所述指令在计算机上运行时,使得计算机执行如上所述的方法。

31、本发明的上述方案至少包括以下有益效果:

32、本发明的上述方案,通过预设应用获取用户编写的代码和训练指令;根据所述训练指令,获得用户指定的用于训练所述代码的目标资源;根据所述目标资源,创建资源对象;根据所述资源对象调度目标训练容器进行代码训练,得到训练结果;将所述训练结果通过所述应用返回用户。解决现有分布式训练需要用户修改分布式训练代码,无法解决读取数据集时,出现i/o瓶颈影响资源利用率的问题,实现将数据与计算隔离,有效提高资源利用率,交互性强。



技术特征:

1.一种代码的分布式训练方法,其特征在于,所述方法包括:

2.根据权利要求1所述的代码的分布式训练方法,其特征在于,获取用户编写的代码和训练指令,包括:

3.根据权利要求1所述的代码的分布式训练方法,其特征在于,根据所述训练指令,获得用户指定的用于训练所述代码的目标资源,包括:

4.根据权利要求3所述的代码的分布式训练方法,其特征在于,还包括:

5.根据权利要求4所述的代码的分布式训练方法,其特征在于,根据所述目标资源,创建资源对象,包括:

6.根据权利要求5所述的代码的分布式训练方法,其特征在于,根据所述资源对象训练目标训练容器进行代码训练,得到训练结果,包括:

7.根据权利要求2所述的代码的分布式训练方法,其特征在于,将所述训练结果通过应用返回用户,包括:

8.一种代码的分布式训练装置,其特征在于,所述装置包括:

9.一种计算设备,其特征在于,包括:处理器、存储有计算机程序的存储器,所述计算机程序被处理器运行时,执行如权利要求1至7任一项所述的方法。

10.一种计算机可读存储介质,其特征在于,存储指令,当所述指令在计算机上运行时,使得计算机执行如权利要求1至7任一项所述的方法。


技术总结
本发明提供一种代码的分布式训练方法、装置及设备,其中,代码的分布式训练方法包括:通过预设应用获取用户编写的代码和训练指令;根据所述训练指令,获得用户指定的用于训练所述代码的目标资源;根据所述目标资源,创建资源对象;根据所述资源对象调度目标训练容器进行代码训练,得到训练结果;将所述训练结果通过所述应用返回用户。本发明的方案无需对代码进行侵入式修改,可以实现将数据与计算隔离,有效提高资源利用率,交互性强。

技术研发人员:闫晓瑞,武文博,王斌,冯俊兰,邓超
受保护的技术使用者:中国移动通信有限公司研究院
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1