[发明专利]面向小型CPU设备的神经机器翻译系统解码加速方法在审
申请号: | 202110861073.X | 申请日: | 2021-07-29 |
公开(公告)号: | CN113505615A | 公开(公告)日: | 2021-10-15 |
发明(设计)人: | 杜权;徐萍;姜炎宏 | 申请(专利权)人: | 沈阳雅译网络技术有限公司 |
主分类号: | G06F40/58 | 分类号: | G06F40/58;G06N3/04;G06N3/063;G06N3/08 |
代理公司: | 沈阳新科知识产权代理事务所(特殊普通合伙) 21117 | 代理人: | 李晓光 |
地址: | 110004 辽宁省沈阳市*** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 面向 小型 cpu 设备 神经 机器翻译 系统 解码 加速 方法 | ||
1.一种面向小型CPU设备的神经机器翻译系统解码加速方法,其特征在于包括以下步骤:
1)构建训练平行语料及基于注意力机制的神经机器翻译的模型,利用平行语料生成机器翻译词表,进一步训练得到训练收敛后的模型作为对比的基线模型,用于和改进后模型进行对比;
2)将注意力神经机器翻译模型中多头注意力模块中多头变为单头,进一步训练得到训练收敛后的模型作为对比的单头模型;
3)将注意力神经机器翻译模型中多头注意力模块中多头变为单头后,其余部分的头由此单头和一个轻量级线性变换计算获得,减少注意力模块中的计算量,达到解码加速的目的。
2.按权利要求1所述的面向小型CPU设备的神经机器翻译系统解码加速方法,其特征在于:步骤1)中,训练基于注意力机制的神经机器翻译模型,得到符合要求的基线模型;基于注意力机制的神经机器翻译模型包括编码端和解码端,由前馈神经网络模块和注意力模块组成;
前馈神经网络模块计算公式为:
FFN(x)=max(0,xW1+b1)W2+b2
其中,FFN(x)为前馈神经网络模块,x为输入,max为取最大函数,W1和W2为两个线性变换矩阵,b1和b2为两个线性变换的偏置矩阵;
使用注意力机制的计算方式为:
MultiHead(Q,K,V)=concat(head1,head2,...,headh)W°
其中concat为级联操作,MultiHead(Q,K,V)为多头注意力机制,head1,head2,...,headn代表模型中的h个头,其中每个头的注意力机制计算公式为:
其中SoftMax(·)为归一化函数,Q、K和V分别为参与计算的不同的线性变换矩阵,dk为K矩阵每个头的维度大小。
3.按权利要求1所述的面向小型CPU设备的神经机器翻译系统解码加速方法,其特征在于:步骤2)中,将注意力神经机器翻译模型中多头注意力模块中多头变为单头,进一步训练得到训练收敛后的模型作为对比的单头模型,具体为:
使用多头注意力机制的计算方式为:
MultiHead(Q,K,V)=concat(head1,head2,...,headh)W°
变为单头后的注意力机制的计算方式为:
SingleHead(Q,K,V)=head1W°′
注意,W°为多头注意力模块中线性变换矩阵,W°′为变为单头后的注意力模块的线性变换矩阵,这里的W°′相关维度需要在W°基础上整除h,h为多头注意力模块中头的数量。
4.按权利要求1所述的面向小型CPU设备的神经机器翻译系统解码加速方法,其特征在于:步骤3)中,将注意力神经机器翻译模型中多头注意力模块中多头变为单头后,其余部分的头由此单头和一个轻量级线性变换计算获得,具体为:
使用多头注意力机制的计算方式为:
MultiHead(Q,K,V)=concat(head1,head2,...,headh)W°
变为单头加线性变换后的注意力机制的计算方式为:
ConvertHead(Q,K,V)=concat(head1,W1head1,...,Wh-1head1)W°
其中concat为级联操作,head1为注意力模块中的第一个头,W1...Wh-1为变换注意力模块中的h-1个线性变换矩阵。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于沈阳雅译网络技术有限公司,未经沈阳雅译网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110861073.X/1.html,转载请声明来源钻瓜专利网。