CN110598223A - 一种从粗粒度到细粒度的神经机器翻译推断加速方法 - Google Patents
一种从粗粒度到细粒度的神经机器翻译推断加速方法 Download PDFInfo
- Publication number
- CN110598223A CN110598223A CN201910889781.7A CN201910889781A CN110598223A CN 110598223 A CN110598223 A CN 110598223A CN 201910889781 A CN201910889781 A CN 201910889781A CN 110598223 A CN110598223 A CN 110598223A
- Authority
- CN
- China
- Prior art keywords
- layer
- attention
- machine translation
- decoding
- self
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
- G06N5/041—Abduction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Machine Translation (AREA)
Abstract
本发明公开一种从粗粒度到细粒度的神经机器翻译推断加速方法,步骤为:构建多层神经机器翻译模型,生成机器翻译词表,获取训练收敛后的模型参数;计算多层神经机器翻译训练模型中不同层的编码端自注意力权重、解码端自注意力权重以及编码解码注意力权重;计算出解码端自注意力权重的信息量;计算出编码解码注意力权重的信息量,计算每一层的编码解码注意力权重变换矩阵压缩比例;修改多层神经机器翻译模型参数,再次利用训练集合训练得到的多层神经机器翻译模型参数,实现从粗粒度到细粒度的神经机器翻译推断加速。本发明对注意力机制中语言信息的表示空间大小进行动态调整,使得在保证译文质量不发生明显变化的情况下,加快模型的推断速度。
Description
技术领域
本发明涉及一种神经机器翻译推断加速技术,具体为从粗粒度到细粒度的神经机器翻译推断加速方法。
背景技术
机器翻译(Machine Translation,简称MT)是利用电子计算机进行自然语言翻译的一门实验学科。一般来说,它是使用计算机将一种自然语言(源语言)转换成另一种自然语言(目标语言)的过程。长期以来,机器翻译一直被认为是解决翻译问题的终极技术之一。例如,中国政府已将自然语言理解,包括机器翻译技术的研究纳入“国家中长期科学和技术发展规划纲要”。据报道,谷歌翻译每天为全球2亿多用户提供服务,每天翻译10亿次,每天翻译量相当于100万本书,超过了世界各地专业翻译人员一年能翻译的文本数量。这些都反映了机器翻译的巨大价值和技术应用前景。
机器翻译的方法分为两种,一种是基于规则的机器翻译,另一种是基于语料库的机器翻译。具体来说,基于语料库的机器翻译可分为基于实例的机器翻译,统计机器翻译和神经机器翻译。早期人们主要使用规则进行机器翻译。然而,随着研究的深入,基于规则的方法逐渐暴露出手工书写规则覆盖范围有限,规则数量增加引起冲突,语言扩展困难等问题。虽然随后的基于案例的方法可以在一定程度上缓解上述问题,但问题还没有从根本上得到解决。
机器翻译的突破始于20世纪90年代初。当时,国际商用机器公司和美国电话电报公司提出了统计机器翻译的思想。该方法完全摒弃了对手工书写规则的依赖,将翻译问题看成是寻找最可能的翻译问题。统计机器翻译系统的发展只依赖于双语和单语数据以及人工定义的翻译特征。系统的鲁棒性和可扩展性得到了极大的提高,在许多翻译任务中表现出明显的优势。然而,统计机器翻译仍然依赖于大量语料的特征工程,这种方法假设翻译过程具有隐式结构,这限制了统计机器翻译模型的表示能力。
此外,研究者还提出了一种基于深度学习的神经机器翻译方法,简称神经机器翻译。该方法直接用神经网络对机器翻译问题进行建模,并以端到端的方式完成模型学习,整个过程不需要人工特征的设计。
与以往的以统计为基础的机器翻译方法相比,神经机器翻译系统具有较高的翻译质量,很多研究者使用该方法研究机器翻译任务,但由于神经网络自身的特征,其内部存在大量的矩阵运算,因此其需要消耗大量时间和计算资源。特别是在实用化的机器翻译系统中这个问题非常显著,因为这些任务一般对应答时间的要求很严格,因此神经机器翻译系统的推断速度也是翻译系统能否实用化的关键。基于现有的神经机器翻译系统,能否最优化其速度已成为重要的课题。
以自注意(Self-attention)机制为基础的神经机器翻译系统,是使不同位置词汇间的信息直接传达方法,在更近的信息传达距离内更具有优势,因而在很多同种系统中受到关注。这种神经机器翻译模型能够更充分地表示序列中不同位置的词汇之间的复杂关系。其中心思想是,通过考虑来源或目标语句任意位置的词汇间的关联度,获得词汇间的关联性,并将其作为不同词汇或片断信息统合过程中的重要度。最终,可以得到源语或宾语中的语义信息表现。
虽然基于注意力的模型可以获得高质量的译文结果,但是注意力机制需要在两个句子片段之间计算词汇的相关程度,其中涉及到大量的矩阵运算,因此会占用较多的推断时间,导致了这种机器翻译的方法在实际使用中推断速度很难满足实时响应的需求。研究人员注意到,这种结构中存在大量的注意力操作,其占整体推断时间的比例高达63.99%,因此对注意力操作进行加速可以有效降低模型的推断耗时。目前多层神经机器翻译模型计算每一层注意力权重时都采用了同样的计算量,即计算粒度相同,但是实际上不同层的功能各异,导致推断时进行了大量不必要计算,即为粗粒度计算,如果能利用某种指标将每层中无用的计算量去掉,便可以实现细粒度计算,从而可以加速推断过程。
而目前能够满足实时响应需求的基于信息论的加快模型推断速度的方法尚未见报道。
发明内容
针对现有技术中机器翻译的方法在实际使用中推断速度很难满足实时响应的需求等不足,本发明要解决的问题是提供一种从粗粒度到细粒度的神经机器翻译推断加速方法,该方法能够在快速推理最新实现的基础上,且在模型性能几乎没有下降的前提下,提升实时响应速度。
为解决上述技术问题,本发明采用的技术方案是:
本发明一种从粗粒度到细粒度的神经机器翻译推断加速方法,包括以下步骤:
1)构建平行语料库和基于注意力机制的多层神经机器翻译模型,利用平行语料库生成机器翻译词表,将平行语料库分为训练集合和校验集合,利用训练集合进一步训练得到训练收敛后的模型参数;
2)向多层神经机器翻译模型输入校验集,计算多层神经机器翻译训练模型中不同层的编码端自注意力权重、解码端自注意力权重以及编码解码注意力权重,分别计算出注意力权重的信息量;
3)根据计算出编码端自注意力权重的信息量,选择其中最大值和最小值计算每一层的编码端自注意力权重变换矩阵压缩比例;
4)根据步骤2)中计算出解码端自注意力权重的信息量,选择其中最大值和最小值计算每一层的解码端自注意力权重变换矩阵压缩比例;
5)根据步骤2)中计算出编码解码注意力权重的信息量,选择其中最大值和最小值计算每一层的编码解码注意力权重变换矩阵压缩比例;
6)根据步骤3)~5)计算出的三种压缩比例,修改多层神经机器翻译模型参数,再次利用训练集合训练得到收敛后的多层神经机器翻译模型参数,实现从粗粒度到细粒度的神经机器翻译推断加速。
步骤1)中,多层神经机器翻译模型包括编码端和解码端,多层神经机器翻译模型的每一层皆使用注意力机制进行计算,当使用多头注意力机制时,其每个头的计算公式为:
其中softmax(·)为归一化函数,若为模型第一层,则信息表示矩阵Q、K和V分别为词嵌入不同的线性变换矩阵,若为第一层外的其他层,则Q、K和V分别为下层栈的输出后不同的线性变换矩阵,dk为K矩阵每个头的维度大小。
步骤2)中计算多层神经机器翻译训练模型中不同层的编码端自注意力权重、解码端自注意力权重以及编码解码注意力权重,具体步骤为:
201)向多层神经机器翻译模型输入校验集句子,将其映射成词表,通过一系列变换将其转化为向量表示;
202)将向量表示变换为信息表示矩阵Q、K,计算多层神经机器翻译模型每一层注意力权重,每层的注意力权重Sm=s(Qm,Km,其中s(·)为注意力权重的计算公式,m代表模型中第m层。
步骤2)中计算出权重的信息量是指计算信息熵,具体步骤为:
203)利用步骤202)中计算出的注意力权重,计算信息熵H(Sm),其中H(·)代表信息熵的计算公式H(X)=∑iP(xi)I(xi)=-∑iP(xi)ln P(xi),P(xi)代表随机变量X分布的概率,在计算注意力权重分布的信息量时,将Sm代替X作为随机变量;
204)在计算最后信息熵时将多头取平均,同时也将校验集句子的取平均值作为这一层最后的信息量指标H。
步骤3)中,根据计算出编码端自注意力权重的信息量,选择其中最大值和最小值计算每一层的自注意力权重变换矩阵压缩比例,具体步骤为:
301)在具有编码自注意力的层的信息量指标中选出最大值maxEnc和最小值minEnc;
302)定义编码自注意力权重变换矩阵压缩比例下界aEnc,根据不同任务进行调节,若aEnc取0,则将minEnc调小,保证编码自注意力权重变换矩阵压缩之后不为0;
303)对于具有编码自注意力的层的不同层计算编码端削减比例,得到削减后的维度d′k=f(H),其中H为每一层计算出的信息量,f(·)为削减映射函数,
步骤4)中,根据计算出解码端自注意力权重的信息量,选择其中最大值和最小值计算每一层的自注意力权重变换矩阵压缩比例,具体步骤为:
401)在具有解码自注意力的层的信息量指标中选出最大值maxDnc和最小值minDnc;
402)定义解码自注意力权重变换矩阵压缩比例下界aDnc,根据不同任务进行调节,若aDnc取0,则将minDnc调小,保证解码自注意力权重变换矩阵压缩之后不为0;
403)对于具有解码自注意力的层的不同层计算解码端削减比例,得到削减后的维度d′k=f(H),其中H为每一层计算出的信息量,f(·)为削减映射函数。
步骤5)中,根据计算出编码解码注意力权重的信息量,选择其中最大值和最小值计算每一层的编码解码注意力权重变换矩阵压缩比例,具体步骤为:
501)在具有编码解码注意力的层的信息量指标中选出最大值maxEncDnc和最小值minEncDnc;
502)定义编码解码注意力权重变换矩阵压缩比例下界aEncDec,根据不同任务进行调节,若aEncDec取0,则将minEncDnc调小,保证编码解码注意力权重变换矩阵压缩之后不为0;
503)对于具有编码解码注意力的层的不同层计算编码解码端削减比例,得到削减后的维度d′k=f(H),其中H为每一层计算出的信息量,f(·)为削减映射函数。
本发明具有以下优点:
1.本发明从使用更加轻量级的注意力网络角度出发,通过提升注意力操作的执行效率来达到加速推断的目的,从简单地使用同样大小的空间对注意力权重进行提取将从一定程度上造成了信息空间的冗余这个角度出发,提出了从粗粒度到细粒度的神经机器翻译加速方法,利用既有模型中每层注意力权重的信息量来对注意力机制中语言信息的表示空间大小进行动态调整,使得在保证译文质量不发生明显变化的情况下,加快模型的推断速度。
2.本发明考虑了在基于注意力机制的神经机器翻译在进行推断时,计算注意力占到了大量的时间以及计算存在着冗余的计算等不足,进一步通过衡量信息量的方法,利用各部分且不同层之间的信息量不同的特征,在自注意力机制中,信息量从底层到顶层递增的特性,而在编码解码注意力机制中,信息量反而是下降的特性,提出了从粗粒度到细粒度的神经机器翻译推断加速方法,基于每层的信息量来指导每层压缩的比例,以此来达到加速推断的目的。
3.本发明方法简单有效,且不易和其他推断方法相斥,并且能在最快推断技术的基础上进一步提升速度。
附图说明
图1为现有技术中应用的神经机器翻译注意力图示;
图2为本发明涉及的多层神经机器翻译模型中不同层注意力权重输出图示;
图3为本发明涉及的基于注意力机制神经机器翻译编码端不同层信息量图示;
图4为本发明中从粗粒度到细粒度的基本思想示意图;
图5为本发明涉及的基于注意力机制神经机器翻译编码解码端不同层信息量图示。
具体实施方式
下面结合说明书附图对本发明作进一步阐述。
本发明一种从粗粒度到细粒度的神经机器翻译推断加速方法,其特征在于包括以下步骤:
1)构建平行语料库和基于注意机制的多层神经机器翻译模型,利用平行语料库生成机器翻译词表,将平行语料库分为训练集合和校验集合,利用训练集合进一步训练得到训练收敛后的模型参数;
2)向多层神经机器翻译模型输入校验集,计算多层神经机器翻译训练模型中不同层的解码端自注意力权重、编码端自注意力权重以及编码解码注意力权重,分别计算出编码端自注意力权重的信息量;
3)根据计算出编码端自注意力权重的信息量,选择其中最大值和最小值计算每一层的自注意力权重变换矩阵压缩比例;
4)根据步骤2)中计算出解码端自注意力权重的信息量,选择其中最大值和最小值计算每一层的自注意力权重变换矩阵压缩比例;
5)根据步骤2)中计算出编码解码注意力权重的信息量,选择其中最大值和最小值计算每一层的编码解码注意力权重变换矩阵压缩比例;
6)根据步骤3),4),5)计算出的三种压缩比例,修改多层神经机器翻译模型参数,再次利用训练集合训练得到收敛后的多层神经机器翻译模型参数,实现从粗粒度到细粒度的神经机器翻译推断加速。
本发明将从使用更加轻量级的注意力网络的角度对基于注意力机制的神经机器翻译系统解码速度进行优化,旨在以较小性能损失为代价,提升翻译系统的推断速度,达到性能和速度上的平衡。
步骤1)中,多层神经机器翻译模型包括编码端和解码端,多层神经机器翻译模型的每一层皆使用注意力机制进行计算,当使用多头注意力机制时,其每个头的计算公式为:
其中softmax(·)为归一化函数,若为模型第一层,则信息表示矩阵Q、K和V分别为词嵌入不同的线性变换矩阵,若为第一层外的其他层,则Q、K和V分别为下层栈的输出后不同的线性变换矩阵,dk,为K矩阵每个头的维度大小。
本步骤中,需要得到对应两种语言的双语句子,然后需要搭建其基于注意力机制的神经机器翻译模型,其注意力计算过程如图1中所示,下层输入之后经过变换为Q、K、V矩阵。利用自注意力变换以及编码解码注意力过程进行处理。在进行模型推断之前,需要将模型在训练集上训练到收敛神经机器翻译模型参数。机器翻译模型是由编码端与解码端组成,即图1中的左部所表示两部分,主要使用注意力机制,其计算公式为:即图1中的右边矩阵运算部分。为了加速计算速度,一般使用多头注意力,其输入的Q、K和V都为源语言的词嵌入或下层栈输出之后的线性变换。QKT实际上计算了源语言任意两个位置的相关性,dk是每个头的维度大小,做分母可以把相关性转化为合理的实数范围。softmax(·)是按源语言位置进行归一化,得到的结果是i与其它任意位置相关性权重,这个结果与V再相乘得到的是所有位置向量的加权和。这个过程没有使用任何循环单元或者卷积单元,而且可以并行化,从而加快计算速度。
步骤2)中计算多层神经机器翻译训练模型中不同层的解码端自注意力权重、编码端自注意力权重以及编码解码注意力权重,具体步骤为:
201)向多层神经机器翻译模型输入校验集句子,将其映射成词表,通过一系列变换将其转化为向量表示;
202)将向量表示变换为信息表示矩阵Q、K,计算多层神经机器翻译模型每一层注意力权重,每层的注意力权重Sm=s(Qm,Km),其中s(·)为注意力权重的计算公式,m代表模型中第m层。
步骤2)中计算出权重的信息量是指计算信息熵,具体步骤为:
203)利用步骤202)中计算出的注意力权重,计算信息熵H(Sm),其中H(·)代表信息熵的计算公式H(X)=∑iP(xi)I(xi)=-∑iP(xi)ln P(xi),P(xi)代表随机变量X分布的概率,在计算注意力权重分布的信息量时,将Sm代替X作为随机变量;
204)在计算最后信息熵时将多头取平均,同时也将校验集句子的取平均值作为这一层最后的信息量指标H。
本步骤主要计算层与层之间的相似度,为之后进行权重共享进行理论上的指导。
步骤201)为将文本信息向量化,通过数值变换,将词表中的每一个词的映射成向量,之后这个向量在数值上和该词一一对应。
步骤202)为注意力权重计算,信息表示矩阵Q与K都是由下层输出变换而来,这一操作对于编码端解码段的各个注意力操作都需要进行操作,同时需要注意的是对于编码解码注意力来说,其Q与K使用的是编码端的输出。例如将句子“他呼吁在未来几周进行密集谈判.”译成“He called for intensive negotiations over the next few weeks.”进行目标语推断时,词“weeks”解码自注意力权重,可以看到不同的层的注意力权重差异非常大。“weeks”注意力权重曲线如图2所示。
步骤203)为信息量计算,注意力机制主要包括两个阶段,注意力权重的计算以及信息融合的过程。注意力权重的计算过程将捕获当前状态下最关注语言片段的位置,本发明采用信息熵作为衡量不同层注意力权重中所包含信息量大小的指标。信息论中,信息熵(Information entropy)常常被用来衡量事件中所包含信息的期望。由事件概率分布和每个事件信息量构成了一个随机变量,这个随机变量的期望便是分布产生的信息量的平均值(即熵)。
本发明对多层神经机器翻译模型中不同层注意力权重的信息量进行了分析,发现其中每一层的信息量存在明显差异。如图3所示,对于编码器中的自注意力操作而言,信息熵整体呈现随层数递增的趋势。这种情况下,普通的翻译模型使用相同维度的Q和K对每一层的注意力权重进行计算将导致信息冗余的现象存在,即其计算粒度非常的粗,在推断过程中产生不必要的计算。从图3中可以看到不同层的信息量不同,证明计算粒度存在着冗余,即当前的计算粒度是粗粒度计算。从数值上看虽然信息量最高和最低层的差别非常小,这是因为所有位置的权重是归一的,而句子长度较长的话,每个位置的权重值都会比较低,这也导致了即使各层之间注意力分布存在着显著不同但是计算出的信息量数值上差距不大。
步骤3)中,根据计算出编码端自注意力权重的信息量,选择其中最大值和最小值计算每一层的自注意力权重变换矩阵压缩比例,具体步骤为:
301)在具有编码自注意力的层的信息量指标中选出最大值maxEnc和最小值minEnc;
302)定义编码自注意力权重变换矩阵压缩比例下界aEnc,根据不同任务进行调节,若aEnc取0,则将minEnc调小,保证编码自注意力权重变换矩阵压缩之后不为0,对于编码端下界不宜取得太小;
303)对于具有编码自注意力的层的不同层计算编码端削减比例,得到削减后的维度d′k=f(H),其中H为每一层计算出的信息量,f(·)为削减映射函数,
步骤301)会从编码端的每一层中选出信息量最大的值及最小的值作为削减比例的参考,因为不同任务不同的模型参数是不同的,所以需要根据不同的情况计算出一个动态的值,作为削减的参考,同时,削减的时候需要考虑每一层注意力权重的作用,所以直接从不同层中选出参考值。
步骤302)会选取削减下界aEnc,对于编码端,削减下界不宜设置得过小,因为在最先进的技术中,推断一句话是会将编码端的信息进行存储,直到这句话推断完成,所以编码端的计算并不占较大比例,即使将削减下界设置得很大,速度也不会有明显的提升。
步骤303)根据计算出的来maxEnc、minEnc、aEnc以及H,来计算这一层的削减比例,之前通过信息量来分析每一层重要性,削减的时候需要反映出这种性质,从而保证模型的性能,在设计函数的时候,也需要根据任务去动态调整,所以设置一个超参数,对于削减比例设置了下界,对于某些质量要求较高的任务优先保证其质量。
步骤4)中,根据计算出解码端自注意力权重的信息量,选择其中最大值和最小值计算每一层的自注意力权重变换矩阵压缩比例,具体步骤为:
401)在具有解码自注意力的层的信息量指标中选出最大值maxDnc和最小值minDnc;
402)定义解码自注意力权重变换矩阵压缩比例下界aDnc,根据不同任务进行调节,若aDnc取0,则将minDnc调小,保证解码自注意力权重变换矩阵压缩之后不为0;
403)对于具有解码自注意力的层的不同层计算解码端削减比例,得到削减后的维度d′k=f(H),其中H为每一层计算出的信息量,f(·)为削减映射函数。
步骤4与步骤3类似,不同之处在于由于编码端在推断过程中时间占比较大,可以将削减下界aDnc设置得更低一些,以获得更多的性能加速。相较于编码端,解码端的计算量更加冗余。整个削减的过程如图4,将原来5维的计算空间压缩成3维大小,减少了计算量,但是得到了非常类似的注意力权重分布,所以经过计算粒度压缩之后,在减少了计算量通过加速了推断速度之后,并不会带来明显的性能损失。
步骤5)中,根据计算出编码解码注意力权重的信息量,选择其中最大值和最小值计算每一层的编码解码注意力权重变换矩阵压缩比例,具体步骤为:
501)在具有编码解码注意力的层的信息量指标中选出最大值maxEncDnc和最小值minEncDnc;
502)定义编码解码注意力权重变换矩阵压缩比例下界aEncDec,根据不同任务进行调节,若aEncDec取0,则将minEncDnc调小,保证编码解码注意力权重变换矩阵压缩之后不为0;
503)对于具有编码解码注意力的层的不同层计算编码解码端削减比例,得到削减后的维度d′k=f(H),其中H为每一层计算出的信息量,f(·)为削减映射函数。
步骤5)同步骤3)、4)类似,对于编码解码注意力的注意力权重来说,其特点在于在之前的层的信息量比较大,如图5所示,而之后的层与之前的层差距较大,所以对于按照之前的方法,之后的层可能会非常小,从而带较大的性能损失,这时需要将minEncDnc调小,保证信息量较小的层维度不会趋近于0,从而避免性能急剧下降。
本发明从粗粒度到细粒度的神经机器翻译推断加速方法主要从使用更加轻量级的注意力网络角度出发,旨在通过提升注意力操作的执行效率来达到加速推断的目的。本发明从简单地使用同样大小的空间对注意力权重进行提取将从一定程度上造成了信息空间的冗余这个角度出发,面对该情况,进一步地提出了从粗粒度到细粒度的神经机器翻译加速方法,利用既有模型中每层注意力权重的信息量来对注意力机制中语言信息的表示空间大小进行动态调整,使得在保证译文质量不发生明显变化的情况下,加快模型的推断速度。
本发明考虑到在基于注意力机制的神经机器翻译在进行推断时,计算注意力占到了大量的时间,其中在计算存在着冗余的计算。本发明进一步通过衡量信息量的方法,利用各部分且不同层之间的信息量不同的特征,在自注意力机制中,信息量从底层到顶层递增的特性,而在编码解码注意力机制中,信息量反而是下降的特性,提出了从粗粒度到细粒度的神经机器翻译推断加速方法,基于每层的信息量来指导每层压缩的比例,以此来达到加速推断的目的。本发明方法简单有效,且不易和其他推断方法相斥,并且能在最快推断技术的基础上进一步提升速度。
Claims (7)
1.一种从粗粒度到细粒度的神经机器翻译推断加速方法,其特征在于包括以下步骤:
1)构建平行语料库和基于注意力机制的多层神经机器翻译模型,利用平行语料库生成机器翻译词表,将平行语料库分为训练集合和校验集合,利用训练集合进一步训练得到训练收敛后的模型参数;
2)向多层神经机器翻译模型输入校验集,计算多层神经机器翻译训练模型中不同层的编码端自注意力权重、解码端自注意力权重以及编码解码注意力权重,分别计算出注意力权重的信息量;
3)根据计算出编码端自注意力权重的信息量,选择其中最大值和最小值计算每一层的编码端自注意力权重变换矩阵压缩比例;
4)根据步骤2)中计算出解码端自注意力权重的信息量,选择其中最大值和最小值计算每一层的解码端自注意力权重变换矩阵压缩比例;
5)根据步骤2)中计算出编码解码注意力权重的信息量,选择其中最大值和最小值计算每一层的编码解码注意力权重变换矩阵压缩比例;
6)根据步骤3)~5)计算出的三种压缩比例,修改多层神经机器翻译模型参数,再次利用训练集合训练得到收敛后的多层神经机器翻译模型参数,实现从粗粒度到细粒度的神经机器翻译推断加速。
2.按权利要求1所述的从粗粒度到细粒度的神经机器翻译推断加速方法,其特征在于:步骤1)中,多层神经机器翻译模型包括编码端和解码端,多层神经机器翻译模型的每一层皆使用注意力机制进行计算,当使用多头注意力机制时,其每个头的计算公式为:
其中softmax(·)为归一化函数,若为模型第一层,则信息表示矩阵Q、K和V分别为词嵌入不同的线性变换矩阵,若为第一层外的其他层,则Q、K和V分别为下层栈的输出后不同的线性变换矩阵,dk为K矩阵每个头的维度大小。
3.按权利要求1所述的从粗粒度到细粒度的神经机器翻译推断加速方法,其特征在于:步骤2)中计算多层神经机器翻译训练模型中不同层的编码端自注意力权重、解码端自注意力权重以及编码解码注意力权重,具体步骤为:
201)向多层神经机器翻译模型输入校验集句子,将其映射成词表,通过一系列变换将其转化为向量表示;
202)将向量表示变换为信息表示矩阵Q、K,计算多层神经机器翻译模型每一层注意力权重,每层的注意力权重Sm=s(Qm,Km),其中s(·)为注意力权重的计算公式,m代表模型中第m层。
4.按权利要求1所述的从粗粒度到细粒度的神经机器翻译推断加速方法,其特征在于:步骤2)中计算出权重的信息量是指计算信息熵,具体步骤为:
203)利用步骤202)中计算出的注意力权重,计算信息熵H(Sm),其中H(·)代表信息熵的计算公式H(X)=∑iP(xi)I(xi)=-∑iP(xi)ln P(xi),P(xi)代表随机变量X分布的概率,在计算注意力权重分布的信息量时,将Sm代替X作为随机变量;
204)在计算最后信息熵时将多头取平均,同时也将校验集句子的取平均值作为这一层最后的信息量指标H。
5.按权利要求1所述的从粗粒度到细粒度的神经机器翻译推断加速方法,其特征在于:步骤3)中,根据计算出编码端自注意力权重的信息量,选择其中最大值和最小值计算每一层的自注意力权重变换矩阵压缩比例,具体步骤为:
301)在具有编码自注意力的层的信息量指标中选出最大值maxEnc和最小值minEnc;
302)定义编码自注意力权重变换矩阵压缩比例下界aEnc,根据不同任务进行调节,若aEnc取0,则将minEnc调小,保证编码自注意力权重变换矩阵压缩之后不为0;
303)对于具有编码自注意力的层的不同层计算编码端削减比例,得到削减后的维度d′k=f(H),其中H为每一层计算出的信息量,f(·)为削减映射函数,
6.按权利要求1所述的从粗粒度到细粒度的神经机器翻译推断加速方法,其特征在于:步骤4)中,根据计算出解码端自注意力权重的信息量,选择其中最大值和最小值计算每一层的自注意力权重变换矩阵压缩比例,具体步骤为:
401)在具有解码自注意力的层的信息量指标中选出最大值maxDnc和最小值minDnc;
402)定义解码自注意力权重变换矩阵压缩比例下界aDnc,根据不同任务进行调节,若aDnc取0,则将minDnc调小,保证解码自注意力权重变换矩阵压缩之后不为0;
403)对于具有解码自注意力的层的不同层计算解码端削减比例,得到削减后的维度d′k=f(H),其中H为每一层计算出的信息量,f(·)为削减映射函数。
7.按权利要求1所述的从粗粒度到细粒度的神经机器翻译推断加速方法,其特征在于:步骤5)中,根据计算出编码解码注意力权重的信息量,选择其中最大值和最小值计算每一层的编码解码注意力权重变换矩阵压缩比例,具体步骤为:
501)在具有编码解码注意力的层的信息量指标中选出最大值maxEncDnc和最小值minEncDnc;
502)定义编码解码注意力权重变换矩阵压缩比例下界aEncDec,根据不同任务进行调节,若aEncDec取0,则将minEncDnc调小,保证编码解码注意力权重变换矩阵压缩之后不为0;
503)对于具有编码解码注意力的层的不同层计算编码解码端削减比例,得到削减后的维度d′k=f(H),其中H为每一层计算出的信息量,f(·)为削减映射函数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910889781.7A CN110598223A (zh) | 2019-09-20 | 2019-09-20 | 一种从粗粒度到细粒度的神经机器翻译推断加速方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910889781.7A CN110598223A (zh) | 2019-09-20 | 2019-09-20 | 一种从粗粒度到细粒度的神经机器翻译推断加速方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110598223A true CN110598223A (zh) | 2019-12-20 |
Family
ID=68861328
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910889781.7A Withdrawn CN110598223A (zh) | 2019-09-20 | 2019-09-20 | 一种从粗粒度到细粒度的神经机器翻译推断加速方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110598223A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111382581A (zh) * | 2020-01-21 | 2020-07-07 | 沈阳雅译网络技术有限公司 | 一种机器翻译中的一次剪枝压缩方法 |
CN111382580A (zh) * | 2020-01-21 | 2020-07-07 | 沈阳雅译网络技术有限公司 | 一种面向神经机器翻译的编码器-解码器框架预训练方法 |
CN111382582A (zh) * | 2020-01-21 | 2020-07-07 | 沈阳雅译网络技术有限公司 | 一种基于非自回归的神经机器翻译解码加速方法 |
CN112395891A (zh) * | 2020-12-03 | 2021-02-23 | 内蒙古工业大学 | 一种结合Bert语言模型和细粒度压缩的汉蒙翻译方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109472024A (zh) * | 2018-10-25 | 2019-03-15 | 安徽工业大学 | 一种基于双向循环注意力神经网络的文本分类方法 |
CN110134771A (zh) * | 2019-04-09 | 2019-08-16 | 广东工业大学 | 一种基于多注意力机制融合网络问答系统的实现方法 |
-
2019
- 2019-09-20 CN CN201910889781.7A patent/CN110598223A/zh not_active Withdrawn
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109472024A (zh) * | 2018-10-25 | 2019-03-15 | 安徽工业大学 | 一种基于双向循环注意力神经网络的文本分类方法 |
CN110134771A (zh) * | 2019-04-09 | 2019-08-16 | 广东工业大学 | 一种基于多注意力机制融合网络问答系统的实现方法 |
Non-Patent Citations (1)
Title |
---|
张裕浩: ""从粗粒度到细粒度的神经机器翻译系统推断加速方法研究"", 《HTTPS://NLPLAB.COM/MEMBERS/XIAOTONG_FILES/2019-CCMT-HAO.PDF》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111382581A (zh) * | 2020-01-21 | 2020-07-07 | 沈阳雅译网络技术有限公司 | 一种机器翻译中的一次剪枝压缩方法 |
CN111382580A (zh) * | 2020-01-21 | 2020-07-07 | 沈阳雅译网络技术有限公司 | 一种面向神经机器翻译的编码器-解码器框架预训练方法 |
CN111382582A (zh) * | 2020-01-21 | 2020-07-07 | 沈阳雅译网络技术有限公司 | 一种基于非自回归的神经机器翻译解码加速方法 |
CN111382582B (zh) * | 2020-01-21 | 2023-04-07 | 沈阳雅译网络技术有限公司 | 一种基于非自回归的神经机器翻译解码加速方法 |
CN111382580B (zh) * | 2020-01-21 | 2023-04-18 | 沈阳雅译网络技术有限公司 | 一种面向神经机器翻译的编码器-解码器框架预训练方法 |
CN112395891A (zh) * | 2020-12-03 | 2021-02-23 | 内蒙古工业大学 | 一种结合Bert语言模型和细粒度压缩的汉蒙翻译方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021047286A1 (zh) | 文本处理模型的训练方法、文本处理方法及装置 | |
CN110598223A (zh) | 一种从粗粒度到细粒度的神经机器翻译推断加速方法 | |
CN110348016B (zh) | 基于句子关联注意力机制的文本摘要生成方法 | |
CN107967262B (zh) | 一种神经网络蒙汉机器翻译方法 | |
CN110543640A (zh) | 一种基于注意力机制神经机器翻译推断加速方法 | |
US20210141798A1 (en) | Dialogue system, a method of obtaining a response from a dialogue system, and a method of training a dialogue system | |
CN111858932A (zh) | 基于Transformer的多重特征中英文情感分类方法及系统 | |
WO2023160472A1 (zh) | 一种模型训练方法及相关设备 | |
CN109992775B (zh) | 一种基于高级语义的文本摘要生成方法 | |
CN111985228B (zh) | 文本关键词提取方法、装置、计算机设备和存储介质 | |
CN112101010B (zh) | 一种基于bert的电信行业oa办公自动化文稿审核的方法 | |
CN116701431A (zh) | 一种基于大语言模型的数据检索方法及系统 | |
CN116097250A (zh) | 用于多模式文档理解的布局感知多模式预训练 | |
CN114880461A (zh) | 一种结合对比学习和预训练技术的中文新闻文本摘要方法 | |
CN111090734B (zh) | 基于层级注意力机制优化机器阅读理解能力的方法和系统 | |
WO2021218023A1 (zh) | 多轮问答的情绪确定方法、装置、计算机设备及存储介质 | |
CN109918507B (zh) | 一种基于TextCNN改进的文本分类方法 | |
CN111178087A (zh) | 一种基于离散型注意力机制的神经机器翻译解码加速方法 | |
CN114020906A (zh) | 基于孪生神经网络的中文医疗文本信息匹配方法及系统 | |
CN113821635A (zh) | 一种用于金融领域的文本摘要的生成方法及系统 | |
CN115759119A (zh) | 一种金融文本情感分析方法、系统、介质和设备 | |
Zhao et al. | Synchronously improving multi-user English translation ability by using AI | |
WO2021082518A1 (zh) | 机器翻译方法、机器翻译模型训练方法、装置及存储介质 | |
CN112579739A (zh) | 基于ELMo嵌入与门控自注意力机制的阅读理解方法 | |
CN112257468A (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 | ||
CB03 | Change of inventor or designer information | ||
CB03 | Change of inventor or designer information |
Inventor after: Du Quan Inventor before: Du Quan Inventor before: Zhu Jingbo Inventor before: Xiao Tong Inventor before: Zhang Chunliang |
|
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20191220 |