CN116521380A - 一种资源自适应协同的模型训练加速方法、装置及设备 - Google Patents

一种资源自适应协同的模型训练加速方法、装置及设备 Download PDF

Info

Publication number
CN116521380A
CN116521380A CN202310819041.2A CN202310819041A CN116521380A CN 116521380 A CN116521380 A CN 116521380A CN 202310819041 A CN202310819041 A CN 202310819041A CN 116521380 A CN116521380 A CN 116521380A
Authority
CN
China
Prior art keywords
calculation
target
training
resource
model
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
CN202310819041.2A
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.)
Zhejiang Lab
Original Assignee
Zhejiang Lab
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 Zhejiang Lab filed Critical Zhejiang Lab
Priority to CN202310819041.2A priority Critical patent/CN116521380A/zh
Publication of CN116521380A publication Critical patent/CN116521380A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本说明书公开了一种资源自适应协同的模型训练加速方法、装置及设备。所述方法包括:获取不同计算单元对应的计算精度信息以及计算资源信息,基于的计算精度信息以及计算资源信息,生成各资源调用策略;在获取到目标模型的模型数据后,针对目标模型的每个训练阶段,确定该训练阶段所需的目标计算精度以及目标计算资源;确定满足各训练阶段的计算精度需求和计算资源需求的各资源调用策略,作为各候选调用策略;按照指定评估条件在各候选调用策略中选取出目标调用策略;根据目标调用策略调用各计算单元对应的计算资源,以执行目标模型每个训练阶段的训练任务。

Description

