隨著華為旗艦機型 Mate 10 即將發表,科技媒體紛紛爆料,華為 Mate 10 將首次在智慧手機歷史上,搭載一顆人工智慧晶片。其實早在華為半年業績發表會上,華為余承東就透露,預計將在今年秋季推出人工智慧晶片,而根據目前最新的消息,這顆人工智慧晶片極有可能就是搭載在麒麟 970 之中的寒武紀晶片。
當然,目前 Mate 10 的最終規格還沒發表,得期待 10 月 16 日的慕尼黑發表會,上述消息僅是我們的合理猜測。如果屬實,意味著 Mate 10 將成為全球首款具備人工智慧晶片機型,這將為業界帶來怎樣的衝擊?畢竟智慧手機自賈伯斯後,再無革命性進步。
這無疑是一個有趣又重要的問題,本文接下來將看看寒武紀晶片的前世今生,實際上這顆晶片更精確地說,是一款深度網路加速晶片,本身並無夢幻的 AI 技能,而加速功能,究竟能在何種場景帶來逆天的變化?
寒武紀晶片是何方神聖?
根據目前最新消息,麒麟 970 極有可能透過 IP 授權方式搭載寒武紀人工智慧晶片,這裡先解釋一下 IP 授權概念。目前無論高通驍龍還海思麒麟,都不是嚴格意義的純 CPU 晶片,而是一塊 SoC(System-on-chip)晶片。所謂 SoC 即晶片上集成若干不同的功能模組。以高通驍龍 801 為例,801 除了四核 Krait 400 CPU 外,還集成 Adreno 330 GPU、Snapdragon Camera 相機圖像訊號處理器、藍牙、GPS、Wi-Fi 及影音編碼等模組,上面每個模組通常都是 SoC 廠商上游技術提供商,透過 IP(intellectual property,智慧財產權)提供授權,當然這樣做的好處是技術提供商可專注於 IP 方案設計,晶片封裝工作可交由高通等 SoC 商負責,這樣雙方揚長避短,共同加速晶片的上市及更新速度。
麒麟 970 搭載的寒武紀 IP,主要用於深度神經網路(DNN)的複雜計算,而深度神經網路正是目前人工智慧技術的半壁江山,這樣一來麒麟 970 將成為全球首款具備人工智慧處理能力的 SoC 晶片。當然目前寒武紀這家公司對大眾來說還十分陌生,這裡先簡單介紹寒武紀。
寒武紀科技(Cambricon)是中國中科院計算所孵化的一家獨角獸公司,2016 年推出的寒武紀 1A 處理器(Cambricon-1A)是世界首款商用深度學習專用處理器,針對智慧手機、安全監控、可穿戴裝置、無人機和智慧駕駛等各類裝置,最近獲得包括阿里巴巴在內的 1 億美元 A 輪融資。這家成立於 2016 年的 AI 晶片公司以火箭般的速度發展,據寒武紀稱,2016 年已實現了盈利並獲得 1 億元人民幣量級的營收。而華為與寒武紀的合作,很可能是因為華為與中國中科院計算所長久以來的合作關係,早在 2011 年,華為就與中科院計算所成立了「中科院計算所-華為聯合實驗室」。
當然打鐵還得自身硬,寒武紀科技創始人陳天石教授是人工智慧硬體加速的早期倡導者,連 Google 在萬眾矚目的人工智慧晶片 TPU 論文,全文共引用寒武紀團隊成員發表的 6 篇論文。在全球人工智慧公司中,能享受 Google 如此待遇恐怕實屬鳳毛麟角。
對華為而言,產品中具備一個中國完全自主智慧財產權的人工智慧晶片 IP,或許更是一項行銷利器。
AI 晶片將為手機帶來何種計算能力?
大家還記得去年火爆的俄羅斯修圖應用軟體 Prisma 嗎?
Prisma 使用深度神經網路來獲取著名繪畫大師和主要流派的藝術風格,然後對用戶的照片進行智慧風格轉化,一張普通的照片透過 Prisma 能變成有令人驚歎藝術效果的作品,下面是一組範例:
從技術原理,Prisma 使用 GAN 對抗生成網路,是一款典型利用深度網路的人工智慧應用軟體。但用過 Prisma 的人都知道,其實際體驗並不是非常好。用戶首先要上傳待修的圖片到 Prisma 伺服器,經過一段時間才能下載修好的作品。但隨著 Prisma 火紅,用戶等待時間越來越長,中國用戶更要忍受連接到俄羅斯伺服器的爆高網路延遲。儘管後來 Prisma 實現了本地計算,但速度仍舊緩慢,部分風格濾鏡需要計算 10 秒以上才能完成轉換,當然相比之前只能依賴雲端計算,體驗已有所進步,但與美圖等主流修圖應用軟體的速度仍無法相比。
Prisma 這些體驗的不完美,主要原因是深度神經網路的執行需要大量計算。一般而言,建立一款如 Prisma 的人工智慧應用軟體,需要透過訓練(training)和推斷(inference)兩個過程:訓練是透過大量資料輸入,或採取增強學習等非監督學習方法,訓練出一個神經網路模型,如對 Prisma 來說,訓練過程中神經網路學習大量的繪畫風格。一旦訓練完成,即可使用訓練確定的權值計算,如 Prisma 中透過訓練好的網路改變圖像風格,這個應用的過程稱為推斷(inference)。
由於深度神經網路本身的特徵,在推斷過程往往需要大量權重計算,這在伺服器端通常沒什麼問題,但一旦放在手機等裝置就有點捉襟見肘了。如 Prisma 的手機本地端計算,雖然透過大量最佳化顯著降低模型的複雜度(當然這樣做的後果就是效果變差了),但對手機 CPU 來說負荷仍然很大。
這樣一來問題就顯現了,如果要讓手機掌握更多人工智慧應用軟體,需要讓手機具備強大的計算能力做 inference,否則用戶體驗難以保障。但摩爾定律畢竟放在哪,CPU 本身目前難以具備如此的計算能力,這就是深度神經網路在手機等各種嵌入式裝置上的應用難題。
這時候,深度網路加速晶片應運而生了。
深度網路加速晶片是怎麼一回事?在深度神經網路的應用過程中,人們發現實際上複雜的神經網路架構計算量通常都集中在少量計算類型,比如矩陣運算。如果設計一款專門最佳化的硬體晶片從事這些繁重的計算,正如當年 CPU 對複雜的圖像運算力不從心,催生了 GPU 出現,豈不就可解決問題了?
業界確實這樣做了,如 Google 自家推出的深度網路加速晶片 TPU,定義了十幾個專門為神經網路推理而設計的高級指令,比如矩陣運算、計算激活函數、讀取/寫入內存等,相比用 CPU 進行相同計算,TPU 的功耗效率(performance / Watt, 每耗電 1 瓦的性能)比 CPU 高出 80 倍,下圖列出的是 Google TPU 部分核心的高級指令。
這時候,大家是不是想起了比特幣挖礦機的 ASIC(專用集成電路)呢?沒錯,深度網路加速晶片也是一款 ASIC,只不過比特幣的 ASIC 只能進行 Hash 運算,深度網路加速晶片則定位於承載若干種深度網路的常用計算。
華為 Mate 10 即將搭配的寒武紀晶片,也正是這樣的一款深度網路加速晶片。由於目前寒武紀晶片尚未正式公布,真實性能情況無從知曉,但從寒武紀科技去年在電腦架構頂級會議 ISCA 發表的論文《Cambricon: An Instruction Set Architecture for Neural Networks》中,我們就能管中窺豹。論文提及寒武紀(Cambricon)是一款面向目前神經網路技術,集結了常量運算、向量運算、矩陣運算、邏輯運算、數據轉換以及控制指令等功能的深度神經網路加速晶片架構(……we propose a novel domain-specific Instruction Set Architecture (ISA) for NN accelerators, called Cambricon, which is a load-store architecture that integrates scalar, vector, matrix, logical, data transfer, and control instructions, based on a comprehensive analysis of existing NN techniques.),主要定位是解決深度神經網路中推斷(inference)涉及的複雜計算問題。
到此為止,華為 Mate 10 的麒麟 970 晶片,搭載的人工智慧模組就相當清晰了:與其說它是一塊人工智慧晶片,更準確地說是一塊深度網路加速晶片,主要用於加速人工智慧深度神經網路帶來的複雜計算。
若真如此,華為粉絲的熱切期待恐怕會失望了,麒麟 970 本身不會帶來任何夢幻的智慧,而是賦予手機處理深度神經網路前所未有的計算能力,讓如 Prisma 等需要跑在深度神經網路的應用能有革命性的體驗。
智慧手機邁向智慧手機:場景為王
麒麟 970 的深度網路加速模組,如果要為業界帶來衝擊,首先是讓大家深入思考,在手機等行動裝置中加入深度網路硬體加速,是否是未來趨勢?消費者是否願意買單?當然這問題很淺顯,核心在於能否為消費者帶來有價值的應用場景。
深度神經網路是人工智慧目前半壁江山,在智慧語音、電腦視覺有廣泛的應用。前者典型的應用如 Siri 等智慧語音助手,以及基於此、目前紅得不能再紅的智慧喇叭;後者在消費端莫過於各種類似 Prisma 的修圖應用軟體。
透過深度神經網路,能實現圖像編輯智慧化。比如以往需要大量用戶手工操作的瘦臉、美顏、瘦腰、拉長腿,透過深度神經網路加持,用戶可如使用 Prisma 一般,智慧化搞定全部。當然圖像智慧編輯是目前電腦視覺的熱門應用,期待未來還有更多夢幻的應用出現。
對於很有可能搭載寒武紀的 Mate 10,這裡大膽猜測一句,廣告語會是「智慧攝影大師」嗎?
圖像辨識是另外一個應用點,比如,用戶在手機中標記一張人臉後(比如同事 A),透過圖像辨識,手機能把圖庫中所有含同事 A 的照片都篩選出來,這個運算在當前的智慧手機會非常慢,但有了深度網路加速晶片後,就變得有可能。
語音辨識是深度網路的另外一個核心應用,目前我們都知道,Siri、出門問問等語音助手都需要在聯網狀態才能使用,原因是語音辨識的 inference 放在雲端處理。同樣透過深度網路加速晶片,或許能實現手機端的辨識,即在無網路情況下,依然能使用智慧語音助手實現有限度的應用,比如讓助手找出通訊錄中符合條件的某個人。
當然,站在市場行銷層面,有很多實際上並不需要深度網路加速晶片加速的應用,都可以透過混淆概念的方式納入消費者的想像中,比如拿起手機螢幕就亮、在漆黑的環境自動打開手電筒等。
然而客觀地說,目前智慧手機需要用到深度網路加速晶片加速的應用,並不算很多。其中真正算是有效需求的更寥寥無幾。在安防鏡頭、無人機、自動駕駛汽車融合人工智慧專用晶片,無疑是未來的清晰趨勢,畢竟如無人駕駛汽車,我們不能指望使用雲端方式做 inference,畢竟網路一旦出現問題,難道放任汽車去撞樹?但智慧手機這個充分競爭的領域,任何功能的革新都需要經過市場長期考驗,關鍵還是在於場景。
這次極有可能搭載深度網路加速晶片的 Mate 10,將會帶來什麼尚未想到的場景?或許這點,才是我們真正需要熱切期待的。
(本文由 雷鋒網 授權轉載;首圖來源:Flickr/Kārlis Dambrāns CC BY 2.0)