人工智慧晶片發展的現狀及趨勢
文章推薦指數: 80 %
來源:《科技導報》2018年第17期 作者:尹首一、郭珩、魏少軍
自 1956年達特茅斯會議以來,關於人工智慧(artificial intelligence,
AI)的研究由於受到智能算法、計算速度、存儲水平等多方面因素的影響,經歷了兩起兩落的發展,近年來在語音識別、計算機視覺等領域終於取得了重大突破。
究其原因,業界普遍認為有三大要素合力促成了這次突破:豐富的數據資源、深度學習算法和充足的計算力支持。
豐富的數據資源取決於網際網路的普及和隨之產生的海量信息;以深度學習為代表的機器學習算法的精確性和魯棒性越來越好,適用於不同場景的各類算法不斷優化完善,具備了大規模商業化應用的潛力;而充足的算力則得益於摩爾定律的不斷演進發展,高性能晶片大幅降低了深度學習算法所需的計算時間和成本。
雖然當前摩爾定律逐漸放緩,但作為推動人工智慧技術不斷進步的硬體基礎,未來 10年仍將是人工智慧晶片(AI晶片)發展的重要時期,面對不斷增長的市場需求,各類專門針對人工智慧應用的新穎設計理念和架構創新將不斷湧現。
AI 晶片概述
當前對人工智慧晶片的定義並沒有一個公認的標準。
比較通用的看法是面向 AI應用的晶片都可以稱為AI晶片,按設計思路主要分為三大類:專用於機器學習尤其是深度神經網絡算法的訓練和推理用加速晶片;受生物腦啟發設計的類腦仿生晶片;可高效計算各類人工智慧算法的通用AI晶片。
為了支持多樣的 AI計算任務和性能要求,理想的AI晶片需要具備高度並行的處理能力,能夠支持各種數據長度的按位、固定和浮點計算;比當前大幾個數量級的存儲器帶寬,用於存儲海量數據;低內存延遲及新穎的架構,以實現計算元件和內存之間靈活而豐富的連接。
而且所有這些都需要在極低的功耗和極高的能量效率下完成。
在當前人工智慧各領域的算法和應用還處在高速發展和快速疊代的階段,考慮到晶片的研發成本和生產周期,針對特定應用、算法或場景的定製化設計很難適應變化。
針對特定領域而不針對特定應用的設計,將是 AI晶片設計的一個指導原則,具有可重構能力的AI晶片可以在更多應用中廣泛使用,並且可以通過重新配置適應新的AI算法、架構和任務。
AI 晶片類型及發展情況
加州理工學院 Carver Mead 最早開始了 AI 晶片的研究,在 20世紀 80年代開始研究神經擬態系統(neuromorphic electronic systems),利用模擬電路模仿生物神經系統結構。
經過 30多年的發展,目前已經誕生了不同特色的各類 AI 晶片,主要包括圖形處理器(graphics processing
unit,GPU)、現場可編程門陣列(field-programmable gatearray,FPGA)、數位訊號處理(digital signal processing,DSP)、專用集成電路(application specific integrated
circuits,ASIC)、眾核處理器、神經擬態晶片等。
近年來基於深度學習的圖像識別算法和語音識別算法取得了出色的成績,引起了學術界和工業界的廣泛關注,隨著谷歌人工智慧圍棋程序AlphaGo先後戰勝李世乭和柯潔,更是把人工智慧的熱度推向全社會。
谷歌這一成績離不開背後 AI加速晶片的貢獻,從初代AlphaGo採用 CPU+GPU 的搭建方案,到最新一代 AlphaGo Zero
採用專用高性能處理器(tensor processing unit,TPU),晶片的變化帶來了計算速度的巨大提升和功耗的大幅下降。
由此可見針對不同的計算任務,不同類型的AI晶片往往各具優勢。
AI加速晶片
簡單地說,AI
加速晶片是指以現有晶片架構為基礎,對某類特定算法或者場景進行加速,從而實現在這一特定場景下的計算速度、功耗和成本等方面的優化。
通常包括基於深度神經網絡的各類算法,以及圖像識別、視頻檢索、語音識別、聲紋檢測、搜尋引擎優化、自動駕駛等任務。
AI加速晶片的設計主要有兩種思路:利用已有的GPU、FPGA、DSP、眾核處理器等晶片以異構計算的方式來實現;設計專用的ASIC晶片。
GPU
GPU,即圖形處理器,是一種由大量核心組成的大規模並行計算架構,專為同時處理多重任務而設計,原本的功能是幫助 CPU處理圖形顯示的任務,尤其是3D圖形顯示。
為了執行複雜的並行計算,快速進行圖形渲染,GPU的核數遠超
CPU,但每個核擁有的緩存相對較小,數字邏輯運算單元也更簡單,更適合計算密集型的任務。
Intel的GPU主要做為集成顯卡使用,應用於Intel 的主板和 CPU,而 Nvidia 和 AMD 則在獨立顯卡領域更具優勢。
深度神經網絡的訓練過程中計算量極大,而且數據和運算是可以高度並行的,GPU 具備進行海量數據並行運算的能力並且為浮點矢量運算配備了大量計算資源,與深度學習的需求不謀而合,因此最先被引入運行深度學習算法,成為高性能計算領域的主力晶片之一。
但由於 GPU不能支持複雜程序邏輯控制,仍然需要使用高性能CPU配合來構成完整的計算系統。
FPGA
FPGA 是在 PAL、GAL、CPLD 等可編程邏輯器件的基礎上進一步發展的產物。
它作為專用集成電路領域中的一種半定製電路出現,既解決了定製電路靈活性上的不足,又克服了原有可編程器件門電路數量有限的缺點。
FPGA 利用門電路直接運算,速度快,而用戶可以自由定義這些門電路和存儲器之間的布線,改變執行方案,以期得到最佳效果。
FPGA 可以採用
OpenCL等更高效的程式語言,降低了硬體編程的難度,還可以集成重要的控制功能,整合系統模塊,提高了應用的靈活性,與 GPU相比,FPGA具備更強的計算能力和更低的功耗。
目前,FPGA的主要廠商Xilinx和被Intel收購的Altera 都推出了專門針對 AI 加速的 FPGA 硬體和軟體工具。
而各個主要的雲服務廠商,比如亞馬遜、微軟、阿里雲等都推出了專門的雲端 FPGA 實例來支持 AI 應用。
中國剛剛被 Xilinx
收購的北京深鑒科技有限公司也是基於FPGA來設計深度學習的加速器架構,可以靈活擴展用於伺服器端和嵌入式端。
DSP
DSP是一種由大規模集成電路晶片組成的用來完成某種信號處理任務的處理器。
DSP善於測量、計算、過濾或壓縮連續的真實模擬信號,廣泛應用於通信與信息系統、信號與信息處理、自動控制、雷達、航空航天、醫療、家用電器等領域。
針對濾波、矩陣運算、FFT(fast Fourier
transformation)等需要大量乘加法運算的特點,DSP內部配有獨立的乘法器和加法器,從而大大提高了運算速率。
DSP 種類繁多,目前應用於 AI 領域的 DSP 主要用於處理視覺系統如圖像、視頻等方面的任務,在自動駕駛、安防監控、無人機和移動終端等領域最為常見。
這些 DSP 中加入了專為深度神經網絡定製的加速部件,如矩陣乘和累加器、全連接的激活層和池化層等。
由於 DSP
具有高速、靈活、體積小、低功耗、可編程的特點,非常適合被用在終端設備中,例如手機和攝像頭。
眾核處理器
眾核處理器採用將多個處理核心整合在一起的處理器架構,主要面向高性能計算領域,作為CPU的協處理器存在。
眾核處理器適合處理並行程度高的計算密集型任務,如基因測序、氣象模擬等。
比起 GPU,眾核處理器支持的計算任務的控制邏輯和數據類型要更加複雜。
2000年後,該領域的晶片研究一直很活躍,例如IBM CELL和 Kalray MPPA。
Intel
的至強融核處理器(Xeon Phi)是典型的眾核處理器,其中2017年發布的KNL代表了眾核處理器的領先水平。
眾核處理器的結構能有效地利用現代網絡和伺服器等應用中較高的線程並行度,雖然晶片面積和功耗會隨著內核數量的增加而增加,但性能也隨之有效地增加。
而增加運算部件和指令發射寬度等技術在增大晶片面積的同時,會拉長信號傳輸線路,顯著增加線延遲,因此眾核處理器更適用於數據中心部署的各類 AI訓練和推理任務。
ASIC
ASIC 是一種為專用目的設計的,面向特定用戶需求的定製晶片,在大規模量產的情況下具備性能更強、體積更小、功耗更低、成本更低、可靠性更髙等優點。
ASIC分為全定製和半定製。
全定製設計需要設計者完成所有電路的設計,因此需要大量人力物力,靈活性好,但開發效率低下,時間成本高昂。
如果設計較為理想,全定製能夠比半定製的 ASIC
晶片運行速度更快。
半定製使用庫中標準邏輯單元,設計時可以從標準邏輯單元庫中選擇門電路、加法器、比較器、數據通路、存儲器甚至系統級模塊和 IP核,這些邏輯單元已經布局完畢,而且設計得較為可靠,設計者可以較方便地完成系統設計。
近年來越來越多的公司開始採用ASIC晶片進行深度學習算法加速,其中表現最為突出的是 Google 的TPU。
TPU 的主要模塊包括 24 MB 的局部內存、6 MB的累加器內存、256×256個矩陣乘法單元、非線性神經元計算單元,以及用於歸一化和池化的計算單元。
TPU比同時期的GPU或CPU平均提速15~30倍,能效比提升
30~80倍。
中國的北京寒武紀科技有限公司、北京比特大陸科技有限公司、北京地平線信息技術有限公司等公司也都推出了用於深度神經網絡加速的ASIC晶片。
目前基於 DNN的算法還沒有統一標準,而且算法還在不斷快速演進,所以 ASIC的設計需要保持一定的可編程性,採取軟硬體協同設計。
類腦仿生晶片
當今類腦仿生晶片的主流理念是採用神經擬態工程設計的神經擬態晶片。
神經擬態晶片採用電子技術模擬已經被證明的生物腦的運作規則,從而構建類似於生物腦的電子晶片,即「仿生電子腦」。
神經擬態主要指用包括模擬、數字或模數混合超大規模集成電路VLSI(也包括神經元或者神經突觸模型的新型材料或者電子元器件研究)和軟體系統實現神經網絡模型,並在此之上構建智能系統的研究。
神經擬態工程發展成為一個囊括神經生物學、物理學、數學、計算機科學和電子工程的交叉學科。
神經擬態研究陸續在全世界範圍內開展,並且受到了各國政府的重視和支持,如美國的腦計劃、歐洲的人腦項目,以及中國的類腦計算計劃等。
受到腦結構研究的成果啟發,複雜神經網絡在計算上具有低功耗、低延遲、高速處理、時空聯合等特點。
目前神經擬態晶片的設計方法主要分為非矽和矽技術。
非矽主要指採用憶阻器等新型材料和器件搭建的神經形態晶片,還處於研究階段。
模擬集成電路的代表是瑞士蘇黎世聯邦理工學院的 ROLLS晶片和海德堡大學的BrainScales晶片。
數字集成電路又分為異步同步混合和純同步兩種。
其中異步(無全局時鐘)數字電路的代表是 IBM 的
TrueNorth,純同步的數字電路代表是清華大學的天機系列晶片。
另外,對於片上自學習能力,最近Intel推出了Loihi晶片,帶有自主片上學習能力,通過脈衝或尖峰傳遞信息,並自動調節突觸強度,能夠通過環境中的各種反饋信息進行自主學習。
中國的上海西井信息科技有限公司也成功製備了帶有片上學習能力的晶片。
通用AI晶片
現今的 AI晶片在某些具體任務上可以大幅超越人的能力,但究其通用性與適應性,與人類智能相比差距甚遠,大多處於對特定算法的加速階段。
而 AI晶片的最終成果將是通用 AI晶片,並且最好是淡化人工干預的自學習、自適應晶片。
因此未來通用 AI晶片應包含以下特徵。
1)可編程性:適應算法的演進和應用的多樣性。
2)架構的動態可變性:能適應不同的算法,實現高效計算。
3)高效的架構重構能力或自學習能力。
4)高計算效率:避免使用指令這類低效率的架構。
5)高能量效率:能耗比大於5 Tops/W(即每瓦特進行5×1012次運算)。
6)低成本低功耗:能夠進入物聯網設備及消費類電子中。
7)體積小:能夠加載在移動終端上。
8)應用開發簡便:不需要用戶具備晶片設計方面的知識。
目前尚沒有真正意義上的通用AI晶片誕生,而基於可重構計算架構的軟體定義晶片(software defined chip)或許是通用
AI晶片的出路。
軟體定義晶片顧名思義就是讓晶片根據軟體進行適應與調整,簡單來說就是將軟體通過不同的管道輸送到硬體中來執行功能,使晶片能夠實時地根據軟體、產品、應用場景的需求改變架構和功能,實現更加靈活的晶片設計。
沿用這種架構設計出來的晶片,可以讓晶片的計算能力按照軟體的需求來調整適應,而不是沿用傳統晶片設計的剛性架構,讓應用適應架構。
可重構計算技術允許硬體架構和功能隨軟體變化而變化,兼具處理器的通用性和 ASIC的高性能和低功耗,是實現軟體定義晶片的核心,被公認為是突破性的下一代集成電路技術。
清華大學微電子學研究所設計的 AI 晶片 Thinker,採用可重構計算架構,能夠支持卷積神經網絡、全連接神經網絡和遞歸神經網絡等多種 AI算法。
Thinker晶片通過以下
3個層面的可重構計算技術,實現軟體定義晶片。
1)計算陣列重構:Thinker晶片的計算陣列由多個並行計算單元互連而成。
每個計算單元可以根據算法所需要的基本算子不同而進行功能重構。
此外,在複雜 AI 任務中,多種 AI 算法的計算資源需求不同,因此Thinker晶片支持計算陣列的按需資源劃分以提高資源利用率和能量效率。
2)存儲帶寬重構:Thinker晶片的片上存儲帶寬能夠根據 AI算法的不同而進行重構。
存儲內的數據分布會隨著帶寬的改變而調整,以提高數據復用性和計算並行度,提高了計算吞吐和能量效率。
3)數據位寬重構:16 bit數據位寬足以滿足絕大多數應用的精度需求,對於一些精度要求不高的場景,甚至 8 bit數據位寬就已經足夠。
為了滿足AI算法多樣的精度需求,Thinker晶片的計算單元支持高/低(16/8
bit)兩種數據位寬重構。
高比特模式下計算精度提升,低比特模式下計算單元吞吐量提升進而提高性能。
可重構計算技術作為實現軟體定義晶片的重要技術,非常適合應用於 AI晶片的設計當中。
採用可重構計算技術之後,軟體定義的層面不僅僅局限於功能這一層面,算法的計算精度、性能和能效等都可以納入軟體定義的範疇。
可重構計算技術藉助自身實時動態配置的特點,實現軟硬體協同設計,為 AI晶片帶來極高的靈活度和適用範圍。
Thinker團隊最新推出的
Thinker 2人臉識別晶片,能夠做到 6 ms 人臉識別(iPhone X 為10 ms),準確率超過 98%;以及 Thinker S語音識別晶片,不僅功耗只有 200 μW,只需要節 7 號 AAA 電池就運行 1 年,而且可以進行聲紋識別。
《MIT Technology Review》2018年初在一篇專稿中評論了 Thinker團隊的工作,認為這是中國取得的頂級成就。
AI 晶片市場現狀
2018 年全球 AI 晶片市場規模預計將超過 20億美元,隨著包括谷歌、Facebook、微軟、亞馬遜以及百度、阿里、騰訊在內的網際網路巨頭相繼入局,預計到2020年全球市場規模將超過 100億美元,其中中國的市場規模近25億美元,增長非常迅猛,發展空間巨大。
目前全球各大晶片公司都在積極進行AI晶片的布局。
在雲端,Nvidia的系列
GPU晶片被廣泛應用於深度神經網絡的訓練和推理。
Google TPU 通過雲服務 Cloud TPU 的形式把 TPU 開放商用,處理能力達到 180 Tflop,提供64 GB的 HBM內存,2400 Gbit/s的存儲帶寬。
老牌晶片巨頭 Intel推出了 Nervana™ Neural Network Processors(NNP),該系列架構還可以優化 32 GB HBM2,1
Tbit/s帶寬和 8 Tbit/s訪問速度的神經網絡計算。
而初創公司如 Graph core、Cerebras、Wave computing、寒武紀、比特大陸等也加入了競爭的行列,陸續推出了針對 AI的晶片和硬體系統。
然而對於某些應用,由於網絡延遲、帶寬和隱私問題等各類原因,必須在邊緣節點上執行推斷。
例如,自動駕駛汽車的推斷,不能交由雲端完成,否則如果出現網絡延時,則會發生災難性後果;大型城市動輒百萬的高清攝像頭,其人臉識別如果全部交由雲端完成,高清錄像的數據傳輸會讓通信網絡不堪重負。
未來相當一部分人工智慧應用場景中,要求邊緣處的終端設備本身具備足夠的推斷計算能力。
而目前邊緣處理器晶片的計算能力,並不能滿足在本地實現深度神經網絡推斷的需求。
業界需要專門設計的
AI晶片,賦予設備足夠的能力去應對未來越發增多的人工智慧應用場景。
除了計算性能的要求之外,功耗和成本是在邊緣節點工作的AI晶片必須面對的重要約束。
智慧型手機是目前應用最為廣泛的邊緣計算終端設備,包括三星、蘋果、華為、高通、聯發科在內的手機晶片廠商紛紛推出或者正在研發專門適應AI應用的晶片產品。
另外,也有很多初創公司加入這個領域,為邊緣計算設備提供晶片和系統方案,比如北京中科寒武紀科技有限公司的 1A處理器、北京地平線信息技術有限公司的旭日處理器
、北京深鑒科技有限公司的DPU等。
傳統的 IP 廠商,包括 ARM、Synopsys、Cadence等公司也都為包括手機、平板電腦、智能攝像頭、無人機、工業和服務機器人、智能音箱等邊緣計算設備開發專用 IP產品。
此外在終端應用中還蘊藏著智慧物聯網這一金礦,AI晶片只有實現從雲端走向終端,才能真正賦予「萬物智能」。
AI 晶片未來趨勢
在 AI晶片領域,目前還沒有出現一款 CPU類的通用AI晶片,人工智慧想要像移動支付那樣深入人心,改變社會,可能還差一個「殺手」級別的應用。
無論是圖像識別、語音識別、機器翻譯、安防監控、交通規劃、自動駕駛、智能陪伴、智慧物聯網等,AI涵蓋了人們生產生活的方方面面,然而距離
AI應用落地和大規模商業化還有很長的路要走。
而對於晶片從業者來講,當務之急是研究晶片架構問題。
軟體是實現智能的核心,晶片是支撐智能的基礎。
當前 AI晶片發展,短期內以異構計算為主來加速各類應用算法的落地;中期要發展自重構、自學習、自適應的晶片來支持算法的演進和類人的自然智能;長期則朝通用AI晶片的方向發展。
通用AI計算
AI的通用性實際包括2個層級:第一個層級是可以處理任意問題;第二個層級是同一時間處理任意問題。
第一層級的目標是讓AI的算法可以通過不同的設計、數據和訓練方法來處理不同的問題。
例如,利用現在流行的深度學習方法訓練AI下棋、圖像識別、語音識別、行為識別、運動導航等。
但是,不同的任務使用不同的數據集來獨立訓練,模型一旦訓練完成,只適用於這種任務,而不能用於處理其他任務。
所以,可以說這種
AI的算法和訓練方法是通用的,而它訓練出來用於執行某個任務的模型是不通用的。
第二層級的目標是讓訓練出來的模型可以同時處理多種任務,就像人一樣可以既會下棋,又會翻譯,還會駕駛汽車和做飯。
這個目標更加困難,目前還沒有哪一個算法可以如此全能。
通用AI晶片
通用 AI 晶片就是能夠支持和加速通用 AI
計算的晶片。
關於通用AI的研究希望通過一個通用的數學模型,能夠最大限度概括智能的本質。
目前比較主流的看法是系統能夠具有通用效用最大化能力:即系統擁有通用歸納能力,能夠逼近任意可逼近的模式,並能利用所識別到的模式取得一個效用函數的最大化效益。
這是很學術化的語言,如果通俗地說,就是讓系統通過學習和訓練,能夠準確高效地處理任意智能主體能夠處理的任務。
通用 AI的難點主要有
2個:通用性,包括算法和架構;實現複雜程度。
當前,摩爾定律的逐漸失效和馮·諾伊曼架構的瓶頸這2個巨大的技術挑戰也是通用AI晶片需要考慮的問題。
想要解決這 2個問題僅通過晶片的設計理念和架構創新是行不通的,還需要取決於更先進的製程工藝、新型半導體材料、新型存儲器件以及人類對於自身大腦更進一步的認知。
AI 晶片面臨的機遇與挑戰
目前全球人工智慧產業還處在高速變化發展中,廣泛的行業分布為人工智慧的應用提供了廣闊的市場前景,快速疊代的算法推動人工智慧技術快速走向商用,AI晶片是算法實現的硬體基礎,也是未來人工智慧時代的戰略制高點,但由於目前的
AI算法往往都各具優劣,只有給它們設定一個合適的場景才能最好地發揮其作用,因此,確定應用領域就成為發展AI晶片的重要前提。
但遺憾的是,當前尚不存在適應多種應用的通用算法,人工智慧的「殺手」級應用還未出現,已經存在的一些應用對於消費者的日常生活來說也非剛需,因此哪家晶片公司能夠抓住市場痛點,最先實現應用落地,就可以在人工智慧晶片的賽道上取得較大優勢。
架構創新是 AI晶片面臨的一個不可迴避的課題。
需要回答一個重要問題:是否會出現像通用CPU那樣獨立存在的 AI處理器?如果存在的話,它的架構是怎樣的?如果不存在,目前以滿足特定應用為主要目標的AI晶片就一定只能以 IP核的方式存在,最終被各種各樣的
SoC(system-on-a-chip)所集成。
這無疑帶來了新的問題,晶片的體積和功耗是必須要考慮的重要因素,傳統晶片公司在 SoC的設計優化和工程實現上無疑比以算法起家的初創AI晶片公司更具經驗。
從晶片發展的大趨勢來看,現在還是 AI晶片的初級階段。
無論是科研還是產業應用都有巨大的創新空間。
從確定算法、應用場景的 AI加速晶片向具備更高靈活性、適應性的通用智能晶片發展是技術發展的必然方向。
未來 2 年之內 AI
晶片產業將持續火熱,公司扎堆進入,但是到了2020年前後,則將會出現一批出局者,行業洗牌開始,最終的成功與否則將取決於各家公司技術路徑的選擇和產品落地的速度。
一起讀研報(007):人工智慧之7-獨角獸(晶片)
引言:關於晶片方面的獨角獸,可能許多人會馬上說英偉達、google、或寒武紀,但又誰可以或者膽敢忽略華為的麒麟970、全球首款人工智慧晶片呢?
2016年人工智慧技術進展大盤點
作者簡介:趙永科,筆名卜居,CSDN博主,堅持寫技術博客8年。現就職於阿里雲計算有限公司,從事異構平台上的人工智慧算法優化與系統設計,熱愛讀書和NES遊戲。著有《深度學習:21 天實戰 Caff...