CN111695688B - 一种模型训练方法、装置、设备及存储介质 - Google Patents

一种模型训练方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN111695688B
CN111695688B CN202010529888.3A CN202010529888A CN111695688B CN 111695688 B CN111695688 B CN 111695688B CN 202010529888 A CN202010529888 A CN 202010529888A CN 111695688 B CN111695688 B CN 111695688B
Authority
CN
China
Prior art keywords
training
training mode
mode
neural network
network 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
Application number
CN202010529888.3A
Other languages
English (en)
Other versions
CN111695688A (zh
Inventor
朱子霖
姜曦楠
陈志博
杨博
郭晨阳
黄雪
周飞虎
郭振宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010529888.3A priority Critical patent/CN111695688B/zh
Publication of CN111695688A publication Critical patent/CN111695688A/zh
Application granted granted Critical
Publication of CN111695688B publication Critical patent/CN111695688B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • 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
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/10Internal combustion engine [ICE] based vehicles
    • Y02T10/40Engine management systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)

Abstract

本申请实施例公开了一种应用于人工智能领域的模型训练方法、装置、设备及存储介质,其中该方法包括:基于优化训练模式对神经网络模型进行训练;当该神经网络模型训练至目标阶段时,分别基于优化训练模式和基础训练模式,对该神经网络模型进行目标阶段的训练;根据优化训练模式和基础训练模式各自在目标阶段对于该神经网络模型的训练情况,确定优化训练模式和基础训练模式各自对应的训练参考信息;根据优化训练模式和基础训练模式各自对应的训练参考信息,从优化训练模式和基础训练模式中选出目标训练模式;基于目标训练模式对该神经网络模型继续进行训练。该方法能够保证在模型训练阶段充分利用优化训练模式,提升训练效果。

Description

