华为AI芯片+微软研发=第一款移动端离线推理神经网络

本文涉及的产品
票证核验,票证核验 50次/账号
图片翻译,图片翻译 100张
文档理解,结构化解析 100页
简介: 10 月下旬,华为的 NPU AI 专用处理单元和 HiAI 移动计算平台亮相华为上海发布会,引起了诸多关注。在发布会上,余承东通过微软为华为开发的 Microsoft Translator 的 AI 离线翻译功能介绍了人工智能专用芯片 NPU 与 HiAI 移动计算平台。随后,我们与微软全球技术院士黄学东进行了对话,仔细聊了聊这款包含了世界上第一个能够在智能设备上进行离线推理的自然语言处理神经网络的应用的诞生始末。

微信图片_20211129135926.jpg


Microsoft Translator 是一款部署在 iOS 和 Android 平台上的应用,支持包括英文、中文等在内的超过 60 种语言的互译。


其翻译模式按照输入类别可以分为三种,分别是文本翻译(text)、图像翻译(photo)和语音翻译(voice)。其中图像翻译是借助 OCR 技术,读取出图片内的文本然后进行翻译,语音翻译则借助了语音识别技术。


按照翻译所用的模型类别,则可以分为在线的 NMT 模式和离线的 SMT 模式。


NMT 指神经机器翻译,是以神经网络为基础,以句子为单位进行整体翻译的方法,是当下的最佳模型(state-of-the-art model),然而神经网络模型通常规模庞大,需要大量计算资源,因此只能部署在云端。


SMT 以词和短语为单位进行翻译,是 NMT 出现前的上一代最佳模型,主要依赖于对大量语料进行统计找出规律,SMT 模型相比于 NMT 模型规模较小,能够保存在本地,以 Microsoft Translator 的 iOS 版本为例,一个简体中文离线包的大小是 205MB。


而为华为特别开发的这一款 Microsoft Translator 的特别之处就在于,其文本翻译和图像翻译模式均采用了离线的神经机器翻译模型。


这一原先仅仅能通过微软 Cognitive Services API 调用的,部署在微软云上的神经机器翻译系统,采用了惯用的多层 LSTM 编码器、注意力(attention)算法和解码器组成的系统。


微信图片_20211129135921.gif

图:LSTM 编码器 + 注意力模型 + 解码器系统演示


这类复杂的神经网络通常带有数以百万计的参数,每次解码过程需要进行大量的运算,通常都会以云端的 CPU 或 GPU 进行。例如,谷歌翻译利用 GPU 进行推理,有道翻译利用 CPU 进行。而开发一款神经机器翻译系统最大的障碍之一就是推理速度。谷歌和有道的工程师都曾表示,开发的初期阶段,模型虽然准确率很高,但翻译一句话需要 10 秒钟甚至更多。这使得系统完全达不到「可用」的标准。工程师们投入了大量的精力对模型做不影响效果前提下的修改和简化,才让部署在云端处理器上的系统变得可用。而这一次,微软的工程师直接将这个原本难倒了大型 CPU 和 GPU 的模型放在了移动端芯片里。


微软将模型中最耗费计算资源的 LSTM 编码器用深层前馈神经网络(deep feed-forward neural network)替代,转换为大量低运算难度的可并行计算,充分利用华为 NPU 能够进行大规模并行计算的特点,让 NPU 在神经网络的每一层中同时计算神经元的原始输出和经过 ReLU 激活函数的非线性输出,由于 NPU 有充足的高速存储空间,这些计算可以免受 CPU 与 NPU 间数据交换的延迟,直接并行得到结果。


微信图片_20211129135915.jpg

图:替代后的翻译模型


搭载于最新的 Mate 10 系列上的麒麟 970 芯片及其内置的 AI 专用处理单元 NPU,是华为第一次在移动设备的层面上把机器学习硬件计算加速能力叠加进芯片中去,也让 Mate 10 成为全世界的消费者拿到的第一款有专用于进行人工智能方面计算的处理单元的手机。


黄学东表示,从手机 CPU 到 NPU 有接近 300% 的计算加速,正是这个加速让神经网络在终端设备上的离线推理越过了阈值,从不可能变成可能。


以前在 CPU 时代,离线操作就要承受巨大的性能损失,而在线服务就无法脱离开对网络的依赖。尤其是翻译这样一项服务,很多应用场景都并没有稳定的网络支持,是需要有强大的离线功能存在的。而华为手机的用户大多为商务人士,很多应用场景都在国外,网络条件并不能得到保障,离线功能可以说是必不可少。


