跳轉至主要內容
線上翻譯

微軟翻譯博客

使用 Microsoft 翻譯器將 AI 轉換為邊緣設備

2016年11月, microsoft 將 ai 驅動的機器翻譯 (即神經機器翻譯 (nmt)) 的優勢帶給了開發人員和最終使用者。上個星期 微軟將 nmt 功能帶到了雲的邊緣 通過利用 npu, 集成到 瑪特10, 華為最新的旗艦手機。新晶片使 ai 供電的翻譯即使在沒有互聯網接入的情況下也能在設備上使用, 使系統能夠產生品質與線上系統相當的翻譯。

為了實現這一突破, 微軟和華為的研究人員和工程師合作, 使神經翻譯適應了這一新的計算環境。

目前正在生產的最先進的 nmt 系統 (即企業和應用在雲中大規模使用) 正在使用神經網路架構, 該體系結構結合了多層 lstm 網路, 注意演算法, 和轉換 (解碼器) 層。

下面的動畫以簡化的方式解釋了這種多層神經網路是如何工作的。欲瞭解更多詳情, 請參閱 "什麼是機器翻譯頁"在微軟翻譯網站上。

 

在此雲 nmt 實現中, 這些中間 lstm 層消耗了很大一部分計算能力。為了能夠在行動裝置上運行完整的 nmt, 有必要找到一種機制, 在盡可能保持翻譯品質的同時, 降低這些計算成本。

這就是華為神經處理單元 (npu) 發揮作用的地方。 microsoft 研究人員和工程師利用 npu (專門設計用於低延遲 ai 計算) 來卸載在主 cpu 上處理速度會非常慢的操作。

 

實現

現在, 華為配合10的微軟翻譯應用程式上提供的實現通過將計算最密集的任務卸載到 npu 來優化翻譯。

具體來說, 此實現將這些中間 lstm 網路層替換為深 f向前神經網路.深前饋神經網路功能強大, 但由於神經元之間的高連通性, 需要大量的計算。

神經網路主要依賴于矩陣乘法, 從數學角度來看, 這種運算並不複雜, 但在以這種深層神經網路所需的比例執行時成本非常高。華為 npu 擅長以大規模並行的方式執行這些矩陣乘法。從電力利用率的角度來看, 它也是相當有效的, 這是電池供電設備的重要品質。

在這個前饋網路的每一層, npu 計算原始神經元輸出和後續 複路啟動功能 效率和非常低的延遲。通過利用 npu 上豐富的高速記憶體, 它可以並存執行這些計算, 而無需支付 cpu 和 npu 之間的資料傳輸成本 (即性能降低)。

一旦計算出這種深前饋網路的最後一層, 系統就具有豐富的來源語言句子表示形式。然後通過從左至右的 lstm "解碼器" 輸入此表示, 以生成每個目的語言單詞, 其注意演算法與 nmt 線上版本中使用的演算法相同。

 

作為 安東尼·奧, 微軟翻譯團隊的首席軟體發展工程師解釋說: "將在資料中心強大的雲伺服器上運行的系統並在行動電話上保持不變是一個可行的選擇。行動裝置在計算能力、記憶體和功耗方面存在雲解決方案所不具備的限制。通過訪問 npu 以及其他一些架構調整, 我們可以解決其中的許多限制, 並設計一個能夠在設備上快速高效地運行的系統, 而不必影響翻譯品質."

安東尼·奧

這些翻譯模型在創新的 npu 晶片組上的實施使微軟和華為能夠以與基於雲的系統相當的品質提供設備上的神經翻譯, 即使您不在網格之外。