機器之心獨家解讀:華為首款手機端AI晶元麒麟970
原創 2017-09-03 機器之心
機器之心原創
作者:李澤南、李亞洲
人工智慧的最近一次浪潮起源於 2011 年前後深度學習(Deep Learning)引起的大發展。在其背後,快速發展的 GPU 功不可沒。近年來,人們逐漸認識到計算晶元對於人工智慧的重要性,圍繞 AI 任務進行專有加速的晶元越來越多,但無論是 AlphaGo 背後的谷歌 TPU 還是加入了全新 Tensor Core 結構的英偉達 Tesla V100,這些晶元都是為伺服器端進行設計的,在移動端對於機器學習任務加速的 SoC 還未出現。9 月 2 日,在德國柏林舉行的 IFA 2017 展會上,華為正式發布了全球首款移動端 AI 晶元麒麟 970,一舉填補了這一空白。
在發布會後,機器之心獲取了有關麒麟 970 的第一手資料,並進行了深度解讀。這款年度最受關注手機晶元的性能如何?讓我們先睹為快。
柏林 IFA 2017 展會,華為消費者業務 CEO 余承東
新一代晶元麒麟 970
麒麟 9 系列一直是定位於旗艦機上的智能手機晶元。華為認為,此前的兩代產品和國外主要競爭對手在性能上已經可以做到各有勝負,而在 CPU 能耗方面,麒麟晶元還更具有一定優勢。作為最新一代產品,麒麟 970 繼承了此前的領先技術。新一代晶元採用了業界最先進的工藝,內置 4 個用於處理重負載任務的 Cortex A73 核心,4 個 Cortex A53 核心,GPU 則為全新一代具有 12 個核心的 Mali-G72 MP12,所有參數都達到了旗艦產品的級別。
華為麒麟 970
與此同時,麒麟 970 不出所料將製程提升到了 10nm 級。製程始終是晶元提升最主要的手段,晶元能力的提升有兩個互相影響的方面:性能和功耗。只有工藝的提升才能讓這兩個方面同時受益。麒麟 970 採用了台積電(TSMC)的 10nm 工藝,是目前業界最為先進的晶元製造工藝。
另外,在通信方面,麒麟 970 支持全球最高的通信規格 LTE Cat.18/Cat.13,實現了業界最高的 1.2Gbps 峰值下載速率。
此次發布的麒麟 970 同時升級了自行研製的 ISP,並且放入了兩顆,其針對特定場景進行了性能和效果優化,可幫助使用者拍出更自然、更美的照片。
在硬體參數的升級之外,麒麟 970 最引人關注的新特性就是全新設計的 HiAI 移動計算架構了。
華為第一次在移動設備層面上把神經網路模型的硬體計算加速能力融合進晶元中去。這也是業內第一次在手機晶元中出現了專門用於進行人工智慧方面計算的處理單元,它早於蘋果傳言中即將推出的 Neural Engine。華為表示,新的計算架構以及計算單元對於機器學習任務處理性能(相對於手機 CPU)提升了數十倍,最高可達到傳統處理器 25 倍速度,50 倍能效。這種性能提升可以讓此前很多無法在移動端使用的機器學習應用走向工程化和實用化。
眾所周知,當前的 CPU 負責通用任務計算,面向指令密集和邏輯控制運算;GPU 則是數據密集型,主要面向向量任務的圖形處理計算。對於人工智慧領域的應用,目前人們面臨的主要任務是對於矩陣乘法的運算,這種任務使用 CPU 和 GPU 來做效率並不高。對於一個矩陣乘法,後兩種結構需要更多個指令周期來完成。針對這類任務,如果希望能夠在最短的時鐘周期內完成更多的神經網路模型運算元的運算,就需要專門的硬體來參與其中。
麒麟 970 HiAI 移動計算架構
在麒麟 970 晶元的設計過程中,華為與寒武紀進行了深度合作,雙方團隊在 AI 計算處理方面進行了聯合開發與優化。麒麟 970 創新設計的 HiAI 移動計算架構,通過更高效靈活的異構計算來最大化發揮 CPU/GPU/ISP/DSP/NPU 的性能,同時首次集成專門用於神經網路任務處理的 NPU(Neural Network Processing Unit)計算單元,其加速性能和能效比大幅優於 CPU 和 GPU。
為晶元組加入人工智慧計算單元,這個過程看起來很簡單,實際上非常複雜。谷歌與英偉達此前曾經分別推出過各自的人工智慧晶元形式,這種面向伺服器級的晶元面積很大(英偉達 Volta 的 Tensor Core 面積有 800 平方毫米)。而目前,像麒麟這樣的旗艦手機 Soc 的面積只有 10×10 毫米。顯然,在桌面端的輕而易舉的事情是無法在手機上去做的——我們不能僅僅依靠晶體管的堆砌來提高性能。另一方面,面向人工智慧任務運算的晶元單元也無法與伺服器級晶元使用相同的能耗。
面對在小面積上實現大算力的挑戰,華為通過改進工藝讓同樣面積(10×10 毫米)下晶體管數量提升到了 55 億個,為 AI 計算單元讓出了空間,同時在很小的面積下提升了晶元的計算性能。
此外,據悉,開發人員為了讓 NPU 工程化、實用化、真正做到能商用進行了大量的研究、調試與優化,與合作夥伴、學術界展開了無數次溝通交流。最終,新的晶元在運算速度與能效方面性能優異,大大超過了目前市場上所見到的晶元。
在結構上,新的計算單元需要與已有的其他計算單元互相配合。在研發過程中,華為應該花費了很長時間來讓 NPU 適用於處理常見應用任務。此前,CPU 與 GPU 之間的資源共享也應該經歷了相當長的一段時間,而 NPU 也面臨著同樣的挑戰。相信在未來,NPU 與其他組件的整合程度也會不斷提升。
API 與深度學習框架
目前,人工智慧技術還沒有發展到全面步入應用的程度,大多數研究者致力於研究深度學習框架和演算法的優化。在研發晶元時,華為的工程師們發現目前 AI 的應用方向非常分散。面對這樣的挑戰,麒麟 970 提供了 HiAI 移動計算平台,可以把所有的計算資源統一調配管理,面向上層可以向很多應用提供接入方式。
對於麒麟 970 的 HiAI 移動計算平台而言,AI 應用開發者可以直接調用 HiAI 計算加速庫以及介面,獲得 HiAI 異構平台的計算加速。同時也可以基於谷歌安卓 NN API 調用 HiAI 硬體平台加速能力來執行自己的任務,它們同樣可以被華為的新一代 NPU 加速。據悉,谷歌今年底推出的安卓 NN API 也將率先獲得麒麟 970 的支持。
華為不久後還會提供更高層級的 API,把語音識別、自然語言處理和圖像識別的基礎 AI 功能以特定 API 形式提供給開發者使用。在華為設想的圖景中,未來各類應用都可以接入搭載 AI 晶元的設備,並享受硬體優勢帶來的性能提升。
據相關人士表示,在麒麟 970 晶元發布之後,相應的 API 也將在近期內發布。
在人工智慧晶元計劃中,搭載 NPU 的智能晶元將支持多種深度學習框架,並在未來支持多框架下的運算元。實際上,人工智慧晶元優化的級別是運算元級的。目前,麒麟 970 支持的框架有 TensorFlow 和 Caffe。在不久後,麒麟 970 支持的框架還將包括 Caffe2 和 TensorFlow Lite。
雖然麒麟 970 才剛剛發布,但目前已經出現被這款晶元優化的應用了——在華為手機的前端 DNN 降噪演算法中,它可以通過深度學習 DNN 演算法,有效抑制非穩態噪音,增強語音信號,可以提高其語音識別在惡劣環境下的識別率。特別是在開車的時候,如果車速非常快(比如達到 120 千米/小時),車內的噪音很大,通常情況下手機的語音識別成功率會非常低,而華為開發的技術則是專門針對這樣的痛點場景去改善和優化。未來,華為會在語音和圖像領域中開放常用的各種演算法介面。
麒麟 970 晶元能夠使用的各種 AI 應用會越來越豐富,華為表示,他們也正在與很多其它公司合作,共同開發出更多的應用來,讓消費者切身體驗到 On Device AI 性能瓶頸突破後所帶來的巨大改變
搭載麒麟 970 的手機:華為Mate 10系列
在了解完晶元之後,我們最為關心的可能就是搭載這塊晶元的手機型號了。根據發布會現場的信息,搭載麒麟 970晶元的手機為即將於 10 月 16 日發布的華為Mate 10 系列。
雲+人工智慧,目前是各大科技巨頭極為重視的一個方向,華為也在著力布局人工智慧雲服務。雲服務的優勢在於數據存儲,但機器學習應用將計算與存儲任務交給雲端時會產生如延遲、穩定性、安全性、隱私性等這樣的弊端。在部署到手機端之後,結合終端計算優勢,晶元和雲服務各自負責不同的任務,彌補了雲的缺陷。
華為認為,所有延遲、敏感類的應用都是需要在設備端進行處理的。另外,在網路連接不通的情況下,人們也需要依賴設備本地的處理能力。在安全的層面上,使用本地運算意味著無需將數據傳送到伺服器中,這樣可以減少數據泄露的機會。
在雲伺服器端,我們可以看到谷歌、英偉達等公司已經推出了針對人工智慧任務優化的新型晶元。在移動設備領域,麒麟 970 第一次將人工智慧硬體帶進了手機。移動端計算能力的提升會使人工智慧的應用走出瓶頸,帶來更多、更豐富的用戶體驗。
在發現移動端設備計算晶元是目前 AI 技術的瓶頸之後,華為率先投身其中,希望以此拉動一部分開發者基於新硬體為消費者們提供更好的體驗。希望這些行動可以加速人工智慧技術的發展,讓 AI 逐漸形成基礎技術平台,催生更多不同類型的應用。
本文為機器之心原創,轉載請聯繫本公眾號獲得授權。
推薦閱讀: