谷歌神经网络翻译系统发布后,我们和Google Brain的工程师聊了聊

本文涉及的产品
文本翻译,文本翻译 100万字符
图片翻译,图片翻译 100张
语种识别,语种识别 100万字符
简介: 9 月 27 日,谷歌在 arXiv.org 上发表论文《Google`s Neural Machine Translation System: Bridging the Gap between Human and Machine Translation》介绍谷歌的神经网络翻译系统(GNMT)后,「机器之心」第一时间进行了详细的解读和报道,重磅 | 谷歌翻译整合神经网络:机器翻译实现颠覆性突破(附论文)。

9 月 27 日,谷歌在 arXiv.org 上发表论文《Google`s Neural Machine Translation System: Bridging the Gap between Human and Machine Translation》介绍谷歌的神经网络翻译系统(GNMT)后,「机器之心」第一时间进行了详细的解读和报道,重磅 | 谷歌翻译整合神经网络:机器翻译实现颠覆性突破(附论文)


在最新报道发出后的第二天,「机器之心」受邀来到谷歌中国和来自 Google Brain 的软件工程师陈智峰聊了聊人机翻译、GNMT 和谷歌的技术创新等问题。


以下为采访对话,「机器之心」略有删改:


机器之心:神经网络翻译系统(NMT)将整个输入的句子视作翻译的基本单元,相比于之前基于短语的翻译系统,除了所需的工程设计更少这个优点外,句子意思理解的精确度有多大的提升?


陈智峰:我们过去的方法有很多翻译出来给人看,会发现有很多错误。机器会给这些翻译结果打个分,而我们新的系统作出的翻译所得的分会很高。我们在翻译结果的正确率在一些分数上会提高大概 0.5 分到 1 分,这是非常巨大的进步。比如,刚才我的同事讨论在微信上最近有些人开始测试「小偷偷偷偷东西」这个句子,相比过去的模型,这个翻译会非常非常正确。


机器之心:GNMT 有利用外部对准模型(External Alignment Model)对罕见词进行处理吗?


陈智峰:我们这个模型是没有 External Alignment Model 的,其他一些地方需要使用到外部对准模型来帮助神经网络模型来达到同样的效果,我们这个模型是不需要外面帮助的,整个训练和整个模型就是端对端的模型,它的迅速速度非常简单,你对照着中文句子,对照着英文句子就可以告诉我们,当中几乎没有任何其他的帮助就能够学习到这样的。


机器之心:那在罕见词的处理上是用了什么方法呢?


陈智峰:我们有两种方法,你可以把中文一个句子分成一个词一个词,比如说「我们今天见面」,你可以把它分成三个词,我们、今天、见面,你也可以把它分成六个字,传统的方法还有很多其他的类似系统里面大多数都是把它分成词来进行建模和训练的。英文也有同样的规律,比如说这个英文里是两个词,我们现在用的方法是把中文词全部打成字,然后把英文单词全部打成像词根一样的部分,比如说英文词语言、图像它的前缀都是一样的,所以说我们把这些前缀作为一个单元进行翻译,而不是像过去那样三个词分别翻译。


机器之心:我们都知道人在阅读时有一种能力是可以忽略文字排序错乱的问题,机器面临这种情况如何像人类一样高效处理这些内容?


陈智峰:不受顺序的影响我觉得是一个程度,比如说你随便打出一个中文的十个字的句子,你任意打乱的话很有可能是错误表达的,但如果你随机调整两个的话是可以跳过一些错误拼写出来的字。现在的模型也能做到,因为整个模型是统计模型,就是你看到前面几个字,然后猜下一个字是什么,有些字的可能性大一些,有些可能性低一点,也可能它会说下一个字就应该是一个空格,这样的话它就会跳过去。


我们做过一些测试。中文里经常会有一些标点符号,比如前面是双引号,写了句子以后会发现最后忘了加引号,你可以很清楚地看到这个模型会意识到这个地方你是想写一个双引号的,但你没有写。这些现在都能在一定程度上避免这些错误。


