CN114418063B - 神经网络模型中网络层的分配方法与装置 - Google Patents

神经网络模型中网络层的分配方法与装置 Download PDF

Info

Publication number
CN114418063B
CN114418063B CN202111614444.0A CN202111614444A CN114418063B CN 114418063 B CN114418063 B CN 114418063B CN 202111614444 A CN202111614444 A CN 202111614444A CN 114418063 B CN114418063 B CN 114418063B
Authority
CN
China
Prior art keywords
scheme
distribution
target
allocation
distribution scheme
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
Application number
CN202111614444.0A
Other languages
English (en)
Other versions
CN114418063A (zh
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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202111614444.0A priority Critical patent/CN114418063B/zh
Publication of CN114418063A publication Critical patent/CN114418063A/zh
Priority to US17/991,077 priority patent/US20230206075A1/en
Priority to EP22209284.3A priority patent/EP4202777A1/en
Application granted granted Critical
Publication of CN114418063B publication Critical patent/CN114418063B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/086Learning methods using evolutionary algorithms, e.g. genetic algorithms or genetic programming

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Neurology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Physiology (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本公开提供一种神经网络模型中网络层的分配方法、装置、电子设备及可读存储介质,涉及深度学习、大数据、云服务等人工智能技术领域。其中,神经网络模型中网络层的分配方法包括:获取待处理神经网络模型与计算设备集合;根据待处理神经网络模型中的网络层与计算设备集合中的计算设备,生成目标数量的分配方案,分配方案中包含网络层与计算设备之间的对应关系;根据计算设备的设备类型,将各个分配方案中对应相同的设备类型的网络层合并为一个阶段,得到各个分配方案的合并结果;根据各个分配方案的合并结果,得到各个分配方案的适应值;根据适应值从各个分配方案中确定目标分配方案,将目标分配方案作为待处理神经网络模型中网络层的分配结果。

Description

神经网络模型中网络层的分配方法与装置
技术领域
本公开涉及计算机技术领域,尤其涉及深度学习、大数据、云服务等人工智能技术领域。提供了一种神经网络模型中网络层的分配方法、装置、电子设备及可读存储介质。
背景技术
深度学习模型已经在多个领域取得了重大成功,例如计算机视觉、自然语言处理、推荐系统等。为了提高深度学习模型的准确性,具有大量层数、神经元以及参数的神经网络模型,通常需要使用大量的数据进行训练。
随着训练数据规模与模型规模的逐渐增长,神经网络模型训练在单个计算设备上进行训练,可能会花费大量时间而无法满足业务的需求。
因此,分布式训练成为了训练神经网络模型的基础。但是,在分布式训练的基础上,如何对神经网络模型中的网络层分配给合适的计算设备进行训练,对神经网络模型的训练至关重要。
发明内容
根据本公开的第一方面,提供了一种神经网络模型中网络层的分配方法,包括:获取待处理神经网络模型与计算设备集合;根据所述待处理神经网络模型中的网络层与所述计算设备集合中的计算设备,生成目标数量的分配方案,所述分配方案中包含网络层与计算设备之间的对应关系;根据计算设备的设备类型,将各个分配方案中对应相同的设备类型的网络层合并为一个阶段,得到各个分配方案的合并结果;根据各个分配方案的合并结果,得到各个分配方案的适应值;根据所述适应值从各个分配方案中确定目标分配方案,将所述目标分配方案作为所述待处理神经网络模型中网络层的分配结果。
根据本公开的第二方面,提供了一种神经网络模型中网络层的分配装置,包括:获取单元,用于获取待处理神经网络模型与计算设备集合;生成单元,用于根据所述待处理神经网络模型中的网络层与所述计算设备集合中的计算设备,生成目标数量的分配方案,所述分配方案中包含网络层与计算设备之间的对应关系;合并单元,用于根据计算设备的设备类型,将各个分配方案中对应相同的设备类型的网络层合并为一个阶段,得到各个分配方案的合并结果;处理单元,用于根据各个分配方案的合并结果,得到各个分配方案的适应值;分配单元,用于根据所述适应值从各个分配方案中确定目标分配方案,将所述目标分配方案作为所述待处理神经网络模型中网络层的分配结果。
根据本公开的第三方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的方法。
根据本公开的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行如上所述的方法。
根据本公开的第五方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现如上所述的方法。
由以上技术方案可以看出,本公开通过合并分配方案中网络层的方式来得到分配方案的适应值,能够提升在得到适应值时的准确性与效率,进而通过所得到的适应值来确定目标分配方案,能够简化在确定目标分配方案时的步骤,提升在确定目标分配方案时的准确性与效率。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开第一实施例的示意图;
图2是根据本公开第二实施例的示意图;
图3是根据本公开第三实施例的示意图;
图4是用来实现本公开实施例的神经网络模型中网络层的分配方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和机构的描述。
图1是根据本公开第一实施例的示意图。如图1所示,本实施例的神经网络模型中网络层的分配方法,具体包括如下步骤:
S101、获取待处理神经网络模型与计算设备集合;
S102、根据所述待处理神经网络模型中的网络层与所述计算设备集合中的计算设备,生成目标数量的分配方案,所述分配方案中包含网络层与计算设备之间的对应关系;
S103、根据计算设备的设备类型,将各个分配方案中对应相同的设备类型的网络层合并为一个阶段,得到各个分配方案的合并结果;
S104、根据各个分配方案的合并结果,得到各个分配方案的适应值;
S105、根据所述适应值从各个分配方案中确定目标分配方案,将所述目标分配方案作为所述待处理神经网络模型中网络层的分配结果。
本实施例的神经网络模型中网络层的分配方法,在根据待处理网络模型中的网络层与计算设备集合中的计算设备,生成目标数量的分配方案之后,首先根据计算设备的设备类型合并各个分配方案中的网络层,然后根据各个分配方案的合并结果得到各个分配方案的适应值,最后根据所得到的适应值,确定各个分配方案中作为待处理神经网络模型中网络层的分配结果的目标分配方案,本实施例通过合并分配方案中网络层的方式来得到分配方案的适应值,能够提升在得到适应值时的准确性与效率,进而通过所得到的适应值来确定目标分配方案,能够简化在确定目标分配方案时的步骤,提升在确定目标分配方案时的准确性与效率。
本实施例在执行S101获取待处理神经网络模型时,可以将输入端输入的神经网络模型作为待处理神经网络模型,也可以将输入端通过网络所选择的神经网络模型作为待处理神经网络模型;本实施例执行S101获取的待处理神经网络模型中包含多个网络层,例如待处理神经网络模型包含输入层、至少一个嵌入层、全连接层与输入层。
本实施例在执行S101获取计算设备集合时,可以获取预设的计算设备集合,也可以获取输入端输入的或者输入端通过网络所选择的计算设备集合;本实施例执行S101获取的计算设备集合中包含多个计算设备,不同的计算设备可以具有不同的计算结构,例如计算设备集合中包含对应不同类型的CPU(Central Processing Unit,中央处理器)的计算设备和/或对应不同类型的GPU(Graphics Processing Unit,图形处理器)的计算设备。
本实施例执行S101获取的计算设备集合中的每个计算设备,用于根据相应的训练数据对分配给其的网络层进行训练。
本实施例在执行S101获取待处理神经网络模型与计算设备集合之后,执行S102根据待处理神经网络模型中的网络层与计算设备集合中的计算设备,生成目标数量的分配方案。
其中,本实施例执行S102生成的每个分配方案中包含网络层与计算设备之间的对应关系,一个网络层与一个计算设备相对应;在分配方案中,计算设备对应的网络层即为分配给该计算设备进行训练的网络层。
本实施例在执行S102时,首先确定目标数量,然后根据待处理神经网络模型中的网络层与计算设备集合中的计算设备,生成目标数量的分配方案。
本实施例在执行S102确定目标数量时,可以获取预设数量作为目标数量;本实施例还可以根据训练数据的批量大小(batch size)与预设迭代次数确定目标数量,具体是将训练数据的批量大小与预设迭代次数之间的乘积作为目标数量,本实施例能够确保目标数量与之后确定目标分配方案时使用的预设迭代次数之间具有更强的相关性,从而提升在确定目标分配方案时的准确性。
本实施例在执行S102根据待处理神经网络模型中的网络层与计算设备集合中的计算设备,生成目标数量的分配方案时,可以采用的可选实现方式为:针对待处理神经网络模型中的每个网络层,从计算设备集合中随机选取一个计算设备,作为该网络层的目标计算设备;根据每个网络层、以及每个网络层的目标计算设备,生成一个分配方案;重复执行上述步骤,直至生成的分配方案的数量达到目标数量。
也就是说,本实施例能够通过随机选取的方式来生成目标数量的分配方案,从而简化了分配方案的生成步骤,降低了在生成分配方案时的计算复杂度。
为了提升在确定目标分配方案时的准确性与效率,本实施例在执行S102根据待处理神经网络模型中的网络层与计算设备集合中的计算设备,生成目标数量的分配方案时,可以采用的可选实现方式为:针对待处理神经网络模型中的每个网络层,获取该网络层在计算设备集合中各个计算设备上的运行信息,例如运行时间、运行时占用内存等运行信息;将运行信息满足第一预设要求的计算设备,作为该网络层的目标计算设备;根据每个网络层、以及每个网络层的目标计算设备,生成第一分配方案;根据待处理神经网络模型中的每个网络层、以及针对每个网络层从计算设备集合中随机选取的一个计算设备,生成第二分配方案;重复执行生成第二分配方案的步骤,直至生成的第一分配方案与第二分配方案的数量之和达到目标数量。
也就是说,本实施例可以根据网络层在不同的计算设备上运行时的运行信息来生成第一分配方案,所生成的第一分配方案可以认为是一个局部最优调度方案,再结合通过随机选取的方式所生成的多个第二分配方案,从而得到包含一个第一分配方案与多个第二分配方案的分配方案集合,由于该分配方案集合中包含一个最优方案,因此能够提升在根据分配方案集合确定目标分配方案时的效率与准确性。
其中,本实施例在执行S102将运行信息满足第一预设要求的计算设备,作为该网络层的目标计算设备时,可以将运行时间最少的计算设备作为该网络层的目标计算设备,也可以将运行占用内存最少的计算设备作为该网络层的目标计算设备,还可以将运行时间与运行占用内存之间的乘积最小的计算设备作为该网络层的目标计算设备。
本实施例在执行S102生成目标数量的分配方案之后,执行S103根据计算设备的设备类型,将各个分配方案中对应相同的设备类型的网络层合并为一个阶段,得到各个分配方案的合并结果。
也就是说,本实施例可以将待处理神经网络模型中的网络层划分为多个阶段,每个阶段中包含的网络层所对应的计算设备具有相同的设备类型,使得分配方案的合并结果中包含不同的阶段,从而提升在得到分配方案的适应值时的准确性与效率。
举例来说,若待处理神经网络模型包含网络层1、网络层2与网络层3;若本实施例执行S102生成的分配方案中,将网络层1分配给计算设备1,将网络层2分配给计算设备2,将网络层3分配给计算设备3;若计算设备1与计算设备2具有相同的设备类型,则将分配方案中的网络层1与网络层2合并为一个阶段,将网络层3单独作为一个阶段。
本实施例在执行S103得到各个分配方案的合并结果之后,执行S104根据各个分配方案的合并结果,得到各个分配方案的适应值。
具体地,本实施例在执行S104根据各个分配方案的合并结果,得到各个分配方案的适应值时,可以采用的可选实现方式为:针对每个分配方案的合并结果,根据该分配方案的合并结果中每个阶段对应的计算设备数量、初始计算耗时与初始通信耗时、以及第一批量大小,得到每个阶段的计算耗时与通信耗时;根据每个阶段的计算耗时与通信耗时,得到每个阶段的执行时间;根据每个阶段的执行时间与第二批量大小,得到每个阶段的吞吐量;根据训练次数、总样本数量与每个阶段的吞吐量,得到总执行时间;根据总执行时间与该分配方案包含的计算设备的属性信息,得到该分配方案的适应值。
其中,本实施例在执行S104得到分配方案的适应值时所使用的计算设备的属性信息,可以包含分配方案中不同的设备类型的计算设备的数量和/或不同的设备类型的计算设备的成本。
也就是说,本实施例根据分配方案的合并结果与训练过程中的相关信息得到分配方案的适应值,所得到的适应值可以认为是使用分配方案对网络层进行分配后来训练神经网络模型的成本,由于分配方案的合并结果中已对网络层进行了合并,因此本实施例能够提升所得到的分配方案的适应值的准确性。
其中,本实施例在执行S104根据该分配方案的合并结果中每个阶段对应的计算设备数量、初始计算耗时、以及第一批量大小,得到每个阶段的计算耗时时,可以使用以下公式进行计算:
Figure BDA0003436292580000071
在公式中:CTi表示第i个阶段的计算耗时;OCTi表示第i个阶段的初始计算耗时;Bo表示第一批量大小,具体为在计算初始计算耗时所使用的批量大小;αi表示在计算第i个阶段的计算耗时时所对应的预设参数;ki表示第i个阶段对应的计算设备数量。
其中,本实施例在执行S104根据该分配方案的合并结果中每个阶段对应的计算设备数量、初始通信耗时、以及第一批量大小,得到每个阶段的通信耗时时,可以使用以下公式进行计算:
Figure BDA0003436292580000072
在公式中:DTi表示第i个阶段的通信耗时;ODTi表示第i个阶段的初始通信耗时;Bo表示第一批量大小,具体为计算初始通信耗时时使用的批量大小;βi表示在计算第i个阶段的通信耗时时所对应的预设参数;ki表示第i个阶段对应的计算设备数量。
本实施例在执行S104根据每个阶段的计算耗时与通信耗时,得到每个阶段的执行时间时,通过不同阶段的网络层的并行执行来重叠计算耗时与通信耗时,从而将计算耗时与通信耗时之间的最大值作为不同阶段的执行时间,因此本实施例可以使用以下公式进行计算:
ETi=max{CTi,DTi}
在公式中:ETi表示第i个阶段的执行时间;CTi表示第i个阶段的计算耗时;DTi表示第i个阶段的通信耗时。
本实施例在执行S104根据每个阶段的执行时间与第二批量大小,得到每个阶段的吞吐量时,可以使用以下公式进行计算:
Figure BDA0003436292580000073
在公式中:Throughputi表示第i个阶段的吞吐量;B表示第二批量大小,具体为训练数据(即训练神经网络模型时所使用的训练数据)的批量大小;ETi表示第i个阶段的执行时间。
本实施例在执行S104根据训练次数、总样本数量与每个阶段的吞吐量,得到总执行时间时,可以首先根据每个阶段的吞吐量来得到整个训练过程的吞吐量,然后再根据整个训练过程的吞吐量、总样本数量与训练次数,得到对应整个训练过程的总执行时间。
本实施例在执行S104时,可以使用以下公式计算整个训练过程的吞吐量:
Figure BDA0003436292580000081
在公式中:Throughput表示整个训练过程的吞吐量;Throughputi表示第i个阶段的吞吐量,S表示不同的阶段。
本实施例在执行S104时,可以使用以下公式计算整个训练过程的总执行时间:
Figure BDA0003436292580000082
在公式中:ET表示整个训练过程的总执行时间;M表示总样本数量;Throughput表示整个训练过程的吞吐量。
本实施例在执行S104根据总执行时间与该分配方案中包含的计算设备的属性信息,得到该分配方案的适应值时,可以使用以下公式进行计算:
Figure BDA0003436292580000083
在公式中:Cost表示分配方案的适应值;ET表示整个训练过程的总执行时间;pt表示设备类型为t的计算设备的成本;kt表示设备类型为t的计算设备的数量;T表示不同的设备类型。
本实施例在执行S104根据各个分配方案的合并结果,得到各个分配方案的适应值时,还可以针对每个分配方案的合并结果,根据该分配方案的合并结果中设备类型的数量和/或不同的设备类型的计算设备的成本,来直接得到该分配方案的适应值。
本实施例在执行S104得到各个分配方案的适应值之后,执行S105根据适应值从各个分配方案中确定目标分配方案,将目标分配方案作为待处理神经网络模型中网络层的分配结果。
本实施例在执行S105根据适应值确定各个分配方案中的目标分配方案时,可以将适应值最小的分配方案作为目标分配方案,进而将所确定的目标方案作为待处理神经网络模型中网络层的分配结果。
本实施例在执行S105将目标分配方案作为待处理神经网络模型中网络层的分配结果之后,还可以包含以下内容:根据目标分配方案,将待处理神经网络模型中的网络层分配到对应的计算设备;将分配到相同的设备类型的计算设备上的网络层合并为一个阶段;使用训练数据在相应的计算设备上对各个阶段进行并行训练,以完成对待处理神经网络模型的训练。
可以理解的是,本实施例也可以仅根据目标分配方案将网络层分配到对应的计算设备之后,不进行网络层的合并,直接由各个计算设备,使用训练数据对所分配的网络层进行训练。
本实施例在执行S105将目标分配方案作为待处理神经网络模型中网络层的分配结果之后,还可以根据目标分配方案来生成每个阶段的计算设备配置方案,从而实现各个阶段之间的负载平衡。
本实施例在根据目标分配方案生成每个阶段的计算设备配置方案时,可以采用的可选实现方式为:根据目标分配方案确定初始阶段,本实施例可以将目标分配方案中的第一阶段作为初始阶段,也可以任意选取一个阶段作为初始阶段;根据第一批量大小与吞吐量约束,确定初始阶段的计算设备数量;根据初始阶段的计算设备数量,确定其他阶段的计算设备数量。
也就是说,本实施例根据所得到的目标分配方案为每个阶段选择合适数量的计算设备,使得各阶段在每一轮中的执行时间相似,从而在各个阶段之间实现负载平衡。
本实施例在根据第一批量大小与吞吐量约束,确定初始阶段的计算设备数量时,可以使用以下计算公式:
Figure BDA0003436292580000091
在公式中:k1表示初始阶段的计算设备数量;Throughputlimit表示吞吐量约束;B0表示第一批量大小;OCT1表示初始阶段的初始计算耗时;α1表示在计算初始阶段的计算耗时时所对应的预设参数;ODT1表示初始阶段的初始通信耗时;β1表示在计算初始阶段的通信耗时时所对应的预设参数。
本实施例在根据初始阶段的计算设备数量,确定其他阶段的计算设备数量时,可以使用以下计算公式:
Figure BDA0003436292580000092
在公式中:ki表示第i个阶段的计算设备数量;α1表示在计算初始阶段的计算耗时时所对应的预设参数;αi表示在计算第i个阶段的计算耗时时所对应的预设参数;k1表示初始阶段的计算设备数量;OCT1表示初始阶段的初始计算耗时;OCTi表示第i个阶段的初始计算耗时。
可以理解的是,上述计算公式是在批量大小足够大时,以各阶段的运行时间等于计算耗时为例进行说明的;若批量大小较小时,各阶段的运行时间等于通信耗时,则需要将上述公式中的计算耗时的相关参数替换为通信耗时的相关参数,例如将OCT替换为DCT、将α替换为β。
图2是根据本公开第二实施例的示意图。如图2所示,本实施例在执行S105“根据所述适应值从各个分配方案中确定目标分配方案”时,具体包括如下步骤:
S201、将所述目标数量的分配方案作为种群;
S202、根据所述适应值,从所述种群中选择两个分配方案作为父代分配方案与母代分配方案;
S203、根据所述父代分配方案与所述母代分配方案,生成第一子代分配方案与第二子代分配方案;
S204、根据所述第一子代分配方案与所述第二子代分配方案,生成两个新的子代分配方案,并添加至所述种群中;
S205、计算所述两个新的子代分配方案的适应值之后,将所述种群中适应值满足第二预设条件的两个分配方案进行移除;
S206、重复执行上述除将所述目标数量的分配方案以外的步骤,直至达到预设迭代次数,将所述种群中适应值最小的分配方案作为所述目标分配方案。
也就是说,本实施例借鉴遗传算法的思想来有效地搜索大而复杂的空间,使用所获取的目标数量的分配方案,根据各个分配方案的适应值,通过几代对分配方案的进化迭代来确定最终的目标分配方案,能够提升所确定的目标分配方案的准确性。
本实施例在执行S202根据适应值,从种群中选择两个分配方案作为父代分配方案与母代分配方案时,可以使用轮盘赌选择算子,以使得适应值更大的分配方案被选中的概率更大为约束,从种群中选择父代与母代分配方案的目的。
本实施例在执行S203根据父代分配方案与子代分配方案,生成第一子代分配方案与第二子代分配方案时,可以使用两点交叉的交叉算子,以一定的概率对所选择父代分配方案与母代分配方案进行交叉操作的方式,实现根据父代与母代分配方案生成两个子代分配方案的目的。
另外,本实施例还可以对所生成的子代分配方案进行冲突检测,使得子代分配方案能够满足同一个计算设备在同一时间只能分配给一个网络层的约束,避免产生无效的分配方案。
本实施例在执行S204根据所生成的第一子代分配方案与第二子代分配方案,生成两个新的子代分配方案添加至种群中时,可以使用交换突变算子,以一定的概率随机交换一个分配方案中的两个计算设备,从而生成新的子代分配方案。
本实施例在执行S205将种群中满足第二预设条件的两个分配方案进行移除时,可以按照适应值从大到小的顺序将各分配方案进行排序,选取排在前两位的分配方案,从种群中进行移除。
图3是根据本公开第三实施例的示意图。如图3所示,本实施例的神经网络模型中网络层的分配装置300,包括:
获取单元301、用于获取待处理神经网络模型与计算设备集合;
生成单元302、用于根据所述待处理神经网络模型中的网络层与所述计算设备集合中的计算设备,生成目标数量的分配方案,所述分配方案中包含网络层与计算设备之间的对应关系;
合并单元303、用于根据计算设备的设备类型,将各个分配方案中对应相同的设备类型的网络层合并为一个阶段,得到各个分配方案的合并结果;
处理单元304、用于根据各个分配方案的合并结果,得到各个分配方案的适应值;
分配单元305、用于根据所述适应值从各个分配方案中确定目标分配方案,将所述目标分配方案作为所述待处理神经网络模型中网络层的分配结果。
获取单元301在获取待处理神经网络模型时,可以将输入端输入的神经网络模型作为待处理神经网络模型,也可以将输入端通过网络所选择的神经网络模型作为待处理神经网络模型;获取单元301获取的待处理神经网络模型中包含多个网络层,例如待处理神经网络模型包含输入层、至少一个嵌入层、全连接层与输入层。
获取单元301在获取计算设备集合时,可以获取预设的计算设备集合,也可以获取输入端输入的或者输入端通过网络所选择的计算设备集合;获取单元301获取的计算设备集合中包含多个计算设备,不同的计算设备可以具有不同的计算结构,例如计算设备集合中包含对应不同类型的CPU(Central Processing Unit,中央处理器)的计算设备和/或对应不同类型的GPU(Graphics Processing Unit,图形处理器)的计算设备。
获取单元301获取的计算设备集合中的每个计算设备,用于根据相应的训练数据对分配给其的网络层进行训练。
本实施例在由获取单元301获取待处理神经网络模型与计算设备集合之后,由生成单元302根据待处理神经网络模型中的网络层与计算设备集合中的计算设备,生成目标数量的分配方案。
其中,生成单元302生成的每个分配方案中包含网络层与计算设备之间的对应关系,一个网络层与一个计算设备相对应;在分配方案中,计算设备对应的网络层即为分配给该计算设备进行训练的网络层。
生成单元302首先确定目标数量,然后根据待处理神经网络模型中的网络层与计算设备集合中的计算设备,生成目标数量的分配方案。
生成单元302在确定目标数量时,可以获取预设数量作为目标数量;本实施例还可以根据训练数据的批量大小(batch size)与预设迭代次数确定目标数量,具体是将训练数据的批量大小与预设迭代次数之间的乘积作为目标数量。
生成单元302在根据待处理神经网络模型中的网络层与计算设备集合中的计算设备,生成目标数量的分配方案时,可以采用的可选实现方式为:针对待处理神经网络模型中的每个网络层,从计算设备集合中随机选取一个计算设备,作为该网络层的目标计算设备;根据每个网络层、以及每个网络层的目标计算设备,生成一个分配方案;重复执行上述步骤,直至生成的分配方案的数量达到目标数量。
也就是说,生成单元302能够通过随机选取的方式来生成目标数量的分配方案,从而简化了分配方案的生成步骤,降低了在生成分配方案时的计算复杂度。
为了提升在确定目标分配方案时的准确性与效率,生成单元302在根据待处理神经网络模型中的网络层与计算设备集合中的计算设备,生成目标数量的分配方案时,可以采用的可选实现方式为:针对待处理神经网络模型中的每个网络层,获取该网络层在计算设备集合中各个计算设备上的运行信息;将运行信息满足第一预设要求的计算设备,作为该网络层的目标计算设备;根据每个网络层、以及每个网络层的目标计算设备,生成第一分配方案;根据待处理神经网络模型中的每个网络层、以及针对每个网络层从计算设备集合中随机选取的一个计算设备,生成第二分配方案;重复执行生成第二分配方案的步骤,直至生成的第一分配方案与第二分配方案的数量之和达到目标数量。
也就是说,生成单元302可以根据网络层在不同的计算设备上运行时的运行信息来生成第一分配方案,所生成的第一分配方案可以认为是一个局部最优调度方案,再结合通过随机选取的方式所生成的多个第二分配方案,从而得到包含一个第一分配方案与多个第二分配方案的分配方案集合,由于该分配方案集合中包含一个最优方案,因此能够提升在根据分配方案集合确定目标分配方案时的效率与准确性。
其中,生成单元302在将运行信息满足第一预设要求的计算设备,作为该网络层的目标计算设备时,可以将运行时间最少的计算设备作为该网络层的目标计算设备,也可以将运行占用内存最少的计算设备作为该网络层的目标计算设备,还可以将运行时间与运行占用内存之间的乘积最小的计算设备作为该网络层的目标计算设备。
本实施例在由生成单元302生成目标数量的分配方案之后,由合并单元303根据计算设备的设备类型,将各个分配方案中对应相同的设备类型的网络层合并为一个阶段,得到各个分配方案的合并结果。
也就是说,合并单元303可以将待处理神经网络模型中的网络层划分为多个阶段,每个阶段中包含的网络层所对应的计算设备具有相同的设备类型,使得分配方案的合并结果中包含不同的阶段,从而提升在得到分配方案的适应值时的准确性与效率。
本实施例在由合并单元303得到各个分配方案的合并结果之后,由处理单元304根据各个分配方案的合并结果,得到各个分配方案的适应值。
具体地,处理单元304在根据各个分配方案的合并结果,得到各个分配方案的适应值时,可以采用的可选实现方式为:针对每个分配方案的合并结果,根据该分配方案的合并结果中每个阶段对应的计算设备数量、初始计算耗时与初始通信耗时、以及第一批量大小,得到每个阶段的计算耗时与通信耗时;根据每个阶段的计算耗时与通信耗时,得到每个阶段的执行时间;根据每个阶段的执行时间与第二批量大小,得到每个阶段的吞吐量;根据训练次数、总样本数量与每个阶段的吞吐量,得到总执行时间;根据总执行时间与该分配方案包含的计算设备的属性信息,得到该分配方案的适应值。
其中,处理单元304得到分配方案的适应值时所使用的计算设备的属性信息,可以包含分配方案中不同的设备类型的计算设备的数量和/或不同的设备类型的计算设备的成本。
也就是说,处理单元304根据分配方案的合并结果与训练过程中的相关信息得到分配方案的适应值,所得到的适应值可以认为是使用分配方案对网络层进行分配后来训练神经网络模型的成本,由于分配方案的合并结果中已对网络层进行了合并,因此处理单元304能够提升所得到的分配方案的适应值的准确性。
处理单元304在根据各个分配方案的合并结果,得到各个分配方案的适应值时,还可以针对每个分配方案的合并结果,根据该分配方案的合并结果中设备类型的数量和/或不同的设备类型的计算设备的成本,来直接得到该分配方案的适应值。
本实施例在由处理单元304得到各个分配方案的适应值之后,由分配单元305根据适应值从各个分配方案中确定目标分配方案,将目标分配方案作为待处理神经网络模型中网络层的分配结果。
分配单元305在根据适应值确定各个分配方案中的目标分配方案时,可以将适应值最小的分配方案作为目标分配方案,进而将所确定的目标方案作为待处理神经网络模型中网络层的分配结果。
分配单元305在根据适应值从各个分配方案中确定目标分配方案时,可以采用的可选实现方式为:将目标数量的分配方案作为种群;根据适应值,从种群中选择两个分配方案作为父代分配方案与母代分配方案;根据父代分配方案与母代分配方案,生成第一子代分配方案与第二子代分配方案;根据第一子代分配方案与第二子代分配方案,生成两个新的子代分配方案,并添加至种群中;计算两个新的子代分配方案的适应值之后,将种群中适应值满足第二预设条件的两个分配方案进行移除;重复执行上述除将所述目标数量的分配方案以外的步骤,直至达到预设迭代次数,将种群中适应值最小的分配方案作为目标分配方案。
也就是说,分配单元305借鉴遗传算法的思想来有效地搜索大而复杂的空间,使用所获取的目标数量的分配方案,根据各个分配方案的适应值,通过几代对分配方案的进化迭代来确定最终的目标分配方案,能够提升所确定的目标分配方案的准确性。
分配单元305在根据适应值,从种群中选择两个分配方案作为父代分配方案与母代分配方案时,可以使用轮盘赌选择算子,以使得适应值更大的分配方案被选中的概率更大为约束,从种群中选择父代与母代分配方案的目的。
分配单元305在根据父代分配方案与子代分配方案,生成第一子代分配方案与第二子代分配方案时,可以使用两点交叉的交叉算子,以一定的概率对所选择父代分配方案与母代分配方案进行交叉操作的方式,实现根据父代与母代分配方案生成两个子代分配方案的目的。
分配单元305在根据所生成的第一子代分配方案与第二子代分配方案,生成两个新的子代分配方案添加至种群中时,可以使用交换突变算子,以一定的概率随机交换一个分配方案中的两个计算设备,从而生成新的子代分配方案。
分配单元305在将种群中满足第二预设条件的两个分配方案进行移除时,可以按照适应值从大到小的顺序将各分配方案进行排序,选取排在前两位的分配方案,从种群中进行移除。
分配单元305在将目标分配方案作为待处理神经网络模型中网络层的分配结果之后,还可以根据目标分配方案来生成每个阶段的计算设备配置方案,从而实现各个阶段之间的负载平衡。
分配单元305在根据目标分配方案生成每个阶段的计算设备配置方案时,可以采用的可选实现方式为:根据目标分配方案确定初始阶段;根据第一批量大小与吞吐量约束,确定初始阶段的计算设备数量;根据初始阶段的计算设备数量,确定其他阶段的计算设备数量。
也就是说,分配单元305根据所得到的目标分配方案为每个阶段选择合适数量的计算设备,使得各阶段在每一轮中的执行时间相似,从而在各个阶段之间实现负载平衡。
本实施例的神经网络模型中网络层的分配装置300还可以包含训练单元306,用于分配单元305在将目标分配方案作为待处理神经网络模型中网络层的分配结果之后,执行以下内容:根据目标分配方案,将待处理神经网络模型中的网络层分配到对应的计算设备;将分配到相同的设备类型的计算设备上的网络层合并为一个阶段;使用训练数据在相应的计算设备上对各个阶段进行并行训练,以完成对待处理神经网络模型的训练。
可以理解的是,训练单元306也可以仅根据分配单元305所确定的目标分配方案将网络层分配到对应的计算设备之后,不进行网络层的合并,直接由各个计算设备,使用训练数据对所分配的网络层进行训练。
本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
如图4所示,是根据本公开实施例的神经网络模型中网络层的分配方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图4所示,设备400包括计算单元401,其可以根据存储在只读存储器(ROM)402中的计算机程序或者从存储单元408加载到随机访问存储器(RAM)403中的计算机程序,来执行各种适当的动作和处理。在RAM403中,还可存储设备400操作所需的各种程序和数据。计算单元401、ROM402以及RAM403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
设备400中的多个部件连接至I/O接口405,包括:输入单元406,例如键盘、鼠标等;输出单元407,例如各种类型的显示器、扬声器等;存储单元408,例如磁盘、光盘等;以及通信单元409,例如网卡、调制解调器、无线通信收发机等。通信单元409允许设备400通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元401可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元401的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元401执行上文所描述的各个方法和处理,例如神经网络模型中网络层的分配方法。例如,在一些实施例中,神经网络模型中网络层的分配方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元408。
在一些实施例中,计算机程序的部分或者全部可以经由ROM402和/或通信单元409而被载入和/或安装到设备400上。当计算机程序加载到RAM 403并由计算单元401执行时,可以执行上文描述的神经网络模型中网络层的分配方法的一个或多个步骤。备选地,在其他实施例中,计算单元401可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行神经网络模型中网络层的分配方法。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务(“Virtual Private Server”,或简称“VPS”)中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

Claims (12)

1.一种神经网络模型中网络层的分配方法,包括:
获取待处理神经网络模型与计算设备集合;
根据所述待处理神经网络模型中的网络层与所述计算设备集合中的计算设备,生成目标数量的分配方案,所述分配方案中包含网络层与计算设备之间的对应关系;
根据计算设备的设备类型,将各个分配方案中对应相同的设备类型的网络层合并为一个阶段,得到各个分配方案的合并结果;
根据各个分配方案的合并结果,得到各个分配方案的适应值;
根据所述适应值从各个分配方案中确定目标分配方案,将所述目标分配方案作为所述待处理神经网络模型中网络层的分配结果;
其中,所述根据各个分配方案的合并结果,得到各个分配方案的适应值包括:
针对每个分配方案的合并结果,根据该分配方案的合并结果中每个阶段对应的计算设备数量、初始计算耗时与初始通信耗时、以及第一批量大小,得到每个阶段的计算耗时与通信耗时;
根据每个阶段的计算耗时与通信耗时,得到每个阶段的执行时间;
根据每个阶段的执行时间与第二批量大小,得到每个阶段的吞吐量;
根据训练次数、总样本数量与每个阶段的吞吐量,得到总执行时间;
根据所述总执行时间与该分配方案包含的计算设备的属性信息,得到该分配方案的适应值。
2.根据权利要求1所述的方法,其中,所述目标数量是根据训练数据的批量大小与预设迭代次数得到的。
3.根据权利要求1-2中任一项所述的方法,其中,所述根据所述待处理神经网络模型中的网络层与所述计算设备集合中的计算设备,生成目标数量的分配方案包括:
针对所述待处理神经网络模型中的每个网络层,获取该网络层在所述计算设备集合中的各个计算设备上的运行信息;
将运行信息满足第一预设要求的计算设备,作为该网络层的目标计算设备;
根据每个网络层、以及每个网络层的目标计算设备,生成第一分配方案;
根据所述待处理神经网络模型中的每个网络层、以及针对每个网络层从所述计算设备集合中随机选取的一个计算设备,生成第二分配方案;
重复执行生成所述第二分配方案的步骤,直至所述第一分配方案与所述第二分配方案的数量之和达到所述目标数量。
4.根据权利要求1所述的方法,其中,所述根据所述适应值从各个分配方案中确定目标分配方案包括:
将所述目标数量的分配方案作为种群;
根据所述适应值,从所述种群中选择两个分配方案作为父代分配方案与母代分配方案;
根据所述父代分配方案与所述母代分配方案,生成第一子代分配方案与第二子代分配方案;
根据所述第一子代分配方案与所述第二子代分配方案,生成两个新的子代分配方案,并添加至所述种群中;
计算所述两个新的子代分配方案的适应值之后,将所述种群中适应值满足第二预设条件的两个分配方案进行移除;
重复执行上述除将所述目标数量的分配方案作为种群以外的步骤,直至达到预设迭代次数,将所述种群中适应值最小的分配方案作为所述目标分配方案。
5.根据权利要求1所述的方法,还包括,
在将所述目标分配方案作为所述待处理神经网络模型中网络层的分配结果之后,根据所述目标分配方案,将所述待处理神经网络模型中的网络层分配到对应的计算设备;
将分配到相同的设备类型的计算设备上的网络层合并为一个阶段;
使用训练数据在相应的计算设备上对各个阶段进行并行训练,以完成对所述待处理神经网络模型的训练。
6.一种神经网络模型中网络层的分配装置,包括:
获取单元,用于获取待处理神经网络模型与计算设备集合;
生成单元,用于根据所述待处理神经网络模型中的网络层与所述计算设备集合中的计算设备,生成目标数量的分配方案,所述分配方案中包含网络层与计算设备之间的对应关系;
合并单元,用于根据计算设备的设备类型,将各个分配方案中对应相同的设备类型的网络层合并为一个阶段,得到各个分配方案的合并结果;
处理单元,用于根据各个分配方案的合并结果,得到各个分配方案的适应值;
分配单元,用于根据所述适应值从各个分配方案中确定目标分配方案,将所述目标分配方案作为所述待处理神经网络模型中网络层的分配结果;
其中,所述处理单元在根据各个分配方案的合并结果,得到各个分配方案的适应值时,具体执行:
针对每个分配方案的合并结果,根据该分配方案的合并结果中每个阶段对应的计算设备数量、初始计算耗时与初始通信耗时、以及第一批量大小,得到每个阶段的计算耗时与通信耗时;
根据每个阶段的计算耗时与通信耗时,得到每个阶段的执行时间;
根据每个阶段的执行时间与第二批量大小,得到每个阶段的吞吐量;
根据训练次数、总样本数量与每个阶段的吞吐量,得到总执行时间;
根据所述总执行时间与该分配方案包含的计算设备的属性信息,得到该分配方案的适应值。
7.根据权利要求6所述的装置,其中,所述目标数量是根据训练数据的批量大小与预设迭代次数得到的。
8.根据权利要求6-7中任一项所述的装置,其中,所述生成单元在根据所述待处理神经网络模型中的网络层与所述计算设备集合中的计算设备,生成目标数量的分配方案时,具体执行:
针对所述待处理神经网络模型中的每个网络层,获取该网络层在所述计算设备集合中的各个计算设备上的运行信息;
将运行信息满足第一预设要求的计算设备,作为该网络层的目标计算设备;
根据每个网络层、以及每个网络层的目标计算设备,生成第一分配方案;
根据所述待处理神经网络模型中的每个网络层、以及针对每个网络层从所述计算设备集合中随机选取的一个计算设备,生成第二分配方案;
重复执行生成所述第二分配方案的步骤,直至所述第一分配方案与所述第二分配方案的数量之和达到所述目标数量。
9.根据权利要求6所述的装置,其中,所述分配单元在根据所述适应值从各个分配方案中确定目标分配方案时,具体执行:
将所述目标数量的分配方案作为种群;
根据所述适应值,从所述种群中选择两个分配方案作为父代分配方案与母代分配方案;
根据所述父代分配方案与所述母代分配方案,生成第一子代分配方案与第二子代分配方案;
根据所述第一子代分配方案与所述第二子代分配方案,生成两个新的子代分配方案,并添加至所述种群中;
计算所述两个新的子代分配方案的适应值之后,将所述种群中适应值满足第二预设条件的两个分配方案进行移除;
重复执行上述除将所述目标数量的分配方案作为种群以外的步骤,直至达到预设迭代次数,将所述种群中适应值最小的分配方案作为所述目标分配方案。
10.根据权利要求6所述的装置,还包括训练单元,用于所述分配单元在将所述目标分配方案作为所述待处理神经网络模型中网络层的分配结果之后,具体执行:
根据所述目标分配方案,将所述待处理神经网络模型中的网络层分配到对应的计算设备;
将分配到相同的设备类型的计算设备上的网络层合并为一个阶段;
使用训练数据在相应的计算设备上对各个阶段进行并行训练,以完成对所述待处理神经网络模型的训练。
11.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-5中任一项所述的方法。
12.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行权利要求1-5中任一项所述的方法。
CN202111614444.0A 2021-12-27 2021-12-27 神经网络模型中网络层的分配方法与装置 Active CN114418063B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202111614444.0A CN114418063B (zh) 2021-12-27 2021-12-27 神经网络模型中网络层的分配方法与装置
US17/991,077 US20230206075A1 (en) 2021-12-27 2022-11-21 Method and apparatus for distributing network layers in neural network model
EP22209284.3A EP4202777A1 (en) 2021-12-27 2022-11-24 Method and apparatus for distributing network layers in neural network model

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111614444.0A CN114418063B (zh) 2021-12-27 2021-12-27 神经网络模型中网络层的分配方法与装置

Publications (2)

Publication Number Publication Date
CN114418063A CN114418063A (zh) 2022-04-29
CN114418063B true CN114418063B (zh) 2023-01-06

Family

ID=81270330

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111614444.0A Active CN114418063B (zh) 2021-12-27 2021-12-27 神经网络模型中网络层的分配方法与装置

Country Status (3)

Country Link
US (1) US20230206075A1 (zh)
EP (1) EP4202777A1 (zh)
CN (1) CN114418063B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111381966A (zh) * 2020-03-08 2020-07-07 苏州浪潮智能科技有限公司 一种分布式并行训练的方法、设备及可读介质
WO2020187041A1 (zh) * 2019-03-18 2020-09-24 北京灵汐科技有限公司 一种基于众核处理器的神经网络的映射方法及计算设备
CN112819157A (zh) * 2021-01-29 2021-05-18 商汤集团有限公司 神经网络训练的方法及装置、智能行驶控制的方法及装置
CN113703975A (zh) * 2021-08-27 2021-11-26 创新奇智(重庆)科技有限公司 模型分配方法、装置、电子设备及计算机可读存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110533183B (zh) * 2019-08-30 2021-08-20 东南大学 流水线分布式深度学习中异构网络感知的任务放置方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020187041A1 (zh) * 2019-03-18 2020-09-24 北京灵汐科技有限公司 一种基于众核处理器的神经网络的映射方法及计算设备
CN111723900A (zh) * 2019-03-18 2020-09-29 北京灵汐科技有限公司 一种基于众核处理器的神经网络的映射方法及计算设备
CN111381966A (zh) * 2020-03-08 2020-07-07 苏州浪潮智能科技有限公司 一种分布式并行训练的方法、设备及可读介质
CN112819157A (zh) * 2021-01-29 2021-05-18 商汤集团有限公司 神经网络训练的方法及装置、智能行驶控制的方法及装置
CN113703975A (zh) * 2021-08-27 2021-11-26 创新奇智(重庆)科技有限公司 模型分配方法、装置、电子设备及计算机可读存储介质

Also Published As

Publication number Publication date
EP4202777A1 (en) 2023-06-28
CN114418063A (zh) 2022-04-29
US20230206075A1 (en) 2023-06-29

Similar Documents

Publication Publication Date Title
CN114416351B (zh) 资源分配方法、装置、设备、介质及计算机程序产品
CN110310114A (zh) 对象分类方法、装置、服务器及存储介质
CN114881223B (zh) 深度学习模型的转换方法、装置、电子设备和存储介质
CN114781650B (zh) 一种数据处理方法、装置、设备以及存储介质
CN115730555A (zh) 一种芯片布局方法、装置、设备及存储介质
CN114218931A (zh) 信息抽取方法、装置、电子设备和可读存储介质
CN114418063B (zh) 神经网络模型中网络层的分配方法与装置
CN113408304B (zh) 文本翻译方法、装置、电子设备及存储介质
CN114462350B (zh) 集成电路芯片验证方法、装置、电子设备及存储介质
CN113850394B (zh) 联邦学习方法、装置、电子设备及存储介质
CN115412401A (zh) 训练虚拟网络嵌入模型及虚拟网络嵌入的方法和装置
CN114416357A (zh) 容器组的创建方法、装置、电子设备和介质
CN113961797A (zh) 资源推荐方法、装置、电子设备和可读存储介质
CN114816758B (zh) 资源分配方法和装置
CN115691206B (zh) 车位推荐方法、装置、设备以及存储介质
CN114648672A (zh) 构建样本图像集的方法、装置、电子设备及可读存储介质
CN117455192A (zh) 一种司货匹配方法、装置、设备以及存储介质
CN117687993A (zh) 一种数据迁移方法、装置、设备以及存储介质
CN115033823A (zh) 用于处理数据的方法、装置、设备、介质和产品
CN115578185A (zh) 银行边缘计算系统的风险控制方法及装置
CN115577534A (zh) 一种充电设备复杂性评估方法、装置、设备及存储介质
CN116188063A (zh) 客群创建方法、装置、设备以及存储介质
CN116610453A (zh) 一种任务分配方法、装置、电子设备及存储介质
CN115510140A (zh) 一种数据抽取方法、装置、设备及存储介质
CN113657790A (zh) 配送路径确定方法、装置、电子设备及可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant