NVIDIA DGX-1 加速 AI 翻译,平安科技研发“平安好译” 彰显优秀翻译水平

by 英伟达中国

案例简介

“平安好译”是由平安科技副总工程师王健宗博士领衔的平安科技联邦学习团队AI翻译项目组自主研发的AI翻译产品,具有领先国际的机器翻译水平,最近在WMT2019 比赛上荣获“英译中”赛道世界第一。
采用NVIDIA DGX-1超级计算机,以最优化AI翻译模型实现了从数据处理、特征工程、因子挖掘、模型训练到准确翻译文本的全流程GPU加速,让AI翻译项目从构想到落地的效率提升50~100倍。
主要应用到 NVIDIA Tesla V100 GPU 和NVIDIA DGX-1。

背景

平安科技是平安集团旗下科技解决方案专家,致力于运用人工智能、云等技术赋能金融服务、医疗健康、汽车服务、房产服务、智慧城市五大生态圈。

平安科技副总工程师、平安科技联邦学习技术团队经理室总经理王健宗博士多年来专注于联邦学习和人工智能在金融、保险、投资等领域的研发工作,作为AI翻译总设计师,他带领平安科技联邦学习技术团队倾力研发AI机器翻译,设计并打造产品——“平安好译”。这是一款对内服务于智慧办公(包括员工日常通信,以及重大会议场景的实时翻译投屏、同声传译)、对外支持多领域(包括智慧教育、年报自动翻译、海外业务拓展等)并提供端到端的高效、快速、精准翻译服务的产品。”平安好译”大幅提升工作效率,将人工智能技术赋能工作和生活的每一处。

挑战

AI技术有较高的使用门槛,很多团队在底层框架及硬件驱动的构建过程、模型的训练过程会遇到诸多困难。
王博士认为在金融领域搭建 AI 平台面临三大挑战:
1)数据:人工智能有着海量计算需求,自然语言千变万化,同样一个表达意思可以用多种不同的方式去讲述,为了使翻译尽可能的准确,需要海量数据,对数据的处理一定要快、准、全。
2)算法:得到丰富的数据后,需要对数据进行处理,同时要用到深度学习、机器学习技术对数据进行再次加工,需要花费长期大量的研究投入。
3)算力:需要支持数亿的平行语料对数据的训练,只有 CPU 远远是不够的,要建立 CPU+GPU 异构计算,汇集数百台服务器的集群,同时根据 GPU 使用情况支持自动扩容缩容,实现资源的合理分配。
而NVIDIA DGX-1配备8块Tesla V100, 通过开箱即用的解决方案,加上集成式深度学习软件堆栈,避免了漫长枯燥的软硬件配置和错误排查的耗时,只需短短几天就可以完成部署、调优,实现最佳的性能,开始深度学习训练。

方案

面对AI机器翻译的多种挑战,王博士带领团队使用剪枝算法和集成赛马策略并采用NVIDIA超级计算机DGX-1来提升AI翻译速度。为了缩短模型的构造时间,王博士团队提出了语料精炼算法、BKTR策略、阶梯训练策略及翻转翻译算法,极大的缩短了研发周期,提高了团队整体的工作效率。

超级计算机DGX-1加速AI翻译:用户在使用产品进行翻译时,一点点的速度差异,在使用体验上都会被放大。因此王博士对“平安好译”产品提出的要求就是“致力于追求最快的翻译速度和更高维度的数据学习能力”。使用超级计算机DGX-1后,算法工程师可以充分享受8卡GPU的机器性能,能够学习到更深的attention layer,触及到更多的网络层数,意味着能够以更高效的方式走遍整个网络。同时,GPU间共享optimizer中更新的参数,相当于单卡的batch size有了8倍的增大,每次反向传播更新权重时,神经网络都可以看到更多的样本,避免了每次迭代时,过拟合到不同地方。更高倍的效率可以使用户能够得到实时翻译的顺滑体验。在使用超级计算机DGX-1后,1000个英文字符翻译成中文,平均翻译时间从8.3s降低到0.97S,数据处理速度较原来提升了 7 倍,能高效地处理并行的翻译文本。
剪枝算法:为了提升翻译速度,团队使用剪枝算法。删减了部分dropout、RELU函数的运算过程,将神经网络层数进行压缩融合,优化神经网络构架,避免翻译过程中数据的频繁传输,这一算法方案成功地减少了翻译时间。
集成赛马策略:王博士带领团队多次调整模型结构,训练出了多种模型,将模型进行组合并集成,测试模型在不同组合上的性能差异,从而极可能得到最好的性能。每一次将待翻译文本输入后,模型会迅速输出一个翻译结果,而实际上,模型已经处理出了多种翻译结果。在日常用语、新闻正式用语、或金融领域等不同语料训练出来的模型,针对输入文本,在翻译结果上会有些许差异,最终的翻译文本由不同翻译结果融合而来。这一设计得以实现得益于强大的计算力资源。

