CN111709513A - 长短期记忆网络lstm的训练系统、方法及电子设备 - Google Patents

长短期记忆网络lstm的训练系统、方法及电子设备 Download PDF

Info

Publication number
CN111709513A
CN111709513A CN201910202820.1A CN201910202820A CN111709513A CN 111709513 A CN111709513 A CN 111709513A CN 201910202820 A CN201910202820 A CN 201910202820A CN 111709513 A CN111709513 A CN 111709513A
Authority
CN
China
Prior art keywords
processor
lstm
processing unit
precision
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.)
Granted
Application number
CN201910202820.1A
Other languages
English (en)
Other versions
CN111709513B (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.)
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 CN201910202820.1A priority Critical patent/CN111709513B/zh
Publication of CN111709513A publication Critical patent/CN111709513A/zh
Application granted granted Critical
Publication of CN111709513B publication Critical patent/CN111709513B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06N3/045Combinations of networks
    • 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
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • 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/084Backpropagation, e.g. using gradient descent
    • 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
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本申请提出一种长短期记忆网络LSTM的训练系统及方法。其中,所述系统包括:主模型处理器,用于存储并维护LSTM的主模型,其中,LSTM的主模型包括第一至第M个网络层,M为正整数;以及第一至第N处理器,用于分别根据LSTM的主模型生成本地副模型,第一至第N处理器分别包括第一至第M个处理单元,第一至第M个处理单元分别用于训练第一至第M个网络层,其中,N为正整数,第一至第M个处理单元中至少一个处理单元为半精度计算模式,其他处理单元为单精度计算模式。由此,通过这种LSTM的训练系统,在LSTM模型训练中采用半精度/单精度浮点的混合数值表示,不仅提升了模型训练的速度,而且提高了模型的精度与性能。

Description

长短期记忆网络LSTM的训练系统、方法及电子设备
技术领域
本申请涉及计算机应用技术领域,尤其涉及一种长短期记忆网络LSTM的训练系统、方法、电子设备及存储介质。
背景技术
长短期记忆网络(Long Short-Term Memory,简称LSTM)是一种时间递归神经网络,LSTM已广泛应用于语音识别、翻译语言、图像识别、手写识别等应用场景。由于其时间递归的特点,LSTM神经网络的训练速度较慢,因此不断提升LSTM训练速度是学术界和产业界共同努力的方向。
神经网络模型具有较好的鲁棒性,其前向-反馈模式对数值精度有较好地容错能力,因此目前主要采用单精度浮点作为模型训练的数值表示。由于LSTM模型是计算密集型应用,其计算速度受限于计算单元的吞吐量,因此LSTM的训练主要依靠图形处理器(GraphicsProcessingUnit,简称GPU)获得加速。
相关技术中,在有限的硬件资源下,可以采用半精度浮点作为LSTM模型训练的数值表示,以进一步提升模型训练的速度。半精度浮点采用两个字节存储,其位宽只有单精度浮点的一半,因此计算速度更快、访存开销更小。但是,由于半精度浮点采用更低的位宽表示,其精度较单精度更低,因此会在LSTM模型中引入精度损失,从而导致LSTM模型不收敛或精度很低。
发明内容
本申请提出的长短期记忆网络LSTM的训练系统、方法、电子设备及存储介质,用于解决相关技术中,LSTM模型训练周期长,通过采用半精度浮点作为LSTM模型训练的数值表示提升模型训练速度的方法,又会在LSTM模型中引入精度损失,从而导致LSTM模型不收敛或精度很低的问题。
本申请一方面实施例提出的长短期记忆网络LSTM的训练系统,包括:主模型处理器,用于存储并维护所述LSTM的主模型,其中,所述LSTM的主模型包括第一至第M个网络层,M为正整数;以及第一至第N处理器,用于分别根据LSTM的主模型生成本地副模型,所述第一至第N处理器分别包括第一至第M个处理单元,所述第一至第M个处理单元分别用于训练所述第一至第M个网络层,其中,N为正整数,所述第一至第M个处理单元中至少一个处理单元为半精度计算模式,其他处理单元为单精度计算模式。
本申请实施例提供的长短期记忆网络LSTM的训练系统,包括主模型处理器及第一至第N处理器,其中,第一至第N处理器分别包括第一至第M个处理单元。主模型处理器,用于存储并维护LSTM的主模型,其中,LSTM的主模型包括第一至第M个网络层,M为正整数,第一至第N处理器,用于分别根据LSTM的主模型生成本地副模型,第一至第M个处理单元分别用于训练第一至第M个网络层,其中,N为正整数,第一至第M个处理单元中至少一个处理单元为半精度计算模式,其他处理单元为单精度计算模式。由此,通过在LSTM模型训练中采用半精度/单精度浮点的混合数值表示,不仅提升了模型训练的速度,而且提高了模型的精度与性能。
可选地,在第一方面实施例的一种可能的实现形式中,所述长短期记忆网络LSTM的训练系统,还包括:
至少一个转换单元,所述至少一个转换单元位于所述第一处理器中的至少一个半精度计算模式的处理单元和对应的网络层之间,用于对所述第一处理器中的半精度计算模式的处理单元和对应的网络层之间的数据进行半精度/单精度转换。
可选地,在第一方面实施例的另一种可能的实现形式中,所述第一至第M个处理单元之中第i个处理单元为半精度计算模式的处理单元,相应的,所述长短期记忆网络LSTM的训练系统,还包括:
训练控制器,用于依次控制所述第一处理器至第N处理器的第i个处理单元进行前向计算,并根据所述前向计算梯度依次控制所述第N处理器至第一处理器的第i个处理单元进行反向计算,以生成所述主模型的反向计算梯度,并将所述反向计算梯度通过所述转换单元发送至所述主模型处理器,以对所述主模型处理器中的第i个网络层进行更新。
可选地,在第一方面实施例的再一种可能的实现形式中,所述训练控制器,还用于在生成反向计算梯度之后,分别获取所述第一处理器至第N处理器的第i个处理单元的反向计算梯度,若所述第一处理器至第N处理器的任一层处理单元的反向计算梯度为Nan或Inf,则放弃对所述主模型处理器进行更新。
可选地,在第一方面实施例的又一种可能的实现形式中,所述第一至第N处理器为图形处理器。
本申请另一方面实施例提出的长短期记忆网络LSTM的训练方法,包括:利用主模型处理器存储并维护所述LSTM的主模型,其中,所述LSTM的主模型包括第一至第M个网络层,M为正整数;利用第一至第N处理器分别根据LSTM的主模型生成本地副本,其中,第一至第N处理器分别包括第一至第M个处理单元,N为正整数;利用所述第一至第M个处理单元,分别训练所述第一至第M各网络层,其中,所述第一至第M个处理单元中至少一个处理单元为半精度计算模式,其他处理单元为单精度计算模式。
本申请实施例提供的长短期记忆网络LSTM的训练方法,可以利用主模型处理器存储并维护LSTM的主模型,其中,LSTM的主模型包括第一至第M个网络层,M为正整数,并利用第一至第N处理器分别根据LSTM的主模型生成本地副本,其中,第一至第N处理器分别包括第一至第M个处理单元,N为正整数,进而利用第一至第M个处理单元,分别训练第一至第M各网络层,其中,第一至第M个处理单元中至少一个处理单元为半精度计算模式,其他处理单元为单精度计算模式。由此,通过在LSTM模型训练中采用半精度/单精度浮点的混合数值表示,不仅提升了模型训练的速度,而且提高了模型的精度与性能。
本申请再一方面实施例提出的电子设备,其包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如前所述的长短期记忆网络LSTM的训练方法。
本申请实施例提供的电子设备,可以执行如前所述的长短期记忆网络LSTM的训练方法,利用主模型处理器存储并维护LSTM的主模型,其中,LSTM的主模型包括第一至第M个网络层,M为正整数,并利用第一至第N处理器分别根据LSTM的主模型生成本地副本,其中,第一至第N处理器分别包括第一至第M个处理单元,N为正整数,进而利用第一至第M个处理单元,分别训练第一至第M各网络层,其中,第一至第M个处理单元中至少一个处理单元为半精度计算模式,其他处理单元为单精度计算模式。由此,通过在LSTM模型训练中采用半精度/单精度浮点的混合数值表示,不仅提升了模型训练的速度,而且提高了模型的精度与性能。
本申请再一方面实施例提出的计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如前所述的长短期记忆网络LSTM的训练方法。
本申请又一方面实施例提出的计算机程序,该程序被处理器执行时,以实现本申请实施例所述的长短期记忆网络LSTM的训练方法。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请实施例所提供的一种长短期记忆网络LSTM的训练系统的结构示意图;
图2为本申请实施例提供的另一种长短期记忆网络LSTM的训练系统的结构示意图;
图3为本申请实施例所提供的长短期记忆网络LSTM的训练方法的流程示意图;
图4为本申请实施例所提供的电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的要素。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
本申请实施例针对相关技术中,LSTM模型训练周期长,通过采用半精度浮点作为LSTM模型训练的数值表示提升模型训练速度的方法,又会在LSTM模型中引入精度损失,从而导致LSTM模型不收敛或精度很低的问题,提出一种长短期记忆网络LSTM的训练系统。
本申请实施例提供的长短期记忆网络LSTM的训练系统,包括主模型处理器及第一至第N处理器,其中,第一至第N处理器分别包括第一至第M个处理单元。主模型处理器,用于存储并维护LSTM的主模型,其中,LSTM的主模型包括第一至第M个网络层,M为正整数,第一至第N处理器,用于分别根据LSTM的主模型生成本地副模型,第一至第M个处理单元分别用于训练第一至第M个网络层,其中,N为正整数,第一至第M个处理单元中至少一个处理单元为半精度计算模式,其他处理单元为单精度计算模式。由此,通过在LSTM模型训练中采用半精度/单精度浮点的混合数值表示,不仅提升了模型训练的速度,而且提高了模型的精度与性能。
下面参考附图对本申请提供的长短期记忆网络LSTM的训练系统、方法及列车进行详细描述。
图1为本申请实施例所提供的一种长短期记忆网络LSTM的训练系统的结构示意图。
如图1所示,该长短期记忆网络LSTM的训练系统10,包括:主模型处理器11、第一至第N处理器12。
其中,主模型处理器11,用于存储并维护LSTM的主模型,包括第一至第M个网络层111,M为正整数;
第一至第N处理器12,用于分别根据LSTM的主模型生成本地副模型,第一至第N处理器12分别包括第一至第M个处理单元121,第一至第M个处理单元121分别用于训练第一至第M个网络层,其中,N为正整数,第一至第M个处理单元121中至少一个处理单元为半精度计算模式,其他处理单元为单精度计算模式。
需要说明的是,本申请实施例采用半精度浮点/单精度浮点混合的数值表示方式,对LSTM模型进行训练,以在提升LSTM模型训练速度的同时,保证LSTM模型的精度和性能。
其中,第一至第N处理器可以是图像处理器(Graphics Processing Unit,简称GPU)。
作为一种可能的实现方式,可以采用多处理器或者多节点的数据级并行的方法,对LSTM网络进行训练。具体的,主模型处理器11用于存储并维护LSTM的主模型,第一至第N处理器12分别从主模型处理器11获取LSTM的主模型,以根据获取的LSTM的主模型生成本地副模型,即第一至第N处理器12具有相同的模型参数,且均是从LSTM的主模型获取的。
优选的,本申请实施例的LSTM训练系统,可以包括一个主模型和多个模型副本,即N可以为大于1的正整数,每个处理器12在进行前向计算前,可以获取最新的主模型作为本地模型副本,然后基于本地的模型副本进行前向和后向的计算。
需要说明的是,LSTM模型通常可以由多个不同类型的网络层111组成,不同网络层111对数值精度的敏感度不同,因此,可以根据不同网络层对数值精度的敏感程度,为不同的网络层设置不同的计算模式,即不同网络层可以采用不同的数值表示方式。优选的,对于主模型处理器11中的各网络层111,可以采用单精度计算模式,以保证模型精度。由于第一至第N处理器12中分别包括的第一至第M处理单元121,分别用于对主模型处理器11中的第一至第M网络层111进行训练,因此,第一至第N处理器12中分别包括的第一至第M处理单元121的计算模式,可以分别根据主模型处理器11中的第一至第M网络层的类型确定。
举例来说,假设M=3,即主模型处理器11中包括3个网络层,第一至第N处理器12中分别包括3个处理单元,则可以将第一至第N处理器12中分别包括的第一处理单元的计算模式确定为单精度计算模式,将第一至第N处理器12中分别包括的第二网络层和第三网络层的计算模式确定为半精度计算模式,即第一至第N处理器12中分别包括的第一处理单元的数值表示采用单精度浮点数,第一至第N处理器12中分别包括的第二网络层和第三网络层的数值表示采用半精度浮点数。
需要说明的是,上述举例仅为示例性,不能视为对本申请的限制。实际使用时,可以根据实际需要及主模型处理器11中各网络层111的类型,预设第一至第N处理器中分别包括的各处理单元121的计算模式,本申请实施例对此不做限定。
进一步的,由于主模型处理器11中各网络层111的计算模式为单精度计算模式,而第一至第N处理器12中各处理单元121的计算模式既可能是单精度模式也可能是半精度模式,因此在主模型处理器11向第一至第N处理器下发模型副本时,主模型处理器11的第i网络层的计算模式可能与第一至第N处理器12中第i处理单元的计算模式不同,即对于计算模式不同的网络层,在向第一至第N处理器12下发模型副本之前,可以首先进行计算模式的转换操作。即在本申请实施例一种可能的实现形式中,上述长短期记忆网络LSTM的训练系统10,还可以包括:
至少一个转换单元,所述至少一个转换单元位于所述第一处理器中的至少一个半精度计算模式的处理单元和对应的网络层之间,用于对所述第一处理器中的半精度计算模式的处理单元和对应的网络层之间的数据进行半精度/单精度转换。
其中,转换单元的数量与第一处理器中计算模式为半精度计算模式的处理单元的数量相同。
在本申请实施例中,由于第一至第N处理器12中至少分别包括一个处理单元的计算模式为半精度计算模式,而主模型处理器11中各网络层111的计算模式均为单精度计算模式,那么在主模型处理器11中的各网络层分别与第一至第N处理器中相应层的处理单元进行数据传输时,对于计算模式与主模型处理器11中相应层的网络层的计算模式不同的处理单元,可以首先进行计算模式转换操作,以使得输入第一至第N处理器12中各处理单元的数据的数值表示方式与各处理单元自身的数值表示方式相同。
举例来说,M=3,N=2,主模型处理器11中各网络层111的计算模式均为单精度计算模式,第一处理器与第二处理器中包括的第一处理单元的计算模式为单精度计算模式,第一处理器与第二处理器中包括的第二处理单元与第三处理单元的计算模式为半精度计算模式,则主模型处理器11的第二网络层与第一处理器的第二处理单元之间需要设置转换单元,以将主模型处理器11发送至第一处理器的第二处理单元的数据转换为半精度计算模式,将第一处理器的第二处理单元发送至主模型处理器11的第二网络层的数据转换为单精度计算模式;相应的,主模型处理器11的第三网络层与第一处理器的第三处理单元之间需要设置转换单元,以将主模型处理器11发送至第一处理器的第三处理单元的数据转换为半精度计算模式,将第一处理器的第三处理单元发送至主模型处理器11的第三网络层的数据转换为单精度计算模式。
进一步的,在对LSTM模型进行训练时,同一处理器中的相邻处理单元之间也需要进行数据交换,因此,在同一处理器的计算模式不同的相邻处理单元之间,也可以设置转换单元。
比如,在上例中,第一处理器中的第一处理单元的计算模式为单精度计算模式,第二处理单元及第三处理单元的计算模式均为半精度计算模式,因此,可以在第一处理单元与第二处理单元之间设置转换单元,以将第一处理单元发送至第二处理单元的数据转换为半精度模式,将第二处理单元发送至第一处理单元的数据转换为单精度模式;而由于第二处理单元与第三处理单元的计算模式相同,因此,第二处理单元与第三处理单元之间不需要设置转换单元。
本申请实施例提供的长短期记忆网络LSTM的训练系统,包括主模型处理器及第一至第N处理器,其中,第一至第N处理器分别包括第一至第M个处理单元。主模型处理器,用于存储并维护LSTM的主模型,其中,LSTM的主模型包括第一至第M个网络层,M为正整数,第一至第N处理器,用于分别根据LSTM的主模型生成本地副模型,第一至第M个处理单元分别用于训练第一至第M个网络层,其中,N为正整数,第一至第M个处理单元中至少一个处理单元为半精度计算模式,其他处理单元为单精度计算模式。由此,通过在LSTM模型训练中采用半精度/单精度浮点的混合数值表示,不仅提升了模型训练的速度,而且提高了模型的精度与性能。
在本申请一种可能实现形式中,LSTM网络是一种递推型网络,其训练过程容易发生梯度爆炸,即梯度在数值的表示上容易出现非法数(Not a Number,简称Nan)或无限大(infinite,简称Inf)。而由于半精度浮点的表示范围较小,更容易出现数值越界的可能,导致模型训练失败,因此尤其需要在LSTM网络的训练过程中添加数值保护,以提升LSTM网络的数值稳定性。
下面结合图2,对本申请实施例提供的长短期记忆网络LSTM的训练系统进行进一步说明。
图2为本申请实施例所提供的另一种长短期记忆网络LSTM的训练系统的结构示意图。
如图2所示,该长短期记忆网络LSTM的训练系统10,包括:主模型处理器11、第一至第N处理器12、训练控制器13。
其中,主模型处理器11,用于存储并维护LSTM的主模型,包括第一至第M个网络层111,M为正整数;
第一至第N处理器12,用于分别根据LSTM的主模型生成本地副模型,第一至第N处理器12分别包括第一至第M个处理单元121,第一至第M个处理单元121分别用于训练第一至第M个网络层,其中,N为正整数,第一至第M个处理单元121中至少一个处理单元为半精度计算模式,其他处理单元为单精度计算模式。
训练控制器,用于依次控制所述第一处理器至第N处理器的第i个处理单元进行前向计算,并根据所述前向计算梯度依次控制所述第N处理器至第一处理器的第i个处理单元进行反向计算,以生成所述主模型的反向计算梯度,并将所述反向计算梯度通过所述转换单元发送至所述主模型处理器,以对所述主模型处理器中的第i个网络层进行更新。
作为一种可能的实现方式,可以在LSTM的训练系统10中,设置训练控制器,以通过训练控制器,控制各相邻处理器间的相应处理单元间前向计算及反向计算,并根据每个处理器每层的方向计算梯度,生成主模型的反向计算梯度,以对主模型进行更新。
具体的,训练控制器可以首先依次控制第一处理器至第N处理器的第i个处理单元进行前向计算,并根据最后的前向计算梯度,依次控制第N处理器至第一处理器的第i个处理单元进行反向计算,并对两个相邻处理器间生成的反向计算梯度进行累加,以生成主模型的反向计算梯度,并将根据对第一处理器至第N处理器第i个处理单元进行反向计算,生成的主模型的反向计算梯度,发送至主模型处理器11,以对主模型处理器11的第i个网络层的模型参数进行更新,即将获得的主模型的反向计算梯度与主模型处理器11中第i个网络层当前的模型参数进行累加,从而实现了依次对主模型处理器11中的每个网络层的更新。
进一步的,为保证LSTM模型训练过程中数值的稳定性,还可以利用训练控制器对每层生成的反向计算梯度进行检查,以排除数值溢出LSTM训练的影响。即在本申请实施例一种可能的实现形式中,上述训练控制器13,还用于在生成反向计算梯度之后,分别获取所述第一处理器至第N处理器的第i个处理单元的反向计算梯度,若所述第一处理器至第N处理器的任一层处理单元的反向计算梯度为Nan或Inf,则放弃对所述主模型处理器进行更新。
作为一种可能的实现方式,可以在第一处理器至第N处理器每层的处理单元的反向计算完成之后,可以对获得的反向计算梯度进行检查,即在每层的处理单元的反向计算过程之后添加反向计算梯度值的检查逻辑。具体的,若确定第一处理器至第N处理器的第i个处理单元的反向计算梯度中有任一个反向计算梯度为Nan或Inf,则放弃本次对主模型处理器的更新,并清空当前网络的历史记录,以保证当前计算结果不会对后续数据的处理产生影响。
作为一种可能的实现方式,为了更稳定地保证LSTM模型训练的精度,在半精度计算模式的处理单元中,中间结果也会采用单精度计算模式,但是处理单元的输出要求是半精度计算模式,因此需要从单精度计算模式到半精度计算模式的转换操作。为了保证半精度数值不发生Inf,我们需要在转换过程中做数值变化,即大于半精度浮点上界的数值以半精度最大值(65504)表示或者比半精度最大值略小的数值表示(如启发式数值60000)。该策略进一步提升了LSTM训练的稳定性。
本申请实施例提供的长短期记忆网络LSTM的训练系统,包括主模型处理器、第一至第N处理器及训练控制器,其中,第一至第N处理器分别包括第一至第M个处理单元。主模型处理器,用于存储并维护LSTM的主模型,其中,LSTM的主模型包括第一至第M个网络层,M为正整数,第一至第N处理器,用于分别根据LSTM的主模型生成本地副模型,第一至第M个处理单元分别用于训练第一至第M个网络层,其中,N为正整数,第一至第M个处理单元中至少一个处理单元为半精度计算模式,其他处理单元为单精度计算模式,训练控制器,用于依次控制第一处理器至第N处理器的第i个处理单元进行前向计算,并根据前向计算梯度依次控制第N处理器至第一处理器的第i个处理单元进行反向计算,以生成主模型的反向计算梯度,并将反向计算梯度通过转换单元发送至主模型处理器,以对主模型处理器中的第i个网络层进行更新。由此,通过在LSTM模型训练中采用半精度/单精度浮点的混合数值表示,以及通过训练控制器对模型训练过程进行控制和检查,不仅提升了模型训练的速度,而且提升了LSTM模型的稳定性,进一步提高了模型的精度与性能。
为了实现上述实施例,本申请还提出一种长短期记忆网络LSTM的训练方法。
下面基于上述长短期记忆网络LSTM的训练系统,对本申请实施例提供的长短期记忆网络LSTM的训练方法进行详细说明。
图3为本申请实施例提供的一种长短期记忆网络LSTM的训练方法的流程示意图。
如图3所示,该长短期记忆网络LSTM的训练方法,包括以下步骤:
步骤301,利用主模型处理器存储并维护所述LSTM的主模型,其中,所述LSTM的主模型包括第一至第M个网络层,M为正整数。
其中,主模型处理器,用于存储并维护LSTM的主模型,包括第一至第M个网络层,M为正整数;
需要说明的是,本申请实施例采用半精度浮点/单精度浮点混合的数值表示方式,对LSTM模型进行训练,以在提升LSTM模型训练速度的同时,保证LSTM模型的精度和性能。
步骤302,利用第一至第N处理器分别根据LSTM的主模型生成本地副本,其中,第一至第N处理器分别包括第一至第M个处理单元,N为正整数。
步骤303,利用所述第一至第M个处理单元,分别训练所述第一至第M各网络层,其中,所述第一至第M个处理单元中至少一个处理单元为半精度计算模式,其他处理单元为单精度计算模式。
在本申请示例中,可以通过第一至第N处理器分别根据LSTM的主模型生成本地副模型,第一至第N处理器分别包括第一至第M个处理单元,可以利用第一至第M个处理单元分别用于训练第一至第M个网络层,其中,N为正整数,第一至第M个处理单元中至少一个处理单元为半精度计算模式,其他处理单元为单精度计算模式。
其中,第一至第N处理器可以是图像处理器(Graphics Processing Unit,简称GPU)。
作为一种可能的实现方式,可以采用多处理器或者多节点的数据级并行的方法,对LSTM网络进行训练。具体的,可以利用主模型处理器存储并维护LSTM的主模型,利用第一至第N处理器分别从主模型处理器获取LSTM的主模型,以根据获取的LSTM的主模型生成本地副模型,即第一至第N处理器具有相同的模型参数,且均是从LSTM的主模型获取的。
优选的,本申请实施例的LSTM训练方法,可以利用一个主模型和多个模型副本对模型进行训练,即N可以为大于1的正整数,对每个处理器在进行前向计算前,可以获取最新的主模型作为本地模型副本,然后基于本地的模型副本进行前向和后向的计算。
需要说明的是,LSTM模型通常可以由多个不同类型的网络层组成,不同网络层对数值精度的敏感度不同,因此,可以根据不同网络层对数值精度的敏感程度,为不同的网络层设置不同的计算模式,即不同网络层可以采用不同的数值表示方式。优选的,对于主模型处理器中的各网络层,可以采用单精度计算模式,以保证模型精度。由于第一至第N处理器中分别包括的第一至第M处理单元,分别用于对主模型处理器中的第一至第M网络层进行训练,因此,第一至第N处理器中分别包括的第一至第M处理单元的计算模式,可以分别根据主模型处理器中的第一至第M网络层的类型确定。
举例来说,假设M=3,即主模型处理器中包括3个网络层,第一至第N处理器中分别包括3个处理单元,则可以将第一至第N处理器中分别包括的第一处理单元的计算模式确定为单精度计算模式,将第一至第N处理器中分别包括的第二网络层和第三网络层的计算模式确定为半精度计算模式,即第一至第N处理器中分别包括的第一处理单元的数值表示采用单精度浮点数,第一至第N处理器中分别包括的第二网络层和第三网络层的数值表示采用半精度浮点数。
需要说明的是,上述举例仅为示例性,不能视为对本申请的限制。实际使用时,可以根据实际需要及主模型处理器中各网络层的类型,预设第一至第N处理器中分别包括的各处理单元的计算模式,本申请实施例对此不做限定。
进一步的,由于主模型处理器中各网络层的计算模式为单精度计算模式,而第一至第N处理器中各处理单元的计算模式既可能是单精度模式也可能是半精度模式,因此在主模型处理器向第一至第N处理器下发模型副本时,主模型处理器的第i网络层的计算模式可能与第一至第N处理器中第i处理单元的计算模式不同,即对于计算模式不同的网络层,在向第一至第N处理器下发模型副本之前,可以首先进行计算模式的转换操作。即在本申请实施例一种可能的实现形式中,上述步骤303之后,还可以包括:
利用至少一个转换单元对所述第一处理器中的半精度计算模式的处理单元和对应的网络层之间的数据进行半精度/单精度转换,其中,所述至少一个转换单元位于所述第一处理器中的至少一个半精度计算模式的处理单元和对应的网络层之间。
其中,转换单元的数量与第一处理器中计算模式为半精度计算模式的处理单元的数量相同。
在本申请实施例中,由于第一至第N处理器中至少分别包括一个处理单元的计算模式为半精度计算模式,而主模型处理器中各网络层的计算模式均为单精度计算模式,那么在主模型处理器中的各网络层分别与第一至第N处理器中相应层的处理单元进行数据传输时,对于计算模式与主模型处理器中相应层的网络层的计算模式不同的处理单元,可以首先进行计算模式转换操作,以使得输入第一至第N处理器中各处理单元的数据的数值表示方式与各处理单元自身的数值表示方式相同。
举例来说,M=3,N=2,主模型处理器11中各网络层的计算模式均为单精度计算模式,第一处理器与第二处理器中包括的第一处理单元的计算模式为单精度计算模式,第一处理器与第二处理器中包括的第二处理单元与第三处理单元的计算模式为半精度计算模式,则主模型处理器的第二网络层与第一处理器的第二处理单元之间需要通过转换单元进行计算模式的转换,以将主模型处理器发送至第一处理器的第二处理单元的数据转换为半精度计算模式,将第一处理器的第二处理单元发送至主模型处理器的第二网络层的数据转换为单精度计算模式;相应的,主模型处理器的第三网络层与第一处理器的第三处理单元之间需要通过转换单元进行计算模式的转换,以将主模型处理器发送至第一处理器的第三处理单元的数据转换为半精度计算模式,将第一处理器的第三处理单元发送至主模型处理器的第三网络层的数据转换为单精度计算模式。
进一步的,在对LSTM模型进行训练时,同一处理器中的相邻处理单元之间也需要进行数据交换,因此,在同一处理器的计算模式不同的相邻处理单元之间,也可以通过转换单元进行计算模式的转换。
比如,在上例中,第一处理器中的第一处理单元的计算模式为单精度计算模式,第二处理单元及第三处理单元的计算模式均为半精度计算模式,因此,在第一处理单元与第二处理单元之间可以通过转换单元进行计算模式的转换,以将第一处理单元发送至第二处理单元的数据转换为半精度模式,将第二处理单元发送至第一处理单元的数据转换为单精度模式;而由于第二处理单元与第三处理单元的计算模式相同,因此,第二处理单元与第三处理单元之间不需要通过转换单元进行计算模式的转换。
进一步的,还可以通过训练控制器对第一处理器至第N处理器间的前向计算和反向计算进行控制,以根据生成的反向计算梯度,对主模型处理器的各网络层进行更新。即在本申请实施例一种可能的实现形式中,上述步骤303之后,还可以包括:
利用训练控制器依次控制所述第一处理器至第N处理器的第i个处理单元进行前向计算;
根据所述前向计算梯度依次控制所述第N处理器至第一处理器的第i个处理单元进行反向计算,以生成所述主模型的反向计算梯度;
将所述反向计算梯度通过所述转换单元发送至所述主模型处理器,以对所述主模型处理器中的第i个网络层进行更新。
作为一种可能的实现方式,可以通过训练控制器,控制各相邻处理器间的相应处理单元间前向计算及反向计算,并根据每个处理器每层的方向计算梯度,生成主模型的反向计算梯度,以对主模型进行更新。
具体的,可以通过训练控制器,首先依次控制第一处理器至第N处理器的第i个处理单元进行前向计算,并根据最后的前向计算梯度,依次控制第N处理器至第一处理器的第i个处理单元进行反向计算,并对两个相邻处理器间生成的反向计算梯度进行累加,以生成主模型的反向计算梯度,并将根据对第一处理器至第N处理器第i个处理单元进行反向计算,生成的主模型的反向计算梯度,发送至主模型处理器,以对主模型处理器的第i个网络层的模型参数进行更新,即将获得的主模型的反向计算梯度与主模型处理器中第i个网络层当前的模型参数进行累加,从而实现了依次对主模型处理器中的每个网络层的更新。
进一步的,为保证LSTM模型训练过程中数值的稳定性,还可以利用训练控制器对每层生成的反向计算梯度进行检查,以排除数值溢出LSTM训练的影响。即在本申请实施例一种可能的实现形式中,上述步骤303之后,还可以包括:
分别获取所述第一处理器至第N处理器的第i个处理单元的反向计算梯度;
若所述第一处理器至第N处理器的任一层处理单元的反向计算梯度为Nan或Inf,则放弃对所述主模型中的第i个网络层进行更新。
作为一种可能的实现方式,可以在第一处理器至第N处理器每层的处理单元的反向计算完成之后,对获得的反向计算梯度进行检查,即在每层的处理单元的反向计算过程之后添加反向计算梯度值的检查逻辑。具体的,若确定第一处理器至第N处理器的第i个处理单元的反向计算梯度中有任一个反向计算梯度为Nan或Inf,则放弃本次对主模型处理器的更新,并清空当前网络的历史记录,以保证当前计算结果不会对后续数据的处理产生影响。
作为一种可能的实现方式,为了更稳定地保证LSTM模型训练的精度,在半精度计算模式的处理单元中,中间结果也会采用单精度计算模式,但是处理单元的输出要求是半精度计算模式,因此需要从单精度计算模式到半精度计算模式的转换操作。为了保证半精度数值不发生Inf,我们需要在转换过程中做数值变化,即大于半精度浮点上界的数值以半精度最大值(65504)表示或者比半精度最大值略小的数值表示(如启发式数值60000)。该策略进一步提升了LSTM训练的稳定性。
本申请实施例提供的长短期记忆网络LSTM的训练方法,可以利用主模型处理器存储并维护LSTM的主模型,其中,LSTM的主模型包括第一至第M个网络层,M为正整数,并利用第一至第N处理器分别根据LSTM的主模型生成本地副本,其中,第一至第N处理器分别包括第一至第M个处理单元,N为正整数,进而利用第一至第M个处理单元,分别训练第一至第M各网络层,其中,第一至第M个处理单元中至少一个处理单元为半精度计算模式,其他处理单元为单精度计算模式。由此,通过在LSTM模型训练中采用半精度/单精度浮点的混合数值表示,不仅提升了模型训练的速度,而且提高了模型的精度与性能。
为了实现上述实施例,本申请还提出电子设备。
图4为本发明一个实施例的电子设备的结构示意图。
如图4所示,上述电子设备200包括:
存储器210及处理器220,连接不同组件(包括存储器210和处理器220)的总线230,存储器210存储有计算机程序,当处理器220执行所述程序时实现本申请实施例所述的长短期记忆网络LSTM的训练方法。
总线230表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
电子设备200典型地包括多种电子设备可读介质。这些介质可以是任何能够被电子设备200访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器210还可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)240和/或高速缓存存储器250。电子设备200可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统260可以用于读写不可移动的、非易失性磁介质(图4未显示,通常称为“硬盘驱动器”)。尽管图4中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线230相连。存储器210可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请各实施例的功能。
具有一组(至少一个)程序模块270的程序/实用工具280,可以存储在例如存储器210中,这样的程序模块270包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块270通常执行本申请所描述的实施例中的功能和/或方法。
电子设备200也可以与一个或多个外部设备290(例如键盘、指向设备、显示器291等)通信,还可与一个或者多个使得用户能与该电子设备200交互的设备通信,和/或与使得该电子设备200能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口292进行。并且,电子设备200还可以通过网络适配器293与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器293通过总线230与电子设备200的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备200使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理器220通过运行存储在存储器210中的程序,从而执行各种功能应用以及数据处理。
需要说明的是,本实施例的电子设备的实施过程和技术原理参见前述对本申请实施例的长短期记忆网络LSTM的训练方法的解释说明,此处不再赘述。
本申请实施例提供的电子设备,可以执行如前所述的长短期记忆网络LSTM的训练方法,利用主模型处理器存储并维护LSTM的主模型,其中,LSTM的主模型包括第一至第M个网络层,M为正整数,并利用第一至第N处理器分别根据LSTM的主模型生成本地副本,其中,第一至第N处理器分别包括第一至第M个处理单元,N为正整数,进而利用第一至第M个处理单元,分别训练第一至第M各网络层,其中,第一至第M个处理单元中至少一个处理单元为半精度计算模式,其他处理单元为单精度计算模式。由此,通过在LSTM模型训练中采用半精度/单精度浮点的混合数值表示,不仅提升了模型训练的速度,而且提高了模型的精度与性能。
为了实现上述实施例,本申请还提出一种计算机可读存储介质。
其中,该计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时,以实现本申请实施例所述的长短期记忆网络LSTM的训练方法。
为了实现上述实施例,本申请再一方面实施例提供一种计算机程序,该程序被处理器执行时,以实现本申请实施例所述的长短期记忆网络LSTM的训练方法。
一种可选实现形式中,本实施例可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户电子设备上执行、部分地在用户电子设备上执行、作为一个独立的软件包执行、部分在用户电子设备上部分在远程电子设备上执行、或者完全在远程电子设备或服务器上执行。在涉及远程电子设备的情形中,远程电子设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户电子设备,或者,可以连接到外部电子设备(例如利用因特网服务提供商来通过因特网连接)。
本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未发明的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

