查看原文
其他

从云到边缘,微软如何实现了 AI 驱动的离线翻译?


丹棱君有话说:微软机器翻译系统的质量和准确率已可以和人类专业译者水平媲美。如何能从在线的需要云计算支持的情况下,将该服务扩展到离线状态的边缘设备中使用?近日,Microsoft Translator 推出了能够直接运行在所有现代设备的 CPU 上的离线神经网络机器翻译功能,让用户在无网络连接的情况下依然能够获得高质量的翻译内容。这一新功能究竟有何亮点?跟丹棱君去一探究竟~



近日,微软宣布 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


本文转自微信公众号: 微软研究院 AI 头条

了解更多:




后台入驻微软小冰

如果你很萌,请跟她一决高下!


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存