CN117744732A - 深度学习模型的训练方法、推理方法、装置、设备和介质 - Google Patents

深度学习模型的训练方法、推理方法、装置、设备和介质 Download PDF

Info

Publication number
CN117744732A
CN117744732A CN202311766496.9A CN202311766496A CN117744732A CN 117744732 A CN117744732 A CN 117744732A CN 202311766496 A CN202311766496 A CN 202311766496A CN 117744732 A CN117744732 A CN 117744732A
Authority
CN
China
Prior art keywords
deep learning
learning model
parameters
target
commander
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311766496.9A
Other languages
English (en)
Inventor
王硕寰
尚骏远
杨茵淇
王国霞
张林昊
孙宇
吴华
王海峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202311766496.9A priority Critical patent/CN117744732A/zh
Publication of CN117744732A publication Critical patent/CN117744732A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Image Analysis (AREA)

Abstract

本公开提供了一种深度学习模型的训练方法、推理方法、装置、设备和介质,涉及人工智能技术领域,尤其涉及机器学习和深度学习等技术领域。第一模型包括多个第一参数,第二模型包括多个第二参数,多个第二参数被初始化为在多个第一参数中选择的多个目标参数的参数值。训练方法包括:确定第一模型和第二模型的目标损失;基于目标损失,调整多个第一参数和多个第二参数的参数值,包括:响应于确定目标损失指示第一模型包括的至少一部分目标参数的参数值需要被调整,同步调整第二模型包括的对应的第二参数的参数值;响应于确定目标损失指示第二模型包括的至少一部分第二参数的参数值需要被调整,同步调整第一模型包括的对应的目标参数的参数值。

Description