Claims (12)

1.一种长短期记忆网络LSTM的训练系统,其特征在于,包括:
主模型处理器,用于存储并维护所述LSTM的主模型,其中,所述LSTM的主模型包括第一至第M个网络层,M为正整数;以及
第一至第N处理器,用于分别根据LSTM的主模型生成本地副模型,所述第一至第N处理器分别包括第一至第M个处理单元,所述第一至第M个处理单元分别用于训练所述第一至第M个网络层,其中,N为正整数,所述第一至第M个处理单元中至少一个处理单元为半精度计算模式,其他处理单元为单精度计算模式。
2.如权利要求1所述的LSTM的训练系统,其特征在于,还包括:
至少一个转换单元,所述至少一个转换单元位于所述第一处理器中的至少一个半精度计算模式的处理单元和对应的网络层之间,用于对所述第一处理器中的半精度计算模式的处理单元和对应的网络层之间的数据进行半精度/单精度转换。
3.如权利要求2所述的LSTM的训练系统,其特征在于,所述第一至第M个处理单元之中第i个处理单元为半精度计算模式的处理单元,还包括:
训练控制器,用于依次控制所述第一处理器至第N处理器的第i个处理单元进行前向计算,并根据所述前向计算梯度依次控制所述第N处理器至第一处理器的第i个处理单元进行反向计算,以生成所述主模型的反向计算梯度,并将所述反向计算梯度通过所述转换单元发送至所述主模型处理器,以对所述主模型处理器中的第i个网络层进行更新。
4.如权利要求3所述的LSTM的训练系统,其特征在于,
所述训练控制器,还用于在生成反向计算梯度之后,分别获取所述第一处理器至第N处理器的第i个处理单元的反向计算梯度,若所述第一处理器至第N处理器的任一层处理单元的反向计算梯度为Nan或Inf,则放弃对所述主模型处理器进行更新。
5.如权利要求1-4任一项所述的LSTM的训练系统,其特征在于,所述第一至第N处理器为图形处理器。
6.一种长短期记忆网络LSTM的训练方法,其特征在于,包括:
利用主模型处理器存储并维护所述LSTM的主模型,其中,所述LSTM的主模型包括第一至第M个网络层,M为正整数;
利用第一至第N处理器分别根据LSTM的主模型生成本地副本,其中,第一至第N处理器分别包括第一至第M个处理单元,N为正整数;
利用所述第一至第M个处理单元,分别训练所述第一至第M各网络层,其中,所述第一至第M个处理单元中至少一个处理单元为半精度计算模式,其他处理单元为单精度计算模式。
7.如权利要求6所述的LSTM的训练方法,其特征在于,还包括:
利用至少一个转换单元对所述第一处理器中的半精度计算模式的处理单元和对应的网络层之间的数据进行半精度/单精度转换,其中,所述至少一个转换单元位于所述第一处理器中的至少一个半精度计算模式的处理单元和对应的网络层之间。
8.如权利要求7所述的LSTM的训练方法,其特征在于,所述第一至第M个处理单元之中第i个处理单元为半精度计算模式的处理单元,还包括:
利用训练控制器依次控制所述第一处理器至第N处理器的第i个处理单元进行前向计算;
根据所述前向计算梯度依次控制所述第N处理器至第一处理器的第i个处理单元进行反向计算,以生成所述主模型的反向计算梯度;
将所述反向计算梯度通过所述转换单元发送至所述主模型处理器,以对所述主模型处理器中的第i个网络层进行更新。
9.如权利要求8所述的LSTM的训练方法,其特征在于,所述生成所述主模型的反向计算梯度之后,还包括:
分别获取所述第一处理器至第N处理器的第i个处理单元的反向计算梯度;
若所述第一处理器至第N处理器的任一层处理单元的反向计算梯度为Nan或Inf,则放弃对所述主模型处理器进行更新。
10.如权利要求6-9任一项所述的LSTM的训练方法,其特征在于,所述第一至第N处理器为图形处理器。
11.一种电子设备,其特征在于,包括:存储器、处理器及存储在存储器上并可在处理器上运行的程序,其特征在于,所述处理器执行所述程序时实现如权利要求6-10中任一所述的长短期记忆网络LSTM的训练方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求6-10中任一所述的长短期记忆网络LSTM的训练方法。
CN201910202820.1A 2019-03-18 2019-03-18 长短期记忆网络lstm的训练系统、方法及电子设备 Active CN111709513B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910202820.1A CN111709513B (zh) 2019-03-18 2019-03-18 长短期记忆网络lstm的训练系统、方法及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910202820.1A CN111709513B (zh) 2019-03-18 2019-03-18 长短期记忆网络lstm的训练系统、方法及电子设备