机器之心:你觉得 GNMT 在技术上的新突破以及未来的发展是否会完全取代人工翻译?


陈智峰:我觉得完全替换,或者说在任何情况下替换人的翻译还是有一定难度的。现在的机器翻译都是基于已经出现过的语言现象,但是整个人类不停地在发展,比如说网络上经常出现不同的新的语言现象,比如说有些短语、有些常用语,也是不停地在变化的。所以说机器是很难发明新的规则来表达你现在的意义,最终还是要靠人来创造出新的表达方式。


就是机器从人那边学习到怎么表达这个意思更加贴近时代,比如说同样一个英文词一百万,在英国和美国 20 年前是不一样的。还有对于同样的单词,如果是英国长大的人搬到美国,他会自己调整适应度。也就是说英语环境变化了,它的意思发生了微妙的变化,而你要让一个机器翻译的系统能够捕捉到这样细微的变化还是很难的。


机器之心:在结构化比较高的文章中,比如论文、科技文献上的处理是不是会更接近一些?可以取代一些?


陈智峰:对,那些我觉得可能,比如说翻译一些医学的文章,就是这个领域非常非常固定的,有些很成文的规则表达的东西,我觉得将来会非常依赖于机器翻译来处理各个语言之间的信息交流,帮助会很大,而且精确度也会很快提高。


机器之心:从你们一些产品的实验中,就是从更大的范围来看,您觉得有哪些领域是现在特别适合机器翻译来做,或者机器翻译的水平和人的水平最接近的?哪些领域是目前不太适合机器翻译来做的?


陈智峰:比如说在时事新闻方面,因为很多时事新闻写作都是有套路的,比如说美国总统今天怎么样,中国国家主席怎么样,这些模式比较固定的情况机器翻译就能够做得比较好,而且读新闻的人不太注重时事新闻的写作文笔,更注重的是信息的传达,所以说在一些修辞方面或者情感的传达方面要求比较弱。


机器翻译就能够很快地帮助你获得信息,这是主要机器翻译目前对人类的帮助。目前来讲我觉得在人与人之间的自然沟通上,机器翻译还是有很大的工作需要做,才能达到真正能够让你感觉到跟你说话的人是一个真的人,而不是一个机器,这还需要很多年的努力。


机器之心:在科幻小说《银河系漫游指南》里,有一个种叫「巴别鱼」的生物能实时翻译任何语言,你觉得 Google 实现这样的水平还需要多久?(也就是说在更高层次上与自然语言处理上,实现两种语言对话的实时翻译,预计这种情景能多久实现?中间有着什么样的技术难题?)


陈智峰:很难预测,但我觉得从目前来看如果是要达到信息交互的过程还是很有可能的,但是要达到让你感觉是跟你家人说话的亲切感还是有很大的距离的,尤其是如果你要实时地和另一个人交互。我觉得现在要做到实时翻译还是有一些距离的,尤其是实时的语言翻译还是有一些距离的,但是三年五年可能会有一些突破。


机器之心:除了在机器翻译上,你们现在在其他语言和产品(例如 Allo)上这项技术应用的进展如何?


陈智峰:GNMT 是非常针对机器翻译这个产品做的,但是它的顶层研究,就是模型本身是非常广的,可以使用到很多领域里的,每一个产品都在这个基础模型上做一些开发的。举例来讲大家都有 iPhone,但是每个公司做的每个项目上的 APP 不一样。


机器之心:现在 seq2seq+attention 的模型已经在 NMT 及其他众多 NLP 任务上取得了非常好的效果,本次发布的 paper 中提到用了更多层的网络得到了更好的效果,请问是否还可以不断地增加网络层数来提升效果?


