CN115600671B - 深度学习框架的数据处理方法、装置、设备和存储介质 - Google Patents
深度学习框架的数据处理方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN115600671B CN115600671B CN202211290213.3A CN202211290213A CN115600671B CN 115600671 B CN115600671 B CN 115600671B CN 202211290213 A CN202211290213 A CN 202211290213A CN 115600671 B CN115600671 B CN 115600671B
- Authority
- CN
- China
- Prior art keywords
- data
- target
- policy
- identification
- strategy
- 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
Links
- 238000013135 deep learning Methods 0.000 title claims abstract description 70
- 238000003672 processing method Methods 0.000 title claims abstract description 18
- 238000000034 method Methods 0.000 claims abstract description 324
- 230000008569 process Effects 0.000 claims abstract description 288
- 238000012545 processing Methods 0.000 claims abstract description 171
- 238000004891 communication Methods 0.000 claims abstract description 116
- 230000006870 function Effects 0.000 claims description 23
- 238000004458 analytical method Methods 0.000 claims description 20
- 230000004044 response Effects 0.000 claims description 17
- 230000004927 fusion Effects 0.000 claims description 8
- 238000013473 artificial intelligence Methods 0.000 abstract description 7
- 238000004590 computer program Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 7
- 238000012549 training Methods 0.000 description 6
- 238000011161 development Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
- G06F16/24573—Query processing with adaptation to user needs using data annotations, e.g. user-defined metadata
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Library & Information Science (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供了一种深度学习框架的数据处理方法,涉及人工智能技术领域,尤其涉及深度学习技术领域和分布式计算技术领域。具体实现方案为:根据初始数据,确定与深度学习框架相关的目标策略组合数据;根据进程标识序列组合数据,生成与策略标识数据对应的通信组数据,其中,通信组数据用于指示与多个进程标识数据分别对应的多个数据处理进程之间的通信方式;将与策略标识数据对应的执行数据以及与策略标识数据对应的通信组数据融合,得到目标数据;以及将至少一个目标数据发送至部署有深度学习框架的至少一个设备,其中,设备部署有与进程标识数据对应的数据处理进程。本公开还提供了一种深度学习框架的数据处理装置、电子设备和存储介质。
Description
技术领域
本公开涉及人工智能技术领域,尤其涉及深度学习技术领域和分布式计算技术领域,可应用于云计算场景下。更具体地,本公开提供了一种深度学习框架的数据处理方法、装置、电子设备和存储介质。
背景技术
随着人工智能技术的发展,深度学习框架广泛地应用于各种场景。深度学习框架可以部署于多个设备。这些设备之间可以按照一定的并行策略来并行地执行图像处理任务、文本处理任务或音频处理任务。
发明内容
本公开提供了一种深度学习框架的数据处理方法、装置、设备以及存储介质。
根据本公开的一方面,提供了一种深度学习框架的数据处理方法,该方法包括:根据初始数据,确定与深度学习框架相关的目标策略组合数据,其中,目标策略组合数据包括至少一个策略标识数据和至少一个进程标识序列组合数据,进程标识序列组合数据包括至少一个进程标识序列数据,进程标识序列数据包括多个进程标识数据,进程标识序列组合数据与一个策略标识数据对应;根据进程标识序列组合数据,生成与策略标识数据对应的通信组数据,其中,通信组数据用于指示与多个进程标识数据分别对应的多个数据处理进程之间的通信方式;将与策略标识数据对应的执行数据以及与策略标识数据对应的通信组数据融合,得到目标数据;以及将至少一个目标数据发送至部署有深度学习框架的至少一个设备,其中,设备部署有与进程标识数据对应的数据处理进程。
根据本公开的另一方面,提供了一种深度学习框架的数据处理装置,该装置包括:确定模块,用于根据初始数据,确定与深度学习框架相关的目标策略组合数据,其中,目标策略组合数据包括至少一个策略标识数据和至少一个进程标识序列组合数据,进程标识序列组合数据包括至少一个进程标识序列数据,进程标识序列数据包括多个进程标识数据,进程标识序列组合数据与一个策略标识数据对应;生成模块,用于根据进程标识序列组合数据,生成与策略标识数据对应的通信组数据,其中,通信组数据用于指示与多个进程标识数据分别对应的多个数据处理进程之间的通信方式;融合模块,用于将与策略标识数据对应的执行数据以及与策略标识数据对应的通信组数据融合,得到目标数据;以及发送模块,用于将至少一个目标数据发送至部署有深度学习框架的至少一个设备,其中,设备部署有与进程标识数据对应的数据处理进程。
根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行根据本公开提供的方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使计算机执行根据本公开提供的方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现根据本公开提供的方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开的一个实施例的可以应用深度学习框架的数据处理方法的流程图;
图2是根据本公开的一个实施例的深度学习框架的数据处理方法的流程图;
图3是根据本公开的另一个实施例的深度学习框架的数据处理方法的流程图;
图4是根据本公开的一个实施例的深度学习框架的数据处理装置的框图;以及
图5是根据本公开的一个实施例的可以应用深度学习框架的数据处理方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
深度学习框架是人工智能领域的基础设施,已经进入较为成熟的发展阶段。能否进行更高效、更便捷地支持上层扩展及二次开发,是评价一个深度学习框架产品能否作为“基础设施”、能否实现人工智能产业落地以及能否进行领域扩展的重要指标。
深度学习框架包括:飞桨(PaddlePaddle)框架、PyTorch框架、TensorFlow框架、MindSpore框架以及其他多个小众框架。这些框架可以提供类似的功能。然而,作为人工智能时代生态建设的“基石”,深度学习框架需要吸引更多上游开发者加入,使得框架被进一步地加工改造。为此,深度学习框架需要具有设计清晰、易维护、易理解、便于定制化扩展开发等特点,以降低上游开发者共建框架生态的成本。
在一些实施例中,可以利用各种并行策略来通过深度学习框架实现大规模数据的模型训练。并行策略可以包括数据并行策略(Data Parallel,DP)、流水线并行策略(Pipeline Parallel,PP)、分片数据并行策略(Sharding DP)和模型并行策略(ModelParallel,MP)等等。数据并行策略可以在每个设备上都存储一个初始模型的备份,在各个设备上处理训练样本集的不同部分,从而实现超大规模数据的模型训练。流水线并行策略支持将初始模型的不同网络层放置到不同的设备上,以降低单个设备的显存消耗,从而实现超大规模模型训练。分片数据并行策略在分片并行的基础上再增加一层数据并行逻辑,组间数据并行,组内广播参数,从而降低通信量,减少跨设备数,提高模型的训练速度。模型并行策略将初始模型的某一网络层切成多份分给不同的设备并行计算。由于初始模型的一部分只能在任何单个设备上运行,因此一组设备可以共同为更大的模型服务。此外,并行策略还可以包括动态轴并行策略(Dynamic Axis Parallel,DAP)和序列并行策略(SequenceParallel,SP)等等。
PyTorch框架可以提供分布式初始化以及高层的接口(torch.distributed.xxxAPI)。PyTorch框架还可以提供通信接口(process_group.xxx)。但PyTorch框架不提供混合并行通信组的管理接口。混合并行指的是同时利用多种并行策略来通过深度学习框架实现大规模数据的模型训练。此外,在大部分深度学习框架中,并行策略是定制化的,二次开发性低,无扩展性。例如,在预置了并行策略之后,如果需要新增并行策略,则需要为新增的并行策略完全重新写一套代码。
图1是根据本公开的一个实施例的深度学习框架的方法的流程图。
如图1所示,该方法100可以包括操作S110至操作S140。
在操作S110,根据初始数据,确定与深度学习框架相关的目标策略组合数据。
在本公开实施例中,初始数据可以是用户输入的。
在本公开实施例中,目标策略组合数据可以包括至少一个策略标识数据和至少一个进程标识序列组合数据。例如,策略标识数据可以与一个并行策略对应。在一个示例中,策略标识数据dp可以与数据并行策略对应。策略标识数据pp可以与流水线并行策略对应。策略标识数据mp可以与模型并行策略对应。
在本公开实施例中,进程标识序列组合数据可以包括至少一个进程标识序列数据。进程标识序列数据包括多个进程标识数据。进程标识序列组合数据与一个策略标识数据对应。例如,与策略标识数据pp对应的进程标识序列数据为[[0,2],[1,3],[4,6],[5,7]]。该进程标识序列数据包括的多个进程标识序列数据分别为:进程标识序列数据[0,2]、进程标识序列数据[1,3]、进程标识序列数据[4,6]和进程标识序列数据[5,7]。在一个示例中,进程标识序列数据[0,2]包括进程标识数据0和进程标识数据2。进程标识数据0与一个数据处理进程P0对应。进程标识数据2与另一个数据处理进程P2对应。
在操作S120,根据进程标识序列组合数据,生成与策略标识数据对应的通信组数据。
在本公开实施例中,通信组数据用于指示与多个进程标识数据分别对应的多个数据处理进程之间的通信方式。例如,通信组数据可以包括多个通信数据。通信数据C02指示的通信方式可以为:数据处理进程P0与数据处理进程P2相互通信。由此,数据处理进程P0的处理结果可以传输给数据处理进程P2。数据处理进程P2的处理结果可以传输给数据处理进程P0。
在本公开实施例中,可以基于动态代码生成技术,生成通信组数据。
在操作S130,将与策略标识数据对应的执行数据以及与策略标识数据对应的通信组数据融合,得到目标数据。
在本公开实施例中,执行数据可以指示与多个进程标识数据分别对应的多个数据处理进程分别执行的目标操作。例如,策略标识数据pp对应的执行数据可以指示多个数据处理进程分别执行的累加操作。在一个示例中,若初始值为数值0且预设值为数值1,目标操作为计算输入值与预设值的代数和。将初始值作为数据处理进程P0的输入值。数据处理进程P0执行该目标操作,得到的处理结果为数值1。基于通信数据C02指示的通信方式,数据处理进程P0将处理结果传输至数据处理进程P2,使得数据处理进程P2将数值1作为输入值。数据处理进程P1执行该目标操作,得到的处理结果为数值2。基于通信数据C02指示的通信方式,数据处理进程P1将处理结果传输至数据处理进程P0,使得数据处理进程P0的当前值更新为数值2。
在操作S140,将至少一个目标数据发送至部署有深度学习框架的至少一个设备。
在本公开实施例中,设备可以部署有与进程标识数据对应的数据处理进程。设备可以包括至少一个计算单元。例如,计算单元可以包括图形处理单元(GPU)和中央处理单元(CPU)等等。又例如,计算单元可以部署有一个数据处理进程。在一个示例中,图形处理单元GPU0部署有上述的数据处理进程P0。图形处理单元GPU2部署有上述的数据处理进程P2。
在本公开实施例中,将至少一个目标数据发送至部署有深度学习框架的至少一个设备,使得设备基于目标数据执行相关操作。例如,在接收到目标数据之后,包括8个图形处理单元的设备可以基于上述的通信组数据和执行数据,进行数据传输以及执行目标操作。
通过本公开实施例,根据用户输入的初始数据,生成通信组数据,进而将执行数据与通信组数据融合,得到应用深度学习框架所需的相关目标数据。由此,可以根据用户的需求,将并行策略应用于深度学习框架,降低了用户使用深度学习框架的门槛,提高了用户体验。此外,通信组数据可以根据进程标识序列组合数据生成,使得通信组数据更加适应于相关深度学习框架,有助于提高部署了深度学习框架的相关设备的运行效率。
可以理解,上文对本公开的方法进行了详细说明,下面将结合图2对本公开提供的方法进行进一步详细说明。
图2是根据本公开的另一个实施例的深度学习框架的数据处理方法的流程图。
如图2所示,方法200为本公开提供的深度学习框架的数据处理方法。在获取用户输入的初始数据之后,可以执行上述的操作S110,根据初始数据,确定目标策略组合数据。下面将进行详细说明。
在操作S211,确定初始数据是否包括自定义策略组合数据。
在本公开一实施例中,用户输入的初始数据可以包括用户自定义的策略组合数据。响应于确定初始数据包括自定义策略组合数据,可以执行操作S212。
在操作S212,确定自定义策略组合数据是否符合第一预设规则。
在本公开实施例中,第一预设规则可以是深度学习框架针对策略组合数据的设置的规则。例如,符合第一预设规则的自定义策略组合数据可以包括至少一个策略标识数据和至少一个进程标识序列组合数据。又例如,在自定义策略组合数据中策略标识数据和进程标识序列组合数据都可以是用户自定义的。在一个示例中,用户可以设置策略标识数据mp对应的进程标识序列组合数据为[[0,2,3,1]]。在另一个示例中,用户也可以新建一种并行策略,并确定该新的并行策略的策略标识数据np和进程标识序列组合数据。
在本公开实施例中,响应于确定自定义策略组合数据符合第一预设规则,执行操作S220。
在本公开实施例中,响应于确定自定义策略组合数据不符合第一预设规则,执行操作S250,结束流程。
在操作S220,生成通信组数据。
在本公开实施例中,根据进程标识序列组合数据,可以生成与策略标识数据对应的通信组数据。
例如,根据进程标识序列数据,可以生成通信数据。通信数据可以指示与进程标识序列数据中多个进程标识数据分别对应的多个数据处理进程之间的通信方式。例如,针对策略标识数据mp,根据进程标识序列组合数据中的进程标识序列数据[0,2,3,1],可以生成一个通信数据C0231,该通信数据C0231指示的通信方式可以为:数据处理进程P0、数据处理进程P2、数据处理进程P3以及数据处理进程P1之间相互通信。由此,数据处理进程P0的处理结果可以先传输给数据处理进程P2。数据处理进程P2的处理结果可以再传输给数据处理进程P3。数据处理进程P3的处理结果可以再传输给数据处理进程P1。最后,数据处理进程P1的处理结果依次传输至数据处理进程P3、数据处理进程P2、数据处理进程P0。
例如,根据多个通信数据,可以生成通信组数据。例如,将多个通信数据作为通信组数据。
在本公开实施例中,通信组数据的数量可以与目标策略组合数据中进程标识序列组合数据的数量一致。例如,如上述,目标策略组合数据可以包括与策略标识数据mp和策略标识数据bp对应的进程标识序列组合数据。两个通信组数据中每个通信组数据可以分别对应一个进程标识序列组合数据。
在获得通信组数据之后,可以执行操作S230。
在操作S230,将与策略标识数据对应的执行数据和与策略标识数据对应的通信组数据融合。
例如,将二者融合之后,可以得到一个目标数据。
在本公开实施例中,执行数据包括多个执行子数据,执行子数据与至少一个目标操作对应。
在本公开实施例中,可以将执行子数据与进程标识数据融合,得到目标子数据。例如,目标子数据可以指示与进程标识数据对应的数据处理进程执行的目标操作。又例如,可以将执行子数据赋值给进程标识数据,赋值后的数据作为目标子数据。可以理解,执行子数据与进程标识数据融合是为了使得相关数据处理进程执行相关目标操作。
在本公开实施例中,根据多个目标子数据,得到目标数据。例如,将多个目标子数据作为目标数据。
在获得目标数据之后,可以执行操作S240。
在操作S240,将至少一个目标数据发送至部署有深度学习框架的至少一个设备。
例如,设备可以包括多个计算单元,计算单元可以部署有一个数据处理进程。在一个示例中,图形处理单元GPU0部署有上述的数据处理进程P0。图形处理单元GPU1部署有上述的数据处理进程P1。图形处理单元GPU2部署有上述的数据处理进程P2。图形处理单元GPU3部署有上述的数据处理进程P3。
在本公开实施例中,将至少一个目标数据发送至部署有深度学习框架的至少一个设备,可以使得设备基于目标数据执行相关操作。
可以理解,上文以初始数据包括自定义策略组合数据为示例,对本公开的方法进行了详细说明。但本公开不限于此,初始数据也可以不包括自定义策略组合数据,下面将进行详细说明。
在操作S211,确定初始数据是否包括自定义策略组合数据。
在本公开另一实施例中,用户输入的初始数据还可以不包括用户自定义的策略组合数据。响应于确定初始数据不包括自定义策略组合数据,可以执行操作S213。
在操作S213,确定初始数据是否符合第二预设规则。
在本公开实施例中,第二预设规则可以是针对初始数据设置的规则。例如,符合第二预设规则的初始数据可以包括初始策略数据S1,初始策略数据S1可以实现为一个初始策略数据列表:([(′dp′,None),(′mp′,2),(′bp′,2)],shared_group={′mp′:′bp′})。该初始策略数据列表可以包括二元组数据(′dp′,None)、二元组数据(′mp′,2)和二元组数据(′bp′,2)。
在本公开实施例中,响应于确定初始数据符合第二预设规则,执行操作S214。
在本公开实施例中,响应于确定初始数据不符合第二预设规则,执行操作S250,结束流程。
在操作S214,对初始数据进行解析,得到解析结果。
在本公开实施例中,解析结果可以包括至少一个目标策略标识数据和至少一个目标并行度数据。在一个示例中,对上述的初始策略数据S1进行解析,可以得到策略标识数据bp和策略标识数据mp,分别作为两个目标策略标识数据。策略标识数据bp对应的并行度数据2和策略标识数据mp对应的并行度数据2可以分别作为两个目标并行度数据。
此外,在本公开实施例中,解析结果中还可以包括预设函数。例如,预设函数指示了多个策略标识数据对应同一个进程标识序列组合。在一个示例中,初始策略数据S1的解析结果还可以包括预设函数shared_group={′mp′:′bp′}。该预设函数的自变量数据为{′mp′:′bp′}。接下来,响应于确定解析结果中存在预设函数,可以执行操作S215。
在操作S215,确定与预设函数的自变量数据对应的至少两个目标策略标识数据。
例如,如上述,初始策略数据S1的解析结果中存在预设函数。该预设函数的自变量数据{′mp′:′bp′}与策略标识数据mp和策略标识数据bp对应。接下来,可以执行操作S216。
在操作S216,确定目标策略组合数据。
在本公开实施例中,与预设函数的自变量数据对应的至少两个目标策略标识数据可以分别作为至少两个待处理策略标识数据。例如,自变量数据与两个目标策略标识数据对应,两个目标策略标识数据可以分别作为键数据和值数据。又例如,上述预设函数的自变量数据{′mp′:′bp′}与策略标识数据mp和策略标识数据bp对应,二者可以分别作为两个待处理策略标识数据。此外,对于自变量数据{′mp′:′bp′},策略标识数据mp也可以作为一个键数据,策略标识数据bp也可以作为一个值数据。
在本公开实施例中,根据任一个待处理策略标识数据和与待处理策略标识数据对应的并行度数据,生成初始进程标识序列组合数据,分别作为至少两个待处理策略标识数据的目标进程标识序列组合数据。例如,可以根据作为值数据的策略标识数据bp和其对应的并行度数据2,生成一个进程标识序列组合数据。该进程标识序列组合数据可以为[[0,1],[2,3],[4,5],[6,7]]。该进程标识组合数据可以分别作为策略标识数据mp和策略标识数据bp的目标进程标识序列组合数据。
在本公开实施例中,解析结果还可以包括预设策略标识数据,预设策略标识数据与一个预设并行度数据对应。例如,预设策略标识数据可以为策略标识数据dp。预设策略标识数据可以与数据并行策略对应。策略标识数据dp对应的预设并行度数据例如可以为4。根据该预设策略标识数据和该预设并行度数据,可以生成预设进程标识序列组合数据。该预设进程标识序列组合数据可以为[[0,2,4,6],[1,3,5,7]]。
在本公开实施例中,根据预设策略标识数据、预设进程标识序列组合数据、目标策略标识数据和目标进程标识序列组合数据,可以确定目标策略组合数据。例如,目标策略组合数据可以包括策略标识数据dp、策略标识数据mp和策略标识数据bp。目标策略组合数据还可以包括策略标识数据dp对应的进程标识序列组合数据[[0,2,4,6],[1,3,5,7]]、策略标识数据mp对应的进程标识序列组合数据[[0,1],[2,3],[4,5],[6,7]]和策略标识数据bp对应的进程标识序列组合数据[[0,1],[2,3],[4,5],[6,7]]。接下来,可以执行操作S220。
在操作S220,生成通信组数据。
在本公开实施例中,根据进程标识序列组合数据,可以生成与策略标识数据对应的通信组数据。
例如,根据进程标识序列数据,可以生成通信数据。通信数据可以指示与进程标识序列数据中多个进程标识数据分别对应的多个数据处理进程之间的通信方式。例如,根据策略标识数据mp对应的进程标识序列组合数据中的进程标识序列数据[0,1],可以生成一个通信数据C01,该通信数据C01指示的通信方式可以为:数据处理进程P0与数据处理进程P1相互通信。由此,数据处理进程P0的处理结果可以传输给数据处理进程P1。数据处理进程P1的处理结果可以传输给数据处理进程P0。
例如,根据多个通信数据,可以生成通信组数据。例如,将多个通信数据作为通信组数据。
在本公开实施例中,通信组数据的数量可以与目标策略组合数据中进程标识序列组合数据的数量一致。例如,如上述,目标策略组合数据可以包括分别与策略标识数据dp、策略标识数据mp和策略标识数据bp对应的三个进程标识序列组合数据。通信组数据可以对应一个进程标识序列组合数据。通信组数据的数量也可以为三个。
在获得通信组数据之后,可以执行操作S230。
在操作S230,将与策略标识数据对应的执行数据和与策略标识数据对应的通信组数据融合。
例如,将二者融合之后,可以得到一个目标数据。
在本公开实施例中,执行数据包括多个执行子数据,执行子数据与至少一个目标操作对应。
在本公开实施例中,可以将执行子数据与进程标识数据融合,得到目标子数据。例如,目标子数据可以指示与进程标识数据对应的数据处理进程执行的目标操作。又例如,可以将执行子数据赋值给进程标识数据,赋值后的数据作为目标子数据。可以理解,执行子数据与进程标识数据融合是为了使得相关数据处理进程执行相关目标操作。
在本公开实施例中,根据多个目标子数据,得到目标数据。例如,将多个目标子数据作为目标数据。
在获得目标数据之后,可以执行操作S240。
在操作S240,将至少一个目标数据发送至部署有深度学习框架的至少一个设备。
在本公开实施例中,设备部署有与进程标识数据对应的数据处理进程。设备可以包括至少一个计算单元。例如,计算单元可以包括图形处理单元和中央处理单元等等。又例如,计算单元可以部署有一个数据处理进程。在一个示例中,图形处理单元GPU0部署有上述的数据处理进程P0。图形处理单元GPU1部署有上述的数据处理进程P1。
在本公开实施例中,将至少一个目标数据发送至部署有深度学习框架的至少一个设备,使得设备基于目标数据执行相关操作。例如,在接收到目标数据之后,包括8个图形处理单元的设备可以基于上述的通信组数据和执行数据,进行数据传输以及执行目标操作。
可以理解,上文以解析结果中包括预设函数为示例,对本公开的方法进行了详细说明。但本公开不限于,解析结果中也可以不包括预设函数。下面将结合相关实施例进行详细说明。
在另一些实施例中,在执行上述的操作S213之后,符合第二预设规则的初始数据可以包括初始策略数据S2,初始策略数据S2可以实现为一个初始策略数据列表:[(′dp′,None),(′pp′,2),(′mp′,2)]。该初始策略数据列表可以包括二元组数据(′dp′,None)、二元组数据(′pp′,2)和二元组数据(′mp′,2)。
例如,对上述的初始策略数据S2进行解析,可以得到策略标识数据pp和策略标识数据mp,分别作为两个目标策略标识数据。策略标识数据pp对应的并行度数据2和策略标识数据mp对应的并行度数据2可以分别作为两个目标并行度数据。与初始策略数据S1的解析结果不同之处在于,初始策略数据S2的解析结果中不存在预设函数。可以直接执行上述的操作S216。
在上述操作S216的另一些实施方式中,可以根据目标策略标识数据和目标并行度数据,可以确定目标策略组合数据。
在本公开实施例中,解析结果还可以包括预设策略标识数据,预设策略标识数据与一个预设并行度数据对应。例如,预设策略标识数据可以为策略标识数据dp。预设策略标识数据可以与数据并行策略对应。与上述实施例不同,策略标识数据dp对应的预设并行度数据例如可以为2。根据该预设策略标识数据和该预设并行度数据,可以生成预设进程标识序列组合数据。该预设进程标识序列组合数据可以为[[0,4],[1,5],[2,6],[3,7]]。在一个示例中,上述的二元组数据(′dp′,None)包括预设策略标识数据dp及其并行度数据None,可以作为一个第二二元组数据。可以理解,在生成预设进程标识序列组合数据时,第二二元组数据中的并行度数据为None,可以使用预设并行度数据。
在本公开实施例中,根据目标策略标识数据和目标并行度数据,可以生成目标标识序列组合数据。例如,根据策略标识数据pp和其对应的并行度数据2,可以生成一个进程标识序列组合数据。该进程标识序列组合数据可以为[[0,2],[1,3],[4,6],[5,7]]。又例如,根据策略标识数据mp和其对应的并行度数据2,可以生成一个进程标识序列组合数据。该进程标识序列组合数据可以为[[0,1],[2,3],[4,5],[6,7]]。在一个示例中,上述的二元组数据(′pp′,2)包括目标策略标识数据pp及其目标并行度数据,可以作为一个第一二元组数据。上述的二元组数据(′mp′,2)包括目标策略标识数据pp及其目标并行度数据,可以作为一个第一二元组数据。
在本公开实施例中,根据预设策略标识数据、预设进程标识序列组合数据、目标策略标识数据和目标进程标识序列组合数据,可以确定目标策略组合数据。例如,目标策略组合数据可以包括策略标识数据dp、策略标识数据pp和策略标识数据mp。目标策略组合数据还可以包括策略标识数据dp对应的进程标识序列组合数据[[0,4],[1,5],[2,6],[3,7]]、策略标识数据pp对应的进程标识序列组合数据[[0,2],[1,3],[4,6],[5,7]]和策略标识数据mp对应的进程标识序列组合数据[[0,1],[2,3],[4,5],[6,7]]。
可以理解,上文以初始策略数据列表中包括第二二元组数据为示例,进行了详细说明。但本公开不限于此,初始策略数据列表中也可以包括多个第一二元组数据,下面将进行详细说明。
在执行上述的操作S214之后,符合第二预设规则的初始数据可以包括初始策略数据S2’,初始策略数据S2’可以实现为一个初始策略数据列表:[(′pp′,2),(′mp′,2)]。该初始策略数据列表可以包括二元组数据(′pp′,2)和二元组数据(′mp′,2)。这两个二元组数据可以分别作为第一二元组数据。
通过本公开实施例,初始数据中可以包括自定义策略组合数据,也可以不包括自定义策略组合数据。初始数据也可以为各种形式。例如,初始数据的解析结果可以包括预设函数,也可以不包括预设函数。由此,利用本公开提供的方法,可以使得深度学习框架快速地兼容各种并行策略以及各种混合并行策略,高效地提升了深度学习框架的易用性,便于用户对并行策略进行二次开发,提高了用户体验,提升了深度学习框架产品的竞争力。
可以理解,上文对深度学习框架的数据处理方法进行了详细说明。下面将结合相关实施例对部署有数据处理进程的设备进行详细描述。
图3是根据本公开的一个实施例的部署有深度学习框架的设备的示意图。
如图3所示,设备300上部署有数据处理进程P0、数据处理进程P1、数据处理进程P2、数据处理进程P3、数据处理进程P4、数据处理进程P5、数据处理进程P6和数据处理进程P7。例如,设备300可以包括多个图形处理单元。每个数据处理进程可以部署于一个图形处理单元。
例如,如上述,策略标识数据mp可以与进程标识序列组合数据[[0,1],[2,3],[4,5],[6,7]]对应。根据该进程标识序列组合数据生成的通信组数据可以包括通信数据C01、通信数据C23、通信数据C45和通信数据C67。
该通信数据C01指示的通信方式可以为:数据处理进程P0与数据处理进程P1相互通信。由此,数据处理进程P0的处理结果可以传输给数据处理进程P1。数据处理进程P1的处理结果可以传输给数据处理进程P0。
该通信数据C23指示的通信方式可以为:数据处理进程P2与数据处理进程P3相互通信。由此,数据处理进程P2的处理结果可以传输给数据处理进程P3。数据处理进程P3的处理结果可以传输给数据处理进程P2。
该通信数据C45指示的通信方式可以为:数据处理进程P4与数据处理进程P5相互通信。由此,数据处理进程P4的处理结果可以传输给数据处理进程P5。数据处理进程P5的处理结果可以传输给数据处理进程P4。
该通信数据C67指示的通信方式可以为:数据处理进程P6与数据处理进程P7相互通信。由此,数据处理进程P6的处理结果可以传输给数据处理进程P7。数据处理进程P6的处理结果可以传输给数据处理进程P7。
可以理解,部署了深度学习框架的设备可以被称为分布式设备。
图4是根据本公开的一个实施例的深度学习框架的数据处理装置的框图。
如图4所示,该装置400可以包括确定模块410、生成模块420、融合模块430和发送模块440。
确定模块410,用于根据初始数据,确定与深度学习框架相关的目标策略组合数据。例如,目标策略组合数据包括至少一个策略标识数据和至少一个进程标识序列组合数据,进程标识序列组合数据包括至少一个进程标识序列数据,进程标识序列数据包括多个进程标识数据,进程标识序列组合数据与一个策略标识数据对应。
生成模块420,用于根据进程标识序列组合数据,生成与策略标识数据对应的通信组数据。例如,通信组数据用于指示与多个进程标识数据分别对应的多个数据处理进程之间的通信方式。
融合模块430,用于将与策略标识数据对应的执行数据以及与策略标识数据对应的通信组数据融合,得到目标数据。
发送模块440,用于将至少一个目标数据发送至部署有深度学习框架的至少一个设备。例如,设备部署有与进程标识数据对应的数据处理进程。
在一些实施例中,确定模块包括:第一确定子模块,用于响应于确定初始数据中包括自定义策略组合数据,将自定义策略组合数据确定为目标策略组合数据。
在一些实施例中,第一确定子模块还用于:响应于确定自定义策略组合数据符合第一预设规则,将自定义策略组合数据确定为目标策略组合数据。
在一些实施例中,确定模块还包括:解析子模块,用于响应于确定初始数据中不包括自定义策略组合数据,对初始数据进行解析,得到解析结果,其中,解析结果包括至少一个目标策略标识数据和至少一个目标并行度数据;第二确定子模块,用于根据至少一个目标策略标识数据和至少一个目标并行度数据,确定目标策略组合数据。
在一些实施例中,第二确定子模块包括:第一确定单元,用于响应于确定解析结果中存在预设函数,确定与预设函数的自变量数据对应的至少两个目标策略标识数据,分别作为待处理策略标识数据;第一生成单元,用于根据任一个待处理策略标识数据和与待处理策略标识数据对应的并行度数据,生成初始进程标识序列组合数据,分别作为至少两个待处理策略标识数据的目标进程标识序列组合数据;以及第二确定单元,用于根据至少两个目标进程标识序列组合数据,确定目标策略组合数据。
在一些实施例中,自变量数据与两个目标策略标识数据对应,两个目标策略标识数据分别作为键数据和值数据。
在一些实施例中,解析子模块还用于:响应于初始数据符合第二预设规则,对初始数据进行解析。
在一些实施例中,解析结果还包括预设策略标识数据,预设策略标识数据与一个预设并行度数据对应,第二确定子模块包括:第二生成单元,用于根据预设策略标识数据和预设并行度数据,生成预设进程标识序列组合数据;第三生成单元,用于根据目标策略标识数据和目标并行度数据,生成目标进程标识序列组合数据;以及第三确定单元,用于根据预设策略标识数据、预设进程标识序列组合数据、目标策略标识数据和目标进程标识序列组合数据,确定目标策略组合数据。
在一些实施例中,初始数据包括初始策略数据列表,初始策略数据列表包括至少一个第一二元组数据和至少一个第二二元组数据,第一二元组数据包括目标策略标识数据和与目标策略标识数据对应的目标并行度数据,第二二元组数据包括预设策略标识数据和预设策略标识数据的并行度数据。
在一些实施例中,生成模块包括:第一生成子模块,用于根据进程标识序列数据,生成通信数据,其中,通信数据用于指示与进程标识序列数据中多个进程标识数据分别对应的多个数据处理进程之间的通信方式;以及第二生成子模块,用于根据至少一个通信数据,生成通信组数据。
在一些实施例中,执行数据包括多个执行子数据,执行子数据与至少一个目标操作对应,融合模块包括:融合子模块,用于将执行子数据与进程标识数据融合,得到目标子数据,其中,目标子数据用于指示与进程标识数据对应的数据处理进程执行的目标操作;以及获得子模块,用于根据多个目标子数据,得到目标数据。
在一些实施例中,策略标识数据与并行策略对应,并行策略包括数据并行策略、流水线并行策略、分片数据并行策略、模型并行策略、动态轴并行策略、序列并行策略中的至少一个。
在一些实施例中,所述设备包括至少一个计算单元,所述数据处理进程部署于所述计算单元,所述计算单元包括图形处理单元和中央处理单元中的至少一个。
本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
在本公开实施例中,电子设备可以包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行根据本公开提供的方法。
在本公开实施例中,非瞬时计算机可读存储介质上存储有计算机指令,该计算机指令用于使计算机执行根据本公开提供的方法。
在本公开实施例中,计算机程序产品可以包括计算机程序,计算机程序在被处理器执行时实现根据本公开提供的方法。
图5示出了可以用来实施本公开的实施例的示例电子设备500的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图5所示,电子设备500包括计算单元501,其可以根据存储在只读存储器(ROM)502中的计算机程序或者从存储单元508加载到随机访问存储器(RAM)503中的计算机程序,来执行各种适当的动作和处理。在RAM 503中,还可存储电子设备500操作所需的各种程序和数据。计算单元501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。可以理解,电子设备500可以为部署了上述深度学习框架的设备,也可以为未部署深度学习框架的设备,本公开对此不进行限制。
电子设备500中的多个部件连接至I/O接口505,包括:输入单元506,例如键盘、鼠标等;输出单元507,例如各种类型的显示器、扬声器等;存储单元508,例如磁盘、光盘等;以及通信单元509,例如网卡、调制解调器、无线通信收发机等。通信单元509允许电子设备500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元501可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元501的一些示例包括但不限于中央处理单元、图形处理单元、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元501执行上文所描述的各个方法和处理,例如深度学习框架的数据处理方法。例如,在一些实施例中,深度学习框架的数据处理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元508。在一些实施例中,计算机程序的部分或者全部可以经由ROM 502和/或通信单元509而被载入和/或安装到电子设备500上。当计算机程序加载到RAM 503并由计算单元501执行时,可以执行上文描述的深度学习框架的数据处理方法的一个或多个步骤。备选地,在其他实施例中,计算单元501可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行深度学习框架的数据处理方法。
本文中以上描述的***和技术的各种实施方式可以在数字电子电路***、集成电路***、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上***的***(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程***上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储***、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储***、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的***和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)显示器或者LCD(液晶显示器));以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (28)
1.一种深度学习框架的数据处理方法,包括:
根据初始数据,确定与深度学习框架相关的目标策略组合数据,其中,所述目标策略组合数据包括至少一个策略标识数据和至少一个进程标识序列组合数据,所述进程标识序列组合数据包括至少一个进程标识序列数据,所述进程标识序列数据包括多个进程标识数据,所述进程标识序列组合数据与一个所述策略标识数据对应;
根据所述进程标识序列组合数据,生成与所述策略标识数据对应的通信组数据,其中,所述通信组数据用于指示与多个所述进程标识数据分别对应的多个数据处理进程之间的通信方式;
将与所述策略标识数据对应的执行数据以及与所述策略标识数据对应的所述通信组数据融合,得到目标数据;以及
将至少一个所述目标数据发送至部署有所述深度学习框架的至少一个设备,其中,所述设备部署有与所述进程标识数据对应的所述数据处理进程。
2.根据权利要求1所述的方法,其中,所述根据初始数据,确定与深度学习框架相关的目标策略组合数据包括:
响应于确定所述初始数据中包括自定义策略组合数据,将所述自定义策略组合数据确定为所述目标策略组合数据。
3.根据权利要求2所述的方法,其中,所述将所述自定义策略组合数据确定为所述目标策略组合数据包括:
响应于确定所述自定义策略组合数据符合第一预设规则,将所述自定义策略组合数据确定为所述目标策略组合数据。
4.根据权利要求2所述的方法,其中,所述根据初始数据,确定与深度学习框架相关的目标策略组合数据包括:
响应于确定所述初始数据中不包括自定义策略组合数据,对所述初始数据进行解析,得到解析结果,其中,所述解析结果包括至少一个目标策略标识数据和至少一个目标并行度数据;
根据至少一个所述目标策略标识数据和至少一个目标并行度数据,确定所述目标策略组合数据。
5.根据权利要求4所述的方法,其中,所述根据至少一个所述目标策略标识数据和至少一个目标并行度数据,确定所述目标策略组合数据包括:
响应于确定所述解析结果中存在预设函数,确定与所述预设函数的自变量数据对应的至少两个所述目标策略标识数据,分别作为待处理策略标识数据;
根据任一个所述待处理策略标识数据和与所述待处理策略标识数据对应的并行度数据,生成初始进程标识序列组合数据,分别作为至少两个所述待处理策略标识数据的目标进程标识序列组合数据;以及
根据至少两个所述目标进程标识序列组合数据,确定所述目标策略组合数据。
6.根据权利要求5所述的方法,其中,所述自变量数据与两个所述目标策略标识数据对应,两个所述目标策略标识数据分别作为键数据和值数据。
7.根据权利要求4所述的方法,其中,所述对所述初始数据进行解析包括:
响应于所述初始数据符合第二预设规则,对所述初始数据进行解析。
8.根据权利要求4所述的方法,其中,所述解析结果还包括预设策略标识数据,所述预设策略标识数据与一个预设并行度数据对应,
所述根据至少一个所述目标策略标识数据和至少一个目标并行度数据,确定所述目标策略组合数据包括:
根据所述预设策略标识数据和所述预设并行度数据,生成预设进程标识序列组合数据;
根据所述目标策略标识数据和所述目标并行度数据,生成目标进程标识序列组合数据;以及
根据所述预设策略标识数据、所述预设进程标识序列组合数据、所述目标策略标识数据和所述目标进程标识序列组合数据,确定所述目标策略组合数据。
9.根据权利要求8所述的方法,其中,所述初始数据包括初始策略数据列表,所述初始策略数据列表包括至少一个第一二元组数据和至少一个第二二元组数据,所述第一二元组数据包括所述目标策略标识数据和与所述目标策略标识数据对应的目标并行度数据,所述第二二元组数据包括所述预设策略标识数据和所述预设策略标识数据的并行度数据。
10.根据权利要求1所述的方法,其中,所述根据所述进程标识序列组合数据,生成与所述策略标识数据对应的通信组数据包括:
根据所述进程标识序列数据,生成通信数据,其中,所述通信数据用于指示与所述进程标识序列数据中多个所述进程标识数据分别对应的多个数据处理进程之间的通信方式;以及
根据至少一个所述通信数据,生成所述通信组数据。
11.根据权利要求1所述的方法,其中,所述执行数据包括多个执行子数据,所述执行子数据与至少一个目标操作对应,
所述将与所述策略标识数据对应的执行数据以及与所述策略标识数据对应的所述通信组数据融合,得到目标数据包括:
将所述执行子数据与所述进程标识数据融合,得到目标子数据,其中,所述目标子数据用于指示与所述进程标识数据对应的所述数据处理进程执行的所述目标操作;以及
根据多个所述目标子数据,得到所述目标数据。
12.根据权利要求1所述的方法,其中,所述策略标识数据与并行策略对应,所述并行策略包括数据并行策略、流水线并行策略、分片数据并行策略、模型并行策略、动态轴并行策略、序列并行策略中的至少一个。
13.根据权利要求1所述的方法,其中,所述设备包括至少一个计算单元,所述数据处理进程部署于所述计算单元,所述计算单元包括图形处理单元和中央处理单元中的至少一个。
14.一种深度学习框架的数据处理装置,包括:
确定模块,用于根据初始数据,确定与深度学习框架相关的目标策略组合数据,其中,所述目标策略组合数据包括至少一个策略标识数据和至少一个进程标识序列组合数据,所述进程标识序列组合数据包括至少一个进程标识序列数据,所述进程标识序列数据包括多个进程标识数据,所述进程标识序列组合数据与一个所述策略标识数据对应;
生成模块,用于根据所述进程标识序列组合数据,生成与所述策略标识数据对应的通信组数据,其中,所述通信组数据用于指示与多个所述进程标识数据分别对应的多个数据处理进程之间的通信方式;
融合模块,用于将与所述策略标识数据对应的执行数据以及与所述策略标识数据对应的所述通信组数据融合,得到目标数据;以及
发送模块,用于将至少一个所述目标数据发送至部署有所述深度学习框架的至少一个设备,其中,所述设备部署有与所述进程标识数据对应的所述数据处理进程。
15.根据权利要求14所述的装置,其中,所述确定模块包括:
第一确定子模块,用于响应于确定所述初始数据中包括自定义策略组合数据,将所述自定义策略组合数据确定为所述目标策略组合数据。
16.根据权利要求15所述的装置,其中,所述第一确定子模块还用于:
响应于确定所述自定义策略组合数据符合第一预设规则,将所述自定义策略组合数据确定为所述目标策略组合数据。
17.根据权利要求15所述的装置,其中,所述确定模块还包括:
解析子模块,用于响应于确定所述初始数据中不包括自定义策略组合数据,对所述初始数据进行解析,得到解析结果,其中,所述解析结果包括至少一个目标策略标识数据和至少一个目标并行度数据;
第二确定子模块,用于根据至少一个所述目标策略标识数据和至少一个目标并行度数据,确定所述目标策略组合数据。
18.根据权利要求17所述的装置,其中,所述第二确定子模块包括:
第一确定单元,用于响应于确定所述解析结果中存在预设函数,确定与所述预设函数的自变量数据对应的至少两个所述目标策略标识数据,分别作为待处理策略标识数据;
第一生成单元,用于根据任一个所述待处理策略标识数据和与所述待处理策略标识数据对应的并行度数据,生成初始进程标识序列组合数据,分别作为至少两个所述待处理策略标识数据的目标进程标识序列组合数据;以及
第二确定单元,用于根据至少两个所述目标进程标识序列组合数据,确定所述目标策略组合数据。
19.根据权利要求18所述的装置,其中,所述自变量数据与两个所述目标策略标识数据对应,两个所述目标策略标识数据分别作为键数据和值数据。
20.根据权利要求17所述的装置,其中,所述解析子模块还用于:
响应于所述初始数据符合第二预设规则,对所述初始数据进行解析。
21.根据权利要求17所述的装置,其中,所述解析结果还包括预设策略标识数据,所述预设策略标识数据与一个预设并行度数据对应,
所述第二确定子模块包括:
第二生成单元,用于根据所述预设策略标识数据和所述预设并行度数据,生成预设进程标识序列组合数据;
第三生成单元,用于根据所述目标策略标识数据和所述目标并行度数据,生成目标进程标识序列组合数据;以及
第三确定单元,用于根据所述预设策略标识数据、所述预设进程标识序列组合数据、所述目标策略标识数据和所述目标进程标识序列组合数据,确定所述目标策略组合数据。
22.根据权利要求21所述的装置,其中,所述初始数据包括初始策略数据列表,所述初始策略数据列表包括至少一个第一二元组数据和至少一个第二二元组数据,所述第一二元组数据包括所述目标策略标识数据和与所述目标策略标识数据对应的目标并行度数据,所述第二二元组数据包括所述预设策略标识数据和所述预设策略标识数据的并行度数据。
23.根据权利要求14所述的装置,其中,所述生成模块包括:
第一生成子模块,用于根据所述进程标识序列数据,生成通信数据,其中,所述通信数据用于指示与所述进程标识序列数据中多个所述进程标识数据分别对应的多个数据处理进程之间的通信方式;以及
第二生成子模块,用于根据至少一个所述通信数据,生成所述通信组数据。
24.根据权利要求14所述的装置,其中,所述执行数据包括多个执行子数据,所述执行子数据与至少一个目标操作对应,
所述融合模块包括:
融合子模块,用于将所述执行子数据与所述进程标识数据融合,得到目标子数据,其中,所述目标子数据用于指示与所述进程标识数据对应的所述数据处理进程执行的所述目标操作;以及
获得子模块,用于根据多个所述目标子数据,得到所述目标数据。
25.根据权利要求14所述的装置,其中,所述策略标识数据与并行策略对应,所述并行策略包括数据并行策略、流水线并行策略、分片数据并行策略、模型并行策略、动态轴并行策略、序列并行策略中的至少一个。
26.根据权利要求14所述的装置,其中,所述设备包括至少一个计算单元,所述数据处理进程部署于所述计算单元,所述计算单元包括图形处理单元和中央处理单元中的至少一个。
27.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1至13中任一项所述的方法。
28.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1至13中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211290213.3A CN115600671B (zh) | 2022-10-20 | 2022-10-20 | 深度学习框架的数据处理方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211290213.3A CN115600671B (zh) | 2022-10-20 | 2022-10-20 | 深度学习框架的数据处理方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115600671A CN115600671A (zh) | 2023-01-13 |
CN115600671B true CN115600671B (zh) | 2023-06-20 |
Family
ID=84848277
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211290213.3A Active CN115600671B (zh) | 2022-10-20 | 2022-10-20 | 深度学习框架的数据处理方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115600671B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010244180A (ja) * | 2009-04-02 | 2010-10-28 | Nec Corp | プロセス間通信管理システム、プロセス間通信管理方法、プロセス間通信通信管理プログラム |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102217315B (zh) * | 2008-11-12 | 2016-03-09 | 汤姆森特许公司 | 用于画面组的并行多线程视频编码的i帧去闪烁 |
US8893215B2 (en) * | 2010-10-29 | 2014-11-18 | Nokia Corporation | Method and apparatus for providing distributed policy management |
CN114880133A (zh) * | 2017-08-31 | 2022-08-09 | 华为技术有限公司 | 分布式计算***,分布式计算***中数据传输方法和装置 |
US10846594B2 (en) * | 2019-01-17 | 2020-11-24 | Capital One Services, Llc | Systems providing a learning controller utilizing indexed memory and methods thereto |
US11030484B2 (en) * | 2019-03-22 | 2021-06-08 | Capital One Services, Llc | System and method for efficient generation of machine-learning models |
US11593642B2 (en) * | 2019-09-30 | 2023-02-28 | International Business Machines Corporation | Combined data pre-process and architecture search for deep learning models |
US11640528B2 (en) * | 2019-10-22 | 2023-05-02 | Baidu Usa Llc | Method, electronic device and computer readable medium for information processing for accelerating neural network training |
KR20210115863A (ko) * | 2020-03-16 | 2021-09-27 | 삼성전자주식회사 | 뉴럴 네트워크 모델을 위한 병렬 처리 방법 및 장치 |
CN113961351B (zh) * | 2021-10-28 | 2022-12-30 | 北京百度网讯科技有限公司 | 深度学习模型的分布式训练方法、装置、设备及存储介质 |
-
2022
- 2022-10-20 CN CN202211290213.3A patent/CN115600671B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010244180A (ja) * | 2009-04-02 | 2010-10-28 | Nec Corp | プロセス間通信管理システム、プロセス間通信管理方法、プロセス間通信通信管理プログラム |
Also Published As
Publication number | Publication date |
---|---|
CN115600671A (zh) | 2023-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115759232B (zh) | 深度学习框架的多任务并行处理方法、装置、设备和介质 | |
CN113139660A (zh) | 模型推理方法、装置、电子设备及存储介质 | |
CN114202027A (zh) | 执行配置信息的生成方法、模型训练方法和装置 | |
CN114841315A (zh) | 混合专家模型实现方法、***、电子设备及存储介质 | |
CN115344753A (zh) | 联邦图计算方法、联邦图计算配置方法、装置及电子设备 | |
CN117454817B (zh) | 一种基于fpga的工程处理方法、装置、电子设备及存储介质 | |
CN114819084A (zh) | 模型推理方法、装置、设备及存储介质 | |
CN115600671B (zh) | 深度学习框架的数据处理方法、装置、设备和存储介质 | |
CN114995719B (zh) | 列表渲染方法、装置、设备以及存储介质 | |
CN114579311B (zh) | 执行分布式计算任务的方法、装置、设备以及存储介质 | |
CN113344214B (zh) | 数据处理模型的训练方法、装置、电子设备及存储介质 | |
CN114915516A (zh) | 一种通信方法及装置 | |
CN114091909A (zh) | 一种协同开发的方法、***、装置及电子设备 | |
CN114139605A (zh) | 分布式的模型训练方法、***、设备以及存储介质 | |
CN112966607A (zh) | 模型训练方法、人脸视频生成方法、装置、设备和介质 | |
CN114202947B (zh) | 车联网数据传输方法、装置及自动驾驶车辆 | |
CN114398130B (zh) | 页面展示方法、装置、设备和存储介质 | |
CN113963433B (zh) | 运动搜索方法、装置、电子设备及存储介质 | |
CN116560847B (zh) | 任务处理方法、装置、电子设备以及存储介质 | |
CN113704076B (zh) | 任务优化方法、装置、电子设备和计算机可读介质 | |
CN115378991B (zh) | 消息的处理方法、装置、设备及计算机存储介质 | |
CN116541834A (zh) | 恶意模型切片溯源方法和恶意模型切片传播路径溯源方法 | |
CN116541836A (zh) | 恶意模型溯源的方法、装置、设备以及存储介质 | |
CN116016484A (zh) | 数据传输方法、装置、设备和存储介质 | |
CN118332157A (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 |