CN117806835A - 一种任务分配方法、装置及电子设备和存储介质 - Google Patents

一种任务分配方法、装置及电子设备和存储介质 Download PDF

Info

Publication number
CN117806835A
CN117806835A CN202410224929.6A CN202410224929A CN117806835A CN 117806835 A CN117806835 A CN 117806835A CN 202410224929 A CN202410224929 A CN 202410224929A CN 117806835 A CN117806835 A CN 117806835A
Authority
CN
China
Prior art keywords
event
energy consumption
data source
training
data
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
Application number
CN202410224929.6A
Other languages
English (en)
Inventor
王晓敏
范宝余
赵雅倩
李仁刚
郭振华
王丽
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Electronic Information Industry Co Ltd
Original Assignee
Inspur Electronic Information Industry Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inspur Electronic Information Industry Co Ltd filed Critical Inspur Electronic Information Industry Co Ltd
Priority to CN202410224929.6A priority Critical patent/CN117806835A/zh
Publication of CN117806835A publication Critical patent/CN117806835A/zh
Pending legal-status Critical Current

Links

Classifications

    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本申请公开了一种任务分配方法、装置及电子设备和存储介质,涉及计算机技术领域,该方法包括:获取分布式训练的物理节点集合、数据源集合、神经网络模型、事件树集合;确定多个事件树的总能耗,选择总能耗最小的事件树作为目标事件树;以最小化训练能耗为目标确定目标事件树的目标事件或数据源分配策略;其中,目标事件或数据源分配策略用于描述处理目标事件树中事件的物理节点或数据源分配的物理节点,训练能耗包括物理节点处理事件的能耗、不同事件之间的数据传输能耗;基于目标事件或数据源分配策略将数据源和目标事件树中的事件部署于对应的物理节点。本申请降低了分布式训练神经网络模型的能耗。

Description