一种模型训练方法、装置、设备及存储介质
技术领域
本申请涉及人工智能(Artificial Intelligence,AI)技术领域,尤其涉及一种模型训练方法、装置、设备及存储介质。
背景技术
随着AI技术的迅速发展,为了满足对于神经网络模型的各种训练需求,越来越多的基于基础训练模式改进得到的训练模式应运而生。例如,为了提高神经网络模型的训练速度,降低神经网络模型的内存消耗,基于全精度训练模式改进得到的混合精度训练(Mixed Precision Training)模式,如今被广泛地应用到各类神经网络模型的训练过程中,该混合精度训练模式通过在深度学习训练过程中对部分参数使用半精度浮点数(FP16),达到在保证一定的模型训练精度的条件下提升模型训练速度的效果。
然而,经相关技术人员实验发现,使用改进后的训练模式对一些神经网络模型进行训练,有时难以达到预期的效果,甚至还会带来严重的负面效果。仍以混合精度训练模式为例,使用混合精度训练模式对一些神经网络模型进行训练时,可能会出现模型精度下滑或者收敛速度没有加速的情况,严重时还会出现模型无法收敛的情况。
由于改进后的训练模式性能不稳定,因此,导致改进后的训练模式的使用场景受限,相关技术人员在很多业务场景中无法使用改进后的训练模式训练神经网络模型,相应地,改进后的训练模式的优势也难以被充分地利用,在一定程度上限制了神经网络模型训练效果的提升,例如,限制了模型准确度的提升,限制了模型训练速度的提升等等。
发明内容
本申请实施例提供了一种模型训练方法、装置、设备及存储介质,能够扩展改进后的训练模式的使用场景,保证在神经网络模型训练阶段充分利用改进后的训练模式,提升模型训练效果。
有鉴于此,本申请第一方面提供了一种模型训练方法,所述方法包括:
基于优化训练模式对神经网络模型进行训练;
当所述神经网络模型训练至目标阶段时,分别基于所述优化训练模式和基础训练模式,对所述神经网络模型进行所述目标阶段的训练;
根据所述优化训练模式和所述基础训练模式各自在所述目标阶段对于所述神经网络模型的训练情况,确定所述优化训练模式和所述基础训练模式各自对应的训练参考信息;
根据所述优化训练模式和所述基础训练模式各自对应的训练参考信息,从所述优化训练模式和所述基础训练模式中选出目标训练模式;
基于所述目标训练模式对所述神经网络模型继续进行训练。
本申请第二方面提供了一种模型训练装置,所述装置包括:
训练模块,用于基于优化训练模式对神经网络模型进行训练;
多模式训练模块,用于当所述神经网络模型训练至目标阶段时,分别基于所述优化训练模式和基础训练模式,对所述神经网络模型进行所述目标阶段的训练;
参考信息确定模块,用于根据所述优化训练模式和所述基础训练模式各自在所述目标阶段对于所述神经网络模型的训练情况,确定所述优化训练模式和所述基础训练模式各自对应的训练参考信息;
模式选择模块,用于根据所述优化训练模式和所述基础训练模式各自对应的训练参考信息,从所述优化训练模式和所述基础训练模式中选出目标训练模式;
所述训练模块,还用于基于所述目标训练模式对所述神经网络模型继续进行训练。
本申请第三方面提供了一种设备,所述设备包括处理器以及存储器:
所述存储器用于存储计算机程序;
所述处理器用于根据所述计算机程序,执行如上述第一方面所述的模型训练方法的步骤。
本申请第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行上述第一方面所述的模型训练方法的步骤。
本申请第五方面提供了一种包括指令的计算机程序产品,当其在计算机上运行时,使得所述计算机执行上述第一方面所述的模型训练方法的步骤。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例提供了一种模型训练方法,该方法在训练神经网络模型的过程中增加了衡量优化训练模式和基础训练模式的环节,即当神经网络模型训练至目标阶段时,分别基于优化训练模式和基础训练模式对该神经网络模型进行目标阶段的训练,并根据优化训练模式和基础训练模式各自对应的训练情况,确定当前更适用于训练该神经网络模型的训练模式。在确定优化训练模式当前更适用于训练该神经网络模型时,继续使用该优化训练模式训练该神经网络模型,以在模型训练阶段充分利用优化训练模式的优势,提升对于该神经网络模型的训练效果。在确定基础训练模式当前更适用于训练该神经网络模型时,及时切换使用基础训练模式训练该神经网络模型,以避免因持续使用优化训练模式而带来的负面训练效果。
附图说明
图1为本申请实施例提供的模型训练方法的应用场景示意图;
图2为本申请实施例提供的一种模型训练方法的流程示意图;
图3为本申请实施例提供的另一种模型训练方法的流程示意图;
图4为本申请实施例提供的一种模型训练装置的结构示意图;
图5为本申请实施例提供的服务器的结构示意图;
图6为本申请实施例提供的终端设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
AI是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如,常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
本申请实施例提供的方案涉及人工智能的机器学习技术,具体通过如下实施例进行说明:
由于采用改进后的训练模式对一些神经网络模型进行训练,有时难以达到预期的效果,甚至还会带来严重的负面效果,因此,相关技术目前采用改进后的训练模式对一些神经网络模型进行训练时,通常会配置相关技术人员监测模型训练效果,并在监测到出现负面训练效果时,由相关技术人员中断模型训练过程,然后切换使用基础训练模式,手动加载模型参数对该神经网络模型继续进行训练。然而,考虑到上述操作过程复杂,并且需要配置特定的人力进行训练效果的监督和训练模式的切换,因此,在很多业务场景中相关技术人员不得不放弃使用改进后的训练模式,相应地,很多神经网络模型也因此丧失了改进后的训练模式所能带来的训练提升空间。
针对相关技术存在的问题,本申请实施例提供了一种模型训练方法,该方法能够扩展改进后的训练模式的使用场景,保证在神经网络模型训练阶段充分利用改进后的训练模式,提升模型训练效果。
具体的,在本申请实施例提供的模型训练方法中,可以先基于优化训练模式对神经网络模型进行训练;当该神经网络模型被训练至目标阶段时,可以分别基于优化训练模式和基础训练模式,对该神经网络模型进行目标阶段的训练;并且根据优化训练模式和基础训练模式各自在目标阶段对于神经网络模型的训练情况,确定该优化训练模式和基础训练模式各自对应的训练参考信息;进而,根据优化训练模式和基础训练模式各自对应的训练参考信息,从优化训练模式和基础训练模式中选出目标训练模式,并基于该目标训练模式对神经网络模型继续进行训练。
上述模型训练方法在训练神经网络模型的过程中增加了衡量优化训练模式和基础训练模式的环节,通过该环节确定当前更适用于训练该神经网络模型的训练模式。在确定优化训练模式当前更适用于训练该神经网络模型时,继续使用该优化训练模式训练该神经网络模型,以在模型训练阶段充分利用优化训练模式的优势,提升对于神经网络模型的训练效果,例如,提升所训练的神经网络模型的准确度,提升对于神经网络模型的训练速度等等。在确定基础训练模式当前更适用于训练该神经网络模型时,及时切换使用基础训练模式训练该神经网络模型,以避免因持续使用优化训练模式而带来的负面训练效果。
应理解,本申请实施例提供的模型训练方法可以应用于具备模型训练能力的电子设备,如终端设备或服务器。其中,终端设备具体可以为计算机、智能手机、平板电脑、个人数字助理(Personal Digital Assitant,PDA)等;服务器具体可以为应用服务器或Web服务器,在实际部署时,可以为独立的服务器,也可以为集群服务器或云服务器。
为了便于理解本申请实施例提供的模型训练方法,下面以该模型训练方法的执行主体为服务器为例,对该模型训练方法所适用的应用场景进行示例性介绍。
参见图1,图1为本申请实施例提供的模型训练方法的应用场景示意图。如图1所示,该应用场景中包括服务器110,该服务器110中加载有待训练的神经网络模型,该服务器110既支持采用优化训练模式训练该神经网络模型,又支持采用基础训练模式训练该神经网络模型,示例性的,上述优化训练模式可以为混合精度训练模式,上述基础训练模式可以为全精度训练模式。
在实际应用中,服务器110训练其中加载的待训练的神经网络模型时,可以先采用优化训练模式对该神经网络模型进行训练。待该神经网络模型被训练至目标阶段时,服务器110可以热开启基础训练模式,分别基于优化训练模式和基础训练模式对该神经网络模型进行目标阶段的训练。然后,服务器110可以根据优化训练模式在目标阶段对于该神经网络模型的训练情况,如模型收敛情况、模型精度等,确定优化训练模式对应的训练参考信息;以及,根据基础训练模式在目标阶段对于该神经网络模型的训练情况,如模型收敛情况、模型精度等,确定基础训练模式对应的参考信息。进而,服务器110可以根据优化训练模式和基础训练模式各自对应的参考信息,衡量优化训练模式和基础训练模式在目标阶段对于该神经网络模型的训练效果,以在优化训练模式和基础训练模式中选出当前更适用于训练该神经网络模型的目标训练模式,并基于该目标训练模式对该神经网络模型继续进行训练。
需要说明的是,上述神经网络模型的训练过程可以包括一个目标阶段,也可以包括多个目标阶段,本申请在此不对神经网络模型的训练过程包括的目标阶段的数目做任何限定。当神经网络模型的训练过程包括多个目标阶段时,服务器110可以针对每个目标阶段均执行上述训练模式衡量操作,以在每个目标阶段均对优化训练模式和基础训练模式的训练效果进行衡量,并选出当前更适用于训练神经网络模型的目标训练模式;此外,服务器110也可以在通过某个目标阶段的训练模式衡量操作,确定目标训练模式为基础训练模式的情况下,不再针对后续的目标阶段执行训练模式衡量操作,而是持续使用该基础训练模式训练神经网络模型直至训练结束。
应理解,图1所示的应用场景仅为示例,在实际应用中,也可以由终端设备独立执行本申请实施例提供的模型训练方法,或者由终端设备和服务器协作执行本申请实施例提供的模型训练方法,本申请在此不对该模型训练方法适用的应用场景做任何限定。
下面通过方法实施例对本申请提供的模型训练方法进行详细介绍。
参见图2,图2为本申请实施例提供的模型训练方法的流程示意图。为了便于描述,下述实施例仍以该模型训练方法的执行主体为服务器为例。如图2所示,该模型训练方法包括以下步骤:
步骤201:基于优化训练模式对神经网络模型进行训练。
考虑到优化训练模式相比基础训练模式通常能够带来一些训练性能的提升,如提高训练速度,降低神经网络模型的内存(或显存)消耗等,因此,本申请实施例提供的方法初始对神经网络模型进行训练时,优先采用优化训练模式,以充分利用优化训练模式的优势。
需要说明的是,本申请实施例中的神经网络模型可以为应用在不同领域、用于处理不同任务的神经网络模型,例如,该神经网络模型可以是应用在图像处理领域中的图像处理模型、图像识别模型、图像检测模型等,该神经网络模型也可以是应用在语音处理领域中的语音识别模型、语音合成模型等,该神经网络模型还可以是应用在自然语言处理领域中的文本处理模型、语义理解模型、机器翻译模型等,本申请在此不对该神经网络模型做具体限定。
作为一种示例,本申请实施例中的优化训练模式可以为混合精度训练模式,基础训练模式可以为全精度训练模式。其中,混合精度训练模式是一种在深度学习训练中对部分参数使用半精度浮点数(FP16)的训练模式;由于半精度浮点数相比全精度浮点数(FP32)占用的空间少一半,因此,可以在很大程度上提高计算吞吐量,并且在硬件的支持下提高训练速度,降低神经网络模型的内存(或显存)消耗,然而考虑到半精度浮点数的表示范围少于全精度浮点数,在计算过程中(尤其是进行累加计算时)会出现明显的精度损失,因此,混合精度训练模式在计算损失函数和用梯度更新权值时,会将半精度浮点数转化为全精度浮点数进行操作,在前向计算和反向传播等对精度损失不敏感的部分使用半精度浮点数。全精度训练模式是一种在深度学习训练中对全部参数使用全精度浮点数的训练模式,该全精度训练模式相比混合精度训练模式训练速度较慢,且神经网络模型的内存(或显存)消耗较多,但是该全精度训练模式性能稳定,在训练过程中能够确保模型精度稳定提升,且模型稳定收敛。
以深度学习框架为TensorFlow为例,当优化训练模式为混合精度训练模式、基础训练模式为全精度训练模式时,服务器将待训练的神经网络模型对应的计算图传入C++端后,可以先采用混合精度训练模式对该计算图进行训练,例如,可以采用混合精度训练模式对该计算图训练N(此处N为大于或等于1的整数)个迭代步,一个迭代步是指完成一次计算图的前向计算和反向传播。
应理解,在实际应用中,优化训练模式除了可以为混合精度训练模式外,还可以为其它基于基础训练模式优化改进得到的训练模式,本申请在此不对该优化训练模式做具体限定;相类似地,基础训练模式除了可以为全精度训练模式外,还可以为其它训练模式如半精度训练模式等,本申请在此不对该基础训练模式做具体限定。
步骤202:当所述神经网络模型训练至目标阶段时,分别基于所述优化训练模式和基础训练模式,对所述神经网络模型进行所述目标阶段的训练。
当神经网络模型被训练至目标阶段时,服务器可以基于优化训练模式和基础训练模式,分别对该神经网络模型进行目标阶段的训练;即服务器既需要采用优化训练模式对神经网络模型进行目标阶段的训练,又需要采用基础训练模式对该神经网络模型进行目标阶段的训练。
需要说明的是,由于服务器通常以迭代步为单位对神经网络模型进行训练,因此,本申请实施例提供的方法可以相应地采用迭代步来衡量目标阶段,例如,可以将第N+1个迭代步至第N+M个迭代步设置为目标阶段,此处的N为大于或等于1的整数,此处的M也为大于或等于1的整数,N和M可以根据历史经验预先设置,也可以根据神经网络模型的实际训练情况适应性地进行调整。当然,在实际应用中,服务器也可以采用其它方式设置目标阶段,本申请在此不对目标阶段的设置方式做任何限定。
需要说明的是,为了实现对于优化训练模式训练效果的及时监测,保证在优化训练模式出现负面训练效果时可以快速地切换使用基础训练模式,本申请实施例提供的方法可以在神经网络模型的训练过程中设置多个目标阶段,并在每个目标阶段均对优化训练模式和基础训练模式的训练效果进行衡量。
作为一种示例,服务器可以周期性地设置目标阶段,例如,服务器可以以N+M个迭代步作为一个周期,针对神经网络模型每训练N个迭代步,再分别基于优化训练模式和基础训练模式对神经网络模型训练M个迭代步。当然,在实际应用中,服务器也可以采用其它方式在神经网络模型的训练过程中设置多个目标阶段,例如,不规则的在神经网络模型的训练过程中设置多个目标阶段,本申请在此不对多个目标阶段的设置方式做任何限定。
在一种可能的实现方式中,服务器可以串行地采用优化训练模式和基础训练模式,依次对神经网络模型进行目标阶段的训练。即当神经网络模型被训练至目标阶段时,服务器可以先基于优化训练模式对该神经网络模型进行目标阶段的训练,然后热关闭该优化训练模式,热开启基础训练模式,再基于该基础训练模式对神经网络模型进行目标阶段的训练。
具体的,当神经网络模型被训练至目标阶段时,服务器可以先继续采用优化训练模式对该神经网络模型进行目标阶段的训练;基于优化训练模式完成对于神经网络模型的目标阶段的训练后,服务器可以热关闭该优化训练模式,热开启基础训练模式,即在不中断模型训练程序运行的情况下,关闭优化训练模式,开启基础训练模式;进而,基于该基础训练模式对该神经网络模型进行目标阶段的训练。
以优化训练模式为混合精度训练模式,基础训练模式为全精度训练模式,且在神经网络模型的训练过程中以N+2M个迭代步为周期,其中每M个迭代步为目标阶段为例,服务器可以先采用混合精度训练模式对神经网络模型训练N个迭代步,确定该神经网络模型被训练至目标阶段后,先采用混合精度训练模式对神经网络模型训练前M个迭代步,然后热关闭该混合精度训练模式,热开启全精度训练模式,再采用全精度训练模式对神经网络模型训练后M个迭代步。
应理解,在实际应用中,服务器除了可以先采用优化训练模式对神经网络模型进行目标阶段的训练,后采用基础训练模式对神经网络模型进行目标阶段的训练外,也可以先热关闭优化训练模式,热开启基础训练模式,优先采用基础训练模式对神经网络模型进行目标阶段的训练,然后再热关闭基础训练模式,热开启优化训练模式,靠后采用优化训练模式对神经网络模型进行目标阶段的训练,本申请在此不对优化训练模式和基础训练模式针对目标阶段的训练先后顺序做任何限定。
在另一种可能的实现方式中,服务器可以并行地采用优化训练模式和基础训练模式,同时对神经网络模型进行目标阶段的训练。即当神经网络模型被训练至目标阶段时,服务器可以热开启基础训练模式,进而基于优化训练模式和基础训练模式并行地对该神经网络模型进行目标阶段的训练。
具体的,当神经网络模型被训练至目标阶段时,服务器可以热开启基础训练模式,即在不中断模型训练程序运行的情况下,开启基础训练模式,使得基础训练模式和优化训练模式同时运行;进而,服务器可以并行地使用基础训练模式和优化训练模式,分别对神经网络模型进行目标阶段的训练。
以优化训练模式为混合精度训练模式,基础训练模式为全精度训练模式,且在神经网络模型的训练过程中以N+M个迭代步为周期,其中M个迭代步为目标阶段为例,服务器可以先采用混合精度训练模式对神经网络模型训练N个迭代步,确定该神经网络模型被训练至目标阶段后,热开启全精度训练模式,进而,并行地采用混合精度训练模式和全精度训练模式,分别对神经网络模型训练M个迭代步。
步骤203:根据所述优化训练模式和所述基础训练模式各自在所述目标阶段对于所述神经网络模型的训练情况,确定所述优化训练模式和所述基础训练模式各自对应的训练参考信息。
基于优化训练模式对神经网络模型完成目标阶段的训练后,服务器可以根据该优化训练模式在该目标阶段的训练情况,如模型收敛情况、模型精度提升情况等,确定该优化训练模式对应的训练参考信息。相类似地,基于基础训练模式对神经网络模型完成目标阶段的训练后,服务器可以根据该基础训练模式在目标阶段的训练情况,如模型收敛情况、模型精度提升情况等,确定该基础训练模式对应的训练参考信息。
在一种可能的实现方式中,服务器可以根据神经网络模型在目标阶段在优化训练模式和基础训练模式下的收敛情况,确定优化训练模式和基础训练模式各自对应的训练参考信息。即服务器可以确定基于优化训练模式完成该目标阶段的训练所耗费的第一时长,并且确定在优化训练模式下神经网络模型在目标阶段的第一收敛量,将该第一时长和第一收敛量作为优化训练模式对应的训练参考信息;服务器可以确定基于基础训练模式完成该目标阶段的训练所耗费的第二时长,并且确定在该基础训练模式下神经网络模型在目标阶段的第二收敛量,将该第二时长和第二收敛量作为基础训练模式对应的训练参考信息。
具体的,服务器可以记录采用优化训练模式完成目标阶段的训练所耗费的第一时长,并且服务器还可以记录采用该优化训练模式完成目标阶段的训练后损失函数的变化量,该损失函数的变化量即为上述第一收敛量,将该第一时长和第一收敛量作为优化训练模式对应的训练参考信息。相类似地,服务器可以记录采用基础训练模式完成目标阶段的训练所耗费的第二时长,并且服务器还可以记录采用该基础训练模式完成目标阶段的训练后损失函数的变化量,该损失函数的变化量即为上述第二收敛量,将该第二时长和第二收敛量作为基础训练模式对应的训练参考信息。
以优化训练模式为混合精度训练模式,基础训练模式为全精度训练模式,且在神经网络模型的训练过程中以N+2M个迭代步为周期,其中每M个迭代步为目标阶段为例,服务器可以先采用混合精度训练模式训练前M个迭代步,进而,确定采用混合精度训练模式完成这M个迭代步的训练所耗费的第一时长t1,以及采用混合精度训练模式完成这M个迭代步后损失函数的变化量dL1,将t1和dL1作为混合精度训练模式对应的训练参考信息;接着,服务器可以采用全精度训练模式训练后M个迭代步,进而,确定采用全精度训练模式完成这M个迭代步的训练所耗费的第二时长t2,以及采用全精度训练模式完成这M个迭代步后损失函数的变化量dL2,将t2和dL2作为全精度训练模式对应的训练参考信息。
在另一种可能的实现方式中,服务器可以根据神经网络模型经过目标阶段的训练后的模型精度,确定优化训练模式和基础训练模式各自对应的训练参考信息。即服务器可以确定基于优化训练模式完成目标阶段的训练后该神经网络模型对应的第一模型精度,作为优化训练模式对应的训练参考信息,确定基于基础训练模式完成目标阶段的训练后该神经网络模型对应的第二模型精度,作为基础训练模式对应的训练参考信息。
具体的,服务器采用优化训练模式对神经网络模型完成目标阶段的训练后,可以采用测试样本测试该神经网络模型当前对应的模型精度(即上述第一模型精度),将该第一模型精度作为优化训练模式对应的训练参考信息;相类似地,服务器采用基础训练模式对神经网络模型完成目标阶段的训练后,可以采用测试样本测试该神经网络模型当前的模型精度(即上述第二模型精度),将该第二模型精度作为基础训练模式对应的训练参考信息。
应理解,在实际应用中,服务器除了可以基于模型收敛情况、模型精度,确定优化训练模式和基础训练模式各自对应的训练参考信息外,也可以基于其它模型训练效果确定优化训练模式和基础训练模式各自对应的训练参考信息,本申请在此不对确定优化训练模式和基础训练模式各自对应的训练参考信息时所依据的信息做任何限定。
步骤204:根据所述优化训练模式和所述基础训练模式各自对应的训练参考信息,从所述优化训练模式和所述基础训练模式中选出目标训练模式。
服务器确定出优化训练模式和基础训练模式各自对应的训练参考信息后,即可根据优化训练模式和基础训练模式各自对应的训练参考信息,衡量优化训练模式和基础训练模式各自在目标阶段对于神经网络模型的训练效果,并据此从优化训练模式和基础训练模式中选出目标训练模式。
在服务器此前根据神经网络模型在目标阶段的收敛情况,确定优化训练模式和基础训练模式各自对应的训练参考信息的情况下,即在优化训练模式对应的训练参考信息包括第一时长和第一收敛量,基础训练模式对应的训练参考信息包括第二时长和第二收敛量的情况下,服务器可以进一步确定在优化训练模式和基础训练模式下神经网络模型的收敛速率,进而基于此选出目标训练模式。即,服务器可以根据第一时长和第一收敛量计算优化训练模式对应的收敛速率,根据第二时长和第二收敛量计算基础训练模式对应的收敛速率,进而确定优化训练模式和基础训练模式中收敛速率最高的训练模式,作为目标训练模式。
具体的,服务器可以计算第一收敛量与第一时长的比值,作为优化训练模式对应的收敛速率,计算第二收敛量与第二时长的比值,作为基础训练模式对应的收敛速率;进而,服务器可以判断优化训练模式对应的收敛速率是否大于基础训练模式对应的收敛速率,若是,则可以确定优化训练模式为目标训练模式,若否,则可以确定基础训练模式为目标训练模式。
仍以优化训练模式为混合精度训练模式,基础训练模式为全精度训练模式,且在神经网络模型的训练过程中以N+2M个迭代步为周期,其中每M个迭代步为目标阶段为例,服务器确定出采用混合精度训练模式完成前M个迭代步的训练所耗费的第一时长t1,以及采用混合精度训练模式完成前M个迭代步后损失函数的变化量dL1后,可以计算dL1/t1作为混合精度训练模式对应的收敛速率;服务器确定出采用全精度训练模式完成后M个迭代步的训练所耗费的第二时长t2,以及采用全精度训练模式完成后M个迭代步后损失函数的变化量dL2,可以计算dL2/t2作为全精度训练模式对应的收敛速率。进而,服务器可以比较dL1/t1和dL2/t2,若dL1/t1大于dL2/t2,则确定混合精度训练模式为目标训练模式,若dL1/t1小于dL2/t2,则确定全精度训练模式为目标训练模式。
在服务器此前根据神经网络模型经过目标阶段的训练后的模型精度,确定优化训练模式和基础训练模式各自对应的训练参考信息的情况下,即在优化训练模式对应的训练参考信息包括第一模型精度,基础训练模式对应的训练参考信息包括第二模型精度的情况下,服务器可以直接基于第一模型精度和第二模型精度,从优化训练模式和基础训练模式中选出目标训练模式。即,服务器可以在判定第一模型精度高于第二模型精度时,确定优化训练模式为目标训练模式,判定第二模型精度高于第一模型精度时,确定基础训练模式为目标训练模式。
具体的,服务器采用优化训练模式和基础训练模式完成目标阶段的训练,并基于测试样本确定出在这两种训练模式下完成目标阶段的训练后的模型精度后,服务器可以直接确定所对应的模型精度更高的训练模式,作为目标训练模式。
应理解,在优化训练模式和基础训练模式各自对应的训练参考信息包括其它信息的情况下,服务器可以采用相应的方式,根据优化训练模式和基础训练模式各自对应的训练参考信息,从优化训练模式和基础训练模式中选出目标训练模式,本申请在此不对选择目标训练模式的方式做任何限定。
可选的,考虑到在一些情况下,仅根据单个目标阶段中优化训练模式和基础训练模式各自对应的训练参考信息选择目标训练模式,可能存在一定的偏差,导致所选择的目标训练模式可能并非当前最适用于训练神经网络模型的训练模式;本申请实施例提供的方法在神经网络模型的训练过程包括多个目标阶段的情况下,可以根据优化训练模式和基础训练模式在至少两个相邻的目标阶段中各自对应的训练参考信息,从优化训练模式和基础训练模式中选出目标训练模式。
具体的,假设服务器需要根据三个相邻的目标阶段中优化训练模式和基础训练模式各自对应的训练参考信息选择目标训练模式,则服务器分别基于优化训练模式和基础训练模式对神经网络模型完成第一个目标阶段的训练后,先确定优化训练模式和基础训练模式在该第一个目标阶段中各自对应的训练参考信息,如训练时长、模型收敛量等;相类似地,服务器分别基于优化训练模式和基础训练模式对神经网络模型完成第二个目标阶段和第三个目标阶段的训练后,确定优化训练模式和基础训练模式在第二个目标阶段和第三个目标阶段中各自对应的训练参考信息。进而,服务器可以根据优化训练模式和基础训练模式在这三个目标阶段各自对应的训练参考信息,从优化训练模式和基础训练模式中选出目标训练模式,例如,假设优化训练模式在每个目标阶段中对应的训练参考信息中包括完成该目标阶段的训练时长和模型收敛量,基础训练模式在每个目标阶段中对应的训练参考信息也包括完成该目标阶段的训练时长和模型收敛量,那么服务器可以计算优化训练模式在每个目标阶段的收敛速率以及基础训练模式在每个目标阶段的收敛速率,进而,根据优化训练模式在每个目标阶段的收敛速率和基础训练模式在每个目标阶段的收敛速率,衡量优化训练模式和基础训练模式在这三个目标阶段的训练效果,并据此从优化训练模式和基础训练模式中选出目标训练模式。
步骤205:基于所述目标训练模式对所述神经网络模型继续进行训练。
服务器从优化训练模式和基础训练模式中选出目标训练模式后,可以基于该目标训练模式对神经网络模型继续进行训练。
在一种可能的实现方式中,若神经网络模型的训练过程包括多个目标阶段,则服务器可以针对每个阶段均执行一次上述步骤202至步骤204的操作,以在每个目标阶段基于优化训练模式和基础训练模式各自在该目标阶段的训练效果,对优化训练模式和基础训练模式进行一次衡量,并选出当前最适用于训练神经网络模型的训练模式。
在另一种可能的实现方式中,考虑到基础训练模式相比优化训练模式具有更稳定的性能,并且随着训练过程的进展,越靠后的训练阶段越需要保证训练性能的稳定,因此,在神经网络模型的训练过程包括多个目标阶段的情况下,若服务器基于优化训练模式和基础训练模式在某个目标阶段的训练效果,确定基础训练模式当前更适用于训练该神经网络模型,则服务器可以直接采用该基础训练模式对该神经网络模型进行后续的训练,直至训练结束,不再执行衡量优化训练模式和基础训练模式的操作。
下面仍以优化训练模式为混合精度训练模式,基础训练模式为全精度训练模式为例,对该种实现方式的具体实现过程进行介绍。
在根据混合精度训练模式和全精度训练模式在某个目标阶段的训练参考信息,确定目标训练模式为混合精度训练模式的情况下,服务器可以基于混合精度训练模式对神经网络模型进行训练,当神经网络模型训练至下一目标阶段时,服务器还需要分别基于混合精度训练模式和全精度训练模式,对该神经网络模型进行该下一目标阶段的训练,并根据混合精度训练模式和全精度训练模式各自在该下一目标阶段对于神经网络模型的训练情况,确定混合精度训练模式和全精度训练模式各自对应的训练参考信息,进而,根据该混合精度训练模式和全精度训练模式各自对应的训练参考信息,从混合精度训练模式和全精度训练模式中选出新的目标训练模式。
即,当服务器根据混合精度训练模式和全精度训练模式在某个目标阶段的训练参考信息,确定目标训练模式为混合精度训练模式时,服务器需要在神经网络模型被训练至下一目标阶段时,重新执行上文中的步骤202至步骤204,以对混合精度训练模式和全精度训练模式再次进行衡量,以衡量混合精度训练模式当前对于神经网络模型的训练性能是否稳定。如此,在确定目标训练模式为混合精度训练模式的情况下,在下一目标阶段仍继续衡量混合精度训练模式和全精度训练模式的训练性能,以持续地监测混合精度训练模式的训练性能是否下降,避免混合精度训练模式带来负面的训练效果。
在根据混合精度训练模式和全精度训练模式在某个目标阶段的训练参考信息,确定目标训练模式为全精度训练模式的情况下,服务器可以基于该全精度训练模式对神经网络模型进行训练,直至该神经网络模型满足训练结束条件为止。
即,当服务器根据混合精度训练模式和全精度训练模式在某个目标阶段的训练参考信息,确定目标训练模式为全精度训练模式时,服务器不再需要基于后续的目标阶段执行混合精度训练模式和全精度训练模式的衡量操作,而是直接采用该全精度训练模式对神经网络模型进行后续的训练,直至训练结束。由于全精度训练模式相比混合精度训练模式具有更稳定的训练性能,并且神经网络模型的训练越靠后越需要保证训练性能的稳定,因此,当基于某个目标阶段的衡量操作确定全精度训练模式当前更适用于对神经网络模型进行训练时,可以直接采用该全精度训练模式完成后续训练。
本申请实施例提供的模型训练方法可以通过上述步骤201至步骤205,对神经网络模型进行训练,直至该神经网络模型满足训练结束条件。此处的训练结束条件可以是指所训练的神经网络模型的性能满足预设条件,例如,可以采用测试样本对神经网络模型进行测试,若测试结果表明该神经网络模型的准确度达到预设准确度,则可认为该神经网络模型已满足训练结束条件。此处的训练结束条件也可以是指对于神经网络模型训练的迭代步达到预设迭代步数,例如,假设预设迭代步数为500步,则服务器针对神经网络模型完成第500个迭代步的训练后,即可认为该神经网络模型已满足训练结束条件。当然,在实际应用中,训练结束条件也可以为其它条件,本申请在此不对训练结束条件做具体限定。
本申请实施例提供的模型训练方法在训练神经网络模型的过程中增加了衡量优化训练模式和基础训练模式的环节,通过该环节确定当前更适用于训练该神经网络模型的训练模式。在确定优化训练模式当前更适用于训练该神经网络模型时,继续使用该优化训练模式训练该神经网络模型,以在模型训练阶段充分利用优化训练模式的优势,提升对于神经网络模型的训练效果。在确定基础训练模式当前更适用于训练该神经网络模型时,及时切换使用基础训练模式训练该神经网络模型,以避免因持续使用优化训练模式而带来的负面训练效果。
为了便于进一步理解本申请实施例提供的模型训练方法,下面以基于TensorFlow系统,采用混合精度训练模式和/或全精度训练模式训练图像处理模型(如人脸识别模型等)为例,结合图3所示的流程图对该模型训练方法进行整体示例性介绍。
相关技术中,基于TensorFlow训练图像处理模型时,每次都会将待训练的图像处理模型对应的计算图传入C++端(常见于第一个迭代步),服务器根据计算图上的参数设置,通常可以确定需要采用混合精度训练模式进行训练,并在后续训练过程中保持该训练模式;在后续的迭代步中,由于C++端会判断计算图没有发生改变,因此不会重新设置训练模式,而是基于混合精度训练模式持续地进行后续训练。本申请实施例提供的方法可以通过添加环境变量,使得C++端跳过上述判断是否出现新计算图的步骤,直接重新判断是否继续基于混合精度训练模型进行训练,并达到热关闭或热开启混合精度训练模式的目的。
如图3所示,服务器可以默认训练开始时使用混合精度训练模式对图像处理模型进行训练,之后以N+2M个迭代步作为一个周期进行模型训练和训练模式的对比监测,此处的N和M均可以为超参数。其中,每个周期的前N个迭代步会基于混合精度训练模式进行训练;在每个周期的后2M个迭代步中的前M个迭代步,保持使用混合精度训练模式对图像处理模型进行训练,并且记录使用混合精度训练模式完成这M个迭代步的训练所花费的时间t1、模型收敛情况(如损失函数变化率)dL1;在每个周期的后2M个迭代步中的后M个迭代步,热关闭混合精度训练模式,热开启全精度训练模式,使用全精度训练模式对图像处理模型进行训练,并记录使用全精度训练模式完成这M个迭代步的训练所花费的时间t2、模型收敛情况(如损失函数变化率)dL2。
利用收集到的数据比较单位时间内混合精度训练模式的收敛量是否大于全精度训练模式的收敛量,即比较dL1/t1是否大于dL2/t2。如果dL1/t1大于dL2/t2,则说明单位时间内混合精度训练模式的收敛量大于全精度训练模式的收敛量,混合精度训练模式的性能更优,可以继续使用混合精度训练模式对该图像处理模型进行训练,并继续执行图3所示的循环,开始新的N+2M个迭代步的周期。反之,如果dL1/t1小于dL2/t2,则说明单位时间内混合精度训练模式的收敛量小于全精度训练模式的收敛量,全精度训练模式的性能更优,需要关闭混合精度训练模式,切换使用全精度训练模式对图像处理模型进行训练,直至训练结束(即不再进入周期性监测)。
如此,在训练图像处理模型的过程中增加了衡量混合精度训练模式和全精度训练模式的环节,通过该环节确定当前更适用于训练图像处理模型的训练模式。在确定混合精度训练模式当前更适用于训练该图像处理模型时,继续使用该混合精度训练模式训练该图像处理模型,以在模型训练阶段充分利用混合精度训练模式的优势,提升对于图像处理模型的训练速度,降低图像处理模型的内存消耗。在确定全精度训练模式当前更适用于训练该图像处理模型时,及时切换使用全精度训练模式训练该图像处理模型,以避免因持续使用混合精度训练模式而导致模型精度下滑、收敛速度降低等负面效果。
为了便于进一步理解本申请实施例提供的模型训练方法,下面以基于TensorFlow系统,采用混合精度训练模式和/或全精度训练模式训练语音处理模型(如语音识别模型等)为例,对该模型训练方法进行整体示例性介绍。
服务器可以默认训练开始时使用混合精度训练模式对语音处理模型进行训练,之后以N+2M个迭代步作为一个周期进行模型训练和训练模式的对比监测,此处的N和M均可以为超参数。其中,每个周期的前N个迭代步会基于混合精度训练模式进行训练;在每个周期的后2M个迭代步中的前M个迭代步,保持使用混合精度训练模式对语音处理模型进行训练,并且记录使用混合精度训练模式完成这M个迭代步的训练所花费的时间t1、模型收敛情况(如损失函数变化率)dL1;在每个周期的后2M个迭代步中的后M个迭代步,热关闭混合精度训练模式,热开启全精度训练模式,使用全精度训练模式对语音处理模型进行训练,并记录使用全精度训练模式完成这M个迭代步的训练所花费的时间t2、模型收敛情况(如损失函数变化率)dL2。
利用收集到的数据比较单位时间内混合精度训练模式的收敛量是否大于全精度训练模式的收敛量,即比较dL1/t1是否大于dL2/t2。如果dL1/t1大于dL2/t2,则说明单位时间内混合精度训练模式的收敛量大于全精度训练模式的收敛量,混合精度训练模式的性能更优,可以继续使用混合精度训练模式对该语音处理模型进行训练,并继续执行上述循环,开始新的N+2M个迭代步的周期。反之,如果dL1/t1小于dL2/t2,则说明单位时间内混合精度训练模式的收敛量小于全精度训练模式的收敛量,全精度训练模式的性能更优,需要关闭混合精度训练模式,切换使用全精度训练模式对语音处理模型进行训练,直至训练结束(即不再进入周期性监测)。
如此,在训练语音处理模型的过程中增加了衡量混合精度训练模式和全精度训练模式的环节,通过该环节确定当前更适用于训练语音处理模型的训练模式。在确定混合精度训练模式当前更适用于训练该语音处理模型时,继续使用该混合精度训练模式训练该语音处理模型,以在模型训练阶段充分利用混合精度训练模式的优势,提升对于语音处理模型的训练速度,降低语音处理模型的内存消耗。在确定全精度训练模式当前更适用于训练该语音处理模型时,及时切换使用全精度训练模式训练该语音处理模型,以避免因持续使用混合精度训练模式而导致模型精度下滑、收敛速度降低等负面效果。
针对上文描述的模型训练方法,本申请还提供了对应的模型训练装置,以使上述模型训练方法在实际中的应用以及实现。
参见图4,图4为上文图2所示的模型训练方法对应的一种模型训练装置400的结构示意图,该模型训练装置400包括:
训练模块401,用于基于优化训练模式对神经网络模型进行训练;
多模式训练模块402,用于当所述神经网络模型训练至目标阶段时,分别基于所述优化训练模式和基础训练模式,对所述神经网络模型进行所述目标阶段的训练;
参考信息确定模块403,用于根据所述优化训练模式和所述基础训练模式各自在所述目标阶段对于所述神经网络模型的训练情况,确定所述优化训练模式和所述基础训练模式各自对应的训练参考信息;
模式选择模块404,用于根据所述优化训练模式和所述基础训练模式各自对应的训练参考信息,从所述优化训练模式和所述基础训练模式中选出目标训练模式;
所述训练模块401,还用于基于所述目标训练模式对所述神经网络模型继续进行训练。
可选的,在图4所述的模型训练装置的基础上,所述参考信息确定模块403具体用于:
确定基于所述优化训练模式完成所述目标阶段的训练所耗费的第一时长,确定在所述优化训练模式下所述神经网络模型在所述目标阶段的第一收敛量,将所述第一时长和所述第一收敛量作为所述优化训练模式对应的训练参考信息;
确定基于所述基础训练模式完成所述目标阶段的训练所耗费的第二时长,确定在所述基础训练模式下所述神经网络模型在所述目标阶段的第二收敛量,将所述第二时长和所述第二收敛量作为所述基础训练模式对应的训练参考信息。
可选的,在图4所述的模型训练装置的基础上,所述模式选择模块404具体用于:
根据所述第一时长和所述第一收敛量,计算所述优化训练模式对应的收敛速率;根据所述第二时长和所述第二收敛量,计算所述基础训练模式对应的收敛速率;
确定所述优化训练模式和所述基础训练模式中收敛速率最高的训练模式,作为所述目标训练模式。
可选的,在图4所示的模型训练装置的基础上,所述参考信息确定模块403具体用于:
确定基于所述优化训练模式完成所述目标阶段的训练后所述神经网络模型对应的第一模型精度,作为所述优化训练模式对应的训练参考信息;
确定基于所述基础训练模式完成所述目标阶段的训练后所述神经网络模型对应的第二模型精度,作为所述基础训练模式对应的训练参考信息。
可选的,在图4所示的模型训练装置的基础上,所述模式选择模块404具体用于:
当所述第一模型精度高于所述第二模型精度时,确定所述优化训练模式为所述目标训练模式;
当所述第二模型精度高于所述第一模型精度时,确定所述基础训练模式为所述目标训练模式。
可选的,在图4所示的模型训练装置的基础上,所述多模式训练模块402具体用于:
当所述神经网络模型训练至所述目标阶段时,基于所述优化训练模式对所述神经网络模型进行所述目标阶段的训练;
热关闭所述优化训练模式,热开启所述基础训练模式;
基于所述基础训练模式对所述神经网络模型进行所述目标阶段的训练。
可选的,在图4所示的模型训练装置的基础上,所述多模式训练模块402具体用于:
当所述神经网络模型训练至所述目标阶段时,热开启所述基础训练模式,基于所述优化训练模式和所述基础训练模式,并行地对所述神经网络模型进行所述目标阶段的训练。
可选的,在图4所示的模型训练装置的基础上,所述神经网络模型的训练过程中包括多个所述目标阶段;则所述模式选择模块404具体用于:
根据所述优化训练模式和所述基础训练模式在至少两个相邻的所述目标阶段中各自对应的训练参考信息,从所述优化训练模式和所述基础训练模式中选出所述目标训练模式。
可选的,在图4所示的模型训练装置的基础上,所述优化训练模式为混合精度训练模式,所述基础训练模式为全精度训练模式。
可选的,在图4所示的模型训练装置的基础上,在所述目标训练模式为所述混合精度训练模式的情况下,所述训练模块401具体用于:
基于所述混合精度训练模式对所述神经网络模型进行训练;
当所述神经网络模型训练至下一目标阶段时,分别基于所述混合精度训练模式和全精度训练模式,对所述神经网络模型进行所述下一目标阶段的训练;根据所述混合精度训练模式和所述全精度训练模式各自在所述下一目标阶段对于所述神经网络模型的训练情况,确定所述混合精度训练模式和所述全精度训练模式各自对应的训练参考信息;根据所述混合精度训练模式和所述全精度训练模式各自对应的训练参考信息,从所述混合精度训练模式和所述全精度训练模式中选出新的目标训练模式。
可选的,在图4所示的模型训练装置的基础上,在所述目标训练模式为所述全精度训练模式的情况下,所述训练模块401具体用于:
基于所述全精度训练模式对所述神经网络模型进行训练,直至所述神经网络模型满足训练结束条件。
本申请实施例提供的模型训练装置在训练神经网络模型的过程中增加了衡量优化训练模式和基础训练模式的环节,通过该环节确定当前更适用于训练该神经网络模型的训练模式。在确定优化训练模式当前更适用于训练该神经网络模型时,继续使用该优化训练模式训练该神经网络模型,以在模型训练阶段充分利用优化训练模式的优势,提升对于神经网络模型的训练效果。在确定基础训练模式当前更适用于训练该神经网络模型时,及时切换使用基础训练模式训练该神经网络模型,以避免因持续使用优化训练模式而带来的负面训练效果。
本申请实施例还提供了一种用于训练神经网络模型的设备,该设备具体可以为服务器和终端设备,下面将从硬件实体化的角度对本申请实施例提供的服务器和终端设备进行介绍。
参见图5,图5为本申请实施例提供的一种服务器500的结构示意图。该服务器500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessing units,CPU)522(例如,一个或一个以上处理器)和存储器532,一个或一个以上存储应用程序542或数据544的存储介质530(例如一个或一个以上海量存储设备)。其中,存储器532和存储介质530可以是短暂存储或持久存储。存储在存储介质530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器522可以设置为与存储介质530通信,在服务器500上执行存储介质530中的一系列指令操作。
服务器500还可以包括一个或一个以上电源526,一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口558,和/或,一个或一个以上操作系统541,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中由服务器所执行的步骤可以基于该图5所示的服务器结构。
其中,CPU 522用于执行如下步骤:
基于优化训练模式对神经网络模型进行训练;
当所述神经网络模型训练至目标阶段时,分别基于所述优化训练模式和基础训练模式,对所述神经网络模型进行所述目标阶段的训练;
根据所述优化训练模式和所述基础训练模式各自在所述目标阶段对于所述神经网络模型的训练情况,确定所述优化训练模式和所述基础训练模式各自对应的训练参考信息;
根据所述优化训练模式和所述基础训练模式各自对应的训练参考信息,从所述优化训练模式和所述基础训练模式中选出目标训练模式;
基于所述目标训练模式对所述神经网络模型继续进行训练。
可选的,CPU 522还可以用于执行本申请实施例提供的模型训练方法的任意一种实现方式的步骤。
参见图6,图6为本申请实施例提供的一种终端设备的结构示意图。为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该终端可以为包括智能手机、计算机、平板电脑、个人数字助理等任意终端设备,以终端为计算机为例:
图6示出的是与本申请实施例提供的终端相关的计算机的部分结构的框图。参考图6,计算机包括:射频(Radio Frequency,RF)电路610、存储器620、输入单元630、显示单元640、传感器650、音频电路660、无线保真(wireless fidelity,WiFi)模块670、处理器680、以及电源690等部件。本领域技术人员可以理解,图6中示出的计算机结构并不构成对计算机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
存储器620可用于存储软件程序以及模块,处理器680通过运行存储在存储器620的软件程序以及模块,从而执行计算机的各种功能应用以及数据处理。存储器620可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器620可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器680是计算机的控制中心,利用各种接口和线路连接整个计算机的各个部分,通过运行或执行存储在存储器620内的软件程序和/或模块,以及调用存储在存储器620内的数据,执行计算机的各种功能和处理数据。可选的,处理器680可包括一个或多个处理单元;优选的,处理器680可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器680中。
在本申请实施例中,该终端所包括的处理器680还具有以下功能:
基于优化训练模式对神经网络模型进行训练;
当所述神经网络模型训练至目标阶段时,分别基于所述优化训练模式和基础训练模式,对所述神经网络模型进行所述目标阶段的训练;
根据所述优化训练模式和所述基础训练模式各自在所述目标阶段对于所述神经网络模型的训练情况,确定所述优化训练模式和所述基础训练模式各自对应的训练参考信息;
根据所述优化训练模式和所述基础训练模式各自对应的训练参考信息,从所述优化训练模式和所述基础训练模式中选出目标训练模式;
基于所述目标训练模式对所述神经网络模型继续进行训练。
可选的,所述处理器680还用于执行本申请实施例提供的模型训练方法的任意一种实现方式的步骤。
本申请实施例还提供一种计算机可读存储介质,用于存储计算机程序,该计算机程序用于执行前述各个实施例所述的一种模型训练方法中的任意一种实施方式。
本申请实施例还提供一种包括指令的计算机程序产品,当其在计算机上运行时,使得计算机执行前述各个实施例所述的一种模型训练方法中的任意一种实施方式。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文全称:Read-OnlyMemory,英文缩写:ROM)、随机存取存储器(英文全称:Random Access Memory,英文缩写:RAM)、磁碟或者光盘等各种可以存储计算机程序的介质。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (15)

