[发明专利]一种面向GPU设备的神经机器翻译系统解码加速方法有效
申请号: | 202011212796.9 | 申请日: | 2020-11-03 |
公开(公告)号: | CN112257467B | 公开(公告)日: | 2023-06-30 |
发明(设计)人: | 杜权 | 申请(专利权)人: | 沈阳雅译网络技术有限公司 |
主分类号: | G06F40/58 | 分类号: | G06F40/58;G06F40/284;G06F40/211;G06N3/04;G06N3/08 |
代理公司: | 沈阳新科知识产权代理事务所(特殊普通合伙) 21117 | 代理人: | 李晓光 |
地址: | 110004 辽宁省沈阳市*** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 gpu 设备 神经 机器翻译 系统 解码 加速 方法 | ||
1.一种面向GPU设备的神经机器翻译系统解码加速方法,其特征包括以下步骤:
1)在GPU设备上处理训练数据并进行建模训练,得到神经机器翻译模型,其训练过程与标准的神经机器翻译模型训练方法一致;
2)将训练好的神经机器翻译模型参数转换为GPU设备专用的16位浮点数进行存储和表示;
3)按照句子长度对待翻译的句子进行排序,根据GPU设备支持的线程数、预设的最大单词数量和最大句子数量构造神经机器翻译系统的输入,组成多个批次;
4)在神经机器翻译系统的翻译解码过程中,按照预设的候选句子得分阈值裁剪掉得分低于阈值的句子并更新句子和分数列表,保证句子数量不超过GPU设备支持的线程数;
5)在翻译过程中,对于已经预测出终止符号的句子,将其保存至译文列表中,并从解码的句子列表中移除,直到所有的句子都完成翻译。
2.按权利要求1所述的面向GPU设备的神经机器翻译系统解码加速方法,其特征在于:步骤2)中,将训练好的神经机器翻译模型参数转换为16位浮点数进行存储和表示,具体为:
201)选择具体的参数,包括编码器和解码器的词向量与位置向量、编码器和解码器中每层的参数以及解码器输出层的参数;
202)使用16位二进制编码方式进行模型的读写操作,在GPU设备上解码时,所有的参数使用GPU设备专用的16位浮点数进行表示和计算,即输入的词向量、每层的中间结果与输出均使用16位浮点数进行表示。
3.按权利要求1所述的面向GPU设备的神经机器翻译系统解码加速方法,其特征在于:步骤3)中,根据预设的最大单词数量和最大句子数量构造神经机器翻译系统的输入,组成多个批次,具体为:
在神经机器翻译系统解码前,根据GPU设备支持的线程数、输入句子的词数和句子数将句子组成批次进行输入,包括根据限制词数、限制句子数以及同时限制词数和句子数三种不同的方式:
a.设定最大的单词数量,不断扩充输入批次内的句子,直到批次内最大句长与句子数的乘积大于预设的最大的单词数量;
b.设定最大的句子数量,不断扩充输入批次内的句子,直到该批次中的句子数量等于预设的最大句子数量或无待翻译句子;
c.在设定最大单词数量的基础上,限制每个输入批次中最大的句子数量。
4.按权利要求1所述的面向GPU设备的神经机器翻译系统解码加速方法,其特征在于:步骤4)中,在神经机器翻译系统解码时,使用自回归的方式逐个解出目标语单词,在该过程的每步根据阈值删除得分相对较低的候选句子;
使用三种不同的阈值设定方法过滤掉得分低于阈值的句子,前两种方法都需要首先计算出得分最高的句子的分数过程如下:
401)句子级的相对阈值过滤方法:
其中cand为候选句子,C是所有的候选句子集合,c是集合中的元素,score(cand)是候选句子的得分,rp是句子的相对阈值系数,其取值范围为0~1;
402)句子级的绝对阈值过滤方法:
ap是句子的绝对阈值系数,其取值范围为大于0的实数;
403)单词级的相对阈值过滤方法:
scorew(cand)是候选句子最后一个单词的得分,是所有的候选句子中,得分最高的最后一个单词的分数,rpl是单词的相对阈值系数,其取值范围为0~1。
5.按权利要求1所述的面向GPU设备的神经机器翻译系统解码加速方法,其特征在于步骤5)中,对于已经预测出终止符号的句子,将其保存至译文列表中,并从解码的句子列表中移除,直到所有的句子都完成翻译,是动态地将预测出终止符号的候选句子及其得分加入译文候选列表中并将其从中间状态表中删除,直至所有的句子都预测出终止符号或因得分较低而被删除,具体的过程如下:
501)在解码过程中每一个时间步t处检查候选句子是否预测出终止符号,如果是,则进行502)步骤;
502)将预测出终止符号的句子c与对应的分数s加入译文候选列表中;
503)将预测出终止符号的句子c从候选列表cand中删除;
504)检查候选列表cand中是否还有句子或者t是否等于预设的最大目标句子长度T,如果满足其中任一条件,则终止解码过程并将候选列表中剩余的句子全部收集到译文候选列表中,否则继续进行解码,且t加1;在解码过程中每一个时间步t处检查候选句子是否预测出终止符号,如果不是,则继续翻译,否则完成翻译并结束。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于沈阳雅译网络技术有限公司,未经沈阳雅译网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011212796.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种建筑材料存储装置
- 下一篇:一种多语言神经机器翻译性能提升方法