一种人工智能AI训练的方法、系统及设备与流程

文档序号:29696259发布日期:2022-04-16 13:07阅读:1410来源:国知局
导航: X技术> 最新专利> 计算;推算;计数设备的制造及其应用技术
一种人工智能AI训练的方法、系统及设备与流程
一种人工智能ai训练的方法、系统及设备
技术领域
1.本技术涉及人工智能(artificial intelligence,ai)技术领域,尤其涉及一种ai训练的方法、系统及设备。


背景技术:

2.随着ai技术的发展,ai应用于各行各业。典型的ai技术,包括深度学习技术、机器学习技术等,其基本思想是设计ai模型,并基于训练数据对ai模型进行训练,使得训练完成的ai模型具备一定的功能,例如:物体检测的功能、目标识别的功能等。ai模型是一种利用ai技术实现的算法,例如:基于深度学习技术的深度学习模型。
3.为了方便地进行ai模型的开发与训练,业界出现了各种各样的ai框架,开发者通常习惯在本地设备上安装ai框架,基于ai框架进行ai模型的开发与训练。由于对ai模型的训练需要依赖较强算力的支撑。开发者在本地设备基于ai框架开发的ai模型在本地被训练通常受到本地设备的算力的限制。


技术实现要素:

4.本技术提供了一种人工智能ai训练的方法,该方法通过在本地设备中的训练代码运行时,将训练任务信息上传至云训练系统,利用云端的资源实现对ai模型的训练,使得开发者在本地设备执行ai模型的开发不再受限于本地设备的算力。
5.第一方面,本技术提供一种ai训练方法,该方法应用于引导系统,当云训练系统的用户在本地设备上触发训练代码的运行后,引导系统执行如下步骤:根据在本地设备上运行的训练代码,获取训练任务信息,其中,该训练代码用于训练ai模型,ai模型由用户基于安装在所述本地设备上的ai框架进行开发获得;将训练任务信息上传至云训练系统,并通知云训练系统执行该训练任务信息对应的训练任务。
6.通过上述方法,云训练系统的用户需要对在本地构建的ai模型进行训练时,可以在本地设备利用编辑器编写对应的训练代码,当用户在本地运行训练代码后,本技术中的引导系统即可以执行训练任务信息的获取以及上传训练任务信息至云训练系统的操作。该方法使得在保持用户在本地进行模型开发和模型训练的习惯的情况下,利用云上的资源进行ai模型的训练,解决了本地设备用于训练的资源不足的问题,给用户带来了方便。
7.在第一方面的一种可能实现中,前述训练任务信息包括利用ai框架中的获取组件从训练代码中获取的信息,以及根据所述训练代码中的信息从本地设备获取的信息。ai框架中的获取组件可以在训练代码运行的过程中通过读取训练代码和拦截训练代码中的调用api等方式获取信息,通过获取组件获取训练代码中的信息,可以使得引导系统更快捷地获取到训练任务信息。
8.在第一方面的一种可能实现中,前述训练任务信息包括以下数据中的一种或多种:训练代码中的训练参数、待训练的ai模型、训练代码中用于对该ai模型进行训练的训练程序逻辑、本地设备的训练环境信息、用于与云训练系统连接的云训练接入信息。上述被上
传的训练任务信息使得云训练系统可以在云环境顺利地准备云训练的环境并执行训练任务。
9.在第一方面的一种可能实现中,本地设备的训练环境信息包括:所述ai框架的版本信息,所述训练代码的编程语言的版本信息。
10.由于ai模型和训练代码是用户基于本地设备中安装的ai框架和编程语言进行开发的,将本地的训练环境信息中的ai框架的版本信息,所述训练代码的编程语言的版本信息上传至云训练系统,可以使云训练系统在进行云环境的准备时预先准备好与待训练的ai模型和训练代码匹配的ai框架和编程语言的版本。
11.在第一方面的一种可能实现中,引导系统执行的方法还包括:接收云训练系统在执行所述训练任务的过程中发送的训练数据获取请求;获取所述训练数据,并发送所述训练数据至所述云训练系统。
12.上述方法使得引导系统不用在云训练系统开始执行训练任务之前就上传训练数据或者上传所有的训练数据至云训练系统,避免了云端训练任务开始之前耗费太长的等待传输时间,提升了用户体验。
13.在第一方面的一种可能实现中,在通知云训练系统执行所述训练任务信息对应的训练任务之前,该方法还包括:接收所述云训练系统返回的环境准备成功响应。
14.在第一方面的一种可能实现中,该方法还包括:接收云训练系统返回的训练完成的ai模型。引导系统在接收到训练完成的ai模型后,可以将训练完成的ai模型存储在本地设备中,还可以向用户提供提示,例如提示用户训练完成的ai模型存储在本地设备的什么位置,使得用户可以更方便地获取到训练完成的ai模型,方便了用户对训练完成的ai模型的后续应用。
15.在第一方面的一种可能实现中,引导系统可以从云训练系统中获得,并安装于所述本地设备中。例如,云训练系统中可以提供下载引导系统的接口。
16.第二方面,本技术还提供一种ai训练方法,该方法应用于云训练系统,包括:获取引导系统在用户在本地设备触发运行训练代码后发送的训练任务信息,所述训练任务信息包括本地设备的训练环境信息;根据所述训练环境信息执行云训练环境的准备;基于所述云训练环境执行所述训练任务信息对应的训练任务。
17.在第二方面的一种可能实现中,本地设备的训练环境信息包括:待训练的ai模型所依赖的ai框架的版本信息以及用于训练所述ai模型的训练代码所使用的编程语言的版本信息。
18.在第二方面的一种可能实现中,根据所述训练环境信息执行云训练环境的准备,包括:根据ai框架的版本信息,以及训练代码的编程语言的版本信息设置云训练环境中执行训练任务使用的ai框架和编程语言。
19.在第二方面的一种可能实现中,训练任务信息还包括:训练代码中的训练参数、ai模型、训练代码中用于对所述ai模型进行训练的训练程序逻辑;基于所述云训练环境执行所述训练任务信息对应的训练任务,包括:根据所述训练参数和所述训练程序逻辑,在所述准备的云训练环境中执行对所述ai模型的训练。
20.在第二方面的一种可能实现中,训练任务信息还包括:云训练接入信息,在根据所述训练环境信息执行云训练环境的准备之前,所述方法还包括:根据所述云训练接入信息
对所述训练任务信息对应的训练任务进行鉴权和/或计费查询。
21.上述第二方面和第二方面的可能实现的方式中的特征的有益效果可以参考前述第一方面中对应特征的有益效果,此处不再赘述。
22.第三方面,本技术还提供一种引导系统,包括:获取模块,用于当云训练系统的用户在本地设备上触发训练代码的运行后,根据所述本地设备上运行的所述训练代码,获取训练任务信息,其中,所述训练代码用于训练ai模型,所述ai模型由所述用户基于安装在所述本地设备上的ai框架进行开发获得;发送模块,用于将所述训练任务信息上传至云训练系统,并通知云训练系统执行所述训练任务信息对应的训练任务。
23.在第三方面的一种可能实现中,训练任务信息包括利用所述ai框架中的获取组件从所述训练代码中获取的信息,以及根据所述训练代码中的信息从所述本地设备获取的信息。
24.在第三方面的一种可能实现中,所述训练任务信息包括以下数据中的一种或多种:所述训练代码中的训练参数、所述ai模型、所述训练代码中用于对所述ai模型进行训练的训练程序逻辑、所述本地设备的训练环境信息、用于与所述云训练系统连接的云训练接入信息。
25.在第三方面的一种可能实现中,所述本地设备的训练环境信息包括:所述ai框架的版本信息,所述训练代码的编程语言的版本信息。
26.在第三方面的一种可能实现中,所述系统还包括接收单元,所述接收单元,用于接收所述云训练系统在执行所述训练任务的过程中发送的训练数据获取请求;所述获取单元,还用于获取所述训练数据;所述发送单元,还用于发送所述训练数据至所述云训练系统。
27.在第三方面的一种可能实现中,所述系统还包括接收单元,所述接收单元,用于在所述发送单元通知所述云训练系统执行所述训练任务信息对应的训练任务之前,接收所述云训练系统返回的环境准备成功响应。
28.在第三方面的一种可能实现中,所述系统还包括接收单元,所述接收单元,用于接收所述云训练系统返回的训练完成的ai模型。
29.在第三方面的一种可能实现中,所述引导系统从所述云训练系统中获得,并安装于所述本地设备中。
30.第四方面,本技术还提供一种云训练系统,包括:环境准备单元,用于获取引导系统在用户在本地设备上触发运行训练代码后发送的训练任务信息,所述训练任务信息包括本地设备的训练环境信息;根据所述训练环境信息执行云训练环境的准备;训练任务执行单元,用于基于所述云训练环境执行所述训练任务信息对应的训练任务。
31.在第四方面的一种可能实现中,所述本地设备的训练环境信息包括:待训练的ai模型依赖的ai框架的版本信息,用于训练所述ai模型的训练代码的编程语言的版本信息。
32.在第四方面的一种可能实现中,所述环境准备单元,具体用于根据所述ai框架的版本信息,以及所述训练代码的编程语言的版本信息设置所述云训练环境中执行训练任务使用的ai框架和编程语言。
33.在第四方面的一种可能实现中,所述训练任务信息还包括:训练代码中的训练参数、ai模型、训练代码中用于对所述ai模型进行训练的训练程序逻辑;所述训练任务执行单
元,具体用于根据所述训练参数和所述训练程序逻辑,在所述准备的云训练环境中执行对所述ai模型的训练。
34.在第四方面的一种可能实现中,所述训练任务信息还包括:云训练接入信息,所述环境准备单元,还用于:根据所述云训练接入信息对所述训练任务信息对应的训练任务进行鉴权和/或计费查询。
35.第五方面,本技术还提供一种计算设备,包括处理器和存储器,所述存储器存储计算机指令,所述处理器执行所述计算机指令,以使所述计算设备执行前述第一方面或第一方面可能实现中所述的方法,或者执行前述第二方面或第二方面可能实现中所述的方法。
36.第六方面,本技术还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序代码,当所述计算机程序代码被计算设备执行时,所述计算设备执行前述第一方面或第一方面可能实现中的方法,或者执行前述第二方面或第二方面可能实现中的方法。该计算机可读存储介质包括但不限于易失性存储器,例如随机访问存储器,非易失性存储器,例如快闪存储器、硬盘(英文:hard disk drive,缩写:hdd)、固态硬盘(英文:solid state drive,缩写:ssd)。
37.第七方面,本技术还提供一种计算机程序产品,所述计算机程序产品包括计算机程序代码,在所述计算机程序代码被计算设备执行时,所述计算设备执行前述第一方面或第一方面可能实现中提供的方法,或执行前述第二方面或第二方面可能实现中提供的方法。该计算机程序产品可以为一个软件安装包,在需要使用前述第一方面或第一方面可能实现中提供的方法,或者需要使用前述第二方面或第二方面可能实现中提供的方法的情况下,可以下载该计算机程序产品并在计算设备上执行该计算机程序产品。
38.第八方面,本技术还提供一种人工智能ai系统,包括前述第三方面及第三方面的可能实现中所述的引导系统,以及前述第四方面及第四方面的可能实现中所述的云训练系统。
附图说明
39.图1为本技术实施例提供的一种系统架构示意图;
40.图2为本技术实施例提供的一种引导系统106和云训练系统120的结构示意图;
41.图3为本技术实施例提供的一种ai训练方法的流程示意图;
42.图4为本技术实施例提供的一种云训练系统根据训练任务信息进行鉴权和计费查询的流程示意图;
43.图5为本技术实施例提供的一种云训练系统执行训练任务的流程示意图;
44.图6为本技术实施例提供的一种计算设备300的结构示意图;
45.图7为本技术实施例提供的一种计算设备400的结构示意图。
具体实施方式
46.为了更清楚地描述本技术实施例的技术方案,下面先对本技术涉及的技术术语进行解释:
47.ai训练:是一种利用训练数据对ai模型中的参数进行更新,以使得ai模型学习到训练数据中的特征和规律,使得ai模型实现特定应用功能的过程。
48.在ai训练过程中需要执行大量计算工作,需要耗费较多的计算资源(也即:算力)和存储资源。
49.训练代码:是驱动对ai模型进行训练的代码,训练代码中定义了ai训练过程中的训练参数和训练程序逻辑,还可以包括待训练的ai模型的名称或地址信息、训练数据集的名称或地址信息等。训练代码还包括用于与云端的云训练系统进行连接的云训练接入信息。
50.ai框架:是一种用于ai模型的开发、训练和测试的库(或工具),ai框架中包括多种封装好的代码组件,各个代码组件是预先构建和优化好的功能集合,本技术中ai框架中的代码组件也称为功能组件。开发者可以利用ai框架更快速地开发和训练出满足应用目标的ai模型,而无需详细地了解ai模型构建和训练时的底层算法实现。目前,业界出现了许多ai框架,利用一种或多种ai框架进行ai模型的开发和训练给开发者带来了极大的便利。典型的ai框架包括深度学习框架,业界出现各种类型的深度学习框架,不同的深度学习框架所能提供的功能有差异,但是都旨在为开发者提供用于深度学习模型的开发、训练和测试的库(或工具)。
51.ai技术迅速发展,逐渐应用于更多更复杂的场景。目前ai模型的结构越来越复杂,许多复杂场景对ai模型的性能要求也越来越高,因此目前常常需要利用大量的训练数据对复杂结构的ai模型进行训练。然而开发者习惯的ai开发模式为:在本地设备安装ai框架,然后利用本地编辑器,例如:利用本地应用集成开发环境(integrated development environment,ide),调用ai框架构建ai模型,并编写训练代码。再利用本地资源执行训练,获得训练完成的ai模型。目前虽然有些ai框架支持对ai模型执行分布式训练,但是开发者依然常常遇到本地开发的ai模型在本地无法有足够的训练资源的问题。
52.应理解,本技术中的本地或本地设备表示开发者开发ai模型所使用的设备(例如:开发者使用的服务器、虚拟机),和/或与开发者开发ai模型所使用的设备属于同一个所有者的其他设备或设备集群。通常各个本地设备之间处在较近的物理环境中,例如:一个机房。值得注意的是,在利用本地终端中的客户端使用远端的虚拟机(例如:桌面云)进行ai开发的情况下,也可以将本地终端与远端的虚拟机一起称为本地设备。
53.在云计算模式下,云服务提供商利用大量的基础资源(例如:计算资源、存储资源、通信资源)构建云环境,云服务提供商可以向云租户提供各种基础资源、平台或应用能力,使得云租户可以开展自己的业务。
54.基于上述背景,本技术提供了一种ai训练方法,该方法可以在开发者保持本地的ai开发的习惯下,利用云上的基础资源来为开发者训练本地构建的ai模型,该方法可以解决本地训练资源不足的问题,且更方便快捷地为开发者实现ai模型的训练。应理解,本技术中所述的开发者也可以称为用户,表示使用本技术的ai训练方法的人员。由于,在使用本技术的ai训练方法之前,用户需要在云平台注册并购买云训练服务,因此,本技术中的用户(或称为开发者)也是云训练系统的用户。
55.在描述本技术的具体方案之前,先描述本技术应用的系统架构。图1为本技术提供的一种示例性的系统架构示意图,如图1所示,本技术的系统架构中包括本地设备100和云环境中的云训练系统120。本地设备100可以是开发者拥有的服务器、虚拟机或者服务器集群、虚拟机集群,开发者利用本地设备100进行ai开发。云环境中的云训练系统120可以是云
服务提供商提供的一种云训练服务对应的后台系统,云训练系统120可以利用云环境中的基础资源对开发者在本地开发的ai模型执行云训练。
56.本地设备100中安装有编辑器102和ai框架104,本地设备100中还安装有引导系统106。ai框架104作为ai开发被使用的库,用于为开发者在ai模型的构建、训练过程中提供功能组件。编辑器102用于开发者执行训练代码的编辑,编辑器102还可以用于编译训练代码。开发者可以通过本地设备100中的编辑器102调用所述ai框架104中的组件进行ai模型的构建和训练。要对构建好的ai模型进行训练,开发者通常在本地编辑器中开发训练代码,编写训练所需的训练参数以及训练时采用的训练程序逻辑。训练代码中的训练程序逻辑指示如何使用训练时采用的训练数据并按照设置的训练参数对待训练的ai模型进行训练。开发者编辑好的训练代码被运行时即开启了对ai模型的训练。
57.为了使开发者构建的ai模型可以利用云上的资源被训练,上述本地设备上还安装有引导系统106。引导系统106用于在训练代码运行时获取训练任务信息,并将训练任务信息上传至云环境中的云训练系统120,以使云训练系统120执行训练任务信息对应的训练任务。训练任务信息可以包括执行对ai模型的训练所需要的训练参数、训练程序逻辑、训练环境信息、云训练接入信息,以及待训练的ai模型。应理解,上述引导系统106可以是安装在本地设备100中的独立软件程序,或者是与ai框架104耦合在一起的工具。本技术图1以引导系统106为独立的软件程序进行举例。
58.云环境中的云训练系统120,用于接收引导系统106发送的训练任务信息,并利用训练任务信息准备云训练环境,所设置的云训练环境与ai模型和训练程序逻辑相匹配。云训练系统120还用于接收引导系统106发送的训练通知,在设置好的云训练环境中对开发者的ai模型进行训练。训练任务完成后,云训练系统还可以返回训练成功的响应和/或返回训练完成的ai模型至引导系统106。
59.由上述可知,本技术主要利用本地设备100中的引导系统106与云环境中的云训练系统120交互,实现将在本地设备100中开发的训练代码对应的训练任务分派至云训练系统120执行。
60.下面结合图2描述引导系统106和云训练系统120的结构和功能划分。
61.由于,开发者开发的ai模型的结构和开发的训练代码依赖于ai框架中的功能组件,在训练代码运行时,需要调用ai框架104。在本技术的一种实施例中,被用于ai模型的构建和训练的ai框架104中嵌入有获取组件1042,获取组件1042可以是ai框架104中的工具、插件或者补丁。
62.获取组件1042用于与引导系统106通信,将获取到的训练任务的初始信息传送给引导系统106。具体地,获取组件1042用于在训练代码运行时从训练代码中获取训练任务的初始信息。本技术实施例中,将ai框架中的获取组件1042获取到的信息统称为训练任务的初始信息,训练任务的初始信息可以包括两种类型的信息,一种是执行训练任务时需要使用的模型或数据的标识信息或者地址信息,例如:待训练的ai模型的地址信息、训练数据的地址信息等;另一种是执行训练任务时可以直接使用的信息,例如:训练参数、训练程序逻辑等。获取组件1042获取到训练任务的初始信息后发送至引导系统106。
63.引导系统106中可以包括接收单元1061、获取单元1062和发送单元1063。应理解,上述引导系统106的单元划分仅是一种示例,并不构成对本技术引导系统106的限定。
64.接收单元1062用于接收获取组件1042发送的训练任务的初始信息。接收单元1062也可以接收云训练系统120发送的指令或信息。
65.由于训练任务的初始信息包括一些执行训练任务时需要使用的模型或数据的标识信息或者地址信息,引导系统106中获取单元1064可以用于根据接收单元1062接收到的训练任务的初始信息从本地设备100中获取训练任务信息。例如:接收单元1062接收到ai框架的获取组件1042获取的ai模型的地址信息后,获取单元1064根据ai模型的地址信息获取到待训练的ai模型。应理解,对于执行训练任务时可以直接使用的这一类训练任务的初始信息,获取组件1042获取的这些训练任务的初始信息与引导系统106向云训练系统120发送的对应的训练任务信息的内容相同。换言之,引导系统106中的接收单元1062从获取组件1042接收到这类型的信息后,无需由获取单元1064进行进一步获取,即可将这类型的信息作为引导系统要发送给云训练系统120的训练任务信息。本技术实施例中将引导系统106向云训练系统120发送的用于执行训练任务的数据和信息统称为训练任务信息。
66.发送单元1066,用于发送训练任务信息至云训练系统120。发送单元1066还用于发送训练通知和/或训练数据至云训练系统120。
67.如图2所示,云训练系统120包括环境准备单元122和训练任务执行单元124。
68.环境准备单元122,用于接收引导系统1066发送的训练任务信息,根据训练任务信息准备云训练环境,例如:设置云上执行训练任务时需要使用的资源以及训练时依赖的库。可选的,环境准备单元122还可以用于向引导系统106返回环境准备完成的响应消息。可选的,环境准备单元122还可以用于向训练任务执行单元124发送部分训练任务信息和/或训练任务执行指令。
69.训练任务执行单元124,可以根据环境准备单元122或者引导系统106发送的训练任务执行指令执行训练任务。训练任务执行单元124在执行训练任务时主要执行训练任务信息中的训练程序逻辑对待训练的ai模型进行训练。训练任务执行单元124还用于向引导单元返回训练成功的响应和/或返回训练完成的ai模型。
70.开发者在需要使用本技术所述的云训练系统120实现利用云上的资源对本地开发的ai模型的训练之前,开发者可以通过云服务提供商的云平台购买云训练的服务,配置云训练系统120训练时可用的资源总量、设置鉴权密钥信息等。在一些实施例中,引导系统106和ai框架104中的获取组件1042可以是云服务提供商为提供云训练的云服务配套开发的软件程序或工具。开发者在购买和配置云训练的服务后,可以在本地设备安装上述引导系统106和获取组件1042。由此,开发者即可以在本地运行训练代码启动由云训练系统120执行ai模型的训练。
71.上述图2描述的仅仅是本技术的一种可能实施例。在另一些实施例中,ai框架104中的获取组件1042的功能也可以由引导系统106来提供,即前述获取组件1042根据训练代码获取训练任务的初始信息的动作可以由引导系统106执行。在这种情况下,引导系统106可以包括四个功能单元,即:执行获取组件1042的动作的获取单元,以及前述接收单元1062、获取单元1064、发送单元1066。前述对引导系统106的功能单元的划分仅是一种示例,还可以有不同的划分方式,此处不再赘述。
72.本技术下述实施例以引导系统106不包括ai框架104中的获取组件1042的功能为例进行描述。应理解,下述实施例的内容也可以适应性地应用于引导系统106包括ai框架
104中的获取组件1042的功能的场景。
73.图3为本技术实施例提供的ai训练方法的流程示意图,下面结合图3具体描述本技术的ai训练方法的具体实现。该ai训练方法可以由前述引导系统106、云训练系统120,以及ai框架104中的获取组件1042协同执行。
74.s201:开发者开发和运行训练代码。
75.具体地,开发者可以通过在编辑器中开发对已构建的ai模型进行训练的代码,编辑器可以是业界各种ide,训练代码中可以包括开发者设置的训练参数,例如:学习率、批(batch)处理值、批尺寸等,还可以包括训练数据集的名称、待训练的ai模型的名称、训练程序逻辑。训练程序逻辑可以包括开发者自行编写的训练程序逻辑,也可以包括开发者调用的ai框架中的训练程序逻辑。训练程序逻辑中可以包括损失函数、优化器等算法逻辑。应理解,开发者构建的ai模型依赖于ai框架,训练代码中训练程序逻辑的执行也依赖于ai框架。
76.由于本技术将对ai模型的训练任务由云端执行,开发者在开发训练代码时,还需要在训练代码中设置云训练模式,例如:用代码表示训练模式为云训练模式。开发者还可以在训练代码中写入云训练接入信息,例如:云接入地址信息、云鉴权信息、账户信息等。
77.开发者开发的训练代码经过编译器编译后,即可以在本地设备上启动运行。启动运行训练代码后,由于训练代码中设置有云训练模式,在一些实施例中,训练代码中的云训练模式可以触发ai框架中的获取组件执行对训练任务的初始信息的获取操作。
78.s202:ai框架中的获取组件根据训练代码获取训练代码对应的训练任务的初始信息,向引导系统发送该训练任务的初始信息。
79.获取组件可以从训练代码中获取的训练任务的初始信息包括:待训练的ai模型的地址信息。获取组件在获取待训练的ai模型的地址信息时,可以拦截训练代码中加载模型时的应用程序接口(application program interface,api),由此获取到待训练的ai模型在本地设备中的路径信息。
80.获取组件可以从训练代码中获取的训练任务的初始信息还包括:训练数据的地址信息。获取组件在获取训练数据的地址信息时,也可以通过拦截训练代码中加载训练数据时的api,然后获取到训练数据在本地设备中的路径信息。
81.获取组件可以从训练代码中获取的训练任务的初始信息还包括:一些训练程序逻辑、云训练接入信息、训练参数、训练环境信息等。云训练接入信息可以包括:云接入地址信息、云鉴权信息、账户信息。训练参数可以包括:训练时采用的学习率、批处理值、批处理尺寸等。训练环境信息可以包括:ai框架的版本信息、训练代码的编程语言版本信息、编程语言版本或者ai框架版本的一些插件或库信息、用于执行训练的资源规格及数量等。上述训练环境信息可以分为两类。一类表示本地设备的训练环境信息,表示本地设备进行ai模型的构建和训练代码的开发时的环境信息,包括:ai框架的版本信息、训练代码的编程语言版本信息、编程语言版本或者ai框架版本的一些插件或库信息等。另一类表示在本地设备中设置的训练环境信息,表示执行ai模型训练时的环境信息,包括:用于执行训练的资源规格、数量等,这类信息通常由用户在训练代码中设置。
82.s203:引导系统向云训练系统上传训练任务信息。
83.引导系统接收到ai框架中的获取组件发送的训练任务的初始信息后,引导系统可以根据训练任务的初始信息获得要发送的训练任务信息,并将训练任务信息上传至云训练
系统。例如:根据待训练的ai模型的地址信息从本地设备中读取待训练的ai模型,并上传至云训练系统。可选的,引导系统也可以主动检测和获取一些训练任务信息,这个动作可以由引导系统中的获取单元执行。例如:当ai框架中的获取组件不能获取到一些训练环境信息时(如:训练代码的编程语言版本),引导系统可以通过主动检测本地设备中的训练环境来获取训练环境信息。因此,训练任务信息包括利用ai框架中的获取组件从所述训练代码中获取的信息,以及根据所述训练代码中的信息从所述本地设备获取的信息。
84.引导系统将获取到的训练任务信息上传至云训练系统之前,可以根据训练任务信息中的云训练接入信息与云训练系统建立连接,建立连接可以包括进行鉴权和计费查询等操作。
85.具体地,引导系统与云训练系统建立连接的流程示意图,可以如图4所示,具体包括如下步骤s2031-s2036:
86.s2031:引导系统向云训练系统发送上传请求。
87.上述上传请求中包括的云训练接入信息有云接入信息、本地设备的账户信息和鉴权信息。云接入信息可以是云训练系统的地址信息,根据云训练系统的地址信息可以将上传请求发送至云训练系统。账户信息和鉴权信息可以是开发者在使用本技术的方案之前在云平台中购买云训练服务时注册和获取到的信息。例如:账户信息可以是开发者在云平台的用户名,鉴权信息可以是从云平台中获取的与云训练服务对应的密钥。
88.值得注意的是,在一些情况下,引导系统的上传请求中可以仅包括上述用于接入、鉴权和费用查询的云接入信息、本地设备的账户信息和鉴权信息,在另一些情况下,上传请求中还可以包括前述训练任务信息中的部分或全部内容。若上传请求中仅包括云接入信息、账户信息和鉴权信息,则引导系统可以在接收到鉴权和计费查询通过的提示后,再上传其他的训练任务信息至云训练系统。
89.s2032:云训练系统接收上传请求,并将账户信息和鉴权信息发送至云鉴权中心。
90.s2033:云鉴权中心根据获取到的账户信息和鉴权信息对上传请求所请求的训练任务进行鉴权,返回鉴权结果。
91.具体的鉴权方式可以采用业界任意可行的鉴权方式,本技术不对此作限定。
92.云鉴权中心鉴权完成后,向云训练系统返回鉴权结果。
93.s2034:云训练系统将账户信息发送至云计费中心。
94.s2035:云计费中心根据账户信息确认账户信息对应的账户的费用信息,向云训练系统返回费用信息。
95.本技术不限定上述步骤s2034-s2035与步骤s2032-s2033的执行顺序。上述步骤s2034-s2035的执行也可以是可选的。
96.s2036:云训练系统向引导系统返回鉴权和计费查询通过的响应,并接收训练任务信息。
97.在鉴权通过且账户信息对应的账户费用大于或等于预设阈值的情况下,云训练系统向引导系统返回鉴权和计费查询通过的响应,并接收引导系统上传的其他训练任务信息,其他训练任务信息包括前述描述的除了用于云接入、鉴权和费用查询的云训练接入信息外的训练任务信息,如:训练参数、训练程序逻辑、待训练的ai模型、训练环境信息等。
98.应理解,上述步骤为可选的,在上述上传请求中包括其他训练任务信息的情况下,
云训练系统可以不返回响应,直接接收上传的训练任务信息。
99.在鉴权未通过或者账户信息对应的账户的预存费用小于预设阈值的情况下,云训练系统可以向引导系统返回上传请求失败响应,还可以返回请求失败原因,例如:鉴权不通过和/或预存费用不足。
100.在执行完上述步骤s2031-s2036后,引导系统可以成功地将训练任务信息发送至云训练系统。
101.应理解,上述步骤s202-s203是基于本技术前述的一种实施例(即:引导系统与ai框架中的获取组件协同进行训练任务信息的获取的实施例)进行描述的。在另一种实施例中,上述引导系统可以包括上述ai框架中的获取组件的功能,则上述步骤s202与s203均由引导系统执行。
102.云训练系统接收到训练任务信息后,即可以开展在云上进行云训练环境的准备和训练任务额执行工作了,下面用步骤s204具体描述:
103.s204:云训练系统根据接收到的训练任务信息,执行训练任务信息对应的训练任务。
104.如图5所示,具体地,步骤s204可以分为以下几个步骤:
105.s2041:云训练系统根据接收到的训练任务信息准备云训练环境。
106.云训练系统在执行训练任务之前,需要准备云训练的环境,使得云训练的环境与本地训练代码和本地待训练的ai模型相匹配。具体地,云训练系统需要根据训练任务信息中的训练环境信息准备云训练的环境,训练环境信息可以包括:ai框架的版本信息、训练代码的编程语言的版本信息、编程语言版本或者ai框架版本的一些插件或库信息、用于执行训练的资源规格。
107.云训练系统需要根据ai框架和训练代码的编程语言的版本,确保云环境中已准备好执行云训练需要依赖的ai框架和编程语言版本。通常云环境中会包括各种主流的ai框架和编程语言版本,因此,通常云训练系统在准备云训练环境时仅需要检测和确认,而无需临时进行安装这些版本。
108.云训练系统还需要根据编程语言版本或者ai框架版本的一些插件或库信息,确保云环境中已安装好这些插件或者库,通常云环境也会及时更新和下载主流的ai框架和编程软件的插件和所需的库,若在云环境准备阶段,云训练系统发现云环境没有安装执行训练任务所需的插件和库,可以及时下载并安装。
109.云训练系统还需要根据训练任务信息中包括的执行训练的资源规格的信息,在云上准备相应的训练资源。例如:根据所需的资源规格的信息,在云端启动相关的虚拟机、容器,并挂载相应的硬件资源,比如图形处理单元(graphical processing unit,gpu)或者ai训练芯片等。
110.在云训练环境准备完成后,云训练系统可以执行以下步骤:
111.s2042:云训练系统向引导系统返回环境准备成功响应。
112.s2043:引导系统向云训练系统发送训练通知。
113.值得注意的是,在另一些实施例中,上述步骤s2042和s2043也可以不执行。例如:引导系统可以在上传训练任务信息时一并通知云训练系统执行训练任务,则云训练系统在执行完前述步骤s2041后,即可以开始执行训练任务,省略了上述步骤s2042和s2043。
114.s2044:云训练系统在云训练环境中执行训练任务信息对应的训练任务。
115.云训练系统可以启动准备好相关资源的训练容器执行训练任务,具体地,在执行训练任务时,根据训练程序逻辑调用云上对应的ai框架中的功能组件。将训练数据输入至待训练的ai模型,基于训练资源利用模型中的各个组件对训练数据进行计算,并按照一些训练参数和训练程序逻辑更新模型中的参数的值,如此迭代,直到ai模型的训练达到训练停止条件时停止对模型的训练,获得训练完成的ai模型,训练停止条件例如:损失函数收敛到小于预设阈值,或者,训练的回合数达到预设的值。
116.由于用于对ai模型进行训练的训练数据较多(例如:几万张图片,或者几万段视频),在上传训练任务信息时,由引导系统读取本地设备中的训练数据集,并一次性地上传至云训练系统,会导致传输时延较高,云训练系统的环境准备时间较长,影响用户体验。在一些实施例中,云训练系统可以在执行训练的过程中分至少一次地向引导设备发送训练数据获取请求。
117.即,可选的,在执行训练任务的过程中还可以执行如下步骤:
118.s2045:云训练系统向引导系统发送训练数据获取请求;
119.s2046:引导系统从本地设备中读取训练数据,并将训练数据发送至云训练系统。
120.在另一些实施例中,用于对ai模型进行训练的训练数据也可以由用户预先保存在云训练系统可以读取的地方,例如:云存储器。
121.值得注意的是,在上述执行训练任务的过程中,云计费中心还可以持续地根据训练时所使用的资源的时长、资源规格、资源数量等,进行持续地计费。
122.经过上述步骤s204,云训练系统可以成功地对ai模型进行训练,获得训练完成的ai模型。
123.s205:云训练系统向引导系统返回训练完成的ai模型。
124.值得注意的是,上述步骤s205仅是一种情况下执行的步骤,在另一些情况下,云训练系统在执行完训练任务后可以不将训练完成的ai模型返回给引导系统。例如:云训练系统可以将训练成功的响应返回给引导系统,或者将训练完成的ai模型存储在云环境中的地址信息返回给引导系统。云训练系统在训练完成后向引导系统返回什么,可以由开发者通过预先设置确定。可选的,云训练系统还可以返回计费话单至引导系统。
125.通过上述步骤s201-s205,开发者在本地编写和运行训练代码,即可以实现利用云环境的资源训练ai模型。避免了本地训练所需的资源不足无法支撑ai模型的训练的问题。上述方法极大地方便了开发者,开发者无需在面临本地资源不足的情况下,改变本地构建ai模型和开发训练代码的习惯。本技术的方案也无需开发者进行复杂的配置和适应,通过引导系统和云训练系统的协作即快速地实现云训练。
126.本技术实施例还提供图2所示的引导系统106,在一些实施例中,引导系统106具体用于执行前述图3-图5中所示的引导系统执行的步骤,引导系统106的各功能单元的功能如前述对图2的描述,此处不再赘述。在另一些实施例中,引导系统106还可以具体用于执行前述图3-图5中所示的引导系统和ai框架中的获取组件的功能。
127.本技术实施例还提供图2所示的云训练系统120,云训练系统120具体可以用于执行前述图3-图5所示的云训练系统执行的步骤,云训练系统120的各功能单元的功能如前述对图2的描述,此处不再赘述。
128.本技术实施例还提供一种如图6所示的计算设备300,上述计算设备300可以是前述的本地设备。计算设备300包括存储器301、处理器302、通信接口303以及总线304。其中,存储器301、处理器302、通信接口303通过总线304实现彼此之间的通信连接。应理解,本技术不限定计算设备300中的处理器、存储器的个数。计算设备300也可以表示多个服务器或虚拟机构成的设备集群。
129.存储器301可以是只读存储器(read only memory,rom),静态存储设备,动态存储设备或者随机存取存储器(random access memory,ram)。存储器301可以存储计算机指令,当存储器301中存储的计算机指令被处理器302执行时,处理器302和通信接口303执行前述图3-图5中描述的由引导系统执行的部分或全部的ai训练方法。也即前述引导系统106中计算机指令可以存储在存储器301。存储器301中还可以存储待训练的ai模块和训练数据。
130.处理器302可以采用通用的中央处理器(central processing unit,cpu),应用专用集成电路(application specific integrated circuit,asic),图形处理器(graphics processing unit,gpu)或其任意组合。处理器302可以包括一个或多个芯片,处理器302可以包括ai加速器,例如:神经网络处理器(neural processing unit,npu)。
131.通信接口303使用例如但不限于收发器一类的收发模块,来实现计算设备300与其他设备或通信网络之间的通信。例如,可以通过通信接口303获取训练成功的响应或者训练完成的ai模型。
132.总线304可包括在计算设备300各个部件(例如,存储器301、处理器302、通信接口303)之间传送信息的通路。
133.本技术实施例还提供一种如图7所示的计算设备400,计算设备400可以是云服务提供商提供的云服务器或者云服务器集群,也可以是虚拟机或者虚拟机集群。计算设备400包括存储器401、处理器402、通信接口403以及总线404。上述存储器401、处理器402、通信接口403以及总线404的可能的硬件结构以及各部分之间的关系可以与前述计算设备300中的对应部分相同或相似,此处不再赘述。计算设备400中的存储器401可以存储有前述云训练系统120中的环境准备单元122和训练任务执行单元124中包括的计算机指令,当存储器401中存储的计算机指令被处理器402执行时,处理器402和通信接口403执行前述图3-图5中描述的由云训练系统执行的部分或全部的ai训练方法。
134.上述各个附图对应的流程的描述各有侧重,某个流程中没有详述的部分,可以参见其他流程的相关描述。
135.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。实现上述ai训练方法的计算机程序产品包括一个或多个计算机指令,在计算机上加载和执行这些计算机程序指令时,全部或部分地执行按照本技术前述图3-5所述的ai训练的方法流程。
136.所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如:同轴电缆、光纤、数据用户线(digital subscriber line,dsl))或无线(例如:红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含
一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如:软盘、硬盘、磁带)、光介质(例如:数字通用光盘(digital versatile disc,dvd))、或者半导体介质(例如:固态硬盘(solid state disk,ssd))等。
完整全部详细技术资料下载
当前第1页 1  2 
相关技术
  • 消息处理方法、装置、电子设备...
  • 一种基于DNN立体匹配模块的...
  • 疾病部位识别方法、装置、电子...
  • 一种基于拆分注意力的网络结合...
  • 一种订正一类错误西风带槽线的...
  • 基于区块链的碳排放权分配方法...
  • 一种基于区块链的数据处理方法...
  • 一种多余度多处理器断点同步停...
  • 一种基于消息块DMA的总线数...
  • 一种基于深度学习的文本分类方...
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1

天下网标王河南优质网站优化北京网站收录优化宝安网站优化seo阜宁网站优化马鞍山网站建设与优化网站云优化建一个自动优化的网站达州哪里做网站优化国内网站优化方法日照百度网站优化鄂州洛阳网站优化哪家网站优化服务好铜川安康西安网站优化合作热线新乡优化网站排名哪家价格便宜上城区网站优化排名惠州优化网站网站内部布局及优化网站优化 济南映射网站怎么看优化许昌知名网站优化推荐昆明网站关键词优化推广外包公司松桃网站优化推广公司网站推广优化外包哪家服务好青浦区信息化网站服务优化价格优化网站十佳云速捷力荐网站优化中关键词的布局汕头做网站优化海外网站seo优化德惠关键词网站优化排名网站优化简析如何提高网站排名香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

天下网标王 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化