天天看點

華為AI晶片+微軟研發=第一款移動端離線推理神經網絡

華為AI晶片+微軟研發=第一款移動端離線推理神經網絡

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)算法和解碼器組成的系統。

華為AI晶片+微軟研發=第一款移動端離線推理神經網絡

圖:LSTM 編碼器 + 注意力模型 + 解碼器系統示範

這類複雜的神經網絡通常帶有數以百萬計的參數,每次解碼過程需要進行大量的運算,通常都會以雲端的 CPU 或 GPU 進行。例如,谷歌翻譯利用 GPU 進行推理,有道翻譯利用 CPU 進行。而開發一款神經機器翻譯系統最大的障礙之一就是推理速度。谷歌和有道的工程師都曾表示,開發的初期階段,模型雖然準确率很高,但翻譯一句話需要 10 秒鐘甚至更多。這使得系統完全達不到「可用」的标準。工程師們投入了大量的精力對模型做不影響效果前提下的修改和簡化,才讓部署在雲端處理器上的系統變得可用。而這一次,微軟的工程師直接将這個原本難倒了大型 CPU 和 GPU 的模型放在了移動端晶片裡。

微軟将模型中最耗費計算資源的 LSTM 編碼器用深層前饋神經網絡(deep feed-forward neural network)替代,轉換為大量低運算難度的可并行計算,充分利用華為 NPU 能夠進行大規模并行計算的特點,讓 NPU 在神經網絡的每一層中同時計算神經元的原始輸出和經過 ReLU 激活函數的非線性輸出,由于 NPU 有充足的高速存儲空間,這些計算可以免受 CPU 與 NPU 間資料交換的延遲,直接并行得到結果。

華為AI晶片+微軟研發=第一款移動端離線推理神經網絡

圖:替代後的翻譯模型

搭載于最新的 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。

主屏界面:

可以看到有文本、圖像、語音和對話四種翻譯模式,用圖示代替文字說明也展現了「消除語言障礙」的目标。

華為AI晶片+微軟研發=第一款移動端離線推理神經網絡

文本翻譯模式英翻中:

我們選擇了一段機器之心對 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,可以看到螢幕右側有黏貼快捷方式。

華為AI晶片+微軟研發=第一款移動端離線推理神經網絡

粘貼後不到一秒翻譯完成,效果如下:

華為AI晶片+微軟研發=第一款移動端離線推理神經網絡

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

華為AI晶片+微軟研發=第一款移動端離線推理神經網絡

或輕按兩下複制内容:

華為AI晶片+微軟研發=第一款移動端離線推理神經網絡

或用其他方式分享:

華為AI晶片+微軟研發=第一款移動端離線推理神經網絡

圖像翻譯模式中翻英:

這裡主要測試 OCR 模型的識别能力、準确度,以及翻譯速度與精度。

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

華為AI晶片+微軟研發=第一款移動端離線推理神經網絡
華為AI晶片+微軟研發=第一款移動端離線推理神經網絡

應用在不到一秒的時間裡完成了 OCR 文本識别和翻譯兩項工作。

可以看出,該系統準确翻譯了自然語言處理(natural language processing),神經網絡(neural network)等專有名詞,并能夠主動調整句式,将「包括英文、中文在内的超過 60 種語言的互譯」翻譯為「translation of more than 60 languages, including English, Chinese, etc.」。

圖像識别英翻中:

我們采用了兩張 Christopher Manning 的演講幻燈片作為樣本:

華為AI晶片+微軟研發=第一款移動端離線推理神經網絡
華為AI晶片+微軟研發=第一款移動端離線推理神經網絡

可以看到幻燈片右下角,連人眼很難看清的辨別版權的蠅頭小字都被 OCR 捕捉到。

華為AI晶片+微軟研發=第一款移動端離線推理神經網絡
華為AI晶片+微軟研發=第一款移動端離線推理神經網絡

它也能自動區分哪些是專有名詞與縮寫,采用原文而不翻譯。

目前看來,華為 Mate 10 系列上搭載的第一款移動端神經網絡應用的效果很棒,相信随着開發者的跟進,我們很快就會看到人工智能晶片驅動的更多 AI 新應用。

繼續閱讀