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