CN112257467B - 一种面向gpu设备的神经机器翻译系统解码加速方法 - Google Patents

一种面向gpu设备的神经机器翻译系统解码加速方法 Download PDF

Info

Publication number
CN112257467B
CN112257467B CN202011212796.9A CN202011212796A CN112257467B CN 112257467 B CN112257467 B CN 112257467B CN 202011212796 A CN202011212796 A CN 202011212796A CN 112257467 B CN112257467 B CN 112257467B
Authority
CN
China
Prior art keywords
sentences
sentence
machine translation
neural machine
decoding
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.)
Active
Application number
CN202011212796.9A
Other languages
English (en)
Other versions
CN112257467A (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.)
Shenyang Yayi Network Technology Co ltd
Original Assignee
Shenyang Yayi Network 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 Shenyang Yayi Network Technology Co ltd filed Critical Shenyang Yayi Network Technology Co ltd
Priority to CN202011212796.9A priority Critical patent/CN112257467B/zh
Publication of CN112257467A publication Critical patent/CN112257467A/zh
Application granted granted Critical
Publication of CN112257467B publication Critical patent/CN112257467B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/58Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/211Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • 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/08Learning methods
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Machine Translation (AREA)

Abstract

本发明涉及一种面向GPU设备的神经机器翻译系统解码加速方法,步骤为:处理训练数据并训练得到神经机器翻译模型;将神经机器翻译模型的参数转换为16位浮点数进行存储和表示;在限制最大单词数量和句子数量的情况下构造翻译模型的输入;在解码的搜索过程中根据候选句子的得分和预设的阈值对候选句子进行裁剪;在解码过程中动态删除已经预测出终止符的句子直到所有的句子都解完。本发明在不改变神经机器翻译模型结构的前提下,降低了翻译模型的存储大小和内存占用,减少了解码过程的冗余计算,完全不影响机器翻译的精度,有效地提升了基于标准束搜索的神经机器翻译解码的速度。

Description

