APP下载

INTERFACE|从技术到产品 搜狗为我们解读了神经机器翻译的现状

消息来源:baojiabao.com 作者: 发布时间:2024-11-28

报价宝综合消息INTERFACE|从技术到产品 搜狗为我们解读了神经机器翻译的现状


INTERFACE


分享者:陈伟、李健涛

机器之心报道



参与:李泽南





3 月 12 日,搜狗正式在线上平台发布了“旅行翻译宝”。这款随身翻译设备结合了搜狗神经网络机器翻译、语音识别、图像识别等多项技术,不仅支持语音、图像翻译等多种翻译模式,还提供中英日韩俄德等 18 种语言互译。



在深度学习快速发展的今天,机器翻译系统的能力究竟达到了什么样的水平?机器翻译是否已经可以代替人类翻译?3 月 17 日,机器之心与搜狗共同举办的 INTERFACE 线下分享中,搜狗语音交互技术中心研发总监陈伟、搜狗 IOT 事业部产品负责人李健涛,从技术和产品两个方面为我们回答了这些令人感兴趣的问题,解读了搜狗,以及业内目前机器翻译技术的现状。




在活动结束之后,我们对本次分享内容进行了整理:




搜狗语音翻译技术







把这些单点技术拿出来看我们会形成好的产品,2016 年开始我们一直在推搜狗机器同传,往技术层面来看,它其实就是语音翻译技术,把搜狗语音识别和搜狗机器翻译、语音合成打通。这是一个简单的机器框图,同传整个口译技术里面最难的技术层面,相当于人不断讲话过程中,屏幕和耳机要实时听到机器翻译的声音,语音不会停,我们做的过程中要不断去判断语音断点,找到语音之前断句的位置,然后做语音识别。语音识别之后拿到的句子非常多,不同语句混合在一起,需要有文本断句的能力,我们判断出这句话是完整的句子送到机器翻译,把结果通过语音合成方式,最后构成机器同传的完整能力。




我们需要加强的单点能力是把语音识别、机器翻译、语音合成的能力提升。连接语音识别和机器翻译之间文本断句能力是我们过去一直在加强的功能,有三个方面:内容顺滑、句子划分、输出判断。举一个例子,这个例子比较简单,他说“呃,我想去找你吃饭,不知道你有有没有空”。我们要把语气词去掉,否则会影响用户观感,做了顺滑以后会把语气词删掉,还有重复词去掉,这样的东西带到翻译里会极大降低翻译体验。




此外,我们经常讲的关于口头禅的事情,比如有人经常说“在这里、在那里、那就是说”等等。做了顺滑之后我们会得到相对来说语义完整,没有太多冗杂的句子。多个句子连在一起,如何找到断句的位置,需要在文本上做断句,通过神经网络模型,把句子划分开,上一个句子就变成了:我想去找你吃饭,不知道你有没有空。




在我想去找你吃饭后面加上标点符号。是不是把整个句子送过去就可以?这样是不合理的,为什么?我们做的过程中在实时做语音翻译处理,用户可能想说我想去找你吃饭,不知道你有没有空,我们一般来说会判断一下到底哪些句子需要送到后台做翻译,哪些需要等一等,等来了之后拼凑成完整语句再进行翻译。输出判断的时候,优先把我想去找你吃饭进行翻译,后面会有句子加进来。因此同传的时候会做很多容错以及判断,同传这件事情是很强的单点技术融合在一起,把更多单点技术串连起来非常大的系统工程。




搜狗语音产品发展历程




简单回顾一下搜狗在语音产品上面的进展,2016 年 11 月 24 号,第三届乌镇世界互联网大会上同传,在屏幕上投屏,这个系统有什么特点呢?第一,它是同传的,真正对于人工口译行业,他们一般叫同传和交传,同传概念是讲话过程中,人工同传把听到的语音翻译成对应的目标端语言,还有交传,说完了翻译才会做翻译,比如新闻发布会上,总理讲完了,翻译针对总理讲的东西做翻译,那是交传。我们首发的时候是同传模式,整个服务基于在线,使用两项技术:语音识别和机器翻译。2017 年我们逐渐把产品放到搜狗产品上面,目前搜狗翻译产品日均请求量已达 720 万次,随着技术成熟逐渐上线,产品带来了大量数据积累,这方便了我们不断进行技术迭代。2017 年第四届乌镇互联网大会上,我们发布了机器同传 2.0,把语音合成能力加进去。因为现场有人工同传箱,我们把机器合成的声音连到人工同传箱,人们戴上耳机以后可以选择 3-4 个频道。




整个 2017 年,机器同传支持了 200 多场同传服务,极客公园创新大会上我们发布了英译中机器同传,之前很多是中译英,但台下如果很多是中国观众的话不是刚需,反过来英译中对于国内大会来说非常重要,大家可以实时的看到英译中的效果。




搜狗的翻译硬件布局




搜狗在语音翻译硬件上的布局,在于今年 1 月 24 号发布的搜狗旅行翻译宝和搜狗速记翻译笔。技术特点拆解来看,搜狗旅行翻译宝主要是搜狗离线语音翻译,交传模式,我讲完以后你会看到我的播报声音,并不是同传的,用到的技术有搜狗的语音识别、机器翻译和语音合成。搜狗速记翻译笔是同传模式,语音识别和机器翻译。所以这两个产品略有区别。




现有技术进步肯定会提到深度学习对我们这个行业,对 AI 技术带来极大的提升,怎么来看带来的提升呢?或者从哪些因素分析呢?一般来说分三个特点:1)数据的变迁;2)算法的变迁;3)运算的变化。




从数据角度来看,其实现在数据对于工业界而言是非常大的护城河,工业界因为有自己的产品,因为有更多人力财力支持,我们可以获得更多的数据。现在已经达到数十万的量级,真正工业级商业机器翻译系统都是过亿语料规模,以前做语音合成语料库大概需要 10 个小时,从录音室出来的精标数据,现在这个量已经扩展到几百小时,甚至上千小时,数据规模逐渐变迁。


 






为什么说数据有用呢?上图是搜狗语音识别从 2012 年上线到现在的数据变化情况,早期上线之前,我们通过 Google 界面,收取大量用户数据,我们没有完全做语音识别系统,而是做了热启动,最早期的语音识别系统。当时上线用到的数据量也就 500 小时左右,随着数据级变化,从早期接近 40% 的错误率一直到 2016 年是 4.8%,现在已经是 3% 以内了。现在搜狗输入法上面每天请求数 PV 是 3 亿次左右,差不多总体语音总时长是 26 万小时,虽然这个数据并不代表搜狗马上可以拿 26 万小时的内容做训练,但是它的确会给我们带来更多的可能性,当你有大量数据的时候要不要做更多数据挖掘,我们可以通过机器半自动方式挑选数据,让我们的技术获得不断提升。




我们有一个自己的平台,叫 EVA,来自日本动漫的名字(新世纪福音战士),这个平台更多研究如何去做训练,因为当你的数据越来越多的时候,算法越来越复杂的时候,怎么样在短时间内获得更好的模型就成为需要优先考虑的问题了。底层基础设施有不同硬件,RDMA 是高速率的路由器。再上面,我们怎么能够更好的做自动配置,以及更灵活的调度,所以我们用了分散式系统,更好的调度各种各样训练服务。再上层,基于目前已有的系统上面的设计,把很多算法放上去,比如现在常用的 CNN、RNN、CTC、LSTM/GRU。再往上就是应用,图像识别、语音识别、机器翻译这样的技术。