1.一种模型训练方法,其特征在于,应用于采用深度学习框架的模型训练系统;所述方法包括:
根据待训练的神经网络模型对应的计算图上的参数设置,基于优化训练模式对所述神经网络模型进行训练;所述神经网络模型为图像处理模型或语音处理模型;
当所述神经网络模型训练至目标阶段时,分别基于所述优化训练模式和基础训练模式,对所述神经网络模型进行所述目标阶段的训练;所述目标阶段是预先设置的第N+1至N+M个迭代步,其中,N,M均为大于或等于1的整数;所述目标阶段用于指示热开启所述基础训练模式;
根据所述优化训练模式和所述基础训练模式各自在所述目标阶段对于所述神经网络模型的训练情况,确定所述优化训练模式和所述基础训练模式各自对应的训练参考信息;
根据所述优化训练模式和所述基础训练模式各自对应的训练参考信息,从所述优化训练模式和所述基础训练模式中选出目标训练模式;
基于所述目标训练模式对所述神经网络模型继续进行训练,其中,若所述目标训练模式为所述优化训练模式,则继续使用所述优化训练模式对所述神经网络模型继续进行训练;若所述目标训练模式为所述基础训练模式,则切换使用所述基础训练模式对所述神经网络模型继续进行训练。
2.根据权利要求1所述的方法,其特征在于,所述根据所述优化训练模式和所述基础训练模式各自在所述目标阶段对于所述神经网络模型的训练情况,确定所述优化训练模式和所述基础训练模式各自对应的训练参考信息,包括:
确定基于所述优化训练模式完成所述目标阶段的训练所耗费的第一时长,确定在所述优化训练模式下所述神经网络模型在所述目标阶段的第一收敛量,将所述第一时长和所述第一收敛量作为所述优化训练模式对应的训练参考信息;
确定基于所述基础训练模式完成所述目标阶段的训练所耗费的第二时长,确定在所述基础训练模式下所述神经网络模型在所述目标阶段的第二收敛量,将所述第二时长和所述第二收敛量作为所述基础训练模式对应的训练参考信息。
3.根据权利要求2所述的方法,其特征在于,所述根据所述优化训练模式和所述基础训练模式各自对应的训练参考信息,从所述优化训练模式和所述基础训练模式中选出目标训练模式,包括:
根据所述第一时长和所述第一收敛量,计算所述优化训练模式对应的收敛速率;根据所述第二时长和所述第二收敛量,计算所述基础训练模式对应的收敛速率;
确定所述优化训练模式和所述基础训练模式中收敛速率最高的训练模式,作为所述目标训练模式。
4.根据权利要求1所述的方法,其特征在于,所述根据所述优化训练模式和所述基础训练模式各自在所述目标阶段对于所述神经网络模型的训练情况,确定所述优化训练模式和所述基础训练模式各自对应的训练参考信息,包括:
确定基于所述优化训练模式完成所述目标阶段的训练后所述神经网络模型对应的第一模型精度,作为所述优化训练模式对应的训练参考信息;
确定基于所述基础训练模式完成所述目标阶段的训练后所述神经网络模型对应的第二模型精度,作为所述基础训练模式对应的训练参考信息。
5.根据权利要求4所述的方法,其特征在于,所述根据所述优化训练模式和所述基础训练模式各自对应的训练参考信息,从所述优化训练模式和所述基础训练模式中选出目标训练模式,包括:
当所述第一模型精度高于所述第二模型精度时,确定所述优化训练模式为所述目标训练模式;
当所述第二模型精度高于所述第一模型精度时,确定所述基础训练模式为所述目标训练模式。
6.根据权利要求1所述的方法,其特征在于,所述当所述神经网络模型训练至目标阶段时,分别基于所述优化训练模式和基础训练模式,对所述神经网络模型进行所述目标阶段的训练,包括:
当所述神经网络模型训练至所述目标阶段时,基于所述优化训练模式对所述神经网络模型进行所述目标阶段的训练;
热关闭所述优化训练模式,热开启所述基础训练模式;
基于所述基础训练模式对所述神经网络模型进行所述目标阶段的训练。
7.根据权利要求1所述的方法,其特征在于,所述当所述神经网络模型训练至目标阶段时,分别基于所述优化训练模式和基础训练模式,对所述神经网络模型进行所述目标阶段的训练,包括:
当所述神经网络模型训练至所述目标阶段时,热开启所述基础训练模式,基于所述优化训练模式和所述基础训练模式,并行地对所述神经网络模型进行所述目标阶段的训练。
8.根据权利要求1所述的方法,其特征在于,所述神经网络模型的训练过程中包括多个所述目标阶段;所述根据所述优化训练模式和所述基础训练模式各自对应的训练参考信息,从所述优化训练模式和所述基础训练模式中选出目标训练模式,包括:
根据所述优化训练模式和所述基础训练模式在至少两个相邻的所述目标阶段中各自对应的训练参考信息,从所述优化训练模式和所述基础训练模式中选出所述目标训练模式。
9.根据权利要求1至8任一项所述的方法,其特征在于,所述优化训练模式为混合精度训练模式,所述基础训练模式为全精度训练模式。
10.根据权利要求9所述的方法,其特征在于,在所述目标训练模式为所述混合精度训练模式的情况下,所述基于所述目标训练模式对所述神经网络模型继续进行训练,包括:
基于所述混合精度训练模式对所述神经网络模型进行训练;
当所述神经网络模型训练至下一目标阶段时,分别基于所述混合精度训练模式和全精度训练模式,对所述神经网络模型进行所述下一目标阶段的训练;根据所述混合精度训练模式和所述全精度训练模式各自在所述下一目标阶段对于所述神经网络模型的训练情况,确定所述混合精度训练模式和所述全精度训练模式各自对应的训练参考信息;根据所述混合精度训练模式和所述全精度训练模式各自对应的训练参考信息,从所述混合精度训练模式和所述全精度训练模式中选出新的目标训练模式。
11.根据权利要求9所述的方法,其特征在于,在所述目标训练模式为所述全精度训练模式的情况下,所述基于所述目标训练模式对所述神经网络模型继续进行训练,包括:
基于所述全精度训练模式对所述神经网络模型进行训练,直至所述神经网络模型满足训练结束条件。
12.一种模型训练装置,其特征在于,应用于采用深度学习框架的模型训练系统;所述装置包括:
训练模块,用于根据待训练的神经网络模型对应的计算图上的参数设置,基于优化训练模式对所述神经网络模型进行训练;所述神经网络模型为图像处理模型或语音处理模型;
多模式训练模块,用于当所述神经网络模型训练至目标阶段时,分别基于所述优化训练模式和基础训练模式,对所述神经网络模型进行所述目标阶段的训练;所述目标阶段是预先设置的第N+1至N+M个迭代步,其中,N,M均为大于或等于1的整数;所述目标阶段用于指示热开启所述基础训练模式;
参考信息确定模块,用于根据所述优化训练模式和所述基础训练模式各自在所述目标阶段对于所述神经网络模型的训练情况,确定所述优化训练模式和所述基础训练模式各自对应的训练参考信息;
模式选择模块,用于根据所述优化训练模式和所述基础训练模式各自对应的训练参考信息,从所述优化训练模式和所述基础训练模式中选出目标训练模式;
所述训练模块,还用于基于所述目标训练模式对所述神经网络模型继续进行训练,其中,若所述目标训练模式为所述优化训练模式,则继续使用所述优化训练模式对所述神经网络模型继续进行训练;若所述目标训练模式为所述基础训练模式,则切换使用所述基础训练模式对所述神经网络模型继续进行训练。
13.根据权利要求12所述的装置,其特征在于,所述参考信息确定模块具体用于:
确定基于所述优化训练模式完成所述目标阶段的训练所耗费的第一时长,确定在所述优化训练模式下所述神经网络模型在所述目标阶段的第一收敛量,将所述第一时长和所述第一收敛量作为所述优化训练模式对应的训练参考信息;
确定基于所述基础训练模式完成所述目标阶段的训练所耗费的第二时长,确定在所述基础训练模式下所述神经网络模型在所述目标阶段的第二收敛量,将所述第二时长和所述第二收敛量作为所述基础训练模式对应的训练参考信息。
14.一种电子设备,其特征在于,所述设备包括处理器及存储器;
所述存储器用于存储计算机程序;
所述处理器用于根据所述计算机程序执行权利要求1至11中任一项所述的模型训练方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于被处理器运行,以执行权利要求1至11中任一项所述的模型训练方法。
CN202010529888.3A 2020-06-11 2020-06-11 一种模型训练方法、装置、设备及存储介质 Active CN111695688B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010529888.3A CN111695688B (zh) 2020-06-11 2020-06-11 一种模型训练方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010529888.3A CN111695688B (zh) 2020-06-11 2020-06-11 一种模型训练方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN111695688A CN111695688A (zh) 2020-09-22
CN111695688B true CN111695688B (zh) 2024-01-12