因此微软的工程师联合华为的工程师,对现有的神经翻译模型进行了层数、模型结构、工程实现方法等多方面优化,能够在大幅减小所需运算量的情况下让离线模型效果可以媲美在线模型,「大家应该感觉不出来二者的差距」,黄学东说。同时也研究了如何更好地同时使用 NPU 与 CPU :利用 NPU 完成推理工作,利用 CPU 辅助程序所需的其他操作。


而选择了神经机器翻译作「第一个吃螃蟹的 AI」,则主要是出于两个考量,一是翻译是一个痛点十分明确的需求,二是神经机器翻译模型的简化和提速相比于语音模型更容易。


黄学东十分看好神经网络处理单元在移动端的前景:「未来会有更多手机有神经网络处理单元,例如苹果 iPhone X 需要做面部识别解锁,就一定需要手机具有离线运行深度神经网络的能力。另外 iPhone X 的照相功能中的三维打光,也需要进行大量的计算。未来这样的需求会越来越多,因此专门的处理单元是很必要的。」


而对于微软来说,下一步可能会研发在线与离线相结合的混合系统,能够在网络条件好的时候自动调用性能更好的在线模型,在网络条件不足以支持的时候进行离线推理。这对于微软以 Cognitive Service 为代表的云服务是一个很自然的拓展,增加了终端的适用性。


同时微软的 PowerPoint 实时翻译功能也能够在华为手机上使用,能在演讲中、课堂上提供实时的帮助。演讲者在台上进行演讲的同时,PowerPoint 的自动翻译插件会识别语音、转换为文本,并可以进行超过 60 种语言的同传。台下的每个人都可以在自己的手机上获得自己需要的语言的翻译。」


「我们最终的目标是去掉语言障碍。」黄学东说,「We want to bring people together. 当年我带着美式英文的底子去爱丁堡大学留学,很是为教授的苏格兰口音英语吃了一些苦头。如果现在的爱丁堡大学的教授下载了 Presentation Translator,而每一位留学生的手里有一部华为 Mate 10 手机,他们就不必经受我当年的痛苦了。希望通过这次与华为合作,能够帮助更多用户打破语言障碍。」


最后,让我们通过一组截图感受一下 NPU 与神经网络的强大之处。以下全部截图来自华为 Mate 10 Pro。


主屏界面:


可以看到有文本、图像、语音和对话四种翻译模式,用图标代替文字说明也体现了「消除语言障碍」的目标。


微信图片_20211129135910.jpg

文本翻译模式英翻中:


我们选择了一段机器之心对 Christopher Manning 的专访文章的开篇:


「Deep Learning waves have lapped at the shores of computational linguistics for several years now. but 2015 seems like the year when the full force of the tsunami hit the major Natural Language Processing(NLP) conferences.」Two years ago, Christopher Manning began his speech on ACL2015 this way.


复制完文档内容后,打开 Microsoft Translator,可以看到屏幕右侧有黏贴快捷方式。


微信图片_20211129135906.jpg


粘贴后不到一秒翻译完成,效果如下:


微信图片_20211129135902.jpg

你可以用全屏模式展示给他人:


微信图片_20211129135859.jpg


或双击复制内容:


微信图片_20211129135854.jpg


或用其他方式分享:


微信图片_20211129135850.jpg


图像翻译模式中翻英:


这里主要测试 OCR 模型的识别能力、准确度,以及翻译速度与精度。


我们截取了一段本文中的内容:


微信图片_20211129135846.jpg

微信图片_20211129135829.jpg


应用在不到一秒的时间里完成了 OCR 文本识别和翻译两项工作。


可以看出,该系统准确翻译了自然语言处理(natural language processing),神经网络(neural network)等专有名词,并能够主动调整句式,将「包括英文、中文在内的超过 60 种语言的互译」翻译为「translation of more than 60 languages, including English, Chinese, etc.」。


图像识别英翻中:


我们采用了两张 Christopher Manning 的演讲幻灯片作为样本:


微信图片_20211129135838.jpg

微信图片_20211129135835.jpg


可以看到幻灯片右下角,连人眼很难看清的标识版权的蝇头小字都被 OCR 捕捉到。


微信图片_20211129135832.jpg

微信图片_20211129135829.jpg


它也能自动区分哪些是专有名词与缩写,采用原文而不翻译。


目前看来,华为 Mate 10 系列上搭载的第一款移动端神经网络应用的效果很棒,相信随着开发者的跟进,我们很快就会看到人工智能芯片驱动的更多 AI 新应用。