陈智峰:现在所谓你的层数增加,大家会普遍认为你的模型的能力就相对增强,但是在现有的技术条件下盲目地增加深度的话也有缺点。你的层次增加了,在应用时候的速度会变慢,因为它的计算量会增加,所以在现实当中都是有不同的考虑的。


机器之心:seq2seq+attention 的模型在效果方面是否达到了上限,从而需要更新的模型来解决问题?如果有的话,Google 最近在研究什么新的模型?


陈智峰:我觉得在机器翻译这个问题上,就是在基本的模型上还有很多扩展的余地,就是说你可以把这个模型变得更大,程序增加,它的模型架构是基本上一样的,但是在这方面你可以进一步推展。当然,这个领域变化很快,每年都会有不同的细分结构、模型结构出来,我们会不停地取长补短,就是有没有可能更快地提供更好的翻译服务。


机器之心:我有注意到现在移动版和网页版的 Google Translate 的汉英翻译已经在 100% 使用 GNMT 机器翻译了,为什么会率先在汉英 翻译上去应用呢?现在是有什么技术难点或者考虑吗?


陈智峰:有两个基本考虑,第一个考虑是在所有的 Google Translate 领域中,中文翻英文和英文翻中文的确是很大的一部分。用户很多,这也是在很多翻译任务当中相对较难的一部分,因为这是两个非常不同的语言,所以从传统上来讲这是一个比较难的。另外一点,在整个项目开发过程中有很多中国同事参与,有很多能懂中文也能懂英文的人在第一个系统的时候可以帮助调试,这会有很大帮助,所以这是主要的考虑。


机器之心:不同语言的语料规模差别很大,英文中的语料非常多,但中文语料就显得非常少。请问,能够将 NMT 的研究成果应用在不同语言语料构建上,从而提升其他语言 NLP 研究水平?


陈智峰:其实中文语料也是很多的,在我们的数据库里中文语料是英文语料的一半,但是这两个语言的语料库中我们掌握的语料是非常非常巨大的,世界上有很多其他语言没有足够的数据,所以这也是一个研究难点,就是怎么通过其他的语言来帮助翻译一些小语种,也是我们正在努力的方向。因为 Google 不光是要服务英文、中文,它的目的是让世界上所有的国家、所有的人都能够获得同样的服务,所以说我们非常致力于全世界有 100 多种语言,我们希望这 100 多种语言我们都能够做到很快翻译。


机器之心:刚才提到 Google Brain 和 Translate 这次的合作,我想知道在 GNMT 这次的技术研发包括产品的应用上,两个团队之间的分工是怎么样的?


陈智峰:我们主要是在初期建模的工作上做的工作比较多,在怎么使用最新的那些 GPU上,我们早期工作做的比较多。在 Google Translate 里面,他们负责很多怎么获得数据的工作,有些数据的有关情况需不需要调试,还有最后怎么把这个模型应用到产品里去,他们也做了巨大的工作,这是主要的工作。


其实 Google 很多技术开发都是这个模式的,不同的团队之间都会有很强的合作,因为 Google Brain 更多的是一个注重于神经网络、人工智能方面研发的团队,而 Google Translate 主要负责的是翻译这个产品,当然他们也有研究团队。所以各个团队不同,他们花了很多的时间,那么多年,就是需要采集数据,比如说我们训练的时候可以完全用他们已有的训练数据,每个团队的目标不一样,但是合作非常流畅,没有任何问题。


机器之心:你们的新论文描述了让 NMT 在非常大型的数据集上工作的许多挑战,你觉得当前最大的技术难点在哪里?在翻译速度和准确度的提高上你们又做了哪些创新?


陈智峰:这个项目在三年前,也就是 2013、2014 年的时候 Google Brain 就想做了,当时从硬件和软件上都无法支持训练这个模型,在过去两三年中 Google Brain 开发了 TensorFlow,使得训练类似的模型可以充分利用分布式计算,利用很多很多不同的硬件类型。另外,如果你这两三年没有一些专门的硬件加速器的话也是很难在短时间内完成这个训练。而过去两三年 Google 在机器学习、在人工智能方面的巨大投入,使得类似的操作才变得可行。当然,我们也做了很多,对于具体的训练在我们现有的硬件资源上做了很多优化,这也是一方面的努力。


