當前位置:
首頁 > 科技 > 人工智慧晶元發展的現狀及趨勢

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

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

參考文獻(略)

本文作者:尹首一,郭珩,魏少軍

作者簡介:尹首一,清華大學微電子學研究所,副教授,研究方向為可重構計算、神經網路計算晶元、高層次綜合、SoC與嵌入式系統設計等;魏少軍(通信作者),清華大學微電子學研究所,教授,研究方向為超大規模集成電路設計方法學、數字系統高層次綜合技術、嵌入式系統設計和可重構計算晶元技術。

本文發表於《科技導報》2018 年第17 期,敬請關注。

(責任編輯 劉志遠)

《科技導報》

中國科協學術會刊

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 全球技術地圖 的精彩文章:

新概念武器不斷走向實戰化
關於中美經貿摩擦,中國發布白皮書給出13個權威論斷

TAG:全球技術地圖 |