相关文章
|
14天前
|
人工智能 安全 测试技术
EXAONE 3.5:LG 推出的开源 AI 模型,采用 RAG 和多步推理能力降低模型的幻觉问题
EXAONE 3.5 是 LG AI 研究院推出的开源 AI 模型,擅长长文本处理,能够有效降低模型幻觉问题。该模型提供 24 亿、78 亿和 320 亿参数的三个版本,支持多步推理和检索增强生成技术,适用于多种应用场景。
65 9
EXAONE 3.5:LG 推出的开源 AI 模型,采用 RAG 和多步推理能力降低模型的幻觉问题
|
3天前
|
数据采集 机器学习/深度学习 人工智能
基于AI的网络流量分析:构建智能化运维体系
基于AI的网络流量分析:构建智能化运维体系
36 13
|
17天前
|
存储 机器学习/深度学习 PyTorch
【AI系统】推理文件格式
本文介绍了神经网络模型的序列化与反序列化技术,涵盖跨平台通用序列化方法(如 Protobuf 和 FlatBuffers)、模型自定义序列化方法、语言级通用序列化方法等,重点讨论了这两种流行文件格式的特点、使用场景及其在模型部署中的作用。
27 1
【AI系统】推理文件格式
|
20天前
|
存储 人工智能 监控
【AI系统】推理系统架构
本文深入探讨了AI推理系统架构,特别是以NVIDIA Triton Inference Server为核心,涵盖推理、部署、服务化三大环节。Triton通过高性能、可扩展、多框架支持等特点,提供了一站式的模型服务解决方案。文章还介绍了模型预编排、推理引擎、返回与监控等功能,以及自定义Backend开发和模型生命周期管理的最佳实践,如金丝雀发布和回滚策略,旨在帮助构建高效、可靠的AI应用。
83 15
|
23天前
|
人工智能 并行计算 程序员
【AI系统】SIMD & SIMT 与芯片架构
本文深入解析了SIMD(单指令多数据)与SIMT(单指令多线程)的计算本质及其在AI芯片中的应用,特别是NVIDIA CUDA如何实现这两种计算模式。SIMD通过单指令对多个数据进行操作,提高数据并行处理能力;而SIMT则在GPU上实现了多线程并行,每个线程独立执行相同指令,增强了灵活性和性能。文章详细探讨了两者的硬件结构、编程模型及硬件执行模型的区别与联系,为理解现代AI计算架构提供了理论基础。
63 12
|
15天前
|
人工智能 搜索推荐 安全
数百名研发人员用通义灵码,33%新增代码由AI生成,信也科技研发模式焕新升级
目前,信也科技数百名研发人员正在使用通义灵码,周活跃用户占比70%,新增代码中有33%由通义灵码编写,整体研发效率提升了11%,真正实现了数百研发人员开发效能的全面提升。
|
20天前
|
人工智能 自然语言处理 文字识别
让AI像人类一样操作手机,华为也做出来了
华为诺亚方舟实验室研发的LiMAC系统,通过轻量级Transformer网络和微调的视觉-语言模型,实现了高效、准确的Android应用交互与控制。该系统在多个公开数据集上展现出卓越性能,提升了任务执行速度与准确性,同时具备良好的灵活性,但需大量训练数据支持。
41 8
|
17天前
|
机器学习/深度学习 人工智能 缓存
【AI系统】推理内存布局
本文介绍了CPU和GPU的基础内存知识,NCHWX内存排布格式,以及MNN推理引擎如何通过数据内存重新排布进行内核优化,特别是针对WinoGrad卷积计算的优化方法,通过NC4HW4数据格式重排,有效利用了SIMD指令集特性,减少了cache miss,提高了计算效率。
35 3
|
20天前
|
机器学习/深度学习 人工智能 算法
【AI系统】推理流程全景
本文概述了神经网络模型在云侧和边缘侧部署的特点与挑战。云侧部署凭借强大的计算能力和集中的数据管理,适合高吞吐量应用,但面临高成本、网络延迟等问题;边缘侧部署则通过模型优化和硬件加速降低延迟和能耗,适用于资源受限的环境,但存在算力限制、数据分散等挑战。两种方式各有优劣,需根据实际需求选择。
43 5
|
20天前
|
机器学习/深度学习 人工智能 算法
【AI系统】推理系统介绍
推理系统是一种专门用于部署和执行神经网络模型预测任务的AI系统,类似于Web服务或移动端应用,但专注于AI模型的部署与运行。它支持将模型部署到云端或边缘端,处理用户请求。本文介绍了训练与推理的基本流程、两者差异、推理系统的优化目标及挑战,并对比了推理系统与推理引擎的流程结构,强调了设计推理系统时需考虑的优化目标,如灵活性、延迟、吞吐量、高效率、扩展性和可靠性。同时,文章还讨论了推理系统与推理引擎的区别,帮助读者深入了解推理引擎的核心技术。
48 5