CN115827225A - 异构运算的分配方法、模型训练方法、装置、芯片、设备及介质 - Google Patents

异构运算的分配方法、模型训练方法、装置、芯片、设备及介质 Download PDF

Info

Publication number
CN115827225A
CN115827225A CN202211449768.8A CN202211449768A CN115827225A CN 115827225 A CN115827225 A CN 115827225A CN 202211449768 A CN202211449768 A CN 202211449768A CN 115827225 A CN115827225 A CN 115827225A
Authority
CN
China
Prior art keywords
model
operator
allocation
processor
training
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
CN202211449768.8A
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.)
Spreadtrum Semiconductor Nanjing Co Ltd
Original Assignee
Spreadtrum Semiconductor Nanjing 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 Spreadtrum Semiconductor Nanjing Co Ltd filed Critical Spreadtrum Semiconductor Nanjing Co Ltd
Priority to CN202211449768.8A priority Critical patent/CN115827225A/zh
Publication of CN115827225A publication Critical patent/CN115827225A/zh
Pending legal-status Critical Current

Links

Images

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

Landscapes

  • Supply And Distribution Of Alternating Current (AREA)

Abstract

本发明公开了一种异构运算的分配方法、模型训练方法、装置、芯片、设备及介质,训练方法包括:获取训练样本,训练样本包括网络模型的算子信息及处理器的状态信息;将训练样本输入至初始模型以确定算子的分配策略,分配策略包括算子所分配的处理器信息、算子从分配处理器到处理器运行结束的耗时及算子在处理器上运行的能耗;根据分配策略确定初始模型的目标函数,以目标函数达到预设条件为目标对初始模型进行迭代,以得到异构运算分配模型,过耗时及能耗构建目标函数对模型进行训练,使训练好的分配模型能够充分考虑算子分配时的耗时及能耗,提升算子分配的模型性能降低算子分配的成本,使得算子分配的过程更加和智能化。

Description