Family

ID=72480385

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010529888.3A Active CN111695688B (zh) 2020-06-11 2020-06-11 一种模型训练方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN111695688B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113762503A (zh) * 2021-05-27 2021-12-07 腾讯云计算(北京)有限责任公司 数据处理方法、装置、设备及计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109657793A (zh) * 2018-12-26 2019-04-19 广州小狗机器人技术有限公司 模型训练方法及装置、存储介质及电子设备
CN110162799A (zh) * 2018-11-28 2019-08-23 腾讯科技(深圳)有限公司 模型训练方法、机器翻译方法以及相关装置和设备
CN110363294A (zh) * 2018-03-26 2019-10-22 辉达公司 利用网络中的路径来表示神经网络以提高神经网络的性能
CN110782016A (zh) * 2019-10-25 2020-02-11 北京百度网讯科技有限公司 用于优化神经网络架构搜索的方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110363294A (zh) * 2018-03-26 2019-10-22 辉达公司 利用网络中的路径来表示神经网络以提高神经网络的性能
CN110162799A (zh) * 2018-11-28 2019-08-23 腾讯科技(深圳)有限公司 模型训练方法、机器翻译方法以及相关装置和设备
CN109657793A (zh) * 2018-12-26 2019-04-19 广州小狗机器人技术有限公司 模型训练方法及装置、存储介质及电子设备
CN110782016A (zh) * 2019-10-25 2020-02-11 北京百度网讯科技有限公司 用于优化神经网络架构搜索的方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
GPU平台上循环神经网络训练算法设计与优化;冯诗影;中国优秀硕士学位论文全文数据库 信息科技辑;第2019卷(第01期);第I140-272页 *
Mixed Precision Training;Paulius Micikevicius et al.;https://arxiv.org/pdf/1710.03740.pdf;第1-12页 *