机器之心:您说这个短时间是短到什么程度?是多久训练一次?


陈智峰:一般来说我们训练一个语言现在需要五天到六天的时间,差不多需要将近一百个 GPU 的加速器才能做完,差不多一星期才能处理一个方向的语言模型。但是 Google 有大概一万个语言的模型需要训练,当然我们有巨大的资源投入,也在不停地改进算法,所以说都在努力。


机器之心:这次我们这个系统昨天晚上的新闻发出来以后,很多人拿一些有趣的句子去测试,我想了解一下你们内部也有很多中国人,有这种有趣的句子测试它吗?


陈智峰:上市之前我们每个同事都绞尽脑汁想出一些办法考考我们这个系统,大家都觉得不太容易考倒它,所以最后决定我们可以拿出来给用户用一下。当然,肯定不是一百分,但是我们还是相对满意的。


因为 Google 以前有那么多年积累下来的难题,用户在使用Google翻译时,可能当时觉得翻译得不好,他们就会有记录,然后发给我们。我们会把那些东西放进新的系统看看这次做得好不好,比如说把中国的一些歌词拿出来放进去看看翻译出来的结果会不会比原来好,其实那种测试主要是防止它说出一些不太好的话。我们都做了很多测试,所以我们觉得还是有信心的。


机器之心:我昨天晚上做了一个测试,我输入中文「我要下班」,结果翻译成「I want to work」。


陈智峰:哈哈,这个我们也有收到反馈并修复了这个问题。



©本文由机器之心原创,转载请联系本公众号获得授权