异构运算的分配方法、模型训练方法、装置、芯片、设备及介质
技术领域
本领域涉及人工智能技术领域,尤其涉及一种异构运算的分配方法、模型训练方法、装置、芯片、设备及介质。
背景技术
近年来,随着人工智能的快速发展,AI模型(人工智能预训练模型)成为开发者和用户青睐的对象,通过AI模型可以实现数据资源的快速处理,一些开发者平台提供有编辑和使用的模型资源以及素材等。在终端处理器完成AI模型的推理需要依赖于硬件处理器来运行模型中的算子(即深度学习中的计算单元),这些硬件处理器通常包括CPU(中央处理器)、GPU(图形处理器)、NPU(神经网络处理器)、vDSP(视觉数字信号处理器)等。但是,不同算子运行在不同硬件处理器上的性能和功耗是有差异的,并且不是所有硬件后端都支持模型中所有算子的运行。因此在AI模型进行推理前,需要有一种策略来将AI模型分段,使AI模型中的所有算子能合理地运行在不同后端上,以期达到用户对性能和功耗的要求。
参见图1,现有技术中的算子分配策略需要人工指定不同算子(即图中所指示的op)在不同硬件处理器(即图中所指示的dev)上的性能指标与功耗指标,并根据每个算子的性能指标及功耗指标为算子寻找最佳运行处理器,每个处理器根据所分配的算子生成对应的等待队列(及图中所指示的queue),在一些时候,当处理器的等待队列较长时,需要根据处理器的状态重新为算子重新分配用于执行的处理器。
现有技术中针对每个算子,人工获取性能指标和功耗指标难度较大,而且需要经过大量测试。同时,现有技术中的算子分配策略不考虑不同后端处理器的当前负载情况,容易导致负载不均衡的问题;同时也不考虑算子调度至不同后端的开销,对于频繁对算子进行调度容易导致开销增大效率降低等问题。
发明内容
本发明要解决的技术问题是为了克服现有技术中存在人工分配算子,造成人工成本高且分配算子结果不合理的缺陷,提供一种异构运算的分配方法、模型训练方法、装置、芯片、设备及介质。
本发明是通过下述技术方案来解决上述技术问题:
一种异构运算分配模型的训练方法,所述训练方法包括:
获取训练样本,所述训练样本包括网络模型的算子信息及处理器的状态信息;
将所述训练样本输入至初始模型以确定算子的分配策略,所述分配策略包括所述算子所分配的处理器信息、所述算子从分配处理器到处理器运行结束的耗时及所述算子在处理器上运行的能耗;
根据所述分配策略确定所述初始模型的目标函数,以所述目标函数达到预设条件为目标对所述初始模型进行迭代,以得到异构运算分配模型。
可选地,所述根据所述分配策略确定所述初始模型的目标函数,以所述目标函数达到预设条件为目标对所述初始模型进行迭代,包括:
当所述目标函数为由所述分配策略构建的奖励时,所述预设条件为基于所述目标函数计算得到的奖励迭代至最大值;
和/或,
当所述目标函数为由所述分配策略构建的损失函数时,所述预设条件为基于所述目标函数计算得到的损失误差迭代至最小值。可选地,所述将所述训练样本输入至初始模型以确定所述算子的分配策略之后,包括:
根据本轮模型迭代的输出结果对所述下一轮模型迭代的训练样本中处理器的状态信息进行更新,并将更新后的所述训练样本作为下一轮模型迭代的输入数据。
可选地,所述根据所述分配策略确定所述初始模型的目标函数,包括:
根据策略梯度算法对所述初始模型的参数进行迭代。
可选地,所述根据所述分配策略确定所述初始模型的目标函数,包括:
根据所述耗时及所述能耗构建所述分配策略的奖励,并根据所述奖励及所述算子所分配的处理器信息及所述奖励确定所述分配策略的目标函数。
可选地,所述训练样本包括多个网络模型的算子;
所述根据所述分配策略确定所述初始模型的目标函数,以所述目标函数最小化为目标对所述初始模型进行迭代,以得到异构运算分配模型,包括:
轮流从多个所述网络模型的算子选择其中一组网络模型的算子作为所述初始模型的测试集,其余网络模型的算子作为所述初始模型的训练集;
分别基于确定的所述训练集对所述初始模型进行训练,并基于确定的所述测试集对所述训练后的初始模型进行测试,以得到每个训练后的初始模型的性能;
将所述性能最佳时所对应的训练后的初始模型确定为所述异构运算分配模型。
一种异构运算的分配方法,所述分配方法包括:
获取待分配的网络模型的算子信息及处理算子的处理器信息;
将所述算子及处理器输入至异构运算分配模型以得到所述算子的分配策略,所述异构运算分配模型根据上述任一项所述的异构运算分配模型的训练方法训练得到。
一种异构运算分配模型的训练装置,所述训练装置包括:
第一获取模块,用于获取训练样本,所述训练样本包括网络模型的算子信息及处理器的状态信息;
第一策略模块,用于将所述训练样本输入至初始模型以确定算子的分配策略,所述分配策略包括所述算子所分配的处理器信息、所述算子从分配处理器到处理器运行结束的耗时及所述算子在处理器上运行的能耗;
优化模块,用于根据所述分配策略确定所述初始模型的目标函数,以所述目标函数达到预设条件为目标对所述初始模型进行迭代,以得到异构运算分配模型。
一种异构运算的分配装置,所述分配装置包括:
第二获取模块,用于获取待分配的网络模型的算子信息及处理算子的处理器信息;
第二策略模块,用于将所述算子及处理器输入至异构运算分配模型以得到所述算子的分配策略,所述异构运算分配模型根据上述所述的异构运算分配模型的训练装置训练得到。
一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述任一项所述的异构运算分配模型的训练方法或上述所述的异构运算的分配方法。
一种芯片,应用于电子设备,所述芯片用于执行如上述任一项所述的异构运算分配模型的训练方法或上述所述的异构运算的分配方法。
一种芯片模组,应用于电子设备,包括收发组件和芯片,所述芯片,用于执行如上述任一项所述的异构运算分配模型的训练方法或上述所述的异构运算的分配方法。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述的异构运算分配模型的训练方法或上述所述的异构运算的分配方法。
本发明的积极进步效果在于:通过算子信息及处理器的状态信息自动为网络模型的算子分配处理器,通过耗时及能耗构建目标函数对模型进行训练,使训练好的分配模型能够充分考虑算子分配时的耗时及能耗,提升算子分配的模型性能降低算子分配的成本,使得算子分配的过程更加和智能化;同时根据算子的分配结果及时对处理器的状态信息进行更新,避免算子分配后需要长时间在等待队列中等待的情况,提高模型的处理效率。
附图说明
图1为本发明一示例性实施例提供的背景技术中算子分配的示意图;
图2为本发明一示例性实施例提供的一种异构运算分配模型的训练方法的第一流程图;
图3为本发明一示例性实施例提供的一种异构运算分配模型的训练方法的算子分配示意图;
图4为本发明一示例性实施例提供的一种异构运算分配模型的训练方法的第二流程图;
图5为本发明一示例性实施例提供的一种异构运算的分配方法的第一流程图;
图6为本发明一示例性实施例提供的一种异构运算的分配方法的第二流程图;
图7为本发明一示例性实施例提供的一种异构运算分配模型的训练装置的模块图;
图8为本发明一示例性实施例提供的一种异构运算的分配装置的模块图;
图9为本发明一示例性实施例提供的一种电子设备的结构图。
具体实施方式
下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
本发明一示例性实施例提供一种异构运算分配模型的训练方法,异构计算是一种特殊形式的并行和分布式计算,它或是用能同时支持simd(Single Instruction MultipleData,单指令流多数据流)方式和mimd(Multipe Instructions Stream Multiple DataStream,多指令流多数据流)方式的单个独立计算机,或是用由高速网络互连的一组独立计算机来完成计算任务。网络模型由一个个计算单元组成,我们称这些计算单元为算子(Operator,简称Op)。算子是一个函数空间到函数空间上的映射O:X→X;从广义上讲,对任何函数进行某一项操作都可以认为是一个算子。在本发明实施例中,我们所开发的算子是网络模型中涉及到的计算函数。参见图2,训练方法包括:
S201、获取训练样本,训练样本包括网络模型的算子信息及处理器的状态信息。
在一个实施例中,网络模型包括需要由处理器进行处理的AI模型、机器学习模型、深度学习模型、神经网络等,在训练样本中尽量涵盖所有框架支持算子,以保证分配模型的兼容性。处理器的状态信息由支持网络模型的算子的处理器信息组成。
S202、将训练样本输入至初始模型以确定算子的分配策略,分配策略包括算子所分配的处理器信息、算子从分配处理器到处理器运行结束的耗时及算子在处理器上运行的能耗。
在一个实施例中,模型对于每一个输入进行分配的算子能够自动获取该算子从分配处理器到处理器运行结束的耗时及算子在处理器上运行的能耗,并基于耗时及能耗对模型进行训练。其中,由于算子在经由模型进行分配至处理器后,若分配的处理器的等待队列较长,则算子需要进行调度使得算子从分配处理器到处理器运行结束的耗时变长,因此基于耗时进行训练在一定程度上能够使得模型能够参考算子在发生调度时所产生的耗时,减少频繁调度情况的产生,避免对算子的分配性能产生负面影响。算子在处理器上运行的能耗可以由耗电量表征,耗电量=硬件功率×设备运行时间。
在一个实施例中,根据本轮模型迭代的输出结果对下一轮模型迭代的训练样本中处理器的状态信息进行更新,并将更新后的训练样本作为下一轮模型迭代的输入数据,即根据本轮模型迭代的算子所分配的处理器信息确定处理器的状态信息,并根据重新确定的状态信息对下一轮进行模型迭代的输入数据进行更新。
在一个实施例中,处理器的状态信息可以用于表征对应处理器的占用状态或等待队列。对应每一用于训练的算子生成用于输入初始模型的二维矩阵,二维矩阵根据算子信息及处理器的状态信息构建,二维矩阵中一个维度为算子列表,另一个维度为处理器的状态信息列表。如果有一个算子正在处理器上运行或存在于对应的等待队列中,则二维矩阵中对应的处理器信息与对应的算子信息矩阵位置的数值标记为1,以标识对应的算子以被分配至对应的处理器,处理器中存在的等待队列或存在正在处理的算子。
在一个实施例中,输入初始模型的输入数据还包括用于标识初始模型最近一次分配的算子在哪个处理器的一维向量,以及时更新处理器的状态信息。
S203、根据分配策略确定初始模型的目标函数,以目标函数达到预设条件为目标对初始模型进行迭代,以得到异构运算分配模型。
在一个实施例中,模型根据输入的训练样本在每一轮迭代的过程中确定算子的分配策略,模型通过策略梯度算法进行训练,在每一轮的迭代过程中,当所述目标函数为由所述分配策略构建的奖励时,所述预设条件为基于所述目标函数计算得到的奖励迭代至最大值;当所述目标函数为由所述分配策略构建的损失函数时,所述预设条件为基于所述目标函数计算得到的损失误差迭代至最小值;也即以模型输出的奖励最大,损失函数最小的目标进行训练,直至模型收敛,此时模型的性能最佳。
在一个实施例中,步骤S203具体包括:
对于策略梯度算法,需要构建初始模型的动作与奖励,将算子分配的处理器确定为初始模型的动作,并根据耗时及能耗构建分配策略的奖励。
初始模型的奖励可以包括及时奖励和延时总奖励,模型的奖励可以基于网络模型的策略目标构建,策略目标包括:性能优先策略、性能和能耗兼顾策略及能耗优先策略。
初始模型的即时奖励Ai可以根据上述三种策略目标分为如下三种不同的类型:
性能优先策略:Ai=1/ti,其中ti为当前进行模型迭代的算子从分配到处理器运行结束的耗时;
性能和能耗兼顾策略:
Figure BDA0003951127890000071
其中pi为当前进行模型迭代的算子分配至对应的处理器时的能耗,α为耗时的影响因子,β为耗电量影响因子,影响因子可以作为初始模型的超参数,在初始模型的训练过程中根据训练情况对影响因子进行调参,也可以根据经验进行选择。
能耗优先策略:Ai=1/pi
初始模型的延时奖励Ad包括也可以根据上述三种策略分为如下三种不同的类型:
性能优先策略:Ad=1/td,其中td为初始模型从分配的第一个算子直至所有算子全部运行结束的耗时;
性能和能耗兼顾策略:
Figure BDA0003951127890000081
其中pd为初始模型所分配的所有算子在处理器上的能耗,γ为耗时的影响因子,δ为耗电的影响因子,影响因子可以作为初始模型的超参数,在初始模型的训练过程中根据训练情况对影响因子进行调参,也可以根据经验进行选择。
能耗优先策略:Ad=1/pd
根据每一网络模型的策略目标选择匹配的即时奖励及延时总奖励,并根据即时奖励及延时奖励构建当前算子的总奖励:
Figure BDA0003951127890000082
其中ε为惩罚因子,即可以将延时总奖励设置惩罚,以使得全局影响减小,此超参数需要根据训练情况进行调参。此时可以将总奖励作为模型的目标函数,以奖励最大化对模型进行迭代条件。
更进一步地,可以通过由总奖励及处理信息构建的损失函数作为模型的目标函数,以损失函数最小化作为迭代条件。损失函数包括分配策略中算子分配的处理器信息和奖励两个因子组成,其中算子分配的处理器信息可以通过概率进行表示,即p(a|s)=π(s),其中a表示初始模型的动作,s表示处理器的状态信息,π表示算子的分配策略,p(a|s)表征算子分配的处理器的概率。
因此,损失函数为L=-∑jAjlnp(aj|sj),通过策略梯度下降算法对初始模型进行训练,以损失函数最小化为训练目标,模型训练的迭代停止条件为训练样本中所有算子都分配完毕,在训练过程中初始模型的参数进行迭代,以得到异构运算分配模型。
在本实施例中,最终训练得到的异构运算分配模型能够根据用户选择的策略目标选择模型的分配策略,并生成与网络模型每个算子的分配策略,分配结果可参见图3所示,op表征网络模型的算子,虚线框内的op为分配在同一处理器上运行的算子,step表征网络模型的分段结果。无需人工对算子分配的耗时及能耗进行测量,提高算子分配的智能化与自动化。且由于训练的模型能够自动获取算子的耗时及能耗。将能耗作为算子分配的奖励能够减少处理器的能耗,减小处理器的负载,并按照能耗对算子进行分配以实现负载均衡;将耗时作为算子分配的奖励,以提高算子分配的性能,对于频繁调度所造成的耗时进行迭代,减少算子分配不均时带来的频繁调度的问题。
在本实施例中,算子分配模型可以应用于芯片模组、终端等设备,可提高设备的性能节省功耗,且对于用户而言其无需确定底层硬件的性能及功耗,只需选择算子分配的策略目标即可。
在一个实施例中,训练样本包括多个网络模型的算子。训练方法还包括:通过k次折叠法对初始模型进行训练,以网络模型的数量为k为例,轮流从k个网络模型的算子k-1个网络模型的算子作为初始模型的训练集对初始模型进行训练,选择其中一组网络模型的算子作为初始模型的测试集对训练后的初始模型进行测试,以此类推得到k组测试集不同的训练样本。在本实施例中,可以通过多线程的方式使k组训练样本同时对初始模型进行训练,得到k组不同测试集和训练集训练下的初始模型,根据测试集对初始模型的测试结果,选择模型性能最佳的模型确定为分配模型。其中,精度可以通过测试集测试过程中目标函数的计算结果得到。在本实施例中,通过k次折叠法对模型进行训练,提高了分配模型的泛化性,另外通过多线程的方式同时使用k组数据同时对模型进行训练,提升模型训练的效率。
分别基于确定的训练集对初始模型进行训练,并基于确定的测试集对训练后的初始模型进行测试,以得到每个训练后的初始模型的测试结果,测试结果可以用奖励值或目标函数的计算值确定,当奖励值最大或目标函数的计算值最小时表征此时的初始模型性能最佳。
将性能最佳时所对应的训练后的初始模型确定为目标异构运算分配模型。
下面通过一具体实施方式对本发明实施例做进一步说明,参见图4:
根据网络模型的算子信息确定支持网络模型的算子的处理器信息,以构建用于模型训练的训练样本;并根据算子信息及处理器信息生成用于模型训练的二维矩阵;将每个算子对应的二维矩阵输入初始模型中进行训练,初始模型优选为神经网络,算子所分配的处理器信息构建为初始模型的动作,将所述算子从分配处理器到处理器运行结束的耗时及所述算子在处理器上运行的能耗构建为初始模型的奖励,通过策略梯度算法进行训练,直至停止条件,停止条件为训练样本中所有算子都训练完毕。
对于初始模型的训练过程可以在CPU上执行,且不会增加过多的负载,由于该过程在每个算子执行前会执行,可单独使用一核CPU进行处理。
其中,处理器数量<=5,支持算子数量大约为100,故数据及计算量很小,使用的神经网络大约3层左右即可。神经网络分为input层、隐藏层1、隐藏层2及output层,每一层的计算量大约为:input:5*100;隐藏层1:200;隐藏层2:50;output:1;因此进行一次算子分配的总计算量为:5*106op。能够保证初始模型针对算子分配过程中所产生的功耗相对较小且可预估。在训练好的异构运算分配模型的实际使用过程中所产生的开销可能略大于现有的分配策略,但是其能够保证算子分配在更合理的设备。
另外,异构运算分配模型的功耗依赖于CPU和DDR(双倍速率同步动态随机存储器)。DDR的功耗可通过如下方式获取:伪造n个算子数据,运行异构运算分配模型,获得分配结果。统计该过程的电量消耗来获得CPU和DDR的总功耗。如要单独获取DDR功耗,可根据策略模型在CPU上的计算算子及CPU算力来获取CPU上的执行时间,根据CPU单位时间的功耗参数来估计CPU的功耗,再用总功耗减去CPU的功耗即为DDR的功耗。
本发明一示例性实施例提供一种异构运算的分配方法,参见图5,分配方法包括:
S501、获取待分配的网络模型的算子信息及处理算子的处理器信息。
在一个实施例中,由于并非所有的处理器都能处理网络模型中所有算子的运行,在步骤S501中需要先获取能够支持网络模型的算子的处理器信息。
S502、将算子及处理器输入至异构运算分配模型以得到算子的分配策略,异构运算分配模型根据上述任一项的异构运算分配模型的训练方法训练得到。
在一个实施例中,参见图6,根据网络模型的算子信息确定支持网络模型的处理器信息,并将算子信息及处理器信息输入至异构运算分配模型,以确定每一算子的分配策略,其中分配策略包括算子的最佳运行处理器、算子从分配处理器到处理器运行结束的耗时、算子在分配的处理器上运行的能耗。
本发明一示例性实施例提供一种异构运算分配模型的训练装置,参见图7,训练装置包括:
第一获取模块71,用于获取训练样本,训练样本包括网络模型的算子信息及处理器的状态信息;
第一策略模块72,用于将训练样本输入至初始模型以确定算子的分配策略,分配策略包括算子所分配的处理器信息、算子从分配处理器到处理器运行结束的耗时及算子在处理器上运行的能耗;
优化模块73,用于根据分配策略确定初始模型的目标函数,以目标函数达到预设条件为目标对初始模型进行迭代,以得到异构运算分配模型。
本发明一示例性实施例提供一种异构运算的分配装置,参见图8,分配装置包括:
第二获取模块81,用于获取待分配的网络模型的算子信息及处理算子的处理器信息;
第二策略模块82,用于将算子及处理器输入至异构运算分配模型以得到算子的分配策略,异构运算分配模型根据上述的异构运算分配模型的训练装置训练得到。
关于本实施例提供的异构运算分配模型的训练装置或异构运算的分配装置具体可以是单独的芯片、芯片模组或电子设备,也可以是集成于电子设备内的芯片或芯片模组。
关于本实施例中描述的异构运算分配模型的训练装置或异构运算的分配装置包含的各个模块/单元,其可以是软件模块/单元,也可以是硬件模块/单元,或者也可以部分是软件模块/单元,部分是硬件模块/单元。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本发明一示例实施例示出的一种电子设备,参见图9所示,示出了适于用来实现本发明实施方式的示例性电子设备90的框图。图9显示的电子设备90仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图9所示,电子设备90可以以通用计算设备的形式表现,例如其可以为服务器设备。电子设备90的组件可以包括但不限于:上述至少一个处理器91、上述至少一个存储器92、连接不同装置组件(包括存储器92和处理器91)的总线93。
总线93包括数据总线、地址总线和控制总线。
存储器92可以包括易失性存储器,例如随机存取存储器(RAM)921和/或高速缓存存储器922,还可以进一步包括只读存储器(ROM)929。
存储器92还可以包括具有一组(至少一个)程序模块925的程序工具926(或实用工具),这样的程序模块925包括但不限于:操作装置、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
处理器91也可以称为主控芯片,例如CPU等,通过运行存储在存储器92中的计算机程序,从而执行各种功能应用以及数据处理,例如上述任一实施例所提供的方法。
电子设备90也可以与一个或多个外部设备95通信。这种通信可以通过输入/输出(I/O)接口96进行。并且,模型生成的电子设备90还可以通过网络适配器98与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器98通过总线93与模型生成的电子设备90的其它模块通信。应当明白,尽管图中未示出,可以结合模型生成的电子设备90使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID(磁盘阵列)装置、磁带驱动器以及数据备份存储装置等。
应当注意,尽管在上文详细描述中提及了电子设备的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,程序被处理器执行时实现上述任一实施例所提供的方法。
其中,可读存储介质可以采用的更具体可以包括但不限于:便携式盘、硬盘、随机存取存储器、只读存储器、可擦拭可编程只读存储器、光存储器件、磁存储器件或上述的任意合适的组合。
在可能的实施方式中,本发明实施例还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行实现上述任一实施例的方法。
其中,可以以一种或多种程序设计语言的任意组合来编写用于执行本发明的程序代码,程序代码可以完全地在用户设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户设备上部分在远程设备上执行或完全在远程设备上执行。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。