一种资源自适应协同的模型训练加速方法、装置及设备
技术领域
本说明书涉及计算机技术领域,尤其涉及一种资源自适应协同的模型训练加速方法、装置及设备。
背景技术
人工智能(Artificial Intelligence,AI)应用的落地实施关键在于 AI 模型的高效训练。深层结构AI模型相比于浅层结构模型的性能优势使大规模模型逐渐成为AI模型发展的主要趋势。
由于训练大规模AI模型的过程中对算力和内存的需求较大且不尽相同,在该过程中通常需要调用不同的计算单元(如AI加速器)的计算资源与存储资源来完成计算任务。
然而,目前在模型训练过程中对计算单元的调用方式并不合理,较低配置的计算单元无法保证模型的训练效率,较高配置的计算单元则会造成资源浪费,并且能耗较高,提高训练成本。
因此,如何在模型训练过程中对不同配置的计算资源进行合理的调用,在保证训练效率的同时减少训练成本,是一个亟待解决的问题。
发明内容
本说明书提供一种资源自适应协同的模型训练加速方法、装置及电子设备,以部分的解决现有技术存在的上述问题。
本说明书采用下述技术方案:
本说明书提供了一种资源自适应协同的模型训练加速方法,包括:
获取不同计算单元对应的计算精度信息以及计算资源信息,其中,至少部分计算单元对应的计算精度信息和/或计算资源信息不同;
基于所述的计算精度信息以及所述计算资源信息,生成各资源调用策略;
在获取到目标模型的模型数据后,针对所述目标模型的每个训练阶段,确定该训练阶段所需的目标计算精度以及目标计算资源;
根据每个训练阶段所需的目标计算精度和目标计算资源,确定满足各训练阶段的计算精度需求和计算资源需求的各资源调用策略,作为各候选调用策略;
按照指定评估条件在所述各候选调用策略中选取出目标调用策略;
根据所述目标调用策略依次调用与各训练阶段相匹配的计算单元所对应的计算资源,以执行所述目标模型每个训练阶段的训练任务。
可选地,在针对所述目标模型的每个训练阶段,确定该训练阶段所需的目标计算精度以及目标计算资源之前,所述方法还包括:
将所述目标模型的一次迭代训练过程划分为若干训练阶段。
可选地,在针对所述目标模型的每个训练阶段,确定该训练阶段所需的目标计算精度以及目标计算资源之前,所述方法还包括:
针对所述目标模型的每个训练阶段,获取用于完成该训练阶段的各参数,作为目标参数。
可选地,根据每个训练阶段所需的目标计算精度和目标计算资源,确定满足各训练阶段的计算精度需求和计算资源需求的各资源调用策略,作为各候选调用策略,具体包括:
针对所述目标模型的每个训练阶段,根据该训练阶段所需的目标精度,对该训练阶段对应的目标参数进行稀疏处理,得到该训练阶段对应的稀疏后参数;
根据所述稀疏后参数,对该训练阶段所需的目标计算资源进行调整,得到该训练阶段所需的调整后计算资源;
根据每个训练阶段对应的计算精度以及每个训练阶段所需的调整后计算资源,确定所述各候选调用策略。
可选地,所述计算资源信息包括:计算单元对应的算力信息以及存储信息中的至少一种。
可选地,获取不同计算单元对应的计算精度信息以及计算资源信息,具体包括:
对所述计算精度信息、所述算力信息以及存储信息进行量化处理,得到结构化的计算精度数据以及计算资源数据。
可选地,按照指定评估条件在所述各候选调用策略中选取出目标调用策略,具体包括:
根据不同候选调用策略对应的计算精度、计算效率以及执行计算时的能耗中的至少一种,在所述各候选调用策略中选取出所述目标调用策略。
本说明书提供了一种资源自适应协同的模型训练加速装置,包括:
获取模块,获取不同计算单元对应的计算精度信息以及计算资源信息,其中,至少部分计算单元对应的计算精度信息和/或计算资源信息不同;
生成模块,基于所述的计算精度信息以及所述计算资源信息,生成各资源调用策略;
第一确定模块,在获取到目标模型的模型数据后,针对所述目标模型的每个训练阶段,确定该训练阶段所需的目标计算精度以及目标计算资源;
第二确定模块,根据每个训练阶段所需的目标计算精度和目标计算资源,确定满足各训练阶段的计算精度需求和计算资源需求的各资源调用策略,作为各候选调用策略;
选取模块,按照指定评估条件在所述各候选调用策略中选取出目标调用策略;
执行模块,根据所述目标调用策略依次调用与各训练阶段相匹配的计算单元所对应的计算资源,以执行所述目标模型每个训练阶段的训练任务。
可选地,在针对所述目标模型的每个训练阶段,确定该训练阶段所需的目标计算精度以及目标计算资源之前,所述第一确定模块还用于,将所述目标模型的一次迭代训练过程划分为若干训练阶段。
可选地,在针对所述目标模型的每个训练阶段,确定该训练阶段所需的目标计算精度以及目标计算资源之前,所述第一确定模块还用于,针对所述目标模型的每个训练阶段,获取用于完成该训练阶段的各参数,作为目标参数。
可选地,所述第一确定模块具体用于,针对所述目标模型的每个训练阶段,根据该训练阶段所需的目标精度,对该训练阶段对应的目标参数进行稀疏处理,得到该训练阶段对应的稀疏后参数;根据所述稀疏后参数,对该训练阶段所需的目标计算资源进行调整,得到该训练阶段所需的调整后计算资源;根据每个训练阶段对应的计算精度以及每个训练阶段所需的调整后计算资源,确定所述各候选调用策略。
可选地,所述计算资源信息包括:计算单元对应的算力信息以及存储信息中的至少一种。
可选地,所述获取模块具体用于,对所述计算精度信息、所述算力信息以及存储信息进行量化处理,得到结构化的计算精度数据以及计算资源数据。
可选地,所述选取模块具体用于,根据不同候选调用策略对应的计算精度、计算效率以及执行计算时的能耗中的至少一种,在所述各候选调用策略中选取出所述目标调用策略。
本说明书提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述资源自适应协同的模型训练加速的方法。
本说明书提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述资源自适应协同的模型训练加速的方法。
本说明书采用的上述至少一个技术方案能够达到以下有益效果:
在本说明书提供的资源自适应协同的模型训练加速的方法中,获取不同计算单元对应的计算精度信息以及计算资源信息,基于的计算精度信息以及计算资源信息,生成各资源调用策略;在获取到目标模型的模型数据后,针对目标模型的每个训练阶段,确定该训练阶段所需的目标计算精度以及目标计算资源;确定满足各训练阶段的计算精度需求和计算资源需求的各资源调用策略,作为各候选调用策略;按照指定评估条件在各候选调用策略中选取出目标调用策略;根据目标调用策略调用各计算单元对应的计算资源,以执行目标模型每个训练阶段的训练任务。
从上述方法可以看出,本方案在模型训练的过程中能够根据不同训练阶段的计算精度需求以及计算资源需求确定出与其相匹配的资源调用策略,进而按照指定的评估条件选取出目标调用策略,这样一来,就可以保证在训练过程的每个阶段所调用的计算单元的配置都能够与该阶段的需求相匹配,从而在保证训练效率的同时,避免使用配置过高的计算单元,降低训练过程中的能耗,减少模型的训练成本。
附图说明
此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。在附图中:
图1为本说明书中提供的一种资源自适应协同的模型训练加速方法的流程示意图;
图2为本说明书中提供的一种目标调用策略的确定过程示意图;
图3为本说明书提供的一种资源自适应协同的模型训练加速装置的示意图;
图4为本说明书提供的一种对应于图1的电子设备示意图。
具体实施方式
为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。
以下结合附图,详细说明本说明书各实施例提供的技术方案。
图1为本说明书中提供的一种资源自适应协同的模型训练加速方法的流程示意图,包括以下步骤:
S101:获取不同计算单元对应的计算精度信息以及计算资源信息,其中,至少部分计算单元对应的计算精度信息和/或计算资源信息不同。
S102:基于所述的计算精度信息以及所述计算资源信息,生成各资源调用策略。
随着AI模型的规模逐渐增大,模型训练过程中对AI加速器的需求也随之增加,以生成式预训练Trans-former(Generative Pre-trained Trans-former-3,GPT-3)为例,为了对 45TB 的文本数据集进行建模,GPT-3 模型训练调用了2048个 NVIDIA V100 GPU,以3640 PFLOP/s-day 的算力连续训练数周,累积电费支出达 1200 万美金。
而 GPT-3 并非算力和存储需求最大的 AI 模型,近年来诸如ChatGPT等模型对算力和存储的需求要远高于GPT-3。值得注意的是,模型训练对能源的消耗呈显著增长趋势,相关研究表明,训练一个大型 AI 模型将产生至少 62 万磅的二氧化碳排放,其相当于普通汽车寿命周期内排放量的五倍,低碳计算势在必行。总的来说,模型训练的高能效对 AI技术的发展举足轻重。
大型模型对硬件资源的需求较大,但由于现有硬件资源总量是固定的,需要合理规划使用,而大模型训练恰恰是一个不断循环迭代的过程,每个训练阶段对资源的需求并不一致,因此按需提供资源,可以最大化资源利用率,将模型各阶段的模型需求与硬件能提供的不同资源一一匹配,提供最优训练效率。
并且,在通过AI加速器对模型进行训练的过程中,AI加速器及其存储层级的发展虽然相对缓慢且稳定,但架构多种多样,不同AI加速器的精度、算力和存储大小也有所不同,另外,AI 模型普遍存在稀疏性和鲁棒性,数据中存在噪声或数据缺失时,仍然可以从中提取有用的信息并做出较准确的预测。
基于此,本说明书提供了一种资源自适应协同的模型训练加速方法,以在模型训练的过程中根据不同训练阶段的计算精度需求以及计算资源需求确定出与其相匹配的资源调用策略。
在本说明书中,用于实现一种资源自适应协同的模型训练加速方法的执行主体可以是服务器等指定设备,为了便于描述,本说明书仅以服务器作为执行主体为例,对一种资源自适应协同的模型训练加速方法进行说明。
其中,在对目标模型进行训练之前,服务器需要获取不同计算单元对应的计算精度信息以及计算资源信息,在本说明书中,计算单元可以为AI加速器,包括图形处理器(Graphics Processing Unit,GPU)、数据处理器(Data Processing Unit,DPU)、图像处理单元(Image Processing Unit,IPU)以及张量处理器(Tensor Processing Unit,TPU)等。
当然,上述计算单元也可以为同一类AI加速器里面不同的计算核心(如INT8计算核心、FP16计算核心、TF32计算核心等)。
在实际应用中,对目标模型进行训练时通常会调用多个计算单元,其中部分或全部计算单元的计算精度信息和计算资源信息均不相同,或计算精度信息和计算资源信息中的一种不同,当然,也可以存在一部分计算单元的计算精度信息和计算资源信息完全相同。
上述计算精度信息可以包括8bit、16bit、32bit、64bit以及128bit等,计算资源信息可以包括:算力信息(计算能力大小)以及存储信息(内存大小)中的至少一种。当然还可以包含有其他类型的计算精度信息以及计算资源信息,本说明书对此不做具体限定。
获取各计算单元对应的计算精度信息以及计算资源信息后,服务器可以对这些信息进行量化处理,以构建模型特征抽象,得到结构化的计算精度数据以及计算资源数据。
而后服务器可以根据不同计算单元对应的计算精度信息和计算资源信息,生成多种资源调用策略,该资源调用策略用于对执行不同训练阶段的计算任务时所需的计算单元依次进行调用。
S103:在获取到目标模型的模型数据后,针对所述目标模型的每个训练阶段,确定该训练阶段所需的目标计算精度以及目标计算资源。
S104:根据每个训练阶段所需的目标计算精度和目标计算资源,确定满足各训练阶段的计算精度需求和计算资源需求的各资源调用策略,作为各候选调用策略。
在对目标模型进行训练时,服务器可以获取目标模型的模型数据,该模型数据可以为目标模型的模型代码,在本说明书中,该目标模型可以包括图像识别模型、自然语言处理模型以及信息推荐模型等。本说明书对此不做具体限定。
在实际应用中,模型训练可以分为多个阶段,包括:模型选择与加载、参数初始化、前向传播、迭代优化、损失函数计算、反向传播、模型评估等。
因此,针对目标模型的每一次迭代训练过程,服务器可以预先将模型的一次迭代训练过程划分为若干训练阶段,如前向传播、迭代优化及反向传播等。其中,各训练阶段所需的目标计算精度用于表征针对模型的一次迭代训练过程中的某一训练阶段,要求该训练阶段达到的精度。
在对目标模型进行训练之前,服务器还可以获取完成每个训练阶段的参数,作为各训练阶段的目标参数。在实际应用中,可以根据目标模型要实现的功能,确定对应的参数。例如,当目标模型用于图像识别时,其对应的参数可以包括:量化后的样本、量化后的标签、样本与标签的相似度及损失函数等等。因此,服务器可在已确定的参数中,获取各训练阶段对应的目标参数。
对于每个训练阶段,服务器可以根据目标模型的模型数据以及该训练阶段对应的目标参数,计算执行训练阶段的计算时所需的目标计算精度以及所需的算力和存储空间等目标计算资源。
服务器可以对各训练阶段对应的目标计算精度以及目标计算资源进行量化处理,以构建训练特征抽象,得到结构化的目标计算精度数据以及目标计算资源数据。
另外,服务器可以通过计算处理技术,根据各训练阶段对应的目标计算精度对各训练阶段对应的目标参数进行稀疏处理,得到各训练阶段对应的稀疏后参数,从而减少目标参数的数据量,实现对目标数据所占用存储空间的压缩。
其中,对于目标计算精度要求较高的训练阶段,服务器可以对该阶段对应的目标参数进行程度较低的稀疏处理或者不进行稀疏处理,而对于目标计算精度要求较低的训练阶段,服务器可以对该训练阶段的目标参数进行程度较高的稀疏处理,也就是说,对不同训练阶段的目标参数进行稀疏处理的程度与各训练阶段对应的目标精度呈负相关。
而后服务器可以根据稀疏后参数,对该训练阶段所需的目标计算资源进行调整,得到该训练阶段所需的调整后计算资源。由于对原有的目标参数进行了稀疏处理,所以该阶段所需的调整后计算资源要小于调整前的目标计算资源。
对各训练阶段所需的计算资源进行调整后,服务器可以根据每个训练阶段对应的目标计算精度以及所需的调整后计算资源,确定所述各候选调用策略。
其中,服务器可以利用成本模型、线性规划求解器等应用搜寻各候选调用策略。对于确定出的各候选调用策略,该调用策略中每个训练阶段对应的计算单元的计算精度信息需满足(大于或等于)每个训练阶段对应的目标计算精度,同时,该调用策略中每个训练阶段对应计算单元的算力以及存储资源需满足(大于或等于)该训练阶段所需的调整后计算资源。
当然,服务器也可以不对每个训练阶段对应的目标参数进行稀疏处理,而是直接根据每个训练阶段对应的目标计算精度以及所需的目标计算资源确定各候选调用策略。
S105:按照指定评估条件在所述各候选调用策略中选取出目标调用策略。
S106:根据所述目标调用策略依次调用与各训练阶段相匹配的计算单元所对应的计算资源,以执行所述目标模型每个训练阶段的训练任务。
具体的,服务器可以根据不同候选调用策略对应的计算精度、计算效率以及执行计算时的能耗等评估条件中的一种或多种,从各候选调用策略中选取出目标调用策略。
例如,服务器可以根据计算精度、计算效率以及执行计算时的能耗确定各候选调用策略与目标模型之间的匹配度,而后服务器可以将匹配度最高的候选调用策略作为目标调用策略。其中,计算精度、计算效率与该匹配度呈正相关关系,执行计算时的能耗与该匹配度呈负相关关系。
当然,服务器也可以根据诸如运算延迟、内存实际利用率、访存实际利用率、计算核心实际利用率以及计算负载瓶颈类型等其他评估条件,确定上述匹配度,本说明书对此不做具体限定。
另外,服务器还可以基于上述评估条件,通过诸如成本模型、线性规划求解器等评估模型,确定各候选调用策略对应的评分,进而根据评分确定出目标调用策略。
确定目标调用策略后,服务器在执行目标模型不同训练阶段的训练任务时,按照目标调用策略依次调用并激活各训练阶段对应计算单元的计算资源,从而执行目标模型每个训练阶段的训练任务,完成对目标模型的训练。
另外,随着对目标模型训练轮次的逐渐增多,目标模型各训练阶段对计算精度和计算资源的需求也会不断发生改变,其中,为保证目标模型的精度,随着训练轮次的增多各训练阶段的计算精度需求也会随之增加,所需的算力和存储资源也会相应增加。
因此,针对目标模型的每一轮训练服务器都可以对其所需的目标计算精度和目标计算资源进行更新,从而重新确定满足需求的各候选调用策略并从中选取出新的目标调用策略执行各训练轮次的训练任务。
为了便于理解,本说明书提供了一种目标调用策略的确定过程示意图,如图2所示。
图2为本说明书中提供的一种目标调用策略的确定过程示意图。
其中,负载规格为目标模型各训练阶段所需的目标计算精度以及目标计算资源,架构规格为各计算单元对应的计算精度信息和计算资源信息。服务器可以通过近似处理技术,对目标模型各训练阶段对应的目标参数进行稀疏处理,从而确定满足各训练阶段计算精度需求和计算资源需求的候选调用策略。
之后服务器可以根据各候选调用策略的计算精度、能耗以及计算效率等评估条件,选取出目标调用策略,并在训练过程中基于步进式规则优化对各候选调用策略进行更新。
完成针对目标模型的训练后,服务器可以将目标模型进行部署,从而通过部署后的模型执行业务。
例如,当目标模型为图像识别模型时,服务器接收到识别请求后可以将待识别图像输入该目标模型,以通过该目标模型输出识别结果(如待识别图像的图像分类或图像内容)。
从上述方法可以看出,本方案可以从全局优化入手,综合权衡模型特征、近似数据处理算法和芯片架构特性,探寻最优配置,自适应地联合计算与存储各自属性,端到端优化加速目标模型训练效率,可解决AI模型(目标模型)和AI加速器(计算单元)发展不匹配导致AI 模型训练低能效甚至不能训练等技术问题。
另外,本方案通过近似数据处理技术,建立多层次、一体化的多特征匹配,可以有效缓解 AI模型训练过程中面临的算力和存储资源短缺压力,缓解 AI 模型训练成本过高,导致 AI 模型训练低能效甚至不能训练等技术问题。
进一步的,本方案可以通过分析评估,探寻资源调用策略的优劣,利用成本模型、线性规划求解器等技术搜寻待选匹配方案,并通过利用步进式规则优化,按需更新匹配方式,满足系统资源动态变化需求,可以在 AI 加速器上进行动态资源布局,最大程度利用软硬件资源,端到端加速 AI 模型训练效率。
以上为本说明书的一个或多个实施资源自适应协同的模型训练加速的方法,基于同样的思路,本说明书还提供了相应的资源自适应协同的模型训练加速的装置,如图3所示。
图3为本说明书提供的一种资源自适应协同的模型训练加速装置的示意图,包括:
获取模块301,用于获取不同计算单元对应的计算精度信息以及计算资源信息,其中,至少部分计算单元对应的计算精度信息和/或计算资源信息不同;
生成模块302,用于基于所述的计算精度信息以及所述计算资源信息,生成各资源调用策略;
第一确定模块303,用于在获取到目标模型的模型数据后,针对所述目标模型的每个训练阶段,确定该训练阶段所需的目标计算精度以及目标计算资源;
第二确定模块304,用于根据每个训练阶段所需的目标计算精度和目标计算资源,确定满足各训练阶段的计算精度需求和计算资源需求的各资源调用策略,作为各候选调用策略;
选取模块305,用于按照指定评估条件在所述各候选调用策略中选取出目标调用策略;
执行模块306,用于根据所述目标调用策略依次调用与各训练阶段相匹配的计算单元所对应的计算资源,以执行所述目标模型每个训练阶段的训练任务。
可选地,在针对所述目标模型的每个训练阶段,确定该训练阶段所需的目标计算精度以及目标计算资源之前,所述第一确定模块303还用于,将所述目标模型的一次迭代训练过程划分为若干训练阶段。
可选地,在针对所述目标模型的每个训练阶段,确定该训练阶段所需的目标计算精度以及目标计算资源之前,所述第一确定模块303还用于,针对所述目标模型的每个训练阶段,获取用于完成该训练阶段的各参数,作为目标参数。
可选地,所述第一确定模块303具体用于,针对所述目标模型的每个训练阶段,根据该训练阶段所需的目标精度,对该训练阶段对应的目标参数进行稀疏处理,得到该训练阶段对应的稀疏后参数;根据所述稀疏后参数,对该训练阶段所需的目标计算资源进行调整,得到该训练阶段所需的调整后计算资源;根据每个训练阶段对应的计算精度以及所需的调整后计算资源,确定所述各候选调用策略。
可选地,所述计算资源信息包括:计算单元对应的算力信息以及存储信息中的至少一种。
可选地,所述获取模块301具体用于,对所述计算精度信息、所述算力信息以及存储信息进行量化处理,得到结构化的计算精度数据以及计算资源数据。
可选地,所述选取模块305具体用于,根据不同候选调用策略对应的计算精度、计算效率以及执行计算时的能耗中的至少一种,在所述各候选调用策略中选取出所述目标调用策略。
本说明书还提供了一种计算机可读存储介质,该存储介质存储有计算机程序,计算机程序可用于执行上述图1提供的一种资源自适应协同的模型训练加速方法。
本说明书还提供了图4所示的一种对应于图1的电子设备的示意结构图。如图4所述,在硬件层面,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述图1所述的资源自适应协同的模型训练加速的方法。当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(ProgrammableLogic Device, PLD)(例如现场可编程门阵列(Field Programmable Gate Array,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(HardwareDescription Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(AdvancedBoolean Expression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(JavaHardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby HardwareDescription Language)等,目前最普遍使用的是VHDL(Very-High-Speed IntegratedCircuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20 以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书的实施例可提供为方法、系统、或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。

Claims (16)

1.一种资源自适应协同的模型训练加速方法,其特征在于,包括:
获取不同计算单元对应的计算精度信息以及计算资源信息,其中,至少部分计算单元对应的计算精度信息和/或计算资源信息不同;
基于所述的计算精度信息以及所述计算资源信息,生成各资源调用策略;
在获取到目标模型的模型数据后,针对所述目标模型的每个训练阶段,确定该训练阶段所需的目标计算精度以及目标计算资源;
根据每个训练阶段所需的目标计算精度和目标计算资源,确定满足各训练阶段的计算精度需求和计算资源需求的各资源调用策略,作为各候选调用策略;
按照指定评估条件在所述各候选调用策略中选取出目标调用策略;
根据所述目标调用策略依次调用与各训练阶段相匹配的计算单元所对应的计算资源,以执行所述目标模型每个训练阶段的训练任务。
2.如权利要求1所述的方法,其特征在于,在针对所述目标模型的每个训练阶段,确定该训练阶段所需的目标计算精度以及目标计算资源之前,所述方法还包括:
将所述目标模型的一次迭代训练过程划分为若干训练阶段。
3.如权利要求1所述的方法,其特征在于,在针对所述目标模型的每个训练阶段,确定该训练阶段所需的目标计算精度以及目标计算资源之前,所述方法还包括:
针对所述目标模型的每个训练阶段,获取用于完成该训练阶段的各参数,作为目标参数。
4.如权利要求3所述的方法,其特征在于,根据每个训练阶段所需的目标计算精度和目标计算资源,确定满足各训练阶段的计算精度需求和计算资源需求的各资源调用策略,作为各候选调用策略,具体包括:
针对所述目标模型的每个训练阶段,根据该训练阶段所需的目标精度,对该训练阶段对应的目标参数进行稀疏处理,得到该训练阶段对应的稀疏后参数;
根据所述稀疏后参数,对该训练阶段所需的目标计算资源进行调整,得到该训练阶段所需的调整后计算资源;
根据每个训练阶段对应的计算精度以及每个训练阶段所需的调整后计算资源,确定所述各候选调用策略。
5.如权利要求1所述的方法,其特征在于,所述计算资源信息包括:计算单元对应的算力信息以及存储信息中的至少一种。
6.如权利要求5所述的方法,其特征在于,获取不同计算单元对应的计算精度信息以及计算资源信息,具体包括:
对所述计算精度信息、所述算力信息以及存储信息进行量化处理,得到结构化的计算精度数据以及计算资源数据。
7.如权利要求1所述的方法,其特征在于,按照指定评估条件在所述各候选调用策略中选取出目标调用策略,具体包括:
根据不同候选调用策略对应的计算精度、计算效率以及执行计算时的能耗中的至少一种,在所述各候选调用策略中选取出所述目标调用策略。
8.一种资源自适应协同的模型训练加速装置,其特征在于,包括:
获取模块,获取不同计算单元对应的计算精度信息以及计算资源信息,其中,至少部分计算单元对应的计算精度信息和/或计算资源信息不同;
生成模块,基于所述的计算精度信息以及所述计算资源信息,生成各资源调用策略;
第一确定模块,在获取到目标模型的模型数据后,针对所述目标模型的每个训练阶段,确定该训练阶段所需的目标计算精度以及目标计算资源;
第二确定模块,根据每个训练阶段所需的目标计算精度和目标计算资源,确定满足各训练阶段的计算精度需求和计算资源需求的各资源调用策略,作为各候选调用策略;
选取模块,按照指定评估条件在所述各候选调用策略中选取出目标调用策略;
执行模块,根据所述目标调用策略依次调用与各训练阶段相匹配的计算单元所对应的计算资源,以执行所述目标模型每个训练阶段的训练任务。
9.如权利要求8所述的装置,其特征在于,在针对所述目标模型的每个训练阶段,确定该训练阶段所需的目标计算精度以及目标计算资源之前,所述第一确定模块还用于,将所述目标模型的一次迭代训练过程划分为若干训练阶段。
10.如权利要求8所述的装置,其特征在于,在针对所述目标模型的每个训练阶段,确定该训练阶段所需的目标计算精度以及目标计算资源之前,所述第一确定模块还用于,针对所述目标模型的每个训练阶段,获取用于完成该训练阶段的各参数,作为目标参数。
11.如权利要求10所述的装置,其特征在于,所述第一确定模块具体用于,针对所述目标模型的每个训练阶段,根据该训练阶段所需的目标精度,对该训练阶段对应的目标参数进行稀疏处理,得到该训练阶段对应的稀疏后参数;根据所述稀疏后参数,对该训练阶段所需的目标计算资源进行调整,得到该训练阶段所需的调整后计算资源;根据每个训练阶段对应的计算精度以及每个训练阶段所需的调整后计算资源,确定所述各候选调用策略。
12.如权利要求8所述的装置,其特征在于,所述计算资源信息包括:计算单元对应的算力信息以及存储信息中的至少一种。
13.如权利要求12所述的装置,其特征在于,所述获取模块具体用于,对所述计算精度信息、所述算力信息以及存储信息进行量化处理,得到结构化的计算精度数据以及计算资源数据。
14.如权利要求8所述的装置,其特征在于,所述选取模块具体用于,根据不同候选调用策略对应的计算精度、计算效率以及执行计算时的能耗中的至少一种,在所述各候选调用策略中选取出所述目标调用策略。
15.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述权利要求1~7任一项所述的方法。
16.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述权利要求1~7任一项所述的方法。
CN202310819041.2A 2023-07-05 2023-07-05 一种资源自适应协同的模型训练加速方法、装置及设备 Pending CN116521380A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310819041.2A CN116521380A (zh) 2023-07-05 2023-07-05 一种资源自适应协同的模型训练加速方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310819041.2A CN116521380A (zh) 2023-07-05 2023-07-05 一种资源自适应协同的模型训练加速方法、装置及设备

Publications (1)

Publication Number Publication Date
CN116521380A true CN116521380A (zh) 2023-08-01

Family

ID=87390784

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310819041.2A Pending CN116521380A (zh) 2023-07-05 2023-07-05 一种资源自适应协同的模型训练加速方法、装置及设备

Country Status (1)

Country Link
CN (1) CN116521380A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116719631A (zh) * 2023-08-11 2023-09-08 之江实验室 一种分布式任务调度方法、装置、存储介质及电子设备
CN116756293A (zh) * 2023-08-11 2023-09-15 之江实验室 一种模型训练的方法、装置、存储介质及电子设备
CN116991388A (zh) * 2023-09-26 2023-11-03 之江实验室 一种深度学习编译器的图优化序列生成方法及装置
CN117075918A (zh) * 2023-10-13 2023-11-17 之江实验室 一种模型部署方法、装置、存储介质及电子设备
CN117171577A (zh) * 2023-11-02 2023-12-05 之江实验室 一种高性能算子选择的动态决策方法及装置
CN117952182A (zh) * 2024-03-25 2024-04-30 之江实验室 一种基于数据质量的混合精度模型训练方法及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111722923A (zh) * 2020-05-29 2020-09-29 浪潮电子信息产业股份有限公司 一种异构资源的调用方法、装置和计算机可读存储介质
CN112667594A (zh) * 2021-01-14 2021-04-16 北京智源人工智能研究院 一种基于混合云资源的异构计算平台及模型训练方法
CN113467922A (zh) * 2020-03-30 2021-10-01 阿里巴巴集团控股有限公司 资源管理方法、装置、设备及存储介质
CN113821332A (zh) * 2020-06-19 2021-12-21 鸿富锦精密电子(天津)有限公司 自动机器学习系统效能调优方法、装置、设备及介质
CN114035937A (zh) * 2021-10-15 2022-02-11 北京潞晨科技有限公司 一种基于人工智能的分布式训练和推理方法、系统、设备和可读存储介质
CN115220899A (zh) * 2022-08-20 2022-10-21 抖音视界有限公司 模型训练任务的调度方法、装置及电子设备
CN115658282A (zh) * 2022-08-18 2023-01-31 江苏腾威云天科技有限公司 服务器算力管理分配方法、系统、网络设备和存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113467922A (zh) * 2020-03-30 2021-10-01 阿里巴巴集团控股有限公司 资源管理方法、装置、设备及存储介质
CN111722923A (zh) * 2020-05-29 2020-09-29 浪潮电子信息产业股份有限公司 一种异构资源的调用方法、装置和计算机可读存储介质
CN113821332A (zh) * 2020-06-19 2021-12-21 鸿富锦精密电子(天津)有限公司 自动机器学习系统效能调优方法、装置、设备及介质
CN112667594A (zh) * 2021-01-14 2021-04-16 北京智源人工智能研究院 一种基于混合云资源的异构计算平台及模型训练方法
CN114035937A (zh) * 2021-10-15 2022-02-11 北京潞晨科技有限公司 一种基于人工智能的分布式训练和推理方法、系统、设备和可读存储介质
CN115658282A (zh) * 2022-08-18 2023-01-31 江苏腾威云天科技有限公司 服务器算力管理分配方法、系统、网络设备和存储介质
CN115220899A (zh) * 2022-08-20 2022-10-21 抖音视界有限公司 模型训练任务的调度方法、装置及电子设备

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116719631A (zh) * 2023-08-11 2023-09-08 之江实验室 一种分布式任务调度方法、装置、存储介质及电子设备
CN116756293A (zh) * 2023-08-11 2023-09-15 之江实验室 一种模型训练的方法、装置、存储介质及电子设备
CN116719631B (zh) * 2023-08-11 2024-01-09 之江实验室 一种分布式任务调度方法、装置、存储介质及电子设备
CN116991388A (zh) * 2023-09-26 2023-11-03 之江实验室 一种深度学习编译器的图优化序列生成方法及装置
CN116991388B (zh) * 2023-09-26 2024-01-09 之江实验室 一种深度学习编译器的图优化序列生成方法及装置
CN117075918A (zh) * 2023-10-13 2023-11-17 之江实验室 一种模型部署方法、装置、存储介质及电子设备
CN117075918B (zh) * 2023-10-13 2024-01-09 之江实验室 一种模型部署方法、装置、存储介质及电子设备
CN117171577A (zh) * 2023-11-02 2023-12-05 之江实验室 一种高性能算子选择的动态决策方法及装置
CN117171577B (zh) * 2023-11-02 2024-03-22 之江实验室 一种高性能算子选择的动态决策方法及装置
CN117952182A (zh) * 2024-03-25 2024-04-30 之江实验室 一种基于数据质量的混合精度模型训练方法及装置

Similar Documents

Publication Publication Date Title
CN116521380A (zh) 一种资源自适应协同的模型训练加速方法、装置及设备
CN111783018B (zh) 一种页面处理方法、装置及设备
CN116932092B (zh) 一种算子调用代码自动生成的方法、装置、介质及设备
CN116304720B (zh) 一种代价模型训练的方法、装置、存储介质及电子设备
CN110069284B (zh) 一种基于opu指令集的编译方法及编译器
JP2024529206A (ja) インテリジェントコンピューティング向けのコンテナスケジューリングのための分散トレーニング
CN114936085A (zh) 基于深度学习算法的etl调度方法及装置
CN116225669B (zh) 一种任务执行方法、装置、存储介质及电子设备
CN116663618B (zh) 一种算子优化方法、装置、存储介质及电子设备
CN116151363B (zh) 分布式强化学习系统
CN116185532B (zh) 一种任务执行系统、方法、存储介质及电子设备
CN117725985A (zh) 一种强化学习模型训练和业务执行方法、装置及电子设备
CN117370536A (zh) 一种任务执行方法、装置、存储介质及电子设备
CN115543945B (zh) 一种模型压缩的方法、装置、存储介质及电子设备
CN116842715A (zh) 一种仿真数据结构化处理系统
CN115470901B (zh) 支持移动端异构处理器分载的混合精度训练方法及设备
CN116384505A (zh) 一种数据处理的方法、装置、存储介质及电子设备
CN113887719B (zh) 一种模型压缩方法及装置
CN111753990B (zh) 一种量子计算机模拟环境方法、设备及介质
CN113760380A (zh) 网络模型的运行代码的确定方法、装置、设备及存储介质
CN117455015B (zh) 一种模型优化的方法、装置、存储介质及电子设备
CN116755862B (zh) 一种算子优化调度模型的训练方法、装置、介质及设备
CN118279640B (zh) 基于fpga的大目标关键特征识别方法及设备
CN117171577B (zh) 一种高性能算子选择的动态决策方法及装置
CN116931955B (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20230801

RJ01 Rejection of invention patent application after publication