CN112101545B - 蒸馏系统的训练方法、装置、设备及存储介质 - Google Patents
蒸馏系统的训练方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112101545B CN112101545B CN202010887422.0A CN202010887422A CN112101545B CN 112101545 B CN112101545 B CN 112101545B CN 202010887422 A CN202010887422 A CN 202010887422A CN 112101545 B CN112101545 B CN 112101545B
- Authority
- CN
- China
- Prior art keywords
- training
- target
- teacher
- model
- teacher 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.)
- Active
Links
- 238000012549 training Methods 0.000 title claims abstract description 288
- 238000004821 distillation Methods 0.000 title claims abstract description 118
- 238000000034 method Methods 0.000 title claims abstract description 57
- 230000004083 survival effect Effects 0.000 claims description 22
- 230000015654 memory Effects 0.000 claims description 19
- 230000000694 effects Effects 0.000 claims description 18
- 238000001514 detection method Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 claims description 7
- 238000002347 injection Methods 0.000 claims description 2
- 239000007924 injection Substances 0.000 claims description 2
- 238000004364 calculation method Methods 0.000 abstract description 5
- 238000012545 processing Methods 0.000 abstract description 5
- 238000013473 artificial intelligence Methods 0.000 abstract description 2
- 238000013135 deep learning Methods 0.000 abstract description 2
- 238000003058 natural language processing Methods 0.000 abstract description 2
- 239000000523 sample Substances 0.000 description 35
- 238000004891 communication Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000013140 knowledge distillation Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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/08—Learning methods
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B9/00—Simulators for teaching or training purposes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Biomedical Technology (AREA)
- Data Mining & Analysis (AREA)
- Educational Administration (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Business, Economics & Management (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Educational Technology (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Feedback Control In General (AREA)
Abstract
本申请公开了蒸馏系统的训练方法、装置、设备及存储介质,涉及深度学习、云计算、图像处理和自然语言处理等人工智能技术领域。具体实现方案为:获取第一终端设备发送的蒸馏训练请求,其中,所述蒸馏训练请求包括训练样本集和教师资源的目标类型;根据所述目标类型获取与所述教师资源对应的目标教师模型;将所述训练样本集输入至所述目标教师模型,生成目标训练结果,并将所述目标训练结果发送至所述第一终端设备,以使所述第一终端设备根据所述训练样本集和所述目标训练结果训练学生模型,有效提高蒸馏系统的计算效率。
Description
技术领域
本申请涉及数据处理技术领域,具体涉及深度学习、云计算、图像处理和自然语言处理等人工智能技术领域,尤其涉及蒸馏系统的训练方法、装置、设备及存储介质。
背景技术
知识蒸馏系统,通常是将教师模型和学生模型放置于一个大的神经网络中,教师模型只计算前向的结果而不做反向更新,学生模型通过教师模型提供的信号进行训练。
发明内容
本申请提供了一种用于蒸馏系统的训练方法、装置、设备及存储介质。
根据本申请的一方面,提供了一种蒸馏系统的训练方法,包括:获取第一终端设备发送的蒸馏训练请求,其中,所述蒸馏训练请求包括训练样本集和教师资源的目标类型;
根据所述目标类型获取与所述教师资源对应的目标教师模型;
将所述训练样本集输入至所述目标教师模型,生成目标训练结果,并将所述目标训练结果发送至所述第一终端设备,以使所述第一终端设备根据所述训练样本集和所述目标训练结果训练学生模型。
根据本申请的另一方面,提供了一种蒸馏系统的训练装置,包括:获取模块,用于获取第一终端设备发送的蒸馏训练请求,其中,所述蒸馏训练请求包括训练样本集和教师资源的目标类型;
识别模块,用于根据所述目标类型获取与所述教师资源对应的目标教师模型;
训练模块,用于将所述训练样本集输入至所述目标教师模型,生成目标训练结果,并将所述目标训练结果发送至所述第一终端设备,以使所述第一终端设备根据所述训练样本集和所述目标训练结果训练学生模型。
根据本申请的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请的蒸馏系统的训练方法。
根据本申请的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本申请实施例公开的电子设备的蒸馏系统的训练方法。
根据本申请的另一方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行本申请实施例公开的电子设备的蒸馏系统的训练方法的步骤。
应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是根据本申请第一个实施例的蒸馏系统的训练方法的流程图;
图2是根据本申请第二个实施例的蒸馏系统的训练方法的流程图;
图3是根据本申请第二个实施例的蒸馏系统的结构示意图;
图4是根据本申请第三个实施例的蒸馏系统的训练方法的流程图;
图5是根据本申请实施例的蒸馏系统的训练装置的方框示意图;
图6是用来实现本申请实施例的蒸馏系统的训练方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
下面参考附图描述本申请实施例的蒸馏系统的训练方法、装置、设备及存储介质。
图1是根据本申请第一个实施例的蒸馏系统的训练方法的流程图。其中,需要说明的是,本实施例的蒸馏系统的训练方法的执行主体为蒸馏系统的训练装置,蒸馏系统的训练装置可以由软件和/或硬件的方式实现,该实施例中的蒸馏系统的训练装置可以配置在电子设备中,也可以配置在用于对电子设备进行控制的服务器中,该服务器与电子设备进行通信进而对其进行控制。
其中,本实施例中的电子设备可以包括但不限于个人计算机、平板电脑、智能手机等设备,该实施例对电子设备不作具体限定。
如图1所示,该蒸馏系统的训练方法可以包括:
步骤101,获取第一终端设备发送的蒸馏训练请求。
其中,蒸馏训练请求包括训练样本集和教师资源的目标类型。
需要说明的是,第一终端设备可为设置有学生训练模型的硬件设备,第一终端设备中可设置有用于发送蒸馏训练请求和/或接收教师模型训练结果的弹性数据读取器,也就是说,蒸馏系统的训练装置可通过第一终端设备和/或设置在第一终端设备中的弹性数据读取器获取蒸馏训练请求。应当理解的是,当蒸馏系统的训练装置为弹性数据读取器时,蒸馏系统的训练装置可获取自身生成的蒸馏训练请求,当蒸馏系统的训练装置为部署教师资源的在线平台的管理单元和/或第三方管理单元时,则通过与弹性数据读取器进行通信以获取蒸馏训练请求。
还需要说明的是,蒸馏训练请求可为学生模型根据训练样本集和请求的教师资源的目标类型生成的请求信号。其中,教师资源的目标类型可为所需的教师模型的类型,例如,当学生模型是图像识别的学习模型时,所需的教师资源也应是图像识别的学习模型,当学习模型是文字识别的学习模型时,所需的教师资源也应是文字识别的学习模型,当学习模型是语音识别的学习模型时,所需的教师资源也应是语音识别的学习模型等。进一步地,目标类型还可进一步包括识别内容的类型,例如,在图像识别中,若识别的图像为文本类的图像内容,所需的教师资源可为图像识别中的文字识别模型、表格识别模型等,若识别的图像为自动驾驶时采集的图像,所需的教师资源可为图像识别中的人脸识别模型、交通信号识别模型、障碍物识别模型等。
步骤102,根据目标类型获取与教师资源对应的目标教师模型。
也就是说,在获取到蒸馏训练请求后,根据蒸馏训练请求中的目标类型,获取当前教师模型中与教师资源对应的目标教师模型。
步骤103,将训练样本集输入至目标教师模型,生成目标训练结果,并将目标训练结果发送至第一终端设备,以使第一终端设备根据训练样本集和目标训练结果训练学生模型。
具体而言,在获取到第一终端设备发送的蒸馏训练请求后,通过蒸馏训练请求获取教师资源的目标类型和用于蒸馏训练的训练样本集,根据教师资源的目标类型获取与教师资源对应的目标教师模型,然后将训练样本集输入至目标教师模型,以通过训练样本集对目标教师模型进行训练生成目标训练结果,然后将目标训练结果发送至第一终端设备,以使第一终端设备根据训练样本集和目标训练结果训练学生模型。
可选的,目标训练结果可为能够给学生模型做监督信号的中间隐层或者预测结果等,从而使学生模型能够学习到自身训练数据以外的信息,进而加快学习速度,提升学生模型的训练效果。
可选的,根据目标类型获取到的目标教师模型可为至少一个,则利用至少一个目标教师模型获取到与目标教师模型数量相应的目标训练结果,并将全部的目标训练结果输入至第一终端设备,以使第一终端设备根据训练样本集和目标训练结果训练学生模型,使得能够同时利用多个目标教师模型对学生模型进行训练,以通过目标教师模型的多样性提升学生模型学习的鲁棒性。
由此,本申请实施例将蒸馏系统中的学生模型和教师模型分开部署,并通过蒸馏训练请求对学生模型和教师模型进行动态匹配来满足蒸馏训练任务的需求,从而有效降低第一终端设备的计算资源成本,提高蒸馏系统的计算效率。
图2是根据本申请第二个实施例的蒸馏系统的训练方法的流程图。如图2所示,蒸馏系统的训练方法,包括:
步骤201,获取第二终端设备的设备资源,根据设备资源在第二终端上部署教师模型,并生成教师模型的注册列表。
需要说明的是,执行本申请实施例的训练方法的蒸馏系统的训练装置,可为第二终端设备的服务发现与管理模块,也可为第一终端设备中的弹性数据读取器,还可为第三方管理单元。
还需要说明的是,第二终端设备可为PaaS(Platform as a Service,平台即服务)平台,PaaS平台可包括有多个计算服务器,例如如图3所示的不同类型的GPU卡,甚至是百度昆仑计算卡等,其中,图3中K1200、P4、T4、XPU和V100分别为多种GPU处理器的型号。其中,设备资源可为PaaS平台可提供的在线服务资源,即,GPU卡所能够提供的计算资源。
也就是说,蒸馏系统的训练装置在获取第二终端设备的设备资源之后,根据当前PaaS平台中每个GPU卡所能提供的设备资源,例如空闲的设备资源,并在能够提供设备资源的各个GPU卡上部署教师模型,并生成教师模型的注册列表。其中,注册列表可包括但不限于教师模型被部署的GPU卡、教师模型所属的目标类型、名称、所能提供的运算能力等一种或多种属性信息。
应当理解的是,在线PaaS平台的资源具有波峰、波谷效应,具有较多弹性资源可利用,本申请通过实时获取第二终端设备的设备资源以进行教师模型的部署,能够充分利用平台的空闲资源,使得PaaS平台中的GPU整体利用率从20%左右提升至40%以上,节省一倍的算力成本。
步骤202,分别向注册列表中的每个教师模型发送探活信号,并根据探活成功的教师模型生成存活列表。
需要说明的是,由于PaaS平台会根据自身的平台运行需求决定对GPU卡资源进行调节,例如,GPU中其他计算需求占用较大计算资源时PaaS平台可能会对该GPU卡上的教师模型进行强行回收,或者例如GPU卡温度过高等其他影响GPU卡正常运行的因素也会促使PaaS平台对教师模型进行强制回收。因此。需要对注册列表中的每个教师模型发送探活信号,以通过探活结果确定注册列表中仍然存活的教师模型,并根据这些探活成功的教师模型生成存活列表。
可选的,可按照预设频率向注册列表中的教师模型发送探活信号,若接收到教师模型反馈的存活信号,则确定探活成功,即,该教师模型仍然存活,将该教师模型存储至当前的存活列表中和/或继续保存在注册列表中,若未接收到教师模型反馈的存活信号,则确定探活失败,即,该教师模型已被杀死无法执行蒸馏任务,将该教师模型从注册列表中删除和/或无需将该教师模型存储至存活列表中,可将更新后的注册列表作为存活列表,或者将重新存储的包含存活的教师模型的列表作为存活列表。
步骤203,获取第二终端设备发送的教师模型的存活列表,并根据目标类型从存活列表中获取目标教师模型。
也就是说,可通过实时获取第二终端设备发送的教师模型的存活列表,并根据蒸馏请求中的目标类型从存活列表中选取符合目标类型的目标教师模型,以利用目标教师模型获取目标训练结果,并将目标训练结果发送至第一终端设备,以使第一终端设备根据训练样本集和目标训练结果训练学生模型。
由此,本申请能够根据第二终端设备的资源情况,动态的部署教师模型,有效提高第二终端设备的整体利用率。
进一步地,在将目标训练结果发送至第一终端设备之前,还可包括:识别未接收到的目标训练结果的持续时间,如果持续时间达到预设时间,则重新获取蒸馏训练请求。
也就是说,若在预设时间内未接收到目标训练结果,则说明PaaS平台中暂无符合目标类型的教师资源,即,没有获取到目标教师模型,此时可重新获取请求指令,以根据请求指令中的目标类型部署目标教师模型,并利用目标教师模型对训练样本集进行训练。
应当理解的是,若蒸馏训练请求中包括至少一个目标类型时,则需要获取相应类型个数的目标训练结果,也就是说,需要对预设时间内接收到的目标训练结果的类型进行识别,具体地,需要对生成目标训练结果的目标教师模型的所属类别进行识别,如果目标教师模型的所属类别的个数小于目标类型的个数,则确定具有未接收到目标训练结果的目标类型,标记为未接收到目标训练结果,并重新获取蒸馏训练请求,如果目标教师模型的所属类别的个数等于目标类型的个数,则确定所有目标类型均接收到目标训练结果,此时可根据目标训练结果对学生模型进行训练。
也就是说,蒸馏训练请求中的目标类型与目标训练结果的类型应当对应,即,学生模型训练时不应存在所需类型的目标训练结果的缺失,从而有效保证学生模型训练的有效性,避免因目标训练结果类型的缺失造成学生模型的训练偏差。
图4是根据本申请第三个实施例的蒸馏系统的训练方法的流程图。如图4所示,蒸馏系统的训练方法,包括:
步骤401,在学生模型进行模型训练过程中,根据第二终端设备的设备资源增加部署目标教师模型。
需要说明的是,由于教师模型的计算时长远大于学生模型,因此,为了提高蒸馏系统的训练速度,可进一步通过提高向学生模型反馈目标训练结果的速度,来使学生模型的计算速度最大化,即,使学生模型的算力利用率最大化,从而使蒸馏系统的整体利用率得以提升。
具体地,本申请在获取到蒸馏训练请求后,可获取到与蒸馏训练请求相符的教师资源的目标类型,然后增加属于目标类型的目标教师模型,以通过减少每个目标教师模型所处理的训练样本的数量,来提高每个目标教师模型的运算速度,从而提高向学生模型反馈目标训练结果的速度,进而提高学生模型的利用率。
可选的,将训练模型输入至目标教师模型,包括:获取目标教师模型的当前数量,根据当前数量对训练样本集进行划分,以生成训练样本子集,将训练样本子集分别输入至目标教师模型。
也就是说,随着目标教师模型的数量增加,可实时获取教师模型的当前数量,然后将训练样本集按照目标教师模型的当前数量进行划分,其中,可将训练样本集按照目标教师模型的数量平均划分,将划分好的训练样本子集分别输入至每个目标教师模型,以使每个目标教师模型可仅处理训练样本子集中的训练数据,大大降低了每个目标教师模型所需处理的样本数据量,提高了目标教师模型向学生模型提供目标训练结果的速度。
步骤402,通过第一终端设备,分别获取增加部署目标教师模型之前学生模型的第一训练速度和增加部署目标教师模型之后学生模型的第二训练速度。
步骤403,根据第一训练速度和第二训练速度,配置目标教师模型的个数。
作为一个可行实施例,根据第一训练速度和第二训练速度,配置目标教师模型的个数,包括:如果第一训练速度小于第二训练速度,则增加部署目标教师模型,如果第一训练速度等于第二训练速度,则减少部署目标教师模型。
需要说明的是,在除通过增加目标教师模型以加快目标训练结果的反馈速度,从而提高蒸馏系统的训练速度之外,通过增加目标教师模型还可增加目标训练结果的数量,使得学生模型进行训练时的可用数据也得以增加,即,提高学生模型自身的训练速度。因此,在达到学生模型自身的速度极限之前,增加目标教师模型的数量,能够有效提升学生模型的训练速度。
具体地,在进行蒸馏训练过程中,可在获取到教师资源的目标类型之后逐渐增加部署目标教师模型的个数,并将尚未进行训练的训练样本集进行拆分,加快目标教师模型的训练速度,以提高目标训练结果的反馈速度,同时,检测学生模型的在增加目标教师模型之前的第一训练速度和增加目标教师模型之后的第二训练速度,如果第一训练速度小于第二训练速度,则说明学生模型的计算能力还可继续提高,利用率尚未达到峰值,可继续增加部署目标教师模型,如果第一训练速度等于第二训练速度,则说明学生模型的训练速度瓶颈已不在教师资源上了,即,提高目标教师模型的数量也无法继续提高学生模型的训练速度,此时,可将最后一次增加部署的目标教师模型回收,以减少对第二终端设备的资源占用率,有效防止资源浪费。
由此,本申请能够通过动态扩缩目标教师模型的计算资源,可将学生模型和目标教师模型所属的设备资源尽量占满,从而达到算力利用率最大化,使整体利用率得到有效的提升。
本申请实施例的蒸馏训练系统的训练方法,将蒸馏系统中的学生模型和教师模型分开部署,并通过蒸馏训练请求对学生模型和教师模型进行动态匹配来满足蒸馏训练任务的需求,从而有效降低第一终端设备的计算资源成本,提高蒸馏系统的计算效率。
为了实现上述实施例,本申请实施例还提供一种蒸馏系统的训练装置。
图5是根据本申请实施例的蒸馏系统的训练装置的方框示意图。如图5所示,蒸馏系统的训练装置10,包括:
获取模块11,用于获取第一终端设备发送的蒸馏训练请求,其中,所述蒸馏训练请求包括训练样本集和教师资源的目标类型;
识别模块12,用于根据所述目标类型获取与所述教师资源对应的目标教师模型;
训练模块13,用于将所述训练样本集输入至所述目标教师模型,生成目标训练结果,并将所述目标训练结果发送至所述第一终端设备,以使所述第一终端设备根据所述训练样本集和所述目标训练结果训练学生模型。
在一些实施例中,所述识别模块,具体用于:获取第二终端设备发送的教师模型的存活列表,并根据所述目标类型从所述存活列表中获取所述目标教师模型。
在一些实施例中,所述识别模块12,还包括:注册子模块,用于获取所述第二终端设备的设备资源,根据所述设备资源在所述第二终端设备上部署所述教师模型,并生成所述教师模型的注册列表;探活子模块,用于分别向所述注册列表中的每个所述教师模型发送探活信号,并根据探活成功的所述教师模型生成所述存活列表。
在一些实施例中,所述识别模块12,还包括:部署子模块,用于在所述学生模型进行模型训练过程中,根据第二终端设备的设备资源增加部署所述目标教师模型;获取子模块,用于通过所述第一终端设备,分别获取增加部署所述目标教师模型之前所述学生模型的第一训练速度和增加部署所述目标教师模型之后所述学生模型的第二训练速度;配置子模块,用于根据所述第一训练速度和所述第二训练速度,配置所述目标教师模型的个数。
在一些实施例中,所述配置子模块,具体用于:如果所述第一训练速度小于所述第二训练速度,则增加部署所述目标教师模型;如果所述第一训练速度等于所述第二训练速度,则减少部署所述目标教师模型。
在一些实施例中,所述训练模块13,具体用于:获取所述目标教师模型的当前数量;根据所述当前数量对所述训练样本集进行划分,以生成训练样本子集;将所述训练样本子集分别输入至所述目标教师模型。
在一些实施例中,所述训练模块13,具体用于:识别未接收到的所述目标训练结果的持续时间;如果所述持续时间达到预设时间,则重新获取所述蒸馏训练请求。
其中,需要说明的是,前述对蒸馏系统的训练方法实施例的解释说明也适用于本实施例中的蒸馏系统的训练装置,此处不再赘述。
本申请实施例的蒸馏训练系统的训练装置,将蒸馏系统中的学生模型和教师模型分开部署,并通过蒸馏训练请求对学生模型和教师模型进行动态匹配来满足蒸馏训练任务的需求,从而有效降低第一终端设备的计算资源成本。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图6所示,是根据本申请实施例的蒸馏系统的训练方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图6所示,该电子设备包括:一个或多个处理器601、存储器602,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图6中以一个处理器601为例。
存储器602即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的蒸馏系统的训练方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的蒸馏系统的训练方法。
存储器602作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的CC方法对应的程序指令/模块(例如,附图5所示的获取模块11、识别模块12和训练模块13)。处理器601通过运行存储在存储器602中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的蒸馏系统的训练方法。
存储器602可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据蒸馏系统的训练的电子设备的使用所创建的数据等。此外,存储器602可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器602可选包括相对于处理器601远程设置的存储器,这些远程存储器可以通过网络连接至蒸馏系统的训练的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
蒸馏系统的训练方法的电子设备还可以包括:输入装置603和输出装置604。处理器601、存储器602、输入装置603和输出装置604可以通过总线或者其他方式连接,图6中以通过总线连接为例。
输入装置603可接收输入的数字或字符信息,以及产生与蒸馏系统的训练的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置604可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、互联网以及区块链网络。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务端可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务(“Virtual Private Server”,或简称“VPS”)中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
本申请还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行本申请实施例公开的电子设备的蒸馏系统的训练方法的步骤。
根据本申请实施例的技术方案,本申请实施例的蒸馏训练系统的训练方法,将蒸馏系统中的学生模型和教师模型分开部署,并通过蒸馏训练请求对学生模型和教师模型进行动态匹配来满足蒸馏训练任务的需求,从而有效降低第一终端设备的计算资源成本,提高蒸馏系统的计算效率。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (15)
1.一种蒸馏系统的训练方法,包括:
获取第一终端设备发送的蒸馏训练请求,其中,所述蒸馏训练请求包括训练样本集和教师资源的目标类型;
根据所述目标类型获取与所述教师资源对应的目标教师模型;
将所述训练样本集输入至所述目标教师模型,生成目标训练结果,并将所述目标训练结果发送至所述第一终端设备,以使所述第一终端设备根据所述训练样本集和所述目标训练结果训练学生模型;
在所述学生模型进行模型训练过程中,根据第二终端设备的设备资源增加部署所述目标教师模型;
通过所述第一终端设备,分别获取增加部署所述目标教师模型之前所述学生模型的第一训练速度和增加部署所述目标教师模型之后所述学生模型的第二训练速度;
根据所述第一训练速度和所述第二训练速度,配置所述目标教师模型的个数,直至达到所述学生模型的训练速度的极限。
2.根据权利要求1所述的蒸馏系统的训练方法,其中,所述根据所述目标类型获取与所述教师资源对应的目标教师模型,包括:
获取第二终端设备发送的教师模型的存活列表,并根据所述目标类型从所述存活列表中获取所述目标教师模型。
3.根据权利要求2所述的蒸馏系统的训练方法,在所述获取第二终端设备发送的教师模型的存活列表之前,还包括:
获取所述第二终端设备的设备资源,根据所述设备资源在所述第二终端设备上部署所述教师模型,并生成所述教师模型的注册列表;
分别向所述注册列表中的每个所述教师模型发送探活信号,并根据探活成功的所述教师模型生成所述存活列表。
4.根据权利要求1所述的蒸馏系统的训练方法,其中,所述根据所述第一训练速度和所述第二训练速度,配置所述目标教师模型的个数,包括:
如果所述第一训练速度小于所述第二训练速度,则增加部署所述目标教师模型;
如果所述第一训练速度等于所述第二训练速度,则减少部署所述目标教师模型。
5.根据权利要求1所述的蒸馏系统的训练方法,其中,所述将所述训练样本集输入至所述目标教师模型,包括:
获取所述目标教师模型的当前数量;
根据所述当前数量对所述训练样本集进行划分,以生成训练样本子集;
将所述训练样本子集分别输入至所述目标教师模型。
6.根据权利要求1所述的蒸馏系统的训练方法,其中,在所述将所述目标训练结果发送至所述第一终端设备之前,还包括:
识别未接收到的所述目标训练结果的持续时间;
如果所述持续时间达到预设时间,则重新获取所述蒸馏训练请求。
7.一种蒸馏系统的训练装置,包括:
获取模块,用于获取第一终端设备发送的蒸馏训练请求,其中,所述蒸馏训练请求包括训练样本集和教师资源的目标类型;
识别模块,用于根据所述目标类型获取与所述教师资源对应的目标教师模型;
训练模块,用于将所述训练样本集输入至所述目标教师模型,生成目标训练结果,并将所述目标训练结果发送至所述第一终端设备,以使所述第一终端设备根据所述训练样本集和所述目标训练结果训练学生模型;
所述识别模块,还包括:
部署子模块,用于在所述学生模型进行模型训练过程中,根据第二终端设备的设备资源增加部署所述目标教师模型;
获取子模块,用于通过所述第一终端设备,分别获取增加部署所述目标教师模型之前所述学生模型的第一训练速度和增加部署所述目标教师模型之后所述学生模型的第二训练速度;
配置子模块,用于根据所述第一训练速度和所述第二训练速度,配置所述目标教师模型的个数,直至达到所述学生模型的训练速度的极限。
8.根据权利要求7所述的蒸馏系统的训练装置,所述识别模块,具体用于:
获取第二终端设备发送的教师模型的存活列表,并根据所述目标类型从所述存活列表中获取所述目标教师模型。
9.根据权利要求8所述的蒸馏系统的训练装置,所述识别模块,还包括:
注册子模块,用于获取所述第二终端设备的设备资源,根据所述设备资源在所述第二终端设备上部署所述教师模型,并生成所述教师模型的注册列表;
探活子模块,用于分别向所述注册列表中的每个所述教师模型发送探活信号,并根据探活成功的所述教师模型生成所述存活列表。
10.根据权利要求7所述的蒸馏系统的训练装置,其中,所述配置子模块,具体用于:
如果所述第一训练速度小于所述第二训练速度,则增加部署所述目标教师模型;
如果所述第一训练速度等于所述第二训练速度,则减少部署所述目标教师模型。
11.根据权利要求7所述的蒸馏系统的训练装置,所述训练模块,具体用于:
获取所述目标教师模型的当前数量;
根据所述当前数量对所述训练样本集进行划分,以生成训练样本子集;
将所述训练样本子集分别输入至所述目标教师模型。
12.根据权利要求7所述的蒸馏系统的训练装置,所述训练模块,具体用于:
识别未接收到的所述目标训练结果的持续时间;
如果所述持续时间达到预设时间,则重新获取所述蒸馏训练请求。
13.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-6中任一项所述的蒸馏系统的训练方法。
14.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-6中任一项所述的蒸馏系统的训练方法。
15.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-6中任一项所述的蒸馏系统的训练方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010887422.0A CN112101545B (zh) | 2020-08-28 | 2020-08-28 | 蒸馏系统的训练方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010887422.0A CN112101545B (zh) | 2020-08-28 | 2020-08-28 | 蒸馏系统的训练方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112101545A CN112101545A (zh) | 2020-12-18 |
CN112101545B true CN112101545B (zh) | 2024-09-03 |
Family
ID=73758357
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010887422.0A Active CN112101545B (zh) | 2020-08-28 | 2020-08-28 | 蒸馏系统的训练方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112101545B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113850012B (zh) * | 2021-06-11 | 2024-05-07 | 腾讯科技(深圳)有限公司 | 数据处理模型生成方法、装置、介质及电子设备 |
CN113392984B (zh) * | 2021-06-29 | 2022-10-14 | 北京百度网讯科技有限公司 | 用于训练模型的方法、装置、设备、介质和产品 |
CN114997390B (zh) * | 2022-07-28 | 2022-11-15 | 深圳市信润富联数字科技有限公司 | 基于gpu加速神经网络训练方法、装置及存储介质 |
CN116186200B (zh) * | 2023-01-19 | 2024-02-09 | 北京百度网讯科技有限公司 | 模型训练方法、装置、电子设备和存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111080123A (zh) * | 2019-12-14 | 2020-04-28 | 支付宝(杭州)信息技术有限公司 | 用户风险评估方法及装置、电子设备、存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11416741B2 (en) * | 2018-06-08 | 2022-08-16 | International Business Machines Corporation | Teacher and student learning for constructing mixed-domain model |
CN111105008A (zh) * | 2018-10-29 | 2020-05-05 | 富士通株式会社 | 模型训练方法、数据识别方法和数据识别装置 |
KR20200052444A (ko) * | 2018-10-30 | 2020-05-15 | 삼성전자주식회사 | 신경망을 이용하여 예측 결과를 출력하는 방법, 신경망을 생성하는 방법 및 그 장치들 |
CN110232411B (zh) * | 2019-05-30 | 2022-08-23 | 北京百度网讯科技有限公司 | 模型蒸馏实现方法、装置、系统、计算机设备及存储介质 |
CN110825970A (zh) * | 2019-11-07 | 2020-02-21 | 浙江同花顺智能科技有限公司 | 一种信息推荐方法、装置、设备及计算机可读存储介质 |
CN111062489B (zh) * | 2019-12-11 | 2023-10-20 | 北京知道创宇信息技术股份有限公司 | 一种基于知识蒸馏的多语言模型压缩方法、装置 |
-
2020
- 2020-08-28 CN CN202010887422.0A patent/CN112101545B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111080123A (zh) * | 2019-12-14 | 2020-04-28 | 支付宝(杭州)信息技术有限公司 | 用户风险评估方法及装置、电子设备、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112101545A (zh) | 2020-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112101545B (zh) | 蒸馏系统的训练方法、装置、设备及存储介质 | |
KR102484617B1 (ko) | 이종 그래프 노드를 표현하는 모델 생성 방법, 장치, 전자 기기, 저장 매체 및 프로그램 | |
CN111860167B (zh) | 人脸融合模型获取及人脸融合方法、装置及存储介质 | |
CN112001180A (zh) | 多模态预训练模型获取方法、装置、电子设备及存储介质 | |
CN112102448B (zh) | 虚拟对象图像显示方法、装置、电子设备和存储介质 | |
CN111324715B (zh) | 问答机器人的生成方法和装置 | |
CN111931591A (zh) | 用于构建关键点学习模型的方法、装置、电子设备及可读存储介质 | |
CN111582477B (zh) | 神经网络模型的训练方法和装置 | |
CN111859997A (zh) | 机器翻译中的模型训练方法、装置、电子设备及存储介质 | |
CN111967569A (zh) | 神经网络结构的生成方法、装置、存储介质及电子设备 | |
CN112784989A (zh) | 推理系统、推理方法、电子设备及计算机存储介质 | |
CN111860769A (zh) | 预训练图神经网络的方法以及装置 | |
CN112579897B (zh) | 信息搜索方法和装置 | |
CN110852449A (zh) | 模型迁移方法和电子设备 | |
CN111770375A (zh) | 视频处理方法、装置、电子设备及存储介质 | |
CN111539897A (zh) | 用于生成图像转换模型的方法和装置 | |
CN111967591B (zh) | 神经网络自动剪枝方法、装置及电子设备 | |
CN111666771B (zh) | 文书的语义标签抽取、装置、电子设备及可读存储介质 | |
CN111783949A (zh) | 基于迁移学习的深度神经网络的训练方法和装置 | |
CN112329919B (zh) | 模型训练方法及装置 | |
CN112561059B (zh) | 用于模型蒸馏的方法和装置 | |
CN111669647B (zh) | 实时视频的处理方法、装置、设备及存储介质 | |
CN112382292A (zh) | 基于语音的控制方法和装置 | |
CN111738325A (zh) | 图像识别方法、装置、设备以及存储介质 | |
CN111832291A (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 |