CN114936631B - 一种模型处理方法及装置 - Google Patents
一种模型处理方法及装置 Download PDFInfo
- Publication number
- CN114936631B CN114936631B CN202110454504.0A CN202110454504A CN114936631B CN 114936631 B CN114936631 B CN 114936631B CN 202110454504 A CN202110454504 A CN 202110454504A CN 114936631 B CN114936631 B CN 114936631B
- Authority
- CN
- China
- Prior art keywords
- operator
- machine learning
- model
- learning model
- graph
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 24
- 238000010801 machine learning Methods 0.000 claims abstract description 150
- 238000012549 training Methods 0.000 claims abstract description 71
- 238000000034 method Methods 0.000 claims abstract description 61
- 238000012545 processing Methods 0.000 claims description 187
- 238000004364 calculation method Methods 0.000 claims description 48
- 238000003860 storage Methods 0.000 claims description 23
- 230000015654 memory Effects 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 14
- 238000013528 artificial neural network Methods 0.000 claims description 7
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 238000013473 artificial intelligence Methods 0.000 abstract description 17
- 238000010586 diagram Methods 0.000 description 31
- 230000008569 process Effects 0.000 description 30
- 238000013461 design Methods 0.000 description 27
- 230000006870 function Effects 0.000 description 19
- 230000003068 static effect Effects 0.000 description 19
- 238000004891 communication Methods 0.000 description 8
- 238000005457 optimization Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000009826 distribution Methods 0.000 description 4
- 230000004927 fusion Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 238000003909 pattern recognition Methods 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical compound OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000011217 control strategy Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000007788 liquid Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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/04—Architecture, e.g. interconnection topology
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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
-
- 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
- G06N3/084—Backpropagation, e.g. using gradient descent
Abstract
本申请提供了人工智能领域中的一种模型处理方法及装置。本申请用于解决现有的AI框架不够灵活的问题。该方法主要包括:获取机器学习模型;机器学习模型中包括标识位;确定机器学习模型中第一算子的算子队列;第一算子为机器学习模型中与标识位对应的算子;确定算子队列的第一计算图;根据第一计算图训练机器学习模型。本申请应用于训练机器学习模型。
Description
技术领域
本申请实施例涉及人工智能技术领域,尤其涉及一种模型处理及装置。
背景技术
随着机器学习技术的发展,人工智能(artificial intelligence,AI)被越来越多的应用在各种场景中。人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能领域的研究包括机器人,自然语言处理,计算机视觉,决策与推理,人机交互,推荐与搜索,AI基础理论等。
目前,常见的AI框架可包括:动态图方式构建的AI框架(如PyTorch框架)和静态图方式构建的AI框架(如Tensor Flow框架)。
其中,动态图方式构建的AI框架依赖于命令式编程。在运行时先确定机器学习模型(以下简称“模型”)中所包括算子分别对应的算子的计算图。然后在模型训练过程中,在根据算子的计算图构建模型的计算图,以训练模型。
静态图方式构建的AI框架依赖于声明式编程。在运行时,先根据模型中所包括算子,生成整个模型的计算图,并通过算子融合等手段对计算图进行优化。然后根据优化后的模型的计算图执行训练模型。
可以看出,一方面,动态图方式构建的AI框架中,模型处理中每一步的中间结果都是可见的,具有“所见即所得”的特点。因此,动态图方式构建的AI框架便于使用、调试,易用性更高。另一方面,静态图方式构建的AI框架中,可以对模型的计算图进行优化,并且不需要在模型训练过程中构建模型的计算图,因此运行效率更高。
因此,在实际应用中,若为了使系统的易用性更高,可以采用动态图方式构建AI框架,但这样会使系统的运行效率降低;若为了使系统的运行效率更高,可以采用静态图方式构建AI框架,但这样会降低系统的易用性。也就是说,现有的AI框架不够灵活,在实际应用中只能在易用性和运行效率中选择一个来满足,无法兼顾易用性和运行效率的双重需求。
发明内容
本申请实施例提供一种模型处理方法及装置,用于解决现有的AI框架不够灵活的问题。
为了达到以上目的,本申请实施例提供一下技术方案:
第一方面,本申请实施例提供一种模型处理方法,包括:获取机器学习模型,该机器学习模型中包括标识位。确定机器学习模型中第一算子的算子队列,其中第一算子为机器学习模型中与标识位对应的算子。确定算子队列的第一计算图。根据第一计算图训练机器学习模型。上述方法中,通过在机器学习模型中设置标识位,进而能够根据标识位确定第一算子(即标识位对应的算子)的算子队列,并确定该算子队列的第一计算图,以便根据第一计算图训练机器学习模型。这样一来,一方面,可以根据上述方法中确定的第一计算图训练机器学习模型,不需要在训练模型过程中再对算子队列中包括的算子构建计算图,达到对于算子队列中的算子采用静态图构建AI框架的效果,从而保障了系统的运行效率。另一方面,其他没有标识位的算子,可以采用其他方式构建AI框架(例如采用动态图方式构建AI框架),以保证模型训练过程的灵活性,避免现有技术中为了保障系统的运行效率只能对整个模型采用静态图构建AI框架的这一方式,所带来的易用性较差的问题。
在一种可能的设计中,根据第一计算图训练机器学习模型,包括:向处理设备发送第一计算图,用于处理设备根据第一计算图训练机器学习模型。通过上述设计,能够将模型训练的任务由处理设备执行,使方案实现过程更加灵活。
在一种可能的设计中,该方法还包括:确定第二算子的第二计算图,第二算子为机器学习模型中除第一算子外的算子。根据第一计算图训练机器学习模型,包括根据第一计算图和第二计算图训练机器学习模型。上述设计中,通过对机器学习模型中没有被标识位标记的算子,采用构建单个算子的计算图并在模型训练过程中根据该第二计算图训练模型,从而达到了对于机器学习模型中没有被标识位标记的算子采用动态图构建AI框架的效果,从而保障了系统的易用性。
在一种可能的设计中,根据第一计算图和第二计算图训练机器学习模型,包括:向处理设备发送第一计算图和第二计算图,用于处理设备根据第一计算图和第二计算图训练所述机器学习模型。
在一种可能的设计中,处理设备为中央处理器CPU、图像处理器GPU、神经网络处理器NPU或张量处理器TPU中任一项。上述设计中,本申请实施例能够应用于各种不同种类的模型训练的处理器,以在应用不同种类的处理器的场景下,达到提高AI框架灵活性的效果。
在一种可能的设计中,机器学习模型包括N个模型层,N为正整数。该方法中,确定机器学习模型中第一算子的算子队列,包括:将机器学习模型的N个模型层转换为多个算子。从转换得到的多个算子中,确定标识位对应的模型层对应的第一算子,得到第一算子的算子队列。换句话讲,在将机器学习模型的N个模型层转换为多个算子后,这多个算子就可以构成机器学习模型的算子流。然后从机器学习模型的算子流中,可以确定标识位对应的模型层对应的第一算子,得到第一算子的算子队列。通过上述设计,可以在分层架构的机器学习模型中,确定出第一算子的算子队列,以便于后续确定算子队列的第一计算图并根据第一计算图训练模型。
在一种可能的设计中,标识位包括第一标识位和第二标识位。第一算子具体为:机器学习模型中第一标识位与第二标识位之间的算子。通过上述设计,能够便于开发人员在编写机器学习模块程序代码时,设置需要构建静态图AI框架的第一算子。例如,当需要对算子流中特定算子队列构建静态图AI框架时,通过在该特定算子队列的两端添加第一标识位和第二标识位,即可达到目的。
在一种可能的设计中,上述方法中确定算子队列第一计算图,包括:根据算子队列,构建算子队列对应的第三计算图。利用图引擎优化第三计算图,得到第一计算图。通过上述设计,能够在训练模型时,根据优化后的第一计算图训练模型,避免在训练模型过程中因为优化计算图而消耗资源,提高模型训练过程的效率。
第二方面,本申请实施例提供一种模型处理装置,包括:获取单元,用于获取机器学习模型;机器学习模型中包括标识位。处理单元,用于确定机器学习模型中第一算子的算子队列;第一算子为机器学习模型中与标识位对应的算子。处理单元,还用于确定算子队列的第一计算图。训练单元,用于根据第一计算图训练机器学习模型。
在一种可能的设计中,训练单元,用于根据第一计算图训练机器学习模型,包括:训练单元,具体用于向处理设备发送第一计算图,用于处理设备根据第一计算图训练机器学习模型。
在一种可能的设计中,所述处理单元,还用于确定第二算子的第二计算图,所述第二算子为所述机器学习模型中除所述第一算子外的算子。训练单元,用于根据所述第一计算图训练所述机器学习模型,包括:所述训练单元,具体用于根据所述第一计算图和所述第二计算图训练所述机器学习模型。
在一种可能的设计中,所述训练单元,具体用于根据所述第一计算图和所述第二计算图训练所述机器学习模型,包括:所述训练单元,具体用于向处理设备发送所述第一计算图和所述第二计算图,用于所述处理设备根据所述第一计算图和所述第二计算图训练所述机器学习模型。
在一种可能的设计中,所述处理设备为中央处理器CPU、图像处理器GPU、神经网络处理器NPU或张量处理器TPU中任一项。
在一种可能的设计中,机器学习模型包括N个模型层,N为正整数;处理单元,用于确定机器学习模型中第一算子的算子队列,包括:处理单元,具体用于将机器学习模型的N个模型层转换为多个算子。处理单元,具体用于从转换得到的多个算子中,确定标识位对应的模型层对应的第一算子,得到第一算子的算子队列。
在一种可能的设计中,标识位包括第一标识位和第二标识位。第一算子具体为:机器学习模型中第一标识位与第二标识位之间的算子。
在一种可能的设计中,处理单元,用于确定算子队列的第一计算图,包括:处理单元,具体用于根据算子队列,构建算子队列对应的第三计算图。处理单元,具体用于利用图引擎优化第三计算图,得到第一计算图。
第三方面,本申请实施例提供一种模型处理装置,该模型处理装置包括一个或多个处理器,一个或多个处理器和一个或多个存储器耦合,一个或多个存储器存储有计算机程序;当一个或多个处理器执行计算机程序时,使得模型处理装置执行如第一方面或第一方面中任一设计所提供的模型处理方法。
第四方面,本申请实施例提供一种芯片,其特征在于,芯片包括处理电路和接口,处理电路用于从存储介质中调用并运行存储介质中存储的计算机程序,以执行如第一方面或第一方面中任一设计所提供的模型处理方法。
第五方面,本申请实施例提供一种计算机可读存储介质,其特征在于,计算机可读存储介质中存储有指令或代码,当指令或代码在计算机上运行时,使得计算机执行如第一方面或第一方面中任一设计所提供的模型处理方法。
第六方面,本申请实施例提供一种计算机程序产品,其特征在于,计算机程序产品包括指令,当计算机程序产品在计算机上运行时,使得计算机执行如第一方面或第一方面中任一设计所提供的模型处理方法。
其中,第二方面至第六方面的技术效果可以参见上述第一方面中不同实现方式所带来的技术效果,再次不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种人工智能主体框架示意图;
图2为本申请实施例提供的一种AI框架的示意图之一;
图3为本申请实施例提供的一种AI框架的示意图之二;
图4为本申请实施例提供的一种模型处理装置的结构示意图之一;
图5为本申请实施例提供的一种模型处理方法的流程示意图之一;
图6为本申请实施例提供的一种AI框架的示意图之三;
图7为本申请实施例提供的一种模型处理方法的流程示意图之二;
图8为本申请实施例提供的一种机器学习模型转换为算子流的示意图;
图9为本申请实施例提供的一种模型处理装置的结构示意图之二。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。同时,在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念,便于理解。
首先,对本申请实施例涉及的相关技术进行介绍:
图1示出一种人工智能主体框架示意图,该主体框架描述了人工智能系统总体工作流程,适用于通用的人工智能领域需求。
下面从“智能信息链”(水平轴)和“IT价值链”(垂直轴)两个维度对上述人工智能主题框架进行阐述。
“智能信息链”反映从数据的获取到处理的一列过程。举例来说,可以是智能信息感知、智能信息表示与形成、智能推理、智能决策、智能执行与输出的一般过程。在这个过程中,数据经历了“数据—信息—知识—智慧”的凝练过程。
“IT价值链”从人智能的底层基础设施、信息(提供和处理技术实现)到系统的产业生态过程,反映人工智能为信息技术产业带来的价值。
(1)基础设施
基础设施为人工智能系统提供计算能力支持,实现与外部世界的沟通,并通过基础平台实现支撑。通过传感器与外部沟通;计算能力由智能芯片(CPU、NPU、GPU、ASIC、FPGA等硬件加速芯片)提供;基础平台包括分布式计算框架及网络等相关的平台保障和支持,可以包括云存储和计算、互联互通网络等。举例来说,传感器和外部沟通获取数据,这些数据提供给基础平台提供的分布式计算系统中的智能芯片进行计算。
(2)数据
基础设施的上一层的数据用于表示人工智能领域的数据来源。数据涉及到图形、图像、语音、文本,还涉及到传统设备的物联网数据,包括已有系统的业务数据以及力、位移、液位、温度、湿度等感知数据。
(3)数据处理
数据处理通常包括数据训练,机器学习,深度学习,搜索,推理,决策等方式。
其中,机器学习和深度学习可以对数据进行符号化和形式化的智能信息建模、抽取、预处理、训练等。
本申请实施例主要用于数据处理部分中,用于在对机器学习模型进行训练之前构建AI框架,并进行模型训练的方法。
推理是指在计算机或智能系统中,模拟人类的智能推理方式,依据推理控制策略,利用形式化的信息进行机器思维和求解问题的过程,典型的功能是搜索与匹配。
决策是指智能信息经过推理后进行决策的过程,通常提供分类、排序、预测等功能。
(4)通用能力
对数据经过上面提到的数据处理后,进一步基于数据处理的结果可以形成一些通用的能力,比如可以是算法或者一个通用系统,例如,翻译,文本的分析,计算机视觉的处理,语音识别,图像的识别等等。
(5)智能产品及行业应用
智能产品及行业应用指人工智能系统在各领域的产品和应用,是对人工智能整体解决方案的封装,将智能信息决策产品化、实现落地应用,其应用领域主要包括:智能制造、智能交通、智能家居、智能医疗、智能安防、自动驾驶,平安城市,智能终端等。
目前,常见的AI框架可包括:动态图方式构建的AI框架和静态图方式构建的AI框架。但是,无论是采用动态图方式构建的AI框架还是静态图方式构建的AI框架,都无法做到兼顾易用性和运行效率的双重需求。
具体的,以比较著名的动态图AI框架PyTorch为例。如图2所示,在处理模型的过程中,各种PyTorch模型(如分类、检测、分割、语音等PyTorch模型)先经过PyTorch解析、调用、分发,被拆解成若干个算子(如图中OP1,OP2…OP M,OP M+1,OP M+2…OP N)组成的算子流;然后将算子流中的算子通过Python分发、ATen算子库调用,映射到该算子的适配层(OPWrapper)。然后,针对不同处理设备(如图像处理器(graphics processing unit,GPU)、神经网络处理器(neural network processing unit,NPU)、张量处理器(tensor processingunit,TPU)或中央处理器(central processing unit,CPU)等),OP Wrapper采用不同的算子调用路径,将算子的计算图通过异步调用的流程,分别下发到处理设备侧的流中。例如,图2中,当处理设备为NPU时,OP Wrapper可以调用图引擎(graph engine,GE)、融合引擎(fusion engine,FE),通过请求发送接口(request to send,RTS)将算子下发到设备侧的流中,以执行算子的异步流操作;当处理设备为GPU时,OP Wrapper可以调用统一计算设备架构(compute unified device architecture,CUDA)将算子下发到设备侧的流中,以执行算子的异步流操作。从而完成整个模型的训练、推理等操作。
可以看出,在动态图AI框架PyTorch的模型处理过程中,各算子分别通过调用流程下发至设备侧的流中,每个算子的中间结果都是可见的。因此,一方面,动态图方式构建的AI框架便于使用、调试,易用性更高。但另一方面,由于动态图AI框架中,没有基于模型的构图和优化过程,处理设备在训练模型时需要重新构建模型的计算图。因此动态图AI框架有一定的性能损耗,运行效率低。
为了对PyTorch模型进行静态图构建和优化,以提高运行效率。一种可能方式中,可以通过在AI框架中集成加速线性代数(accelerated linear algebra,XLA)编译框架,以实现对PyTorch模型的静态图构建和优化。其中,XLA定义了一套高级中间表示(intermediate representation,IR)—高级优化器(high level optimizer,HLO)。
具体的,当在AI框架中集成XLA编译框架后,模型的运行过程如图3所示:首先,将Pytorch模型拆解成算子流,然后将算子流转换为HLO表示的计算图,然后调用XLA内部的计算图融合等优化流程,构建模型的计算图。之后,将构建的计算图下发至处理设备(如CPU、GPU、NPU或TPU等)中,以完成整个模型的训练、推理等操作。
可以看出,一方面,在AI框架中集成XLA编译框架后,可以实现在PyTorch框架中构建基于整个模型的计算图,再下发至处理设备(即构建静态计算图)。这样可以在AI框架内实现静态计算图的优化,提高运行效率。但是,另一方面,在AI框架中集成XLA编译框架后,核心的执行步骤(包括算子的调用、下发等)由XLA编译框架执行,XLA的应用程序接口(Application Programming Interface,API)、调用、调试流程与原生PyTorch无法灵活切换、调节和优化,并且只能针对整个模型优化计算图,无法灵活选择相应的部分模型进行计算图优化,也无法对模型处理过程中各步骤的中间结果进行检查,不便于AI框架的使用、调试,易用性降低。
针对上述情况,本申请实施例提供一种模型处理方法,以兼顾AI框架的易用性和运行效率。
图4示出本申请实施例提供的一种模型处理装置,在具体实施过程中本申请实施例所提供的模型处理方法可以由图4所示模型处理装置10来实现。其中,其中,模型处理装置10包括:至少一个处理器101以及存储器102。另外,模型处理装置10还可以包括通信线路103以及通信接口104。
其中,处理器101用于执行存储器102中的计算机执行指令,以实现本申请所提供的模型处理方法。
具体的,处理器101可以是一个通用中央处理器(central processing unit,CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。在一些实现方式中,可以利用处理器101训练机器学习模型,此时可以理解为由模型处理装置可以完成机器学习模型的训练过程。在另一些实现方式中,模型处理装置可以将确定的计算图(如下文中算子队列的第一计算图和单个算子的第二计算图)发送至模型处理装置之外的处理设备(例如CPU、GPU、NPU或TPU等等),以由处理设备训练机器学习模型。
存储器102可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过通信线路103与处理器相连接。存储器也可以和处理器集成在一起。
通信线路103可以包括数据总线,用于在上述组件之间传送信息。
通信接口104,用于与其他装置进行通信。例如,当机器学习模型的训练过程由处理设备执行的情况下,模型处理装置可以通过通信接口104与CPU、GPU、NPU或TPU等处理设备通信,以实现将计算图下发至处理设备的流中,以便处理设备完成机器学习模型的训练、推理等操作。
在具体实施时,本申请中描述的模型处理装置10可以是个人计算机、便携式电子设备、服务器等各类电子设备,也可以是电子设备的部件(例如电子设备的处理器或芯片等),也可以是能够实现全部或部分电子设备功能的逻辑模块或软件,还可以是前述逻辑模块或软件与前述部件的结合。
在一些应用场景中,本申请实施例所描述的模型处理装置的硬件结构可以是分布式部署,此时该模型处理装置包括一个或多个计算机节点,该模型处理装置包括的不同硬件部件或软件模块可以部署在不同的计算机节点上,以执行本申请实施例提供的模型处理方法。
以下以上述模型处理装置为例,对本申请实施例所提供模型处理方法进行介绍。如图5所示,该方法可以包括:
S201、模型处理装置获取机器学习模型。
例如,可以通过模型处理装置获取用户输入的机器学习模型的程序代码的方式,或者通过模型处理装置接收其他设备发送的机器学习模型的程序代码的方式,获取机器学习模型。
示例性的,本申请实施例中的机器学习模型,可以是由He-Kaiming、Ren-Shaoqing和Sun-Jian等学者在2015年提出的残差网络(resnet);或者可以是由牛津大学计算机视觉组(visual geometry group)和Google DeepMind公司的研究员于2014年提出的VGG;或者可以是2017年IEEE国际计算机视觉与模式识别会议(IEEE conference on computervision and pattern recognition 2017,CVPR 2017)上提出的DenseNet;或者可以是Joseph Redmon等研究人员于2016年提出的YOLO;或者可以是2016年欧洲计算机视觉国际会议(European Conference on Computer Vision 2016,ECCV2016)上提出的SSD;或者可以何凯明等研究人员在2015年提出的Faster RCNN,或在Faster RCNN基础上改进的MaskRCNN;或者可以是于Google公司于2017年提出的Transformer;或者可以是Google公司在2018年提出的一种NLP模型—Bert;或者可以是1997年提出的长短期记忆网络(Long-ShortTerm Memory,LSTM);或者可以是门控循环单元(Gate Recurrent Unit,GRU)等等。
再示例性的,本申请实施例中的机器学习模型可以为用于事物分类、事物检测、内容分割或语音、图像识别等各场景下的机器学习模型。
也就是说,具体的,本申请实施例中,对机器学习模型的类型可以不做限制。
另外,该机器学习模型中包括标识位。
示例性的,开发人员在输入该机器学习模型的程序代码时,可以在特定位置(例如需要构建静态图的算子对应的程序代码位置)添加该标识位,以便进行该方法的后续处理。
其中,标识位具体可以为预设的一种或多种字符,对于标识位的具体形式本申请可以不做限制。
S202、模型处理装置确定该机器学习模型中第一算子的算子队列。
其中,第一算子为机器学习模型中与标识位对应的算子。
本申请实施例中算子可以理解为一个运算操作。具体的,机器学习模型可以拆解成若干个运算操作,即拆解成若干个算子组成的算子流。
示例性的,如图6所示,为本申请实施例所提供方法在结合PyTorch框架后的具体实现过程的流程示意图。其中,经过PyTorch解析、调用和分发等处理过程,机器学习模型被拆解为算子OP1,OP2…OP M,OP M+1,OP M+2…OP N组成的算子流。
在一种实现方式中,为了便于确定机器学习模型中与标识位对应的算子,本申请实施例中,标识位可以包括第一标识位和第二标识位。第一算子为机器学习模型中第一标识位与第二标识位之间的算子。
示例性的,图6中机器学习模型的算子流中,OP M之前设有第一标识位(GraphTrigger),OP M+2之后设有第二标识位(Graph End),则可以确定标识位对应的第一算子包括OP M、OP M+1和OP M+2。即算子队列中包括算子OP M、OP M+1和OP M+2。
需要说明的是,图6中示例性的以Graph Trigger信号和Graph End信号分别作为第一标识位和第二标识位进行说明,在实际实施中第一标识位和第二标识位所采用的字符内容,可以根据需要设置,对此本申请可以不做限制。
另外,上述设计中采用了利用第一标识位和第二标识位来标记算子的方式,以便确定标识位对应的算子。在另一些设计中,也可以采用其他方式标记算子。例如,预设标记位可以为一种预设信号,标识位对应的算子可以为从该预设信号开始直至模型结束的算子。本申请实施例中对于标识位的具体形式可以不做限制。
在一种实现方式中,在实际实施中,模型处理装置可以构建一个用于存储算子队列的缓存区域。例如,模型处理装置在机器学习模型中检测到第一标识位后,开始将第一标识位之后的模型层对应的算子存入在缓存区域内,直至第二标识位之前的最后一个模型层的最后一个算子存入缓存区域,即得到上述算子队列。
示例性的,如图6中,对于标识位对应的第一算子OP M、OP M+1和OP M+2,在通过Python分发、ATEN算子库调用,映射到OP Wrapper后,按照调用顺序将OP M、OP M+1和OP M+2存储到缓存区域OP Queue中,得到算子队列。
S203、模型处理装置确定算子队列的第一计算图。
本申请实施例中计算图可以理解为一种用来描述运算的有向无环图。在计算图中,可以用节点表示数据,如向量、矩阵或张量等;可以用节点间的连边表示运算,如加、减、乘、除或卷积等。
本领域技术人员易理解的是,本申请实施例中,为了便于理解将计算图描述为一种有向无环图,但计算图本质是对运算之间的逻辑关系的描述。在实际实施过程中模型处理装置中计算图通常以代码形式存在,而不需要以图片格式文件存在。
另外,本申请实施例中算子队列的计算图,可以理解为根据算子队列中所包括算子,构建的用于描述整个算子队列(即从算子队列中起始的算子到结束的算子)所包含运算的计算图。
在一种实现方式中,在确定算子队列的第一计算图的过程中,可以通过对算子队列的计算图进行优化,得到运行效率更高的计算图,从而提高系统的运行效率。因此,S203具体可以包括:
S2031、模型处理装置根据算子队列,构建算子队列对应的第三计算图。
其中,第三计算图可以是模型处理装置根据算子队列,构建的一个初始的计算图。
S2032、模型处理装置利用图引擎GE优化第三计算图,得到第一计算图。
例如,模型处理装置可以调用GE,根据后端模型训练过程所采用的处理器(例如CPU、GPU、NPU或TPU等等)的特性,对第三计算图中的节点进行合并、拆分等处理,以使优化后的第一计算图与后端的模型训练过程更匹配,提高训练模型的运行效率。
示例性的,如图6中,当最后一个第一算子缓存到OP Queue中时,模型处理装置可以通过调用GE来构建算子队列的初始的计算图(即第三计算图)并对初始的计算图进行优化,得到算子队列的第一计算图。
S204、模型处理装置根据第一计算图训练机器学习模型。
在一种实现方式中,模型处理装置可以利用模型处理装置中用于数据处理的功能模块,根据第一计算图训练机器学习模型。例如,如图4中,模型处理装置20利用处理器201,根据第一计算图训练机器学习模型。这种实现方式可以理解为,将模型处理装置从硬件或软件上划分成两个模块。其中,一个模块(下文简称为“第一模块”)用于执行将模型转换为算子,构建计算图等过程,具体的第一模块可以用于执行上述S201-S203以及下文中S205的内容,另一个模块(下文简称为“第二模块”)用于训练机器学习模型,具体的第一模块可以用于执行S204。或者说,该实现方式中,在第二模块开始进行机器学习模块训练之前,第一模块会先确定第一计算图,以便第二模块可以利用该第一计算图训练模型,避免在训练模型时消耗性能以构建计算图。
在另一种实现方式中,为了提高效率,还可以通过模型处理装置将第一计算图发送至专门的处理设备,以便处理设备训练机器学习模型。
因此,上述S204可以包括:
模型处理装置向处理设备发送第一计算图,用于处理设备根据第一计算图训练机器学习模型。
其中,处理设备可以为用于训练机器学习模块的各种硬件设备或芯片。在一些实现方式中,处理设备可以为CPU、GPU、NPU或TPU中任一项。当然,在另一些实现方式中,处理设备也可以是除前述处理器之外的其他芯片或设备。
示例性的,如图6中,模型处理装置通过调用GE得到算子队列的第一计算图后,调用FE优化内存管理(runtime),并通过RTS将第一计算图下发到处理设备,以便处理设备根据第一计算图训练机器学习模块。
上述方法中,通过在机器学习模型中设置标识位,进而能够根据标识位确定第一算子(即标识位对应的算子)的算子队列,并确定该算子队列的第一计算图,以便根据第一计算图训练机器学习模型。这样一来,一方面,可以根据上述方法中确定的第一计算图训练机器学习模型,不需要在训练模型过程中再对算子队列中包括的算子构建计算图,达到对于算子队列中的算子采用静态图构建AI框架的效果,从而保障了系统的运行效率。另一方面,其他没有标识位的算子,可以采用其他方式构建AI框架(例如采用动态图方式构建AI框架),以保证模型训练过程的灵活性,避免现有技术中为了保障系统的运行效率只能对整个模型采用静态图构建AI框架的这一方式,所带来的易用性较差的问题。
在一种实现方式中,对于机器学习模型中没有被标识位标记的的算子,可以构建算子的动态图以训练模型,从而保障了系统的易用性。
因此,如图7所示,该方法还包括:
S205、模型处理装置确定第二算子的第二计算图。
其中,第二算子为机器学习模型中除第一算子外的算子。
示例性的,如图6中,对于第一算子OP M、OP M+1和OP M+2外的第二算子,在通过Python分发、ATEN算子库调用,映射到OP Wrapper后,模型处理装置可以通过调用GE来进行第二算子的计算图构建、优化和融合等操作,得到第二算子的第一计算图。
进一步的,上述S204,包括:
S204a、模型处理装置根据第一计算图和第二计算图训练机器学习模型。
其中,在一种实现方式中,模型处理装置可以利用模型处理装置中用于数据处理的功能模块,根据第一计算图和第二计算图训练机器学习模型。具体的,利用模型处理装置中用于数据处理的功能模块,根据第一计算图和第二计算图训练机器学习模型的实现过程,可参照上文S204中的描述,重复之处不再赘述。
另一种实现方式中,为了提高效率,还可以通过模型处理装置将第一计算图发送至专门的处理设备,以便处理设备训练机器学习模型。因此,上述S204a,包括:
模型处理装置向处理设备发送第一计算图和第二计算图,用于处理设备根据第一计算图和第二计算图训练机器学习模型。
示例性的,如图6中,一方面,如上文描述,模型处理装置通过调用GE得到算子队列的第一计算图后,调用FE优化内存管理(runtime),并通过RTS将第一计算图下发到处理设备;另一方面,模型处理装置在通过调用GE得到第二算子的第二计算图后,调用FE优化runtime,并通过RTS将第二计算图下发到处理设备,然后处理设备在接收到第一计算图和第二计算图后根据第一计算图和第二计算图训练机器学习模块。
在一种实现方式中,本申请实施例中,机器学习模型可以为分层架构,也就是说机器学习模型可以分为N个模型层,其中N为正整数。因此,在S202中,模型处理装置可以通过以下步骤确定该机器学习模型中第一算子的算子队列:
S2021、模型处理装置将机器学习模型的N个模型层转换为多个算子。
其中,将机器学习模型的N个模型层转换为的多个算子(这多个算子可以构成机器学习模型的算子流)中,可以包括N个模型层中各模型层转换为的算子,其中机器学习模型中一个模型层可以转换为一个或多个算子。以机器学习模型为计算机视觉(computervision,CV)模型为例,如图8所示,CV模型可以包括多个模型层,如卷积(convolution,Conv)层,批归一化(batch normalize,BN)层,池化(pooling)层以及损失函数(lossfunction)等。其中,对于各模型层可以转换为一个或多个算子,例如一个卷积层可以转换为一个或多个卷积算子,进而在依次将模型层转换为算子后,即可得到机器学习模型的算子流(如图中OP1,OP2,OP3,OP4…OP M,OP M+1,OP M+2…OP N-2,OP N-1,OP N)。
S2022、模型处理装置从转换得到的多个算子中,确定标识位对应的模型层对应的第一算子,得到第一算子的算子队列。
示例性的,根据标识位在机器学习模型的程序代码中的位置,可以确定标识位对应的模型层,进而确定该模型层对应的算子(即第一算子),进而得到第一算子的算子队列。其中,算子队列中算子的个数,可以由标识位对应的模型层所包括的算子个数确定。例如,图8中机器学习模型中在第一个Pooling层与第二个Conv层之间设有第一标识位(GraphTrigger),损失函数之前设有第二标识位(Graph End),则可以确定标识位对应的模型层包括从第二个Conv层到损失函数之前的模型层。进而,第一算子包括从第二个Conv层到损失函数之前的模型层对应的算子,如图中从OP 4至OP N-2之间的算子。
可以理解的是,上述模型处理装置为了实现对应的功能,其包括了执行各功能相应的硬件结构和/或软件模块。本申请实施例根据上述方法示例对模型处理装置进行功能模块的划分。例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。可选的,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
如图9所示,为本申请实施例提供的一种模型处理装置的组成示意图。该模型处理装置30可以是芯片或片上系统。该模型处理装置30也可以是一个包括一个或多个计算机节点的分布式系统,该模型处理装置包括的不同硬件部件或软件模块可以部署在不同的计算机节点上,以执行本申请实施例提供的模型处理方法。该模型训练装置30还可以是能够实现上述模型处理方法的软件功能,或者是在平台(例如云平台)上实例化的虚拟化功能。该模型训练装置30可以用于执行上述实施例中所提供的模型训练方法。作为一种实现方式,该模型训练装置30可以包括:
获取单元301,用于获取机器学习模型。其中,机器学习模型中包括标识位。
处理单元302,用于确定机器学习模型中第一算子的算子队列。第一算子为机器学习模型中与标识位对应的算子。
处理单元302,还用于确定算子队列的第一计算图。
训练单元303,用于根据第一计算图训练机器学习模型。
可选的,训练单元303,用于根据第一计算图训练机器学习模型,包括:
训练单元303,具体用于向处理设备发送第一计算图,用于处理设备根据第一计算图训练机器学习模型。
处理单元302,还用于确定第二算子的第二计算图,第二算子为机器学习模型中除第一算子外的算子;
训练单元303,用于根据第一计算图训练机器学习模型,包括:训练单元,具体用于根据第一计算图和第二计算图训练机器学习模型。
可选的,训练单元303,具体用于根据第一计算图和第二计算图训练机器学习模型,包括:
训练单元303,具体用于向处理设备发送第一计算图和第二计算图,用于处理设备根据第一计算图和第二计算图训练机器学习模型。
可选的,处理设备为中央处理器CPU、图像处理器GPU、神经网络处理器NPU或张量处理器TPU中任一项。
可选的,机器学习模型包括N个模型层,N为正整数。
处理单元302,用于确定机器学习模型中第一算子的算子队列,包括:
处理单元302,具体用于将机器学习模型的N个模型层转换为多个算子。
处理单元302,具体用于从转换得到的多个算子中,确定标识位对应的模型层对应的第一算子,得到第一算子的算子队列。
可选的,标识位包括第一标识位和第二标识位。第一算子具体为:机器学习模型中第一标识位与第二标识位之间的算子。
可选的,处理单元302,用于确定算子队列的第一计算图,包括:
处理单元302,具体用于根据算子队列,构建算子队列对应的第三计算图。
处理单元302,具体用于利用图引擎优化第三计算图,得到第一计算图。
本申请实施例还提供一种芯片,该芯片包括处理电路和接口,处理电路用于从存储介质中调用并运行存储介质中存储的计算机程序,以执行上述模型处理方法。
本申请实施例还提供一种计算机可读存储介质,其特征在于,该计算机可读存储介质中存储有指令或代码,当该指令或代码在计算机上运行时,使得计算机执行上述模型处理方法。
本申请实施例还提供一种计算机程序产品,其特征在于,该计算机程序产品包括指令,当该计算机程序产品在计算机上运行时,使得计算机执行上述模型处理方法。
在上述实施例中的功能或动作或操作或步骤等,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包括一个或多个可以用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
尽管结合具体特征及其实施例对本申请进行了描述,显而易见的,在不脱离本申请的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本申请的示例性说明,且视为已覆盖本申请范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包括这些改动和变型在内。
Claims (17)
1.一种模型处理方法,其特征在于,包括:
获取机器学习模型,所述机器学习模型中包括标识位;所述机器学习模型包括N个模型层,N为正整数;
将所述机器学习模型的所述N个模型层转换为多个算子;
从转换得到的所述多个算子中,确定所述标识位对应的模型层对应的第一算子,得到所述第一算子的算子队列;
确定所述算子队列的第一计算图;
根据所述第一计算图训练所述机器学习模型。
2.根据权利要求1所述的方法,其特征在于,根据所述第一计算图训练所述机器学习模型,包括:
向处理设备发送所述第一计算图,用于所述处理设备根据所述第一计算图训练所述机器学习模型。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定第二算子的第二计算图,所述第二算子为所述机器学习模型中除所述第一算子外的算子;
所述根据所述第一计算图训练所述机器学习模型,包括:
根据所述第一计算图和所述第二计算图训练所述机器学习模型。
4.根据权利要求3所述的方法,其特征在于,所述根据所述第一计算图和所述第二计算图训练所述机器学习模型,包括:
向处理设备发送所述第一计算图和所述第二计算图,用于所述处理设备根据所述第一计算图和所述第二计算图训练所述机器学习模型。
5.根据权利要求2或4所述的方法,其特征在于,所述处理设备为中央处理器CPU、图像处理器GPU、神经网络处理器NPU或张量处理器TPU中任一项。
6.根据权利要求1-4任一项所述的方法,其特征在于,所述标识位包括第一标识位和第二标识位;
所述第一算子具体为:所述机器学习模型中所述第一标识位与所述第二标识位之间的算子。
7.根据权利要求1-4任一项所述的方法,其特征在于,所述确定所述算子队列第一计算图,包括:
根据所述算子队列,构建所述算子队列对应的第三计算图;
利用图引擎优化所述第三计算图,得到所述第一计算图。
8.一种模型处理装置,其特征在于,包括:
获取单元,用于获取机器学习模型,所述机器学习模型中包括标识位;所述机器学习模型包括N个模型层,N为正整数;处理单元,用于将所述机器学习模型的所述N个模型层转换为多个算子;
所述处理单元,还用于从转换得到的所述多个算子中,确定所述标识位对应的模型层对应的第一算子,得到所述第一算子的算子队列;
所述处理单元,还用于确定所述算子队列的第一计算图;
训练单元,用于根据所述第一计算图训练所述机器学习模型。
9.根据权利要求8所述的模型处理装置,其特征在于,所述训练单元,用于根据所述第一计算图训练所述机器学习模型,包括:
所述训练单元,具体用于向处理设备发送所述第一计算图,用于所述处理设备根据所述第一计算图训练所述机器学习模型。
10.根据权利要求8所述的模型处理装置,其特征在于,
所述处理单元,还用于确定第二算子的第二计算图,所述第二算子为所述机器学习模型中除所述第一算子外的算子;
所述训练单元,用于根据所述第一计算图训练所述机器学习模型,包括:所述训练单元,具体用于根据所述第一计算图和所述第二计算图训练所述机器学习模型。
11.根据权利要求10所述的模型处理装置,其特征在于,所述训练单元,具体用于根据所述第一计算图和所述第二计算图训练所述机器学习模型,包括:
所述训练单元,具体用于向处理设备发送所述第一计算图和所述第二计算图,用于所述处理设备根据所述第一计算图和所述第二计算图训练所述机器学习模型。
12.根据权利要求9或11所述的模型处理装置,其特征在于,所述处理单元为中央处理器CPU、图像处理器GPU、神经网络处理器NPU或张量处理器TPU中任一项。
13.根据权利要求8-11任一项所述的模型处理装置,其特征在于,所述标识位包括第一标识位和第二标识位;
所述第一算子具体为:所述机器学习模型中所述第一标识位与所述第二标识位之间的算子。
14.根据权利要求8-11任一项所述的模型处理装置,其特征在于,所述处理单元,用于确定所述算子队列的第一计算图,包括:
所述处理单元,具体用于根据所述算子队列,构建所述算子队列对应的第三计算图;
所述处理单元,具体用于利用图引擎优化所述第三计算图,得到所述第一计算图。
15.一种模型处理装置,其特征在于,所述模型处理装置包括一个或多个处理器,所述一个或多个处理器和一个或多个存储器耦合,所述一个或多个存储器存储有计算机程序;
当所述一个或多个处理器执行所述计算机程序时,使得所述模型处理装置执行如权利要求1-7任一项所述的模型处理方法。
16.一种芯片,其特征在于,所述芯片包括处理电路和接口,所述处理电路用于从存储介质中调用并运行所述存储介质中存储的计算机程序,以执行如权利要求1-7任一项所述的模型处理方法。
17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令或代码,当所述指令或代码在计算机上运行时,使得所述计算机执行如权利要求1-7中任一项所述的模型处理方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110454504.0A CN114936631B (zh) | 2021-04-26 | 2021-04-26 | 一种模型处理方法及装置 |
PCT/CN2022/075492 WO2022227777A1 (zh) | 2021-04-26 | 2022-02-08 | 一种模型处理方法及装置 |
EP22794258.8A EP4318319A1 (en) | 2021-04-26 | 2022-02-08 | Model processing method and apparatus |
US18/494,444 US20240062116A1 (en) | 2021-04-26 | 2023-10-25 | Model processing method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110454504.0A CN114936631B (zh) | 2021-04-26 | 2021-04-26 | 一种模型处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114936631A CN114936631A (zh) | 2022-08-23 |
CN114936631B true CN114936631B (zh) | 2023-06-09 |
Family
ID=82861955
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110454504.0A Active CN114936631B (zh) | 2021-04-26 | 2021-04-26 | 一种模型处理方法及装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20240062116A1 (zh) |
EP (1) | EP4318319A1 (zh) |
CN (1) | CN114936631B (zh) |
WO (1) | WO2022227777A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115809688B (zh) * | 2022-08-24 | 2023-10-24 | 北京百度网讯科技有限公司 | 一种模型调试方法、装置、电子设备及存储介质 |
CN116501509B (zh) * | 2023-06-29 | 2023-09-08 | 南京邮电大学 | 一种面向微控制器的深度学习内存优化方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111415013A (zh) * | 2020-03-20 | 2020-07-14 | 矩阵元技术(深圳)有限公司 | 隐私机器学习模型生成、训练方法、装置及电子设备 |
CN111626430A (zh) * | 2019-04-18 | 2020-09-04 | 中科寒武纪科技股份有限公司 | 一种数据处理方法及相关产品 |
CN112257876A (zh) * | 2020-11-15 | 2021-01-22 | 腾讯科技(深圳)有限公司 | 联邦学习方法、装置、计算机设备及介质 |
CN112416352A (zh) * | 2019-08-23 | 2021-02-26 | 中科寒武纪科技股份有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102682266B (zh) * | 2012-05-17 | 2014-06-11 | 西北工业大学 | 一种基于图像拼接的柱面二维条码识读方法 |
CN109840530A (zh) * | 2017-11-24 | 2019-06-04 | 华为技术有限公司 | 训练多标签分类模型的方法和装置 |
US20190258953A1 (en) * | 2018-01-23 | 2019-08-22 | Ulrich Lang | Method and system for determining policies, rules, and agent characteristics, for automating agents, and protection |
US11556778B2 (en) * | 2018-12-07 | 2023-01-17 | Microsoft Technology Licensing, Llc | Automated generation of machine learning models |
CN110929851A (zh) * | 2019-11-27 | 2020-03-27 | 探智立方(北京)科技有限公司 | 基于计算图子图的ai模型自动生成的方法 |
CN111753983A (zh) * | 2020-06-22 | 2020-10-09 | 深圳鲲云信息科技有限公司 | 神经网络模型的定制化方法、系统、设备和存储介质 |
-
2021
- 2021-04-26 CN CN202110454504.0A patent/CN114936631B/zh active Active
-
2022
- 2022-02-08 EP EP22794258.8A patent/EP4318319A1/en active Pending
- 2022-02-08 WO PCT/CN2022/075492 patent/WO2022227777A1/zh active Application Filing
-
2023
- 2023-10-25 US US18/494,444 patent/US20240062116A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111626430A (zh) * | 2019-04-18 | 2020-09-04 | 中科寒武纪科技股份有限公司 | 一种数据处理方法及相关产品 |
CN112416352A (zh) * | 2019-08-23 | 2021-02-26 | 中科寒武纪科技股份有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN111415013A (zh) * | 2020-03-20 | 2020-07-14 | 矩阵元技术(深圳)有限公司 | 隐私机器学习模型生成、训练方法、装置及电子设备 |
CN112257876A (zh) * | 2020-11-15 | 2021-01-22 | 腾讯科技(深圳)有限公司 | 联邦学习方法、装置、计算机设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114936631A (zh) | 2022-08-23 |
EP4318319A1 (en) | 2024-02-07 |
US20240062116A1 (en) | 2024-02-22 |
WO2022227777A1 (zh) | 2022-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10157045B2 (en) | Systems and methods for automatically generating code for deep learning systems | |
CN114936631B (zh) | 一种模型处理方法及装置 | |
CN111275199A (zh) | 一种深度学习模型文件的转换方法、系统、计算机设备及计算机可读存储介质 | |
CN113011282A (zh) | 图数据处理方法、装置、电子设备及计算机存储介质 | |
CN116415654A (zh) | 一种数据处理方法及相关设备 | |
CN112734040A (zh) | 一种嵌入式人工智能计算框架及应用方法 | |
CN112257471A (zh) | 一种模型训练方法、装置、计算机设备及存储介质 | |
CN112099848B (zh) | 一种业务处理方法、装置及设备 | |
CN112528108B (zh) | 一种模型训练系统、模型训练中梯度聚合的方法及装置 | |
CN114490116B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN112748953B (zh) | 基于神经网络模型的数据处理方法、装置及电子设备 | |
CN112099882B (zh) | 一种业务处理方法、装置及设备 | |
CN110019952B (zh) | 视频描述方法、系统及装置 | |
CN114746868A (zh) | 编译神经网络模型的方法和装置 | |
WO2022105743A1 (zh) | 一种算子计算方法、装置、设备及系统 | |
Cheng et al. | An adaptive computation framework of distributed deep learning models for internet-of-things applications | |
Park et al. | Interworking technology of neural network and data among deep learning frameworks | |
CN115525263A (zh) | 代码补全模型的训练方法、代码补全方法和装置 | |
WO2022228060A1 (zh) | 数据处理方法、装置及系统 | |
CN111931478B (zh) | 地址兴趣面模型的训练方法、地址的预测方法及装置 | |
CN114255427B (zh) | 视频理解方法、装置、设备以及存储介质 | |
CN113254635B (zh) | 数据处理方法、装置及存储介质 | |
CN116974646A (zh) | 插件生成方法、装置、电子设备及存储介质 | |
CN116187410A (zh) | 一种模型训练的方法、代码识别的方法及相应装置 | |
WO2021000638A1 (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 |