人工智慧晶片發展的現狀及趨勢

自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年前後,則將會出現一批出局者,行業洗牌開始,最終的成功與否則將取決於各家公司技術路徑的選擇和產品落地的速度。


分享到:


相關文章: