今年,网易有道上线了自主研发的 YNMT,让以中文为中心的、根据中文用户使用习惯定制的神经翻译系统服务于 6 亿有道用户。而最近,有道希望从 AI 服务提供者变成 AI 技术赋能者,「原来我们的技术主要服务于自己的产品,现在我们把技术输出,让更多人享受到这些技术的便利。」网易有道 CEO 周枫说。近日,在网易有道开放日活动上,周枫宣布正式上线 OCR 技术、「中日」、「中韩」语言对神经机器翻译和有道智云平台,智云的上线让更多的第三方开发者和企业能够利用相应技术,有道希望企业用户能够通过平台,以 SDK 或 API 等多种方式将神经机器翻译、OCR 等技术接入自己的应用,满足自己的需求,让技术可以转化成更多实际的产出,服务于更为广阔的用户群体。
周枫先后于清华大学和加州大学伯克利分校取得计算机本科、硕士和博士学位。2005 年,还在博士就读阶段的周枫就负责了网易有道搜索的基础架构搭建。毕业正式加入网易后,周枫先后负责了账号保护器「将军令」、有道词典、有道购物助手(现惠惠购物助手)的开发。其中有道词典利用独创的「网络释义」功能,通过对互联网信息的深度挖掘对单词给出具有时效性的参考释义,获得了广泛好评,现用户量已超过 6 亿。本次活动结束后,机器之心和周枫聊了聊有道神经机器翻译的开发历程,以及深度学习为业界带来了哪些变化。
图:周枫在「网易有道开放日」现场
成立专门团队提前布局
从谷歌发布相关论文、切换系统开始,神经机器翻译「大火」还不到一年,而有道在神经机器翻译领域的部署远早于此。
「2014 年,NMT 达到和 SMT 同样水准,我们开始关注它。2015 年,学术界发表了超过 SMT 的 NMT 系统,我们就成立了专门的团队做这件事。当时并不知道能否做得出来,因为即使做出来效果很好,性能达不到标准也没法上线。但是我们都认同,虽然做这件事有风险,不做风险更大。」周枫说,「我们比较庆幸开始得非常早,因为深度学习尽管从模型角度做了很多简化,但在工程上还是有非常多『坑』需要逐一踩的。神经机器翻译系统我们做了整整两年,处理的数据数量在一亿句以上。而在性能方面,直到今年春节,还有很多问题没有解决,当时翻译一句话还要一秒钟。从原型到上线,我们的模型在速度上优化了 100 倍。」
在部署方面,团队做了很多尝试。最典型的例子是在推理部分(inference)的硬件选择上。「我们分别尝试了 CPU、GPU 与 FPGA,最后选择了 GPU。」周枫介绍道,「GPU 的特点是并发度高,CPU 的特点是单线程能力强。GPU 的优点在于能够同时翻译很多句子,但是用于翻译的推理障碍还是很多。尽管在单位计算量非常小的时候 GPU 有非常明显的优势,但是翻译一个句子计算量很大,会出现数据吞吐量(throughput)很大但是延迟很长的问题。我们的工程师对此做了非常多的优化。我们也研究了 FPGA,判断是 FPGA 低功耗和定制的特点让它更适合无人机等移动场景,在服务器环境下优势不明显且变成较为困难。」
词典与翻译的长期积累和大用户基数也为团队提供了极大的便利。「在训练数据中,来自互联网的爬虫数据占比最多,然而我们通过其他途径采集的针对性数据在作用上可能更为重要。从词典开始的网络释义工作帮了我们很多。我们通过比较深度的挖掘获取了非常多优质的短语语料,这些语料用于翻译系统,对翻译质量的提升有非常大的贡献。同时大量的用户给我们带来了很多及时的反馈,技术团队能够保持一个月更新一个版本的频率来发现问题、解决问题。」
基于用户需求,实现场景优化、新技术引入与新平台开放
从 SMT 时代起,网易有道已经有了很多企业级的应用案例,比如微信、支付宝、搜狗浏览器等巨无霸产品的内置翻译功能都由有道定制提供。从用户真实需求出发,是有道将技术开发与场景结合进行产品开发的关键。
网易有道的神经机器翻译最大特点是具有场景针对性。通过有道词典的十年积累,开发人员发现,中国人使用英语最常见的场景集中在学习、新闻、口语三类,相应地对翻译功能的需求也是如此。因此,在开发神经机器翻译产品的时候,有道从需求出发,充分利用了语言在不同场景下表现特点不同的的性质,为每一个场景「定制」模型。「以新闻场景为例,它的特点是句子比较长,句式比较复杂,经常出现一些新的人名、地名以及经常需要联系上下文。我们针对新闻场景特点采集数据,提高模型训练时新闻数据的配比,同时考虑到句子复杂度的提升,我们也会调节输入的维度、模型的层数与结构、覆盖度惩罚系数等等」,周枫解释道。
作为一个以中文为中心的产品,本次有道神经机器翻译还添加了「中日」和「中韩」两个语言对的支持。「大多数海外的引擎不仅没有对中文和其他小语种的语言对做专门优化,甚至需要通过英文进行转接」,用户得到的中日翻译,可能是从中文到英文、再从英文到日文的「二道翻译」。看到了小语种的需求与机会,有道以日韩两种语言为例,对翻译系统做了相应的改进。「每种小语种翻译的开发都需要解决特定的问题。例如中日韩不同于拉丁语系的一点是需要分词,它们的分词还各有特点。日语还会存在语序与其他语言显著不同的问题,这时候注意力模型的覆盖范围就要做对应的调整了。」针对性地解决了每个语言对的特定问题后,有道的翻译效果提升的很快。网易有道首席科学家段亦涛在活动上展示了网易在「中日」和「中韩」语言对上的机器翻译 BLEU 测评结果,可以看出虽然结果稍逊于中英,但 YNMT 相比于其他产品已经有了质的飞跃。
图:「中日」及「中韩」语言对神经机器翻译结果测评比较
语料不足是开发小语种语言所面临的最大挑战,网易开发团队曾尝试过利用字幕组这类「民间」数据。「但是效果并不好,把数据添加进去模型效果反而会下降。可能原因是它的语言使用场景非常特殊,翻译也极度依赖剧情和上下文,我们还在探索有效利用这类数据的办法。」周枫告诉机器之心。
另一个针对用户需求进行的技术开发是离线功能。「离线的好处有很多,速度快、不费带宽,不用用户花钱。而且很多场景,比如视频中的文字识别,是必须离线处理的。」因此虽然离线的难度很大,有道仍然投入了大量资源去做。段亦涛也介绍了为了离线而对神经机器翻译模型做的优化:「一是通过裁剪减少参数,二是有针对性地根据权重做取舍,三是采用定点化,除此之外还有增加词表矩阵的稀疏性等等。」他开玩笑地说,「负责这方面的工程师都特别穷凶极恶。」
开放 OCR 技术也来自于对用户的观察。网易有道副总裁金磊在活动上介绍,「从我们最大的应用有道词典来看,我们拥有 6.6 亿用户量,每天使用自动翻译技术有 2000 万次,OCR 请求有 470 万次」。网易有道的 OCR 强调对中英混杂文本的识别。「大家对于中文识别的需求实际是对『主要是中文,偶尔有英文』场景的需求,邮件、新闻等等都属于这个类别。」
图: OCR 技术结果测评比较
深度学习带来更广阔的视野
最近,神经机器翻译领域也产生了一系列技术成果,包括 Facebook 基于 CNN 的模型和谷歌完全基于注意力的模型。在周枫看来,学界和工业界的关注点不同,二者在目标上存在很大差异,他说:「在学术界,无论付出多大代价,只要产生改变,哪怕只有 1% 乃至 0.1%,都值得去做。但是对工业界来说,一个达到一定水准的、足够好的架构就可以了。注意力模型(attention)在这一点上特别强大。它在可以接受的复杂度和成本提升条件下让模型效果上了一个巨大的台阶。现在,据我了解,在大规模生产环境下实际应用的机器翻译应该都是基于注意力架构的。注意力之后的学术界成果都是在某一个特定角度做提升,而且提升往往需要付出特别大的代价。把模型变成可用的产品的过程本身有非常大的复杂度,我们暂时还没有看到足以推翻现有系统的新模型。」
他认为,深度学习最大的贡献是让系统变简单,让工程人员的经验拥有更广的使用范围。「以 TTS(文字转语音)为例,原来做这件事要读拳头厚的一本书,系统涉及十几个模块,每个模块完成特定任务,所以每个模块一章,章和章之间没有任何关系。深度学习来了之后你可以看到学术界逐渐改变它的过程。首先是每个模块的内部都变成一个深度学习模型,虽然模块数量没变,但是模块间的相似性带来了简化。紧接着又出现了论文,把模块的数量从 10 个减少到 5 个。这些简化不光具有学术意义,把事情变简单后,开发人员的经验适用范围也就变的更广了。比如现在翻译团队就有一部分工程师在研究语音模型,语音和他过去的工程经验毫无关联,然而在深度学习的背景下,他可以探索的范围变得非常广阔。」