相关文章
|
20天前
|
应用服务中间件 nginx Docker
【与时俱进】网络工程师必备技能:Docker基础入门指南,助你轻松应对新时代挑战!
【8月更文挑战第22天】随着容器技术的发展,Docker已成为开发与运维的关键工具。本文简要介绍Docker——一种开源容器化平台,能让应用程序及依赖项被打包成轻量级容器,在任何Linux或Windows机器上运行。文中涵盖Docker的安装步骤、基础命令操作如启动服务、查看版本、拉取与运行容器等。并通过实例演示了如何运行Nginx服务器和基于Dockerfile构建Python Flask应用镜像的过程。这些基础知识将助力网络工程师理解Docker的核心功能,并为实际应用提供指导。
44 2
|
20天前
|
安全 网络安全 网络架构
掌握traceroute:网络工程师解决路由问题的利器
【8月更文挑战第22天】`traceroute`是网络工程师的关键工具,用于追踪数据包从源到目的地的路径,帮助诊断网络问题并优化性能。通过向目标发送具有特定生存时间(TTL)值的数据包,`traceroute`能揭示每跳路由器的信息及延迟,便于识别瓶颈与故障。其基本用法为`traceroute [options] hostname/IP`。
38 1
|
22天前
|
Ubuntu Shell 网络架构
网络工程师的秘密武器:为何他们必须掌握Docker的基础知识?
【8月更文挑战第20天】在IT领域,Docker作为主流容器化平台,简化了应用部署与管理。网络工程师虽不必精通Docker,但需了解其基本概念如镜像、容器等,及如何创建、运行容器,还需掌握Docker网络模式如bridge、overlay等。这有助于与开发团队协作,设计高效网络架构。例如,通过`docker pull ubuntu`和`docker run -it ubuntu /bin/bash`即可拉取并启动Ubuntu容器。了解这些基础知识能促进跨团队沟通,适应快速发展的IT行业需求。
26 0
|
4天前
|
SQL 监控 大数据
通过Google Dataflow,我们能够构建一个高效、可扩展且易于维护的实时数据处理系统
【9月更文挑战第7天】随着大数据时代的到来,企业对高效数据处理的需求日益增加,特别是在实时分析和事件驱动应用中。Google Dataflow作为Google Cloud Platform的一项服务,凭借其灵活、可扩展的特点,成为实时大数据处理的首选。本文将介绍Dataflow的基本概念、优势,并通过一个电商日志分析的实际案例和示例代码,展示如何构建高效的数据处理管道。Dataflow不仅支持自动扩展和高可用性,还提供了多种编程语言支持和与GCP其他服务的紧密集成,简化了整个数据处理流程。通过Dataflow,企业可以快速响应业务需求,优化用户体验。
14 3
|
10天前
|
图形学 C#
超实用!深度解析Unity引擎,手把手教你从零开始构建精美的2D平面冒险游戏,涵盖资源导入、角色控制与动画、碰撞检测等核心技巧,打造沉浸式游戏体验完全指南
【8月更文挑战第31天】本文是 Unity 2D 游戏开发的全面指南,手把手教你从零开始构建精美的平面冒险游戏。首先,通过 Unity Hub 创建 2D 项目并导入游戏资源。接着,编写 `PlayerController` 脚本来实现角色移动,并添加动画以增强视觉效果。最后,通过 Collider 2D 组件实现碰撞检测等游戏机制。每一步均展示 Unity 在 2D 游戏开发中的强大功能。
48 6
|
9天前
|
缓存 运维 监控
|
20天前
|
监控 安全 网络协议
【网络工程师必备神器】锐捷设备命令大全:一文在手,天下我有!
【8月更文挑战第22天】锐捷网络专攻网络解决方案,其设备广泛应用在教育、政府及企业等领域。本文汇总了锐捷设备常用命令及其应用场景:包括登录与退出设备、查看系统状态、接口与VLAN配置、路由与QoS设定、安全配置及日志监控等。通过示例如telnet/ssh登录、display命令查看信息、配置IP地址与VLAN、设置静态路由与OSPF、限速与队列调度、端口安全与ACL、SNMP监控与重启设备等,助力工程师高效管理与维护网络。
27 4
|
20天前
|
安全 网络安全 网络虚拟化
网络工程师必知的神秘术语大全究竟藏着哪些关键信息?快来一探究竟!
【8月更文挑战第22天】这份最新整理的网络技术中英文术语大全对于网络工程师来说是一份宝贵的资源。它可以帮助网络工程师更好地理解和掌握网络技术,提高工作效率,解决各种网络问题。无论是在网络规划、设计、实施还是维护阶段,这些术语都将发挥重要的作用。让我们一起收藏这份术语大全,为网络技术的学习和实践打下坚实的基础。
25 1
|
20天前
|
网络协议 Linux 网络安全
网络工程师的福音!三分钟快速上手这款强大的网络设备模拟器:PNETLab!
【8月更文挑战第22天】PNETLab是一款强大的开源网络设备模拟器,支持多种网络设备如交换机、路由器、防火墙等的模拟,以及TCP/IP等多种协议。用户可通过直观的界面创建网络拓扑、配置设备参数,进行网络测试以验证连通性和排查故障,并能导出结果便于分享与分析,为学习和工作提供高效工具。
42 1
|
23天前
|
网络协议 网络架构
OSPF邻居关系建立失败?揭秘网络工程师面试中最常见的难题,这些关键步骤你掌握了吗?网络配置的陷阱就在这里!
【8月更文挑战第19天】OSPF是网络工程中确保数据高效传输的关键协议。但常遇难题:路由器间无法建立OSPF邻居关系,影响网络稳定并成为面试热点。解决此问题需检查网络连通性(如使用`ping`),确认OSPF区域配置一致(通过`show running-config`),校准Hello与Dead计时器(配置`hello`和`dead`命令),及核查IP地址和子网掩码正确无误(使用`ip address`)。系统排查上述因素可确保OSPF稳定运行。
47 2
下一篇
DDNS