Publications (2)

Publication Number Publication Date
CN111709513A true CN111709513A (zh) 2020-09-25
CN111709513B CN111709513B (zh) 2023-06-09

Family

ID=72536313

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910202820.1A Active CN111709513B (zh) 2019-03-18 2019-03-18 长短期记忆网络lstm的训练系统、方法及电子设备

Country Status (1)

Country Link
CN (1) CN111709513B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105513591A (zh) * 2015-12-21 2016-04-20 百度在线网络技术(北京)有限公司 用lstm循环神经网络模型进行语音识别的方法和装置
CN107292385A (zh) * 2016-03-31 2017-10-24 阿里巴巴集团控股有限公司 一种类Alexnet网络的模型训练方法和装置
CN107408111A (zh) * 2015-11-25 2017-11-28 百度(美国)有限责任公司 端对端语音识别
CN108461080A (zh) * 2017-02-21 2018-08-28 中兴通讯股份有限公司 一种基于hlstm模型的声学建模方法和装置
US20180276534A1 (en) * 2015-10-08 2018-09-27 Shanghai Zhaoxin Semiconductor Co., Ltd. Neural network unit that manages power consumption based on memory accesses per period
CN108805791A (zh) * 2017-04-28 2018-11-13 英特尔公司 低精度机器学习操作的计算优化

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180276534A1 (en) * 2015-10-08 2018-09-27 Shanghai Zhaoxin Semiconductor Co., Ltd. Neural network unit that manages power consumption based on memory accesses per period
CN107408111A (zh) * 2015-11-25 2017-11-28 百度(美国)有限责任公司 端对端语音识别
CN105513591A (zh) * 2015-12-21 2016-04-20 百度在线网络技术(北京)有限公司 用lstm循环神经网络模型进行语音识别的方法和装置
CN107292385A (zh) * 2016-03-31 2017-10-24 阿里巴巴集团控股有限公司 一种类Alexnet网络的模型训练方法和装置
CN108461080A (zh) * 2017-02-21 2018-08-28 中兴通讯股份有限公司 一种基于hlstm模型的声学建模方法和装置
CN108805791A (zh) * 2017-04-28 2018-11-13 英特尔公司 低精度机器学习操作的计算优化