一种面向GPU设备的神经机器翻译系统解码加速方法
技术领域
本发明涉及一种神经机器翻译解码加速方法,具体为面向GPU设备的神经机器翻译系统解码加速方法。
背景技术
深度学习和神经网络的发展极大地促进了机器翻译的发展,目前神经机器翻译已经成为了机器翻译领域主流的方法。所谓的解码,就是指使用训练好的模型对源文进行翻译的过程。虽然神经机器翻译系统在许多翻译任务取得了令人瞩目的成绩,然而系统的计算代价也愈发高昂,大型翻译系统的解码速度无法满足在线服务和大规模文档翻译的需求。
针对上述问题,改进神经机器翻译方法,提升翻译系统的运行速度显得特别重要。一般而言,想要提升神经机器翻译系统的解码速度可以从两大方面出发,包括使用轻量的神经机器翻译模型和改进神经机器翻译解码算法。
轻量级神经机器翻译模型的翻译效果远逊于大规模的神经网络模型,使用更深的编码器和解码器、更大的特征维度可以明显提高模型的翻译效果,但也带来了更大的计算开销。而改进神经机器翻译解码算法可以从多方面入手,如使用更低的精度进行计算、使用动态控制策略减少解码过程的冗余计算等。
目前神经机器翻译系统的加速方法主要包括知识精炼方法、轻量级解码器结构、低精度计算以及改进解码的搜索算法等,前两种方法都需要重新训练神经机器翻译模型并进行大量实验挑选最佳模型参数,计算成本高昂,且应用范围局限于特定的模型结构,如基于循环神经网络的神经机器翻译系统、基于自注意力机制的神经机器翻译结构等,而无法应用于深层神经机器翻译系统或更加轻量级的网络结构中。
现有针对GPU设备的神经机器翻译解码加速方法没有根据设备特点设计神经网络结构、解码策略和终止策略,即忽略了GPU设备并行程度高的特点。现有的神经网络结构层数很深、每层均匀的参数量的特点不利于GPU设备多线程处理的特点,而现有的机器翻译解码方法也没有根据多线程特点设计专门的输入、处理和输出策略。
发明内容
针对现有技术中针对GPU设备的神经机器翻译系统解码加速方法需要对神经机器翻译模型结构进行调整并反复训练模型导致计算成本高昂、应用具有局限性等不足,本发明提供一种可以解决成本高和局限性问题的面向GPU设备的神经机器翻译系统解码加速方法。
为解决上述技术问题,本发明采用的技术方案是:
本发明提供一种面向GPU设备的神经机器翻译系统解码加速方法,包括以下步骤:
1)在GPU设备上处理训练数据并进行建模训练,得到神经机器翻译模型,其训练过程与标准的神经机器翻译模型训练方法一致;
2)将训练好的神经机器翻译模型参数转换为GPU设备专用的16位浮点数进行存储和表示;
3)按照句子长度对待翻译的句子进行排序,根据GPU设备支持的线程数、预设的最大单词数量和最大句子数量构造神经机器翻译系统的输入,组成多个批次;
4)在神经机器翻译系统的翻译解码过程中,按照预设的候选句子得分阈值裁剪掉得分低于阈值的句子并更新句子和分数列表,保证句子数量不超过GPU设备支持的线程数;
5)在翻译过程中,对于已经预测出终止符号的句子,将其保存至译文列表中,并从解码的句子列表中移除,直到所有的句子都完成翻译。
步骤2)中,将训练好的神经机器翻译模型参数转换为16位浮点数进行存储和表示,具体为:
201)选择具体的参数,包括编码器和解码器的词向量与位置向量、编码器和解码器中每层的参数以及解码器输出层的参数;
202)使用16位二进制编码方式进行模型的读写操作,在GPU设备上解码时,所有的参数使用GPU设备专用的16位浮点数进行表示和计算,即输入的词向量、每层的中间结果与输出均使用16位浮点数进行表示。
步骤3)中,根据预设的最大单词数量和最大句子数量构造神经机器翻译系统的输入,组成多个批次,具体为:
在神经机器翻译系统解码前,根据GPU设备支持的线程数、输入句子的词数和句子数将句子组成批次进行输入,包括根据限制词数、限制句子数以及同时限制词数和句子数三种不同的方式:
a.设定最大的单词数量,不断扩充输入批次内的句子,直到批次内最大句长与句子数的乘积大于预设的最大的单词数量;
b.设定最大的句子数量,不断扩充输入批次内的句子,直到该批次中的句子数量等于预设的最大句子数量或无待翻译句子;
c.在设定最大单词数量的基础上,限制每个输入批次中最大的句子数量。
步骤4)中,在神经机器翻译系统解码时,使用自回归的方式逐个解出目标语单词,在该过程的每步根据阈值删除得分相对较低的候选句子;
使用三种不同的阈值设定方法过滤掉得分低于阈值的句子,前两种方法都需要首先计算出得分最高的句子的分数
Figure BDA0002759375090000021
过程如下:
401)句子级的相对阈值过滤方法:
Figure BDA0002759375090000031
其中cand为候选句子,C是所有的候选句子集合,c是集合中的元素,score(cand)是候选句子的得分,rp是句子的相对阈值系数,其取值范围为0~1;
402)句子级的绝对阈值过滤方法:
Figure BDA0002759375090000032
ap是句子的绝对阈值系数,其取值范围为大于0的实数;
403)单词级的相对阈值过滤方法:
Figure BDA0002759375090000033
scorew(cand)是候选句子最后一个单词的得分,
Figure BDA0002759375090000034
是所有的候选句子中,得分最高的最后一个单词的分数,rpl是单词的相对阈值系数,其取值范围为0~1。
骤5)中,对于已经预测出终止符号的句子,将其保存至译文列表中,并从解码的句子列表中移除,直到所有的句子都完成翻译,是动态地将预测出终止符号的候选句子及其得分加入译文候选列表中并将其从中间状态表中删除,直至所有的句子都预测出终止符号或因得分较低而被删除,具体的过程如下:
501)在解码过程中每一个时间步t处检查候选句子是否预测出终止符号,如果是,则进行502)步骤;
502)将预测出终止符号的句子c与对应的分数s加入译文候选列表中;
503)将预测出终止符号的句子c从候选列表cand中删除;
504)检查候选列表cand中是否还有句子或者t是否等于预设的最大目标句子长度T,如果满足其中任一条件,则终止解码过程并将候选列表中剩余的句子全部收集到译文候选列表中,否则继续进行解码,且t加1。在解码过程中每一个时间步t处检查候选句子是否预测出终止符号,如果不是,则继续翻译,否则完成翻译并结束。
本发明具有以下有益效果及优点:
1.本发明面向GPU设备的神经机器翻译系统解码加速方法不需要修改神经机器翻译系统的模型结构,也不需要对模型参数反复进行微调,能够有效地降低神经机器翻译系统翻译解码过程中的冗余计算,完全不影响机器翻译的精度,有效地提升了基于标准束搜索的神经机器翻译解码的速度,并降低存储占用,解决了计算成本高昂的不足。
2.本发明由于采用低精度计算以及改进解码的搜索算法,解决了解码加速方法应用范围狭窄的问题,适用于任何结构的神经机器翻译系统,不再局限于循环神经网络或者基于自注意力机制的神经机器翻译系统。
附图说明
图1为本发明中解码输入策略图示;
图2为本发明中解码过程中搜索方法图示。
具体实施方式
下面结合说明书附图对本发明作进一步阐述。
本发明提供一种面向GPU设备的神经机器翻译系统解码加速方法,包括以下步骤:
1)在GPU设备上处理训练数据并进行建模训练,得到神经机器翻译模型,其训练过程与标准的神经机器翻译模型训练方法一致;
2)将训练好的神经机器翻译模型参数转换为GPU设备专用的16位浮点数进行存储和表示;
3)按照句子长度对待翻译的句子进行排序,根据GPU设备支持的线程数、预设的最大单词数量和最大句子数量构造神经机器翻译系统的输入,组成多个批次;
4)在神经机器翻译系统的翻译解码过程中,按照预设的候选句子得分阈值裁剪掉得分低于阈值的句子并更新句子和分数列表,保证句子数量不超过GPU设备支持的线程数;
5)在翻译过程中,对于已经预测出终止符号的句子,将其保存至译文列表中,并从解码的句子列表中移除,直到所有的句子都完成翻译。
步骤1)主要完成神经机器翻译模型的训练。本发明使用标准的神经机器翻译模型训练方法进行模型的训练,其目标函数计算公式如下:
Figure BDA0002759375090000041
其中Θ是翻译模型的参数,(x,y)是双语句对,yj是目标句子中的每一个单词,公式中的argmin代表计算出满足右边等式最小值时的参数,右边的求和符号代表计算目标句子中每个单词的全部损失值,训练时使用梯度下降法优化翻译模型的参数,使得交叉熵损失
Figure BDA0002759375090000042
达到最小,PΘ为表源文单词x对应目标单词y的概率。在实践中,神经机器翻译模型使用若干条双语句对进行训练,这些句对被分为若干组或批次,每次选择若干个批次在GPU设备上进行训练。
神经机器翻译模型的训练目标也等价于最大化模型参数在训练数据上的似然估计:
Figure BDA0002759375090000043
其中x和y分别为源语句子和目标语句子,通过链式法则将双语句子的条件概率分解为源语句子与每一个目标语单词及其上一个单词的条件概率之和,因此等价于源语句子和目标语句子的交叉熵损失。
本发明不需要修改神经机器翻译模型的结构和训练方法,因此训练目标、训练设置和训练过程与标准的神经机器翻译模型一致。
步骤2)中,将训练好的神经机器翻译模型参数转换为16位浮点数进行存储和表示,具体为:
201)选择具体的参数,包括编码器和解码器的词向量与位置向量、编码器和解码器中每层的参数以及解码器输出层的参数;
202)使用16位二进制编码方式进行模型的读写操作,在GPU设备上解码时,所有的参数使用GPU设备专用的16位浮点数进行表示和计算,即输入的词向量、每层的中间结果与输出均使用16位浮点数进行表示。
步骤2)主要是使用低精度数据类型对神经机器翻译模型的参数进行表示。对于训练好的神经机器翻译模型,将其全部参数转换为16位浮点数进行表示和存储,包括:编码器和解码器的词向量与位置向量、编码器和解码器中每层的参数以及解码器输出层的参数。在磁盘上存储时,使用16位二进制编码方式进行模型的读写操作。步骤2)可以有效地降低神经机器翻译模型的存储大小并提高其计算效率,通过16位浮点数表示,可以将存储大小降低50%,并在GPU设备上获得30%到60%的加速。
步骤3)中,根据预设的最大单词数量和最大句子数量构造神经机器翻译系统的输入,组成多个批次,具体为:
在神经机器翻译系统解码前,根据GPU设备支持的线程数、输入句子的词数和句子数将句子组成批次进行输入,包括根据限制词数、限制句子数以及同时限制词数和句子数三种不同的方式:
a.设定最大的单词数量,不断扩充输入批次内的句子,直到批次内最大句长与句子数的乘积大于预设的最大的单词数量;
b.设定最大的句子数量,不断扩充输入批次内的句子,直到该批次中的句子数量等于预设的最大句子数量或无待翻译句子;
c.在设定最大单词数量的基础上,限制每个输入批次中最大的句子数量。
步骤3)主要针对神经机器翻译系统解码的输入策略进行优化。在神经机器翻译解码时,根据输入句子的词数和句子数优化将句子组成批次进行输入。
上述a~c三种不同的输入策略可以通过经验性的设置调整其限制,以获得更加明显的加速效果。
如图1所示,每个批次中的句子长度可能不一样,为此需要在较短的句子中填充补齐符号<PAD>。
步骤4)中,在神经机器翻译系统解码时,使用自回归的方式逐个解出目标语单词,在该过程的每步根据阈值删除得分相对较低的候选句子;
使用三种不同的阈值设定方法过滤掉得分低于阈值的句子,前两种方法都需要首先计算出得分最高的句子的分数
Figure BDA0002759375090000061
过程如下:
401)句子级的相对阈值过滤方法:
Figure BDA0002759375090000062
其中cand为候选句子,C是所有的候选句子集合score(cand)是候选句子的得分,rp是句子的相对阈值系数,其取值范围为0~1;
402)句子级的绝对阈值过滤方法:
Figure BDA0002759375090000063
ap是句子的绝对阈值系数,其取值范围为大于0的实数;
403)单词级的相对阈值过滤方法:
Figure BDA0002759375090000064
scorew(cand)是候选句子最后一个单词的得分,
Figure BDA0002759375090000065
是所有的候选句子中,得分最高的最后一个单词的分数,rpl是单词的相对阈值系数,其取值范围为0~1。
步骤4)主要对神经机器翻译系统的解码过程进行优化。在翻译解码时,使用自回归的方式逐个解出目标语单词,在该过程的每步根据阈值删除得分相对较低的候选句子,如图2所示,A、B、C均为目标语单词,<s>和</s>分别代表起始符和终止符,每一步都根据之前的句子预测出新的单词,在搜索过程中不断维护得分较高的若干条候选句子,直到所有的句子预测出终止符号或者达到最大迭代次数;
步骤5)主要对神经机器翻译系统的解码终止策略进行优化。其中,对于已经预测出终止符号的句子,将其保存至译文列表中,并从解码的句子列表中移除,直到所有的句子都完成翻译,是动态地将预测出终止符号的候选句子及其得分加入译文候选列表中并将其从中间状态表中删除,直至所有的句子都预测出终止符号或因得分较低而被删除,具体的过程如下:
501)在解码过程中每一个时间步t处检查候选句子是否预测出终止符号,如果是,则进行502)步骤;
502)将预测出终止符号的句子c与对应的分数s加入译文候选列表中;
503)将预测出终止符号的句子c从候选列表cand中删除;
504)检查候选列表cand中是否还有句子或者t是否等于预设的最大目标句子长度T,如果满足其中任一条件,则终止解码过程并将候选列表中剩余的句子全部收集到译文候选列表中,否则继续进行解码,且t加1。在解码过程中每一个时间步t处检查候选句子是否预测出终止符号,如果不是,则继续翻译,否则完成翻译并结束。
为验证方法的有效性,将面向GPU设备的神经机器翻译系统解码加速方法在机器翻译任务上进行实验。具体来说在WMT 2019英德任务上进行实验,该任务训练数据约为一千万条双语句对,实验基线使用标准的深层Transformer模型,包括9个编码器层和1个解码器层,模型隐藏层单元为512,在NVIDIA RTX 2080 Ti GPU上进行测试。实验结果如下表所示。
Figure BDA0002759375090000071
实验表明面向GPU设备的神经机器翻译系统解码加速方法能够在不改变神经机器翻译模型结构和参数的前提下,有效地降低模型的存储大小、解码过程中的显存占用并明显提高系统的解码速度。本发明使用的16位浮点数存储的方式可以降低一半的存储大小,面向GPU设备的优化策略可以将解码过程中的显存占用降低约四分之一,将系统的解码速度提升40%左右。
本发明提出一种面向GPU设备的神经机器翻译系统解码加速方法,能够在不对神经机器翻译模型结构和参数做出调整的前提下,大幅降低模型的存储大小和解码过程的显存占用,节约存储资源。同时,本发明能够在不影响神经机器翻译系统翻译效果的前提下,明显地提升系统的运行速度。

