CN115525448B - 一种基于异构平台的任务处理方法、装置、设备和介质 - Google Patents
一种基于异构平台的任务处理方法、装置、设备和介质 Download PDFInfo
- Publication number
- CN115525448B CN115525448B CN202211130621.2A CN202211130621A CN115525448B CN 115525448 B CN115525448 B CN 115525448B CN 202211130621 A CN202211130621 A CN 202211130621A CN 115525448 B CN115525448 B CN 115525448B
- Authority
- CN
- China
- Prior art keywords
- task
- node
- heterogeneous
- participants
- dependency graph
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 42
- 239000003999 initiator Substances 0.000 claims abstract description 62
- 238000000034 method Methods 0.000 claims abstract description 42
- 238000012545 processing Methods 0.000 claims abstract description 35
- 238000010586 diagram Methods 0.000 claims abstract description 31
- 238000011144 upstream manufacturing Methods 0.000 claims description 15
- 238000004422 calculation algorithm Methods 0.000 claims description 14
- 230000000007 visual effect Effects 0.000 claims description 11
- 238000004458 analytical method Methods 0.000 claims description 9
- 238000013519 translation Methods 0.000 claims description 7
- 238000005516 engineering process Methods 0.000 abstract description 11
- 238000013473 artificial intelligence Methods 0.000 abstract description 7
- 238000013135 deep learning Methods 0.000 abstract description 4
- 238000004891 communication Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 10
- 238000012986 modification Methods 0.000 description 9
- 230000004048 modification Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 230000003993 interaction Effects 0.000 description 6
- 230000006978 adaptation Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000003924 mental process Effects 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 238000003058 natural language processing 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
- 238000012546 transfer Methods 0.000 description 1
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/54—Interprogram communication
-
- 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/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Fuzzy Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开提供了一种基于异构平台的任务处理方法、装置、设备和介质,涉及计算机技术领域,尤其涉及人工智能、云计算和深度学习技术。具体实现方案为:由内置于平台中的互联互通服务执行,该方法包括:获取由发起方发起的联邦学习任务的任务依赖图;其中,所述任务依赖图基于标准描述规则进行描述,所述任务依赖图的描述内容包括:图、节点、参与方和节点参与项,用于描述异构参与方对所述联邦学习任务中至少一个节点的执行要求;根据所述任务依赖图,控制异构参与方执行所述联邦学习任务。本公开实现了异构平台之间任务处理的互联互通,提高了异构平台之间任务处理互联互通的效率,增加了基于异构平台的任务处理方法的适用性。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及人工智能、云计算和深度学习技术。
背景技术
随着对深度学习的运算能力和数据隐私性等需求的提升,逐步出现了基于多个平台进行联邦学习的方案。各个平台可能由不同运营方提供,采用不同的硬件资源和软件算法,因此可称为异构平台。
联邦学习方案中,异构平台之间可以使用底层互联(白盒)方式或顶层互联(黑盒)方式进行交互。由于不同的平台的实现方法存在差异,导致对联邦学习任务的处理和交互也存在较多障碍。目前在对接不同的联邦学习平台时,需要采取一一适配的方法对异构平台进行适配。上述方案导致工作流程非常繁琐,异构平台之间的兼容性差。
发明内容
本公开提供了一种基于异构平台的任务处理方法、装置、设备以及存储介质。
根据本公开的一方面,提供了一种基于异构平台的任务处理方法,由内置于平台中的互联互通服务执行,该方法包括:
获取由发起方发起的联邦学习任务的任务依赖图;其中,所述任务依赖图基于标准描述规则进行描述,所述任务依赖图的描述内容包括:图、节点、参与方和节点参与项,用于描述异构参与方对所述联邦学习任务中至少一个节点的执行要求;
根据所述任务依赖图,控制异构参与方执行所述联邦学习任务。
根据本公开的另一方面,提供了一种基于异构平台的任务处理的装置,由内置于平台中的互联互通服务执行,该装置包括:
任务依赖图获取模块,用于获取由发起方发起的联邦学习任务的任务依赖图;其中,所述任务依赖图基于标准描述规则进行描述,所述任务依赖图的描述内容包括:图、节点、参与方和节点参与项,用于描述异构参与方对所述联邦学习任务中至少一个节点的执行要求;
任务执行模块,用于根据所述任务依赖图,控制异构参与方执行所述联邦学习任务。
根据本公开的另一方面,提供了一种电子设备,包括:
至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开任一实施例所述的基于异构平台的任务处理方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行本公开任一实施例所述的基于异构平台的任务处理方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现本公开任一实施例所述的基于异构平台的任务处理方法。
本公开实施例实现了异构平台之间任务处理的互联互通,提高了异构平台之间任务处理互联互通的效率,增加了基于异构平台的任务处理方法的适用性。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1A是根据本公开实施例提供的一种一种基于异构平台的任务处理系统的示意图;
图1B是根据本公开实施例提供的一种基于异构平台的任务处理方法的示意图;
图1C是根据本公开实施例提供的一种顺序继承关系的示意图;
图2是根据本公开实施例公开的另一种基于异构平台的任务处理方法的示意图;
图3是根据本公开实施例公开的又一种基于异构平台的任务处理方法的示意图;
图4A是根据本公开实施例公开的再一种基于异构平台的任务处理方法的示意图;
图4B是本公开实施例提供的一种翻译模式的应用场景示意图;
图4C是根据本公开实施例公开的一种基于异构平台的任务处理方法的时序图;
图5A是根据本公开实施例公开的再一种基于异构平台的任务处理方法的示意图;
图5B是本公开实施例提供的一种直驱模式的应用场景示意图;
图5C是根据本公开实施例公开的另一种基于异构平台的任务处理方法的时序图;
图6是根据本公开实施例公开的再一种基于异构平台的任务处理方法的示意图;
图7是本公开实施例中的一种基于异构平台的任务处理装置的示意图;
图8是用来实现本公开实施例的一种基于异构平台的任务处理方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1A是根据本公开实施例提供的一种基于异构平台的任务处理系统的示意图。本公开实施例可适用于利用至少两个异构平台共同执行任务处理的情况。如图1A所示,该系统至少包括平台101和平台102。平台101和平台102为异构平台,异构平台可以是由不同联邦学习任务的使用方提供的,采用了不同厂商开发的联邦学习软件版本的平台。例如,使用方X和使用方Y,可以同时部署M厂商开发的联邦学习软件m;也可以是使用方X部署了M厂商开发的联邦学习软件m,而使用方Y部署了N厂商开发的联邦学习软件n。则两个使用方的平台采用了不同的联邦学习软件,为异构平台,需要通过互联互通服务来建立交互关系。
在平台101和平台102上,基于平台101的软件算法,可以提供至少一个参与方。其中,参与方是指具有数据处理能力的物理设备或虚拟设备,用以发起或执行任务处理,参与方可以在平台中固定部署,也可以是动态部署的。在平台101和平台102上,分别部署有互联互通服务和互联互通客户端。互联互通客户端可以通过互联互通插件部署在参与方中,与互联互通服务之间进行交互。互联互通服务和互联互通客户端,用于配合实现平台101和平台102之间的通信,也就是为平台101和平台102提供互通协议;也可以实现平台101和平台102之间的任务处理。如图1A所示,平台101部署有互联互通服务,平台102部署有互联互通客户端,两者之间实现交互。通常,各个平台可同时部署有互联互通服务和互联互通客户端,彼此之间实现交互。
任务处理可以是联邦学习任务处理。示例性的,平台101发起联邦学习任务,需要平台102共同完成,平台101中互联互通服务将联邦学习任务发送给平台102,平台102中互联互通客户端接收联邦学习任务。
本公开实施例所提供的基于异构平台的任务处理方法,可以由基于异构平台的任务处理装置执行,该装置可以采用软件和/或硬件实现,并具体配置于电子设备中,该电子设备可以是具有一定数据运算能力的电子设备,该电子设备可以视为一个异构平台,本公开对此不作任何限定。
图1B是根据本公开实施例提供的一种基于异构平台的任务处理方法的示意图。如图1B所示,该方法包括:
S101、获取由发起方发起的联邦学习任务的任务依赖图;其中,所述任务依赖图基于标准描述规则进行描述,所述任务依赖图的描述内容包括:图、节点、参与方和节点参与项,用于描述异构参与方对所述联邦学习任务中至少一个节点的执行要求。
发起方是指异构平台中发起联邦学习任务的某个参与方,有任务处理需求的用户,可以通过在某个参与方上操作,以发起联邦学习任务。联邦学习能够充分地利用参与方的数据和计算能力,使多个参与方可以协作构建更健壮、更有效的机器学习模型而不需要共享数据。联邦学习任务可以理解为,利用各参与方的数据,对相同的模型进行多次迭代训练,直至模型达到收敛的过程。发起方针对联邦学习发起联邦学习任务,联邦学习任务用于指示至少一个参与方进行联邦学习时,需要执行的至少一个执行要求。执行要求可以是算法、参数要求、执行顺序、执行条件和步骤涉及的参与方等中的至少一项。
任务依赖图是指将联邦学习任务按照一定的描述规则进行描述后,得到的描述结果。其中,描述规则可以根据实际情况进行设置。任务依赖图的描述内容用于描述任务依赖图中包含的信息,其中,任务依赖图的描述内容包括图、节点、参与方和节点参与项四个部分。任务依赖图的描述内容具体用于描述异构参与方对联邦学习任务中至少一个节点的执行要求。其中,异构参与方用于表征执行联邦学习任务的、位于不同平台中的参与方。异构参与方的数量为至少两个。图用于表征联邦学习任务中各参与方以及各节点的执行要求。一个联邦学习任务可以对应至少一个图,可以为每个平台中的参与方形成一个任务依赖图。节点用于表征联邦学习任务中的执行步骤。一个图中包含至少一个节点。参与方用于执行联邦学习任务。参与方的数量为至少一个。一个节点处对应至少一个参与方。节点参与项也可称为参与方节点,用于表征节点在不同参与方运行时,特有的执行要求。在一个节点处,一个参与方对应一个节点参与项。
具体的,发起方发起联邦学习任务,并对联邦学习任务通过标准表述规则进行表述,形成任务依赖图。发起方所在的平台中的互联互通服务获取发起方形成的任务依赖图。
S102、根据所述任务依赖图,控制异构参与方执行所述联邦学习任务。
具体的,互联互通服务根据任务依赖图,可以确定异构参与方在联邦学习任务中对应的至少一个节点的执行要求,并将各节点的执行要求发送至异构参与方中。异构参与方接受到各节点的执行要求后,执行各节点的执行要求,完成联邦学习任务。
在现有技术中,针对异构平台,各平台对联邦学习任务进行描述时,描述方式不统一,各平台之间的描述结果无法互换使用,需要采用一一适配的方法,对不同平台进行适配,导致平台之间的互联互通难以实现。
本公开实施例的技术方案,通过内置于平台中的互联互通服务,获取由发起方发起的联邦学习任务的任务依赖图,根据任务依赖图控制异构参与方执行联邦学习任务。由于任务依赖图基于标准描述规则进行描述,对任务依赖图的描述方式进行了统一,使异构参与方在无需适配的情况下识别任务依赖图,实现了异构平台之间任务处理的互联互通,提高了异构平台之间任务处理互联互通的效率,增加了基于异构平台的任务处理方法的适用性。
在上述实施例的基础上,对任务依赖图的描述内容进行了进一步限定。其中,任务依赖图可以为有向无环图,优选采用ProtoBuf语言形成所述描述内容。Protobuf全称是Google Protocol Buffer,是一种高效轻便的结构化数据存储方式,可用于数据通信协议、数据存储等。
有向无环图(Directed Acyclic Graph,DAG)由有限个节点和“有向边”组成,从任意节点出发,经过若干条有向边,都无法回到该顶点,这种图就是有向无环图。在本公开中,DAG图通过ProtoBuf语言进行描述,描述内容包括图、节点、参与方和节点参与项。
可选的,所述图的描述内容用于定义所述任务依赖图的全局信息;所述节点的描述内容用于定义所述联邦学习任务中的执行步骤信息;所述参与方的描述内容用于定义参与所述联邦学习任务的参与方信息;所述节点参与项的描述内容用于定义节点中参与方的执行信息。
图的描述内容用于从整体上对任务依赖图进行描述,定义任务依赖图的全局信息。通过全局信息,可以对不同的任务依赖图进行区分。节点的描述内容用于对联邦学习任务中执行步骤的内容进行描述,定义联邦学习任务中的执行步骤信息。通过执行步骤信息可以确定在任务依赖图中,各节点的执行要求。参与方的描述内容用于对参与联邦学习任务的参与方的信息进行描述,定义参与联邦学习任务的参与方信息。通过参与方信息,可以确定任务依赖图中,参与联邦学习任务的参与方。节点参与项的描述内容用于描述不同参与方在同一节点处的执行要求,定义节点中参与方的执行信息。
通过图的描述内容、节点的描述内容、参与方的描述内容和节点参与项的描述内容,实现了对任务依赖图的分层描述,提高了描述任务依赖图的准确度,同时便于发起方与异构参与方之间的互联互通。
可选的,所述图的描述内容包括:图标识和图属性,所述图属性包括:节点列表和参与方列表;所述节点的描述内容包括:节点标识、节点算法类型和节点属性,所述节点属性包括:节点输入信息和节点输出信息;所述参与方的描绘内容包括:参与方标识、参与方描述、参与方角色、执行顺序和参与方属性,所述参与方属性包括:节点参与项列表;所述节点参与项的描绘内容包括:节点标识和节点参与项属性。
其中,图的描述内容中,图标识用于区分不同任务依赖图,也可理解为任务依赖图的名称。图属性用于描述任务依赖图中包含的信息,图属性包括节点列表和参与方列表,其中,节点列表中包括任务依赖图中的全部节点,参与方列表中包括参与任务依赖图对应的联邦学习任务的全部参与方。
节点的描述内容中,节点标识(name)用于区分不同的节点,也可以理解为节点的名称。节点算法类型(type)是指在节点处的执行要求的名称,也可以理解为,在节点处定义了联邦学习任务中的执行步骤信息,节点算法类型用于描述执行步骤的名称。示例性的,执行步骤信息可以是执行的算法,节点算法类型为执行的算法的名称。示例性的,节点算法类型为PSI(隐私集合求交,Private Set Intersection)算法。节点属性用于描述节点处执行步骤所涉及的参数,节点属性包括修改参数(attribute)、节点输入信息(input)和节点输出信息(output)等中的至少一个。节点属性可以通过KV(键值对,key-value)格式进行描述和存储。其中,节点输入信息是指输入节点的数据所存储的文件。示例性的,节点输入信息可以是该节点的上游节点的输出数据所存储的文件。节点输出信息是指节点在完成执行步骤信息后得到的输出数据所存储的文件。具体的,当前节点根据节点输入信息,确定输入数据所存储的文件,并将文件中读取的数据作为当前节点的输入数据,在完成执行步骤信息后,根据节点输出信息,存储输出数据。修改参数用于表征节点处执行的算法所涉及的参数。具体的,修改参数至少包括执行次数和收敛条件等中的至少一项。
示例性的,节点的描述内容可以通过如下的方式进行表达:
{
name:step_1_xgboost
type:xgboot_v1
attribute:{penalty:L1,max_iter:10}
input:{ifile1:reader.output.ofile1}
output:{omodel:file,round:value}
}
参与方的描绘内容中,参与方标识用于区分不同的参与方,也可以理解为参与方的名称。参与方角色用于定义参与方在联邦学习任务中的功能。参与方角色包括发起方、协同方、执行参与方和仲裁方等中的至少一个。其中,发起方用于发起联邦学习任务。协同方是指与发起方在同一平台上的参与方,协同方与执行参与方相对应,执行参与方是位于其他平台上执行任务的参与方。协同方为发起方和执行参与方之间提供交互功能。仲裁方是指对至少两个参与方的输出结果进行对比的参与方。执行顺序用于描述各参与方在执行联邦学习任务时的顺序。参与方属性用于描述参与方中包含的信息,至少包括参与方id、参与方类型、参与序号和节点参与项列表中的至少一项。其中参与方类型包括发起方、执行参与方、协同方和仲裁方。参与序号用于表征参与方在异构平台中的序号。节点参与项列表用于描述各参与方对应的全部节点参与项。
节点参与项的描绘内容中,节点参与项属性用于描述在节点中参与方的信息,包括在节点中参与方的输入参数和输出参数等中的至少一个。
可选的,所述图、节点、参与方和节点参与项之间存在依次继承关系,下游描述内容的属性包括对上游描述内容的继承属性和复写属性,以形成所述节点参与项的最终描述内容。
依次继承关系,可以理解为,在任务依赖图的描述内容中,将图、节点、参与方和节点参与项按照一定的顺序进行排列,上游描述内容可以作为下游描述内容中的一部分。针对下游描述内容,获取上游描述内容的属性,并将上游描述内容的属性作为下游描述内容的属性中的一部分的过程,可以理解为继承。在下游描述内容的属性中,继承的上游描述内容的属性为继承属性。下游描述内容的属性在继承上游描述内容的属性之后,可以对继承的上游描述内容的属性进行修改,修改的过程可以理解为复写。在下游描述内容的属性中,复写的上游描述内容的属性为复写属性。最终描述内容用于表征经过继承和复写后得到的描述内容。
具体的,图、节点、参与方和节点参与项根据依次继承关系,下游描述内容继承上游描述内容的属性,形成继承属性,并对上游描述内容的属性进行复写,形成复写属性。将最后一个下游描述内容的继承属性和复写属性,作为节点参与项的最终描述内容。
图1C是根据本公开实施例提供的一种顺序继承关系的示意图。如图1C所示,顺序继承关系为图、节点、参与方和节点参与项。节点对图的修改参数进行继承(Inherited)和复写(Overwirte);参与方对节点的修改参数进行继承和复写;节点参与项对参与方的修改参数进行继承和复写,最终得到节点参与项的最终描述内容。
通过下游描述内容对上游描述内容进行继承和复写,形成所述节点参与项的最终描述内容,简化了节点参与项的最终描述内容的获取方式,能够提高节点参与项的最终描述内容的获取效率,提高节点参与项的最终描述内容的准确度。
可选的,所述图、节点、参与方和节点参与项中的任一个记为描述项;任意所述描述项的描述内容中包括引用项,所述引用项用于表征对其他描述项中描述内容的引用。
在本公开中,图、节点、参与方和节点参与项之间存在依次继承关系,将图、节点、参与方和节点参与项中的任一个记为描述项,则任意描述项的描述内容中包括其他描述项的描述内容。将其他描述项的描述内容,通过引用项进行描述,则任意描述项的描述内容中包括对其他描述项中描述内容的引用项。
通过引用项的方式表示描述项的描述内容,能够简化描述项的描述内容,提高描述项的描述内容的使用便捷性。
可选的,所述描述项为节点,所述引用项对应的描述内容为所述节点的节点输入信息和/或节点输出信息。
可以理解的是,当描述项为节点时,节点的描述内容可以包括节点输入信息和节点输出信息中的至少一项。引用项对应的描述内容是指描述项的描述内容中需要进行描述的描述内容。引用项对应的描述内容为描述项的描述内容中的部分描述内容或全部描述内容,因此引用项对应的描述内容为节点的节点输入信息和/或节点输出信息。
可选的,引用项包括:描述项类型、描述项标识、属性类型和属性值名称。
其中,描述项类型也可以理解为任务依赖图的描述内容。描述项类型包括图、节点、参与方和节点参与项。描述项标识是指描述项的描述内容中的标识。描述项标识包括图标识、节点标识、参与方标识和节点参与项标识。属性类型是指描述项的描述内容中的属性。属性类型包括图属性、节点属性、参与方属性和节点参与项属性。属性值名称是指属性类型中的具体属性值。示例性的,属性值名称为节点输出信息。
具体的,引用项可以通过如下格式进行描述:<proto>.<name>.<type>.<key>,
其中,引用项中的部分字段支持默认和省略,具体如下:
<proto>为描述项类型,默认party_node(节点参与项),可以包含:graph(图)/node(节点)/party(参与方)/party_node。
<name>为描述项标识。
<type>为属性类型,默认output,可以包含:attribute/input/output。
<key>属性值名称,可以是output的某个具体数值。
示例性的,引用项为filesplit.output.outfile1,或者graph.graph_1.attribute.backend。
图2是根据本公开实施例公开的另一种基于异构平台的任务处理方法的示意图,基于上述技术方案进一步优化与扩展,并可以与上述各个可选实施方式进行结合。其中,获取由发起方发起的联邦学习任务的任务依赖图包括:获取由发起方中配置的互联互通客户端提供的联邦学习任务的任务依赖图;所述任务依赖图由用户通过领域特定语言(DSL)脚本、客户端软件开发工具(SDK)或可视化拖拽界面在发起方提供。参考图2,该方法具体如下:
S201、获取由发起方中配置的互联互通客户端提供的联邦学习任务的任务依赖图;所述任务依赖图由用户通过领域特定语言脚本、客户端软件开发工具或可视化拖拽界面在发起方提供。
互联互通客户端是参与方为用户提供的创建联邦学习任务的任务依赖图的工具。发起方中配置有至少一个互联互通客户端。可视化拖拽界面是指用于通过拖拽方式编辑任务依赖图的界面。可以理解的是,在可视化拖拽界面中,对任务依赖图的描述内容进行了可视化,以图形信息进行呈现,用户可以通过拖拽和点击等方式绘制任务依赖图。
具体的,用户通过互联互通客户端产生任务依赖图,并向发起方提供,发起方所在平台中的互联互通服务,从发起方中配置的互联互通客户端获取联邦学习任务的任务依赖图。其中,用户可以通过DSL脚本、客户端SDK或可视化拖拽界面提供任务依赖图。
S202、根据所述任务依赖图,控制异构参与方执行所述联邦学习任务。
本公开实施例的技术方案,通过DSL脚本、客户端SDK或可视化拖拽界面在发起方提供任务依赖图,丰富了任务依赖图的获取途径,提高了提供任务依赖图的便捷性,通过互联互通客户端获取联邦学习任务的任务依赖图,能够提高任务依赖图的准确度。
图3是根据本公开实施例公开的又一种基于异构平台的任务处理方法的示意图,基于上述技术方案进一步优化与扩展,并可以与上述各个可选实施方式进行结合。其中,根据所述任务依赖图,控制异构参与方执行所述联邦学习任务包括:确定异构参与方位于本平台的协同方;其中,所述异构参与方为位于其他平台的参与方;根据所述任务依赖图,控制所述协同方和所述异构参与方执行所述联邦学习任务。参考图3,该方法具体如下:
S301、获取由发起方发起的联邦学习任务的任务依赖图;其中,所述任务依赖图基于标准描述规则进行描述,所述任务依赖图的描述内容包括:图、节点、参与方和节点参与项,用于描述异构参与方对所述联邦学习任务中至少一个节点的执行要求。
S302、确定异构参与方位于本平台的协同方;其中,所述异构参与方为位于其他平台的参与方。
本平台是指发起方所在的平台。其他平台是指发起方所在平台之外的平台。具体的,对于异构参与方,将本平台中与异构参与方共同执行联邦学习任务的参与方确定为异构参与方位于本平台的协同方。协同方是数量为至少一个。
S303、根据所述任务依赖图,控制所述协同方和所述异构参与方执行所述联邦学习任务。
具体的,本平台中的互联互通服务根据任务依赖图,可以控制协同方和异构参与方执行联邦学习任务。具体的控制方式可以有多种,可以通过互联互通服务或协同方对任务依赖图的节点进行解析,从而实现调度控制。协同方是为了配合其他平台中的异构参与方而设置在本方平台中的参与方,相当于异构参与方的代理方。当某个平台希望与其他多个平台进行配合时,可以相应的为多个平台设置各自的协同方。
本公开实施例的技术方案,通过确定异构参与方位于本平台的协同方,在发起方与异构参与方之间增加了协同方,便于发起方和异构参与方之间的交互,提高联邦学习任务的执行效率。
图4A是根据本公开实施例公开的再一种基于异构平台的任务处理方法的示意图,基于上述技术方案进一步优化与扩展,并可以与上述各个可选实施方式进行结合。其中,根据所述任务依赖图,控制所述协同方和所述异构参与方执行所述联邦学习任务包括:将所述任务依赖图翻译为所述异构参与方所适用软件信息的目标依赖图;将所述目标依赖图提供给所述协同方,由所述协同方根据所述目标依赖图调度所述协同方和所述异构参与方执行所述联邦学习任务。参考图4A,该方法具体如下:
S401、获取由发起方发起的联邦学习任务的任务依赖图;其中,所述任务依赖图基于标准描述规则进行描述,所述任务依赖图的描述内容包括:图、节点、参与方和节点参与项,用于描述异构参与方对所述联邦学习任务中至少一个节点的执行要求。
S402、确定异构参与方位于本平台的协同方;其中,所述异构参与方为位于其他平台的参与方。
S403、将所述任务依赖图翻译为所述异构参与方所适用软件信息的目标依赖图。
不同软件采用不同的描述方式,即参与方对任务依赖图进行描述所使用的描述规则。不同平台的软件信息不同,即描述规则不同,因此异构参与方无法直接识别任务依赖图。目标依赖图是指对任务依赖图翻译后得到的新的任务依赖图。
具体的,通过本平台中的互联互通服务,根据异构参与方使用的软件信息,对任务依赖图进行翻译,将翻译结果确定为目标依赖图。
S404、将所述目标依赖图提供给所述协同方,由所述协同方根据所述目标依赖图调度所述协同方和所述异构参与方执行所述联邦学习任务。
具体的,互联互通服务将目标依赖图发送给协同方。协同方对目标依赖图进行分析,将目标依赖图划分为至少一个子任务,并将子任务分别发送至协同方和异构参与方,由协同方和异构参与方执行各子任务,也就是执行联邦学习任务。
在一种可实施方式中,图4B是本公开实施例提供的一种翻译模式的应用场景示意图。如图4B所示,发起方所在平台为本方(记为Alice)平台,用户通过本方平台中配置的互联互通客户端,提供任务依赖图。在互联互通客户端,用户通过DSL脚本、客户端SDK或可视化拖拽界面提供任务依赖图。发起方通过所在平台的互联互通服务获取任务依赖图。在发起方中,通过互联互通服务向协同方提供任务依赖图(DAG)。协同方通过互联互通服务接收DAG,并进行翻译,转换为适用于异构平台的任务描述方式。协同方根据互联互通服务获取翻译后的任务依赖图,进而能够基于任务依赖图进行任务调度,控制协同方和其他平台中的异构参与方,一起执行联邦学习任务。
在联邦学习任务的执行过程中,还可以从数据源A获取输入源数据,远方(Bob)平台中参与方从数据源B(Data Source B)获取输入源数据,从而执行联邦学习任务,得到执行结果后,也可通过互联互通服务输出反馈给发起方(output)。其中,异构参与方获取的任务依赖图为翻译后的任务依赖图,翻译后的任务依赖图能被异构参与方识别。
在一种可实施方式中,图4C是根据本公开实施例公开的一种基于异构平台的任务处理方法的时序图。如图4C所示,发起方所在平台为本方平台。发起方发起联邦学习任务。发起方将联邦学习任务的任务依赖图发送至本方平台的互联互通服务。本方平台的互联互通服务将任务依赖图翻译为目标依赖图,并将目标依赖图发送至协同方。
协同方对目标依赖图进行分析,将目标依赖图划分为至少一个子任务,并将各子任务分别发送至异构参与方和协同方,调度协同方和异构参与方执行联邦学习任务。
协同方执行子任务时,首先向本方平台的互联互通服务获取输入数据,本方平台的互联互通服务向本方平台的数据源发送请求,本方平台的数据源接收到请求后,向本方平台的互联互通服务反馈数据,由本方平台的互联互通服务将数据反馈回协同方。协同方在执行完子任务后,将执行结果反馈回发起方。
异构参与方执行子任务时,直接向远方平台的数据源发送请求,远方平台的数据源接收到请求后,向异构参与方反馈数据。异构参与方执行完子任务后得到执行结果。
发起方需要获取执行结果时,可以向本方平台的互联互通服务发送结果请求,本方平台的互联互通服务将结果请求发送至协同方,协同方在接收到结果请求后,将执行结果反馈回本方平台的互联互通服务,由本方平台的互联互通服务将执行结果反馈回发起方。
本公开实施例的技术方案,通过将任务依赖图翻译为异构参与方所适用软件信息的目标依赖图,能够使异构参与方直接识别目标依赖图,将目标依赖图提供给协同方,由协同方调度协同方和异构参与方执行联邦任务,在调度过程中,可以直接使用目标依赖图,简化了调度流程,提高了协同方和异构参与方执行联邦学习任务的效率。
图5A是根据本公开实施例公开的再一种基于异构平台的任务处理方法的示意图,基于上述技术方案进一步优化与扩展,并可以与上述各个可选实施方式进行结合。其中,根据所述任务依赖图,控制所述协同方和所述异构参与方执行所述联邦学习任务包括:对所述任务依赖图进行任务解析和拆分,确定子任务;根据拆分后的子任务,分别调度所述协同方和所述异构参与方执行所述联邦学习任务。参考图5A,该方法具体如下:
S501、获取由发起方发起的联邦学习任务的任务依赖图;其中,所述任务依赖图基于标准描述规则进行描述,所述任务依赖图的描述内容包括:图、节点、参与方和节点参与项,用于描述异构参与方对所述联邦学习任务中至少一个节点的执行要求。
S502、确定异构参与方位于本平台的协同方;其中,所述异构参与方为位于其他平台的参与方。
S503、对所述任务依赖图进行任务解析和拆分,确定子任务。
子任务是指将任务依赖图拆分后得到的任务依赖图。子任务可以由一个参与方独立完成。子任务的数量为至少一个。可以理解的是,任务依赖图中包含至少一参与方,各参与方需要合作完成任务依赖图。通过对任务依赖图进行任务解析,能够确定各参与方在任务依赖图中的执行要求。针对一个参与方,将任务依赖图中的执行要求进行组合,实现任务依赖图的拆分,形成子任务,子任务可以由一个参与方独立执行。
具体的,通过互联互通服务对任务依赖图进行任务解析,根据解析结果将任务依赖图拆分为至少一个子任务。
S504、根据拆分后的子任务,分别调度所述协同方和所述异构参与方执行所述联邦学习任务。
具体的,互联互通服务将各子任务分别发送至协同方和异构参与方,协同方和异构参与方分别执行接收到的子任务,实现协同方和异构参与方的调度。其中,异构参与方接收子任务时,首先通过异构参与方所在平台的互联互通服务接收子任务,然后通过异构参与方所在平台的互联互通服务将子任务发送至异构参与方。
图5B是本公开实施例提供的一种直驱模式的应用场景示意图;直驱模式与翻译模式的差异在于,互联互通服务可以无需翻译任务依赖图,而是直接基于任务依赖图进行子任务的解析拆分,而后利用内置的调度器将子任务调度给协同方和异构参与方执行。协同方和异构参与方获得被调度的子任务后,可以自行进行转移,例如可基于内置的互联互通客户端进行子任务的翻译转换。
在一种可实施方式中,图5C是根据本公开实施例公开的另一种基于异构平台的任务处理方法的时序图。如图5C所示,发起方所在平台为本方平台。发起方发起联邦学习任务。发起方将联邦学习任务的任务依赖图发送至本方平台的互联互通服务。本方平台的互联互通服务对任务依赖图进行解析和拆分,得到子任务,并将子任务发送至协同方和远方平台的互联互通客户端。
协同方对子任务进行翻译并执行。协同方执行子任务时,首先向本方平台的互联互通服务获取输入数据,本方平台的互联互通服务向本方平台的数据源发送请求,本方平台的数据源接收到请求后,向本方平台的互联互通服务反馈数据,由本方平台的互联互通服务将数据反馈回协同方。协同方在执行完子任务后,将执行结果反馈回本方平台的互联互通服务。
远方平台的互联互通客户端接收到子任务后,将子任务发送至异构参与方,由异构参与方执行子任务。异构参与方执行子任务时,直接向远方平台的数据源发送请求,远方平台的数据源接收到请求后,向异构参与方反馈数据。异构参与方执行完成子任务后,将执行结果反馈回远方平台的互联互通客户端,由远方平台的互联互通客户端将执行结果反馈回本方平台的互联互通服务。
本方平台的互联互通服务将协同方反馈的执行结果和异构参与方反馈的执行结果反馈回发起方。
发起方获取执行结果时,可以向本方平台的互联互通服务发送结果请求,本方平台的互联互通服务将结果请求发送至协同方,协同方在接收到结果请求后,将执行结果反馈回本方平台的互联互通服务,由本方平台的互联互通服务将执行结果反馈回发起方。
本公开实施例的技术方案,通过对任务依赖图进行任务解析和拆分,确定子任务,根据拆分后的子任务调度协同方和异构参与方执行联邦协同任务,一个子任务对应一个参与方,能够简化调度复杂度,提高调度效率从而提高联邦学习任务的执行效率。
图6是根据本公开实施例公开的再一种基于异构平台的任务处理方法的示意图,基于上述技术方案进一步优化与扩展,并可以与上述各个可选实施方式进行结合。其中,确定异构参与方位于本平台的协同方包括:通过所述互联互通服务的统一客户端或位于任一协同方中的协同客户端,向异构参与方所在平台的互联互通服务发送软件查询请求;根据所述异构参与方所在平台的互联互通服务返回的软件信息,从本平台的多个协同客户端中选择匹配的协同客户端。参考图6,该方法具体如下:
S601、获取由发起方发起的联邦学习任务的任务依赖图;其中,所述任务依赖图基于标准描述规则进行描述,所述任务依赖图的描述内容包括:图、节点、参与方和节点参与项,用于描述异构参与方对所述联邦学习任务中至少一个节点的执行要求。
S602、通过所述互联互通服务的统一客户端或位于任一协同方中的协同客户端,向异构参与方所在平台的互联互通服务发送软件查询请求。
统一客户端是指互联互通服务专门设置的客户端。协同客户端是指内置在协同方中的互联互通客户端。协同客户端的数量为至少一个。通过客户端可以获取异构参与方所在平台所适用的软件信息,例如由哪个厂商开发的联邦学习软件名称及其版本等信息。软件查询请求用于获取异构参与方所在平台的软件信息。
具体的,可以通过统一客户端,向异构参与方所在平台的互联互通服务发送软件查询请求;也可以通过位于任一协同方中的协同客户端,向异构参与方所在平台的互联互通服务发送软件查询请求。
S603、根据所述异构参与方所在平台的互联互通服务返回的软件信息,从本平台的多个协同客户端中选择匹配的协同客户端。
匹配的协同客户端用于表征协同客户端的软件信息与返回的软件信息相同。
具体的,根据异构参与方所在平台的互联互通服务,在接收到软件查询请求后,向统一客户端或协同客户端返回软件信息。统一客户端或协同客户端根据返回的软件信息,对本平台中的协同客户端进行匹配,将协同客户端的软件信息与返回的软件信息相同的协同客户端,确定为匹配的协同客户端。
S604、根据所述任务依赖图,控制所述协同方和所述异构参与方执行所述联邦学习任务。
本公开实施例的技术方案,通过统一客户端和协同客户端两种方式向异构参与方所在平台的互联互通服务发送软件查询请求,能够增加软件查询请求发送的途径,提高软件查询请求发送的稳定性,根据异构参与方所在平台的互联互通服务返回的软件信息,从本平台的多个协同客户端中选择匹配的协同客户端,提高了匹配的协同客户端的选择效率。
作为上述各基于异构平台的任务处理方法的实现,本公开还提供了一种实施上述各基于异构平台的任务处理方法的执行装置的可选实施例。
图7是本公开实施例中的一种基于异构平台的任务处理装置的示意图。如图7所示的一种基于异构平台的任务处理装置700,包括:任务依赖图获取模块701和任务执行模块702。
其中,任务依赖图获取模块701,用于获取由发起方发起的联邦学习任务的任务依赖图;其中,所述任务依赖图基于标准描述规则进行描述,所述任务依赖图的描述内容包括:图、节点、参与方和节点参与项,用于描述异构参与方对所述联邦学习任务中至少一个节点的执行要求;
任务执行模块702,用于根据所述任务依赖图,控制异构参与方执行所述联邦学习任务。
本公开实施例的技术方案,通过内置于平台中的互联互通服务,获取由发起方发起的联邦学习任务的任务依赖图,根据任务依赖图控制异构参与方执行联邦学习任务。由于任务依赖图基于标准描述规则进行描述,对任务依赖图的描述方式进行了统一,使异构参与方在无需适配的情况下识别任务依赖图,实现了异构平台之间任务处理的互联互通,提高了异构平台之间任务处理互联互通的效率,增加了基于异构平台的任务处理方法的适用性。
可选的,所述图的描述内容用于定义所述任务依赖图的全局信息;
所述节点的描述内容用于定义所述联邦学习任务中的执行步骤信息;
所述参与方的描述内容用于定义参与所述联邦学习任务的参与方信息;
所述节点参与项的描述内容用于定义节点中参与方的执行信息。
可选的,所述图的描述内容包括:图标识和图属性,所述图属性包括:节点列表和参与方列表;
所述节点的描述内容包括:节点标识、节点算法类型和节点属性,所述节点属性包括:节点输入信息和节点输出信息;
所述参与方的描绘内容包括:参与方标识、参与方描述、参与方角色、执行顺序和参与方属性,所述参与方属性包括:节点参与项列表;
所述节点参与项的描绘内容包括:节点标识和节点参与项属性。
可选的,所述图、节点、参与方和节点参与项之间存在依次继承关系,下游描述内容的属性包括对上游描述内容的继承属性和复写属性,以形成所述节点参与项的最终描述内容。
可选的,所述图、节点、参与方和节点参与项中的任一个记为描述项;
任意所述描述项的描述内容中包括引用项,所述引用项用于表征对其他描述项中描述内容的引用。
可选的,所述描述项为节点,所述引用项对应的描述内容为所述节点的节点输入信息和/或节点输出信息。
可选的,所述引用项包括:描述项类型、描述项标识、属性类型和属性值名称。
可选的,所述任务依赖图为有向无环图,采用ProtoBuf语言形成所述描述内容。
可选的,任务依赖图获取模块701具体用于:
获取由发起方中配置的互联互通客户端提供的联邦学习任务的任务依赖图;所述任务依赖图由用户通过领域特定语言脚本、客户端软件开发工具或可视化拖拽界面在发起方提供。
可选的,任务执行模块702包括:
协同方确定单元,用于确定异构参与方位于本平台的协同方;其中,所述异构参与方为位于其他平台的参与方;
任务执行单元,用于根据所述任务依赖图,控制所述协同方和所述异构参与方执行所述联邦学习任务。
可选的,任务执行单元包括:
翻译子单元,用于将所述任务依赖图翻译为所述异构参与方所适用软件信息的目标依赖图;
任务执行子单元,用于将所述目标依赖图提供给所述协同方,由所述协同方根据所述目标依赖图调度所述协同方和所述异构参与方执行所述联邦学习任务。
可选的,任务执行单元包括:
子任务确定子单元,用于对所述任务依赖图进行任务解析和拆分,确定子任务;
调度子单元,用于根据拆分后的子任务,分别调度所述协同方和所述异构参与方执行所述联邦学习任务。
可选的,协同方确定单元包括:
请求发送子单元,用于通过所述互联互通服务的统一客户端或位于任一协同方中的协同客户端,向异构参与方所在平台的互联互通服务发送软件查询请求;
协同方确定子单元,用于根据所述异构参与方所在平台的互联互通服务返回的软件信息,从本平台的多个协同客户端中选择匹配的协同客户端。
上述基于异构平台的任务处理装置可执行本公开任意实施例所提供的基于异构平台的任务处理方法,具备执行基于异构平台的任务处理方法相应的功能模块和有益效果。
本公开的技术方案中,所涉及的任务依赖图和软件查询请求等数据的收集、存储、使用、加工、传输、提供和公开等,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图8示出了可以用来实施本公开的实施例的示例电子设备800的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图8所示,设备800包括计算单元801,其可以根据存储在只读存储器(ROM)802中的计算机程序或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序,来执行各种适当的动作和处理。在RAM 803中,还可存储设备800操作所需的各种程序和数据。计算单元801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如基于异构平台的任务处理方法。例如,在一些实施例中,基于异构平台的任务处理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序加载到RAM 803并由计算单元801执行时,可以执行上文描述的基于异构平台的任务处理方法的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行基于异构平台的任务处理方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)区块链网络和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术也有软件层面的技术。人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等技术;人工智能软件技术主要包括计算机视觉技术、语音识别技术、自然语言处理技术及机器学习/深度学习技术、大数据处理技术、知识图谱技术等几大方向。
云计算(cloud computing),指的是通过网络接入弹性可扩展的共享物理或虚拟资源池,资源可以包括服务器、操作系统、网络、软件、应用和存储设备等,并可以按需、自服务的方式对资源进行部署和管理的技术体系。通过云计算技术,可以为人工智能、区块链等技术应用、模型训练提供高效强大的数据处理能力。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开提供的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (24)
1.一种基于异构平台的任务处理方法,由内置于平台中的互联互通服务执行,所述方法包括:
获取由发起方发起的联邦学习任务的任务依赖图;其中,所述任务依赖图基于标准描述规则进行描述,所述任务依赖图的描述内容包括:图、节点、参与方和节点参与项,用于描述异构参与方对所述联邦学习任务中至少一个节点的执行要求;
根据所述任务依赖图,控制异构参与方执行所述联邦学习任务;
其中,所述根据所述任务依赖图,控制异构参与方执行所述联邦学习任务包括:
确定异构参与方位于本平台的协同方;其中,所述异构参与方为位于其他平台的参与方;
根据所述任务依赖图,控制所述协同方和所述异构参与方执行所述联邦学习任务;
其中,所述根据所述任务依赖图,控制所述协同方和所述异构参与方执行所述联邦学习任务包括:
将所述任务依赖图翻译为所述异构参与方所适用软件信息的目标依赖图;
将所述目标依赖图提供给所述协同方,由所述协同方根据所述目标依赖图调度所述协同方和所述异构参与方执行所述联邦学习任务。
2.根据权利要求1所述的方法,其中:
所述图的描述内容用于定义所述任务依赖图的全局信息;
所述节点的描述内容用于定义所述联邦学习任务中的执行步骤信息;
所述参与方的描述内容用于定义参与所述联邦学习任务的参与方信息;
所述节点参与项的描述内容用于定义节点中参与方的执行信息。
3.根据权利要求2所述的方法,其中:
所述图的描述内容包括:图标识和图属性,所述图属性包括:节点列表和参与方列表;
所述节点的描述内容包括:节点标识、节点算法类型和节点属性,所述节点属性包括:节点输入信息和节点输出信息;
所述参与方的描绘内容包括:参与方标识、参与方描述、参与方角色、执行顺序和参与方属性,所述参与方属性包括:节点参与项列表;
所述节点参与项的描绘内容包括:节点标识和节点参与项属性。
4.根据权利要求1-3任一所述的方法,其中:所述图、节点、参与方和节点参与项的属性之间存在依次继承关系,下游描述内容的属性包括对上游描述内容的继承属性和复写属性,以形成所述节点参与项的最终描述内容。
5.根据权利要求1-3任一所述的方法,其中:所述图、节点、参与方和节点参与项中的任一个记为描述项;
任意所述描述项的描述内容中包括引用项,所述引用项用于表征对其他描述项中描述内容的引用。
6.根据权利要求5所述的方法,其中,所述描述项为节点,所述引用项对应的描述内容为所述节点的节点输入信息和/或节点输出信息。
7.根据权利要求5所述的方法,其中,所述引用项包括:描述项类型、描述项标识、属性类型和属性值名称。
8.根据权利要求1所述的方法,其中,所述任务依赖图为有向无环图,采用ProtoBuf语言形成所述描述内容。
9.根据权利要求1所述的方法,其中,获取由发起方发起的联邦学习任务的任务依赖图包括:
获取由发起方中配置的互联互通客户端提供的联邦学习任务的任务依赖图;所述任务依赖图由用户通过领域特定语言脚本、客户端软件开发工具或可视化拖拽界面在发起方提供。
10.根据权利要求1所述的方法,其中,根据所述任务依赖图,控制所述协同方和所述异构参与方执行所述联邦学习任务包括:
对所述任务依赖图进行任务解析和拆分,确定子任务;
根据拆分后的子任务,分别调度所述协同方和所述异构参与方执行所述联邦学习任务。
11.根据权利要求1所述的方法,其中,确定异构参与方位于本平台的协同方包括:
通过所述互联互通服务的统一客户端或位于任一协同方中的协同客户端,向异构参与方所在平台的互联互通服务发送软件查询请求;
根据所述异构参与方所在平台的互联互通服务返回的软件信息,从本平台的多个协同客户端中选择匹配的协同客户端。
12.一种基于异构平台的任务处理装置,由内置于平台中的互联互通服务执行,所述装置包括:
任务依赖图获取模块,用于获取由发起方发起的联邦学习任务的任务依赖图;其中,所述任务依赖图基于标准描述规则进行描述,所述任务依赖图的描述内容包括:图、节点、参与方和节点参与项,用于描述异构参与方对所述联邦学习任务中至少一个节点的执行要求;
任务执行模块,用于根据所述任务依赖图,控制异构参与方执行所述联邦学习任务;
其中,所述任务执行模块包括:
协同方确定单元,用于确定异构参与方位于本平台的协同方;其中,所述异构参与方为位于其他平台的参与方;
任务执行单元,用于根据所述任务依赖图,控制所述协同方和所述异构参与方执行所述联邦学习任务;
其中,所述任务执行单元包括:
翻译子单元,用于将所述任务依赖图翻译为所述异构参与方所适用软件信息的目标依赖图;
任务执行子单元,用于将所述目标依赖图提供给所述协同方,由所述协同方根据所述目标依赖图调度所述协同方和所述异构参与方执行所述联邦学习任务。
13.根据权利要求12所述的装置,其中:
所述图的描述内容用于定义所述任务依赖图的全局信息;
所述节点的描述内容用于定义所述联邦学习任务中的执行步骤信息;
所述参与方的描述内容用于定义参与所述联邦学习任务的参与方信息;
所述节点参与项的描述内容用于定义节点中参与方的执行信息。
14.根据权利要求13所述的装置,其中:
所述图的描述内容包括:图标识和图属性,所述图属性包括:节点列表和参与方列表;
所述节点的描述内容包括:节点标识、节点算法类型和节点属性,所述节点属性包括:节点输入信息和节点输出信息;
所述参与方的描绘内容包括:参与方标识、参与方描述、参与方角色、执行顺序和参与方属性,所述参与方属性包括:节点参与项列表;
所述节点参与项的描绘内容包括:节点标识和节点参与项属性。
15.根据权利要求12-14任一所述的装置,其中:所述图、节点、参与方和节点参与项的属性之间存在依次继承关系,下游描述内容的属性包括对上游描述内容的继承属性和复写属性,以形成所述节点参与项的最终描述内容。
16.根据权利要求12-14任一所述的装置,其中:所述图、节点、参与方和节点参与项中的任一个记为描述项;
任意所述描述项的描述内容中包括引用项,所述引用项用于表征对其他描述项中描述内容的引用。
17.根据权利要求16所述的装置,其中,所述描述项为节点,所述引用项对应的描述内容为所述节点的节点输入信息和/或节点输出信息。
18.根据权利要求16所述的装置,其中,所述引用项包括:描述项类型、描述项标识、属性类型和属性值名称。
19.根据权利要求12所述的装置,其中,所述任务依赖图为有向无环图,采用ProtoBuf语言形成所述描述内容。
20.根据权利要求12所述的装置,其中,任务依赖图获取模块具体用于:
获取由发起方中配置的互联互通客户端提供的联邦学习任务的任务依赖图;所述任务依赖图由用户通过领域特定语言脚本、客户端软件开发工具或可视化拖拽界面在发起方提供。
21.根据权利要求12所述的装置,其中,任务执行单元包括:
子任务确定子单元,用于对所述任务依赖图进行任务解析和拆分,确定子任务;
调度子单元,用于根据拆分后的子任务,分别调度所述协同方和所述异构参与方执行所述联邦学习任务。
22.根据权利要求12所述的装置,其中,协同方确定单元包括:
请求发送子单元,用于通过所述互联互通服务的统一客户端或位于任一协同方中的协同客户端,向异构参与方所在平台的互联互通服务发送软件查询请求;
协同方确定子单元,用于根据所述异构参与方所在平台的互联互通服务返回的软件信息,从本平台的多个协同客户端中选择匹配的协同客户端。
23. 一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-11中任一项所述的基于异构平台的任务处理方法。
24.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-11中任一项所述的基于异构平台的任务处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211130621.2A CN115525448B (zh) | 2022-09-16 | 2022-09-16 | 一种基于异构平台的任务处理方法、装置、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211130621.2A CN115525448B (zh) | 2022-09-16 | 2022-09-16 | 一种基于异构平台的任务处理方法、装置、设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115525448A CN115525448A (zh) | 2022-12-27 |
CN115525448B true CN115525448B (zh) | 2023-10-17 |
Family
ID=84696912
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211130621.2A Active CN115525448B (zh) | 2022-09-16 | 2022-09-16 | 一种基于异构平台的任务处理方法、装置、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115525448B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113112029A (zh) * | 2021-04-22 | 2021-07-13 | 中国科学院计算技术研究所 | 一种应用于异构计算设备的联邦学习系统和方法 |
CN113672352A (zh) * | 2021-08-23 | 2021-11-19 | 支付宝(杭州)信息技术有限公司 | 一种基于容器部署联邦学习任务的方法及装置 |
CN113723623A (zh) * | 2021-08-10 | 2021-11-30 | 深圳致星科技有限公司 | 联邦学习审计装置、系统及方法 |
CN114090983A (zh) * | 2022-01-24 | 2022-02-25 | 亿景智联(北京)科技有限公司 | 一种异构联邦学习平台联通方法及装置 |
CN114254761A (zh) * | 2021-12-22 | 2022-03-29 | 安徽兰科智能科技有限公司 | 一种适用于异构网络的通用联邦学习实现方法 |
CN114266357A (zh) * | 2020-09-16 | 2022-04-01 | 京东科技控股股份有限公司 | 联邦学习模型构建方法、装置、中心服务器以及客户端 |
CN114328432A (zh) * | 2021-12-02 | 2022-04-12 | 京信数据科技有限公司 | 一种大数据联邦学习处理方法及系统 |
CN114500054A (zh) * | 2022-01-27 | 2022-05-13 | 百度在线网络技术(北京)有限公司 | 服务访问方法、服务访问装置、电子设备以及存储介质 |
CN114675965A (zh) * | 2022-03-10 | 2022-06-28 | 北京百度网讯科技有限公司 | 联邦学习方法、装置、设备和介质 |
CN114911870A (zh) * | 2022-05-26 | 2022-08-16 | 沈阳建筑大学 | 一种面向多源异构工业数据的融合管理架构 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210374499A1 (en) * | 2020-05-26 | 2021-12-02 | International Business Machines Corporation | Iterative deep graph learning for graph neural networks |
-
2022
- 2022-09-16 CN CN202211130621.2A patent/CN115525448B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114266357A (zh) * | 2020-09-16 | 2022-04-01 | 京东科技控股股份有限公司 | 联邦学习模型构建方法、装置、中心服务器以及客户端 |
CN113112029A (zh) * | 2021-04-22 | 2021-07-13 | 中国科学院计算技术研究所 | 一种应用于异构计算设备的联邦学习系统和方法 |
CN113723623A (zh) * | 2021-08-10 | 2021-11-30 | 深圳致星科技有限公司 | 联邦学习审计装置、系统及方法 |
CN113672352A (zh) * | 2021-08-23 | 2021-11-19 | 支付宝(杭州)信息技术有限公司 | 一种基于容器部署联邦学习任务的方法及装置 |
CN114328432A (zh) * | 2021-12-02 | 2022-04-12 | 京信数据科技有限公司 | 一种大数据联邦学习处理方法及系统 |
CN114254761A (zh) * | 2021-12-22 | 2022-03-29 | 安徽兰科智能科技有限公司 | 一种适用于异构网络的通用联邦学习实现方法 |
CN114090983A (zh) * | 2022-01-24 | 2022-02-25 | 亿景智联(北京)科技有限公司 | 一种异构联邦学习平台联通方法及装置 |
CN114500054A (zh) * | 2022-01-27 | 2022-05-13 | 百度在线网络技术(北京)有限公司 | 服务访问方法、服务访问装置、电子设备以及存储介质 |
CN114675965A (zh) * | 2022-03-10 | 2022-06-28 | 北京百度网讯科技有限公司 | 联邦学习方法、装置、设备和介质 |
CN114911870A (zh) * | 2022-05-26 | 2022-08-16 | 沈阳建筑大学 | 一种面向多源异构工业数据的融合管理架构 |
Non-Patent Citations (2)
Title |
---|
基于数据湖的联邦数据管理系统的设计与实现;王少杰;《中国优秀硕士学位论文全文数据库 信息科技辑》(第3期);I138-281 * |
多用户协同的移动边缘计算资源优化研究;蔡玲双;《中国优秀硕士学位论文全文数据库 信息科技辑》(第1期);I136-1752 * |
Also Published As
Publication number | Publication date |
---|---|
CN115525448A (zh) | 2022-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10725827B2 (en) | Artificial intelligence based virtual automated assistance | |
US10255265B2 (en) | Process flow diagramming based on natural language processing | |
CN113377520B (zh) | 资源调度方法、装置、设备以及存储介质 | |
CN109033223A (zh) | 用于跨类型对话的方法、装置、设备以及计算机可读存储介质 | |
US20160103706A1 (en) | Automatically Generating Execution Sequences for Workflows | |
US20160042735A1 (en) | Dialog Flow Management In Hierarchical Task Dialogs | |
US11243824B1 (en) | Creation and management of live representations of content through intelligent copy paste actions | |
US11734027B2 (en) | Data storage and retrieval system for subdividing unstructured platform-agnostic user input into platform-specific data objects and data entities | |
US20240154920A1 (en) | Method and System for Chatbot-Enabled Web Forms and Workflows | |
Pérez-Soler et al. | Towards Conversational Syntax for Domain-Specific Languages using Chatbots. | |
CN109948151A (zh) | 构建语音助手的方法 | |
Kephart et al. | A symbiotic cognitive computing perspective on autonomic computing | |
WO2023142451A1 (zh) | 工作流生成方法、装置、电子设备 | |
Thosani et al. | A self learning chat-bot from user interactions and preferences | |
Li et al. | Makespan-minimized computation offloading for smart toys in edge-cloud computing | |
CN113641591A (zh) | 测试用例生成方法及装置、测试方法及装置 | |
Murray-Rust et al. | LSCitter: building social machines by augmenting existing social networks with interaction models | |
US11329933B1 (en) | Persisting an AI-supported conversation across multiple channels | |
CN115525448B (zh) | 一种基于异构平台的任务处理方法、装置、设备和介质 | |
CN117492743A (zh) | 基于大语言模型的目标应用生成方法、装置及存储介质 | |
CN110287171B (zh) | 一种数据处理方法及系统 | |
CN112348197A (zh) | 基于联邦学习的模型生成方法及装置 | |
Murray-Rust et al. | Softening electronic institutions to support natural interaction | |
CN110442698A (zh) | 对话内容生成方法及系统 | |
Blumendorf et al. | Multimodal user interfaces for smart environments: the multi-access service platform |
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 |