CN113377503A - 一种协作式ai的任务调度方法、装置与系统 - Google Patents
一种协作式ai的任务调度方法、装置与系统 Download PDFInfo
- Publication number
- CN113377503A CN113377503A CN202010159917.1A CN202010159917A CN113377503A CN 113377503 A CN113377503 A CN 113377503A CN 202010159917 A CN202010159917 A CN 202010159917A CN 113377503 A CN113377503 A CN 113377503A
- Authority
- CN
- China
- Prior art keywords
- task
- model
- data
- execution
- subset
- 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.)
- Pending
Links
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/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提出一种协作式AI的任务调度方法、装置与系统。所述方法作用于包含应用多个AI模型的任务,所述方法通过分析任务内某执行阶段的各模型特征,从而得到相关模型间的数据关系图,从而确定该阶段的协作执行组及对应的AI设备;通过运行模型的输出,联合确定出下一执行阶段的预测执行组及对应的AI设备,在作任务执行转移时将任务相关信息发送给该预测执行组。通过此方法,可以使得任务在分布式部署的AI设备上具有随任务目标灵活迁移的能力,加速AI的应用普及。
Description
技术领域
本申请涉及协作式AI,主要涉及在分布式AI里对多个AI算法作协同训练与多个AI设备间协同完成任务的方法。
背景技术
目前人们普遍认为人工智能(AI-Artificial Intelligence)会是二十一世纪及以后最具影响力的技术之一。传统集中式的AI系统的模式是集中AI算法训练、集中AI模型部署与应用。
随着硬件技术的变化,AI算法类型的越来越多,AI能力越来越具有差异性,AI设备更具有分布式的特性。这种分布式AI设备的灵活性与传统以集中方式提供并调度使用的方法就是一对无法简单调和的矛盾。另一方面,现实情况是,应用开发商也希望能够通过AI来提升应用的能力,从而提升应用的吸引力。传统集中式的AI系统就失去了对新业务应用的吸引力。
发明内容
因此,本申请提出解决上述问题、利用协作式AI来提升分布式硬件部署情况下AI算法训练效率、提升AI模型应用灵活性的方法、系统和装置。这些方法,应用于不特定的工具、设备、系统甚至数据中心或云服务中心,从而构成一个协作式AI的分布式系统。为此,本发明:
一方面,提出一种协作式AI的模型训练方法,所述方法作用于多个AI算法组成的集合,所述方法用于生成协作训练策略,还包括:
加工生成第一数据集,所述第一数据集包含多个第一数据,所述第一数据用于描述所述AI算法集中的一个AI算法;加工生成第二数据集,所述第二数据集包含多个第二数据,所述第二数据用于描述多个所述第一数据间的独立传递关系;加工生成第三数据集,所述第三数据集包含多个第三数据,所述第三数据用于描述一组AI算法的训练计划,所述AI算法训练计划为某个所述第二数据对设备资源的映射结果。进一步,所述第一数据包含由输入/输出/资源约束组成的三元组,所述三元组用于描述AI算法的特征。进一步,所述独立的传递关系是,其中的一个所述第一数据的输出,同下一环节的另一个所述第一数据的输入,具有可匹配性。进一步,加工生成所述第三数据集还包括,提取第四数据集,所述第四数据集包含多个第四数据,所述第四数据为基于一个所述第三数据作AI训练时所需设备的描述信息。进一步,加工生成所述第三数据集还包括,所述第三数据还包含AI算法组对应的训练策略,所述训练策略为AI算法组中各AI算法在训练时的协同方式。进一步,根据其中的一个所述第四数据,部署与实施对应所述第三数据的算法训练,得到各自对应的AI模型。进一步,提取第五数据,所述第五数据来自于所述AI模型的部署与应用的结果;加工所述第五数据,所述加工结果用于对所述AI算法的迭代优化。
在一个以部署有总控能力的数据中心或云设备环境中,通过对分布式部署的各AI设备在算法训练与模型应用时作协同,从而为应用提供更加灵活的AI能力,并提高AI对应用的适用范围。该协作式训练策略生成方法为:接收待寻求协同的算法集合,所述算法集合将用于协同训练;分析算法,提取算法外部特征;分析该集合各算法外部特征,得到算法外部特征的有向无环图;根据分析算法外部特征所得的有向无环图所表示的算法间的独立传递关系,根据所管理的AI设备资源,分析此独立传递关系图并得到作算法训练时的各算法对应的设备槽位;请求并得到各算法对应的训练样本,按对应关系分别将样本发送给相应槽位的设备;按独立传递关系所对应的各算法实施相应设备上的算法训练;请求与得到各算法的验证子集,对各算法训练所得的相应模型作效果评估;根据评估结果确定各算法对应的迭代优化策略。进一步,算法外部特征可以表示为一种三元组信息,所述三元组信息为算法的输入/输出/资源约束,所述资源约束表示所述算法训练时的设备资源要求;进一步,所述独立传递关系使用有向无环图描述,所述传递关系内部各算法具有这样一种关系:一个算法的输出,可以作为下一算法的输入;进一步,从所述算法集合中得到的独立传递关系可以为一个或多个,在具有多个独立传递关系的情况下,在所管理的AI硬件资源充分的情况下,各独立传递关系中的算法训练是独立进入的;进一步,将同一个独立传递关系内所对应的算法在完成算法训练后的所得到的评估数据作为独立评估集合,将所述独立评估集合提交给强化学习模型作训练,得到更新后的算法协同训练生成策略,使用此策略生成下一轮的协同训练。
这样,实施了包含上述部分或全部方法与步骤的产品与服务系统,能够提高AI算法训练的效率,并为用户提供更高质量的AI模型,从而使得AI具有助推更便捷云应用与大数据应用的能力,加速云应用与大数据应用的推广与普及。
另一方面,提供一种协作式AI的算法训练策略生成装置,该装置包含:
调度总台:该总台包含任务管理单元与AI管理单元,前者用于对AI任务作调度与分派等管理操作,后者对AI算法训练与模型部署作管理;
终端设备群管理单元:该管理单元用于管理那些具有多个多样性的AI设备,各AI设备具有管理可达的槽位/IP,该槽位/IP维护在调度总台,各AI设备还具有一个或多个的部署信息:空间位置,路径关系等,不失一般性,该设备群还可以按分区进行划分,以提供更便捷的模型部署与任务执行信息;
边缘设备群管理单元:该管理单元用于管理那些具有类型较为单一的AI设备,这些AI设备具有比终端设备群中的大多数设备更强的能力,作为设备群的分组结果,某一边缘设备距离终端设备群的一个分区较近,而距离终端设备群的另一个分区较远;
云上设备群管理单元:该管理单元用于管理那些具有单一类型的、集中式AI设备,这些AI设备具有比边缘设备群中的AI设备更强的能力,并以远程调用接口的方式提供AI模型服务。
本发明提出的上述单元,同产品实际实施时所需要的其它单元、模块以及相关平台与相关引擎一起,共同实现一个具有协同训练能力的AI训练策略生成装置。体现在:训练策略生成装置接收待寻求协同的算法集合,所述算法集合将用于协同训练;训练策略生成装置分析算法,训练策略生成装置提取算法外部特征;分析该集合各算法外部特征,训练策略生成装置得到算法外部特征的有向无环图;根据分析算法外部特征所得的有向无环图所表示的算法间的独立传递关系,以及所管理的AI设备资源,训练策略生成装置分析此独立传递关系图并得到作算法训练时的各算法对应的设备槽位;训练策略生成装置请求并得到各算法对应的训练样本,按对应关系训练策略生成装置分别将样本发送给相应槽位的设备;按独立传递关系所对应的各算法,训练策略生成装置实施相应设备上的算法训练;训练策略生成装置请求与得到各算法的验证子集,对各算法训练所得的相应模型作效果评估;训练策略生成装置根据评估结果确定各算法对应的迭代优化策略。进一步,算法外部特征可以表示为一种三元组信息,所述三元组信息为算法的输入/输出/资源约束,所述资源约束表示所述算法训练时的设备资源要求;进一步,所述独立传递关系使用有向无环图描述,所述传递关系内部各算法具有这样一种关系:一个算法的输出,可以作为下一算法的输入;进一步,从所述算法集合中得到的独立传递关系可以为一个或多个,在具有多个独立传递关系的情况下,在所管理的AI硬件资源充分的情况下,各独立传递关系中的算法训练是独立进入的;进一步,训练策略生成装置将同一个独立传递关系内所对应的算法在完成算法训练后的所得到的评估数据作为独立评估集合,将所述独立评估集合提交给强化学习模型作训练,训练策略生成装置得到更新后的算法协同训练生成策略,使用此策略生成下一轮的协同训练。
这样,具有上述功能装置的产品与服务系统,能够提高AI算法训练的效率,并能够为用户提供更高质量的AI模型,从而使得AI具有助推更便捷云应用与大数据应用的能力,加速云应用与大数据应用的推广与普及。
再一方面,提出一种协作式AI的任务调度方法,所述方法作用于包含应用多个AI模型的任务,该方法还包括:
加工生成第一数据,所述第一数据用于描述第四模型子集中各元素对应模型的特征,所述第四模型子集为所述AI模型集的子集;将所述第一数据加入第一数据集;加工生成第二数据,所述第二数据用于描述所述第四模型子集中的一个或多个模型间的协同关系;将所述第二数据加入第二数据集;加工生成第三数据,所述第三数据用于描述对所述AI模型集中的多个AI模型组成的第五模型子集,所述第五模型子集与所述第四模型子集具有交集;将所述第三数据加入第三数据集;发送任务数据,执行模型功能,所述模型功能的执行生效于所述第四模型子集对应的第六设备子集中的AI设备,所述第六设备子集包含接收所述任务数据的一个或多个设备。进一步还包括,所述第一数据包含由输入/输出/资源约束组成的三元组,所述三元组用于描述所述AI模型集中各模型的模型外部特征。进一步还包括,所述第二数据所描述的协同关系用于描述所述第四模型子集中的某个第四模型的输出与所述第四模型子集中的另一个第四模型的输入间的对应性。进一步,加工生成所述第三数据,并将所述第三数据加入所述第三数据集,还包括,所述第三数据集用于描述构成任务转移执行环境的模型集合。进一步,执行模型功能,还包括,得到第四模型子集中某模型的执行结果,根据所述执行结果生成新的第三数据,并使用新第三数据代替所述第三数据集中具有相同第一设备子集的原第三数据。进一步,还包括,所述第三数据还包含任务转移概率,所述任务转移概率由所述第三数据对应的所述第四模型子集中的执行模型的执行结果得到并刷新。进一步,还包括,下发并更新第五设备对应的AI模型,所述第五设备包含在第七设备子集中,所述第七设备子集为所述第三数据集中具有最高任务转移概率的第三数据所对应的设备集,重置所述第三数据集。
在一个以部署有总控能力的数据中心或云设备环境中,通过对具有分布式特征的各AI设备在算法训练与模型应用时作协同,从而为应用提供更加灵活的AI能力,并提高AI对应用的适用范围。该模型应用的协同特征具有AI任务调度方法,该方法为:确定对应的AI设备子集,所述对AI设备子集的确定过程,使用AI任务的任务信息;提取与确定AI设备子集对应于AI任务的模型子集;得到模型子集中各模型的模型外部特征;根据各模型的模型外部特征,确定各模型或各AI设备间的任务关联性;根据所述任务关联性,驱动AI任务的执行;接收执行任务的模型/AI设备的输出;根据所述输出,预测任务的任务转移关系;根据所预测的任务转移关系,确定任务转移的一个或多个由AI设备组成的待执行任务设备子集;根据各执行任务的模型/AI设备的输出,确定各待执行任务设备子集作为执行所转移任务的概率;根据所得到的转移任务的执行概率值,判定是否已经达到任务转移的边界条件;如果未达边界条件,则继续驱动任务在当前设备子集中执行,如果已经达边界条件,将任务信息下发到转移概率最的下一待执行任务设备子集。进一步,所述AI任务信息包含任务的输入、任务设备的部署信息等内容。进一步,还包含,所述模型外部特征包含模型的输入/输出/资源约束,所述资源约束为所述模型在部署与应用时的资源要求。进一步,还包括,所述任务关联性为模型任务的输入与输出的依赖关系,即在任务中前一模型的输出恰好作为后一模型的输入。进一步,还包括,所述任务转移关系为AI任务在紧邻两个模型子集间的直接传递关系,所述两个紧邻模型子集具有相同模型形成的交集;进一步,同一AI任务下,一个当前任务模型子集往往对应于多个待执行任务模型子集的预测结果;进一步,根据当前任务模型的输出,对各任务转移模型子集作转移概率计算;进一步,经过持续的概率计算,从而得到某个待执行任务模型子集的任务转移概率高于概率边界值,从而最终确定任务转移目标。
这样,实施了包含上述部分或全部方法与步骤的产品与服务系统,能够结合任务目标动态确定AI任务的执行路径与执行过程,并使得AI设备的使用具有较高的灵活性,从而使得AI具有助推更便捷云应用与大数据应用的能力,加速云应用与大数据应用的推广与普及。
另一方面,提供一种协作式AI的任务调度装置,该装置包含:
调度总台:该总台包含任务管理单元与AI管理单元,前者用于对AI任务作调度与分派等管理操作,后者对AI算法训练与模型部署作管理;
终端设备群管理单元:该管理单元用于管理那些具有多个多样性的AI设备,各AI设备具有管理可达的槽位/IP,该槽位/IP维护在调度总台,各AI设备还具有一个或多个的部署信息:空间位置,路径关系等,不失一般性,该设备群还可以按分区进行划分,以提供更便捷的模型部署与任务执行信息;
边缘设备群管理单元:该管理单元用于管理那些具有类型较为单一的AI设备,这些AI设备具有比终端设备群中的大多数设备更强的能力,作为设备群的分组结果,某一边缘设备距离终端设备群的一个分区较近,而距离终端设备群的另一个分区较远;
云上设备群管理单元:该管理单元用于管理那些具有单一类型的、集中式AI设备,这些AI设备具有比边缘设备群中的AI设备更强的能力,并以远程调用接口的方式AI模型服务。
本发明提出的上述单元,同产品实际实施时所需要的其它单元、模块以及相关平台与相关引擎一起,共同实现一个具有协同能力的AI任务调度装置。体现在:AI任务调度装置确定对应的AI设备子集,所述对AI设备子集的确定过程,使用AI任务的任务信息;AI任务调度装置提取与确定AI设备子集对应于AI任务的模型子集;AI任务调度装置得到模型子集中各模型的模型外部特征;根据各模型的模型外部特征,AI任务调度装置确定各模型或各AI设备间的任务关联性;根据所述任务关联性,AI任务调度装置驱动AI任务的执行;AI任务调度装置接收执行任务的模型/AI设备的输出;根据所述输出,AI任务调度装置预测任务的任务转移关系;根据所预测的任务转移关系,AI任务调度装置确定任务转移的一个或多个由AI设备组成的待执行任务设备子集;根据各执行任务的模型/AI设备的输出,AI任务调度装置确定各待执行任务设备子集作为执行所转移任务的概率;根据所得到的转移任务的执行概率值,AI任务调度装置判定是否已经达到任务转移的边界条件;如果未达边界条件,则AI任务调度装置继续驱动任务在当前设备子集中执行,如果已经达边界条件,AI任务调度装置将任务信息下发到转移概率最的下一待执行任务设备子集。进一步,所述AI任务信息包含任务的输入、任务设备的部署信息等内容。进一步,还包含,所述模型外部特征包含模型的输入/输出/资源约束,所述资源约束为所述模型在部署与应用时的资源要求。进一步,还包括,所述任务关联性为模型任务的输入与输出的依赖关系,即在任务中前一模型的输出恰好作为后一模型的输入。进一步,还包括,所述任务转移关系为AI任务在紧邻两个模型子集间的直接传递关系,所述两个紧邻模型子集具有相同模型形成的交集;进一步,同一AI任务下,一个当前任务模型子集往往对应于多个待执行任务模型子集的预测结果;进一步,根据当前任务模型的输出,AI任务调度装置对各任务转移模型子集作转移概率计算;进一步,AI任务调度装置经过持续的概率计算,从而得到某个待执行任务模型子集的任务转移概率高于概率边界值,从而最终确定任务转移目标。
这样,具有上述功能装置的产品与服务系统,能够结合任务目标动态确定AI任务的执行路径与执行过程,并使得AI设备的使用具有较高的灵活性,从而使得AI具有助推更便捷云应用与大数据应用的能力,加速云应用与大数据应用的推广与普及。
进一步,提出一种协作式AI的设备内任务调度方法,该方法根据各任务间模型的运行情况以及AI资源的竞争情况作任务执行的调度,还包括:
修改第一数据集,所述第一数据集包含一个或多个第一数据,所述第一数据用于记录与标识就绪状态的AI模型,所述修改操作为将关于某个AI模型的第一数据加入所述第一数据集;修改第二数据集,所述第二数据集包含第二数据,所述第二数据用于记录与标识处于执行状态的AI模型,所述修改操作为将关于某个AI模型的第二数据加入所述第二数据集;修改所述第二数据集,所述修改操作为将关于某个AI模型的第二数据从所述第二数据集中移除;修改所述第一数据集,所述修改操作为将关于某个AI模型的第一数据从所述第一数据集中移除。进一步,将所述第一数据加入所述第一数据集的时机,为AI模型的进入应用状态、或AI模型的执行阻塞条件消除。进一步,将所述第二数据加入所述第二数据集的时机,为所述第二数据所对应的AI模型的执行序匹配AI设备资源的竞争与使用率状态,所述AI模型的执行序为这三个属性中的至少某一个属性:AI模型的优先级、或AI模型对应任务的优先级、或AI模型的时间片未尽情况。进一步,将所述第二数据从所述第二数据集中移除的时机,为所述AI模型的执行序不满足AI设备资源的竞争与使用率状态。进一步,所述将所述第一数据从所述第一数据集中移除的时机,为所述AI模型的执行被阻塞、或所述AI模型结束执行、或所述AI模型所对应任务已经完成。
在一个部署了AI模型并执行AI模型任务的设备环境中,提供一个结合资源占用与优先级机制的调度AI模型任务的方法。接收所部署的AI模型任务的信息;提取与分析AI模型任务的启动条件,并为模型任务在该设备上的启动作运行条件的准备;根据启动条件,启动AI模型任务;转发属于该AI模型任务输入的前一执行阶段的输出数据给处于启动过程的该AI模型任务;新生成就绪队列数据,该就绪队列数据对应所启动的AI模型任务,并将该就绪队列数据加入设备AI模型的就绪队列数据集;确定AI设备中的环境资源占用情况、确定任务与模型各自的优先级、AI设备硬件类型与AI模型的匹配度等执行信息,结合这些执行信息判定处于启动阶段的AI模型任务是否满足进入执行队列的条件,如果满足,则新生成关于该模型任务的执行队列数据,并将该执行队列数据加入执行队列数据集;在AI模型任务进入执行队列集以后,执行该AI模型任务;在后续某个时间段,或者该AI模型任务的时间片用完、或者因为新AI模型任务的加入导致该模型任务的优先级被降低到无法参与资源竞争,则中断AI模型的执行;如果AI模型任务的执行过程被阻塞,则中断该AI模型的执行,且将该AI模型从对应就绪队列与执行队列中移除,后续在阻塞AI模型任务执行的阻塞事件消除后,再将该AI模型任务加入就绪队列;如果该AI模型任务已经完成,则将该AI模型从对应就绪队列与执行队列中移除。
这样,具有所述AI模型任务调度能力的AI设备与产品实现,会为AI应用提供更多的灵活性,并提高AI设备的能力以及资源利用率,并进一步提升部署这种AI设备的系统的整体效益。
另一方面,提供与实现一种协作式AI的任务调度装置,该装置对于部署在装置内的多个AI模型,根据各任务的运行情况以及AI资源的竞争情况作模型执行的调度。进一步,该装置包含:
AI执行单元:该单元包括AI模型管理模块和本地模型。该单元与下属模块用于提供对可划分的AI模型任务的执行引擎与管理基础信息;
通用执行单元:该单元包括本地任务模块与本地管理模块。该单元与下属模块用于提供本地任务通用的执行,以及本地管理任务的执行;
采集单元:该单元包括种类采集模块,如包括但不限于视频采集、图像采集、音频采集等;
网络单元:该单元包括网络数据收发模块以及商品/应用映射模块。该单元与下属模块共同完成各任务的数据通过网络的收发过程;
任务维护单元:该单元包括设备资源管理模块与设备任务管理模块,以及就绪任务队列与执行任务队列。
本发明提出的上述单元,同产品实际实施时所需要的其它单元、模块以及相关平台与相关引擎一起,共同实现一个具有综合调度能力的AI调度装置。体现在:AI调度装置接收所部署的AI模型任务的信息;AI调度装置提取与分析AI模型任务的启动条件,并为模型任务在该设备上的启动作运行条件的准备;根据启动条件,AI调度装置启动AI模型任务;AI调度装置转发属于该AI模型任务输入的前一执行阶段的输出数据给处于启动过程的该AI模型任务;AI调度装置新生成就绪队列数据,该就绪队列数据对应所启动的AI模型任务,并将该就绪队列数据加入设备AI模型的就绪队列数据集;AI调度装置确定AI设备中的环境资源占用情况、确定任务与模型各自的优先级、AI设备硬件类型与AI模型的匹配度等执行信息,AI调度装置结合这些执行信息判定处于启动阶段的AI模型任务是否满足进入执行队列的条件,如果满足,则AI调度装置新生成关于该模型任务的执行队列数据,AI调度装置并将该执行队列数据加入执行队列数据集;在AI模型任务进入执行队列集以后,AI调度装置执行该AI模型任务;在后续某个时间段,或者该AI模型任务的时间片用完、或者因为新AI模型任务的加入导致该模型任务的优先级被降低到无法参与资源竞争,AI调度装置则中断AI模型的执行;如果AI模型任务的执行过程被阻塞,AI调度装置则中断该AI模型的执行,AI调度装置且将该AI模型从对应就绪队列与执行队列中移除,后续在阻塞AI模型任务执行的阻塞事件消除后,AI调度装置再将该AI模型任务加入就绪队列;如果该AI模型任务已经完成,AI调度装置则将该AI模型从对应就绪队列与执行队列中移除。
这样,具有所述AI模型任务调度能力的AI设备与产品实现,会为AI应用提供更多的灵活性,并提高AI设备的能力以及资源利用率,并进一步提升部署这种AI设备的系统的整体效益。
另一方面,提供了一种计算机可读存储介质,该计算机存储介质存储有程序指令,该程序指令当被处理器运行时,该处理器(分别)具有执行上述关于方法的实施过程。
另一方面,提供了一种管理的装置,包括存储组件,处理组件和通信组件,存储组件,处理组件和通信组件相互连接。其中,存储组件用于存储数据处理代码,通信组件用于与外部设备进行信息交互;处理组件被配置用于调用程序代码,分别行使上述关于装置的功能。
附图说明
为了更清楚地说明本发明实施的技术方案,更清楚地阐述发明目标的达成要素、方式与过程,下面将对本发明实施中所需要使用的附图进行说明:
图1是本发明提出的系统组成图之一;
图2是本发明提出的系统组成图之一;
图3是本发明提出的系统组成图之一;
图4是实施本发明的产品的部署示意图之一;
图5是实施本发明的产品的部署示意图之一;
图6是实施本发明的产品的部署示意图之一;
图7是本发明提出的系统组成图之一;
图8是本发明提出的系统组成图之一;
图9是本发明提出的操作执行流程之一;
图10是本发明提出的操作执行流程之一;
图11是本发明提出的操作执行流程之一;
图12是本发明提出的操作执行流程之一;
图13是本发明提出的操作执行流程之一;
图14是本发明提出的操作执行流程之一;
图15是本发明提出的操作执行流程之一;
图16是本发明提出的操作执行流程之一;
图17是本发明提出的操作执行流程之一;
图18是本发明提出的操作执行流程之一;
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例进行描述。
本申请的说明书和权利要求书及所述附图中的术语″第一″、″第二″和″第三″等是用于区别不同对象,而不是用于描述特定顺序。此外,″包括″和″具有″以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及″实施例″意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
在本申请书中使用的术语″服务器″、″设备″、″装置″、″单元″、″部件″、″模块″、″系统″等用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件、或执行中的软件。例如,服务器可以是但不限于,处理器,数据处理平台,计算设备,计算机,两个或更多个计算机等;单元可以是但不限于,在处理器上运行的进程、可运行对象、可执行文件、执行线程、或其它任何可执行的计算机程序。一个或多个单元可驻留在进程和/或执行线程中,一个单元也可位于一个计算机上和/或分布在2个或更多个计算机之间。此外,这些单元可从在上面存储有各种数据结构的各种计算机可读介质执行。单元可根据具有一个或多个数据分组(例如来自与本地系统、分布式系统和/或网络间的另一单元交互的二个单元的数据,例如通过信号与其它系统交互的互联网)的信号通过本地和/或远程进程来通信。
首先,对本申请中的部分用语进行解释说明,以便于本领域技术人员理解。所列用语包含如下:
(1)云计算:即Cloud Computing,指那种拥有集成度优势、连接在网络环境中、以服务方式向用户提供计算、存储甚至软件能力的新型计算范式。这种新的计算范式跟旧有的计算范式的差异,体现在可感观与可用性上就是,它对用户而言并不存在可见的固定形态、甚至基本不存在无资源可用的状态,故被叫做云计算;
(2)人工智能:即Artificial Intelligence,简称AI,指那种通过计算系统模拟人类智能的方法、技术、软硬件及系统的泛称;
(3)机器学习:机器学习属于AI领域的一个重要分支性技术。机器学习会从样本数据中提取数据模式,以便对应用数据做出尽可能好的预测。从目前的发展结果来看,机器学习分为监督学习、无监督学习与强化学习;
(4)任务调度:对于运行同一环境中的多个任务来说,他们间对资源的竞争不可避免。为提升资源的利用率、保障任务的顺序运行、确保任务得出有效的逻辑结果,需要按照任务对资源的竞争情况、以及任务内的数据依赖情况来安排任务内子任务的运行。这种安排叫做″任务调度″。通常,在一个分布式环境下,任务调度包含两个层面的含义:远程数据依赖相关的任务调度与本地资源竞争相关的任务切换;
(5)强化学习模型:那些使用时间顺序上的每一步紧密相关的回报值来标记对学习过程的奖励或惩罚、进而在持续的改进过程中获得对未来的预测能力的机器学习算法,均属于强化学习算法。其训练所得的模型,即强化学习模型;
(6)分布式AI:AI算法类型与设备能力多样化的发展结果,使得AI更普及,从而使得AI设备的部署方式更加复杂,其结果便是分布式的AI设备部署。这种分布式将能力有差异的许多AI设备部署在通常以网络连接的非集中环境:另一方面提供对同一AI设备作差异化的模型应用方式,另一方面将面临多模型同时部署与应用调度切换的压力。具有这些能力的分布式AI在增加系统复杂度的同时,也提供更灵活的AI应用效果。
其次,对本发明的目标问题、解决目标问题的技术方法作概览。随着AI应用的深入,AI设备也多样、AI算法与模型也更加丰富,这样人们对AI应用提出了灵活性与便捷性的要求。一方面,需要结合应用实际的关联性来从AI算法训练与得到定制性更好的模型;再一方面,大规模的分布式AI设备会要求AI任务在执行过程中具有灵活的协调能力;另一方面,因此所有AI设备本身需要具备AI任务调度能力。
再次,结合各附图,对发明内容作进一步的阐述。其中:
如图1为本发明的系统组成图之一。该图示意了一种通过调度总台来对各AI设备群或AI设备分区内的各AI设备作AI模型训练与模型应用的联合与协同的架构关系。其中:
110-调度总台:该总台包含任务管理单元与AI管理单元,前者用于对AI任务作调度与分派等管理操作,后者对AI算法训练与模型部署作管理;
120-终端设备群及管理单元:该管理单元用于管理那些具有多个多样性的AI设备,各AI设备具有管理可达的槽位/IP,该槽位/IP维护在调度总台,各AI设备还具有一个或多个的部署信息:空间位置,路径关系等,不失一般性,该设备群还可以按分区进行划分,以提供更便捷的模型部署与任务执行信息;
130-边缘设备群与管理单元:该管理单元用于管理那些具有类型较为单一的AI设备,这些AI设备具有比终端设备群中的大多数设备更强的能力,作为设备群的分组结果,某一边缘设备距离终端设备群的一个分区较近,而距离终端设备群的另一个分区较远;
140-云上设备群与管理单元:该管理单元用于管理那些具有单一类型的、集中式AI设备,这些AI设备具有比边缘设备群中的AI设备更强的能力,并以远程调用接口的方式AI模型服务。
如图2为本发明的系统组成图之一。该图示意了一种具有AI模型部署与AI任务调度的设备组成。其中:
210-AI执行单元:该单元包括AI模型管理模块和本地模型。该单元与下属模块用于提供对可划分的AI模型任务的执行引擎与管理基础信息;
220-通用执行单元:该单元包括本地任务模块与本地管理模块。该单元与下属模块用于提供本地任务通用的执行,以及本地管理任务的执行;
230-采集单元:该单元包括种类采集模块,如包括但不限于视频采集、图像采集、音频采集等;
240-网络单元:该单元包括网络数据收发模块以及商品/应用映射模块。该单元与下属模块共同完成各任务的数据通过网络的收发过程;
250-任务维护单元:该单元包括设备资源管理模块与设备任务管理模块,以及就绪任务队列与执行任务队列。
如图3为本发明的系统组成图之一。该图示意了一种具有全域管理、协同与调度能力的调度总台的组成关系。其中:
311-输入管理模块:该模块用于管理受总台管理、协同与调度的各AI任务、各AI模型的输入数据相关的信息;
312-输出管理单元:该模块用于管理受总台管理、协同与调度的各AI任务、各AI模型的输出数据相关的信息;
313-设备管理模块:该模块用于管理全域的AI设备,管理所需要的维护信息可以是槽位、地址、组网等信息;
314-路径管理模块:该模块用于管理设备组成的分区等信息;
315-执行管理模块:该模块用于管理与维护任务的设备组成以及任务设备的分级关系等信息;
316-数据关联单元:该模块用于管理与维护任务内设备对应模型的规格要求等信息;
321-AI索引模块:该模块用于管理与维护AI模型与AI设备间的映射与索引关系;
322-设备索引模块:该模块用于管理与维持任务内具有协同与关联关系的AI算法/模型分组对应的设备映射与索引关系,这种关系既可以是关于静态部署的,也可以基于部署而动态可变的;
323-强化学习模块:该模块用于对执行训练过程所需要的强化学习过程;
324-关联索引模块:该模块用于管理任务与分组间的双向映射与索引关系。
如图4为实施本发明的产品的部署示意图之一。该图示意了一种具有四层关系的、分布式部署与管理的AI设备与系统:即统一部署与管理的AI模型库、AI算法库,统一部署与管理的云环境中的AI设备(常规计算设备在此不作描述),三组分别部署与管理的边缘性的AI设备集,十台独立部署与管理的终端型AI设备。其中:
401-AI模型库:该模型库示意了一个经过训练而统一管理的AI模型库,该模型库用于对待执行AI任务作模型部署与应用的支援;
402-AI算法库:该算法库示意了一个AI算法库或算法集合,该集合用于作多样性的模型生成训练;
411-云设备:该图例示意了一个经由统一部署与管理的云环境中的AI设备;
421~423-边缘AI设备集:该图例示意了三组分别部署与管理的边缘性的AI设备集;
431~340-终端型AI设备:该图例示意了十台独立部署与管理的终端型AI设备。
需要说明的是:一方面,这四层关系、三层的AI设备部署关系,仅是作为发明实施结果可能的例子之一,而非发明的特征与限制条件的说明;另一方面,各层中的AI设备数量与能力类型,仅是作为发明实施结果的例子,而非发明的特征与限制条件的说明。
如图5为实施本发明的产品的部署示意图之一,它示意了一种算法协同训练时的关系图。该图给出一种具有三层关系的、分布式部署与管理的AI设备与系统:统一部署与管理的云环境中的AI设备(常规计算设备在此不作描述),三组分别部署与管理的边缘性的AI设备集,十台独立部署与管理的终端型AI设备。其中:
511-云设备:该图例示意了一个经由统一部署与管理的云环境中的AI设备;
521~523-边缘AI设备集:该图例示意了三组分别部署与管理的边缘性的AI设备集;
531~540-终端型AI设备:该图例示意了十台独立部署与管理的终端型AI设备;
551与553-协同训练依赖指向:即后一AI算法的训练开始需要依赖于前一AI算法训练的完成,这种依赖包括需要输入与输出关系的依赖;
552/554/555-协同训练并行指向:即AI算法间的训练无前后、或者输入输出关系的依赖,它们可以同时进行、也可以以时间上不具有指定先后关系的任意顺序等。
需要说明的是:一方面,这三层的AI设备部署关系,仅是作为发明实施结果可能的例子之一,而非发明的特征与限制条件的说明;另一方面,各层中的AI设备数量与能力类型,仅是作为发明实施结果可能的例子之一,而非发明的特征与限制条件的说明;第三,所述的训练依赖与非依赖关系,也仅是发明实施结果可能的例子之一,而非发明的特征与限制条件的说明。
如图6为实施本发明的产品的部署示意图之一,它示意了一种AI模型作为任务要素时的任务执行模型分组与协作关系图。进一步,该图示意一个云中心/调度总台发起的AI任务、任务通过多个边缘AI设备与多组终端型AI设备形成的数个分组作协作完成的任务执行过程。其中:
601-云中心/调度总台:该图例示意了一个发起任务执行与协作的管理与控制总台。它根据用户或系统所生成任务的特点,确定任务启动条件、执行路径特征等信息,根据这些信息来部署相关设备的能力,并驱使相关设备协作性地完成任务;
611~613-边缘AI设备:该图例示意了目标任务的协同执行过程中会参与协作的三台边缘AI设备;
621~623-任务执行当前组:该图例示意了目标任务在一次协作过程中的关系,包含协作执行组与预测执行组。即在任务落定于协作执行组621的执行过程中,预测到下两个预测执行组的预测结果622与623(当然还包括631这个预测执行组的预测结果,但631留待下一环节讨论)。此处的621协作执行组,包含多个AI设备与其对应的AI模型,其中的部分模型/设备形成任务执行过程中的依赖关系,部分模型/设备形成任务执行过程中的并行关系。依赖关系使得前一模型/设备的任务执行输出会成为下一模型/设备在需要执行任务的输入,并行关系即这些模型/设备在执行任务时需要具有输出的同步性。622与623所示预测执行组内部的模型/设备同样具有这种特征;622与623是任务在621协作执行组执行过程中的预测,且随着任务的继续执行,预测结果会发生变化、或者针对622或623分别有预测概率的上升与下降,从而导致在任务结束于当前执行组的执行前,有且仅有一个预测执行组通过概率胜出(图示的胜出者为631)。在任务转移到最终确定的预测执行组前,调度总台分发任务信息给选定的该预测执行组,当前协作执行组中的相应AI模型/设备将需要转移的输出发送给需要接收输入的AI模型/设备,从而完成目标任务在不同协作执行组间的转移。
631/641/651/…-协作执行组序列:该图例示意了目标任务的一系列协作执行组,以及各协作执行组间的转移关系。此处的协作执行过程与转移过程,均包含如前述的预测执行组的预测、概率升降、预测落定以及任务转移等;
630/640/650-AI模型/设备的跨域协作:该图例示意了一种模型/设备跨域协作完成任务的情况,即在处于终端环境的任务本地组模型无法满足任务执行要求的情况下,调度总台跨域分配部署于边缘AI设备的模型来协作任务的完成、从而构成一个跨域的模型协作执行组;
690/691/…-任务目标序列:该图例示意一个任务目标的序列。如前述的协作执行组序列,任务目标驱使协作执行组序列的生成与转移。
需要说明的是:一方面,前述图示的无论是设备分层结果、协作关系模式、协作要素的组成、任务目标个数、任务目标转移与协作执行组转移等描述内容,仅是作为发明实施结果可能的例子之一,而非发明的特征与限制条件的说明;另一方面,本示意图给出的以运动车辆为目标的监控仅作为发明实施的例子之一,此发明实施示例下任务的执行过程是空间变化的、即随着任务目标的转移而协作执行组会作设备组组成的空间转移,而发明特征也具有包含协作执行组不作空间转移、而是随着任务A的协作执行组的转移、原完成协作执行组的设备被调度执行任务B、从而部署跟任务B相关的模型与协作执行组的情况;以此类推,此处不作赘述。
如图7为本发明的系统组成图之一。该图示意了一种具有协作能力的AI设备,在执行协作性任务时的输入/输出数据关系。其中:
701-非AI计算器件:该器件作为通用计算引擎,用于对执行任务所需的调度、模型的部署等管理过程作使能器;
702-AI计算器件:该器件作为AI计算引擎,用于对任务中的AI模型应用作使能器;
711-前馈数据输入:该输入为调度总台对该模型/设备在执行任务前的输入;
712-前端数据输入:该输入为任务执行依赖关系中前一环节的模型/设备的执行结果中的部分输出;
713-自反馈数据输入:该输入为任务在本端模型/设备的执行过程中为验证或迭代性优化而提交的反馈性数据输入;
714-本地采集数据输入:该输入为任务在本端模型/设备的执行过程,采集作处理的主要数据输入;
721-后馈数据输出:该输出为本端模型/设备在完成执行后向调度总台发送的、用于标识结果、验证或迭代性的数据输出;
722-后端数据输出:该输出为任务执行依赖关系中下一环节的模型/设备的执行所需输入的部分输出;
723-自反馈数据输出:该输出为任务在本端模型/设备的执行过程中为验证或迭代性优化而提交的反馈性数据输出;
724-结果输出:该输出作为任务在本端模型/设备的执行结果集的主要部分。
如图8为本发明的系统组成图之一。该图示意了一个具有协作式AI任务执行所需要的架构或总组成。其中:
810/820/830-三个中心/总台:该图例示意了一个中心与总台的组成关系,它进一步包含了调度总台、数据引擎与计算引擎;
840/850-边缘计算:该图例示意了一个两套边缘设备的组成关系,它进一步包含各自的边缘AI单元与边缘存储单元;
860/870/880-分布式分区端侧AI设备集:该图例示意了i个端侧AI设备组成的设备集,它进一步包含了各自由不同类型与能力的AI设备组成的设备分组或设备分区;
进一步,这些组成关系还包含:
811-存储单元:用于作中心式的数据存储;
812-存储管理单元:用于作中心数据存储的管理
821-任务管理单元:用于对AI任务作调度与分派等管理操作;
822-AI管理单元:用于对AI算法训练与模型部署作管理操作;
831-AI执行单元:用于作中心式的AI计算引擎;
832-常规执行单元:用于作中心式的常规计算引擎;
841/851-边缘AI单元:用于作边缘式的AI计算引擎;
842/852-边缘存储单元:用于作边缘式的存储引擎;
861/871/881-分布式分区端侧AI设备组:用于任务在分布式部署AI模型/设备间的分组与协作执行。
如图9为本发明提出的操作执行流程之一。该图示意了一个针对确定的AI算法作训练与部署应用的过程简图。其中:
10A-接收训练样本:该操作用于接收训练算法用的样本数据;
10B-生成训练模型:该操作用于使用样本数据对算法作训练,从而生成目标AI模型;
10C-部署AI模型:该操作用于对所得到的AI模型作部署;
10D-发送任务输入数据:该操作用于给部署与应用AI模型的任务发送任务激活的输入数据;
10E-接收任务结果:该操作用于接收部署与应用AI模型的任务运行结果。
如图10为本发明提出的操作执行流程之一。该图示意了一个针对确定的AI任务作规划与执行的过程简图。其中:
20A-规划任务:该操作用于对目标任务作规划,尤其是针对分布式AI设备与模型部署环境的分布式任务;
20B-激活任务:该操作用于通过发送输入数据或捕捉特定条件来激活分布式任务的执行;
20C-监控执行并转移任务:该操作用于监控分布式任务的执行过程,并在必要时部署任务的转移;
20D-结束任务:该操作用于监控分布式任务的结束条件,在任务结束时接收任务结果,将安排作分布式环境中的设备资源回收。
如图11为本发明提出的操作执行流程之一。该图示意了一个任务分析、规划与设置的过程简图。其中:
30A-指定任务的第一输入:该操作用于对分布式任务的激活条件作指定;
30B-指定任务的静态特征:该操作用于对任务的静态特征作指定,所述静态特征包含AI模型以及设备资源等;
30C-指定任务的动态特征:该操作用于对任务的动态特征作指定,所述动态特征包含各AI模型的输入/输出关系;
30D-分析任务的静态特征:该操作用于分析任务的静态特征,从而得到任务的部署环境、匹配情况等;
30C-分析任务的动态特征:该操作用于分析任务的动态特征,从而得到任务的模型是否迭代、替换、以及模型间的关联与执行分组等;
30D-等待任务的激活:该设置任务激活条件捕捉,等待任务在条件满足后被激活。
如图12为本发明提出的操作执行流程之一。该图示意了在任务激活时分析确定分布式AI模型的协作执行组的过程简图。其中:
40A-确定任务的模型协作执行组:该操作用于在任务启动前确定模型集合、以及模型间的协作关系,并以协作执行组的方式来协同执行目标任务的当前阶段的处理过程;
40B-分析协作执行组:该操作用于分析协作执行组的模型与部署所在的设备间的匹配情况;
40C-根据匹配情况作模型的调校:该操作用于根据前述匹配分析结果来对模型作必须的迭代、增强甚至替换,从而尽可能地满足任务执行质量;
40D-发送前馈数据给协作执行组的各设备/模型:该操作用于将总台所管理的前馈数据发送给即将协作执行任务的各设备/模型;
40E-启动协作执行组的采集:该操作用于触发当前协作执行组所在设备必要的数据采集;
40F-任务执行启动:该操作用于启动协作执行组各第一序的执行模型/设备的任务执行。
如图13为本发明提出的操作执行流程之一。该图示意了某个AI设备在接收到任务执行命令后的任务启动过程简图。其中:
50A-接收属于本设备的子任务:该操作用于设备接收由本设备执行的子任务的信息,以及任务所需的AI模型等能力与内容;
50B-部署能力与接收输入:该操作用于将AI模型部署于本设备之上,并接收前述的四项任务相关的输入;
50C-子任务执行:该操作用于启动属于本设备子任务的执行;
50D-输出子任务的输出与结果:该操作用于输出本设备所执行子任务的操作阶段结果;
50E-确定子任务的完成:该操作用于确定是否满足任务转移条件;
50F-输入子任务数据到协作关系模型:该操作用于将本设备执行子任务阶段的输出发送到协作关系中的下一阶段设备/模型,从而为任务在协作执行组的转移作准备。
如图14为本发明提出的操作执行流程之一。该图示意了某个AI设备在接收到任务执行命令后的任务启动过程简图。其中:
60A-确定对应的设备子集:该操作用于根据任务与任务目标确定执行任务所需的设备集合;
60B-确定对应的模型子集:该操作用于根据任务与任务目标确定执行任务所需的模型集合;
60C-确定模型/设备的子任务关联关系图:该操作用于分析模型特征、得到模型关联关系、再得到确定的协作执行组;
60D-按协作执行组驱动任务的执行:该操作用于根据确定的协作执行组来启动任务的执行;
60E-接收模型/设备的输出:该操作用于接收协作执行组的输出;
60F-预测下一阶段的模型子集:该操作用于根据协作执行组的输出分别作预测,从而得到下一阶段的模型;
60G-确定一个或多个预测执行组:该操作用于根据前述所预测的模型形成的集合,分析得到下一阶段的一个或多个的预测执行组;
60H-根据各模型/设备的输出确定各关系组的概率:该操作用于分析输出结果得到相关概率值,从而进一步得到各预测执行组的概率值;
60J-判定是否存在跨越预测概率:该操作用于判定是否存在某个预测执行组的概率值跨越预测边界值。如果否,则在本协作执行组继续执行任务;如果是,则准备任务转移;
60K-准备任务的转移:该操作用于发送任务转移命令;
60L-发送任务信息到前述确定的预测执行组:该操作用于将任务信息发送给概率最高的那个观测关系组各模型/设备。
如图15为本发明提出的操作执行流程之一。该图示意了一种反馈式的模型应用与替代优化的过程简图。其中:
70A-接收子任务信息:该操作用于设备端接收即将执行任务的描述信息;
70B-接收子任务的输入数据:该操作用于接收子任务执行所需要的数据输入;
70C-执行子任务:该操作用于执行本端设备/模型的子任务;
70D-发送输出结果与后馈数据:该操作用于发送本端执行子任务得到的输出结果与后馈数据。这是执行子任务后的操作分支之一;
70E-发送自反馈数据:该操作用于将输出之一的自反馈数据返回给内部替代过程、以作模型快速迭代。这是执行子任务后的操作分支之一;
70F-AI模型效果验证与内部迭代:该操作用于将来自于某方面的重部署模型作更新;
70G-接收来自于外部的增强型或迭代后AI模型:该操作用于接收来自于外部的增强型或迭代后AI模型;
70H-收集后馈数据:该操作用于收集所执行子任务的得到后馈数据;
70J-分组后馈数据:该操作用于对从各次所收集到的后馈数据作分组,并分析形成训练样本;
70K-使用强化模型作训练:该操作用于将前述分组数据用于作强化模型的学习与训练;
70L-收集与分析训练结果:该操作用于前述强化学习得到的训练结果;
70M-分析得到AI协同策略:该操作用于从训练结果的分析中得到AI算法的协同训练策略;
70N-部署与执行协同训练:该操作用于部署与执行协同策略中的协同训练;
70P-发送需要的更新信息:该操作用于将需要更新的AI及相关信息发送给目标端/设备,从而驱动模型完成远端迭代。
如图16为本发明提出的操作执行流程之一。该图示意了一个通过算法特征作协同式算法训练的实现过程。其中:
80A-接收算法集合:该操作用于接收待作协同式训练的算法集合;
80B-生成各算法的三元组:该操作用于分析并生成算法的三元组信息,该三元组包括输入、输出与资源约束;
80C-生成算法关系的有向无环图:该操作用于根据各算法的三元组生成具有关联关系的有向无环图。该根据输入输出生成的有向无环至少表示这样一种关系:后一个算法的输入在某种程度上等价于前一算法的输出;根据资源约束生成的有向无环图至少表示这样一种关系:后一个算法的训练开始某种程度上等价于前一算法训练的结束;
80D-为算法训练配置槽位:该操作用于根据所生成的有向无环图、以及实际训练环境可用的设备资源,来生成待训练算法的设备槽位配置以及训练部署情况;
80E-准备算法的协同训练:该操作用于对待训练算法的训练过程作准备,包括准备样本数据、发送样本与算法描述到所配置的槽位等;
80F-作协同算法训练:该操作用于启动与执行算法的协同训练,该训练基于前述所生成有向无环图、以Pipeline方式进行;
80G-对训练结果作评估:该操作用于对训练所得的算法模型作效果评估;
80H-根据评估结果安排迭代优化:该操作用于根据评估结果生成各算法的迭代优化策略。
如图17为本发明提出的操作执行流程之一。该图示意了一个AI设备完成协作式任务执行的过程。其中:
90A-接收任务输入:该操作用于接收待执行任务对应于目标AI设备的任务信息以及任务输入数据;
90B-采集数据:该操作用于采集与获取任务所需要的输入数据;
90C-执行对应子任务:该操作用于应用设备所部署的AI模型执行对应的子任务;
90D-提交任务输出:该操作用于发送所执行子任务得到的输出数据或结果;
90E-发送下一设备的输入:该操作用于向本协作执行组所示的数据流下一设备发送输入数据;
90F-预测待转移的预测执行组:该操作用于任务结果预测任务待转移的各个预测执行组,并标识各协作组的概率;如果已经有相同设备标识形成的预测执行组,则刷新预测的概率值;
90G-接收协作执行组中其它的预测:该操作用于协作执行组各设备对预测执行组的预测结果。需要注意的是,接收组中其它设备的预测与作为设备自身的预测两个操作间并无严格的顺序要求;
90H-向执行关系组发送预测:该操作用于将该设备对预测执行组所作的预测结果发送给执行协作组中的其它设备;
90J-确定任务转移时机:该操作用于根据各设备的预测结果确定任务转移时机,这个时机由某个观测协作组所得概率大于一个预测边界值的情况作为触发条件。在不存在大于预测边界值的情况下,则设备继续任务的执行;
90K-完成任务转移:该操作用于在出现大致边界的预测结果的情况下,将任务从当前执行协作组转移到概率最高的那个预测执行组,并进行任务信息的清楚。
如图18为本发明提出的操作执行流程之一。该图示意了一个AI设备在多任务的情况下作任务调度与切换的实现过程。其中:
A0A-接收任务部署:该操作用于接收针对设备的任务部署,包括接收待部署任务的相关信息;
A0B-准备启动条件:该操作用于分析任务信息中的任务启动条件来准备任务的启动前信息;
A0C-启动任务:该操作用于在启动条件满足的情况下启动目标任务、加载任务的相关内容进入执行环境;
A0D-转发任务的输入数据:该操作用于转发任务执行所需要的初始输入数据;
A0F-任务就绪操作:该操作用于将任务的调度信息置于就绪状态所在队列;
A0G-确定是否可立即执行:该操作用于确定前述就绪是否可以立即执行,所述确定操作依赖于对这些条件的判断:目标任务的优先级、目标模型的优先级或模型在任务中的权重、设备环境中的环境资源尤其是AI资源的占用率、当前就绪任务的优先级同其它就绪任务的优先级比较等。在满足执行优先级的情况下,将目标任务的调度信息置于执行状态所在队列。在执行状态下,按某种方式执行同处于执行状态的任务/模型直到被切换;
A0H-判官任务/模型的切换原因:该操作用于对切换后的就绪任务作判定,如果任务仅是时间片用完,就继续等待下一次执行;如果是因为加入新任务导致其优先级在比较中下降,就将其调度信息置为就绪状态所在队列;
A0J-判定任务/模型的阻塞情况:该操作用于判定被切换任务/模型是否自身阻塞还是任务结束。;
A0M-完成任务:该操作用于在任务完成的情况下,结束任务的执行;
A0K-任务阻塞的后续操作:如果是任务因输入等因素被切换,则将任务的调度信息移出就绪状态所在队列,并置于阻塞状态的队列;
A0L-等待阻塞事件消除:该操作用于在任务的阻塞时等待阻塞事件的消除。
在本申请中,所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于单个网络节点内,或者也可以分布到多个网络节点上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,根据具体约束与实现所需,在本申请各个实施例中的各功能组件可以集成在一个组件也可以是各个组件单独物理存在,也可以是两个或两个以上组件集成在一个组件中。上述集成的组件既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的组件如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台或一台以上计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个本发明实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着先后执行的严格顺序,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。尽管在此结合各实施例对本申请进行了描述,然而,在实施例所要求保护的本申请过程中,本领域技术人员可理解并实现公开实施例的其他变化。
Claims (10)
1.一种协作式AI的任务调度方法,所述方法作用于包含应用多个AI模型的任务,其特征在于,包括:
加工生成第一数据,所述第一数据用于描述第四模型子集中各元素对应模型的特征,所述第四模型子集为所述AI模型集的子集;将所述第一数据加入第一数据集;
加工生成第二数据,所述第二数据用于描述所述第四模型子集中的一个或多个模型间的协同关系;将所述第二数据加入第二数据集;
加工生成第三数据,所述第三数据用于描述对所述AI模型集中的多个AI模型组成的第五模型子集,所述第五模型子集与所述第四模型子集具有交集;将所述第三数据加入第三数据集;
执行模型功能,所述执行生效于所述第四模型子集对应的第六设备子集,所述第六设备子集包含接收所述任务输入数据的一个或多个设备。
2.根据权利要求1所述方法,其特征在于,还包括:
所述第一数据包含由输入/输出/资源约束组成的三元组,所述三元组用于描述所述AI模型集中各元素的特征。
3.根据权利要求1所述方法,其特征在于,还包括:
所述第二数据所描述的协同关系用于描述所述第四模型子集中的某个第四模型的输出与所述第四模型子集中的另一个第四模型的输入间的对应性。
4.根据权利要求1所述方法,其特征在于,加工生成所述第三数据,并将所述第三数据加入所述第三数据集,还包括:
所述第三数据集用于描述构成任务转移执行环境的模型集合。
5.根据权利要求1所述方法,其特征在于,执行模型功能,还包括:
得到第四模型子集中某模型的执行结果,根据所述执行结果生成新的第三数据,并使用新第三数据代替所述第三数据集中具有相同第五模型子集的原第三数据。
6.根据权利要求5所述方法,其特征在于,还包括:
所述第三数据还包含任务转移概率,所述任务转移概率由所述第三数据对应的所述第四模型子集中的执行模型的执行结果得到并刷新。
7.根据权利要求6所述方法,其特征在于,还包括:
下发并更新第五设备对应的AI模型,所述第五设备包含在第七设备子集中,所述第七设备子集为所述第三数据集中具有最高任务转移概率的第三数据所对应的设备集;
重置所述第三数据集。
8.一种计算机程序,其特征在于,所述计算机程序包含执行权利要求1-7任一所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机存储介质存储有程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-7任一项所述的方法。
10.一种执行计算机程序的装置,其特征在于,包括处理组件、存储组件和通信模组件,处理组件、存储组件和通信组件相互连接,其中,存储组件用于存储数据处理代码,通信组件用于与外部设备进行信息交互;处理组件被配置用于调用程序代码,执行如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010159917.1A CN113377503A (zh) | 2020-03-09 | 2020-03-09 | 一种协作式ai的任务调度方法、装置与系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010159917.1A CN113377503A (zh) | 2020-03-09 | 2020-03-09 | 一种协作式ai的任务调度方法、装置与系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113377503A true CN113377503A (zh) | 2021-09-10 |
Family
ID=77568735
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010159917.1A Pending CN113377503A (zh) | 2020-03-09 | 2020-03-09 | 一种协作式ai的任务调度方法、装置与系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113377503A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114840349A (zh) * | 2022-07-04 | 2022-08-02 | 东声(苏州)智能科技有限公司 | Ai智能相机的分布式任务调度方法及ai智能相机系统 |
WO2024082274A1 (zh) * | 2022-10-21 | 2024-04-25 | 华为技术有限公司 | Ai任务指示的方法、通信装置和系统 |
WO2024169797A1 (zh) * | 2023-02-13 | 2024-08-22 | 维沃移动通信有限公司 | Ai模型指示方法及通信设备 |
-
2020
- 2020-03-09 CN CN202010159917.1A patent/CN113377503A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114840349A (zh) * | 2022-07-04 | 2022-08-02 | 东声(苏州)智能科技有限公司 | Ai智能相机的分布式任务调度方法及ai智能相机系统 |
WO2024082274A1 (zh) * | 2022-10-21 | 2024-04-25 | 华为技术有限公司 | Ai任务指示的方法、通信装置和系统 |
WO2024169797A1 (zh) * | 2023-02-13 | 2024-08-22 | 维沃移动通信有限公司 | Ai模型指示方法及通信设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Guo et al. | Cloud resource scheduling with deep reinforcement learning and imitation learning | |
Ghobaei-Arani et al. | A cost-efficient IoT service placement approach using whale optimization algorithm in fog computing environment | |
CN108762768B (zh) | 网络服务智能化部署方法及系统 | |
Bhattacharjee et al. | Barista: Efficient and scalable serverless serving system for deep learning prediction services | |
CN107404523A (zh) | 云平台自适应资源调度系统和方法 | |
CN105009084B (zh) | 分布式计算平台中的服务分配方法及分布式计算系统 | |
CN113377503A (zh) | 一种协作式ai的任务调度方法、装置与系统 | |
CN103092683B (zh) | 用于数据分析的基于启发式的调度 | |
US20240111586A1 (en) | Multi-policy intelligent scheduling method and apparatus oriented to heterogeneous computing power | |
CN112416585A (zh) | 面向深度学习的gpu资源管理与智能化调度方法 | |
Amalarethinam et al. | An Overview of the scheduling policies and algorithms in Grid Computing | |
CN116069512B (zh) | 一种基于强化学习的Serverless高效资源分配方法及系统 | |
Cameron et al. | Rule-based peer-to-peer framework for decentralised real-time service oriented architectures | |
Ivaschenko | Multi-agent solution for business processes management of 5PL transportation provider | |
CN115022311B (zh) | 微服务容器实例的选择方法及装置 | |
CN113225269B (zh) | 基于容器的工作流调度方法、装置、系统及存储介质 | |
CN110336859A (zh) | 一种多租户环境下的任务调度系统 | |
CN111061565A (zh) | 一种Spark环境下的两段式流水线任务调度方法及系统 | |
Zhong et al. | Speeding up Paulson’s procedure for large-scale problems using parallel computing | |
Hummaida et al. | Scalable virtual machine migration using reinforcement learning | |
CN112506658A (zh) | 一种服务链中动态资源分配和任务调度方法 | |
Davami et al. | Distributed scheduling method for multiple workflows with parallelism prediction and DAG prioritizing for time constrained cloud applications | |
CN118396294A (zh) | 一种基于量子多智能体强化学习的云制造调度方法 | |
CN114510319A (zh) | 一种基于Kubernetes集群GPU空间共享的方法 | |
Hajoui et al. | Q-learning and ACO hybridisation for real-time scheduling on heterogeneous distributed architectures |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20210910 |
|
WD01 | Invention patent application deemed withdrawn after publication |