Claims (5)

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)中,在神经机器翻译系统解码时,使用自回归的方式逐个解出目标语单词,在该过程的每步根据阈值删除得分相对较低的候选句子;
使用三种不同的阈值设定方法过滤掉得分低于阈值的句子,前两种方法都需要首先计算出得分最高的句子的分数
Figure QLYQS_1
过程如下:
401)句子级的相对阈值过滤方法:
Figure QLYQS_2
其中cand为候选句子,C是所有的候选句子集合,c是集合中的元素,score(cand)是候选句子的得分,rp是句子的相对阈值系数,其取值范围为0~1;
402)句子级的绝对阈值过滤方法:
Figure QLYQS_3
ap是句子的绝对阈值系数,其取值范围为大于0的实数;
403)单词级的相对阈值过滤方法:
Figure QLYQS_4
scorew(cand)是候选句子最后一个单词的得分,
Figure QLYQS_5
是所有的候选句子中,得分最高的最后一个单词的分数,rpl是单词的相对阈值系数,其取值范围为0~1。
5.按权利要求1所述的面向GPU设备的神经机器翻译系统解码加速方法,其特征在于步骤5)中,对于已经预测出终止符号的句子,将其保存至译文列表中,并从解码的句子列表中移除,直到所有的句子都完成翻译,是动态地将预测出终止符号的候选句子及其得分加入译文候选列表中并将其从中间状态表中删除,直至所有的句子都预测出终止符号或因得分较低而被删除,具体的过程如下:
501)在解码过程中每一个时间步t处检查候选句子是否预测出终止符号,如果是,则进行502)步骤;
502)将预测出终止符号的句子c与对应的分数s加入译文候选列表中;
503)将预测出终止符号的句子c从候选列表cand中删除;
504)检查候选列表cand中是否还有句子或者t是否等于预设的最大目标句子长度T,如果满足其中任一条件,则终止解码过程并将候选列表中剩余的句子全部收集到译文候选列表中,否则继续进行解码,且t加1;在解码过程中每一个时间步t处检查候选句子是否预测出终止符号,如果不是,则继续翻译,否则完成翻译并结束。
CN202011212796.9A 2020-11-03 2020-11-03 一种面向gpu设备的神经机器翻译系统解码加速方法 Active CN112257467B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011212796.9A CN112257467B (zh) 2020-11-03 2020-11-03 一种面向gpu设备的神经机器翻译系统解码加速方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011212796.9A CN112257467B (zh) 2020-11-03 2020-11-03 一种面向gpu设备的神经机器翻译系统解码加速方法

