CN114860412A - 任务处理方法、装置、电子设备和介质 - Google Patents
任务处理方法、装置、电子设备和介质 Download PDFInfo
- Publication number
- CN114860412A CN114860412A CN202210559702.8A CN202210559702A CN114860412A CN 114860412 A CN114860412 A CN 114860412A CN 202210559702 A CN202210559702 A CN 202210559702A CN 114860412 A CN114860412 A CN 114860412A
- Authority
- CN
- China
- Prior art keywords
- computing device
- result
- task
- additional
- network layer
- 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title abstract description 24
- 238000012545 processing Methods 0.000 claims abstract description 39
- 230000004044 response Effects 0.000 claims abstract description 31
- 238000000034 method Methods 0.000 claims description 46
- 238000013136 deep learning model Methods 0.000 claims description 42
- 238000004590 computer program Methods 0.000 claims description 14
- 238000006243 chemical reaction Methods 0.000 claims description 5
- 238000013473 artificial intelligence Methods 0.000 abstract description 3
- 238000013135 deep learning Methods 0.000 abstract description 2
- 238000004364 calculation method Methods 0.000 description 47
- 238000012549 training Methods 0.000 description 29
- 238000010586 diagram Methods 0.000 description 19
- 230000008569 process Effects 0.000 description 18
- 238000004891 communication Methods 0.000 description 13
- 239000002699 waste material Substances 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 230000036961 partial effect Effects 0.000 description 7
- 230000000670 limiting effect 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
- 230000006872 improvement Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 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
- 238000011144 upstream manufacturing Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Feedback Control In General (AREA)
Abstract
本公开提供了一种任务处理方法、装置、设备、介质和产品,涉及人工智能领域,具体为深度学习技术领域。任务处理方法包括:控制第一计算设备执行第一主任务以生成第一结果;响应于确定第二计算设备要基于第一结果执行第二主任务,确定第二计算设备的目标状态;响应于确定第一计算设备正在执行第一主任务并且目标状态为空闲状态,控制第二计算设备执行附加任务;响应于确定第一计算设备已生成第一结果,控制第二计算设备停止执行附加任务;控制第二计算设备基于第一结果执行第二主任务。
Description
技术领域
本公开涉及人工智能领域,具体为深度学习技术领域,更具体地,涉及一种任务处理方法、装置、电子设备、介质和程序产品。
背景技术
在一些场景下,需要通过计算设备处理任务,由于计算设备负载不均衡,导致任务处理效率低、浪费计算资源。因此,提高任务的处理效率、降低计算资源的耗费率至关重要。
发明内容
本公开提供了一种任务处理方法、装置、电子设备、存储介质以及程序产品。
根据本公开的一方面,提供了一种任务处理方法,包括:控制第一计算设备执行第一主任务以生成第一结果;响应于确定第二计算设备要基于所述第一结果执行第二主任务,确定所述第二计算设备的目标状态;响应于确定所述第一计算设备正在执行所述第一主任务并且所述目标状态为空闲状态,控制所述第二计算设备执行附加任务;响应于确定所述第一计算设备已生成所述第一结果,控制所述第二计算设备停止执行所述附加任务;控制所述第二计算设备基于所述第一结果执行所述第二主任务。
根据本公开的另一方面,提供了一种任务处理装置,包括:第一控制模块、确定模块、第二控制模块、第三控制模块以及第四控制模块。第一控制模块,用于控制第一计算设备执行第一主任务以生成第一结果;确定模块,用于响应于确定第二计算设备要基于所述第一结果执行第二主任务,确定所述第二计算设备的目标状态;第二控制模块,用于响应于确定所述第一计算设备正在执行所述第一主任务并且所述目标状态为空闲状态,控制所述第二计算设备执行附加任务;第三控制模块,用于响应于确定所述第一计算设备已生成所述第一结果,控制所述第二计算设备停止执行所述附加任务;第四控制模块,用于控制所述第二计算设备基于所述第一结果执行所述第二主任务。
根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器和与所述至少一个处理器通信连接的存储器。其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的任务处理方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行上述的任务处理方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现上述任务处理方法的步骤。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1示意性示出了一实施例的任务处理的示意图;
图2示意性示出了另一实施例的任务处理的示意图;
图3示意性示出了另一实施例的任务处理的示意图;
图4示意性示出了另一实施例的任务处理的示意图;
图5示意性示出了根据本公开一实施例的任务处理方法的流程图;
图6示意性示出了根据本公开一实施例的任务处理方法的原理图;
图7示意性示出了根据本公开一实施例的任务处理方法的示意图;
图8示意性示出了根据本公开一实施例的任务处理装置的框图;以及
图9是用来实现本公开实施例的用于执行任务处理的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
在进行任务处理时,需要通过多个计算设备来执行任务,任务包括多类型的任务,例如包括深度学习模型的训练任务、大数据挖掘任务、智能搜索任务等等。
本公开以深度学习模型的训练任务为例。随着深度学习模型的模型参数日益增长,单个计算设备通常难以存储深度学习模型的所有模型参数,因此,可以通过张量并行、流水并行(pipeline parallelism)等并行策略,通过切分模型参数的方式,把模型参数划分为多个部分并分别部署在多个计算设备上,通过多个计算设备基于模型参数进行模型训练。
深度学习模型的训练过程存在前向计算和后向计算的概念,后向计算通常需要在前向计算完成之后才能进行。后向计算对前向计算的依赖关系导致在流水并行处理中存在一些计算设备空闲的问题,在一定程度上导致了计算资源的浪费。
在一些情况下,可以通过精细编排调度的方式,在不破坏依赖关系的前提下,最大限度地提高计算设备的利用率,但该方式在理论上或多或少存在一些限制。考虑到规模较大的深度学习模型的训练是一个渐进的过程,包括不断调整超参数的设置、改变样本批量(batch size)的大小等,所以各个训练的阶段对计算设备的利用率也不尽相同,因此提升模型训练的效率和提高计算设备的利用率至关重要。
为了便于理解,以下图1-图4以任务包括深度学习模型的训练任务为例进行说明。
图1示意性示出了一实施例的任务处理的示意图。
如图1所示,在训练深度学习模型时,通常需要在前向计算完成之后才开始进行后向计算,后向计算对前向计算的依赖关系通常会导致在流水并行中存在计算设备闲置(气泡)的问题。
例如,可以通过计算设备1~计算设备4来训练深度学习模型。深度学习模型例如包括多个网络层。可以将多个网络层划分为多个部分,例如划分为4个部分,由计算设备1~计算设备4分别针对4个部分进行训练。
例如,任务F11~F14、F21~F24、F31~F34、F41~F44为前向计算涉及的任务。任务B11~B14、B21~B24、B31~B34、B41~B44为后向计算涉及的任务。
针对前向计算:
计算设备1训练第一部分网络层,计算设备2训练第二部分网络层。计算设备1通过执行任务F11~F14来实现训练第一部分网络层,任务F11~F14例如分别为基于4批样本数据进行训练。例如任务F11基于一批样本数据进行训练,任务F12基于另一批样本数据进行训练等等。任务F11~F14之间不存在依赖关系。
计算设备2可以通过执行任务F21~F24来实现训练第二部分网络层。其中,任务F21需要依赖任务F11的执行结果、任务F22需要依赖任务F12的执行结果等等。
计算设备3可以通过执行任务F31~F34来实现训练第三部分网络层。其中,任务F31需要依赖任务F21的执行结果。
针对后向计算:
后向计算涉及的任务B41~B44需要依赖前向计算涉及的任务F41~F44的执行结果。同时,后向计算中不同部分的网络层之间也存在依赖关系,该依赖关系与前向计算的依赖关系是反向的。例如,计算设备3在后向计算过程中通过执行任务B34实现训练第三部分网络层时,需要依赖针对第四部分网络层的任务B44的执行结果。
在前向计算和后向计算均执行完毕之后,可以进行模型参数的更新计算,更新计算可以由多个计算设备同时进行。
由图1可知,该方式存在计算资源长时间空闲的问题。例如,计算设备1从t4~t10时刻处于空闲状态,计算设备2从t5~t9时刻处于空闲状态,导致计算资源的浪费。
另外,图1示出的方式通常需要在前向计算涉及的所有任务均执行完毕之后,再进行后向计算涉及的所有任务。但是,在一些情况下,执行前向计算的多个任务可以得到多个结果,多个结果例如包括任务F41的执行结果、任务F42的执行结果、任务F43的执行结果、任务F44的执行结果。后向计算的一些任务可能仅依赖前向计算的一部分结果,例如任务B41可以仅依赖任务F41的执行结果,因此将任务F41的执行结果保存至任务F42~F44、B42~B44执行完毕后再删除,将导致任务F41的执行结果保存时间过长而浪费存储空间。
在图1实施例的基础上,参考图2~4来阐述另一些任务处理方式。
图2示意性示出了另一实施例的任务处理的示意图。
如图2所示,任务B41~B44之间没有依赖关系,B41依赖任务F41的执行结果。因此,在得到任务F41的执行结果之后,可以基于任务F41的执行结果立刻执行任务B41。执行完任务B41之后,可以释放或删除任务F41的执行结果,无需长时间保留任务F41的执行结果,避免了执行结果保存时间过长而浪费存储空间的问题。
该方式避免了存储空间累积,降低了峰值显存,但没有提高计算设备的利用率,即计算设备长时间处于空闲状态。
图3示意性示出了另一实施例的任务处理的示意图。
如图3所示,将任务进行细粒度切分,每个任务执行的时间缩短。每个计算设备每次可以进行少量计算,并进行多轮计算。
例如,以深度学习模型包括24个网络层为例,上述图1和图2所示的方式可以将24个网络层划分为4个部分,每部分包括6个网络层,每个计算设备计算一个部分。图3示出的细粒度的切分方式可以将24层划分为8个部分,在进行第一轮计算时,4个计算设备分别计算1-4个部分,在进行第二轮计算时,4个计算设备分别计算5-8部分,第一轮的计算和第二轮的计算可以存在时间重合。由此,计算每个任务所需的时间减少了,从而减少了计算设备的闲置时长。
但是,细粒度切分方式需要进行多轮计算,多轮计算增加了通信的次数。例如第一轮计算完成之后,需要通知计算设备进行第二轮计算,通知计算设备增加了通信次数。另外,在第二轮计算需要用到第一轮计算的结果时,还需要将结果发送给计算设备,发送结果也增加的通信次数。
由此可见,为了降低计算资源的空闲率,需要以增加通信此时作为代价,当通信代价过高时,反而会带来额外的开销。
图4示意性示出了另一实施例的任务处理的示意图。
如图4所示,可以通过双向流水的方式进行任务调度。在图1所示示例的基础上,把由计算设备1执行的任务F13、F14分配给计算设备4执行,把由计算设备2执行的任务F23、F24分配给计算设备3执行。计算设备1、2、3、4可以依次执行任务F11、F21、F31、F41,计算设备4、3、2、1可以依次执行任务F13、F23、F33、F43,由此实现通过双向流水的方式进行任务调度。
但是,图1所示的一些计算设备仅需存放一部分的模型参数,图4所示的双向流水方式使得一些计算设备需要存放至少两部分的模型参数。例如,由于计算设备4需要执行原来由计算设备1执行的任务F13、F14,导致计算设备4需要存放两部分的模型参数,一部分为原来由计算设备4存储的模型参数,另一部分为原来由计算设备1存储的模型参数,使得计算设备4存放的模型参数增加。
双向流水的方式需要成倍增加每个计算设备存储的模型参数,虽然能提高计算设备的利用率,但是存在计算设备无法存储过多模型参数的问题。该方式以存储空间换取计算耗时,导致该方式应用范围比较窄、不具有通用性。
由以上示例可知,由于模型训练过程中存在前向和后向的依赖关系,计算设备的利用率难以得到较大的提高。大规模的模型训练是一个渐进的过程,在训练过程中需要调整超参数、多轮迭代等。前期的设备利用率通常比较低,在时间维度上存在步调不一致的问题,如果同一时间只执行一个任务,将导致前期对计算资源的浪费更为严重。
有鉴于此,本公开的实施例,在降低计算设备存储模型参数数量的基础上,通过分时调度(time-sharing scheduling)方式,根据不同任务的特征和任务所处的阶段,按时间片轮转的方式,尽可能多地训练多个任务,以达到充分利用计算资源、减少资源浪费的目的。以下参考图5~图7来描述本公开实施例提出的优化方法。
图5示意性示出了根据本公开一实施例的任务处理方法的流程图。
如图5所示,本公开实施例的任务处理方法500例如可以包括操作S510~操作S550。
在操作S510,控制第一计算设备执行第一主任务以生成第一结果。
在操作S520,响应于确定第二计算设备要基于第一结果执行第二主任务,确定第二计算设备的目标状态。
在操作S530,响应于确定第一计算设备正在执行第一主任务并且目标状态为空闲状态,控制第二计算设备执行附加任务。
在操作S540,响应于确定第一计算设备已生成第一结果,控制第二计算设备停止执行附加任务。
在操作S550,控制第二计算设备基于第一结果执行第二主任务。
示例性地,以任务包括深度学习模型的训练任务为例。第一主任务和第二主任务例如为深度学习模型的训练任务的不同部分。附加任务为除深度学习模型的训练任务之外的任务。当深度学习模型为大规模任务时,附加任务例如为其他小规模模型的训练任务。
在通过第一计算设备和第二计算设备训练深度学习模型时,首先由第一计算设备执行第一主任务,第二计算设备需要基于执行第一主任务生成的第一结果来执行第二主任务。因此,如果第二计算设备在等待第一主任务执行完成的过程中处于空闲状态,将导致计算资源的浪费。
因此,在确定第二计算设备需要基于第一结果执行第二主任务时,可以确定第二计算设备的目标状态,目标状态包括空闲状态或忙碌状态。
当第一计算设备正在执行第一主任务时,如果第二计算设备的目标状态为空闲状态,可以控制第二计算设备执行附加任务,以充分利用第二计算设备的计算资源。
当确定第一计算设备执行完第一主任务生成第一结果之后,控制第二计算设备停止执行附加任务,同时控制第二计算设备开始基于第一结果执行第二主任务。
根据本公开的实施例,在第二计算设备依赖于第一计算设备的计算结果时,在第二计算设备等待的过程中可以利用第二计算设备执行附加任务,避免第二计算设备处于空闲状态而导致资源浪费。在第一计算设备执行完第一主任务之后,及时控制第二计算设备停止执行附加任务而执行第二主任务,优先保证主任务的处理效率。可见,通过本公开的实施例,在保证主任务正常执行的前提下,提高了计算设备的利用率,降低了计算资源的浪费。
图6示意性示出了根据本公开一实施例的任务处理方法的原理图。
如图6所示,本公开实施例如由控制器执行任务调度功能。控制器也可以称为执行器、调度器。本公开实施例的控制器例如与下文提及的电子设备相同或类似。
以多个任务为例,多个任务例如包括针对深度学习模型的多个任务、针对小模型的多个任务等等。每个计算设备可以执行一个或多个任务。通过分时调度的方式可以实现在一个计算设备执行多个任务。多个任务在一个计算设备上执行的前提是,多个任务对应的模型参数可以同时存储于一个计算设备中。
在通过控制器进行任务调度时,控制器根据上游编译得到多个任务之间的依赖关系和执行任务需要的计算资源,根据编译结果可以执行资源调度功能。控制器的调度功能和编译功能为计算框架中的上层功能。编译可以看成提前确定多个任务之间的依赖关系和所需计算资源。编译过程包括对深度学习模型的计算任务和小模型计算任务进行编译。
控制器可以将任务调度至多个计算设备执行,多个计算设备例如包括计算设备1~4。当第一计算设备为计算设备1时,第二计算设备例如为计算设备2。当第一计算设备为计算设备2时,第二计算设备例如为计算设备3。当第一计算设备为计算设备3时,第二计算设备例如为计算设备4。
以深度学习模型的训练任务为例,控制器可以控制第一计算设备利用深度学习模型的第一网络层基于样本数据或针对样本数据的特征执行第一主任务以生成第一结果。
例如,当第一计算设备为计算设备1时,计算设备1利用深度学习模型的第一网络层基于样本数据执行第一主任务,以生成第一结果,第一结果例如包括针对样本数据的特征。
当第一计算设备为计算设备2或计算设备3时,计算设备2或计算设备3可以利用深度学习模型的第一网络层基于针对样本数据的特征执行第一主任务,生成第一结果,第一结果例如包括针对样本数据的特征。
在得到第一结果之后,控制器还可以控制第二计算设备利用深度学习模型的第二网络层基于第一结果执行第二主任务,以生成第二结果。
例如,当第二计算设备为计算设备2或计算设备3时,计算设备2或计算设备3可以利用深度学习模型的第二网络层基于第一结果(针对样本数据的特征)执行第二主任务,以生成第二结果,第二结果例如包括针对样本数据的特征。
当第二计算设备为计算设备4时,计算设备4可以利用深度学习模型的第二网络层基于针对样本数据的特征执行第二主任务,以生成第二结果,第二结果例如包括基于特征得到的针对样本数据的预测结果。
示例性地,第一网络层可以包括一个或多个网络层,第二网络层也可以包括一个或多个网络层。图6示出了第一网络层和第二网络层均包括2个网络层。
上述由样本数据得到特征、由特征得到预测结果的过程为深度学习模型的前向计算过程。
在前向计算过程完成之后,需要进行后向计算过程。
例如,控制器控制第二计算设备利用第二网络层基于第二结果和样本标签执行第三主任务,以生成第三结果。
例如,第二计算设备为计算设备4,计算设备4例如利用第二网络层基于第二结果(预测结果)和样本标签执行第三主任务,以生成第三结果,第三结果例如包括针对第二网络层的参数的梯度信息。
控制器还可以控制第一计算设备利用第一网络层基于第三结果执行第四主任务,以生成第四结果。
例如,第一计算设备为计算设备3,计算设备3例如利用第一网络层基于第三结果(针对第二网络层的参数的梯度信息)执行第四主任务,以生成第四结果,第四结果例如包括针对第一网络层的参数的梯度信息。
在得到针对第二网络层的梯度信息(第三结果)和针对第一网络层的梯度信息(第四结果)之后,控制器可以控制第一计算设备基于第三结果和第四结果中的至少一个,更新第一网络层的参数。控制器还可以控制第二计算设备基于第三结果和第四结果中的至少一个,更新第二网络层的参数。通过更新网络层的参数实现了模型的训练。
可以理解,通过控制器调度多个计算设备执行模型的训练任务,保证了任务的执行稳定性,提高了任务处理的效率。
在本公开的一实施例中,深度学习模型的样本数据例如包括待分类文本。深度学习模型例如用于处理样本数据得到针对待分类文本的分类结果(第二结果)。分类结果例如表征了待分类文本的属性,属性例如包括积极属性和消极属性。换言之,深度学习模型用于对文本进行分类。
在本公开的另一实施例中,深度学习模型的样本数据例如包括问题文本。深度学习模型例如用于处理问题文本得到针对问题文本的答案数据(第二结果)。换言之,深度学习模型用于预测问题的答案。
在本公开的另一实施例中,深度学习模型的样本数据例如包括待转换文本。深度学习模型用于处理待转换文本得到针对待转换文本的转换数据(第二结果)。待转换文本例如包括待翻译文本,转换数据例如包括翻译后文本。换言之,深度学习模型用于对文本进行翻译。
在一示例中,深度学习模型例如包括生成式预训练模型(GenerativePre-Training Model,GPT)。
在图1示例的基础上,参考图7进一步阐释本公开实施例的任务处理方法。
图7示意性示出了根据本公开一实施例的任务处理方法的示意图。
如图7所示,针对前向计算,当第一主任务由计算设备1执行时,第二主任务例如由计算设备2执行。当第一主任务由计算设备2执行时,第二主任务例如由计算设备3执行。当第一主任务由计算设备3执行时,第二主任务例如由计算设备4执行。
针对前向计算和后向计算,第二计算设备例如可以执行第二主任务(前向计算)和第三主任务(后向计算)。以第二计算设备为计算设备4为例,第二主任务(前向计算)例如包括N个第二子任务,N为正整数,N个第二子任务例如包括任务F41~F44,第三主任务(后向计算)例如包括M个第三子任务,M为正整数,M个第三子任务例如包括任务B41~B44。
在控制器控制第二计算设备(计算设备4)利用第二网络层基于第二结果和样本标签执行第三主任务以生成第三结果(预测结果)时,如果确定第二计算设备(计算设备4)执行完成N个第二子任务中的目标第二子任务(任务F41),则控制器可以控制第二计算设备(计算设备4)利用第二网络层,基于与目标第二子任务(任务F41)对应的子结果和样本标签,执行M个第三子任务中的目标第三子任务(任务B41)。
与目标第二子任务(任务F41)对应的子结果例如包括第二结果中的至少一部分。例如,第二结果包括任务F41对应的子结果、F42对应的子结果、F43对应的子结果、F44对应的子结果。当目标第二子任务为任务F41时,目标第三子任务例如为任务B41。当目标第二子任务为任务F42时,目标第三子任务例如为任务B42。当目标第二子任务为任务F43时,目标第三子任务例如为任务B43。当目标第二子任务为任务F44时,目标第三子任务例如为任务B44。
在确定目标第三子任务(任务B41)执行完成之后,可以删除与目标第二子任务(任务F41)对应的子结果,以便提前释放第二计算设备的存储空间,解决了等待其他子任务执行完毕后再删除子结果造成子结果长时间占用存储空间的问题。
示例性地,附加任务例如包括附加任务M1、附加任务M2、附加任务M3等等。
以附加任务M1为例,第一计算设备例如为计算设备1,第二计算设备例如为计算设备2。当计算设备1在t0时刻开始执行第一主任务(任务F11)时,计算设备2需要等待任务F11执行完毕后基于任务F11的执行结果来执行任务F21。在计算设备1处理第一主任务(任务F11)的过程中,计算设备2处于空闲状态,此时可以控制计算设备2执行附加任务M1。此时计算设备2需要提前存储与附加任务M1相关的参数。
在t1时刻,计算设备1执行完任务F11得到第一结果,此时控制第二计算设备(计算设备2)停止执行附加任务M1。控制器可以保存第二计算设备(计算设备2)执行附加任务M1生成的附加结果。附加结果例如包括附加任务M1中断后生成的中间结果。
在一示例中,控制器可以将附加结果发送给空闲的第三计算设备,并控制第三计算设备基于附加结果恢复执行附加任务M1。第三计算设备例如包括计算设备3或计算设备4,此时计算设备3或计算设备4需要提前存储与附加任务M1相关的参数。
在另一示例中,控制器可以在确定第二计算设备(计算设备2)执行完第二主任务(任务F21~F24)之后,将附加结果返回给第二计算设备(计算设备2),并控制第二计算设备(计算设备2)基于附加结果恢复执行附加任务M1。
可以理解,在第一计算设备和第二计算设备执行主任务的过程中,在设备处于空闲状态时,可以调度设备执行多个附加任务。
在流水并行过程中,每个计算设备闲置的时间通常比较相近。参考图1,以4个计算设备为例,每个计算设备空闲时间例如等于(设备数量-1)*(前向计算时间+后向计算时间)。例如,每个设备计算的前向计算时间大致为A秒、后向计算时间大致为B秒,每个计算设备的空闲时间大致为(4-1)*(A+B)。因此,在计算设备空闲时间内执行其他小模型的训练任务,使得各个计算设备的计算进度大致相同。
可以理解,通过本公开的实施例,充分考虑大规模模型训练过程中的特点,提出同时训练大规模模型和小规模模型的方案,解决了计算设备因为任务存在依赖关系导致资源利用率不高的问题。另外,通过控制器执行分时调度,相比于人为设置调度策略更加灵活,解决了任务处理过程中时间维度负载不均的问题,实现了更高效地利用计算设备,节省时间和机器成本。
图8示意性示出了根据本公开一实施例的任务处理装置的框图。
如图8所示,本公开实施例的任务处理装置800例如包括第一控制模块810、确定模块820、第二控制模块830、第三控制模块840以及第四控制模块850。
第一控制模块810可以用于控制第一计算设备执行第一主任务以生成第一结果。根据本公开实施例,第一控制模块810例如可以执行上文参考图5描述的操作S510,在此不再赘述。
确定模块820可以用于响应于确定第二计算设备要基于第一结果执行第二主任务,确定第二计算设备的目标状态。根据本公开实施例,确定模块820例如可以执行上文参考图5描述的操作S520,在此不再赘述。
第二控制模块830可以用于响应于确定第一计算设备正在执行第一主任务并且目标状态为空闲状态,控制第二计算设备执行附加任务。根据本公开实施例,第二控制模块830例如可以执行上文参考图5描述的操作S530,在此不再赘述。
第三控制模块840可以用于响应于确定第一计算设备已生成第一结果,控制第二计算设备停止执行附加任务。根据本公开实施例,第三控制模块840例如可以执行上文参考图5描述的操作S540,在此不再赘述。
第四控制模块850可以用于控制第二计算设备基于第一结果执行第二主任务。根据本公开实施例,第四控制模块850例如可以执行上文参考图5描述的操作S550,在此不再赘述。
根据本公开的实施例,第一控制模块810还用于:控制第一计算设备利用深度学习模型的第一网络层基于样本数据或针对样本数据的特征执行第一主任务以生成第一结果;第四控制模块850还用于:控制第二计算设备利用深度学习模型的第二网络层基于第一结果执行第二主任务,生成第二结果。
根据本公开的实施例,装置800还可以包括:第五控制模块和第六控制模块。第五控制模块,用于控制第二计算设备利用第二网络层基于第二结果和样本标签执行第三主任务,生成第三结果;第六控制模块,用于控制第一计算设备利用第一网络层基于第三结果执行第四主任务,生成第四结果。
根据本公开的实施例,装置800还可以包括:第七控制模块和第八控制模块。第七控制模块,用于控制第一计算设备基于第三结果和第四结果中的至少一个,更新第一网络层的参数;第八控制模块,用于控制第二计算设备基于第三结果和第四结果中的至少一个,更新第二网络层的参数。
根据本公开的实施例,第二主任务包括N个第二子任务,N为正整数;第三主任务包括M个第三子任务,M为正整数;其中,第五控制模块包括:控制子模块和删除子模块。控制子模块,用于响应于确定第二计算设备执行完成N个第二子任务中的目标第二子任务,控制第二计算设备利用第二网络层,基于与目标第二子任务对应的子结果和样本标签,执行M个第三子任务中的目标第三子任务,其中,子结果包括第二结果中的至少一部分;删除子模块,用于响应于确定目标第三子任务执行完成,删除子结果。
根据本公开的实施例,第一主任务包括:生成针对样本数据的特征;第二主任务包括以下至少一项:生成针对样本数据的特征、基于针对样本数据的特征得到针对样本数据的预测结果;第三主任务包括:生成针对第二网络层的参数的梯度信息;第四主任务包括:生成针对第一网络层的参数的梯度信息。
根据本公开的实施例,样本数据包括以下至少一项:待分类文本、问题文本、待转换文本;第二结果包括以下至少一项:针对待分类文本的分类结果、针对问题文本的答案数据、针对待转换文本的转换数据。
根据本公开的实施例,装置800还可以包括:发送模块和第九控制模块。发送模块,用于响应于确定第二计算设备停止执行附加任务,将执行附加任务生成的附加结果发送给第三计算设备;第九控制模块,用于控制第三计算设备基于附加结果执行附加任务。
根据本公开的实施例,装置800还可以包括:获取模块和第十控制模块。获取模块,用于响应于确定第二计算设备停止执行附加任务,获取执行附加任务生成的附加结果;第十控制模块,用于响应于确定第二计算设备执行完第二主任务,控制第二计算设备基于附加结果执行附加任务。
在本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供、公开和应用等处理,均符合相关法律法规的规定,采取了必要保密措施,且不违背公序良俗。
在本公开的技术方案中,在获取或采集用户个人信息之前,均获取了用户的授权或同意。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
根据本公开实施例,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,计算机指令用于使计算机执行上文所描述的任务处理方法。
根据本公开实施例,提供了一种计算机程序产品,包括计算机程序/指令,计算机程序/指令被处理器执行时实现上文所描述的任务处理方法。
图9是用来实现本公开实施例的用于执行任务处理的电子设备的框图。
图9示出了可以用来实施本公开实施例的示例电子设备900的示意性框图。电子设备900旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图9所示,设备900包括计算单元901,其可以根据存储在只读存储器(ROM)902中的计算机程序或者从存储单元908加载到随机访问存储器(RAM)903中的计算机程序,来执行各种适当的动作和处理。在RAM 903中,还可存储设备900操作所需的各种程序和数据。计算单元901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
设备900中的多个部件连接至I/O接口905,包括:输入单元906,例如键盘、鼠标等;输出单元907,例如各种类型的显示器、扬声器等;存储单元908,例如磁盘、光盘等;以及通信单元909,例如网卡、调制解调器、无线通信收发机等。通信单元909允许设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元901可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元901的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元901执行上文所描述的各个方法和处理,例如任务处理方法。例如,在一些实施例中,任务处理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元908。在一些实施例中,计算机程序的部分或者全部可以经由ROM 902和/或通信单元909而被载入和/或安装到设备900上。当计算机程序加载到RAM 903并由计算单元901执行时,可以执行上文描述的任务处理方法的一个或多个步骤。备选地,在其他实施例中,计算单元901可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行任务处理方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程任务处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (21)
1.一种任务处理方法,包括:
控制第一计算设备执行第一主任务以生成第一结果;
响应于确定第二计算设备要基于所述第一结果执行第二主任务,确定所述第二计算设备的目标状态;
响应于确定所述第一计算设备正在执行所述第一主任务并且所述目标状态为空闲状态,控制所述第二计算设备执行附加任务;
响应于确定所述第一计算设备已生成所述第一结果,控制所述第二计算设备停止执行所述附加任务;以及
控制所述第二计算设备基于所述第一结果执行所述第二主任务。
2.根据权利要求1所述的方法,其中:
所述控制第一计算设备执行第一主任务以生成第一结果包括:控制所述第一计算设备利用深度学习模型的第一网络层基于样本数据或针对所述样本数据的特征执行所述第一主任务以生成所述第一结果;
所述控制所述第二计算设备基于所述第一结果执行所述第二主任务包括:控制所述第二计算设备利用所述深度学习模型的第二网络层基于所述第一结果执行所述第二主任务,生成第二结果。
3.根据权利要求2所述的方法,还包括:
控制所述第二计算设备利用所述第二网络层基于所述第二结果和样本标签执行第三主任务,生成第三结果;以及
控制所述第一计算设备利用所述第一网络层基于所述第三结果执行第四主任务,生成第四结果。
4.根据权利要求3所述的方法,还包括:
控制所述第一计算设备基于所述第三结果和所述第四结果中的至少一个,更新所述第一网络层的参数;以及
控制所述第二计算设备基于所述第三结果和所述第四结果中的至少一个,更新所述第二网络层的参数。
5.根据权利要求3所述的方法,其中,所述第二主任务包括N个第二子任务,N为正整数;所述第三主任务包括M个第三子任务,M为正整数;
其中,所述控制所述第二计算设备利用所述第二网络层基于所述第二结果和样本标签执行第三主任务,生成第三结果包括:
响应于确定所述第二计算设备执行完成所述N个第二子任务中的目标第二子任务,控制所述第二计算设备利用所述第二网络层,基于与所述目标第二子任务对应的子结果和所述样本标签,执行所述M个第三子任务中的目标第三子任务,其中,所述子结果包括所述第二结果中的至少一部分;以及
响应于确定所述目标第三子任务执行完成,删除所述子结果。
6.根据权利要求3-5中任意一项所述的方法,其中:
所述第一主任务包括:生成针对所述样本数据的特征;
所述第二主任务包括以下至少一项:生成针对所述样本数据的特征、基于针对所述样本数据的特征得到针对所述样本数据的预测结果;
所述第三主任务包括:生成针对所述第二网络层的参数的梯度信息;
所述第四主任务包括:生成针对所述第一网络层的参数的梯度信息。
7.根据权利要求2-6中任意一项所述的方法,其中:
所述样本数据包括以下至少一项:待分类文本、问题文本、待转换文本;
所述第二结果包括以下至少一项:针对所述待分类文本的分类结果、针对所述问题文本的答案数据、针对所述待转换文本的转换数据。
8.根据权利要求1-7中任意一项所述的方法,还包括:
响应于确定所述第二计算设备停止执行所述附加任务,将执行所述附加任务生成的附加结果发送给第三计算设备;以及
控制所述第三计算设备基于所述附加结果执行所述附加任务。
9.根据权利要求1-7中任意一项所述的方法,还包括:
响应于确定所述第二计算设备停止执行所述附加任务,获取执行所述附加任务生成的附加结果;以及
响应于确定所述第二计算设备执行完所述第二主任务,控制所述第二计算设备基于所述附加结果执行所述附加任务。
10.一种任务处理装置,包括:
第一控制模块,用于控制第一计算设备执行第一主任务以生成第一结果;
确定模块,用于响应于确定第二计算设备要基于所述第一结果执行第二主任务,确定所述第二计算设备的目标状态;
第二控制模块,用于响应于确定所述第一计算设备正在执行所述第一主任务并且所述目标状态为空闲状态,控制所述第二计算设备执行附加任务;
第三控制模块,用于响应于确定所述第一计算设备已生成所述第一结果,控制所述第二计算设备停止执行所述附加任务;以及
第四控制模块,用于控制所述第二计算设备基于所述第一结果执行所述第二主任务。
11.根据权利要求10所述的装置,其中:
所述第一控制模块还用于:控制所述第一计算设备利用深度学习模型的第一网络层基于样本数据或针对所述样本数据的特征执行所述第一主任务以生成所述第一结果;
所述第四控制模块还用于:控制所述第二计算设备利用所述深度学习模型的第二网络层基于所述第一结果执行所述第二主任务,生成第二结果。
12.根据权利要求11所述的装置,还包括:
第五控制模块,用于控制所述第二计算设备利用所述第二网络层基于所述第二结果和样本标签执行第三主任务,生成第三结果;以及
第六控制模块,用于控制所述第一计算设备利用所述第一网络层基于所述第三结果执行第四主任务,生成第四结果。
13.根据权利要求12所述的装置,还包括:
第七控制模块,用于控制所述第一计算设备基于所述第三结果和所述第四结果中的至少一个,更新所述第一网络层的参数;以及
第八控制模块,用于控制所述第二计算设备基于所述第三结果和所述第四结果中的至少一个,更新所述第二网络层的参数。
14.根据权利要求12所述的装置,其中,所述第二主任务包括N个第二子任务,N为正整数;所述第三主任务包括M个第三子任务,M为正整数;
其中,所述第五控制模块包括:
控制子模块,用于响应于确定所述第二计算设备执行完成所述N个第二子任务中的目标第二子任务,控制所述第二计算设备利用所述第二网络层,基于与所述目标第二子任务对应的子结果和所述样本标签,执行所述M个第三子任务中的目标第三子任务,其中,所述子结果包括所述第二结果中的至少一部分;以及
删除子模块,用于响应于确定所述目标第三子任务执行完成,删除所述子结果。
15.根据权利要求12-14中任意一项所述的装置,其中:
所述第一主任务包括:生成针对所述样本数据的特征;
所述第二主任务包括以下至少一项:生成针对所述样本数据的特征、基于针对所述样本数据的特征得到针对所述样本数据的预测结果;
所述第三主任务包括:生成针对所述第二网络层的参数的梯度信息;
所述第四主任务包括:生成针对所述第一网络层的参数的梯度信息。
16.根据权利要求11-15中任意一项所述的装置,其中:
所述样本数据包括以下至少一项:待分类文本、问题文本、待转换文本;
所述第二结果包括以下至少一项:针对所述待分类文本的分类结果、针对所述问题文本的答案数据、针对所述待转换文本的转换数据。
17.根据权利要求10-16中任意一项所述的装置,还包括:
发送模块,用于响应于确定所述第二计算设备停止执行所述附加任务,将执行所述附加任务生成的附加结果发送给第三计算设备;以及
第九控制模块,用于控制所述第三计算设备基于所述附加结果执行所述附加任务。
18.根据权利要求10-16中任意一项所述的装置,还包括:
获取模块,用于响应于确定所述第二计算设备停止执行所述附加任务,获取执行所述附加任务生成的附加结果;以及
第十控制模块,用于响应于确定所述第二计算设备执行完所述第二主任务,控制所述第二计算设备基于所述附加结果执行所述附加任务。
19.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-9中任一项所述的方法。
20.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行权利要求1-9中任一项所述的方法。
21.一种计算机程序产品,包括计算机程序/指令,其特征在于,所述计算机程序/指令被处理器执行时实现根据权利要求1-9中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210559702.8A CN114860412B (zh) | 2022-05-19 | 2022-05-19 | 任务处理方法、装置、电子设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210559702.8A CN114860412B (zh) | 2022-05-19 | 2022-05-19 | 任务处理方法、装置、电子设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114860412A true CN114860412A (zh) | 2022-08-05 |
CN114860412B CN114860412B (zh) | 2023-04-04 |
Family
ID=82639875
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210559702.8A Active CN114860412B (zh) | 2022-05-19 | 2022-05-19 | 任务处理方法、装置、电子设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114860412B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115660034A (zh) * | 2022-10-28 | 2023-01-31 | 北京百度网讯科技有限公司 | 分布式模型训练的方法、装置和系统 |
CN115630677B (zh) * | 2022-11-07 | 2023-10-13 | 北京百度网讯科技有限公司 | 任务处理方法、装置、电子设备及介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104520811A (zh) * | 2014-05-09 | 2015-04-15 | 华为技术有限公司 | 优化具有多个中央处理器的计算机的启动时间的系统及方法 |
US20170153893A1 (en) * | 2015-11-30 | 2017-06-01 | International Business Machines Corporation | Method for managing tasks in a computer system |
CN108139946A (zh) * | 2015-10-16 | 2018-06-08 | 高通股份有限公司 | 用于在冲突存在时进行有效任务调度的方法 |
CN109815011A (zh) * | 2018-12-29 | 2019-05-28 | 东软集团股份有限公司 | 一种数据处理的方法和装置 |
CN110554909A (zh) * | 2019-09-06 | 2019-12-10 | 腾讯科技(深圳)有限公司 | 任务的调度处理方法、装置及计算机设备 |
CN112183668A (zh) * | 2020-11-03 | 2021-01-05 | 支付宝(杭州)信息技术有限公司 | 并行训练业务模型的方法及装置 |
CN112817722A (zh) * | 2021-02-01 | 2021-05-18 | 鹏城实验室 | 一种基于优先级的分时调度方法、终端及存储介质 |
CN112965799A (zh) * | 2021-03-05 | 2021-06-15 | 北京百度网讯科技有限公司 | 任务状态的提示方法、装置、电子设备和介质 |
CN114116220A (zh) * | 2021-11-29 | 2022-03-01 | 苏州浪潮智能科技有限公司 | 一种gpu共享控制方法、gpu共享控制装置及存储介质 |
CN114510339A (zh) * | 2022-04-20 | 2022-05-17 | 苏州浪潮智能科技有限公司 | 一种计算任务调度方法、装置、电子设备及可读存储介质 |
-
2022
- 2022-05-19 CN CN202210559702.8A patent/CN114860412B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104520811A (zh) * | 2014-05-09 | 2015-04-15 | 华为技术有限公司 | 优化具有多个中央处理器的计算机的启动时间的系统及方法 |
CN108139946A (zh) * | 2015-10-16 | 2018-06-08 | 高通股份有限公司 | 用于在冲突存在时进行有效任务调度的方法 |
US20170153893A1 (en) * | 2015-11-30 | 2017-06-01 | International Business Machines Corporation | Method for managing tasks in a computer system |
CN109815011A (zh) * | 2018-12-29 | 2019-05-28 | 东软集团股份有限公司 | 一种数据处理的方法和装置 |
CN110554909A (zh) * | 2019-09-06 | 2019-12-10 | 腾讯科技(深圳)有限公司 | 任务的调度处理方法、装置及计算机设备 |
CN112183668A (zh) * | 2020-11-03 | 2021-01-05 | 支付宝(杭州)信息技术有限公司 | 并行训练业务模型的方法及装置 |
CN112817722A (zh) * | 2021-02-01 | 2021-05-18 | 鹏城实验室 | 一种基于优先级的分时调度方法、终端及存储介质 |
CN112965799A (zh) * | 2021-03-05 | 2021-06-15 | 北京百度网讯科技有限公司 | 任务状态的提示方法、装置、电子设备和介质 |
CN114116220A (zh) * | 2021-11-29 | 2022-03-01 | 苏州浪潮智能科技有限公司 | 一种gpu共享控制方法、gpu共享控制装置及存储介质 |
CN114510339A (zh) * | 2022-04-20 | 2022-05-17 | 苏州浪潮智能科技有限公司 | 一种计算任务调度方法、装置、电子设备及可读存储介质 |
Non-Patent Citations (2)
Title |
---|
孙伟东等: "基于数据依赖和触发器的简单子任务调度算法", 《辽宁大学学报(自然科学版)》 * |
张杨松: "众核模式下深度学习模型细粒度并行方法研究", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115660034A (zh) * | 2022-10-28 | 2023-01-31 | 北京百度网讯科技有限公司 | 分布式模型训练的方法、装置和系统 |
CN115660034B (zh) * | 2022-10-28 | 2023-08-15 | 北京百度网讯科技有限公司 | 分布式模型训练的方法、装置和系统 |
CN115630677B (zh) * | 2022-11-07 | 2023-10-13 | 北京百度网讯科技有限公司 | 任务处理方法、装置、电子设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114860412B (zh) | 2023-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114860412B (zh) | 任务处理方法、装置、电子设备和介质 | |
CN108351805B (zh) | 计算图的基于流的加速器处理 | |
US10031775B2 (en) | Backfill scheduling for embarrassingly parallel jobs | |
CN108292374B (zh) | 训练表示为计算图的神经网络 | |
US8589929B2 (en) | System to provide regular and green computing services | |
US10789544B2 (en) | Batching inputs to a machine learning model | |
US20210248469A1 (en) | Method and apparatus for scheduling deep learning reasoning engines, device, and medium | |
CN109992407B (zh) | 一种yarn集群gpu资源调度方法、装置和介质 | |
US20190324805A1 (en) | Method, apparatus and computer program product for resource scheduling | |
CN111190741B (zh) | 基于深度学习节点计算的调度方法、设备及存储介质 | |
CN112948079A (zh) | 任务调度方法、装置、设备和计算机存储介质 | |
CN114841315A (zh) | 混合专家模型实现方法、系统、电子设备及存储介质 | |
CN114860410A (zh) | 批量任务处理的方法、装置及电子设备 | |
CN114091589A (zh) | 模型训练方法、装置、电子设备及介质 | |
US20230273830A1 (en) | Resource control method for function computing, device, and medium | |
CN109977497B (zh) | 基于cpu加速通用雷达信号处理流程的并行方法 | |
Ni et al. | Priced timed petri nets based resource allocation strategy for fog computing | |
WO2023216500A1 (zh) | 智算中心的算力资源部署方法、装置、设备及存储介质 | |
US20230401097A1 (en) | Method, electronic device, and computer program product for task allocation | |
CN114816742A (zh) | 请求处理方法、装置、电子设备及存储介质 | |
CN114792125B (zh) | 基于分布式训练的数据处理方法、装置、电子设备和介质 | |
CN104503820A (zh) | 一种基于异步启动的Hadoop优化方法 | |
CN114185661A (zh) | 一种任务处理方法、装置、设备以及存储介质 | |
CN113504966A (zh) | Gpu集群调度策略模拟方法及gpu集群模拟器 | |
CN115630677B (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 |