深度学习模型的训练方法、推理方法、装置、设备和介质
技术领域
本公开涉及人工智能技术领域,尤其涉及机器学习和深度学习等技术领域,具体涉及一种深度学习模型的训练方法、深度学习模型的推理方法、深度学习模型的训练装置、深度学习模型的推理装置、电子设备、计算机可读存储介质和计算机程序产品。
背景技术
人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术也有软件层面的技术。人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等技术;人工智能软件技术主要包括自然语言处理技术、计算机视觉技术、语音识别技术以及机器学习/深度学习、大数据处理技术、知识图谱技术等几大方向。
在此部分中描述的方法不一定是之前已经设想到或采用的方法。除非另有指明,否则不应假定此部分中描述的任何方法仅因其包括在此部分中就被认为是现有技术。类似地,除非另有指明,否则此部分中提及的问题不应认为在任何现有技术中已被公认。
发明内容
本公开提供了一种深度学习模型的训练方法、深度学习模型的推理方法、深度学习模型的训练装置、深度学习模型的推理装置、电子设备、计算机可读存储介质和计算机程序产品。
根据本公开的一方面,提供了一种深度学习模型的训练方法,其中,第一深度学习模型包括多个第一参数,第二深度学习模型包括多个第二参数,多个第二参数被初始化为多个第一参数中的与多个第二参数对应的多个目标参数的参数值,多个第二参数的数量少于多个第一参数,该训练方法包括:确定第一深度学习模型和第二深度学习模型的目标损失;基于目标损失,调整多个第一参数和多个第二参数的参数值,以得到训练后的第一深度学习模型和第二深度学习模型,包括:响应于确定目标损失指示第一深度学习模型所包括的多个目标参数中的至少一部分目标参数的参数值需要被调整,同步调整第二深度学习模型所包括的与至少一部分目标参数对应的第二参数的参数值;以及响应于确定目标损失指示第二深度学习模型所包括的多个第二参数中的至少一部分第二参数的参数值需要被调整,同步调整第一深度学习模型所包括的与至少一部分第二参数对应的目标参数的参数值。
根据本公开的另一方面,提供了一种深度学习模型的推理方法,其中,第一深度学习模型和第二深度学习模型是利用上述训练方法进行训练而得到的,该推理方法包括:利用第二深度学习模型,依次生成多个预测令符;利用第一深度学习模型,基于多个预测令符生成多个预测令符各自的置信度;以及基于多个预测令符的生成顺序,校验多个预测令符,以得到推理结果,包括:响应于确定当前校验的预测令符的置信度低于预设阈值,利用第一深度学习模型在该预测令符的位置生成纠正令符,以替换该预测令符作为经校验的预测令符;响应于确定满足预设令符生成条件,利用第二深度学习模型,基于纠正令符,从纠正令符的下一个位置重新依次生成预测令符,并利用第一深度学习模型生成重新生成的预测令符的置信度以进行校验;以及基于经校验的预测令符,得到推理结果。
根据本公开的另一方面,提供了一种深度学习模型的训练装置,其中,第一深度学习模型包括多个第一参数,第二深度学习模型包括多个第二参数,多个第二参数被初始化为多个第一参数中的多个目标参数的参数值,多个第二参数的数量少于多个第一参数,该训练装置包括:确定单元,被配置为确定第一深度学习模型和第二深度学习模型的目标损失;调参单元,被配置为基于目标损失,调整多个第一参数和多个第二参数的参数值,以得到训练后的第一深度学习模型和第二深度学习模型,包括:第一调参子单元,被配置为响应于确定目标损失指示第一深度学习模型所包括的多个目标参数中的至少一部分目标参数的参数值需要被调整,同步调整第二深度学习模型所包括的与至少一部分目标参数对应的第二参数的参数值;以及第二调参子单元,被配置为响应于确定目标损失指示第二深度学习模型所包括的多个第二参数中的至少一部分第二参数的参数值需要被调整,同步调整第一深度学习模型所包括的与至少一部分第二参数对应的目标参数的参数值。
根据本公开的另一方面,提供了一种深度学习模型的推理装置,其中,第一深度学习模型和第二深度学习模型是利用上述训练装置进行训练而得到的,该推理装置包括:第一生成单元,被配置为利用第二深度学习模型,依次生成多个预测令符;第二生成单元,被配置为利用第一深度学习模型,基于多个预测令符生成多个预测令符各自的置信度;以及校验单元,被配置为基于多个预测令符的生成顺序,校验多个预测令符,以得到推理结果,包括:替换子单元,被配置为响应于确定当前校验的预测令符的置信度低于预设阈值,利用第一深度学习模型在该预测令符的位置生成纠正令符,以替换该预测令符作为经校验的预测令符;生成子单元,被配置为响应于确定满足预设令符生成条件,利用第二深度学习模型,基于纠正令符,从纠正令符的下一个位置重新依次生成预测令符,并利用第一深度学习模型生成重新生成的预测令符的置信度以进行校验;以及推理子单元,被配置为基于经校验的预测令符,得到推理结果。
根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中存储器存储有可被至少一个处理器执行的指令,这些指令被至少一个处理器执行,以使至少一个处理器能够执行上述方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行上述方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,其中,计算机程序在被处理器执行时实现上述方法。
根据本公开的一个或多个实施例,本公开针对第一深度学习模型和基于第一深度学习模型中的部分参数构建的第二深度学习模型,首先确定两者的目标损失,并基于目标损失确定两个模型各自的需要调整的参数值的参数,而后基于两个模型的参数间的对应关系,同步调整另一个模型中的相应参数的参数值,实现了一次训练产出不同量级的多个模型,满足不同场景、不同性能、不同效果目标的需求。此外,第一深度学习模型和第二深度学习模型作为整体进行训练,在训练过程中,知识和信息可以双向传递,加速模型收敛,并且能够使得两个模型均获得更好的预测能力。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图示例性地示出了实施例并且构成说明书的一部分,与说明书的文字描述一起用于讲解实施例的示例性实施方式。所示出的实施例仅出于例示的目的,并不限制权利要求的范围。在所有附图中,相同的附图标记指代类似但不一定相同的要素。
图1示出了根据本公开的实施例的可以在其中实施本文描述的各种方法的示例性系统的示意图;
图2示出了根据本公开的实施例的深度学习模型的训练方法的流程图;
图3示出了根据本公开的实施例的第一深度学习模型和第二深度学习模型的示意图;
图4示出了根据本公开的实施例的确定第一深度学习模型和第二深度学习模型的目标损失的过程的流程图;
图5示出了根据本公开的实施例的深度学习模型的推理方法的流程图;
图6示出了根据本公开的实施例的深度学习模型的训练装置的结构框图;
图7示出了根据本公开的实施例的深度学习模型的推理装置的结构框图;以及
图8示出了能够用于实现本公开的实施例的示例性电子设备的结构框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在本公开中,除非另有说明,否则使用术语“第一”、“第二”等来描述各种要素不意图限定这些要素的位置关系、时序关系或重要性关系,这种术语只是用于将一个要素与另一要素区分开。在一些示例中,第一要素和第二要素可以指向该要素的同一实例,而在某些情况下,基于上下文的描述,它们也可以指代不同实例。
在本公开中对各种所述示例的描述中所使用的术语只是为了描述特定示例的目的,而并非旨在进行限制。除非上下文另外明确地表明,如果不特意限定要素的数量,则该要素可以是一个也可以是多个。此外,本公开中所使用的术语“和/或”涵盖所列出的项目中的任何一个以及全部可能的组合方式。
相关技术中,不同深度学习模型独立训练,训练效率低下。
为解决上述问题,本公开针对第一深度学习模型和基于第一深度学习模型中的部分参数构建的第二深度学习模型,首先确定两者的目标损失,并基于目标损失确定两个模型各自的需要调整的参数值的参数,而后基于两个模型的参数间的对应关系,同步调整另一个模型中的相应参数的参数值,实现了一次训练产出不同量级的多个模型,满足不同场景、不同性能、不同效果目标的需求。此外,第一深度学习模型和第二深度学习模型作为整体进行训练,在训练过程中,知识和信息可以双向传递,加速模型收敛,并且能够使得两个模型均获得更好的预测能力。
下面将结合附图详细描述本公开的实施例。
图1示出了根据本公开的实施例可以将本文描述的各种方法和装置在其中实施的示例性系统100的示意图。参考图1,该系统100包括一个或多个客户端设备101、102、103、104、105和106、服务器120以及将一个或多个客户端设备耦接到服务器120的一个或多个通信网络110。客户端设备101、102、103、104、105和106可以被配置为执行一个或多个应用程序。
在本公开的实施例中,服务器120可以运行使得能够执行本公开的方法的一个或多个服务或软件应用。
在某些实施例中,服务器120还可以提供其他服务或软件应用,这些服务或软件应用可以包括非虚拟环境和虚拟环境。在某些实施例中,这些服务可以作为基于web的服务或云服务提供,例如在软件即服务(SaaS)模型下提供给客户端设备101、102、103、104、105和/或106的用户。
在图1所示的配置中,服务器120可以包括实现由服务器120执行的功能的一个或多个组件。这些组件可以包括可由一个或多个处理器执行的软件组件、硬件组件或其组合。操作客户端设备101、102、103、104、105和/或106的用户可以依次利用一个或多个客户端应用程序来与服务器120进行交互以利用这些组件提供的服务。应当理解,各种不同的系统配置是可能的,其可以与系统100不同。因此,图1是用于实施本文所描述的各种方法的系统的一个示例,并且不旨在进行限制。
用户可以使用客户端设备101、102、103、104、105和/或106来进行人机交互。客户端设备可以提供使客户端设备的用户能够与客户端设备进行交互的接口。客户端设备还可以经由该接口向用户输出信息。尽管图1仅描绘了六种客户端设备,但是本领域技术人员将能够理解,本公开可以支持任何数量的客户端设备。
客户端设备101、102、103、104、105和/或106可以包括各种类型的计算机设备,例如便携式手持设备、通用计算机(诸如个人计算机和膝上型计算机)、工作站计算机、可穿戴设备、智能屏设备、自助服务终端设备、服务机器人、游戏系统、瘦客户端、各种消息收发设备、传感器或其他感测设备等。这些计算机设备可以运行各种类型和版本的软件应用程序和操作系统,例如MICROSOFT Windows、APPLE iOS、类UNIX操作系统、Linux或类Linux操作系统(例如GOOGLE Chrome OS);或包括各种移动操作系统,例如MICROSOFT WindowsMobile OS、iOS、Windows Phone、Android。便携式手持设备可以包括蜂窝电话、智能电话、平板电脑、个人数字助理(PDA)等。可穿戴设备可以包括头戴式显示器(诸如智能眼镜)和其他设备。游戏系统可以包括各种手持式游戏设备、支持互联网的游戏设备等。客户端设备能够执行各种不同的应用程序,例如各种与Internet相关的应用程序、通信应用程序(例如电子邮件应用程序)、短消息服务(SMS)应用程序,并且可以使用各种通信协议。
网络110可以是本领域技术人员熟知的任何类型的网络,其可以使用多种可用协议中的任何一种(包括但不限于TCP/IP、SNA、IPX等)来支持数据通信。仅作为示例,一个或多个网络110可以是局域网(LAN)、基于以太网的网络、令牌环、广域网(WAN)、因特网、虚拟网络、虚拟专用网络(VPN)、内部网、外部网、区块链网络、公共交换电话网(PSTN)、红外网络、无线网络(例如蓝牙、WIFI)和/或这些和/或其他网络的任意组合。
服务器120可以包括一个或多个通用计算机、专用服务器计算机(例如PC(个人计算机)服务器、UNIX服务器、中端服务器)、刀片式服务器、大型计算机、服务器群集或任何其他适当的布置和/或组合。服务器120可以包括运行虚拟操作系统的一个或多个虚拟机,或者涉及虚拟化的其他计算架构(例如可以被虚拟化以维护服务器的虚拟存储设备的逻辑存储设备的一个或多个灵活池)。在各种实施例中,服务器120可以运行提供下文所描述的功能的一个或多个服务或软件应用。
服务器120中的计算单元可以运行包括上述任何操作系统以及任何商业上可用的服务器操作系统的一个或多个操作系统。服务器120还可以运行各种附加服务器应用程序和/或中间层应用程序中的任何一个,包括HTTP服务器、FTP服务器、CGI服务器、JAVA服务器、数据库服务器等。
在一些实施方式中,服务器120可以包括一个或多个应用程序,以分析和合并从客户端设备101、102、103、104、105和/或106的用户接收的数据馈送和/或事件更新。服务器120还可以包括一个或多个应用程序,以经由客户端设备101、102、103、104、105和/或106的一个或多个显示设备来显示数据馈送和/或实时事件。
在一些实施方式中,服务器120可以为分布式系统的服务器,或者是结合了区块链的服务器。服务器120也可以是云服务器,或者是带人工智能技术的智能云计算服务器或智能云主机。云服务器是云计算服务体系中的一项主机产品,以解决传统物理主机与虚拟专用服务器(VPS,Virtual Private Server)服务中存在的管理难度大、业务扩展性弱的缺陷。
系统100还可以包括一个或多个数据库130。在某些实施例中,这些数据库可以用于存储数据和其他信息。例如,数据库130中的一个或多个可用于存储诸如音频文件和视频文件的信息。数据库130可以驻留在各种位置。例如,由服务器120使用的数据库可以在服务器120本地,或者可以远离服务器120且可以经由基于网络或专用的连接与服务器120通信。数据库130可以是不同的类型。在某些实施例中,由服务器120使用的数据库例如可以是关系数据库。这些数据库中的一个或多个可以响应于命令而存储、更新和检索到数据库以及来自数据库的数据。
在某些实施例中,数据库130中的一个或多个还可以由应用程序使用来存储应用程序数据。由应用程序使用的数据库可以是不同类型的数据库,例如键值存储库,对象存储库或由文件系统支持的常规存储库。
图1的系统100可以以各种方式配置和操作,以使得能够应用根据本公开所描述的各种方法和装置。
根据本公开的一个方面,提供了一种深度学习模型的训练方法。第一深度学习模型包括多个第一参数,第二深度学习模型包括多个第二参数,多个第二参数被初始化为多个第一参数中的与多个第二参数对应的多个目标参数的参数值。多个第二参数的数量少于多个第一参数。
图2示出了根据本公开的实施例的深度学习模型的训练方法200的流程图。方法200包括:步骤S201、确定第一深度学习模型和第二深度学习模型的目标损失;步骤S202、基于目标损失,调整多个第一参数和多个第二参数的参数值,以得到训练后的第一深度学习模型和第二深度学习模型,包括:步骤S2021、响应于确定目标损失指示第一深度学习模型所包括的多个目标参数中的至少一部分目标参数的参数值需要被调整,同步调整第二深度学习模型所包括的与至少一部分目标参数对应的第二参数的参数值;以及步骤S2022、响应于确定目标损失指示第二深度学习模型所包括的多个第二参数中的至少一部分第二参数的参数值需要被调整,同步调整第一深度学习模型所包括的与至少一部分第二参数对应的目标参数的参数值。
由此,通过针对第一深度学习模型和基于第一深度学习模型中的部分参数构建的第二深度学习模型,首先确定两者的目标损失,并基于目标损失确定两个模型各自的需要调整的参数值的参数,而后基于两个模型的参数间的对应关系,同步调整另一个模型中的相应参数的参数值,实现了一次训练产出不同量级的多个模型,满足不同场景、不同性能、不同效果目标的需求。此外,第一深度学习模型和第二深度学习模型作为整体进行训练,在训练过程中,知识和信息可以双向传递,加速模型收敛,并且能够使得两个模型均获得更好的预测能力。
在一些实施例中,第一深度学习模型和第二深度学习模型可以基于各个种类深度学习模型,例如卷积神经网络、循环神经网络、多层感知机、全连接网络、Transformer结构或类Transformer结构(Transformer结构的各个类型的扩展结构)或其他种类的深度学习模型。第一深度学习模型和第二深度学习模型可以是完整的端到端的模型,也可以是用于特定任务的模型中的一个部分,在此不作限定。需要注意的是,第一深度学习模型和第二深度学习模型属于同一种类的模型。
在一些实施例中,可以使用第一模型架构和第二模型架构可以用来描述第一深度学习模型和第二深度学习模型的模型架构和模型配置信息,例如可以包括模型所包括的层数、模型的层的中间维度的数量等等。第二模型架构的规模小于第一模型架构,也即第二深度学习模型的模型规模/尺寸/参数量小于第一深度学习模型。
在一些实施例中,可以在多个第一参数中基于多个第二参数的数量选择其中一部分参数(即多个目标参数)用于构建第二深度学习模型。可以在多个第一参数中选择与多个第二参数数量相同的多个目标参数,并将多个第二参数初始化为多个目标参数的参数值。换句话说,初始化后的第二深度学习模型中的每一个第二参数的参数值与第一深度学习模型中的与该第二参数对应的目标参数的参数值相同。而在之后的对第一深度学习模型和第二深度学习模型的训练过程中,第一深度学习模型中的多个目标参数的参数值和第二深度学习模型的多个第二参数的参数值始终保持一致,如下文将要介绍的。
在一些实施例中,多个目标参数可以是基于多个第二参数的数量在多个第一参数中进行随机选择而得到的;也可以结合一些启发式的策略,例如均匀分布,或者采用特征选择/特征工程的方式在多个第一参数中进行选择,以得到能够实现更好的训练效果的多个目标参数。
根据一些实施例,第一深度学习模型可以包括第一层数的第一层,第一层数的第一层各自可以包括第一中间维度数量的第一中间维度。第二深度学习模型可以包括第二层数的第二层,多个第二层各自可以包括第二中间维度数量的第二中间维度。第二深度学习模型的第二层数可以小于第一深度学习模型的第一层数,并且第二深度学习模型中的第二层的第二中间维度数量可以小于第一深度学习模型中的第一层的第一中间维度数量。
多个目标参数可以包括在至少一个目标层各自的至少一个目标中间维度中的第一参数。至少一个目标层可以是基于第二层数在第一层数的第一层中选择得到的,至少一个目标中间维度可以是基于第二中间维度数量在第一中间维度数量的第一中间维度中选择得到的。
由此,通过上述方式,使得在从第一深度学习模型所包括的多个第一参数中选择得到满足第二深度学习模型的参数量的多个目标参数的同时,还能够尽可能保持第一深度学习模型的整体模型架构,避免选取的参数过于集中,提升了第二深度学习模型的预测能力。
根据一些实施例,第一深度学习模型和第二深度学习模型可以基于Transformer结构或类Transformer结构。第一深度学习模型可以包括第一隐藏维度数量的第一隐藏维度,第一层数的第一层各自可以包括第一注意力头数量的第一注意力头。第二深度学习模型可以包括第二隐藏维度数量的第二隐藏维度,第二层数的第二层各自可以包括第二注意力头数量的第二注意力头。
多个目标参数可以包括与多个目标隐藏维度对应的第一参数,并且可以包括至少一个目标注意力头中的第一参数。多个目标隐藏维度可以是基于第二隐藏维度数量在第一隐藏维度数量的第一隐藏维度中选择得到的,至少一个目标注意力头可以是基于第二注意力头数量在第一注意力头数量的第一注意力头中选择得到的。
由此,通过上述方式,使得在从第一深度学习模型所包括的多个第一参数中选择得到满足第二深度学习模型的参数量的多个目标参数的同时,还能够尽可能保持基于Transformer结构的第一深度学习模型的整体模型架构,避免选取的参数过于集中,提升了第二深度学习模型的预测能力。
在一些实施例中,第一层例如可以是Transformer层,第一中间维度例如可以是Transformer层中的前馈神经网络(Feed Forward Networks,FFN)中的中间维度(Intermediate dimension)。
图3示出了根据本公开的实施例的第一深度学习模型和第二深度学习模型的示意图。如图3所示,第一深度学习模型300包括嵌入向量输入302,隐藏维度数量为6,并且包括三个Transformer层,每一个Transformer层包括一组4个注意力头304和一个前馈神经网络306,前馈神经网络的中间维度数量为8。第二深度学习模型310包括嵌入向量输入312,隐藏维度数量为3,并且包括两个Transformer层,每一个Transformer层包括一组2个注意力头314和一个前馈神经网络316,前馈神经网络的中间维度数量为4。
从图中可以看出,在多个第一参数中选择的多个目标参数包括第一个Transformer层的第1、2、4、5共四个中间维度中的第一参数,并且第三个Transformer层的第3、5、7、8共四个中间维度中的第一参数。此外,多个目标参数包括与第1、4、6共三个隐藏维度对应的第一参数,包括第一个Transformer层的第2、4共两个注意力头中的第一参数,并且包括第三个Transformer层的地1、2共两个注意力头中的第一参数。基于这些目标参数,可以构建第二深度学习模型。
在一些实施例中,第二模型架构(即,第二深度学习模型所包括的层数、中间维度的数量等)可以是基于第一模型架构和预设比例而确定的。在一个示例性实施例中,预设比例可以为50%,则第二深度学习模型的第二层数可以是第一深度学习模型的第一层数的一半,第二深度学习模型的第二中间维度数量可以是第一深度学习模型的第一中间维度数量的一半。可以理解的是,第二模型架构也可以是基于预设的多个超参数值而确定的,在此不作限定。
根据一些实施例,至少一个目标层、至少一个目标中间维度、多个目标隐藏维度和/或至少一个目标注意力头可以是通过随机选择而得到的。
根据一些实施例,第一深度学习模型和第二深度学习模型均可以被配置为执行以下任务中的至少一个:文本处理任务、图像处理任务以及语音处理任务。第一深度学习模型和第二深度学习模型可以被配置为执行相同的任务。尽管两个模型执行的任务相同,但由于两个模型的参数量不同,因而两个模型的推理速度不同、精度不同,因此可以满足不同场景、不同性能、不同效果目标的需求。
根据一些实施例,第一深度学习模型可以为预训练大模型。预训练大模型在处理各类文本处理任务、图像处理任务和语音处理任务时都具有很好的表现,但其推理成本高昂,部署难度大。如果独立训练另一个“小”模型,则无法利用大模型已经学到的知识,并且对“小”模型的训练过程无法进一步提升大模型的能力。因此,在预训练大模型中通过选择的方式得到多个目标参数,进而基于多个目标参数构建“小”模型,并将大模型和“小”模型作为整体进行训练,使得知识和信息可以双向传递,加速模型收敛,并且能够使得两个模型均获得更好的预测能力。
在一些实施例中,可以通过初始化一个或多个固定的掩码矩阵以在多个第一参数中选择多个目标参数。掩码矩阵仅包括0和1,0代表仅第一深度学习模型训练,1代表第一深度学习模型与第二深度学习模型都训练。针对基于Transformer结构的深度学习模型,掩码矩阵可以包括隐藏维度的掩码矩阵、前馈神经网络的掩码矩阵、注意力头的掩码矩阵以及Transformer层的掩码矩阵。可以理解的是,针对不同类型的深度学习模型,掩码矩阵可以包括与不同的模型结构对应的掩码矩阵,在此不作限定。
在一些实施例中,在步骤S201,可以确定第一深度学习模型和第二深度学习模型在训练阶段的目标损失。可以理解的是,可以采用各类样本、各类损失函数以及各类训练策略计算目标损失,在此不作限定。
根据一些实施例,图4示出了根据本公开的实施例的确定第一深度学习模型和第二深度学习模型的目标损失的过程400的流程图。过程400可以用来实现方法200中的步骤S201。过程400可以包括:步骤S401、确定第一深度学习模型对于第一样本的第一损失;步骤S402、确定第二深度学习模型对于第二样本的第二损失;以及步骤S403、基于第一损失和第二损失,确定目标损失。
由此,通过确定第一深度学习模型和第二深度学习模型分别对于第一样本和第二样本的第一损失和第二损失,进而基于二者得到目标损失,使得能够在一次训练中同时调整第一深度学习模型和第二深度学习模型的参数,实现了两个模型的同步训练。
在一些实施例中,可以采用批训练的方式训练第一深度学习模型和第二深度学习模型,第一样本和第二样本都可以为批数据。在一个示例性实施例中,可以先用一个批数据(第一样本)训练第一深度学习模型,再用一个批数据(第二样本)训练第二深度学习模型,并基于两次的损失得到总的目标损失,从而实现对第一深度学习模型和第二深度学习模型的共同训练。
根据一些实施例,第一样本可以和第二样本相同。通过令第一深度学习模型和第二深度学习模型使用完全相同的训练样本,使得第二深度学习模型能够学习到第一深度学习模型顶层的注意力矩阵以及概率分布,使得第二深度学习模型和第一深度学习模型训练结果更加拟合,加速二者的协同训练,并且提升训练后的两个模型的预测能力。
在一些实施例中,在步骤S401和步骤S402,可以根据需求选择相应的损失函数,以得到第一损失和第二损失。在步骤S403,可以将第一损失和第二损失相加,得到目标损失。除上述方式外,也可以通过其他方式基于第一损失和第二损失,得到目标损失,在此不作限定。
在一些实施例中,在步骤S202,可以先通过反向传播基于目标损失确定多个第一参数和多个第二参数中的需要被调整参数值的参数,并确定相应的调整量。进而在步骤S2021,响应于确定目标损失指示第一深度学习模型所包括的多个目标参数中的至少一部分目标参数的参数值需要被调整,基于为这一部分目标参数确定的调整量,调整第一深度学习模型中的这一部分目标参数的参数值,并基于同样的调整量,同步调整第二深度学习模型中的与这一部分目标参数对应的第二参数的参数值。如果目标损失指示第一深度学习模型中的多个目标参数以外的某个第一参数的参数值需要被调整,则可以仅基于为该第一参数确定的调整量,调整第一深度学习模型中的该第一参数的参数值,而不调整第二深度学习模型的参数。
类似地,在步骤S2022,响应于确定目标损失指示第二深度学习模型所包括的多个第二参数中的至少一部分第二参数的参数值需要被调整,基于为这一部分第二参数确定的调整量,调整第二深度学习模型中的这一部分第二参数的参数值,并基于同样的调整量,同步调整第一深度学习模型中的与这一部分第二参数对应的目标参数(即,第一参数)的参数值。
在一些实施例中,在同一次训练中可能会为同一个参数确定两个调整量(在下文将要介绍的方案中,可能会有更多数量的调整量),可以使用其中的一个调整量对两个模型中的相应参数的参数值进行同步调整,也可以使用两个调整量对两个模型中的相应参数的参数值进行同步调整,在此不作限定。
在一些实施例中,方法200可以扩展到对更多的模型进行训练。待训练的模型还可以包括第三深度学习模型。第三深度学习模型包括多个第三参数,多个第三参数被初始化为多个目标参数中的与多个第三参数对应的多个共用参数的参数值,其中,多个第三参数的数量少于多个第二参数。换句话说,与多个第二参数对应的多个目标参数是多个第一参数的子集,与多个第三参数对应的多个共用参数是多个目标参数的子集。关于第三模型的结构和操作,可以参照上文对第二模型的描述。
在训练阶段,可以先确定三个模型的目标损失,并基于目标损失调整每一个模型的参数的参数值。具体地,响应于确定目标损失指示其中一个模型的其中一个参数的参数值需要被调整,如果该参数另外两个模型中包括与该参数对应的参数,则同步调整对应的参数的参数值。通过这样的方式,能够得到不同量级的三个模型。
可以理解的是,参照上文的描述,方法200还可以扩展到对4个或更多的模型进行训练,在此不作赘述。本公开的方法可以在不增加训练成本的情况下扩展所训练的模型的数量,这是因为每一轮的训练都会训练到每一个模型,因此扩展模型的数量并不会增加训练的轮次。
根据本公开的另一方面,提供了一种深度学习模型的推理方法。图5示出了根据本公开的实施例的深度学习模型的推理方法500的流程图。方法500中所涉及的第一深度学习模型和第二深度学习模型可以是利用上文所描述的方法200进行训练而得到的。方法500包括:步骤S501、利用第二深度学习模型,依次生成多个预测令符;步骤S502、利用第一深度学习模型,基于多个预测令符生成多个预测令符各自的置信度;以及步骤S503、基于多个预测令符的生成顺序,校验多个预测令符,以得到推理结果,包括:步骤S5031、响应于确定当前校验的预测令符的置信度低于预设阈值,利用第一深度学习模型在该预测令符的位置生成纠正令符,以替换该预测令符作为经校验的预测令符;步骤S5032、响应于确定满足预设令符生成条件,利用第二深度学习模型,基于纠正令符,从纠正令符的下一个位置重新依次生成预测令符,并利用第一深度学习模型生成重新生成的预测令符的置信度以进行校验;以及步骤S5033、基于经校验的预测令符,得到推理结果。
深度学习模型预测通常包括两种模式,一种是解码模式,需要逐个令符(Token)预测,所需的时间更长。另外一种是校验模式,即给定已生成的多个令符,得出这个结果中的每一个令符的置信度(即,顶层概率分布)。由于校验模式可以一次处理整个生成序列,所以需要的时间明显少于解码模式。本公开将规模更小的第二深度学习模型的解码过程与规模更大的第一深度学习模型的校验过程进行结合,能够快速得到高质量的结果,进一步提升了性能和推理效果。
在一些实施例中,在步骤S501,可以以解码模式使用第二深度学习模型,依次生成多个预测令符。由于第二深度学习模型的规模较小,因此即便使用解码模式也能够快速得到预测结果序列,即多个预测令符。
在一个示例性实施例中,可以将输入令符序列输入第二深度学习模型,以得到模型输出的第一个预测令符,进而将输入令符序列和第一个预测令符再输入模型,以得到模型输出的第二个预测令符,以此类推,直至模型输出表示结束的[End]令符或已输出的令符达到预设数量。可以理解的是,除上述方式外,还可以通过其他方式利用第二深度学习模型,依次生成多个预测令符,在此不作限定。
在一些实施例中,在步骤S502,可以以校验模式使用第一深度学习模型,基于多个预测令符直接生成多个预测令符各自的置信度。由于第一深度学习模型的规模较大,因此如果使用解码模式,则需要耗费较长时间才能够得到预测结果序列;使用校验模式能够快速得到与第二深度学习模型生成的多个预测令符对应的顶层概率分布。
在一些实施例中,在步骤S503,可以基于多个预测令符的生成顺序,校验多个预测令符,并根据校验结果执行相应操作。
在一些实施例中,在步骤S5031,响应于确定当前校验的预测令符的置信度低于预设阈值,则表明规模更大的第一深度学习模型认为当前校验的预测令符不准确。因此,可以以解码模式使用第一深度学习模型,在该预测令符的位置生成纠正令符,并替换掉第二深度学习模型生成的预测令符。该纠正令符可以作为经校验的预测令符,用于最终生成推理结果。
在一个示例性实施例中,响应于确定当前校验的预测令符的置信度低于预设阈值,可以将当前校验的预测令符之前的全部预测令符输入第一深度学习模型,以得到第一深度学习模型生成的当前位置的令符,即纠正令符。
在一些实施例中,在步骤S5032,响应于确定满足预设令符生成条件,以解码模式使用第二深度学习模型,基于纠正令符,从纠正令符的下一个位置重新依次生成至少一个预测令符。而后,在至少一个预测令符生成完毕或满足其他中止生成条件后,以校验模式使用第一深度学习模型,基于重新生成的至少一个预测令符生成至少一个预测令符的置信度,进而对至少一个预测令符进行校验。可以重复上述过程,直至所有预测令符校验完毕。
根据一些实施例,预设令符生成条件可以包括已生成的令符数量小于预设数量。换句话说,可以设置一个预设数量,并以预设数量为单位进行预测令符的生成和校验,在校验完毕后继续以预设数量为单位生成预设令符并校验,直至生成过程结束,例如,生成了高置信度的[End]令符。
由此,通过上述方式,能够控制在生成和校验的预测令符序列的长度上限,避免生成和校验过长的预测令符序列而导致性能下降。
根据一些实施例,预设令符生成条件可以包括纠正令符指示令符生成未结束。在一个示例性实施例中,如果纠正令符不是[End]令符,则预设生成条件未满足,需要利用第二深度学习重新依次生成预测令符。
根据一些实施例,步骤S503、基于多个预测令符的生成顺序,校验多个预测令符,以得到推理结果还可以包括:响应于确定当前校验的预测令符的置信度不低于预设阈值,保留该预测令符作为经校验的预测令符。
由此,通过上述方式,能够使得最终保留的经校验的预测令符均有较高的置信度,从而保证了生成的推理结果的质量。
在一些实施例中,在步骤S5033,可以确定与每一个经校验的预测令符对应的内容,例如字符、图像、语音等,进而可以将这些内容进行整合,得到相应的推理结果。
由此,通过使用规模较小的第二深度学习模型基于解码模式生成预测令符序列,并使用规模较大的第一深度学习模型基于校验模式对每一个生成的预测令符进行校验,并在校验未通过(例如,小于置信度)的情况下使用第二深度学习模型基于解码模式生成当前位置的纠正令符,并使用第二深度学习模型从下一个位置起重新逐个生成预测令符,使得能够快速得到高质量的推理结果。
在一些实施例中,用于推理的模型还包括比第一深度学习模型规模更大的目标深度学习模型,也即,第一深度学习模型所包括的多个第一参数是目标深度学习模型所包括的多个参数的子集。在步骤S5033,在得到经第一深度学习模型校验的多个校验令符之后,可以使用目标深度学习模型生成多个校验令符的置信度,并使用这些置信度对多个校验令符进行进一步校验。如果某个校验令符未通过目标深度学习模型的校验,则可以由目标深度学习模型在该位置生成一个新的令符以替换掉该校验令符,并由第二深度学习模型在该令符之后重新生成后续的令符,进而由第一深度学习模型重新校验,而后再由目标深度学习模型对第一深度学校模型校验后的结果进行再校验。
在一些实施例中,第二深度学习模型每次生成N1个预测令符,生成的结果由第二深度学习模型进行校验与重新生成。第一深度学习模型与第二深度学习模型生成与校验的结果可以被视为一个整体,每当第一深度学习模型与第二深度学习模型完成N2轮的生成和校验后,可以将得到的N1×N2个经校验的预测令符交由目标深度学习大模型进行校验与重新生成。
可以理解的是,上述生成与校验的方式还可以扩展至4个或更多的模型,在此不作赘述。
根据本公开的另一方面,提供了一种深度学习模型的训练装置。第一深度学习模型包括多个第一参数,第二深度学习模型包括多个第二参数,多个第二参数被初始化为多个第一参数中的多个目标参数的参数值,多个第二参数的数量少于多个第一参数。
图6示出了根据本公开的实施例的深度学习模型的训练装置600的结构框图。装置600包括:确定单元610,被配置为确定第一深度学习模型和第二深度学习模型的目标损失;调参单元620,被配置为基于目标损失,调整多个第一参数和多个第二参数的参数值,以得到训练后的第一深度学习模型和第二深度学习模型,包括:第一调参子单元622,被配置为响应于确定目标损失指示第一深度学习模型所包括的多个目标参数中的至少一部分目标参数的参数值需要被调整,同步调整第二深度学习模型所包括的与至少一部分目标参数对应的第二参数的参数值;以及第二调参子单元624,被配置为响应于确定目标损失指示第二深度学习模型所包括的多个第二参数中的至少一部分第二参数的参数值需要被调整,同步调整第一深度学习模型所包括的与至少一部分第二参数对应的目标参数的参数值。
可以理解的是,装置600中的单元610-单元620及其子单元的操作可以参照上文对方法200中的步骤S201-步骤S202及其子步骤的描述,在此不作赘述。
根据一些实施例,第一深度学习模型可以包括第一层数的第一层,第一层数的第一层各自可以包括第一中间维度数量的第一中间维度。
第二深度学习模型可以包括第二层数的第二层,多个第二层各自可以包括第二中间维度数量的第二中间维度。第二层数可以小于第一层数,第二中间维度数量可以小于第一中间维度数量。
多个目标参数可以包括在至少一个目标层各自的至少一个目标中间维度中的第一参数。至少一个目标层可以是基于第二层数在第一层数的第一层中选择得到的,至少一个目标中间维度可以是基于第二中间维度数量在第一中间维度数量的第一中间维度中选择得到的。
根据一些实施例,第一深度学习模型和第二深度学习模型可以基于Transformer结构或类Transformer结构。
第一深度学习模型可以包括第一隐藏维度数量的第一隐藏维度,指示第一层数的第一层各自可以包括第一注意力头数量的第一注意力头。
第二深度学习模型可以包括第二隐藏维度数量的第二隐藏维度,指示第二层数的第二层各自可以包括第二注意力头数量的第二注意力头。
多个目标参数可以包括与多个目标隐藏维度对应的第一参数,并且可以包括至少一个目标注意力头中的第一参数。多个目标隐藏维度可以是基于第二隐藏维度数量在第一隐藏维度数量的第一隐藏维度中选择得到的,至少一个目标注意力头可以是基于第二注意力头数量在第一注意力头数量的第一注意力头中选择得到的。
根据一些实施例,至少一个目标层、至少一个目标中间维度、多个目标隐藏维度和/或至少一个目标注意力头可以是通过随机选择而得到的。
根据一些实施例,第一深度学习模型和第二深度学习模型均可以被配置为执行以下任务中的至少一个:文本处理任务、图像处理任务以及语音处理任务。
根据一些实施例,第一深度学习模型可以为预训练大模型。
根据一些实施例,确定单元可以包括:第一确定子单元,被配置为确定第一深度学习模型对于第一样本的第一损失;第二确定子单元,被配置为确定第二深度学习模型对于第二样本的第二损失;以及第三确定子单元,被配置为基于第一损失和第二损失,确定目标损失。
根据一些实施例,第一样本可以和第二样本相同。
根据本公开的另一方面,提供了一种深度学习模型的推理装置。第一深度学习模型和第二深度学习模型可以是利用装置600进行训练而得到的。
图7示出了根据本公开的实施例的深度学习模型的推理装置700的结构框图。装置700包括:第一生成单元710,被配置为利用第二深度学习模型,依次生成多个预测令符;第二生成单元720,被配置为利用第一深度学习模型,基于多个预测令符生成多个预测令符各自的置信度;以及校验单元730,被配置为基于多个预测令符的生成顺序,校验多个预测令符,以得到推理结果,包括:替换子单元732,被配置为响应于确定当前校验的预测令符的置信度低于预设阈值,利用第一深度学习模型在该预测令符的位置生成纠正令符,以替换该预测令符作为经校验的预测令符;生成子单元734,被配置为响应于确定满足预设令符生成条件,利用第二深度学习模型,基于纠正令符,从纠正令符的下一个位置重新依次生成预测令符,并利用第一深度学习模型生成重新生成的预测令符的置信度以进行校验;以及推理子单元736,被配置为基于经校验的预测令符,得到推理结果。
可以理解的是,装置700中的单元710-单元730及其子单元的操作可以参照上文对方法500中的步骤S501-步骤S503及其子步骤的描述,在此不作赘述。
根据一些实施例,预设令符生成条件可以包括已生成的令符数量小于预设数量。
根据一些实施例,预设令符生成条件可以包括纠正令符指示令符生成未结束。
根据一些实施例,校验单元730可以包括(图中未示出):保留子单元,被配置为响应于确定当前校验的预测令符的置信度不低于预设阈值,保留该预测令符作为经校验的预测令符。
本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
参考图8,现将描述可以作为本公开的服务器或客户端的电子设备800的结构框图,其是可以应用于本公开的各方面的硬件设备的示例。电子设备旨在表示各种形式的数字电子的计算机设备,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图8所示,电子设备800包括计算单元801,其可以根据存储在只读存储器(ROM)802中的计算机程序或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序,来执行各种适当的动作和处理。在RAM 803中,还可存储电子设备800操作所需的各种程序和数据。计算单元801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
电子设备800中的多个部件连接至I/O接口805,包括:输入单元806、输出单元807、存储单元808以及通信单元809。输入单元806可以是能向电子设备800输入信息的任何类型的设备,输入单元806可以接收输入的数字或字符信息,以及产生与电子设备的用户设置和/或功能控制有关的键信号输入,并且可以包括但不限于鼠标、键盘、触摸屏、轨迹板、轨迹球、操作杆、麦克风和/或遥控器。输出单元807可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。存储单元808可以包括但不限于磁盘、光盘。通信单元809允许电子设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙设备、802.11设备、WiFi设备、WiMax设备、蜂窝通信设备和/或类似物。
计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法、过程和/或处理。例如,在一些实施例中,这些方法、过程和/或处理可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到电子设备800上。当计算机程序加载到RAM 803并由计算单元801执行时,可以执行上文描述的方法、过程和/或处理的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行这些方法、过程和/或处理。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、互联网和区块链网络。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行、也可以顺序地或以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
虽然已经参照附图描述了本公开的实施例或示例,但应理解,上述的方法、系统和设备仅仅是示例性的实施例或示例,本发明的范围并不由这些实施例或示例限制,而是仅由授权后的权利要求书及其等同范围来限定。实施例或示例中的各种要素可以被省略或者可由其等同要素替代。此外,可以通过不同于本公开中描述的次序来执行各步骤。进一步地,可以以各种方式组合实施例或示例中的各种要素。重要的是随着技术的演进,在此描述的很多要素可以由本公开之后出现的等同要素进行替换。