极大地缩短模型构造时间:以往的算法工程师开发一个优质模型往往耗时半年甚至更长时间,超级计算机DGX-1助力平安科技联邦学习团队AI机器翻译组将神经网络模型的搭建周期缩短至一个月,利于算法工程师将时间集中在模型优化上,而不是数据处理上。
语料精炼算法:算法工程师将输入的训练集进行tokenize,再将这些token加入到词表中。并且随机掩盖小部分token,然后对被掩盖掉的内容进行预测,产生有着多种表达方式而意义相同的句子。王博士对此做了进一步的解释:“以Agglomerative Clustering算法为灵感,我们采用的算法是:把这些文本映射为向量表达,通过Complete Linkage与欧式距离为参考,计算向量之间的距离。这种高维空间中的向量距离,意味着句子相似度。然后以相似度为依据,设定阈值,有目的的选择文本,根据文本量的大小,我们设定阈值为前80%~60%,从中选择差异性较大的句子并过滤相似度较高的重复文本数据,作为每步训练送入的数据。通过这种方式产生的语料,我们能够提高模型的多样性表达能力,使英译中的翻译达到更精准的效果。”
BKTR策略:对已经正向翻译的语料,对两侧语料分别进行反向翻译,从而得到意思相同而表达方式有多样性的语料。对这样的语料进行打分,提炼出更优质的语料作为训练集,再次放入模型进行训练。通过这种方式,既能使模型学习两种互译语言进行双向映射,又能够大大丰富语料库内容。这种策略对计算力的要求十分大,在实践中,DGX-1高效的计算性能,使得我们可以利用百万计的句子实现这一策略。
阶梯训练策略:为了帮助算法工程师更快地训练模型,平安科技将训练分为两个部分。第一部分先以64k的批量,在256个位置向量上进行训练。第二部分再以32k的批量,在512个位置向量上进行训练。通过这样类似finetune的操作,不仅能够更快速地训练模型,也能对模型起到调优的作用。
翻转翻译算法:针对短语、固定搭配的翻译,除了可以按文本顺序翻译,还可以将文本逆向送入模型进行预测。再将输出结果翻转为正向,将两种翻译结果进行比较融合,从而获得更加通顺的翻译效果。
支持海量数据的模型训练:进行模型训练需要大量算力,以使文本的翻译效果尽可能的流畅。翻译效果对机器性能要求较高,Transformer机器翻译主要通过Multi-Heads attention机制来加强句子的语义关系,其中模型的大小,包括batch size的大小,Attention head的数量,以及Max length(单句的长度)等参数对机器的要求较高。在使用单卡的机器进行模型训练时,只能用中等量级的参数来训练模型,太大的参数会导致内存溢出(out of memory)的问题。使用DGX1之后,充分利用机器的性能,参数扩大到原来八倍。最终翻译效果有明显的提升。在DGX1上训练出来的big model对长句的处理能力会明显优于单卡上训练出来的medium model,模型BLEU得分在统一测试集上高出3分左右。
在超级计算机DGX-1的加持下,模型构建基于 Tesla V100 GPU,平台能训练近亿句平行语料,并且同时训练多个模型,因而大大缩减了模型构造时间。

影响

为了实现优秀的翻译能力,团队采用并改进了复杂的transformer结构,集成了多种有效算法,这需要庞大的计算力资源。“在使用英伟达超级计算机DGX-1之后,AI翻译项目的流程执行速度加快了60倍,大大缩减了机器翻译模型的构建与使用时间,更利于在金融翻译领域抓住市场机遇。我们将翻译接口提供给用户后,用户可以获得即时的翻译响应,减少时间成本,最大化地提高了用户的使用效率;同时用户可以实现海量文档的翻译需求,并获得准确的输出内容,从而极大地提高了用户体验感。”,王健宗-表示。