【AI晶元系列課】5大維度對比主流晶元架構,類腦晶元未來可期
來自專欄智東西公開課4 人贊了文章
主講導師|馮傑
本文編輯|梁家祥
7月17日,智東西公開課推出的AI晶元系列課進行完第四講,由靈汐科技首席架構師馮傑主講,主題為《類腦晶元的架構演進》。馮傑老師圍繞CPU、GPU、FPGA、ASIC以及類腦等代表性晶元架構從演算法支持度、規模擴展性、有效算力、有效算力成本比、有效算力功耗比五個維度做了詳細的對比分析,並對Tianjic類腦晶元架構的高算力、低功耗、高擴展性和高並行度及應用做了詳細介紹,本文為馮傑老師的主講實錄,共計13868字,預計讀完需要13分鐘。
主講實錄
馮傑:大家好,我是靈汐科技晶元架構師馮傑。感謝智東西提供交流平台,讓大家能夠在一起交流人工智慧的發展。今天我分享主題為《類腦晶元的架構演進》。以下是今天要分享的提綱:
1.人工智慧的驅動力和現狀
2.代表性晶元架構分析
3.人腦的啟示
4.Tianjic晶元架構分析
5.靈汐科技的類腦計算平台
這張圖相信大家都很熟悉,它揭示了這些年人工智慧在某些領域蓬勃發展的根本原因,也就是說,在合適的時機,有大量的數據、有效的演算法以及比較高的算力進行有機結合,推動了人工智慧的高速發展。
今天,很多領域都能看到人工智慧的身影,從創作到遊戲,從金融到安防等,很多行業為了提升效率和品質,都在採用AI技術,因此有人說我們正在進入智能時代,在我看來,這並沒有誇張,至少我們已經站到智能時代的門檻附近了。
但是,今天我們也不得不看清一個嚴峻的現實,那就是數據量越來越大,數據類型越來越多,從以前主要的文本信息,到後來的圖像信息、音頻信息、視頻信息,再到現在和未來各種感測器信息,數據的種類是五花八門,多種多樣,數不勝數的;在演算法上,不同的應用領域有不同的演算法湧現,比如有圖像識別演算法、語音識別演算法以及目標跟蹤演算法等,各種演算法日新月異,種類繁多,高速發展。但是它們的基點,也就是算力的進步卻越來越慢,已經大大落後於數據和演算法的需求。我們都知道提供算力的是晶元,我們也知道晶元工業的發展已經快到極限了,目前是7nm量產,也許明年後年就是5nm或者1nm會量產,也可能在未來會有更小的尺寸,但沒有人知道能不能繼續維持下去,到目前為止,能夠實用的新材料暫時還沒有看到。
數據和演算法還在繼續高速發展,我們需要立足於現狀,分析問題的原因,找出解決的辦法,接下來我會對數據、演算法以及算力一一加以分析。
從這張圖可以看到,數據量在呈指數級增長,由於數據量是由數據的產生方式、存儲方式以及傳播方式決定的。因此,隨著科技的進步和社會的發展,數據量一定是越來越大的。
今天我們每個人都是大量數據的製造者,比如平時拍照、錄音、錄視頻、刷朋友圈等,再加上物聯網時代正在走近,如果在未來真正實現了萬物互聯,數據量會更加龐大。數據包含有用的數據和垃圾數據,當然,有用數據和垃圾數據是相對的,取決於怎麼使用這些數據,誰使用這些數據。
如何對海量數據進行分類,分辨出有用數據,還是垃圾數據,以及如何對這些數據進行處理,挖掘出有用數據的價值,讓它們服務於人類呢?這是一個巨大的挑戰。
人力是有限的,數據是無限的,靠人工肯定是不可能的,只能靠人工智慧代替人對數據進行分類和處理,並服務於人類。而人工智慧之所以能夠處理這麼大的數據,靠的是演算法,接下來我們來看看人工智慧的演算法。
首先是人工神經網路的演算法,這是我們最熟悉的人工智慧演算法。目前最流行最強大的深度學習演算法就是最有代表性的人工神經網路演算法,這張圖片描述了人工神經網路的發展歷程。
1943年,心理學家MeCulloch和數理邏輯學家Pitts第一次提出人工神經網路的概念,同時也提出了第一個人工神經元的數學模型,也就是著名的MP模型(神經元的閾值模型),人工神經網路的時代就此開啟。但是,縱觀整個人工神經網路的發展並不是一帆風順,也是幾經波折才發展到今天的繁華局面。
1958年,Rosenblant在原油的MP模型基礎上提出了非常著名的感知器概念,也叫感知器模型。它是一種最簡單的二元線性分類器,後來被廣泛應用。感知器模型的提出和應用迎來了人工神經網路發展的第一次高潮。1969年,Minsky和Papert發現感知器不能處理線性不可分問題,也就是「異或」問題,看起來挺簡單的「異或」問題,感知機無法解決;同時,由於當時的計算機也是剛剛發展不久,性能很低,很難快速運行大規模的神經網路的計算,因此人工神經網路的發展第一次陷入了低潮。但是人工神經網路的發展並沒有就此停滯,還是有一批人前赴後繼,尋找前進的道路。
直到1974年,Werbos提出誤差反向傳播有監督學習演算法,也就是我們今天都在用的BP演算法,用誤差反向傳播演算法可以訓練多層感知機即MLP,它有效地解決了「異或」問題,這是很重要的一步,算是徹底邁過了1969年Minsky和Papert給我們留下來的難題,翻開了人工神經網路發展的新篇章。
1982年Hopfield提出了著名的Hopfield網路。Hopfield是模擬人類記憶的循環神經網路模型,對神經網路的信息存儲和提取進行非線性的數學描述。到1986年,Rumelhart和McCelland提出了BP神經網路,採用Sigmoid非線性結構函數(也叫S函數),並且系統地建立了多層感知器的BP學習演算法,後來在1989年,三層或三層以上的BP網路從數學上也被證明了可以逼近任何封閉區間內的連續函數,這就是著名的萬能逼近定理。
萬能逼近定理是指一個前饋神經網路如果具有線性輸出層和至少一層具有某種「擠壓」性質的激活函數的隱藏層,例如Sigmoid激活函數,只要給予網路足夠數量的隱藏單元,那麼它就可以以任意精度來近似任何從一個有限維空間到另外一個有限維空間的Borel可測函數。簡單來說,就是三層的BP網路,如果中間隱藏層足夠寬,同時帶上合適的激活函數,就可以讓一個空間無限逼近另外一個空間的函數,當然,我們知道這只是理論上的。
1989年,LeCun在論文中提到的CNN BP訓練方法,算是人工神經網路的第二次高潮。回顧人工神經網路的發展歷程會發現,我們的前輩是非常聰明的,無論是BP演算法還是CNN的提出,他們在幾十年前就已經為我們打下了堅實的基礎,而我們只是在做一些實現,實現他們當時不具備條件去驗證以及大規模推廣的理論,我們今天的進步都是站在他們的肩膀上取得的。
上個世紀末九十年代,人工神經網路又碰到了難題:基於Sigmoid激活函數深層人工神經網路在訓練時會遇到梯度消失的問題。也就是說BP訓練過程中傳遞的誤差從後往前越來越小,誤差傳到淺層時幾乎為零,很難進行更有效的學習訓練,簡單地說,就是網路深度無法再增加了,性能受限了。
同時,九十年代互聯網的飛速發展吸引了絕大多數人的眼光,即使當時人工智慧領域比如專家系統也取得了不小的進步,但是很少有人關注,這個時期算是人工神經網路的第二次低潮。當然人工神經網路的研究並沒有停滯,而在這個時期,LSTM模型在1997年被提出,同時LeNet也在1998年被提出。
直到2006年,多倫多大學教授Geoffrey Hinton把單層受限玻爾茲曼機堆棧成了多層深度信念網路(Deep Belief Network,簡稱DBN),並且提出了無監督逐層貪婪預訓練方法,再結合全局有監督BP演算法進行微調,使得七層以上的神經網路訓練得到收斂。Hinton讓我們看到了深度學習的曙光,我們確實即將迎來了深度學習高速發展的時代。因此有人說2006年是深度學習元年,Hinton被人尊稱為深度學習之父。
接下來幾年深度學習一直在發展,比較重要的是2011年,大家用不連續可導的ReLU激活函數代替原來一直使用的連續可導激活函數,比如Sigmoid激活函數。ReLU的運用抑制了深層網路訓練梯度消失的問題,讓我們能夠進一步加深網路。因此在2012年,Hinton的學生提出了AlexNet,第一次使用深度達到八層的CNN網路,並在當年的ImageNet圖像識別大賽中取得冠軍。
從2012年開始,接下來四年的圖像識別大賽中演算法的識別率越來越高,直到2015年的ResNet,它的識別率達到了96.43%,已經高於人眼識別率(大概是95%)。ImageNet圖像識別大賽對深度學習演算法的發展起了很大的推動作用,大賽期間伴隨著人工神經網路的深度越來越深,網路結構越來越複雜,性能也越來越好。
在人工神經網路演算法發展的過程中,還伴隨著幾個標誌性事件的發生,也就是圖上面的那些紅點。比如1997年IBM深藍計算機在國際象棋中打敗了當時的世界冠軍,取得了不小的轟動;而最引人注目的還是2016年,AlphaGo擊敗李世石,這場比賽的結果才算是真正點燃了大眾對人工智慧的關注,讓大家把目光投向了人工智慧領域,緊跟著就是資金和人才大量向人工智慧領域彙集,為人工智慧進一步發展開啟了一個黃金時代。今年(2018)六月份,在DOTA 5V5遊戲中,人工智慧又勝過業餘玩家,我想勝過職業玩家應該指日可待,在這個遊戲中,人工智慧已經開始表露出了配合、引誘甚至犧牲的策略,我相信這又將是人工智慧發展的一個里程碑。
從以上的回顧中,我們能看到人工神經網路雖然幾經沉浮,但是也取得了傲人的成績,而且直到今天,在不同的應用領域中,深度學習演算法還在繼續前進,比如融合不同的網路以及一些傳統演算法來解決更多更高難度的任務。
但是我們也應該看到,現有的深度學習演算法也有它固有缺陷。比如我們曾經想盡辦法在寬度上拓展網路,取得了性能的提高,後來又想盡辦法在深度上挖掘,取得了顯著的性能提升,可是到了今天,我們發現,繼續增加網路的深度和寬度,性能都不會再得到提高了。曾經最引人注目的圖像識別領域,這幾年的性能幾乎沒有提升,2015、2016以及2017年的誤識率基本上都在3%左右。也許現在正是我們把目光投向人工神經網路以外的其他演算法領域的時候了,比如神經動力學。
神經動力學其實比人工神經網路出現得更早。早在1907年就出現了神經元的行為學模型「LIF」模型;1952年又出現了神經元的仿生學模型「Hodgkin-Huxley」模型(簡稱HH模型);2003年出現了介於行為學模型和仿生學模型之間的「lzhikevich」模型。
神經動力學和人工神經網路都屬於人工智慧連接主義研究的範疇,但是它們的側重點是不一樣的,人工神經網路,比如DNN是借鑒大腦對信息分層處理的特性,在空間上模仿大腦;而神經動力學是既借鑒大腦神經元連接的空間特性,又借鑒神經元處理信息的時間動力學過程,具備了豐富的時空動力學特性。所以我們覺得它更接近真正的神經元模型,也更接近於大腦的構造和信息處理機制,很有可能成為通用人工智慧的突破口,但是這些都是以算力為代價的。
上面的坐標圖表示不同的神經動力學模型對算力的要求和仿生學程度。橫坐標代表計算不同的神經動力學模型所要花費的算力代價,縱坐標是不同模型的仿生學程度,也就是生物可信度。從圖上我們可以看到仿生學程度越高所要求的算力也就越高。
比如「HH」模型在計算中有大量的微分方程,因此需要發揮很大的算力,而現在的計算機是很難進行處理的;又比如「lzhikevich」模型,對算力的要求屬於中等,但是也還是很高,所以它的應用範圍也不廣。
「LIF」模型的數學方程和前二者比起來就簡單多了。通過LIF動力學以及其他的變體可以構建多種多樣的神經網路模型,最有代表性神經網路模型有兩個:非脈衝編碼的連續LIF模型和基於脈衝編碼的LIF模型,也就是脈衝神經網路SNN。由於SNN最簡單,對算力要求也最低,因此也最為我們所熟知,很多時候SNN簡直成了神經動力學網路的代名詞。
從上面我們可以看到,神經動力學的發展是與算力息息相關的。為了神經動力學的發展,建立起既能高效支持人工神經網路演算法,又能高效支持神經動力學演算法的計算平台顯得尤為重要。接下來我會分析一下現有的人工智慧計算平台。
從圖上可以看到,人工智慧計算平台主要分為通用計算平台和專用神經網路計算平台。通用計算平台主要有CPU、GPU以及FPGA。
CPU包括Intel和ARM,Intel是CISC陣營,ARM是RISC陣營。Intel主要用於PC伺服器領域,提供高性能計算;ARM主要是用於移動和嵌入式領域,最大的特點是低功耗。
GPU主要是NVIDIA和AMD。但是在AI伺服器領域,NVIDIA對市場的佔有率達到了70%,遠遠高於AMD30%的佔有率,他們兩家幾乎佔到了100%的市場。
FPGA主要包括Xilinx和Altera,而現在Altera已經被Intel收購,因此未來估計FPGA領域將是Xilinx一統江湖。
專用神經網路計算平台ASIC,根據對演算法支持度的不同,ASIC又分為支持人工神經網路的深度學習加速器晶元以及支持神經動力學的神經形態晶元。
支持深度學習的晶元有很多家,比如Google,GraphCore,寒武紀,Wavecompting等公司。每一家都有自己的特色,性能上面各有千秋。
神經形態晶元從實現方式來看,分為數字晶元、模擬晶元和新材料晶元。數字晶元主要有TrueNorth、Loihi以及SpiNNaker;模擬晶元主要有Neurogrid、BrainScales以及ROLLS;新材料晶元主要有Memristor組成的陣列。神經形態晶元目前並沒有商用化,還處於實驗室驗證階段。
從上圖能夠看到,通用計算平台CPU、GPU或者FPGA基本都處於巨頭壟斷狀態,每一個領域只有一個或兩個霸主,地位完全無法撼動。而神經網路計算ASIC是群雄爭霸,沒有人能一統江湖,這或許是我們所有人的機會,就看大家有沒有能力把握住。
接下來我會對剛才介紹中很有代表性的晶元進行分析,以了解這些晶元的特點。
首先是CPU。CPU平台是數字領域中的萬能計算平台,除了能夠實現神經網路的計算外,還能實現其他所有的通用計算和控制。這張圖片顯示的是Intel最新伺服器CPU的Skylake架構。
Skylake是多核架構,採用2D Mesh片上網路實現多核調度和互聯,每一個核都採用傳統的結構,包含計算單元、控制單元等電路。晶元與外界的互聯通過PCIE介面實現,同時具有Memory Controller外掛DDR。右邊的雷達圖是對CPU特點的概括,我會從五個方面來總結CPU以及後面其他計算平台的特性。
首先看一下演算法支持度。這裡的演算法是指神經網路計算演算法,也就是剛才說過的人工神經網路演算法和神經動力學演算法。CPU是萬能計算平台,它能支持所有的神經網路演算法,因此它的演算法支持度得分是100分。
第二個是有效算力。有效算力是指能有效發揮在神經網路計算上的算力。通常我們會說一個晶元的峰值算力是多少tops,真正把神經網路放進去計算的時候,會發現也許只有10%-20%的算力能夠發揮出來,其他的算力都是浪費的。當然,算力發揮不出來的原因,不僅是晶元的因素,還有其他的一些因素,很多時候是因為軟體沒有做相應的優化。而在這裡,我們先把軟體的因素排除掉,默認軟體已經是最優化了,因此只看晶元能發揮的有效算力。CPU的有效算力得分比較低,只有40分。因為CPU主要是用於通用計算和複雜控制,而神經網路計算是由某些特定的,比如大量的並行卷積運算,CPU並沒有針對它們進行優化,因此它的得分不高。
第三個是有效算力功耗比,指有效算力除以所消耗的功耗。這個功耗不只是晶元自身計算的功耗,還包括計算過程中用到的存儲器,比如DDR的功耗,因為有很多晶元包括大多數神經網路加速器,不帶DDR是無法工作的。由於CPU的有效算力比較低,而功耗比較高,再加上DDR的功耗,因此它的有效算力功耗比得分很低,只有20分。
第四個是有效算力成本比,指有效算力除以成本。同樣的,這個成本不只是包括晶元本身的成本,還包括計算過程中用到的存儲器成本,由於CPU有效算力比較低,而價格又比較貴,因此它的有效算力成本比得分只有30分。
最後是規模擴展性,指多個晶元擴展互連形成大規模算力的能力。這在大型神經網路計算或者多網路協同計算時非常重要。CPU的擴展互聯是通過PCIE介面實現。其實凡是用PCIE介面通過匯流排實現擴展互聯的晶元都有比較明顯的缺點,第一個缺點是擴展互聯的晶元數量是有限的,一般只能是幾個晶元的擴展互聯,如果通過樹形的方式擴展互聯就形成了第二個缺點,多個晶元擴展互聯後算力發揮效率會急劇下降。
比如兩個100T的晶元擴展互聯後,也許只能發揮80%的效率,即160T的總算力,而且擴展互聯晶元的數量越多,效率下降就越快。又比如,四個100T的晶元擴展互聯,結果也許只能發揮60%的效率,也就是240T的總算力,因此CPU的規模擴展性只有50分。
接下來看看第二個計算平台——GPU。
GPU是最通用,也是我們最熟悉的神經網路計算平台。大多數人從一開始學習神經網路就是用GPU進行神經網路的訓練和推理,而且現在市場上能買到的真正實用的並且效率比較高的神經網路計算平台也只有GPU。
這裡分析的例子是NVIDIA最新GPU V100的架構。V100是眾核架構,是由很多小核組成的晶元,晶元由Memory Control負責DDR的讀寫,GPU有兩種介面實現片外互聯,一種是PCIE,一種是NVLink。NVLink是NVIDIA專門開發的高速互連介面,目的就是為了得到更好的可擴展性。
GPU對人工神經網路演算法的支持度比較高,但是對神經動力學的支持效率是比較低的,因此它的演算法支持度是85分。
關於有效算力,V100的有效算力是非常高的,它的通用FP16算力有30tops。而Tensor FP16的算力達到了120tops,因此它的有效算力得分90分。
GPU的功耗很高,比如V100是300瓦,但是由於它的算力非常高,因此它的有效算力功耗比是70分。
由於GPU是很貴的,V100採用12nm工藝,面積達到了815平方毫米,成本相當高,因此它的有效算力成本比得分為30分。
GPU是通過PCIE和NVLink實現互聯的,由於NVLink的介面能夠很好的實現它們之間的互聯,因此規模擴展性得分為80分。
FPGA是由大量的可編程邏輯陣列組成,用戶可以根據需要靈活地對FPGA進行編程實現想要的功能。由Memory Controller負責讀寫外部存儲器DDR,FPGA外部電路的通信是通過多種高速串列匯流排介面實現的。
因為是可編程邏輯陣列,所以具有非常好的靈活性,可以針對不同的演算法做不同的設計,因此FPGA的演算法支持度得分很高,幾乎和CPU差不多,是95分。
對FPGA進行編程是比較難的,與對CPU進行編程的難度相比,不是一個等級上的。FPGA本身的計算速度可以做到很快,但是由於需要與外部DDR交換數據,限制了其算力發揮,因此FPGA的有效算力得分是60分。
關於有效算力功耗比,FPGA比GPU的功耗要低很多,再加上它的有效算力也能夠做得比較高,因此FPGA的有效算力功耗比得分是70分。
但是FPGA的成本還是比較高,尤其在大規模應用的情況下,它的成本非常高,所以算力成本比只有50分。
FPGA的規模擴展能力比較強,可以通過多組高速介面互聯,所以其規模擴展性能得分80分。
TPU是真正專門為了人工神經網路計算而打造的一款加速器晶元,它的架構是針對人工神經網路演算法優化過的,晶元內部有大量並形的計算單元陣列,也有比較大的片內儲存,還有Memory Controller負責讀寫外部存儲器DDR,由PCIE實現晶元擴展互聯。
TPU能高效的支持人工神經網路演算法,但是對神經動力學演算法的支持度比較低,所以其演算法支持度得分80分。
TPU的算力比較高,對Tensor FP16,算力能達到45tops,在優化軟體程序後,TPU算力效率能夠發揮到60%多,因此其有效算力得分是70分。
TPU的功耗大約是130W,因此它的算力功耗比得分是60分。大家可以發現現在很多人工神經網路加速器的算力功耗比都不是很理想,大部分都低於GPU功耗比。
TPU的算力成本比得分是80分,因為它雖然只有45tops,但是它是在比較便宜的28納米的工藝上實現的。
TPU擴展互聯的介面還是PCIE,因此得分60分。
神經形態晶元,這裡以IBM的TrueNorth為例。TrueNorth是眾核架構,裡面的每一個神經元陣列就是一個小核,所有的核都是存算一體,即工作時不需要外帶DDR,每一個小核使用2D Mesh片上網路實現互聯,片間互聯是通過LVDS介面。
TrueNorth基本上只能支持神經動力學的SNN演算法,對人工神經網路演算法的支持度極低,所以演算法支持度得分為30分。
而且TrueNorth算力也很低,只有58gops,與一般加速器常見的幾十tops相比是非常低的,所以有效算力得分只有10分。
TrueNorth雖然算力很低,但是功耗也很低,100多毫瓦,因此它的有效算力功耗比有70分。
但是由於有效算力太低,而成本並不低,採用28nm工藝,面積達到了430多平方毫米,因此它的有效算力成本比只有10分。
TrueNorth採用的是2D Mesh片上網路,晶元與晶元之間可以通過LVDS串口直接互聯,因此具有非常好的可擴展性,得分為90分,這也是TrueNorth最大的優勢之一。
從這些數據可以看到,TrueNorth是一款有顯著優缺點的晶元,包括存算一體、算力極低、算力功耗比高和可擴展性強的特點,這也是很多目前形態晶元的普遍現象,它們基本上都只能支持神經動力學演算法,對更加流行更加成熟更加強大的人工神經網路演算法比如CNN演算法的支持度很低,因此這些神經形態晶元現在幾乎沒有辦法商業化,處於實驗室驗證階段。
分析了這麼多的計算平台後,接下來看看人腦到底有哪些特點?
首先人腦是存算一體的,顯而易見人腦的存儲信息和處理信息是一起的。在剛才提到的各種計算平台中,無論是CPU、GPU、FPGA還是深度學習加速器,它們採用的都是存算分離的馮諾伊曼結構,因此在提高性能時有一個很大的瓶頸,就是存儲帶寬限制的問題。當然,神經形態晶元有的是存算分離,有的是存算一體,但是可惜的是,它們的演算法支持度和算力都太低了。
人腦的第二個特點是具有極大的規模性,我們知道人腦是由上百億個神經元細胞組成的,這些神經元細胞通過極其複雜的互聯形成了一個規模巨大的有機系統,因此很多人認為要模擬真正的人腦,一定要達到某種規模才能看到類似人腦的效應,這也是TrueNorth一直追求大規模互聯的原因。
人腦的第三個特點是具有一些比較明顯的功能分區,比如視覺區、聽覺區、情感區等,這些不同的功能分區有機的結合在一起,互相配合著完成大腦的活動。
第四個特點,人腦處理任務時具有極高的並行度,因為我們在任何時候都是在同時做多件事,比如一邊走路一邊唱著歌,眼睛還一邊欣賞著美景等,人腦能夠讓它們互不干擾,完全並行。
第五個特點,人腦具有極低的功耗。雖然我們人腦能處理這麼多複雜的任務,但是消耗的能量卻是極低的,才20W左右。舉個例子,剛才提到的GPU,實現一個單一的任務功耗就達到300W,或許同樣單一的任務對於人類來說也只是輕鬆地瞟一眼。當然,人腦還有其他很多特點,比如計算的高容錯性、不確定性等。我們正是受到人腦這些特點的啟發,開發出類腦晶元Tianjic的。
Tianjic採用優化過的眾核架構,由一系列核構成陣列完成神經網路的計算。為什麼要使用優化過的眾核架構呢?因為我們認為,在摩爾定律即將失效的今天,在現有的工藝基礎上,從優化架構入手可能是提高晶元性能最重要的手段。
當然,局部電路的優化,比如優化某些乘加器,提高它們的工作頻率也可以提高性能,又或者隨著Package技術的進步,把加速器晶元和HBM封裝在一個package裡面,也是提高性能的手段,但是這些手段帶來晶元性能的提升跟優化架構帶來的性能提升相比是微不足道的。架構就像物種的基因,一顆小草儘管使勁地施肥,它也長不成一棵參天大樹,無非是一顆比較高大肥壯的小草而已,因為這是基因決定的。
CPU和GPU每一次大的性能提升也都是從架構入手,用新的架構代替舊的架構。比如GPU是從Kepler架構到Pascal架構,再到現在V100的Volta架構,因此它的性能才提升到現在的高度。當然,這些都還是在傳統的馮諾伊曼架構基礎上的提升。
而Tianjic,由於每一個核都自帶存儲區,所有的計算數據都在本地操作,因此從晶元的層面看,Tianjic在總的架構上已經超越了傳統的馮諾伊曼結構,所以Tianjic不像傳統架構的晶元一樣在計算的時候必須與DDR進行大量的數據交互而受存儲帶寬的限制,使整個晶元的性能受到影響。這是Tianjic晶元算力高的一個極其重要的原因。因為不用從外部導入數據,因此它的功耗比較低,也節省了成本和空間。
同時,我們每一個核裡面都有一個通用處理器,也就是說核陣列包含由多個CPU組成的CPU陣列,因此具有極大的靈活性,能高效的支持各種神經網路演算法。
Tianjic晶元採用的是2D Mesh片上網路結構,用於核與核之間的通信互聯。晶元與外部的通信是通過高速串口實現的。
接下來我會講一下Tianjic晶元的互連。
當我們想要擴展算力的時候,可以通過高速串口實現片間互聯,而且可以從東南西北四個方向同時擴展,因為我們的串口帶寬很高,能夠保證計算過程中足夠快的傳輸片間信息,因此從總體上看,所有的晶元都是無縫連接的,並且擴展互聯不會降低算力的效率,也就是說有多少個Tianjic晶元互聯就能得到多少倍單Tianjic晶元的算力。
這是Tianjic晶元架構相對於傳統晶元架構又一極大的優勢。這樣就可以用Tianjic晶元組成一個具有極高算力和極大規模的晶元陣列,甚至可以儘可能接近人腦規模。
Tianjic的眾核架構和2D Mesh片上網路相較於傳統晶元架構還有一個極大的優勢,就是多核重組特性。因為Tianjic晶元的核陣列中是眾核平等的,核與核之間沒有主從之分,當多Tianjic晶元組成晶元陣列時,陣列中晶元與晶元之間沒有主從之分。因此,在用戶眼裡,整個晶元陣列就是一個巨大的核陣列,用戶可以靈活的用軟體來配置自己的任務,把不同的任務同時配置在不同的核組中,真正的實現多任務的並行處理,不管任務之間是有關聯性還是沒有關聯性。這就很像人腦的行為,前面我們分析過,人腦不同的區域有不同的功能,並且能夠高效並行的處理各種任務。
正是在大腦的啟發下,我們設計的Tianjic晶元讓我們看到了模擬人腦的希望,也看到了可能實現通用人工智慧的希望。
我們給客戶提供的是不僅僅是一塊晶元,還包括一整套解決方案:最底層是Tianjic晶元,負責提供算力;在晶元的基礎上,我們會提供給客戶完備的工具鏈;我們會幫助客戶把演算法高效的在晶元上運行,也會對客戶的應用提供最好的服務。
接下來我將對工具鏈演算法和應用加以說明。
工具鏈是非常重要的,也是我們工作的重中之重。大家都知道GPU在AI領域擁有絕對的優勢地位,它之所以這麼強大,除了具有強勁的性能以外,還有它強大的工具鏈,因此我們一定會竭盡全力打造一款強大的全棧式工具鏈,給客戶提供各種層次的開發工具。
例如,如果客戶嫌麻煩,那就可以使用我們通用的API,客戶只需要把通用的框架,比如TensorFlow或者Caffe訓練出來的網路原封不動地交給我們的應用介面,我們的工具就會自動地完成編譯、優化等一系列工作,讓晶元能夠發揮最佳的性能,以最快的速度完成客戶的任務;如果客戶想定製任務,我們也提供靈活的開發工具,客戶可以根據自己的需求,靈活地開發優化自己的應用。總之我們提供給客戶的一定是一款功能強大而又靈活易用的工作鏈。
靈汐科技有一支強有力的演算法團隊,既能跟蹤國際最前沿的演算法發展,又能優化客戶最成熟的應用演算法,並且對人工神經網路和神經動力學網路都有著非常深入的研究,可以保證類腦計算平台高效地支持各種網路。
應用方面,我們會和客戶進行合作,幫助客戶開發各種板卡、伺服器之類的產品,支持客戶邊緣計算或者終端的各種應用,也希望以後在各行各業的智能化計算平台中都能看到Tianjic的身影。
靈汐科技的目標就是為各行各業的智能化提供高效穩定的計算平台,同時致力於降低用戶使用算力的成本,助力客戶的發展。
我們相信,我們的產品能夠用在各個領域,比如數據中心、安防、智能醫療、自動駕駛等領域。
總之,我們希望Tianjic的高算力、低功耗、高擴展性和高並行度,能夠為推動整個人工智慧產業的發展貢獻自己的力量。同時也希望有一天對人工智慧的從業人員來說,不再像今天一樣為了節省一點點算力,花很大的力氣去做剪枝、優化之類,最後還得忍受網路性能的降低,這不應該成為AI領域工程師們的常態。
我們希望我們的產品能夠給客戶提供取之不盡用之不竭且便宜的算力,讓工程師們能夠很輕鬆就能實現最佳的性能。
Q&A環節
問題一
安紹岩-展訊通信-高級軟體主管
1. 相比其它AI架構,類腦架構的優勢、劣勢對比,能否舉出具體驗證數據做對比。
2. 靈汐對於該類腦晶元後續技術演進的思考。
馮傑:1、主要優勢有:一、算力高;二、功耗低;三、存算一體,不需要外掛DDR,節省成本功耗和空間;四、演算法的支持度靈活,既能高效支持人工神經網路演算法,又能高效支持SNN演算法;五、擴展性好,能得到極大算力的晶元陣列,而且算力效率不會下降;六,支持多核重組特性,可以實現多任務並行處理。這些性能都會有具體的數據支持,會在公司產品發布時統一公布。
2、類腦晶元的發展取決於很多方面的因素,首先是演算法的突破,類腦晶元要既高效支持人工神經網路演算法,又高效支持SNN演算法,而不能像現在這樣,ANN演算法發展很好,而SNN並沒那麼好。Tianjic之所以高效支持SNN,就是想給大家提供一個好的平台,供大家積累這方面的經驗,希望能為SNN的突破出一份力;其次是材料、新器件、新工藝的突破,它們都會對類腦晶元的進步提供相當大的助力;最後是架構突破,由於新材料的突破需要比較長的時間,如何在現有的工藝基礎上,挖掘出更好的性能是我們需要面對的現實問題,Tianjic晶元的架構已經做了突破,但我覺得還有性能提高的空間,我們會一直走在突破的路上。
問題二
翟雲-北京君正-部門總監
1.Tianjic既然定位於類腦計算,為何還要支持CNN、LSTM等現有流行演算法?
2.脈衝神經網路如何訓練,在什麼FrameWork下訓練?相比現在主流的CNN、LSTM的精度如何
馮傑:1、Tianjic作為一款類腦晶元,不應該對人工智慧演算法有區別對待,而應該同時能高效支持CNN和SNN等所有的神經網路演算法。我們從大腦的機制中盡量吸取了更多的優勢,比如存算一體、高擴展性等。我們希望Tianjic晶元組成的陣列有一天能真正地接近大腦的規模,並且模擬大腦的特性。
2、SNN是比較難訓練的。現在一般採取的是三種訓練方法,分別是無監督學習規則、ANN間接學習演算法以及BP有監督直接學習演算法,對SNN來說,最常見的是用無監督學習演算法的訓練,這個演算法描述起來挺簡單的,如果前繼神經元發放,當天神經元也跟著發放,那麼兩個神經元之間的突觸強度就會增加;如果當前神經元發放後前繼神經元才發放,那麼突觸強度就會減弱。無監督學習演算法是目前在生活中得到驗證且比較有效的訓練方法,但是因為無監督學習演算法的訓練,有時候並不是真正的work,所以現在很多SNN的訓練還是借鑒ANN的訓練方法實現。
問題三
姜愛鵬-南京華捷艾米-晶元設計總監
1.RISC-V 的熱度最近逐漸升高,RISC-V生態鏈的完善,對AI晶元是否會有促進作用,會體現在哪些方面?
2. 對應於邊緣計算的應用場景,或者對於推理的應用場景,是否有比較好的AI晶元架構可參考?
3.對於降低AI晶元的運算功耗,或者說提高能效比,有哪些好的建議?或者說有設計規則需要遵守?
馮傑:1、RISC-V生態鏈的完善對AI晶元有極大的促進作用,我認為很多AI晶元都有用到RISC-V的機會,之所以現在還有很多人有顧慮,就是因為RISC-V的生態鏈不夠完善,導致很多人擔心未來是否還會發展的問題。其實這也不只是AI領域的人會有這種顧慮,其他領域的人肯定也有類似的顧慮。因此,如果生態鏈完善了,不僅對AI晶元有極大的促進作用,還會對其他很多行業有很大的促進作用。
2、AI晶元有各種各樣的架構,每個架構都有自己的特點,關鍵是取決於應用場景,比如Tianjic,最大的優點是高算力、低功耗、高擴展性以及高並行度,如果應用場景需要這些特點,那麼Tianjic就是很好的AI晶元。
3、首先,在IC設計中有一系列降低功耗的手段;其次,功耗與晶元的架構有極大的關係,比如Tianjic的存算一體,所有的數據都在本地操作,這樣帶來的功耗損失就變少了,又比如,有的晶元雖然算力還不錯,但是真正把網路運行起來能發揮的效率並不高,這種情況下,它的功耗是很高的。最後,功耗還跟演算法有關,如何把硬體的算力發揮出來,很多時候是需要讓演算法和硬體進行匹配的,比如Tianjic,會在工具鏈中自動編譯優化,把客戶的網路以最高的效率映射到晶元中進行,省去客戶對自己演算法的優化過程,同時還節省了功耗。
問題四
孫中-西工大-SoC設計與驗證研究生
類腦晶元設計的難點在哪? 在沒有殺手級應用情況下,如何做驗證?
馮傑:個人認為,在現有的工藝條件下,晶元的架構設計是最重要的,因為架構整個晶元的基因,決定了晶元的性能。至於殺手級應用也是由晶元的性能決定的,如果晶元性能高,使用靈活,能很好地支持現有的應用,那就可以驗證晶元的性能了。至於是否能夠勝任現有的或者將來的重量級應用,需要通過實際的案例來給出答案。
問題五
韓少鋒-caveDSP-FAE
1. 經過靈汐的工具鏈映射編譯之後,量化的位寬是8位還是16位的?典型網路的精度如何?相比浮點網路有多少損失?
2.是否支持4bit網路?是否支持4bit以下的網路,比如二值網路?
馮傑:1、Tianjic晶元支持FP16的數據類型,網路的精度由演算法和客戶提供的參數決定,我們編譯器不會對客戶的網路參數進行任何的修改,我們希望提供給客戶足夠的算力,保持客戶原始的參數,當然也會保持網路原始的精度,而不會做任何修改。
2、Tianjic晶元能夠高效的支持是FP16、int8、三值和二值網路,同時我們不會對網路參數進行修改。
問題六
梁偉強-上海高清-晶元研發經理
類腦晶元的架構是模仿人的大腦設計出來的嗎?和常規的神經網路有什麼本質區別?
馮傑:類腦晶元架構是受大腦的啟發設計出來的,它能高效支持人工神經網路和神經動力學網路等各種神經網路演算法,所以從晶元運行的角度看,我們認為應用在不同的神經網路下是沒有什麼不同的。
問題七
李文昌-深度科技-行業總監
1.相關場景的應用開發者或公司多麼,需要哪些知識儲備?
2.商業模式會有創新么?
馮傑:1、晶元的應用取決於應用場景,很多人工智慧的應用我們都支持,Tianjic能高效支持ANN和SNN。現在已經有挺多的公司在跟我們洽談中。除了必備的應用相關知識以外,並不需要其他專門的知識儲備,我們的工具鏈會提供強大而易用的工具給客戶。
2、關於創新,創新是靈汐科技的靈魂,不管是技術還是商業模式上我們都一直在創新。當然,我主要關注技術的創新,而商業的創新主要是由我的同事梅迪來負責,如果有這方面的問題,你可以詢問他,我們會有後期的商務活動,比如10月23號在北京的安博會上,我們會有相關產品的展覽,希望大家到時候多多支持。
問題八
劉發強-清華大學-類腦計算研究中心博士生
類腦晶元的神經元是不是必須用模擬電路實現才可以更好地發揮出其功耗優勢?
馮傑:神經元可以通過多種方式實現,包括模擬電路、數字電路以及新材料等都可以實現,至於哪種方式更省功耗,則需要跟實際應用相結合,從系統的角度來分析每一個具體的任務需要花費的算力,才能確定消耗的功耗,而不能一句話去敲定哪一種是最省功耗的方式。
問題九
何軍-上海高性能集成電路設計中心-高級工程師
雖然都是AI晶元,但是類腦晶元與基於深度學習的晶元有較大不同,能否比較一下,包括適合的應用、通用性、功耗和未來的發展方向等?
馮傑:Tianjic跟傳統的AI晶元從架構上來講確實有很大的不同,由於Tianjic既高效支持深度學習演算法,又高效支持SNN演算法,因此能應用在現有的各個AI領域,而且功耗比較低,算力功耗比高,對於這些特點具體的值,我們以後會統一公布。我們對類腦晶元的發展很看好,關於神經動力學演算法的短腿也一定會補起來的。以前我們主要是缺乏高效運行的SNN硬體平台,並且已有的平台比如TrueNorth是不對中國人開放的,我們的平台推出了以後,相信會為SNN的發展做出貢獻,為整個人工智慧的發展做出貢獻,也為國內想從事SNN研究的朋友提供更大的便利,謝謝。
問題十
賈曉雲-中科院微電子所-助理研究員
國內人工智慧晶元企業與國外巨頭競爭力如何?
馮傑:可以看到近幾年來,國內誕生了很多人工智慧晶元企業,並且發展的速度很快,勢頭也很好。但是目前來看,國際巨頭的產品還是處在領先地位,我們還需要繼續努力,不過我們有信心,這也是靈汐科技進入這個領域的原因,我們會腳踏實地地往前走,希望能夠超越國際巨頭,謝謝。
問題十一
梁龍飛-上海新氦類腦智能科技-副總經理
類腦晶元產業發展目前最大的瓶頸在哪裡?
馮傑:從國內的情況來看,整個人工智慧的發展包括類腦晶元的產業發展是比較分散的,如果能夠把所有的力量都集中起來,相信能夠很快的發展,人工智慧晶元國內外的起跑線差不多,相信一起共同努力是不會落後於國外多少的,尤其是ASIC晶元。
問題十二
李海東-廣智微芯-IC工程師
Tianjic基於SNN,在single chip和chip array上,有哪些商業化的應用?
馮傑:Tianjic不是基於SNN的,而是基於眾核架構的類腦晶元,我們對ANN、SNN都有很好的支持,所以無論是Single Chip還是Chip Array都取決於客戶的實際要求,單晶元的算力比較大,組成Chip Array當然就更大,如果客戶需要用到這麼大的算力,自然是可以去擴展的,但是如果用不著的話,也就沒必要去拓展,主要取決於實際的商業需求。
課件下載
第一講,聯發科計算與人工智慧本部總監張家源主講,主題為《如何基於 NeuroPilot平台打造手機AI》
第二講,深思考人工智慧CEO楊志明主講,主題為《醫療影像專用AI處理器的機遇與挑戰》
第三講,觸景無限CEO肖洪波主講,主題為《玩轉模塊化AI 讓智能更簡單》
第四講,靈汐科技首席架構師馮傑主講,主題為《類腦晶元的架構演進》
第五講,華登國際合伙人王林主講,主題為《淺談AI帶來的集成電路領域創新與投資機會》
第六講,澎峰科技聯合創始人趙華龍主講,主題為《如何從0到1搭建RISC-V處理器》
關注智東西公開課服務號,回復關鍵詞「課件」獲取AI晶元系列課課件
新課預告
繼AI晶元系列課之後8月7日起,自動駕駛系列課第三季重磅上線了!這次我們邀請到了青飛智能、中創博遠、易成自動駕駛、酷哇、西井科技、深蘭科技、北科天繪、騰訊8位創始人和技術大牛,深度解析限定場景自動駕駛商用車落地案例。名額有限,速速報名!
推薦閱讀:
※應用SQL分析上海租房數據
※Swoole 源碼分析——Server之Worker(一)
※Arnoldc詳解
※要消滅汽油車,英國投入2.46億英鎊發展電池技術,你怎麼看?