一种任务分配方法、装置及电子设备和存储介质
技术领域
本申请涉及计算机技术领域,更具体地说,涉及一种任务分配方法、装置及电子设备和存储介质。
背景技术
在分布式训练中,中央控制器将神经网络模型的训练任务划分为多个子任务、将整个训练数据划分为多个数据源,进而将各子任务和各数据源分配至对应的物理节点,各个物理节点分别利用中央控制器分配的数据源执行对应的子任务,然后由中央控制器进行子任务执行结果的汇总。在相关技术中,分布式训练神经网络模型的能耗较高。
因此,如何降低分布式训练神经网络模型的能耗是本领域技术人员需要解决的技术问题。
发明内容
本申请的目的在于提供一种任务分配方法、装置及电子设备和存储介质,降低了分布式训练神经网络模型的能耗。
为实现上述目的,本申请提供了一种任务分配方法,包括:
获取分布式训练的物理节点集合、数据源集合、神经网络模型、事件树集合;其中,所述事件树集合的事件树基于所述神经网络模型的层拓扑结构和所述神经网络模型的每个层包含的事件创建,所述事件树用于描述数据源与事件或不同事件之间的关联关系;
根据所述神经网络模型的每个层传出数据与传入数据的比率和处理单位流量所需的计算资源确定多个所述事件树的总能耗,选择总能耗最小的事件树作为目标事件树;
以最小化训练能耗为目标确定所述目标事件树的目标事件或数据源分配策略;其中,所述目标事件或数据源分配策略用于描述处理所述目标事件树中事件的物理节点或数据源分配的物理节点,所述训练能耗包括所述物理节点处理事件的能耗、不同事件之间的数据传输能耗;
基于所述目标事件或数据源分配策略将所述数据源和所述目标事件树中的事件部署于对应的物理节点。
其中,根据所述神经网络模型的每个层传出数据与传入数据的比率和处理单位流量所需的计算资源确定多个所述事件树的总能耗,包括:
根据总能耗计算公式确定多个所述事件树的总能耗;其中,所述总能耗计算公式为:
其中,y用于描述数据源与事件或不同事件之间的关联关系,为预设损失值,为达到预设损失值/>所需的总轮数,/>表示第/>层中的第i个事件,L为所述神经网络模型的层集合,Q为事件集,/>表示处理第/>层单位流量所需的计算资源,D为所述数据源集合,d表示数据源集合D中的数据源,/>为数据源d在每轮训练生成的数据,为第m层传出数据与传入数据的比率,层m位于从数据源d到层/>的路径中。
其中,以最小化训练能耗为目标确定所述目标事件树的目标事件或数据源分配策略,包括:
基于所述神经网络模型每轮训练的能耗与总轮数的乘积构建目标函数;其中,所述每轮训练的能耗包括每轮训练中所述物理节点处理事件的能耗、不同事件之间的数据传输能耗;
通过最小化所述目标函数确定目标事件或数据源分配策略。
其中,最小化所述目标函数表示为:
其中,x用于描述数据源向事件传输的数据,y用于描述数据源与事件或不同事件之间的关联关系,z用于描述数据源或事件与物理节点之间的对应关系,用于描述分配至事件的计算资源,/>为预设损失值,/>为达到预设损失值/>所需的总轮数,为每轮训练的能耗,/>,/>表示第/>层中的第i个事件,L为所述神经网络模型的层集合,Q为事件集,/>表示物理节点处理事件的能耗,/>表示事件/>由于数据传输的能耗。
其中,,/>为处理事件/>的时间,/>表示分配至事件/>的计算资源,/>表示处理事件/>的物理节点,表示物理节点/>提供一个处理单元的能耗,/>表示物理节点处理第/>层中事件的内存和存储需求的能耗。
其中,,/>表示物理节点处理单位流量的能耗,/>表示第m层中的第j个事件,/>为事件/>与事件之间的数据流量。
其中,确定所述目标函数最小值时的目标事件或数据源分配策略,包括:
为所述神经网络模型的每个层中的不同事件部署于不同的物理节点创建对应的顶点,若第一物理节点与第二物理节点之间存在连接则在相邻层的所述第一物理节点对应的顶点与所述第二物理节点对应的顶点之间创建边;
为所述数据源创建对应的顶点,在所述数据源对应的顶点与所述数据源存在关联关系的事件对应的顶点之间创建边;
创建终止顶点,在所述终止顶点与所述神经网络模型的最后一层中的所有事件对应的顶点之间创建边,得到展开图;
基于所述物理节点处理事件的能耗生成所述展开图中对应顶点的权重,基于不同事件之间的数据传输能耗生成所述展开图中对应边的权重;
在所述展开图中确定斯坦纳树,基于所述斯坦纳树包含的顶点确定目标事件或数据源分配策略。
其中,所述目标函数存在约束:所述神经网络模型每轮训练的时间与所述总轮数的乘积小于或等于预设最大训练时间。
其中,所述神经网络模型每轮训练的时间基于所述神经网络模型的最后一层中最慢事件结束时间确定。
其中,所述神经网络模型每轮训练的时间基于所述神经网络模型的最后一层中最慢事件结束时间确定。
其中,所述约束表示为:,/>为所述神经网络模型每轮训练的时间,/>为预设最大训练时间,/>,/>为事件/>的结束时间,/>,/>为事件/>的开始时间,/>为处理事件/>的时间,/>表示所述神经网络模型中的最后一层。
其中,,/>表示第h层中的第k个事件,/>表示事件/>与事件/>之间的关联关系,/>为事件/>的结束时间,/>表示处理事件/>的物理节点,/>为物理节点/>传输到物理节点/>的时间。
其中,,/>为事件/>与事件/>之间的数据流量,为单位时间内物理节点/>与物理节点/>之间传输的数据量。
其中,,/>表示处理第/>层单位流量所需的计算资源,/>表示分配至事件/>的计算资源,/>为事件/>与事件/>之间的数据流量。
其中,以最小化训练能耗为目标确定所述目标事件树的目标事件或数据源分配策略,包括:
在使用所述数据源的全部数据、利用每个所述物理节点的全部处理能力的前提下,以最小化训练能耗为目标确定所述目标事件树的目标事件或数据源分配策略;
在所述目标事件或数据源分配策略的前提下,以最小化训练能耗为目标确定所述数据源的使用情况和所述物理节点的处理能力利用情况。
其中,在所述目标事件或数据源分配策略的前提下,以最小化训练能耗为目标确定所述数据源的使用情况和所述物理节点的处理能力利用情况,包括:
若所述神经网络模型每轮训练的能耗、时间、总轮数存在预设范围,则利用求解器在所述目标事件或数据源分配策略的前提下,以最小化训练能耗为目标确定所述数据源的使用情况和所述物理节点的处理能力利用情况。
其中,在所述目标事件或数据源分配策略的前提下,以最小化训练能耗为目标确定所述数据源的使用情况和所述物理节点的处理能力利用情况,包括:
若所述神经网络模型每轮训练的能耗、时间、总轮数不存在预设范围,则基于梯度的算法在所述目标事件或数据源分配策略的前提下,以最小化训练能耗为目标确定所述数据源的使用情况和所述物理节点的处理能力利用情况。
其中,在所述目标事件或数据源分配策略的前提下,以最小化训练能耗为目标确定所述数据源的使用情况和所述物理节点的处理能力利用情况之后,还包括:
判断训练能耗是否降低;
若是,则进入基于所述目标事件或数据源分配策略对所述数据源和所述目标事件树中的事件分配对应的物理节点;
若否,则选择除所述目标事件树之外的总能耗最小的事件树重新作为所述目标事件树,并重新进入所述在使用所述数据源的全部数据、利用每个所述物理节点的全部处理能力的前提下,以最小化训练能耗为目标确定所述目标事件树的目标事件或数据源分配策略的步骤。
为实现上述目的,本申请提供了一种任务分配装置,包括:
获取模块,用于获取分布式训练的物理节点集合、数据源集合、神经网络模型、事件树集合;其中,所述事件树集合的事件树基于所述神经网络模型的层拓扑结构和所述神经网络模型的每个层包含的事件创建,所述事件树用于描述数据源与事件或不同事件之间的关联关系;
选择模块,用于根据所述神经网络模型的每个层传出数据与传入数据的比率和处理单位流量所需的计算资源确定多个所述事件树的总能耗,选择总能耗最小的事件树作为目标事件树;
确定模块,用于以最小化训练能耗为目标确定所述目标事件树的目标事件或数据源分配策略;其中,所述目标事件或数据源分配策略用于描述处理所述目标事件树中事件的物理节点或数据源分配的物理节点,所述训练能耗包括所述物理节点处理事件的能耗、不同事件之间的数据传输能耗;
部署模块,用于基于所述目标事件或数据源分配策略将所述数据源和所述目标事件树中的事件部署于对应的物理节点。
为实现上述目的,本申请提供了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述任务分配方法的步骤。
为实现上述目的,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任务分配方法的步骤。
通过以上方案可知,本申请提供的一种任务分配方法,包括:获取分布式训练的物理节点集合、数据源集合、神经网络模型、事件树集合;其中,所述事件树集合的事件树基于所述神经网络模型的层拓扑结构和所述神经网络模型的每个层包含的事件创建,所述事件树用于描述数据源与事件或不同事件之间的关联关系;根据所述神经网络模型的每个层传出数据与传入数据的比率和处理单位流量所需的计算资源确定多个所述事件树的总能耗,选择总能耗最小的事件树作为目标事件树;以最小化训练能耗为目标确定所述目标事件树的目标事件或数据源分配策略;其中,所述目标事件或数据源分配策略用于描述处理所述目标事件树中事件的物理节点或数据源分配的物理节点,所述训练能耗包括所述物理节点处理事件的能耗、不同事件之间的数据传输能耗;基于所述目标事件或数据源分配策略将所述数据源和所述目标事件树中的事件部署于对应的物理节点。
本申请提供的任务分配方法,将神经网络模型的训练划分为多个事件,将多个数据源和多个事件分别分配至多个物理节点实现神经网络模型的分布式训练,以最小化训练能耗为目标确定事件或数据源分配策略,同时考虑了物理节点处理事件的能耗以及不同事件之间的数据传输能耗,降低了分布式训练神经网络模型的能耗。本申请还公开了一种任务分配装置及一种电子设备和一种计算机可读存储介质,同样能实现上述技术效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1为根据一示例性实施例示出的一种任务分配方法的流程图;
图2为根据一示例性实施例示出的一种物理节点集合的示意图;
图3为根据一示例性实施例示出的一种层集合的示意图;
图4为根据一示例性实施例示出的一种事件树的示意图;
图5为根据一示例性实施例示出的一种展开图的示意图;
图6为根据一示例性实施例示出的另一种任务分配方法的流程图;
图7为根据一示例性实施例示出的一种任务分配装置的结构图;
图8为根据一示例性实施例示出的一种电子设备的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。另外,在本申请实施例中,“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例公开了一种任务分配方法,降低了分布式训练神经网络模型的能耗。
参见图1,根据一示例性实施例示出的一种任务分配方法的流程图,如图1所示,包括:
S101:获取分布式训练的物理节点集合、数据源集合、神经网络模型、事件树集合;其中,所述事件树集合的事件树基于所述神经网络模型的层拓扑结构和所述神经网络模型的每个层包含的事件创建,所述事件树用于描述数据源与事件或不同事件之间的关联关系;
本实施例的执行主体为中央控制器,中央控制器通常运行在网络基础设施的边缘,与所有的物理节点进行通信,收集物理节点有关其处理能力和位置的信息,物理节点可以为云边端节点。在分布式训练中,中央控制器将神经网络模型的训练任务划分为多个事件、将整个训练数据划分为多个数据源,进而将各事件和各数据源分配至对应的物理节点,各个物理节点分别利用中央控制器分配的数据源执行对应的事件。本实施例的目的在于确定数据源或事件的分配策略,进而向各物理节点分配数据源和事件,实现神经网络模型的分布式训练。
需要说明的是,本实施例中的神经网络模型可以用于图像分类、文本分类、语音识别等,也即本实施例可以应用于图像分类、文本分类、语音识别等应用场景中的神经网络模型的分布式训练。对于图像分类应用场景,数据源为训练图像以及其对应的类别,对于文本分类应用场景,数据源为训练文本以及其对应的类别,对于语音识别应用场景,数据源为训练语音以及其对应的识别结果。
在具体实施中,首先获取物理节点集合N、数据源集合D、神经网络模型。物理节点集合N包括多个物理节点,根据物理节点之间的通信情况形成物理节点集合N的拓扑结构,举例说明,如图2所示,物理节点集合N包含五个物理节点,分别为n1、n2、n3、n4、n5,存在连线的两个物理节点之间存在通信。数据源集合D包括多个数据源,可与物理节点位于同一个位置。神经网络模型例如DNN(Deep Neural Network,深度神经网络),包括多个依次连接的层,例如全连接层、卷积层等,举例说明,如图3所示,层集合L包含依次连接的l 1l 2l 3
然后,对于在神经网络模型中的每个层中创建/>个事件,/>为冗余因子,,/>表示第/>层中的第i个事件,1≤i≤/>。根据神经网络模型的层拓扑结构可以确定属于不同层的事件之间的关联关系,根据不同事件之间的关联关系、数据源与事件之间的关联关系形成事件树。也即,每个事件为神经网络模型的训练任务的一部分,所有的事件组成神经网络模型的整个训练任务,每个事件属于神经网络模型中的一个层,事件树为所有事件以及数据源的集合,事件树的拓扑结构表示不同事件之间的关联关系、数据源与事件之间的关联关系。
对于事件树来说,学习结果是树根的输出,而叶子对应于数据源。每个层都有一组局部参数,例如完全连接层的权重,这些参数定义了其行为,训练神经网络模型意味着找到使全局误差函数最小化的参数值。例如,对于分类任务,学习输出为与每个类相关的概率,损失函数可以使用交叉熵函数。以训练多轮迭代的方式,每轮包括:前向传播和反向传播,前向传播为输入数据遍历从树叶到树根的所有事件。反向传播为梯度遵循相反的路线,并调整每层的局部参数,以减少全局损失函数,可以使用随机梯度下降(StochasticGradient Descent,SGD)进行优化。例如,如图4所示,第1层包含两个事件(l 1,1)、(l 1,2),第2层包含一个事件(l 2,1),第3层含一个事件(l 3,1),数据源d1与事件(l 1,1)连接,数据源d2与事件(l 1,2)连接。根据神经网络模型中每个层创建不同的事件构建不同的事件树,进而组成事件树集合。
对于每个层,/>表示处理第/>层单位流量所需的计算资源,可以以“CPU周期/兆位数据”为单位,/>表示第/>层传出数据与传入数据的比率。对于每个物理节点/>,R(n)表示分配给物理节点n的计算资源总量,被物理节点n中运行的事件共享。/>表示物理节点n是否存在足够的内存执行层/>中的事件。关于数据传输,对于物理节点/>,/>表示单位事件中两节点间传输的数据量,/>表示两节点间无法通信,也即在彼此无线电范围之外。/>为数据源d在每轮训练生成的数据,/>表示数据源d所在的节点。y用于描述数据源与事件或不同事件之间的关联关系,/>表示事件/>是否与事件/>相关联,每个数据源只能与一个事件相关联,表示为(d,1),如果没有事件与某个数据源关联,表示不使用该数据源,例如,因为已有足够数量的数据可用。z用于描述数据源或事件与物理节点之间的对应关系,/>表示事件/>是否部署在物理节点n上,/>表示处理事件/>的物理节点,也即/>,分配给事件/>的计算资源。x用于描述数据源向事件传输的数据,/>表示数据源d向事件/>传输的数据,/>。/>表示从事件或数据源/>到事件/>的通用链接中数据流量:
在本实施例中,分配策略的决策包括神经网络模型的每个层创建多少事件以及事件如何关联、数据源和事件如何部署到物理节点。神经网络模型的每个层创建多少事件以及事件如何关联可以理解为选择事件树集合中哪个事件树。
S102:根据所述神经网络模型的每个层传出数据与传入数据的比率和处理单位流量所需的计算资源确定多个所述事件树的总能耗,选择总能耗最小的事件树作为目标事件树;
在本步骤中,决策神经网络模型的每个层创建多少事件以及事件如何关联,也即计算事件树集合中各事件树的总能耗,选择总能耗最小的事件树作为目标事件树。
作为一种可行的实施方式,根据所述神经网络模型的每个层传出数据与传入数据的比率和处理单位流量所需的计算资源确定多个所述事件树的总能耗,包括:根据总能耗计算公式确定多个所述事件树的总能耗;其中,所述总能耗计算公式为:
其中,y用于描述数据源与事件或不同事件之间的关联关系,为预设损失值,为达到预设损失值/>所需的总轮数,/>表示第/>层中的第i个事件,L为所述神经网络模型的层集合,Q为事件集,/>表示处理第/>层单位流量所需的计算资源,D为所述数据源集合,d表示数据源集合D中的数据源,/>为数据源d在每轮训练生成的数据,为第m层传出数据与传入数据的比率,层m位于从数据源d到层/>的路径中。
通过上式可知,每轮训练中某一层的能耗取决于处理的数据量和层复杂度,处理的数据量取决于在层之前遍历的m的/>。然后,对所有层的能耗进行求和,并乘以总轮数/>得到事件树的总能耗,通过上式可以准确的衡量事件树的总能耗。选择总能耗最小的事件树作为目标事件树,一般可以得到后续步骤中整个训练能耗的下限值。
S103:以最小化训练能耗为目标确定所述目标事件树的目标事件或数据源分配策略;其中,所述目标事件或数据源分配策略用于描述处理所述目标事件树中事件的物理节点或数据源分配的物理节点,所述训练能耗包括所述物理节点处理事件的能耗、不同事件之间的数据传输能耗;
在本步骤中,以最小化训练能耗为目标决策数据源和事件如何部署到物理节点,也即目标事件或数据源分配策略。训练能耗包括两部分内容,其一为各物理节点处理各事件的能耗总和,其二为不同事件之间的数据传输能耗的总和。
作为一种可行的实施方式,以最小化训练能耗为目标确定所述目标事件树的目标事件或数据源分配策略,包括:基于所述神经网络模型每轮训练的能耗与总轮数的乘积构建目标函数;其中,所述每轮训练的能耗包括每轮训练中所述物理节点处理事件的能耗、不同事件之间的数据传输能耗;通过最小化所述目标函数确定目标事件或数据源分配策略。
最小化所述目标函数表示为:
其中,x用于描述数据源向事件传输的数据,y用于描述数据源与事件或不同事件之间的关联关系,z用于描述数据源或事件与物理节点之间的对应关系,用于描述分配至事件的计算资源,/>为预设损失值,/>为达到预设损失值/>所需的总轮数,为每轮训练的能耗,/>,/>表示第/>层中的第i个事件,L为所述神经网络模型的层集合,Q为事件集,/>表示物理节点处理事件的能耗,/>表示事件/>由于数据传输的能耗。
可见,通过构造目标函数求解最优的事件或数据源分配策略也即目标事件或数据源分配策略,提高了确定目标事件或数据源分配策略的效率。
可以理解的是,物理节点处理事件的能耗取决于事件对CPU(entral ProcessingUnit,中央处理器)、内存和GPU(Graphic Processing Unit,图形处理器)资源的使用,也取决于层、处理的数据量以及物理节点本身的特性。
,/>为处理事件/>的时间,表示分配至事件/>的计算资源,/>表示处理事件/>的物理节点,/>表示物理节点/>提供一个处理单元的能耗,/>表示物理节点/>处理第/>层中事件的内存和存储需求的能耗。
进一步的,事件由于数据传输的能耗,/>表示物理节点/>处理单位流量的能耗,/>表示第m层中的第j个事件,/>为事件/>与事件/>之间的数据流量。通过/>以及/>的计算公式可以更加准确的衡量每轮训练的能耗。
另外,可以将映射为碳排放量,即每千瓦时消耗能源排放的二氧化碳量。
进一步的,目标函数存在约束:神经网络模型每轮训练的时间与总轮数的乘积小于或等于预设最大训练时间。神经网络模型每轮训练的时间基于神经网络模型的最后一层中最慢事件结束时间确定。
该约束表示为:,/>为所述神经网络模型每轮训练的时间,/>为预设最大训练时间,/>,/>为事件/>的结束时间,每个事件只有在所需数据都到达时才能开始,而其结束时间由层事件开始时间和处理时间之和决定,也即/>,/>为事件/>的开始时间,/>为处理事件的时间,/>表示所述神经网络模型中的最后一层。
在此基础上,作为一种可行的实施方式,,/>表示第h层中的第k个事件,表示事件/>与事件/>之间的关联关系,/>为事件/>的结束时间,/>表示处理事件/>的物理节点,/>为物理节点/>传输到物理节点/>的时间。
在此基础上,作为一种可行的实施方式,,/>为事件/>与事件/>之间的数据流量,/>为单位时间内物理节点/>与物理节点之间传输的数据量。
可见,将数据从物理节点传输到物理节点/>所需时间取决于从在物理节点/>运行的子事件/>传输至在物理节点/>运行的父事件/>的数据量。
在此基础上,作为一种可行的实施方式,,/>表示处理第/>层单位流量所需的计算资源,/>表示分配至事件/>的计算资源,/>为事件与事件/>之间的数据流量。
可见,处理时间可以由需要执行代数操作的数据量与分配给该事件的计算资源量之间的比率决定,上式中的求和表示子事件传输至父事件/>的数据总和。
另外,目标函数还存在以下约束:
每个层的至少有一个事件被部署,也即
事件树只能连接后续层,也即
每个事件均部署在一个物理节点上,也即
在缺乏层所需内存资源的节点上无法部署该层事件,也即
分配给每个物理节点n上运行事件的所需资源总量不超过可用资源,也即;/>
遵守广义流守恒,从事件传出数据量不能超过传入数据量与/>之间的乘积,也即/>
对于数据源,传输数据的总量不超过,也即/>
进一步的,在满足上述约束的前提下,求解,根据变量z确定目标事件或数据源分配策略。
作为一种可行的实施方式,确定所述目标函数最小值时的目标事件或数据源分配策略,包括:为所述神经网络模型的每个层中的不同事件部署于不同的物理节点创建对应的顶点,若第一物理节点与第二物理节点之间存在连接则在相邻层的所述第一物理节点对应的顶点与所述第二物理节点对应的顶点之间创建边;为所述数据源创建对应的顶点,在所述数据源对应的顶点与所述数据源存在关联关系的事件对应的顶点之间创建边;创建终止顶点,在所述终止顶点与所述神经网络模型的最后一层中的所有事件对应的顶点之间创建边,得到展开图;基于所述物理节点处理事件的能耗生成所述展开图中对应顶点的权重,基于不同事件之间的数据传输能耗生成所述展开图中对应边的权重;在所述展开图中确定斯坦纳树,基于所述斯坦纳树包含的顶点确定目标事件或数据源分配策略。
在具体实施中,构建展开图以得到所有可能的映射决策,在展开图中确定延迟感知的斯坦纳树,斯坦纳树是跨越无向图顶点的给定子集的最小权重树,遵守预设最大训练时间的附加约束。
构建展开图的过程为:创建包含每个部署决策的顶点,也即使得/>,如果层在神经网络模型中相连也即为相邻层,并且物理节点之间存在通信,也即如果,则在顶点/>与顶点/>之间创建边。为每个数据源创建额外的顶点,并在数据源对应的顶点与数据源存在关联关系的事件对应的顶点之间创建边。创建终止顶点/>,在终止节点与神经网络模型的最后一层中的所有事件对应的顶点/>之间创建边。展开图中顶点的权重为物理节点处理事件的能耗,边的权重为不同事件之间的数据传输能耗。举例说明,对于图4的事件树来说,其对应的展开图如图5所示。
进一步的,可以采用启发式的算法在展开图中确定斯坦纳树,算法代码如下所示:
已知展开图:
1:
2:whiledo;
3:
4: for alldo;
5:
6: ifthen;
7:
8:
9:for alldo;
10:
11:return {z}。
在算法的第1行,初始化树T,包括终止顶点,在第2行,只要存在未在树T中的数据源,就寻找最小权重路径,使得将尚未包含在树T中的一个数据源d与树T本身的一个顶点v连接起来,并且满足预设最大训练时间/>的附加约束。为此,在第3行中,初始化最小重量/>为/>、初始化最小权重路径/>为/>,在第5行中,通过函数RestrictedMinWeightPath(d,v)找到未到达的数据源d与树中的顶点v的所有路径π,在第7行中,找到最小权重路径,在第8行中,将其添加到树T中。一旦包含了所有数据源,树T即为确定的斯坦纳树。在第10行中,将斯坦纳树中对应的所有顶点的z变量设置为1。
上述启发式算法的时间复杂度为,其具有恒定的竞争比,即在以内完成计算,具有/>的竞争比,W为斯坦纳树中的顶点数,/>为允许的误差,相比于线性算法,提高了计算效率,进而提高了确定目标事件或数据源分配策略的效率。
S104:基于所述目标事件或数据源分配策略将所述数据源和所述目标事件树中的事件部署于对应的物理节点。
在本步骤中,基于目标事件或数据源分配策略将数据源和事件分配至各物理节点,各物理节点利用接收到的数据源处理接收到的事件,实现神经网络模型的分布式训练。
本申请实施例提供的任务分配方法,将神经网络模型的训练划分为多个事件,将多个数据源和多个事件分别分配至多个物理节点实现神经网络模型的分布式训练,以最小化训练能耗为目标确定事件或数据源分配策略,同时考虑了物理节点处理事件的能耗以及不同事件之间的数据传输能耗,降低了分布式训练神经网络模型的能耗。
本申请实施例公开了一种任务分配方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。具体的:
参见图6,根据一示例性实施例示出的另一种任务分配方法的流程图,如图6所示,包括:
S201:获取分布式训练的物理节点集合、数据源集合、神经网络模型、事件树集合;其中,所述事件树集合的事件树基于所述神经网络模型的层拓扑结构和所述神经网络模型的每个层包含的事件创建,所述事件树用于描述数据源与事件或不同事件之间的关联关系;
S202:根据所述神经网络模型的每个层传出数据与传入数据的比率和处理单位流量所需的计算资源确定多个所述事件树的总能耗,选择总能耗最小的事件树作为目标事件树;
S203:在使用所述数据源的全部数据、利用每个所述物理节点的全部处理能力的前提下,以最小化训练能耗为目标确定所述目标事件树的目标事件或数据源分配策略;
在本实施例中,分配策略的决策包括神经网络模型的每个层创建多少事件以及事件如何关联、数据源和事件如何部署到物理节点、如何分配计算和网络资源。
可以理解的是,对于目标事件树来说,y变量是固定的,在本步骤中,在使用所述数据源的全部数据、利用每个所述物理节点的全部处理能力的前提下,以最小化训练能耗为目标确定所述目标事件树的目标事件或数据源分配策略,也即在满足约束的条件下求解目标函数的最小值时的目标事件或数据源分配策略,做出映射决策z变量。
S204:在所述目标事件或数据源分配策略的前提下,以最小化训练能耗为目标确定所述数据源的使用情况和所述物理节点的处理能力利用情况。
在本步骤中,在变量y和变量z确定的前提下,重新在满足约束的条件下求解目标函数的最小值时的数据源的使用情况和物理节点的处理能力利用情况,也即此时仅使用部分的数据源和物理节点的部分处理能力,求解变量x和变量
作为一种可行的实施方式,在所述目标事件或数据源分配策略的前提下,以最小化训练能耗为目标确定所述数据源的使用情况和所述物理节点的处理能力利用情况,包括:若所述神经网络模型每轮训练的能耗、时间、总轮数存在预设范围,则利用求解器在所述目标事件或数据源分配策略的前提下,以最小化训练能耗为目标确定所述数据源的使用情况和所述物理节点的处理能力利用情况;若所述神经网络模型每轮训练的能耗、时间、总轮数不存在预设范围,则基于梯度的算法在所述目标事件或数据源分配策略的前提下,以最小化训练能耗为目标确定所述数据源的使用情况和所述物理节点的处理能力利用情况。
在具体实施中,如果K、E和T有闭合形式的表达式,也即存在预设范围,那么可以利用求解器进行求解,例如CPLEX求解器、Gurobi求解器等,否则,可以通过迭代的梯度算法进行求解,例如BFGS(Broyden–Fletcher–Goldfarb–Shanno)算法。
S205:判断训练能耗是否降低;若是,则进入S206;若否,则进入S207;
在本步骤中,判断使用部分的数据源和物理节点的部分处理能力对应的训练能耗相比于使用全部的数据源和物理节点的全部处理能力对应的训练能耗是否有所降低,也即判断步骤S204中求解的最小训练能耗相比于步骤S203中求解的最小训练能耗是否有所降低,若是,则进入S206;若否,则进入S207。
S206:基于所述目标事件或数据源分配策略对所述数据源和所述目标事件树中的事件分配对应的物理节点;
在具体实施中,如果训练能耗降低,则采用目标事件树以及目标事件树对应的目标事件或数据源分配策略。
S207:选择除所述目标事件树之外的总能耗最小的事件树重新作为所述目标事件树,并重新进入S203。
在具体实施中,如果训练能耗未降低,则重新选择目标事件树,重新确定目标事件或数据源分配策略。
由此可见,本实施例通过使用部分的数据源和物理节点的部分处理能力,而并非全部的数据源和物理节点的全部处理能力,进一步降低分布式训练神经网络模型的能耗。
下面对本申请实施例提供的一种任务分配装置进行介绍,下文描述的一种任务分配装置与上文描述的一种任务分配方法可以相互参照。
参见图7,根据一示例性实施例示出的一种任务分配装置的结构图,如图7所示,包括:
获取模块701,用于获取分布式训练的物理节点集合、数据源集合、神经网络模型、事件树集合;其中,所述事件树集合的事件树基于所述神经网络模型的层拓扑结构和所述神经网络模型的每个层包含的事件创建,所述事件树用于描述数据源与事件或不同事件之间的关联关系;
选择模块702,用于根据所述神经网络模型的每个层传出数据与传入数据的比率和处理单位流量所需的计算资源确定多个所述事件树的总能耗,选择总能耗最小的事件树作为目标事件树;
确定模块703,用于以最小化训练能耗为目标确定所述目标事件树的目标事件或数据源分配策略;其中,所述目标事件或数据源分配策略用于描述处理所述目标事件树中事件的物理节点或数据源分配的物理节点,所述训练能耗包括所述物理节点处理事件的能耗、不同事件之间的数据传输能耗;
部署模块704,用于基于所述目标事件或数据源分配策略将所述数据源和所述目标事件树中的事件部署于对应的物理节点。
本申请实施例提供的任务分配装置,将神经网络模型的训练划分为多个事件,将多个数据源和多个事件分别分配至多个物理节点实现神经网络模型的分布式训练,以最小化训练能耗为目标确定事件或数据源分配策略,同时考虑了物理节点处理事件的能耗以及不同事件之间的数据传输能耗,降低了分布式训练神经网络模型的能耗。
在上述实施例的基础上,作为一种优选实施方式,所述选择模块702具体用于:根据总能耗计算公式确定多个所述事件树的总能耗;其中,所述总能耗计算公式为:
其中,y用于描述数据源与事件或不同事件之间的关联关系,为预设损失值,为达到预设损失值/>所需的总轮数,/>表示第/>层中的第i个事件,L为所述神经网络模型的层集合,Q为事件集,/>表示处理第/>层单位流量所需的计算资源,D为所述数据源集合,d表示数据源集合D中的数据源,/>为数据源d在每轮训练生成的数据,为第m层传出数据与传入数据的比率,层m位于从数据源d到层/>的路径中。
在上述实施例的基础上,作为一种优选实施方式,所述确定模块703具体用于:基于所述神经网络模型每轮训练的能耗与总轮数的乘积构建目标函数;其中,所述每轮训练的能耗包括每轮训练中所述物理节点处理事件的能耗、不同事件之间的数据传输能耗;通过最小化所述目标函数确定目标事件或数据源分配策略。
在上述实施例的基础上,作为一种优选实施方式,最小化所述目标函数表示为:
其中,x用于描述数据源向事件传输的数据,y用于描述数据源与事件或不同事件之间的关联关系,z用于描述数据源或事件与物理节点之间的对应关系,用于描述分配至事件的计算资源,/>为预设损失值,/>为达到预设损失值/>所需的总轮数,为每轮训练的能耗,/>,/>表示第/>层中的第i个事件,L为所述神经网络模型的层集合,Q为事件集,/>表示物理节点处理事件的能耗,/>表示事件/>由于数据传输的能耗。
在上述实施例的基础上,作为一种优选实施方式,,/>为处理事件/>的时间,/>表示分配至事件/>的计算资源,/>表示处理事件/>的物理节点,/>表示物理节点提供一个处理单元的能耗,/>表示物理节点/>处理第/>层中事件的内存和存储需求的能耗。
在上述实施例的基础上,作为一种优选实施方式,,/>表示物理节点/>处理单位流量的能耗,/>表示第m层中的第j个事件,/>为事件/>与事件/>之间的数据流量。
在上述实施例的基础上,作为一种优选实施方式,所述确定模块703具体用于:为所述神经网络模型的每个层中的不同事件部署于不同的物理节点创建对应的顶点,若第一物理节点与第二物理节点之间存在连接则在相邻层的所述第一物理节点对应的顶点与所述第二物理节点对应的顶点之间创建边;为所述数据源创建对应的顶点,在所述数据源对应的顶点与所述数据源存在关联关系的事件对应的顶点之间创建边;创建终止顶点,在所述终止顶点与所述神经网络模型的最后一层中的所有事件对应的顶点之间创建边,得到展开图;基于所述物理节点处理事件的能耗生成所述展开图中对应顶点的权重,基于不同事件之间的数据传输能耗生成所述展开图中对应边的权重;在所述展开图中确定斯坦纳树,基于所述斯坦纳树包含的顶点确定目标事件或数据源分配策略。
在上述实施例的基础上,作为一种优选实施方式,所述目标函数存在约束:所述神经网络模型每轮训练的时间与所述总轮数的乘积小于或等于预设最大训练时间。
在上述实施例的基础上,作为一种优选实施方式,所述神经网络模型每轮训练的时间基于所述神经网络模型的最后一层中最慢事件结束时间确定。
在上述实施例的基础上,作为一种优选实施方式,所述约束表示为:,/>为所述神经网络模型每轮训练的时间,/>为预设最大训练时间,/>,/>为事件/>的结束时间,,/>为事件/>的开始时间,/>为处理事件/>的时间,/>表示所述神经网络模型中的最后一层。
在上述实施例的基础上,作为一种优选实施方式,,/>表示第h层中的第k个事件,表示事件/>与事件/>之间的关联关系,/>为事件/>的结束时间,/>表示处理事件/>的物理节点,/>为物理节点/>传输到物理节点/>的时间。
在上述实施例的基础上,作为一种优选实施方式,为事件/>与事件/>之间的数据流量,/>为单位时间内物理节点与物理节点/>之间传输的数据量。
在上述实施例的基础上,作为一种优选实施方式,表示处理第/>层单位流量所需的计算资源,/>表示分配至事件/>的计算资源,为事件/>与事件/>之间的数据流量。
在上述实施例的基础上,作为一种优选实施方式,所述确定模块703具体用于:在使用所述数据源的全部数据、利用每个所述物理节点的全部处理能力的前提下,以最小化训练能耗为目标确定所述目标事件树的目标事件或数据源分配策略;在所述目标事件或数据源分配策略的前提下,以最小化训练能耗为目标确定所述数据源的使用情况和所述物理节点的处理能力利用情况。
在上述实施例的基础上,作为一种优选实施方式,所述确定模块703具体用于:若所述神经网络模型每轮训练的能耗、时间、总轮数存在预设范围,则利用求解器在所述目标事件或数据源分配策略的前提下,以最小化训练能耗为目标确定所述数据源的使用情况和所述物理节点的处理能力利用情况;若所述神经网络模型每轮训练的能耗、时间、总轮数不存在预设范围,则基于梯度的算法在所述目标事件或数据源分配策略的前提下,以最小化训练能耗为目标确定所述数据源的使用情况和所述物理节点的处理能力利用情况。
在上述实施例的基础上,作为一种优选实施方式,还包括:
判断模块,用于判断训练能耗是否降低;若是,则启动所述部署模块704的工作流程;若否,则选择除所述目标事件树之外的总能耗最小的事件树重新作为所述目标事件树,并重新启动所述确定模块703的工作流程。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
基于上述程序模块的硬件实现,且为了实现本申请实施例的方法,本申请实施例还提供了一种电子设备,图8为根据一示例性实施例示出的一种电子设备的结构图,如图8所示,电子设备包括:
通信接口1,能够与其它设备比如网络设备等进行信息交互;
处理器2,与通信接口1连接,以实现与其它设备进行信息交互,用于运行计算机程序时,执行上述一个或多个技术方案提供的任务分配方法。而所述计算机程序存储在存储器3上。
当然,实际应用时,电子设备中的各个组件通过总线系统4耦合在一起。可理解,总线系统4用于实现这些组件之间的连接通信。总线系统4除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图8中将各种总线都标为总线系统4。
本申请实施例中的存储器3用于存储各种类型的数据以支持电子设备的操作。这些数据的示例包括:用于在电子设备上操作的任何计算机程序。
可以理解,存储器3可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random AccessMemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,SynchronousDynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random Access Memory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本申请实施例描述的存储器3旨在包括但不限于这些和任意其它适合类型的存储器。
上述本申请实施例揭示的方法可以应用于处理器2中,或者由处理器2实现。处理器2可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器2中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器2可以是通用处理器、DSP,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器2可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器3,处理器2读取存储器3中的程序,结合其硬件完成前述方法的步骤。
处理器2执行所述程序时实现本申请实施例的各个方法中的相应流程,为了简洁,在此不再赘述。
在示例性实施例中,本申请实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的存储器3,上述计算机程序可由处理器2执行,以完成前述方法所述步骤。计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、Flash Memory、磁表面存储器、光盘、CD-ROM等存储器。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机、服务器、网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。

