没有AI芯片,你的手机也能实现离线神经网络机器翻译

2018-04-19 | 作者:微软亚洲研究院

编者按:去年10月份,微软跟华为合作,首先在具有AI芯片的Mate 10手机上实现了AI驱动型离线翻译功能。现在,Microsoft Translator将这一功能扩展到所有安卓、iOS和亚马逊Fire设备,最新的离线神经网络机器翻译语言包将离线翻译效果提升了23%。Microsoft Translator还为安卓开发人员提供了新的本地功能预览版,帮助他们更加快速、轻松地将AI文本翻译功能整合到应用程序中。本文译自博客文章“Microsoft brings AI-powered translation to end users and developers, whether you’re online or offline”。

昨天(4月18日),微软宣布Microsoft Translator上线新功能:允许用户和开发人员在离线状态下使用神经网络机器翻译服务。用户可以在Microsoft Translator应用程序中免费下载AI驱动的离线数据包。

用于安卓、iOS和亚马逊Fire的离线语言包

为了确保用户和开发人员能在数据端(云端和设备端)使用AI驱动型工具,过去两年中,微软一直在努力。随着专家们开始寻找如何才能在没有云计算参与的情况下运行强大的AI算法,边缘计算逐渐走进人们的视线。

2016年,Microsoft Translator发布了AI驱动型在线神经网络机器翻译(NMT)。由于运行这些高质量翻译模型需要庞大的计算能力,这项功能当时只能在线使用。

2017年下半年,这项功能被推广到配备了专用AI芯片的特定安卓手机上,用户能够在离线的情况下获得与在线服务相同质量的翻译结果。

随后,Microsoft Translator团队进一步优化了这些算法,让它们能够直接运行在所有现代设备的CPU上,而无需专用AI芯片。目前,Microsoft Translator应用的离线神经网络机器翻译服务支持所有安卓、iOS和亚马逊Fire设备,而支持Windows设备的版本也将很快发布。

跟之前的非神经网络离线语言包相比,新的离线语言包的翻译效果提升了约23%,而体积只是原来的一半。离线神经网络翻译语言包涵盖了Microsoft Translator支持的大部分主流语言,并且还在不断增加新的语言。想查看完整的语言包列表,请访问https://translator.microsoft.com/help/articles/languages

全新的安卓版本地功能

Microsoft Translator还向安卓开发者开放了全新的本地功能(Local Feature)预览版,可以让他们更加快速、方便地将文本翻译功能添加到任何安卓应用程序中。

此外,通过这些新的离线神经网络机器翻译包,安卓开发人员得以首次将离线神经网络翻译添加到应用程序中,让用户在没有网络连接的情况下依然能够获得高质量的翻译内容。

如果想将翻译功能整合到应用程序中,安卓开发者只需添加一些简单的代码,即可利用AIDL来创建绑定服务(bound service),静默调用Microsoft Translator,而后者将完成剩余的工作。

如果设备处于联网状态,Microsoft Translator会从Azure上的微软翻译服务中检索翻译结果。如果设备处于离线状态,Microsoft Translator将会使用本地神经网络翻译语言包来进行翻译,再将翻译结果传回给第三方应用。

通过文本翻译API,开发者还可以定制能够翻译某些特定行业或公司专业术语的翻译系统,并整合到应用中。这项功能目前只能在线使用。

无论应用通过在线还是离线方式获取翻译结果,本地功能都可以直接使用开发人员已有的微软认知服务文本翻译API的订阅,没有必要二次创建。无论是在联机还是脱机翻译状态下,用户的请求数据都不会被记录。

预览版发布后的90天内,该功能的正式版预计将会推出。

想了解更多有关本地功能的信息?欢迎访问我们的GitHub主页:

https://github.com/MicrosoftTranslator/LocalFeature-Android