CN117271113A - 任务执行方法、装置、电子设备和存储介质 - Google Patents
任务执行方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN117271113A CN117271113A CN202311101089.6A CN202311101089A CN117271113A CN 117271113 A CN117271113 A CN 117271113A CN 202311101089 A CN202311101089 A CN 202311101089A CN 117271113 A CN117271113 A CN 117271113A
- Authority
- CN
- China
- Prior art keywords
- sub
- data
- simulation
- target
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000004088 simulation Methods 0.000 claims abstract description 126
- 230000008569 process Effects 0.000 claims abstract description 19
- 238000013136 deep learning model Methods 0.000 claims abstract description 14
- 238000012545 processing Methods 0.000 claims description 42
- 230000004044 response Effects 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 12
- 238000013473 artificial intelligence Methods 0.000 abstract description 4
- 238000013135 deep learning Methods 0.000 abstract description 3
- 238000007667 floating Methods 0.000 description 10
- 238000009825 accumulation Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000001186 cumulative effect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012417 linear regression Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012821 model calculation Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Neurology (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本公开提供了一种任务执行方法,涉及人工智能技术领域,尤其涉及大模型技术领域和深度学习技术领域。具体实现方案为:根据深度学习模型中目标子模型的输入数据,确定目标子模型的仿真输出数据,其中,目标子模型包括至少一个目标算子,目标子模型对应的目标任务被第一硬件资源执行;响应于确定仿真输出数据未处于第一硬件资源对应的第一数值范围,根据仿真输出数据,确定第二硬件资源,其中,第二硬件资源对应的第二数值范围大于第一数值范围;以及利用第二硬件资源执行目标任务,以处理输入数据,得到目标子模型的目标输出数据。本公开还提供了一种任务执行装置、电子设备和存储介质。
Description
技术领域
本公开涉及人工智能技术领域,尤其涉及大模型技术领域和深度学习技术领域。更具体地,本公开提供了一种任务执行方法、装置、电子设备和存储介质。
背景技术
随着人工智能技术的发展,大模型在深度学习领域的应用越来越广泛。大模型可以利用不同精度的数据进行训练或推理。
发明内容
本公开提供了一种任务执行方法、装置、设备以及存储介质。
根据本公开的一方面,提供了一种任务执行方法,该方法包括:根据深度学习模型中目标子模型的输入数据,确定目标子模型的仿真输出数据,其中,目标子模型包括至少一个目标算子,目标子模型对应的目标任务被第一硬件资源执行;响应于确定仿真输出数据未处于第一硬件资源对应的第一数值范围,根据仿真输出数据,确定第二硬件资源,其中,第二硬件资源对应的第二数值范围大于第一数值范围;以及利用第二硬件资源执行目标任务,以处理输入数据,得到目标子模型的目标输出数据。
根据本公开的另一方面,提供了一种任务执行装置,该装置包括:第一确定模块,用于根据深度学习模型中目标子模型的输入数据,确定目标子模型的仿真输出数据,其中,目标子模型包括至少一个目标算子,目标子模型对应的目标任务被第一硬件资源执行;第二确定模块,用于响应于确定仿真输出数据未处于第一硬件资源对应的第一数值范围,根据仿真输出数据,确定第二硬件资源,其中,第二硬件资源对应的第二数值范围大于第一数值范围;以及第一执行模块,用于利用第二硬件资源执行目标任务,以处理输入数据,得到目标子模型的目标输出数据。
根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行根据本公开提供的方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使计算机执行根据本公开提供的方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现根据本公开提供的方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开的一个实施例的任务执行方法的流程图;
图2是根据本公开的一个实施例的深度学习模型的示意图;
图3是根据本公开的一个实施例的任务执行装置的框图;以及
图4是根据本公开的一个实施例的可以应用任务执行方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
随着模型深度和广度的增加,大模型的精度验证和精度对齐面临巨大挑战。在大模型计算过程中出现精度溢出问题时,模型的调试会变得异常困难。
在一些实施例中,在模型的算子计算结束后,可以对算子的输出结果进行精度检测,以确定输出结果是否超过了相应的数据类型的数值范围。例如,缩放(Scale)算子包括乘法操作和加法操作。缩放算子对应的数据类型可以为16位浮点数(FP16)。可以对缩放算子的输出结果进行精度检测。若检测结果指示输出结果的精度未处于16位浮点数对应的数值范围内,可以确定发生了精度溢出问题,而难以确定是乘法操作导致的精度溢出还是加法操作导致的精度溢出,进而导致难以高效地优化相关任务的执行。
为了高效地执行与模型相关的任务,本公开提供了一种任务执行方法,下面将进行进一步说明。
图1是根据本公开的一个实施例的任务执行方法的流程图。
如图1所示,该方法100可以包括操作S110至操作S130。
在操作S110,根据深度学习模型中目标子模型的输入数据,确定目标子模型的仿真输出数据。
在本公开实施例中,目标子模型可以包括至少一个目标算子。例如,目标算子可以为可能出现精度溢出问题的算子。目标算子可以包括累乘、累加等算子。可以将具有依赖关系的累乘、累加等算子作为目标子模型。可以理解,若第一算子的输出作为第二算子的输入,第一算子和第二算子具有依赖关系。
在本公开实施例中,目标子模型对应的目标任务可以被第一硬件资源执行。例如,第一硬件资源可以包括至少一个处理器核以及相应的存储空间。
在本公开实施例中,可以利用各种方式确定目标子模型的仿真输出数据。例如,可以获取目标子模型的历史输入数据和历史输出数据。若目标子模型的输入数据与一历史输入数据之间的差异较小,可以将与该历史输入数据对应的历史输出数据作为仿真输出数据。可以理解,在处理目标子模型的输入数据之前,可以利用不同的硬件资源执行目标任务的在前任务,以处理多个历史输入数据,得到多个历史输出数据。
在操作S120,响应于确定仿真输出数据未处于第一硬件资源对应的第一数值范围,根据仿真输出数据,确定第二硬件资源。
在本公开实施例中,硬件资源对应一个数值范围。例如,16位浮点数对应的数值范围可以作为硬件资源对应数值范围。32位浮点数(FP32)对应的数值范围也可以作为硬件资源对应数值范围。硬件设备处理32位浮点数所需的硬件资源可以大于硬件设备处理16位浮点数所需的硬件资源。
在本公开实施例中,第二硬件资源对应的第二数值范围大于第一数值范围。例如,第一硬件资源可以对应16位浮点数的数值范围。第二硬件资源可以对应32位浮点数的数值范围。
在本公开实施例中,可以根据仿真输出数据所处的数值范围,确定第二硬件资源。
在操作S130,利用第二硬件资源执行目标任务,以处理输入数据,得到目标子模型的目标输出数据。
在本公开实施例中,可以将输入数据输入目标子模型,得到目标输出数据。例如,第二硬件资源对应的处理器核的数目可以大于第一硬件资源对应的处理器核的数目。
通过本公开实施例,可以动态地配置目标子模型所需的硬件资源。由此,可以充分利用硬件设备的硬件资源,在确保模型的稳定运行的情况下,提高硬件资源的利用率。
此外,通过本公开实施例,也可以满足不同精度的计算需求,拓展模型的应用场景,也有助于实现混合精度计算。
可以理解,上文对本公开的方法进行了说明,下面将对本公开的深度学习模型和硬件设备进行进一步说明。
在一些实施例中,硬件设备可以为硬件设备集群。
在一些实施例中,深度学习模型可以包括多个子模型。下面将结合图2进行进一步说明。
图2是根据本公开的一个实施例的深度学习模型的示意图。
如图2所示,深度学习模型200可以包括第一子模型210、第二子模型220和目标子模型230。
在本公开实施例中,可以将硬件设备划分为多个硬件通道。多个硬件通道对应多个硬件资源。例如,目标子模型的目标算子可能会出现精度溢出问题。如图2所示,目标子模型230可以包括累乘算子231和累加算子232。又例如,硬件通道可以包括动态硬件通道。目标子模型230对应的目标任务可以被动态硬件通道对应的硬件资源运行。动态硬件通道可以对应多个硬件资源。多个硬件资源可以对应多个精度。多个硬件资源可以包括第一硬件资源。也可以从多个硬件资源中确定第二硬件资源。
例如,第一子模型210可以被第四硬件资源运行,第二子模型220可以被第五硬件资源运行。第一子模型210或第二子模型220中的算子难以出现精度溢出问题。第一子模型210可以包括加法算子211和加法算子212。第二子模型220可以包括乘法算子221和乘法算子222。在深度学习模型运行过程中,可以持续利用第四硬件资源和第五硬件资源分别运行第一子模型和第二子模型。
可以理解,上文对本公开的硬件设备和深度学习模型进行了说明,下面将对本公开的目标任务进行进一步说明。
在一些实施例中,目标任务可以包括前向计算任务和反向计算任务之一。相应的,输入数据可以包括前向输入数据和反向输入数据之一。例如,在输入数据为前向输入数据的情况下,输出数据可以为前向计算结果。在又例如,在输入数据为反向输入数据的情况下,输出数据可以为梯度数据。
可以理解,上文对本公开的目标任务进行了说明,下面将对本公开的仿真模型进行说明。
在一些实施例中,确定目标子模型的仿真输出数据包括:利用与目标子模型对应的仿真模型处理输入数据,得到仿真输出数据。
在本公开实施例中,仿真模型是根据目标子模型的多个历史输入数据和多个历史输出数据确定的。例如,可以获取动态硬件通道的多个历史输入数据和相应的多个历史输出数据。根据多个历史输入数据和多个历史输出数据,进行线性回归,得到仿真模型。可以理解,也可以根据其他模型得到仿真模型。例如,将历史输入数据作为训练样本,将历史输出数据作为标签,训练一全连接网络(Fully Connected Network,FCN),作为仿真模型。也可以理解,在输入数据的数据类型一致的情况下,全连接网络或线性回归模型所需的硬件资源,可以少于多个目标算子所需的硬件资源。
在本公开实施例中,可以利用预设硬件资源执行与仿真模型对应的仿真任务。例如,可以根据历史输出数据,确定预设硬件资源。
可以理解,上文对本公开的仿真模型进行了说明,下面将对本公开的仿真输出数据进行进一步说明。
在一些实施例中,至少一个目标算子可以为N个目标算子。N可以为大于1的整数。仿真模型可以包括N个仿真子模型,仿真子模型可以对应一个目标算子。如图2所示,N个目标算子可以包括上述累乘算子231和上述累加算子232。N个仿真子模型可以包括与累乘算子231对应的仿真子模型,也可以包括与累加算子232对应的仿真子模型。
在一些实施例中,确定目标子模型的仿真输出数据可以包括:利用N个仿真子模型处理输入数据,得到N个目标算子对应的N个仿真输出子数据,作为仿真输出数据。
在本公开实施例中,利用N个仿真子模型处理输入数据,得到N个目标算子对应的N个仿真输出子数据包括:利用第1个仿真子模型处理输入数据,得到第1个仿真输出子数据。例如,可以利用与累乘算子231对应的仿真子模型处理输入数据,得到第1个仿真输出子数据。
在本公开实施例中,利用N个仿真子模型处理输入数据,得到N个目标算子对应的N个仿真输出子数据还可以包括:利用第n个仿真子模型处理第n-1个仿真输出子数据,得到第n个仿真输出子数据。n可以为大于1且小于或等于N的整数。以n=2为示例,与上述累加算子232对应的仿真子模型可以处理第1个仿真输出子数据,得到第2个仿真输出子数据。可以将第1个仿真输出子数据和第2个仿真输出子数据作为仿真输出数据。
在本公开实施例中,可以确定N个仿真输出子数据是否处于第一硬件资源对应的第一数值范围内。例如,以第一硬件资源对应16位浮点数的数值范围为例,若第1个仿真输出子数据超出了16位浮点数的数值范围,可以根据第1个仿真输出子数据,从动态硬件通道对应的多个硬件资源中确定第二硬件资源。又例如,若确定任一仿真输出子数据均处于第一数值范围内,可以利用第一硬件资源执行目标任务。由此,可以降低资源开销,提高硬件资源的利用率。
可以理解,上文在确定了多个仿真输出子数据之后,确定了仿真输出子数据是否处于第一数值范围。但本公开不限于此,也可以在确定了一个仿真输出子数据之后,确定仿真输出子数据是否处于第一数值范围。
在本公开实施例中,响应于确定仿真输出数据未处于第一硬件资源对应的第一数值范围,根据仿真输出数据,确定第二硬件资源包括:响应于确定第1个仿真输出子数据未处于第一数值范围,根据第1个仿真输出子数据,确定第二硬件资源。例如,在得到第1个仿真输出子数据之后,可以确定第1个仿真输出子数据是否处于第一数值范围内。若第1个仿真输出子数据未处于第一数值范围内,可以根据第1个仿真输出子数据,确定第二硬件资源。也可以停止利用在后的仿真子模型进行处理,以节约计算资源,降低资源开销。
在本公开实施例中,响应于确定仿真输出数据未处于第一硬件资源对应的第一数值范围,根据仿真输出数据,确定第二硬件资源包括:响应于确定第n个仿真输出子数据未处于第一数值范围,根据第n个仿真输出子数据,确定第二硬件资源。例如,在前n-1个仿真输出子数据处于第一数值范围的情况下,在得到第n个仿真输出子数据之后,可以确定第n个仿真输出子数据是否处于第一数值范围内。若第n个仿真输出子数据未处于第一数值范围内,可以根据第n个仿真输出子数据,确定第二硬件资源。在n小于N的情况下,也可以停止利用在后的仿真子模型进行处理,以节约计算资源,降低资源开销。
可以理解,上文对确定第二硬件资源的一些方式进行了说明。在本公开实施例中,为了快速低成本地获取仿真输出数据,利用仿真模型处理了输入数据。然而,仿真模型和目标子模型的计算方式不同,仿真输出数据与真实的输出数据之间可能存在较大的差异,下面将进行进一步说明。
在一些实施例中,上述方法还可以包括:响应于确定仿真输出数据处于第一数值范围,利用第一硬件资源执行目标任务,以处理输入数据,得到第一输出数据。例如,若仿真输出数据处于第一数值范围内,可以利用第一硬件资源执行目标任务,得到第一输出数据。可以理解,在此情况下,第一输出数据也可以作为目标输出数据。接下来,可以确定第一输出数据与仿真输出数据之间的差异是否大于或等于预设差异阈值。
在一些实施例中,上述方法还可以包括:响应于确定第一输出数据与仿真输出数据的差异大于或等于预设差异阈值,将第一硬件资源调整为第三硬件资源。第三硬件资源对应的第三数值范围大于第一数值范围。例如,若差异大于或等于预设差异阈值,可以确定仿真模型的误差较大。为了目标任务的在后任务的稳定执行,可以提高使用更高精度的数据类型对应的硬件资源来执行在后任务。通过本公开实施例,可以及时调整硬件资源,降低精度溢出风险,可以实现动态的精度管理,适应各种类型的计算需求。
又例如,若差异小于预设差异阈值,可以确定仿真模型的误差较小,可以利用第一硬件资源执行在后任务。
图3是是根据本公开的一个实施例的任务执行装置的框图。
如图3所示,该装置300可以包括第一确定模块310、第二确定模块320和第一执行模块330。
第一确定模块310,用于根据深度学习模型中目标子模型的输入数据,确定目标子模型的仿真输出数据。目标子模型包括至少一个目标算子。目标子模型对应的目标任务被第一硬件资源执行。
第二确定模块320,用于响应于确定仿真输出数据未处于第一硬件资源对应的第一数值范围,根据仿真输出数据,确定第二硬件资源。第二硬件资源对应的第二数值范围大于第一数值范围。
第一执行模块330,用于利用第二硬件资源执行目标任务,以处理输入数据,得到目标子模型的目标输出数据。
在一些实施例中,第一确定模块包括:处理子模块,用于利用与目标子模型对应的仿真模型处理输入数据,得到仿真输出数据。
在一些实施例中,仿真模型是根据目标子模型的多个历史输入数据和多个历史输出数据确定的。
在一些实施例中,至少一个目标算子为N个,N为大于1的整数,仿真模型包括N个仿真子模型,仿真子模型对应一个目标算子。
在一些实施例中,处理子模块包括:处理单元,用于利用N个仿真子模型处理输入数据,得到N个目标算子对应的N个仿真输出子数据,作为仿真输出数据。
在一些实施例中,处理单元包括:第一处理子单元,用于利用第1个仿真子模型处理输入数据,得到第1个仿真输出子数据。第二处理子单元,用于利用第n个仿真子模型处理第n-1个仿真输出子数据,得到第n个仿真输出子数据。n为大于1且小于或等于N的整数。
在一些实施例中,第二确定模块还用于:响应于确定第n个仿真输出子数据未处于第一数值范围,根据第n个仿真输出子数据,确定第二硬件资源。
在一些实施例中,装置300还包括:第二执行模块,用于响应于确定仿真输出数据处于第一数值范围,利用第一硬件资源执行目标任务,以处理输入数据,得到第一输出数据。
在一些实施例中,装置300还包括:调整模块,用于响应于确定第一输出数据与仿真输出数据的差异大于或等于预设差异阈值,将第一硬件资源调整为第三硬件资源。第三硬件资源对应的第三数值范围大于第一数值范围。
在一些实施例中,输入数据包括前向输入数据和反向输入数据之一。
本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图4示出了可以用来实施本公开的实施例的示例电子设备400的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图4所示,设备400包括计算单元401,其可以根据存储在只读存储器(ROM)402中的计算机程序或者从存储单元408加载到随机访问存储器(RAM)403中的计算机程序,来执行各种适当的动作和处理。在RAM 403中,还可存储设备400操作所需的各种程序和数据。计算单元401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
设备400中的多个部件连接至I/O接口405,包括:输入单元406,例如键盘、鼠标等;输出单元407,例如各种类型的显示器、扬声器等;存储单元408,例如磁盘、光盘等;以及通信单元409,例如网卡、调制解调器、无线通信收发机等。通信单元409允许设备400通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元401可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元401的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元401执行上文所描述的各个方法和处理,例如任务执行方法。例如,在一些实施例中,任务执行方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元408。在一些实施例中,计算机程序的部分或者全部可以经由ROM 402和/或通信单元409而被载入和/或安装到设备400上。当计算机程序加载到RAM 403并由计算单元401执行时,可以执行上文描述的任务执行方法的一个或多个步骤。备选地,在其他实施例中,计算单元401可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行任务执行方法。
本文中以上描述的***和技术的各种实施方式可以在数字电子电路***、集成电路***、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上***的***(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程***上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储***、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储***、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的***和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)显示器或者LCD(液晶显示器));以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (20)
1.一种任务执行方法,包括:
根据深度学习模型中目标子模型的输入数据,确定所述目标子模型的仿真输出数据,其中,所述目标子模型包括至少一个目标算子,所述目标子模型对应的目标任务被第一硬件资源执行;
响应于确定所述仿真输出数据未处于所述第一硬件资源对应的第一数值范围,根据所述仿真输出数据,确定第二硬件资源,其中,所述第二硬件资源对应的第二数值范围大于所述第一数值范围;以及
利用所述第二硬件资源执行所述目标任务,以处理所述输入数据,得到所述目标子模型的目标输出数据。
2.根据权利要求1所述的方法,其中,所述确定所述目标子模型的仿真输出数据包括:
利用与所述目标子模型对应的仿真模型处理所述输入数据,得到所述仿真输出数据。
3.根据权利要求2所述的方法,其中,所述仿真模型是根据所述目标子模型的多个历史输入数据和多个历史输出数据确定的。
4.根据权利要求2所述的方法,其中,至少一个所述目标算子为N个,N为大于1的整数,所述仿真模型包括N个仿真子模型,所述仿真子模型对应一个所述目标算子,
所述利用与所述目标子模型对应的仿真模型处理所述输入数据,得到所述仿真输出数据包括:
利用N个所述仿真子模型处理输入数据,得到N个所述目标算子对应的N个仿真输出子数据,作为所述仿真输出数据。
5.根据权利要求4所述的方法,其中,所述利用N个所述仿真子模型处理输入数据,得到N个所述目标算子对应的N个仿真输出子数据包括:
利用第1个所述仿真子模型处理所述输入数据,得到第1个仿真输出子数据;
利用第n个所述仿真子模型处理第n-1个仿真输出子数据,得到第n个仿真输出子数据,其中,n为大于1且小于或等于N的整数。
6.根据权利要求5所述的方法,其中,所述响应于确定所述仿真输出数据未处于所述第一硬件资源对应的第一数值范围,根据所述仿真输出数据,确定第二硬件资源包括:
响应于确定第n个所述仿真输出子数据未处于所述第一数值范围,根据第n个所述仿真输出子数据,确定所述第二硬件资源。
7.根据权利要求1所述的方法,还包括:
响应于确定所述仿真输出数据处于所述第一数值范围,利用所述第一硬件资源执行所述目标任务,以处理所述输入数据,得到第一输出数据。
8.根据权利要求7所述的方法,还包括:
响应于确定所述第一输出数据与所述仿真输出数据的差异大于或等于预设差异阈值,将所述第一硬件资源调整为第三硬件资源,其中,所述第三硬件资源对应的第三数值范围大于所述第一数值范围。
9.根据权利要求1所述的方法,其中,所述输入数据包括前向输入数据和反向输入数据之一。
10.一种任务执行装置,包括:
第一确定模块,用于根据深度学习模型中目标子模型的输入数据,确定所述目标子模型的仿真输出数据,其中,所述目标子模型包括至少一个目标算子,所述目标子模型对应的目标任务被第一硬件资源执行;
第二确定模块,用于响应于确定所述仿真输出数据未处于所述第一硬件资源对应的第一数值范围,根据所述仿真输出数据,确定第二硬件资源,其中,所述第二硬件资源对应的第二数值范围大于所述第一数值范围;以及
第一执行模块,用于利用所述第二硬件资源执行所述目标任务,以处理所述输入数据,得到所述目标子模型的目标输出数据。
11.根据权利要求10所述的装置,其中,所述第一确定模块包括:
处理子模块,用于利用与所述目标子模型对应的仿真模型处理所述输入数据,得到所述仿真输出数据。
12.根据权利要求11所述的装置,其中,所述仿真模型是根据所述目标子模型的多个历史输入数据和多个历史输出数据确定的。
13.根据权利要求11所述的装置,其中,至少一个所述目标算子为N个,N为大于1的整数,所述仿真模型包括N个仿真子模型,所述仿真子模型对应一个所述目标算子,
所述处理子模块包括:
处理单元,用于利用N个所述仿真子模型处理输入数据,得到N个所述目标算子对应的N个仿真输出子数据,作为所述仿真输出数据。
14.根据权利要求13所述的装置,其中,所述处理单元包括:
第一处理子单元,用于利用第1个所述仿真子模型处理所述输入数据,得到第1个仿真输出子数据;
第二处理子单元,用于利用第n个所述仿真子模型处理第n-1个仿真输出子数据,得到第n个仿真输出子数据,其中,n为大于1且小于或等于N的整数。
15.根据权利要求14所述的装置,其中,所述第二确定模块还用于:
响应于确定第n个所述仿真输出子数据未处于所述第一数值范围,根据第n个所述仿真输出子数据,确定所述第二硬件资源。
16.根据权利要求10所述的装置,还包括:
第二执行模块,用于响应于确定所述仿真输出数据处于所述第一数值范围,利用所述第一硬件资源执行所述目标任务,以处理所述输入数据,得到第一输出数据。
17.根据权利要求16所述的装置,还包括:
调整模块,用于响应于确定所述第一输出数据与所述仿真输出数据的差异大于或等于预设差异阈值,将所述第一硬件资源调整为第三硬件资源,其中,所述第三硬件资源对应的第三数值范围大于所述第一数值范围。
18.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1至9中任一项所述的方法。
19.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1至9中任一项所述的方法。
20.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1至9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311101089.6A CN117271113A (zh) | 2023-08-29 | 2023-08-29 | 任务执行方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311101089.6A CN117271113A (zh) | 2023-08-29 | 2023-08-29 | 任务执行方法、装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117271113A true CN117271113A (zh) | 2023-12-22 |
Family
ID=89201755
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311101089.6A Pending CN117271113A (zh) | 2023-08-29 | 2023-08-29 | 任务执行方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117271113A (zh) |
-
2023
- 2023-08-29 CN CN202311101089.6A patent/CN117271113A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113870334B (zh) | 深度检测方法、装置、设备以及存储介质 | |
CN113705628B (zh) | 预训练模型的确定方法、装置、电子设备以及存储介质 | |
CN115759232B (zh) | 深度学习框架的多任务并行处理方法、装置、设备和介质 | |
CN112862017B (zh) | 点云数据的标注方法、装置、设备和介质 | |
CN114463551A (zh) | 图像处理方法、装置、存储介质及电子设备 | |
US20220113943A1 (en) | Method for multiply-add operations for neural network | |
CN115081630A (zh) | 多任务模型的训练方法、信息推荐方法、装置和设备 | |
CN117271113A (zh) | 任务执行方法、装置、电子设备和存储介质 | |
CN113361621A (zh) | 用于训练模型的方法和装置 | |
CN113012682A (zh) | 误唤醒率确定方法、装置、设备、存储介质和程序产品 | |
CN113361719A (zh) | 基于图像处理模型的增量学习方法和图像处理方法 | |
CN114816758B (zh) | 资源分配方法和装置 | |
CN113407844B (zh) | 小程序框架的版本推荐方法、装置、设备以及存储介质 | |
CN115860077B (zh) | 状态数据的处理方法、装置、设备以及存储介质 | |
CN116629810B (zh) | 基于建筑办公***的操作推荐方法、装置、设备和介质 | |
CN116416500B (zh) | 图像识别模型训练方法、图像识别方法、装置及电子设备 | |
CN114492816B (zh) | 量子态处理方法、计算设备、计算装置及存储介质 | |
CN113011494B (zh) | 一种特征处理方法、装置、设备以及存储介质 | |
CN113360407B (zh) | 函数的定位方法、装置、电子设备及可读存储介质 | |
JP2023103419A (ja) | 演算方法、装置、チップ、電子機器及び記憶媒体 | |
CN115878783A (zh) | 文本处理方法、深度学习模型训练方法以及样本生成方法 | |
CN116384466A (zh) | 深度学习模型的多算子并行处理方法、装置、设备和介质 | |
CN118051264A (zh) | 一种矩阵处理方法、装置、电子设备和存储介质 | |
CN116090472A (zh) | 文本处理模型的训练方法、确定语义信息的方法及装置 | |
CN116795771A (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 |