Claims (27)

1.一种深度学习模型的训练方法,其中,第一深度学习模型包括多个第一参数,第二深度学习模型包括多个第二参数,所述多个第二参数被初始化为所述多个第一参数中的与所述多个第二参数对应的多个目标参数的参数值,所述多个第二参数的数量少于所述多个第一参数,所述方法包括:
确定所述第一深度学习模型和所述第二深度学习模型的目标损失;
基于所述目标损失,调整所述多个第一参数和所述多个第二参数的参数值,以得到训练后的第一深度学习模型和第二深度学习模型,包括:
响应于确定所述目标损失指示所述第一深度学习模型所包括的所述多个目标参数中的至少一部分目标参数的参数值需要被调整,同步调整所述第二深度学习模型所包括的与所述至少一部分目标参数对应的第二参数的参数值;以及
响应于确定所述目标损失指示所述第二深度学习模型所包括的所述多个第二参数中的至少一部分第二参数的参数值需要被调整,同步调整所述第一深度学习模型所包括的与所述至少一部分第二参数对应的目标参数的参数值。
2.根据权利要求1所述的方法,其中,确定所述第一深度学习模型和所述第二深度学习模型的目标损失包括:
确定所述第一深度学习模型对于第一样本的第一损失;
确定所述第二深度学习模型对于第二样本的第二损失;以及
基于所述第一损失和所述第二损失,确定所述目标损失。
3.根据权利要求2所述的方法,其中,所述第一样本和所述第二样本相同。
4.根据权利要求1所述的方法,其中,所述第一深度学习模型包括第一层数的第一层,所述第一层数的第一层各自包括第一中间维度数量的第一中间维度,
所述第二深度学习模型包括第二层数的第二层,所述多个第二层各自包括第二中间维度数量的第二中间维度,其中,所述第二层数小于所述第一层数,所述第二中间维度数量小于所述第一中间维度数量,
所述多个目标参数包括在所述至少一个目标层各自的至少一个目标中间维度中的第一参数,其中,所述至少一个目标层是基于所述第二层数在所述第一层数的第一层中选择得到的,所述至少一个目标中间维度是基于所述第二中间维度数量在所述第一中间维度数量的第一中间维度中选择得到的。
5.根据权利要求4所述的方法,其中,所述第一深度学习模型和所述第二深度学习模型基于Transformer结构或类Transformer结构,
所述第一深度学习模型包括第一隐藏维度数量的第一隐藏维度,所述第一层数的第一层各自包括第一注意力头数量的第一注意力头,
所述第二深度学习模型包括第二隐藏维度数量的第二隐藏维度,所述第二层数的第二层各自包括第二注意力头数量的第二注意力头,
所述多个目标参数包括与多个目标隐藏维度对应的第一参数,并且包括至少一个目标注意力头中的第一参数,其中,所述多个目标隐藏维度是基于所述第二隐藏维度数量在所述第一隐藏维度数量的第一隐藏维度中选择得到的,所述至少一个目标注意力头是基于所述第二注意力头数量在所述第一注意力头数量的第一注意力头中选择得到的。
6.根据权利要求5所述的方法,其中,所述至少一个目标层、所述至少一个目标中间维度、所述多个目标隐藏维度和/或所述至少一个目标注意力头是通过随机选择而得到的。
7.根据权利要求1-6中任一项所述的方法,其中,所述第一深度学习模型为预训练大模型。
8.根据权利要求1-6中任一项所述的方法,其中,所述第一深度学习模型和所述第二深度学习模型均被配置为执行以下任务中的至少一个:文本处理任务、图像处理任务以及语音处理任务。
9.一种深度学习模型的推理方法,其中,第一深度学习模型和第二深度学习模型是利用根据权利要求1-8中任一项所述的方法进行训练而得到的,所述方法包括:
利用所述第二深度学习模型,依次生成多个预测令符;
利用所述第一深度学习模型,基于所述多个预测令符生成所述多个预测令符各自的置信度;以及
基于所述多个预测令符的生成顺序,校验所述多个预测令符,以得到推理结果,包括:
响应于确定当前校验的预测令符的置信度低于预设阈值,利用所述第一深度学习模型在该预测令符的位置生成纠正令符,以替换该预测令符作为经校验的预测令符;
响应于确定满足预设令符生成条件,利用所述第二深度学习模型,基于所述纠正令符,从所述纠正令符的下一个位置重新依次生成预测令符,并利用所述第一深度学习模型生成重新生成的预测令符的置信度以进行校验;以及
基于经校验的预测令符,得到所述推理结果。
10.根据权利要求9所述的方法,其中,基于所述多个预测令符的生成顺序,校验所述多个预测令符,以得到推理结果包括:
响应于确定当前校验的预测令符的置信度不低于预设阈值,保留该预测令符作为经校验的预测令符。
11.根据权利要求9或10所述的方法,其中,所述预设令符生成条件包括已生成的令符数量小于预设数量。
12.根据权利要求9或10所述的方法,其中,所述预设令符生成条件包括所述纠正令符指示令符生成未结束。
13.一种深度学习模型的训练装置,其中,第一深度学习模型包括多个第一参数,第二深度学习模型包括多个第二参数,所述多个第二参数被初始化为所述多个第一参数中的多个目标参数的参数值,所述多个第二参数的数量少于所述多个第一参数:
确定单元,被配置为确定所述第一深度学习模型和所述第二深度学习模型的目标损失;
调参单元,被配置为基于所述目标损失,调整所述多个第一参数和所述多个第二参数的参数值,以得到训练后的第一深度学习模型和第二深度学习模型,包括:
第一调参子单元,被配置为响应于确定所述目标损失指示所述第一深度学习模型所包括的所述多个目标参数中的至少一部分目标参数的参数值需要被调整,同步调整所述第二深度学习模型所包括的与所述至少一部分目标参数对应的第二参数的参数值;以及
第二调参子单元,被配置为响应于确定所述目标损失指示所述第二深度学习模型所包括的所述多个第二参数中的至少一部分第二参数的参数值需要被调整,同步调整所述第一深度学习模型所包括的与所述至少一部分第二参数对应的目标参数的参数值。
14.根据权利要求13所述的装置,其中,所述确定单元包括:
第一确定子单元,被配置为确定所述第一深度学习模型对于第一样本的第一损失;
第二确定子单元,被配置为确定所述第二深度学习模型对于第二样本的第二损失;以及
第三确定子单元,被配置为基于所述第一损失和所述第二损失,确定所述目标损失。
15.根据权利要求14所述的装置,其中,所述第一样本和所述第二样本相同。
16.根据权利要求13所述的装置,其中,所述第一深度学习模型包括第一层数的第一层,所述第一层数的第一层各自包括第一中间维度数量的第一中间维度,
所述第二深度学习模型包括第二层数的第二层,所述多个第二层各自包括第二中间维度数量的第二中间维度,其中,所述第二层数小于所述第一层数,所述第二中间维度数量小于所述第一中间维度数量,
所述多个目标参数包括在所述至少一个目标层各自的至少一个目标中间维度中的第一参数,其中,所述至少一个目标层是基于所述第二层数在所述第一层数的第一层中选择得到的,所述至少一个目标中间维度是基于所述第二中间维度数量在所述第一中间维度数量的第一中间维度中选择得到的。
17.根据权利要求16所述的装置,其中,所述第一深度学习模型和所述第二深度学习模型基于Transformer结构或类Transformer结构,
所述第一深度学习模型包括第一隐藏维度数量的第一隐藏维度,所述第一层数的第一层各自包括第一注意力头数量的第一注意力头,
所述第二深度学习模型包括第二隐藏维度数量的第二隐藏维度,所述第二层数的第二层各自包括第二注意力头数量的第二注意力头,
所述多个目标参数包括与多个目标隐藏维度对应的第一参数,并且包括至少一个目标注意力头中的第一参数,其中,所述多个目标隐藏维度是基于所述第二隐藏维度数量在所述第一隐藏维度数量的第一隐藏维度中选择得到的,所述至少一个目标注意力头是基于所述第二注意力头数量在所述第一注意力头数量的第一注意力头中选择得到的。
18.根据权利要求17所述的装置,其中,所述至少一个目标层、所述至少一个目标中间维度、所述多个目标隐藏维度和/或所述至少一个目标注意力头是通过随机选择而得到的。
19.根据权利要求13-18中任一项所述的装置,其中,所述第一深度学习模型为预训练大模型。
20.根据权利要求13-18中任一项所述的装置,其中,所述第一深度学习模型和所述第二深度学习模型均被配置为执行以下任务中的至少一个:文本处理任务、图像处理任务以及语音处理任务。
21.一种深度学习模型的推理装置,其中,第一深度学习模型和第二深度学习模型是利用根据权利要求13-20中任一项所述的装置进行训练而得到的,所述装置包括:
第一生成单元,被配置为利用所述第二深度学习模型,依次生成多个预测令符;
第二生成单元,被配置为利用所述第一深度学习模型,基于所述多个预测令符生成所述多个预测令符各自的置信度;以及
校验单元,被配置为基于所述多个预测令符的生成顺序,校验所述多个预测令符,以得到推理结果,包括:
替换子单元,被配置为响应于确定当前校验的预测令符的置信度低于预设阈值,利用所述第一深度学习模型在该预测令符的位置生成纠正令符,以替换该预测令符作为经校验的预测令符;
生成子单元,被配置为响应于确定满足预设令符生成条件,利用所述第二深度学习模型,基于所述纠正令符,从所述纠正令符的下一个位置重新依次生成预测令符,并利用所述第一深度学习模型生成重新生成的预测令符的置信度以进行校验;以及
推理子单元,被配置为基于经校验的预测令符,得到所述推理结果。
22.根据权利要求21所述的装置,其中,所述校验单元包括:
保留子单元,被配置为响应于确定当前校验的预测令符的置信度不低于预设阈值,保留该预测令符作为经校验的预测令符。
23.根据权利要求21或22所述的装置,其中,所述预设令符生成条件包括已生成的令符数量小于预设数量。
24.根据权利要求21或22所述的装置,其中,所述预设令符生成条件包括所述纠正令符指示令符生成未结束。
25.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-12中任一项所述的方法。
26.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行根据权利要求1-12中任一项所述的方法。
27.一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被处理器执行时实现权利要求1-12中任一项所述的方法。
CN202311766496.9A 2023-12-20 2023-12-20 深度学习模型的训练方法、推理方法、装置、设备和介质 Pending CN117744732A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311766496.9A CN117744732A (zh) 2023-12-20 2023-12-20 深度学习模型的训练方法、推理方法、装置、设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311766496.9A CN117744732A (zh) 2023-12-20 2023-12-20 深度学习模型的训练方法、推理方法、装置、设备和介质