Also Published As

Publication number Publication date
CN111709513B (zh) 2023-06-09

Similar Documents

Publication Publication Date Title
CN109558597B (zh) 文本翻译方法及装置、设备及存储介质
US10078594B2 (en) Cache management for map-reduce applications
CN110232411B (zh) 模型蒸馏实现方法、装置、系统、计算机设备及存储介质
CN111090628A (zh) 一种数据处理方法、装置、存储介质及电子设备
CN111145076B (zh) 数据并行化处理方法、系统、设备及存储介质
CN111291882A (zh) 一种模型转换的方法、装置、设备和计算机存储介质
CN109241015B (zh) 用于在分布式存储系统中写入数据的方法
CN110704597B (zh) 对话系统可靠性校验方法、模型生成方法及装置
CN113868368A (zh) 用于信息处理的方法、电子设备和计算机程序产品
CN113806930B (zh) 白盒与黑盒离散事件系统协同仿真的时序推进方法及装置
CN115016435A (zh) 一种自动驾驶车辆测试方法、装置、系统、设备和介质
CN113452655A (zh) 一种分布式训练方法、梯度通信方法、装置以及计算设备
US20220114478A1 (en) System and method for enhancing inference models based on prediction data
CN111709513B (zh) 长短期记忆网络lstm的训练系统、方法及电子设备
US11163567B2 (en) Multivalue reductions using serial initial reductions in multiple register spaces and parallel subsequent reductions in a single register space
CN111813721A (zh) 神经网络数据处理方法、装置、设备及存储介质
CN111753996A (zh) 一种方案确定模型的优化方法、装置、设备及存储介质
CN115186738B (zh) 模型训练方法、装置和存储介质
CN113673476B (zh) 人脸识别模型训练方法、装置、存储介质与电子设备
CN115827552A (zh) 计算任务处理方法、装置以及存储介质
US20210406773A1 (en) Transforming method, training device, and inference device
CN111913812B (zh) 一种数据处理方法、装置、设备及存储介质
CN114462592A (zh) 模型训练方法、装置、电子设备及计算机可读存储介质
CN111552652B (zh) 基于人工智能芯片的数据处理方法、装置和存储介质
CN109189746B (zh) 通用流式Shuffle引擎的实现方法、装置、设备及存储介质

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