现在的大多数其他开源平台在服务器端还是比较成熟的,但在终端——手机端和硬件端的运算能力,如何拿到好的模型来做推断?我们团队内部意识到,针对特定业务,做推断这件事情一定是强定制的,不可能有通用运算库,针对所有模型和任务都可以算得非常快。因此,搜狗团队在自己的深度学习平台内部孵化出一个工具,试图解决在已有 ARM 的 CPU 等计算硬件的条件下,如何进行更高效的运算的问题。




这一挑战分两个部分:任务调度的事情和高性能计算,针对目前我的逻辑和业务做更多的运算定制,这些东西支持了目前我们在语音识别、机器翻译、语音合成上各种运算任务,这些任务会逐渐放到搜狗对内对外很多产品上,比如今天看到的搜狗旅行翻译宝,包括之前手机端的很多业务,另外车机,搜狗在家,主要依赖于目前在云端基于我们的平台,以及在手机终端上比较强的运算定制能力,保证这件事情是打通的。




我们把自己的库与 ARM 的 ACL 对比,目前我们已有的库平均性能加速比 1.62 倍,在搜狗自有任务下加速比将近 4 倍。自有硬件可以保证你基于已有架构做更好的定制。如果你想在手机上跑起来,首先要对模型做更大的裁剪,在相对容忍的时间内跑起来,如果在自有硬件上,由于有很强的运算能力,我们可以把高品质模型和能力放入设备。




自 2010 年以后,深度学习技术变革了整个语音识别性能,2010 年之前,我当时学的语音专业,找工作非常难,2010 年之后忽然发现深度学习技术使用起来之后,错误率急速下降 30%,从实验室-可商用中间摇摆的状态到快速使用的状态。我们发现深度学习技术不只变革了语音识别,也变革了 AI 行业。比如现在做语音做图像,它用到的底层结构基本类似。




语音为例,2010 年之后,搜狗团队做过 DNN,做过 CNN,做过 LSTM 和简单的 RNN,我们也尝试把 CNN 做的很深,比如我们团队做 50 多层 CNN 结构,尝试了 seq2seq 等结构。我们也尝试做一些变化,比如用 CTC 结构代替之前的 cost funtion,保证它能够更多的端到端,而不要把很多东西做的太复杂了。我们尝试在 LSTM 经典的基于序列建模方式上,把它简化,因此就会有 SRU 和 QRNN 的尝试,所以在算法方面有很多的变化。




如何把多个模型结构融合在一起,形成多模型融合在一起的复合结构?比如我们现在做的是 LS-BLSTM,不同的特点,提升整体在语音识别上的效果。




语音合成的合成前端,包括分词也使用了神经网络结构,合成后端是端到端神经网络系统。这里给大家分享一些小的差异点。语音合成现在已经比较成熟了,得到的参数合成效果现在较之前有很大的提升,我们能不能做更多的事情,能不能使用少量语音做更大的合成?我们拿林志玲 6 分钟训练数据合成,或者做迁移学习,变到其他风格上面,比如她只是讲话,能不能让她去讲贯口,或者唱首歌?




我们可以实现个性化定制,也可以称之为情感迁移、风格迁移。6 分钟林志玲的声音,合成了让机器像她一样讲话,怎么针对已有风格让它迁移到这个风格上面,我们团队在做这样一些事情。




搜狗的机器翻译技术




聊聊搜狗在机器翻译上的工作,目前的框架是去年我们获得 WMT 冠军时的框架,采用 encoder attention 加 decoder 技术,采用 layer norm 加速收敛。当时我们做了比较多的深层 RNN-NMT 模型,另外做了很多融合,在后面结果的筛选上,提升候选重排序,还有神经网络语言模型。RNN-NMT 已经是 2017 年的技术,甚至 2017 年上半年的技术,现在技术变化非常快。




