相信你一定還記得擊敗了李世石和柯潔的谷歌“阿爾法狗”(AlphaGo),那你知道驅動AlphaGo的是什么嗎?
如果你覺得AlphaGo和人相似,只不過是把人腦換成了芯片,那么你就大錯特錯了。擊敗李世石的AlphaGo裝有48個谷歌的AI芯片,而這48個芯片不是安裝在AlphaGo身體里,而是在云端。所以,真正驅動AlphaGo的裝置,看上去是這樣的...
圖片來自網絡,版權屬于作者
因此李世石和柯潔不是輸給了“機器人”,而是輸給了裝有AI芯片的云工作站。
然而近幾年,AI技術的應用場景開始向移動設備轉移,比如汽車上的自動駕駛、手機上的人臉識別等。產業的需求促成了技術的進步,而AI芯片作為產業的根基,必須達到更強的性能、更高的效率、更小的體積,才能完成AI技術從云端到終端的轉移。
目前,AI芯片的研發方向主要分兩種:一是基于傳統馮·諾依曼架構的FPGA(現場可編程門陣列)和ASIC(專用集成電路)芯片,二是模仿人腦神經元結構設計的類腦芯片。其中FPGA和ASIC芯片不管是研發還是應用,都已經形成一定規模;而類腦芯片雖然還處于研發初期,但具備很大潛力,可能在未來成為行業內的主流。
這兩條發展路線的主要區別在于,前者沿用馮·諾依曼架構,后者采用類腦架構。你看到的每一臺電腦,采用的都是馮·諾依曼架構。它的核心思路就是處理器和存儲器要分開,所以才有了CPU(中央處理器)和內存。而類腦架構,顧名思義,模仿人腦神經元結構,因此CPU、內存和通信部件都集成在一起。
接下來小探將為讀者分別介紹兩種架構的簡要發展史、技術特點和代表性產品。
從GPU到FPGA和ASIC芯片
2007年以前,受限于當時算法和數據等因素,AI對芯片還沒有特別強烈的需求,通用的CPU芯片即可提供足夠的計算能力。比如現在在讀這篇文章的你,手機或電腦里就有CPU芯片。
之后由于高清視頻和游戲產業的快速發展,GPU(圖形處理器)芯片取得迅速的發展。因為GPU有更多的邏輯運算單元用于處理數據,屬于高并行結構,在處理圖形數據和復雜算法方面比CPU更有優勢,又因為AI深度學習的模型參數多、數據規模大、計算量大,此后一段時間內GPU代替了CPU,成為當時AI芯片的主流。
GPU比CPU有更多的邏輯運算單元(ALU)
圖片來自網絡,版權屬于作者
然而GPU畢竟只是圖形處理器,不是專門用于AI深度學習的芯片,自然存在不足,比如在執行AI應用時,其并行結構的性能無法充分發揮,導致能耗高。
與此同時,AI技術的應用日益增長,在教育、醫療、無人駕駛等領域都能看到AI的身影。然而GPU芯片過高的能耗無法滿足產業的需求,因此取而代之的是FPGA芯片,和ASIC芯片。
那么這兩種芯片的技術特點分別是什么呢?又有什么代表性的產品呢?
“萬能芯片”FPGA
FPGA(FIELD-PROGRAMMABLEGATEARRAY),即“現場可編程門陣列”,是在PAL、GAL、CPLD等可編程器件的基礎上進一步發展的產物。
FPGA可以被理解為“萬能芯片”。用戶通過燒入FPGA配置文件,來定義這些門電路以及存儲器之間的連線,用硬件描述語言(HDL)對FPGA的硬件電路進行設計。每完成一次燒錄,FPGA內部的硬件電路就有了確定的連接方式,具有了一定的功能,輸入的數據只需要依次經過各個門電路,就可以得到輸出結果。
用大白話說,“萬能芯片”就是你需要它有哪些功能、它就能有哪些功能的芯片。
盡管叫“萬能芯片”,FPGA也不是沒有缺陷。正因為FPGA的結構具有較高靈活性,量產中單塊芯片的成本也比ASIC芯片高,并且在性能上,FPGA芯片的速度和能耗相比ASIC芯片也做出了妥協。
也就是說,“萬能芯片”雖然是個“多面手”,但它的性能比不上ASIC芯片,價格也比ASIC芯片更高。
但是在芯片需求還未成規模、深度學習算法需要不斷迭代改進的情況下,具備可重構特性的FPGA芯片適應性更強。因此用FPGA來實現半定制人工智能芯片,毫無疑問是保險的選擇。
目前,FPGA芯片市場被美國廠商Xilinx和Altera瓜分。據國外媒體Marketwatch的統計,前者占全球市場份額50%、后者占35%左右,兩家廠商霸占了85%的市場份額,專利達到6000多項,毫無疑問是行業里的兩座大山。
Xilinx的FPGA芯片從低端到高端,分為四個系列,分別是Spartan、Artix、Kintex、Vertex,芯片工藝也從45到16納米不等。芯片工藝水平越高,芯片越小。其中Spartan和Artix主要針對民用市場,應用包括無人駕駛、智能家居等;Kintex和Vertex主要針對軍用市場,應用包括國防、航空航天等。
Xilinx的Spartan系列FPGA芯片
圖片來自網絡,版權屬于作者
我們再說說Xilinx的老對手Altera。Altera的主流FPGA芯片分為兩大類,一種側重低成本應用,容量中等,性能可以滿足一般的應用需求,如Cyclone和MAX系列;還有一種側重于高性能應用,容量大,性能能滿足各類高端應用,如Startix和Arria系列。Altera的FPGA芯片主要應用在消費電子、無線通信、軍事航空等領域。
專用集成電路ASIC
在AI產業應用大規模興起之前,使用FPGA這類適合并行計算的通用芯片來實現加速,可以避免研發ASIC這種定制芯片的高投入和風險。
但就像我們剛才說到的,由于通用芯片的設計初衷并非專門針對深度學習,因此FPGA難免存在性能、功耗等方面的瓶頸。隨著人工智能應用規模的擴大,這類問題將日益突出。換句話說,我們對人工智能所有的美好設想,都需要芯片追上人工智能迅速發展的步伐。如果芯片跟不上,就會成為人工智能發展的瓶頸。
所以,隨著近幾年人工智能算法和應用領域的快速發展,以及研發上的成果和工藝上的逐漸成熟,ASIC芯片正在成為人工智能計算芯片發展的主流。
ASIC芯片是針對特定需求而定制的專用芯片。雖然犧牲了通用性,但ASIC無論是在性能、功耗還是體積上,都比FPGA和GPU芯片有優勢,特別是在需要芯片同時具備高性能、低功耗、小體積的移動端設備上,比如我們手上的手機。
但是,因為其通用性低,ASIC芯片的高研發成本也可能會帶來高風險。然而如果考慮市場因素,ASIC芯片其實是行業的發展大趨勢。
為什么這么說呢?因為從服務器、計算機到無人駕駛汽車、無人機,再到智能家居的各類家電,海量的設備需要引入人工智能計算能力和感知交互能力。出于對實時性的要求,以及訓練數據隱私等考慮,這些能力不可能完全依賴云端,必須要有本地的軟硬件基礎平臺支撐。而ASIC芯片高性能、低功耗、小體積的特點恰好能滿足這些需求。
ASIC芯片市場百家爭鳴
2016年,英偉達發布了專門用于加速AI計算的TeslaP100芯片,并且在2017年升級為TeslaV100。在訓練超大型神經網絡模型時,TeslaV100可以為深度學習相關的模型訓練和推斷應用提供高達125萬億次每秒的張量計算(張量計算是AI深度學習中最經常用到的計算)。然而在最高性能模式下,TeslaV100的功耗達到了300W,雖然性能強勁,但也毫無疑問是顆“核彈”,因為太費電了。
英偉達TeslaV100芯片
圖片來自網絡,版權屬于作者
同樣在2016年,谷歌發布了加速深度學習的TPU(TensorProcessingUnit)芯片,并且之后升級為TPU2.0和TPU3.0。與英偉達的芯片不同,谷歌的TPU芯片設置在云端,就像文章在AlphaGo的例子中說的一樣,并且“只租不賣“,服務按小時收費。不過谷歌TPU的性能也十分強大,算力達到180萬億次每秒,并且功耗只有200w。
谷歌TPU芯片
圖片來自網絡,版權屬于作者
關于各自AI芯片的性能,谷歌CEOSundarPichai和英偉達CEO黃仁勛之前還在網上產生過爭論。別看兩位大佬為自家產品撐腰,爭得不可開交,實際上不少網友指出,這兩款產品沒必要“硬做比較”,因為一個是在云端,一個是在終端。
除了大公司,初創企業也在激烈競爭ASIC芯片市場。那么初創企業在行業中該如何生存呢?對此,AI芯片初創企業Novumind的中國區CEO周斌告訴小探:創新是初創企業的核心競爭力。
2017年,NovuMind推出了第一款自主設計的AI芯片:NovuTensor。這款芯片使用原生張量處理器(NativeTensorProcessor)作為內核構架,這種內核架構由NovuMind自主研發,并在短短一年內獲得美國專利。除此之外,NovuTensor芯片采用不同的異構計算模式來應對不同AI應用領域的三維張量計算。2018年下半年,Novumind剛推出了新一代NovuTensor芯片,這款芯片在做到15萬億次計算每秒的同時,全芯片功耗控制在15W左右,效率極高。
Novumind的NovuTensor芯片
盡管NovuTensor芯片的紙面算力不如英偉達的芯片,但是其計算延遲和功耗卻低得多,因此適合邊緣端AI計算,也就是服務于物聯網。雖然大家都在追求高算力,但實際上不是所有芯片都需要高算力的。比如用在手機、智能眼鏡上的芯片,雖然也對算力有一定要求,但更需要的是低能耗,否則你的手機、智能眼鏡等產品,用幾下就沒電了,也是很麻煩的一件事情。并且據EETimes的報道,在運行ResNet-18、ResNet-34、ResNet70、VGG16等業界標準神經網絡推理時,NovuTensor芯片的吞吐量和延遲都要優于英偉達的另一款高端芯片Xavier。
結合Novumind現階段的成功,我們不難看出:在云端市場目前被英偉達、谷歌等巨頭公司霸占,終端應用芯片群雄逐鹿的情形下,專注技術創新,在關鍵指標上大幅領先所有競爭對手,或許是AI芯片初創企業的生存之道。
類腦芯片
如文章開頭所說,目前所有電腦,包括以上談到的所有芯片,都基于馮·諾依曼架構。
然而這種架構并非十全十美。將CPU與內存分開的設計,反而會導致所謂的馮·諾伊曼瓶頸(vonNeumannbottleneck):CPU與內存之間的資料傳輸率,與內存的容量和CPU的工作效率相比都非常小,因此當CPU需要在巨大的資料上執行一些簡單指令時,資料傳輸率就成了整體效率非常嚴重的限制。
既然要研制人工智能芯片,那么有的專家就回歸問題本身,開始模仿人腦的結構。
人腦內有上千億個神經元,而且每個神經元都通過成千上萬個突觸與其他神經元相連,形成超級龐大的神經元回路,以分布式和并發式的方式傳導信號,相當于超大規模的并行計算,因此算力極強。人腦的另一個特點是,不是大腦的每個部分都一直在工作,從而整體能耗很低。
神經元結構
圖片來源:維基百科
這種類腦芯片跟傳統的馮·諾依曼架構不同,它的內存、CPU和通信部件是完全集成在一起,把數字處理器當作神經元,把內存作為突觸。除此之外,在類腦芯片上,信息的處理完全在本地進行,而且由于本地處理的數據量并不大,傳統計算機內存與CPU之間的瓶頸不復存在了。同時,神經元只要接收到其他神經元發過來的脈沖,這些神經元就會同時做動作,因此神經元之間可以方便快捷地相互溝通。
在類腦芯片的研發上,IBM是行業內的先行者。2014年IBM發布了TrueNorth類腦芯片,這款芯片在直徑只有幾厘米的方寸的空間里,集成了4096個內核、100萬個“神經元”和2.56億個“突觸”,能耗只有不到70毫瓦,可謂是高集成、低功耗的完美演繹。
裝有16個TrueNorth芯片的DARPASyNAPSE主板
圖片來自網絡,版權屬于作者
那么這款芯片的實戰表現如何呢?IBM研究小組曾經利用做過DARPA的NeoVision2Tower數據集做過演示。它能以30幀每秒速度,實時識別出街景視頻中的人、自行車、公交車、卡車等,準確率達到了80%。相比之下,一臺筆記本編程完成同樣的任務用時要慢100倍,能耗卻是IBM芯片的1萬倍。
然而目前類腦芯片研制的挑戰之一,是在硬件層面上模仿人腦中的神經突觸,換而言之就是設計完美的人造突觸。
在現有的類腦芯片中,通常用施加電壓的方式來模擬神經元中的信息傳輸。但存在的問題是,由于大多數由非晶材料制成的人造突觸中,離子通過的路徑有無限種可能,難以預測離子究竟走哪一條路,造成不同神經元電流輸出的差異。
針對這個問題,今年麻省理工的研究團隊制造了一種類腦芯片,其中的人造突觸由硅鍺制成,每個突觸約25納米。對每個突觸施加電壓時,所有突觸都表現出幾乎相同的離子流,突觸之間的差異約為4%。與無定形材料制成的突觸相比,其性能更為一致。
即便如此,類腦芯片距離人腦也還有相當大的距離,畢竟人腦里的神經元個數有上千億個,而現在最先進的類腦芯片中的神經元也只有幾百萬個,連人腦的萬分之一都不到。因此這類芯片的研究,離成為市場上可以大規模廣泛使用的成熟技術,還有很長的路要走,但是長期來看類腦芯片有可能會帶來計算體系的革命。
說了這么多,相信讀者們對AI芯片行業已經有了基本的認識。在未來,AI芯片是否會從云端向終端發展?行業中大小公司的激烈的競爭會催生出怎樣的創新和轉型?類腦芯片的研發又能取得哪些突破?關于這些問題,每個人都會有不同的見解,歡迎各位讀者在下面留言。
本文來源:硅谷探秘
評論
查看更多