Publications (1)

Publication Number Publication Date
CN117744732A true CN117744732A (zh) 2024-03-22

Family

ID=90250519

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311766496.9A Pending CN117744732A (zh) 2023-12-20 2023-12-20 深度学习模型的训练方法、推理方法、装置、设备和介质

Country Status (1)

Country Link
CN (1) CN117744732A (zh)

Similar Documents

Publication Publication Date Title
CN114445667A (zh) 图像检测方法和用于训练图像检测模型的方法
CN115511779B (zh) 图像检测方法、装置、电子设备和存储介质
CN112784985A (zh) 神经网络模型的训练方法及装置、图像识别方法及装置
CN116821684A (zh) 大语言模型的训练方法、装置、设备和介质
CN116205819B (zh) 字符图像生成方法、深度学习模型的训练方法和装置
CN115862031B (zh) 文本处理方法、神经网络的训练方法、装置和设备
CN115879469B (zh) 文本数据处理方法、模型训练方法、装置及介质
CN115170887B (zh) 目标检测模型训练方法、目标检测方法及其装置
CN115600646B (zh) 语言模型的训练方法、装置、介质及设备
CN114881170B (zh) 用于对话任务的神经网络的训练方法和对话任务处理方法
CN118312598A (zh) 文本生成方法、文本生成模型的训练方法及装置
CN116843795A (zh) 图像生成方法及装置、电子设备和存储介质
CN113722594B (zh) 推荐模型的训练方法、推荐方法、装置、电子设备及介质
CN117744732A (zh) 深度学习模型的训练方法、推理方法、装置、设备和介质
CN116030235A (zh) 目标检测模型训练方法、目标检测方法、装置和电子设备
CN115393514A (zh) 三维重建模型的训练方法、三维重建方法、装置、设备
CN112784912A (zh) 图像识别方法及装置、神经网络模型的训练方法及装置
CN115334159B (zh) 处理流式数据的方法、装置、设备和介质
CN116842156B (zh) 数据生成方法及装置、设备和介质
CN115713071B (zh) 用于处理文本的神经网络的训练方法和处理文本的方法
CN116860933B (zh) 对话模型训练方法、回复信息生成方法、装置及介质
CN116597454B (zh) 图像处理方法、图像处理模型的训练方法和装置
CN115879468B (zh) 基于自然语言理解的文本要素提取方法、装置和设备
CN117194027A (zh) 基于服务的数据处理方法、装置、设备及介质
CN116306862A (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