Claims (20)

1.一种任务分配方法,其特征在于,包括:
获取分布式训练的物理节点集合、数据源集合、神经网络模型、事件树集合;其中,所述事件树集合的事件树基于所述神经网络模型的层拓扑结构和所述神经网络模型的每个层包含的事件创建,所述事件树用于描述数据源与事件或不同事件之间的关联关系;
根据所述神经网络模型的每个层传出数据与传入数据的比率和处理单位流量所需的计算资源确定多个所述事件树的总能耗,选择总能耗最小的事件树作为目标事件树;
以最小化训练能耗为目标确定所述目标事件树的目标事件或数据源分配策略;其中,所述目标事件或数据源分配策略用于描述处理所述目标事件树中事件的物理节点或数据源分配的物理节点,所述训练能耗包括所述物理节点处理事件的能耗、不同事件之间的数据传输能耗;
基于所述目标事件或数据源分配策略将所述数据源和所述目标事件树中的事件部署于对应的物理节点。
2.根据权利要求1所述任务分配方法,其特征在于,根据所述神经网络模型的每个层传出数据与传入数据的比率和处理单位流量所需的计算资源确定多个所述事件树的总能耗,包括:
根据总能耗计算公式确定多个所述事件树的总能耗;其中,所述总能耗计算公式为:
其中,y用于描述数据源与事件或不同事件之间的关联关系,为预设损失值,为达到预设损失值/>所需的总轮数,/>表示第/>层中的第i个事件,L为所述神经网络模型的层集合,Q为事件集,/>表示处理第/>层单位流量所需的计算资源,D为所述数据源集合,d表示数据源集合D中的数据源,/>为数据源d在每轮训练生成的数据,为第m层传出数据与传入数据的比率,层m位于从数据源d到层/>的路径中。
3.根据权利要求1所述任务分配方法,其特征在于,以最小化训练能耗为目标确定所述目标事件树的目标事件或数据源分配策略,包括:
基于所述神经网络模型每轮训练的能耗与总轮数的乘积构建目标函数;其中,所述每轮训练的能耗包括每轮训练中所述物理节点处理事件的能耗、不同事件之间的数据传输能耗;
通过最小化所述目标函数确定目标事件或数据源分配策略。
4.根据权利要求3所述任务分配方法,其特征在于,最小化所述目标函数表示为:
其中,x用于描述数据源向事件传输的数据,y用于描述数据源与事件或不同事件之间的关联关系,z用于描述数据源或事件与物理节点之间的对应关系,用于描述分配至事件的计算资源,/>为预设损失值,/>为达到预设损失值/>所需的总轮数,为每轮训练的能耗,/>,/>表示第/>层中的第i个事件,L为所述神经网络模型的层集合,Q为事件集,/>表示物理节点处理事件的能耗,/>表示事件/>由于数据传输的能耗。
5.根据权利要求4所述任务分配方法,其特征在于,,/>为处理事件/>的时间,/>表示分配至事件/>的计算资源,/>表示处理事件/>的物理节点,/>表示物理节点提供一个处理单元的能耗,/>表示物理节点/>处理第/>层中事件的内存和存储需求的能耗。
6.根据权利要求4所述任务分配方法,其特征在于,,/>表示物理节点/>处理单位流量的能耗,/>表示第m层中的第j个事件,/>为事件/>与事件/>之间的数据流量。
7.根据权利要求3所述任务分配方法,其特征在于,确定所述目标函数最小值时的目标事件或数据源分配策略,包括:
为所述神经网络模型的每个层中的不同事件部署于不同的物理节点创建对应的顶点,若第一物理节点与第二物理节点之间存在连接则在相邻层的所述第一物理节点对应的顶点与所述第二物理节点对应的顶点之间创建边;
为所述数据源创建对应的顶点,在所述数据源对应的顶点与所述数据源存在关联关系的事件对应的顶点之间创建边;
创建终止顶点,在所述终止顶点与所述神经网络模型的最后一层中的所有事件对应的顶点之间创建边,得到展开图;
基于所述物理节点处理事件的能耗生成所述展开图中对应顶点的权重,基于不同事件之间的数据传输能耗生成所述展开图中对应边的权重;
在所述展开图中确定斯坦纳树,基于所述斯坦纳树包含的顶点确定目标事件或数据源分配策略。
8.根据权利要求4所述任务分配方法,其特征在于,所述目标函数存在约束:所述神经网络模型每轮训练的时间与所述总轮数的乘积小于或等于预设最大训练时间。
9.根据权利要求8所述任务分配方法,其特征在于,所述神经网络模型每轮训练的时间基于所述神经网络模型的最后一层中最慢事件结束时间确定。
10.根据权利要求9所述任务分配方法,其特征在于,所述约束表示为:,/>为所述神经网络模型每轮训练的时间,/>为预设最大训练时间,/>,/>为事件/>的结束时间,,/>为事件/>的开始时间,/>为处理事件/>的时间,/>表示所述神经网络模型中的最后一层。
11.根据权利要求10所述任务分配方法,其特征在于,,/>表示第h层中的第k个事件,表示事件/>与事件/>之间的关联关系,/>为事件/>的结束时间,/>表示处理事件/>的物理节点,/>为物理节点/>传输到物理节点/>的时间。
12.根据权利要求11所述任务分配方法,其特征在于,为事件/>与事件/>之间的数据流量,/>为单位时间内物理节点与物理节点/>之间传输的数据量。
13.根据权利要求10所述任务分配方法,其特征在于,表示处理第/>层单位流量所需的计算资源,/>表示分配至事件/>的计算资源,为事件/>与事件/>之间的数据流量。
14.根据权利要求1所述任务分配方法,其特征在于,以最小化训练能耗为目标确定所述目标事件树的目标事件或数据源分配策略,包括:
在使用所述数据源的全部数据、利用每个所述物理节点的全部处理能力的前提下,以最小化训练能耗为目标确定所述目标事件树的目标事件或数据源分配策略;
在所述目标事件或数据源分配策略的前提下,以最小化训练能耗为目标确定所述数据源的使用情况和所述物理节点的处理能力利用情况。
15.根据权利要求14所述任务分配方法,其特征在于,在所述目标事件或数据源分配策略的前提下,以最小化训练能耗为目标确定所述数据源的使用情况和所述物理节点的处理能力利用情况,包括:
若所述神经网络模型每轮训练的能耗、时间、总轮数存在预设范围,则利用求解器在所述目标事件或数据源分配策略的前提下,以最小化训练能耗为目标确定所述数据源的使用情况和所述物理节点的处理能力利用情况。
16.根据权利要求14所述任务分配方法,其特征在于,在所述目标事件或数据源分配策略的前提下,以最小化训练能耗为目标确定所述数据源的使用情况和所述物理节点的处理能力利用情况,包括:
若所述神经网络模型每轮训练的能耗、时间、总轮数不存在预设范围,则基于梯度的算法在所述目标事件或数据源分配策略的前提下,以最小化训练能耗为目标确定所述数据源的使用情况和所述物理节点的处理能力利用情况。
17.根据权利要求14所述任务分配方法,其特征在于,在所述目标事件或数据源分配策略的前提下,以最小化训练能耗为目标确定所述数据源的使用情况和所述物理节点的处理能力利用情况之后,还包括:
判断训练能耗是否降低;
若是,则进入基于所述目标事件或数据源分配策略对所述数据源和所述目标事件树中的事件分配对应的物理节点;
若否,则选择除所述目标事件树之外的总能耗最小的事件树重新作为所述目标事件树,并重新进入所述在使用所述数据源的全部数据、利用每个所述物理节点的全部处理能力的前提下,以最小化训练能耗为目标确定所述目标事件树的目标事件或数据源分配策略的步骤。
18.一种任务分配装置,其特征在于,包括:
获取模块,用于获取分布式训练的物理节点集合、数据源集合、神经网络模型、事件树集合;其中,所述事件树集合的事件树基于所述神经网络模型的层拓扑结构和所述神经网络模型的每个层包含的事件创建,所述事件树用于描述数据源与事件或不同事件之间的关联关系;
选择模块,用于根据所述神经网络模型的每个层传出数据与传入数据的比率和处理单位流量所需的计算资源确定多个所述事件树的总能耗,选择总能耗最小的事件树作为目标事件树;
确定模块,用于以最小化训练能耗为目标确定所述目标事件树的目标事件或数据源分配策略;其中,所述目标事件或数据源分配策略用于描述处理所述目标事件树中事件的物理节点或数据源分配的物理节点,所述训练能耗包括所述物理节点处理事件的能耗、不同事件之间的数据传输能耗;
部署模块,用于基于所述目标事件或数据源分配策略将所述数据源和所述目标事件树中的事件部署于对应的物理节点。
19.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至17任一项所述任务分配方法的步骤。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至17任一项所述任务分配方法的步骤。
CN202410224929.6A 2024-02-29 2024-02-29 一种任务分配方法、装置及电子设备和存储介质 Pending CN117806835A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410224929.6A CN117806835A (zh) 2024-02-29 2024-02-29 一种任务分配方法、装置及电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410224929.6A CN117806835A (zh) 2024-02-29 2024-02-29 一种任务分配方法、装置及电子设备和存储介质