2017 年,Facebook 提出了基于卷积神经网络(CNN)的 NMT,之后 Google 的论文《Attention is all you need》则提出了更先进的机器翻译技术。我们在 2017 年 7 月份上线了基于 transformer 的机器翻译系统,这个系统最大的问题在于它的解码器很慢,搜狗很快解决了解码器的问题,形成了自有的 Transformer 框架,新系统较原生系统提升了 8 倍,机器评分好了 3 个 BLEU 以上。在人工评测上,和竞品对比,我们发现目前这个框架比其他系统都要好很多。


 






为什么搜狗能这么快上线?主要原因是我们把解码器这件事情做好了,我们找一个小的测验级测试,TensorFlow 版本解码器是 691 毫秒,我们自己的解码器是 78 毫秒,加速比是 9 倍。目前有一些基于 transformer 的竞品开始上线,他们在做在线的时候,我们在今年 1 月份发布的旅行翻译宝用到的框架已经是离线的 transformer 了,我们认为我们的翻译产品是领先其他竞品一个代差的。




在离线产品上,我们的语音识别、语音合成、机器翻译效果媲美在线水平。




我们的提升有三个维度:翻译模型压缩至原模型的 1/35,现在大家拿到最新版本搜狗旅行翻译宝已经压缩到了 1/48。再是实时响应,最后是模型精度接近无损,基本上中英一致。这里引用了一句话,是我比较喜欢的科学家 Alex Graves,说“what is possible in principle is not always what is simple in practice”。做的过程中踩了很多坑,碰到很多问题,真正想把东西做到离线设备上,并且有好的体验,其实是很难的事情。首先从硬件设计上,最早期我们设计旅行翻译宝的时候我们就在做麦克风双阵列设置,这块描述图比双麦用到的算法多很多,这是完整麦克风阵列算法图,实际上对于我们旅行翻译宝上面用到的技术主要是三块:




1)波束形成,我首先知道你在哪,麦克风阵列一定角度指向你,在角度内的声音会做到语音增强,角度外的做到语音抑制;


2)环境降噪,我们做噪声抑制,我们叫 NS;


3)自动增益,这块主要针对远场拾音,当我和对方距离不是特别远,几十公分还好,进到麦克风里的声音很小,我怎么把它进一步放大。所以主要做了这三方面。




围绕着这三个维度给大家讲一下我们当时在开发产品时的心得。




模型压缩,我们发布的时候压缩到 1/35,现在到了 1/48,怎么做的呢?目标是怎么降低离线模型存储大小,我们毕竟希望推出一款离线设备——这就存在一定的硬件限制,我们希望把硬件需求降下来。大家能想到的就是精细的模型结构设计,减少模型的参数数量,另外是针对特别大的矩阵试图做一些 SVD 的分解。另外是量化存储和运算,现在的大部分神经网络是 32 位的,但实际上我们可以做一些量化,尝试做半精度,甚至到 8 位存储。这样的话,只要你做一次量化比特降低,就会使得你实际存储降低。这里只是模型存储降低了,我能不能把内存降低?需要做完量化运算,比如针对 16 位做运算,针对 8 位做运算,这样的话运算需求的内存也会降低。




还有参数矩阵共享,之前云端一个模型各有各的参数,没有内存和存储上的限制。但在移动设备上,因为有很多硬件上存储和内存限制,对于翻译而言,我们希望在嵌入向量(embedding)、识别语言模型和翻译之间进行参数共享,通过这种方式把存储进一步降低。还有模型裁剪,2017 年上半年我们和 MIT 助理教授,深鉴科技联合创始人韩松合作,他们致力于开发压缩后模型在 FPGA 上的运算,我们和他们共同研究了语音识别模型的深度压缩。我们在 FPGA 行业最顶级会议上发布了一篇论文,对语音识别模型压缩的工作做了总结。我们已经做到把语音模型在无损情况下压缩到原来的 20% 以下,再小就不太行了。怎么裁剪?一般剪两种,对于模型来说是凸处,即剪权重;再是剪神经元,剪完之后需要做在训练,要保证精度拉回来,所以有很多这样的工作。




运算的加速,目标是能够压缩语音翻译的延迟。我讲完话以后,马上听到翻译的合成声音控制在百毫秒级,我们的目标是 1 秒以内。为了让模型处理速度变快,我们希望在输入输出上做批量运算和批处理,另外是运算策略优化,我们希望能每个时刻都在做测算,或者跳帧处理,低帧率操作,保证运算速度提上去。在工程上,针对任务的运算定制,基于 EVA 平台的定向优化,还有任务调度,我们有很多任务。旅行翻译宝有识别翻译和合成三个大任务,里面还有很多小任务,比如在逻辑上,做路径搜索,做前端文本还是做后面的参数预测,有很多任务,我们把它拆解成小的任务,每个子任务评估目前的任务难度以及目前运算瓶颈在哪,把它分别调度到不同的运算器件上。旅行翻译宝上面有一个小的 ARM GPU 和一个大的 ARM A72 CPU 核心,及一个小的 ARM A53 CPU 核心,它们分别算哪个任务是需要提前做好调度的,我们做了一些优化策略。




我们还对很多任务进行了强定制,如一些循环、向量化的并行,以及针对内存、缓存、寄存器的优化等等。在定向优化之后,设备的运行内存快了 3 倍,解码速度快了 5 倍,这是非常重要的。这就是我们为什么要做硬件的原因——很多事情只有在可控的硬件以及有更多自由度的硬件上才可以做更多优化策略。




我有了好的速度,有了好的压缩,但仍然要保证离线翻译的效果。我们的目标是能够媲美在线的效果,在这种情况下,我需要明确设备的使用场景到底是什么,比如旅行翻译宝面向出行,场景数据要做更多优化和定制。另外是知识提纯,所有的方法都有一个老师,有一个学生。老师干什么?不用考虑运算速度和硬件限制,只要有好的性能就可以了,学生做什么?能不能从老师那里学到更多知识,让自己和老师一样有学问,大致的思路是这样。因此,有老师和学生以后,他们俩共同维护一个目标函数,让他们输出概率分布尽可能保持一致,这是整个知识提纯非常基础的想法。


 






我列出来的只是一篇论文,截了一张图,给大家一个主观感觉,基于不同层级的机器翻译层级,在词一级就可以做提纯了,有完全针对句一级的,也有混合在一起的,这个方法不仅限于机器翻译。另外,在语音识别上我们也在使用,比如这张图是我们在语音识别上声音的,我们用 50 层 CNN 的结构,得到语音识别模型,基于这个模型我用它做老师,训练离线语音识别模型。这是非常大的 transformer 在线翻译模型,用这个老师教离线的小学生去学知识。


 






最后我们做到了在线和离线模型效果保持一致。




今天的时间有限,我们只与大家分享了一些感兴趣的技术内容,感谢大家能够来到现场学习,也欢迎大家对我们的技术多提意见,也希望大家能够随时来我们团队参观访问和加入,谢谢!




搜狗旅行翻译宝背后的思考







我们今天需要这样一种特别的设备:它具备很强的离线计算能力,以及识音的能力,让我们可以做到离线语音翻译,可以即说即翻。它需要能够处理 18 种语言,毕竟现在国人出游不只是去英语世界,包括日韩,也是国人出游典型的目的地。




除了语言翻译之外,为什么会有拍照翻译?其实语言的处理两方面:声音的、图像的。尤其对于中国人来说,我们有着含蓄的文化,往往很多时候不太愿意去说,而更愿意自己解决问题,能够看,解决看不懂这个问题,这个往往更有意义。这个频次甚至更高,包括你点菜的时候,走路的时候,看路牌等等,其实很多时候你是看不懂的。这也是我们为什么在机器里面加入拍照翻译,真正解决人们看不懂的问题,加入实景 OCR,同样也是离线,让这样小小的机器可以离线识别你看到的问题,并且把它翻译成你懂的语言。




