一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

深度学习模型的分布式训练方法、装置、设备及存储介质与流程

2022-02-21 08:14:28 来源:中国专利 TAG:


1.本公开涉及人工智能技术领域,具体为深度学习、云计算技术领域,尤其涉及深度学习模型的分布式训练方法、装置、设备及存储介质。


背景技术:

2.近年来,计算机视觉、自然语言处理、个性化推荐等领域的模型为了追求更好的效果,一般在模型训练时会采用更大规模的模型参数或更大规模的训练数据,例如拥有20亿参数的vit-g/14视觉模型、千亿参数规模的gpt3语言模型、万亿参数规模亿级别数据的点击率预估模型。因此分布式训练作为超大模型高效训练的必要手段,得到了越来越广泛的应用。当前分布式训练一般存在开发难度大、易用性差、鲁棒性差、可扩展性差以及对资源的利用率低等问题。


技术实现要素:

3.本公开提供了一种深度学习模型的分布式训练方法、装置、设备及存储介质。
4.根据本公开的第一方面,提供了一种深度学习模型的分布式训练方法,包括:基于待训练深度学习模型的数据信息生成分布式计算视图;基于待训练深度学习模型对应的集群硬件资源的属性信息生成集群资源视图;基于分布式计算视图和集群资源视图确定分布式训练任务的目标切分策略;基于目标切分策略对待训练深度学习模型进行分布式训练。
5.根据本公开的第二方面,提供了一种深度学习模型的分布式训练装置,包括:第一生成模块,被配置成基于待训练深度学习模型的数据信息生成分布式计算视图;第二生成模块,被配置成基于待训练深度学习模型对应的集群硬件资源的属性信息生成集群资源视图;确定模块,被配置成基于分布式计算视图和集群资源视图确定分布式训练任务的目标切分策略;训练模块,被配置成基于目标切分策略对待训练深度学习模型进行分布式训练。
6.根据本公开的第三方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如第一方面中任一实现方式描述的方法。
7.根据本公开的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,计算机指令用于使计算机执行如第一方面中任一实现方式描述的方法。
8.根据本公开的第五方面,提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现如第一方面中任一实现方式描述的方法。
9.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
10.附图用于更好地理解本方案,不构成对本公开的限定。其中:
11.图1是本公开可以应用于其中的示例性系统架构图;
12.图2是根据本公开的深度学习模型的分布式训练方法的一个实施例的流程图;
13.图3是根据本公开的深度学习模型的分布式训练方法的另一个实施例的流程图;
14.图4是根据本公开的深度学习模型的分布式训练方法的又一个实施例的流程图;
15.图5是根据本公开的深度学习模型的分布式训练装置的一个实施例的结构示意图;
16.图6是用来实现本公开实施例的深度学习模型的分布式训练方法的电子设备的框图。
具体实施方式
17.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
18.需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
19.图1示出了可以应用本公开的深度学习模型的分布式训练方法或深度学习模型的分布式训练装置的实施例的示例性系统架构100。
20.如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
21.用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送信息等。终端设备101、102、103上可以安装有各种客户端应用。
22.终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。当终端设备101、102、103为软件时,可以安装在上述电子设备中。其可以实现成多个软件或软件模块,也可以实现成单个软件或软件模块。在此不做具体限定。
23.服务器105可以提供各种服务。例如,服务器105可以对从终端设备101、102、103获取的待训练深度学习模型的数据信息以及集群硬件资源的属性信息进行分析和处理,并生成处理结果(例如目标切分策略)。
24.需要说明的是,服务器105可以是硬件,也可以是软件。当服务器105为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器105为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。
25.需要说明的是,本公开实施例所提供的深度学习模型的分布式训练方法一般由服务器105执行,相应地,深度学习模型的分布式训练装置一般设置于服务器105中。
26.应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
27.继续参考图2,其示出了根据本公开的深度学习模型的分布式训练方法的一个实
施例的流程200。该深度学习模型的分布式训练方法包括以下步骤:
28.步骤201,基于待训练深度学习模型的数据信息生成分布式计算视图。
29.在本实施例中,深度学习模型的分布式训练方法的执行主体(例如图1所示的服务器105)可以基于待训练深度学习模型的数据信息生成分布式计算视图。待训练深度学习模型即本实施例中需要进行分布式训练的深度学习模型,上述执行主体可以获取待训练深度学习模型的数据信息,并基于该数据信息生成分布式计算视图。
30.由于可以将深度学习模型(神经网络)的训练过程描述为计算数据流图的过程,数据流图或计算图由节点和边组成,其中节点处的计算称为算子,每条边代表在节点之间传递的张量。所以,在一些实施例中,上述执行主体会先获取待训练深度学习模型的算子和张量,然后基于获取的算子和张量生成分布式计算视图。
31.可选地,每个算子和张量都可以携带各自的分布式属性,上述执行主体还会获取算子和张量的分布式属性,其中,分布式属性包括但不限于以下几种:逻辑进程拓扑信息、张量每维切分映射信息、张量每维切片大小信息和切片物理设备放置信息。需要说明的是,一个张量的分布式属性与使用这个张量的算子对应的分布式属性可以是不同的,从而有利于存算分离。
32.步骤202,基于待训练深度学习模型对应的集群硬件资源的属性信息生成集群资源视图。
33.在本实施例中,上述执行主体可以基于待训练深度学习模型对应的集群硬件资源的属性信息生成集群资源视图。由于深度学习模型在进行分布式训练时,可能会使用多台硬件设备,而每台硬件设备上可以设置多个gpu(图形处理器,graphics processing unit),深度学习模型在各台设备中的gpu上并行化地训练。由于不同硬件设备的架构差异比较大,例如在算力、显存、连接方式及带宽等方面存在较大差异。所以,在本实施例中,上述执行主体会对待训练深度学习模型对应的集群硬件资源(处理器、交换机等)进行抽象表示,从而生成集群资源视图。
34.例如,上述执行主体可以获取各个设备间的拓扑关系,也即各个设备之间的连接关系,此外,还会获取每台设备的处理能力信息,如每台设备的处理器、显存、带宽等处理能力信息,然后基于各个设备间的拓扑关系以及各个设备中每台设备的处理能力信息生成集群资源视图,从而对集群硬件资源进行了抽象表示,并实现了对集群之间、集群内部各设备之间、每台设备内部的具体连接方式及差异进行屏蔽,从而可以支持各种异构硬件设备和集群环境,从而降低了开发难度,提升了该方法的通用性。
35.步骤203,基于分布式计算视图和集群资源视图确定分布式训练任务的目标切分策略。
36.在本实施例中,上述执行主体可以基于步骤201生成的分布式计算视图与步骤202生成的集群资源视图来确定分布式训练任务的目标切分策略。切分策略中包含深度学习模型的切分方式和集群硬件资源的资源配置方式,由于不同的切分策略对应的开销是不同的,所以本实施例中会基于分布式计算视图和集群资源视图确定分布式训练任务的最佳切分策略,也即目标切分策略,从而将分布式训练任务拆分到合适的异构硬件资源拓扑,以充分发挥异构硬件的性能。
37.例如,可通过建模代价模型来评估一种切分策略(包括模型切分和集群资源配置)
下整个计算图的训练成本(开销),其中,训练成本包括运行时长、存储空间占用等,从而基于各个切分策略对应的训练成本来确定最优切分策略,进而达到提升训练效率和资源利用率的目的。此外,针对图级别的代价估计难点,如通信同步操作、并行带来的隐藏时延、异构硬件带来的性能差异等,上述执行主体会将动态信息和静态信息结合的规约算法来计算整图代价(开销),从而保证开销计算的准确性。
38.步骤204,基于目标切分策略对待训练深度学习模型进行分布式训练。
39.在本实施例中,上述执行主体可以基于步骤203确定的目标切分策略来对待训练深度学习模型进行分布式训练。例如,上述执行主体可以基于目标切分策略,并采用异步流水运行机制来对待训练深度学习模型进行分布式训练,从而最大程度提高通信和计算的并发率,进而提高分布式训练的训练效率。同时通过将分布式训练的各个子任务进行解耦,从而使得一个任务可以运行在多类设备上,还支持多种执行粒度,这样不仅可以针对异构硬件的算力设置不同的执行粒度,还能处理更复杂的条件、循环等控制流逻辑,从而提高执行效率和负载均衡能力。
40.可选地,在进行分布式训练的过程中,当上述执行主体检测到集群硬件资源的环境发生改变,例如集群中的训练设备发生故障或者动态新增/删减设备时,可以触发弹性资源管理机制,进行容错或弹性扩缩容,以自适应的做出反应来重新确定当前集群硬件环境下的目标切分策略,并基于该新确定的目标切分策略进行分布式训练。例如,当上述执行主体检测到节点故障时,会触发容错机制,在几乎不中断训练的情况下替换故障节点,从而节省了资源重新调度的时间和资源浪费;再例如,当上述执行主体检测到集群资源空闲或紧张时,可以进行弹性扩缩容,动态计算并调整节点数量,并按需重新进行切分,从而提升集群整体资源的利用率。
41.本公开实施例提供的深度学习模型的分布式训练方法,首先基于待训练深度学习模型的数据信息生成分布式计算视图;之后基于待训练深度学习模型对应的集群硬件资源的属性信息生成集群资源视图;然后基于分布式计算视图和集群资源视图确定分布式训练任务的目标切分策略;最后基于目标切分策略对待训练深度学习模型进行分布式训练。本实施例中的深度学习模型的分布式训练方法,该方法通过生成分布式计算视图和集群资源视图,从而可以兼容异构硬件,屏蔽不同硬件之间的差异;并且,通过确定目标切分策略可以将分布式训练任务拆分到合适的异构硬件资源上,以充分发挥异构硬件的性能,提升了基于深度学习模型基于该目标切分策略进行分布式训练的训练效率。
42.本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
43.继续参考图3,图3示出了根据本公开的深度学习模型的分布式训练方法的另一个实施例的流程300。该深度学习模型的分布式训练方法包括以下步骤:
44.步骤301,获取待训练深度学习模型的算子和张量。
45.在本实施例中,深度学习模型的分布式训练方法的执行主体(例如图1所示的服务器105)可以获取待训练深度学习模型的算子和张量。计算数据流图中节点处的计算称为算子,每条边代表在节点之间传递的张量,只要将每个算子和张量并行化表示,便可以将整个神经网络并行化,将其从顺序执行的计算图转换成分布式计算图。所以,上述执行主体会先获取待训练深度学习模型的算子和张量。
46.在本实施例的一些可选实施方式中,在步骤301之后,上述深度学习模型的分布式训练方法还包括:获取算子的分布式属性以及张量的分布式属性。由于每个算子和张量都可以携带各自的分布式属性,所以上述执行主体还会获取算子的分布式属性以及张量的分布式属性,其中,分布式属性包括但不限于以下几种:逻辑进程拓扑信息、张量每维切分映射信息、张量每维切片大小信息和切片物理设备放置信息。需要说明的是,一个张量的分布式属性与使用这个张量的算子对应的分布式属性可以是不同的,从而有利于存算分离。
47.步骤302,基于算子和张量生成分布式计算视图。
48.在本实施例中,上述执行主体可以基于算子和张量生成分布式计算视图。生成的分布式计算视图将分布式算子和分布式张量进行了解耦,从而更好地扩展至不同的并行策略。
49.在本实施例的一些可选实施方式中,在步骤302包括:基于算子、算子的分布式属性以及张量、张量的分布式属性,生成分布式计算视图。当上述执行主体获取了算子的分布式属性以及张量的分布式属性后,会基于算子、算子的分布式属性以及张量、张量的分布式属性来生成分布式计算视图。从而保证分布式计算视图的全面性以及准确性。
50.在本实施例的一些可选实施方式中,上述深度学习模型的分布式训练方法还包括:响应于检测到分布式计算视图中对输入张量和输出张量的定义与对使用该输入张量和输出张量的算子的定义不匹配,插入重组转换算子;响应于检测到分布式计算视图中输入张量和输出张量对应的设备和使用该输入张量和输出张量的算子所对应的设备不一致,插入通信算子。
51.在本实现方式中,当输入输出张量的定义和算子定义不匹配时,会自动插入重组转换算子,从而保证计算的正确性。当输入输出张量的设备和算子的设备不一致时,会自动插入通信算子,来保证跨设备切分的正确性。
52.步骤303,获取待训练深度学习模型对应的集群硬件资源中的各个设备间的拓扑信息和集群硬件资源中的各个设备的处理能力信息。
53.在本实施例中,由于待训练深度学习模型对应的集群硬件资源中可以包括多台设备,上述执行主体可以获取集群硬件资源中的各个设备间的拓扑信息,即各个设备之间的连接方式信息,上述执行主体还会获取集群硬件资源中的各个设备的处理能力信息,其中,处理能力信息包括但不限于设备内的处理器信息、带宽信息、显存信息。
54.步骤304,基于拓扑信息和处理能力信息生成集群资源视图。
55.在本实施例中,上述执行主体可以基于步骤303获取的各个设备间的拓扑信息和每台设备的处理能力信息来生成集群资源视图,集群资源视图对集群硬件资源进行抽象表示,实现了对集群之间、集群内部各设备之间、每台设备内部的具体连接方式及差异进行屏蔽,从而可以支持各种异构硬件设备和集群环境,从而降低了开发难度,提升了该方法的通用性。
56.步骤305,基于分布式计算视图和集群资源视图确定分布式训练任务的目标切分策略。
57.步骤306,基于目标切分策略对待训练深度学习模型进行分布式训练。
58.步骤305-306与前述实施例的步骤203-204基本一致,具体实现方式可以参考前述对步骤203-204的描述,此处不再赘述。
59.从图3中可以看出,与图2对应的实施例相比,本实施例中的深度学习模型的分布式训练方法突出了生成分布式计算视图以及生成集群资源视图的过程,通过将算子和张量进行解耦,以及对硬件设备的处理能力和拓扑关系进行抽象表示,从而将逻辑切分和硬件资源进行解耦,实现对异构硬件进行兼容,提升了该分布式训练方法的扩展性和可维护性。
60.继续参考图4,图4示出了根据本公开的深度学习模型的分布式训练方法的又一个实施例的流程400。该深度学习模型的分布式训练方法包括以下步骤:
61.步骤401,获取待训练深度学习模型的算子和张量。
62.步骤402,基于算子和张量生成分布式计算视图。
63.步骤403,获取待训练深度学习模型对应的集群硬件资源中的各个设备间的拓扑信息和集群硬件资源中的各个设备的处理能力信息。
64.步骤404,基于拓扑信息和处理能力信息生成集群资源视图。
65.步骤401-404与前述实施例的步骤301-304基本一致,具体实现方式可以参考前述对步骤301-304的描述,此处不再赘述。
66.步骤405,基于分布式计算视图和集群资源视图,生成不同的切分策略。
67.在本实施例中,深度学习模型的分布式训练方法的执行主体(例如图1所示的服务器105)可以基于分布式计算视图和集群资源视图,生成不同的切分策略,其中,切分策略包括深度学习模型的切分方式和集群硬件资源的资源配置方式。也即上述执行主体会确定不同的模型切分方式以及不同的资源配置方式,并将每种模型切分方式和每种资源配置方式进行组合,从而得到不同的切分策略。
68.步骤406,基于各个切分策略对应的开销确定分布式训练任务的目标切分策略。
69.在本实施例中,上述执行主体可以基于各个切分策略对应的开销来确定分布式训练任务的目标切分策略,也即最佳切分策略。例如,上述执行主体会分别计算每种切分策略对应的开销,然后将开销最小的切分策略确定为最佳切分策略,也即目标切分策略。从而提升基于目标切分策略进行训练时的训练效率。
70.在本实施例的一些可选实施方式中,步骤406包括:计算各个切分策略对应的开销,开销包括运行时间开销和存储空间占用开销,运行时间开销包括算子开销以及通信开销;将开销最小的切分策略确定为分布式训练任务的目标切分策略。
71.在本实现方式中,上述执行主体可以分别计算各种切分策略的运行时间开销和存储空间占用开销,分别得到各种切分策略对应的开销值,其中,运行时间开销还包括算子开销以及通信开销;然后,将开销值最小的切分策略确定为分布式训练任务的最佳切分策略,也即目标切分策略。从而将分布式训练任务拆分到合适的异构硬件资源上,以充分发挥异构硬件的性能,并且提升了该分布式训练方法的易用性和训练效率。
72.步骤407,基于目标切分策略,采用异步流水运行机制对待训练深度学习模型进行分布式训练。
73.在本实施例中,上述执行主体可以基于步骤406确定的目标切分策略,采用异步流水运行机制来对待训练深度学习模型进行分布式训练,从而最大程度提高通信和计算的并发率,进而提高分布式训练的训练效率。同时,针对异步难调试的问题,上述执行主体还可以通过对齐顺序执行串行计算图和分布式计算图的精度等操作来进行解决;在运行过程中,上述执行主体还可以根据硬件拓扑信息来选择最优的通信算法,从而提升通信效率。
74.在本实施例的一些可选实施方式中,上述深度学习模型的分布式训练方法还包括:在分布式训练过程中,响应于集群硬件资源的环境发生变化,触发弹性资源管理机制,以重新确定目标切分策略。
75.在本实现方式中,当集群中的训练设备发生故障或者动态新增/删减设备时,上述执行主体会触发弹性资源管理机制,进行容错或弹性扩缩容,以自适应的做出反应来重新确定当前集群硬件环境下的目标切分策略,并基于该新确定的目标切分策略进行分布式训练。例如,当上述执行主体检测到节点故障时,会触发容错机制,在几乎不中断训练的情况下替换故障节点,从而节省了资源重新调度的时间和资源浪费;再例如,当上述执行主体检测到集群资源空闲或紧张时,可以进行弹性扩缩容,动态计算并调整节点数量,并按需重新进行切分,从而提升集群整体资源的利用率。
76.从图4中可以看出,与图3对应的实施例相比,本实施例中的深度学习模型的分布式训练方法突出了确定目标切分策略的步骤以及分布式训练的步骤,从而将分布式训练任务拆分到合适的异构硬件资源上,充分发挥了异构硬件的性能,提升了该分布式训练方法的易用性,并通过采用异步流水运行机制提升了训练效率;此外,该方法还支持在训练过程中自动弹性调整训练所用的硬件资源,提升了训练方法的鲁棒性以及硬件资源的利用率。
77.进一步参考图5,作为对上述各图所示方法的实现,本公开提供了一种深度学习模型的分布式训练装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
78.如图5所示,本实施例的深度学习模型的分布式训练装置500包括:第一生成模块501、第二生成模块502、确定模块503和训练模块504。其中,第一生成模块501,被配置成基于待训练深度学习模型的数据信息生成分布式计算视图;第二生成模块502,被配置成基于待训练深度学习模型对应的集群硬件资源的属性信息生成集群资源视图;确定模块503,被配置成基于分布式计算视图和集群资源视图确定分布式训练任务的目标切分策略;训练模块504,被配置成基于目标切分策略对待训练深度学习模型进行分布式训练。
79.在本实施例中,深度学习模型的分布式训练装置500中:第第一生成模块501、第二生成模块502、确定模块503和训练模块504的具体处理及其所带来的技术效果可分别参考图2对应实施例中的步骤201-204的相关说明,在此不再赘述。
80.在本实施例的一些可选的实现方式中,第一生成模块包括:第一获取子模块,被配置成获取待训练深度学习模型的算子和张量;第一生成子模块,被配置成基于算子和张量生成分布式计算视图。
81.在本实施例的一些可选的实现方式中,第一生成模块还包括:第二获取子模块,被配置成获取算子的分布式属性以及张量的分布式属性;以及第一生成子模块包括:生成单元,被配置成基于算子、算子的分布式属性以及张量、张量的分布式属性,生成分布式计算视图。
82.在本实施例的一些可选的实现方式中,上述深度学习模型的分布式训练装置还包括:第一插入模块,被配置成响应于检测到分布式计算视图中对输入张量和输出张量的定义与对使用该输入张量和输出张量的算子的定义不匹配,插入重组转换算子;第二插入模块,响应于检测到分布式计算视图中输入张量和输出张量对应的设备和使用该输入张量和输出张量的算子所对应的设备不一致,插入通信算子。
83.在本实施例的一些可选的实现方式中,第二生成模块包括:第三获取子模块,被配置成获取待训练深度学习模型对应的集群硬件资源中的各个设备间的拓扑信息和集群硬件资源中的各个设备的处理能力信息,其中,处理能力信息包括以下至少一项:处理器信息、带宽信息、显存信息;第二生成子模块,被配置成基于拓扑信息和处理能力信息生成集群资源视图。
84.在本实施例的一些可选的实现方式中,确定模块包括:第三生成子模块,被配置成基于分布式计算视图和集群资源视图,生成不同的切分策略,其中,切分策略包括深度学习模型的切分方式和集群硬件资源的资源配置方式;确定子模块,被配置成基于各个切分策略对应的开销确定分布式训练任务的目标切分策略。
85.在本实施例的一些可选的实现方式中,确定子模块包括:计算单元,被配置成计算各个切分策略对应的开销,开销包括运行时间开销和存储空间占用开销,运行时间开销包括算子开销以及通信开销;确定单元,被配置成将开销最小的切分策略确定为分布式训练任务的目标切分策略。
86.在本实施例的一些可选的实现方式中,训练模块包括:训练子模块,被配置成基于目标切分策略,采用异步流水运行机制对待训练深度学习模型进行分布式训练。
87.在本实施例的一些可选的实现方式中,上述深度学习模型的分布式训练装置还包括:触发模块,被配置成在分布式训练过程中,响应于集群硬件资源的环境发生变化,触发弹性资源管理机制,以重新确定目标切分策略。
88.根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
89.图6示出了可以用来实施本公开的实施例的示例电子设备600的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
90.如图6所示,设备600包括计算单元601,其可以根据存储在只读存储器(rom)602中的计算机程序或者从存储单元608加载到随机访问存储器(ram)603中的计算机程序,来执行各种适当的动作和处理。在ram 603中,还可存储设备600操作所需的各种程序和数据。计算单元601、rom 602以及ram 603通过总线604彼此相连。输入/输出(i/o)接口605也连接至总线604。
91.设备600中的多个部件连接至i/o接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
92.计算单元601可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元601的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元601执行上文所描述的各个方法和处理,
例如深度学习模型的分布式训练方法。例如,在一些实施例中,深度学习模型的分布式训练方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由rom 602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序加载到ram 603并由计算单元601执行时,可以执行上文描述的深度学习模型的分布式训练方法的一个或多个步骤。备选地,在其他实施例中,计算单元601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行深度学习模型的分布式训练方法。
93.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
94.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
95.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
96.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
97.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数
字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
98.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
99.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
100.上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献