Publications (2)

Publication Number Publication Date
CN112257467A CN112257467A (zh) 2021-01-22
CN112257467B true CN112257467B (zh) 2023-06-30

Family

ID=74268703

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011212796.9A Active CN112257467B (zh) 2020-11-03 2020-11-03 一种面向gpu设备的神经机器翻译系统解码加速方法

Country Status (1)

Country Link
CN (1) CN112257467B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102932003A (zh) * 2012-09-07 2013-02-13 上海交通大学 基于gpu架构的qc-ldpc码的加速译码方法
CN102938653A (zh) * 2012-11-13 2013-02-20 航天恒星科技有限公司 一种利用图形处理器gpu实现的并行rs译码方法
CN104538033A (zh) * 2014-12-29 2015-04-22 江苏科技大学 基于嵌入式gpu系统的并行化语音识别系统及方法
EP3282368A1 (en) * 2016-08-10 2018-02-14 Samsung Electronics Co., Ltd Parallel processing-based translation method and apparatus
CN108388561A (zh) * 2017-02-03 2018-08-10 百度在线网络技术(北京)有限公司 神经网络机器翻译方法和装置
CN109871352A (zh) * 2017-12-01 2019-06-11 北京搜狗科技发展有限公司 一种协同计算方法及装置
CN111160534A (zh) * 2019-12-31 2020-05-15 中山大学 一种适用于移动终端的二值神经网络前向传播框架
CN111382582A (zh) * 2020-01-21 2020-07-07 沈阳雅译网络技术有限公司 一种基于非自回归的神经机器翻译解码加速方法
CN111401080A (zh) * 2018-12-14 2020-07-10 波音公司 神经机器翻译方法以及神经机器翻译装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10453445B2 (en) * 2016-02-16 2019-10-22 Carnegie Mellon University System and method for multi-user GPU-accelerated speech recognition engine for client-server architectures
US11797837B2 (en) * 2017-04-24 2023-10-24 Intel Corporation Dynamic distributed training of machine learning models
US11138494B2 (en) * 2017-05-02 2021-10-05 International Business Machines Corporation Storage controller acceleration for neural network training and inference

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102932003A (zh) * 2012-09-07 2013-02-13 上海交通大学 基于gpu架构的qc-ldpc码的加速译码方法
CN102938653A (zh) * 2012-11-13 2013-02-20 航天恒星科技有限公司 一种利用图形处理器gpu实现的并行rs译码方法
CN104538033A (zh) * 2014-12-29 2015-04-22 江苏科技大学 基于嵌入式gpu系统的并行化语音识别系统及方法
EP3282368A1 (en) * 2016-08-10 2018-02-14 Samsung Electronics Co., Ltd Parallel processing-based translation method and apparatus
CN108388561A (zh) * 2017-02-03 2018-08-10 百度在线网络技术(北京)有限公司 神经网络机器翻译方法和装置
CN109871352A (zh) * 2017-12-01 2019-06-11 北京搜狗科技发展有限公司 一种协同计算方法及装置
CN111401080A (zh) * 2018-12-14 2020-07-10 波音公司 神经机器翻译方法以及神经机器翻译装置
CN111160534A (zh) * 2019-12-31 2020-05-15 中山大学 一种适用于移动终端的二值神经网络前向传播框架
CN111382582A (zh) * 2020-01-21 2020-07-07 沈阳雅译网络技术有限公司 一种基于非自回归的神经机器翻译解码加速方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Parallel scalability in speech recognition;K You,J Chong,Y Yi,E Gonina,Hughes, C.J.,YK Chen,W Sung,K Keutzer;IEEE Signal Processing Magazine;1-13 *
基于分布内存的层次短语机器翻译并行化算法;赵博;黄书剑;戴新宇;袁春风;黄宜华;;计算机研究与发展(12);142-150 *
基于异构计算的语音识别解码加速方法;张舸;张鹏远;潘接林;颜永红;;网络新媒体技术(03);12+38、42 *
循环神经网络在语音识别模型中的训练加速方法;冯诗影;韩文廷;金旭;迟孟贤;安虹;;小型微型计算机系统(12);3-7 *