Publications (1)

Publication Number Publication Date
CN117806835A true CN117806835A (zh) 2024-04-02

Family

ID=90428203

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410224929.6A Pending CN117806835A (zh) 2024-02-29 2024-02-29 一种任务分配方法、装置及电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN117806835A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113570067A (zh) * 2021-07-23 2021-10-29 北京百度网讯科技有限公司 分布式系统的同步方法、装置及程序产品
CN113961351A (zh) * 2021-10-28 2022-01-21 北京百度网讯科技有限公司 深度学习模型的分布式训练方法、装置、设备及存储介质
CN114186687A (zh) * 2022-02-17 2022-03-15 之江实验室 一种面向神经网络模型计算的中间表示方法和装置
CN116341642A (zh) * 2023-03-01 2023-06-27 之江实验室 一种数据处理的方法、装置、存储介质及电子设备
CN117155791A (zh) * 2023-10-31 2023-12-01 浪潮电子信息产业股份有限公司 基于集群拓扑结构的模型部署方法、系统、设备及介质
WO2023240845A1 (zh) * 2022-06-15 2023-12-21 苏州元脑智能科技有限公司 一种分布式计算方法、系统、设备及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113570067A (zh) * 2021-07-23 2021-10-29 北京百度网讯科技有限公司 分布式系统的同步方法、装置及程序产品
CN113961351A (zh) * 2021-10-28 2022-01-21 北京百度网讯科技有限公司 深度学习模型的分布式训练方法、装置、设备及存储介质
CN114186687A (zh) * 2022-02-17 2022-03-15 之江实验室 一种面向神经网络模型计算的中间表示方法和装置
WO2023240845A1 (zh) * 2022-06-15 2023-12-21 苏州元脑智能科技有限公司 一种分布式计算方法、系统、设备及存储介质
CN116341642A (zh) * 2023-03-01 2023-06-27 之江实验室 一种数据处理的方法、装置、存储介质及电子设备
CN117155791A (zh) * 2023-10-31 2023-12-01 浪潮电子信息产业股份有限公司 基于集群拓扑结构的模型部署方法、系统、设备及介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
FEI DAI: "Wrht: Efficient All-reduce for Distributed DNN Training in Optical Interconnect Systems", ICPP \'23: PROCEEDINGS OF THE 52ND INTERNATIONAL CONFERENCE ON PARALLEL PROCESSING, 13 September 2023 (2023-09-13), pages 556 - 565 *
王丽;郭振华;曹芳;高开;赵雅倩;赵坤;: "面向模型并行训练的模型拆分策略自动生成方法", 计算机工程与科学, no. 09, 15 September 2020 (2020-09-15), pages 12 - 20 *