这里也有很多挑战,包括复杂的背景,复杂的版式,因为和平常 OCR 拍普通文章不一样,面对实景有很多复杂情况,包括复杂字体,刚才我看后面摆的菜单,里面有一些花体字,这个挑战非常大。另外,实景拍照光线的问题,角度的问题,包括你拍的菜单可能是扭曲的等等,这里也有很大的技术挑战。这条路我们依然在往前推进摸索,目前还没有到完美的程度。




作为一个独有的产品,只是翻译的话还是不够,我们在翻译宝中还加入了如汇率的计算、多国的时间、当地紧急联系电话等等实用小工具,让你真的在出国的时候可以拿这么一个设备,就可以解决你在出游中面对的绝大部分问题。后面我们也会考虑在里面加入导航的一些能力,目的地的景点推荐能力,包括到了某一个景区里面,某一些景物的介绍能力等等,因为很多国外你去参观博物馆,看到《蒙娜丽莎》,却看不懂英语法语的介绍,不知道它的背景故事,我们希望针对旅游场景的能力也结合进来。




对于屏幕的问题,我们也回访过很多用户,人们总是担心你识别的准不准,在对话过程中,你不必要等对方说完了机器给你读出来,因为读的速度慢,如果翻译完给你文字看这个效率更高,所以这都让有屏幕这件事情变得非常有意义。待机的时间基本上也够一周出游时间,3.1 寸的触摸屏体积也很小,随便揣在口袋里就可以走,很方便。


 






翻译的未来




面向未来,翻译再往前演进,未来会是什么样子?我们把这件事情拆解一下,上面是软的,下面是硬的。软的两条路径,上面是语音这条路径,下面是图像路径。通过语音识别翻译,然后合成,播放出来。图像进行图像识别、翻译,再把图像合成,给人去看,这是从软的层面。从硬的层面相对应的需要具备拾音能力,计算能力,播放能力,图像方面需要采集的能力,计算处理能力,显示的能力。




面向未来我们需要考虑的是:手机处理能力会随着时间的发展越来越强,虽然现在手机计算能力没那么强,没办法做到离线快速实时的翻译,未来随着时间的发展,也许两三年后的主流手机就可以支持这样的计算。本身播放和显示方面也是手机的优势,但你会发现,在前两件事情上,不管是从手机能力上还是使用体验上,都不是最佳的解决方案,包括拾音,本身手机就不是面向远场拾音的设备,从技术上讲,半米就算远场,识别就已经非常有挑战了,手机天然不具备优势,现在 iPhone 有三个麦克风,只能针对近场识别,有意消掉远场噪音,很长一段时间手机面对远场拾音都不会作为重要的发力点,这是手机所缺失的。




另外,手机实时性速度体验很重要。让我们去思考一下,最极致的体验是什么,我们希望能够立即听到翻译好的语言,让看不懂的文字随时变成我看得懂的文字,实时的感觉很需要,这种实时感觉也是作为手机形态产品所不适合的,你不可能一直举着手机到处看到处听。所以未来演进的形态分别是耳机、眼镜这些产品,戴着耳机和眼镜可以实时的听、看,这本身对计算能力和硬件的拾音采集等等都会带来极大的挑战。




搜狗的使命是让表达和获取信息更简单,在翻译这件事情我们希望能够让跨国表达和获取信息更简单,我们也会在这条路上持续走下去,而且会保持行业的领先,不管是技术层面的,产品层面的,持续在这条领域里面去发力。




今天大体是这些,谢谢大家! 






本文为机器之心报道,

转载请联系本公众号获得授权


?------------------------------------------------


加入机器之心(全职记者/实习生):hr@jiqizhixin.com


投稿或寻求报道:editor@jiqizhixin.com


广告&商务合作:bd@jiqizhixin.com




2018-03-26 19:34:00

相关文章