Also Published As

Publication number Publication date
CN112257467A (zh) 2021-01-22

Similar Documents

Publication Publication Date Title
Higuchi et al. Improved Mask-CTC for non-autoregressive end-to-end ASR
CN111177376B (zh) 一种基于bert与cnn层级连接的中文文本分类方法
CN109918663A (zh) 一种语义匹配方法、装置及存储介质
US11803731B2 (en) Neural architecture search with weight sharing
CN112380319A (zh) 一种模型训练的方法及相关装置
CN111027292B (zh) 一种限定采样文本序列生成方法及其系统
CN106682731A (zh) 卷积神经网络的加速方法及装置
CN108388561A (zh) 神经网络机器翻译方法和装置
CN115511069A (zh) 神经网络的训练方法、数据处理方法、设备及存储介质
US20230107409A1 (en) Ensembling mixture-of-experts neural networks
CN116226378A (zh) 一种基于深度学习的文本生成方法
CN110858480A (zh) 一种基于n元文法神经网络语言模型的语音识别方法
CN114265937A (zh) 科技情报的智能分类分析方法、系统、存储介质及服务器
CN115422324A (zh) 一种文本处理方法及设备
CN112257467B (zh) 一种面向gpu设备的神经机器翻译系统解码加速方法
CN114239589A (zh) 语义理解模型的鲁棒性评估方法、装置及计算机设备
CN111737467B (zh) 一种基于分段卷积神经网络的对象级情感分类方法
US20220067280A1 (en) Multi-token embedding and classifier for masked language models
US20220027719A1 (en) Compressing tokens based on positions for transformer models
CN111353315B (zh) 一种基于随机残差算法的深层神经机器翻译系统
CN111104806A (zh) 神经机器翻译模型的构建方法及装置、翻译方法及装置
Yang et al. Unsupervised domain adaptation for neural machine translation
CN113051938B (zh) 一种基于Transformer模型的机器翻译模型优化方法
WO2023059831A1 (en) Using memory to augment self-attention in neural networks
CN115066689A (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
GR01 Patent grant
GR01 Patent grant