Claims (13)

1.一种异构运算分配模型的训练方法,其特征在于,所述训练方法包括:
获取训练样本,所述训练样本包括网络模型的算子信息及处理器的状态信息;
将所述训练样本输入至初始模型以确定算子的分配策略,所述分配策略包括所述算子所分配的处理器信息、所述算子从分配处理器到处理器运行结束的耗时及所述算子在处理器上运行的能耗;
根据所述分配策略确定所述初始模型的目标函数,以所述目标函数达到预设条件为目标对所述初始模型进行迭代,以得到异构运算分配模型。
2.如权利要求1所述的训练方法,其特征在于,所述根据所述分配策略确定所述初始模型的目标函数,以所述目标函数达到预设条件为目标对所述初始模型进行迭代,包括:
当所述目标函数为由所述分配策略构建的奖励时,所述预设条件为基于所述目标函数计算得到的奖励迭代至最大值;
和/或,
当所述目标函数为由所述分配策略构建的损失函数时,所述预设条件为基于所述目标函数计算得到的损失误差迭代至最小值。
3.如权利要求1所述的训练方法,其特征在于,所述将所述训练样本输入至初始模型以确定所述算子的分配策略之后,包括:
根据本轮模型迭代的输出结果对下一轮模型迭代的训练样本中处理器的状态信息进行更新,并将更新后的所述训练样本作为下一轮模型迭代的输入数据。
4.如权利要求1所述的训练方法,其特征在于,所述根据所述分配策略确定所述初始模型的目标函数,包括:
根据策略梯度算法对所述初始模型的参数进行迭代。
5.如权利要求1所述的训练方法,其特征在于,所述根据所述分配策略确定所述初始模型的目标函数,包括:
根据所述耗时及所述能耗构建所述分配策略的奖励,并根据所述奖励及所述算子所分配的处理器信息及所述奖励确定所述分配策略的目标函数。
6.如权利要求1所述的训练方法,其特征在于,所述训练样本包括多个网络模型的算子;
所述根据所述分配策略确定所述初始模型的目标函数,以所述目标函数最小化为目标对所述初始模型进行迭代,以得到异构运算分配模型,包括:
轮流从多个所述网络模型的算子选择其中一组网络模型的算子作为所述初始模型的测试集,其余网络模型的算子作为所述初始模型的训练集;
分别基于确定的所述训练集对所述初始模型进行训练,并基于确定的所述测试集对所述训练后的初始模型进行测试,以得到每个训练后的初始模型的性能;
将所述性能最佳时所对应的训练后的初始模型确定为所述异构运算分配模型。
7.一种异构运算的分配方法,其特征在于,所述分配方法包括:
获取待分配的网络模型的算子信息及处理算子的处理器信息;
将所述算子及处理器输入至异构运算分配模型以得到所述算子的分配策略,所述异构运算分配模型根据如权利要求1-5中任一项所述的异构运算分配模型的训练方法训练得到。
8.一种异构运算分配模型的训练装置,其特征在于,所述训练装置包括:
第一获取模块,用于获取训练样本,所述训练样本包括网络模型的算子信息及处理器的状态信息;
第一策略模块,用于将所述训练样本输入至初始模型以确定算子的分配策略,所述分配策略包括所述算子所分配的处理器信息、所述算子从分配处理器到处理器运行结束的耗时及所述算子在处理器上运行的能耗;
优化模块,用于根据所述分配策略确定所述初始模型的目标函数,以所述目标函数达到预设条件为目标对所述初始模型进行迭代,以得到异构运算分配模型。
9.一种异构运算的分配装置,其特征在于,所述分配装置包括:
第二获取模块,用于获取待分配的网络模型的算子信息及处理算子的处理器信息;
第二策略模块,用于将所述算子及处理器输入至异构运算分配模型以得到所述算子的分配策略,所述异构运算分配模型根据如权利要求7中所述的异构运算分配模型的训练装置训练得到。
10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-6中任一项所述的异构运算分配模型的训练方法或权利要求7所述的异构运算的分配方法。
11.一种芯片,应用于电子设备,其特征在于,所述芯片用于执行如权利要求1-6中任一项所述的异构运算分配模型的训练方法或权利要求7所述的异构运算的分配方法。
12.一种芯片模组,应用于电子设备,其特征在于,包括收发组件和芯片,所述芯片,用于执行如权利要求1-6中任一项所述的异构运算分配模型的训练方法或权利要求7所述的异构运算的分配方法。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-6中任一项所述的异构运算分配模型的训练方法或权利要求7所述的异构运算的分配方法。
CN202211449768.8A 2022-11-18 2022-11-18 异构运算的分配方法、模型训练方法、装置、芯片、设备及介质 Pending CN115827225A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211449768.8A CN115827225A (zh) 2022-11-18 2022-11-18 异构运算的分配方法、模型训练方法、装置、芯片、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211449768.8A CN115827225A (zh) 2022-11-18 2022-11-18 异构运算的分配方法、模型训练方法、装置、芯片、设备及介质