Also Published As

Publication number Publication date
CN111695688A (zh) 2020-09-22

Similar Documents

Publication Publication Date Title
Addanki et al. Placeto: Learning generalizable device placement algorithms for distributed machine learning
Du et al. A survey on multi-agent deep reinforcement learning: from the perspective of challenges and applications
CN110168578B (zh) 具有任务特定路径的多任务神经网络
US11521066B2 (en) Method and apparatus for partitioning deep neural networks
JP7287397B2 (ja) 情報処理方法、情報処理装置及び情報処理プログラム
CN112329948A (zh) 一种多智能体策略预测方法及装置
CN111178486B (zh) 一种基于种群演化的超参数异步并行搜索方法
CN109977029A (zh) 一种页面跳转模型的训练方法及装置
CN111494964B (zh) 虚拟物品的推荐方法、模型的训练方法、装置及存储介质
CN112116090A (zh) 神经网络结构搜索方法、装置、计算机设备及存储介质
CN111768004A (zh) 一种基于智能计算框架的模型自适应方法及系统
Yang et al. Deep reinforcement learning based wireless network optimization: A comparative study
CN111695688B (zh) 一种模型训练方法、装置、设备及存储介质
CN116167413A (zh) 深度卷积神经网络量化剪枝联合优化的方法及系统
CN116920411B (zh) 一种数据处理方法及相关装置
CN112131089B (zh) 软件缺陷预测的方法、分类器、计算机设备及存储介质
CN112990461B (zh) 构建神经网络模型的方法、装置、计算机设备和存储介质
CN116861957A (zh) 一种基于强化学习的算子自动调优方法及相关装置
US20230122178A1 (en) Computer-readable recording medium storing program, data processing method, and data processing device
CN110008880A (zh) 一种模型压缩方法及装置
CN116108195A (zh) 基于时序元学习的动态知识图谱预测方法和装置
CN117011118A (zh) 模型参数更新方法、装置、计算机设备以及存储介质
CN112052865A (zh) 用于生成神经网络模型的方法和装置
CN115438588A (zh) 一种锂电池的温度预测方法、系统、设备及存储介质
CN111539989B (zh) 基于优化方差下降的计算机视觉单目标跟踪方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40028115

Country of ref document: HK

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant