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