Publications (1)

Publication Number Publication Date
CN115827225A true CN115827225A (zh) 2023-03-21

Family

ID=85529319

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211449768.8A Pending CN115827225A (zh) 2022-11-18 2022-11-18 异构运算的分配方法、模型训练方法、装置、芯片、设备及介质

Country Status (1)

Country Link
CN (1) CN115827225A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116450486A (zh) * 2023-06-16 2023-07-18 浪潮电子信息产业股份有限公司 多元异构计算系统内节点的建模方法、装置、设备及介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116450486A (zh) * 2023-06-16 2023-07-18 浪潮电子信息产业股份有限公司 多元异构计算系统内节点的建模方法、装置、设备及介质
CN116450486B (zh) * 2023-06-16 2023-09-05 浪潮电子信息产业股份有限公司 多元异构计算系统内节点的建模方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
Wang et al. Distributed machine learning with a serverless architecture
CN110737529B (zh) 一种面向短时多变大数据作业集群调度自适应性配置方法
Hernández et al. Using machine learning to optimize parallelism in big data applications
US20200160182A1 (en) System and method of executing neural networks
US11436019B2 (en) Data parallelism in distributed training of artificial intelligence models
EP4235514A2 (en) Methods, systems, articles of manufacture and apparatus to map workloads
CN109891438B (zh) 数值量子实验方法和系统
WO2024114399A1 (zh) 分布式执行深度学习任务的优化方法和分布式系统
WO2022048557A1 (zh) Ai模型的训练方法、装置、计算设备和存储介质
US9239734B2 (en) Scheduling method and system, computing grid, and corresponding computer-program product
US11354579B2 (en) Dynamic multi-layer execution for artificial intelligence modeling
US11520592B2 (en) Executing large artificial intelligence models on memory-constrained devices
CN108037919A (zh) 一种基于web的可视化大数据工作流配置方法及系统
CN112764893B (zh) 数据处理方法和数据处理系统
CN112148293A (zh) 用于在异构系统上执行的软件的运行时多调度的方法和装置
CN113821332B (zh) 自动机器学习系统效能调优方法、装置、设备及介质
US20240112089A1 (en) Optimizing machine learning models
CN105373432A (zh) 一种基于虚拟资源状态预测的云计算资源调度方法
CN115168027A (zh) 一种基于深度强化学习的算力资源度量方法
CN114895773A (zh) 异构多核处理器的能耗优化方法、系统、装置及存储介质
CN115586961A (zh) 一种ai平台计算资源任务调度方法、装置及介质
Kinnison et al. Shadho: Massively scalable hardware-aware distributed hyperparameter optimization
CN115827225A (zh) 异构运算的分配方法、模型训练方法、装置、芯片、设备及介质
US20230325235A1 (en) Training task queuing cause analysis method and system, device and medium
Strong et al. Mabwiser: A parallelizable contextual multi-armed bandit library for python

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