Similar Documents

Publication Publication Date Title
Marden et al. Game theory and distributed control
US10754709B2 (en) Scalable task scheduling systems and methods for cyclic interdependent tasks using semantic analysis
CN110688219B (zh) 基于反向混沌布谷鸟搜索的自适应权重负载均衡算法
CN114915630B (zh) 基于物联网设备的任务分配方法、网络训练方法及装置
EP4350572A1 (en) Method, apparatus and system for generating neural network model, devices, medium and program product
CN115066694A (zh) 计算图优化
CN112784362A (zh) 一种用于无人机辅助边缘计算的混合优化方法及系统
CN115755954B (zh) 巡检路径规划方法、系统、计算机设备及存储介质
CN116070682B (zh) 神经元计算机操作系统的snn模型动态映射方法及装置
WO2021238305A1 (zh) 一种基于强化学习的通用分布式图处理方法及系统
CN117041330B (zh) 一种基于强化学习的边缘微服务细粒度部署方法及系统
CN111106960B (zh) 一种虚拟网络的映射方法、映射装置及可读存储介质
US20230112534A1 (en) Artificial intelligence planning method and real-time radio access network intelligence controller
Kinneer et al. Information reuse and stochastic search: Managing uncertainty in self-* systems
CN115016938A (zh) 一种基于强化学习的计算图自动划分方法
CN112415959B (zh) 边云协同的工业信息物理系统主动安全响应方法及架构
CN117806835A (zh) 一种任务分配方法、装置及电子设备和存储介质
Yadav E-MOGWO Algorithm for Computation Offloading in Fog Computing.
CN117707795B (zh) 基于图的模型划分的边端协同推理方法及系统
CN115858131B (zh) 一种任务执行方法、系统、设备及可读存储介质
CN114581223B (zh) 分配任务处理方法、设备、分布式计算系统及存储介质
CN113239077B (zh) 一种基于神经网络的搜索方法、系统和计算机可读存储介质
CN116932164B (zh) 一种基于云平台的多任务调度方法及其系统
US20230051527A1 (en) Method and system for software enhancement and management
WO2021152652A1 (ja) 割当装置、学習装置、推論装置、割当方法、及び、割当プログラム

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