在先進工藝和架構的協同下,芯片的性能在過去幾年獲得了爆發性的增長,尤其是在最近幾年火熱的人工智能行業,這個取得的成就是有目共睹的。
據OpenAI在2018年年中發表的報告,自 2012 年以來,人工智能訓練任務中使用的算力正呈指數級增長。人們對于算力的需求增長也超過 300,000 倍。作為對比,如果是以摩爾定律的速度,這個數字只會是12倍的增長。在他們看來,正是這些硬件性能的跨越式突破,才成就了現在的AI產業。
自2012年以來,AI對算力的要求(source:OpenAI)
Open AI的報告進一步指出,成本考量和物理學特性等因素將會壓制傳統AI硬件性能的上升勢頭。但市場對AI算力的需求仍然處于增長期,為此探索新的硬件方案成為了AI芯片供應商亟待解決的問題。不少廠商也都另辟蹊徑從多個方向解決廣為人知的“馮諾依曼瓶頸”。
在鯤云信息科技有限公司創始人牛昕宇博士(以下簡稱牛博士)看來,一個不同于過往的新架構,是解決當前AI問題的正確之選。他同時也指出,目前的AI芯片行業,需要變革的不僅僅是架構。
亟待變革的AI芯片架構
對AI芯片行業有所了解的讀者都應該知道,現在統治人工智能芯片市場的廠商主要是英偉達,依靠GPU優秀的并行計算能力和CUDA生態,這家本來只是做顯卡的廠商在人工智能時代大放異彩。
除了英偉達之外,擁有龐大部署量的英特爾至強處理器和聲名在外的谷歌TPU和特斯拉FSD也是AI芯片市場一個不可忽略的角色。這些處理器有一個共同特點,那就是他們無一例外采用了指令集架構處理器。
這些架構在實際應用中不能發揮人工智能芯片的全部算力潛力,為此牛博士指出,在算力需求猛增的AI時代,需要一種新的芯片架構,這主要是由以下兩個原因決定的:
從硬件架構上看,指令集架構芯片中有部分芯片面積用于支持指令控制。更關鍵的問題在于,在指令執行過程中,計算單元在多數時間內處于等待的狀態:等待計算所需數據的到來。從這個角度看,指令集架構下的算力并沒有被充分發揮出來給到用戶。
另一方面,如上圖右邊所示,一個標準的五級指令集的每一條指令都要經過讀取、解碼、執行、讀寫內存和把數據寫到寄存器里面去這五個步驟。在這些步驟中,只有執行這一步驟是在執行真正的計算。其他部分都是在做指令的讀取和解碼這樣的功能。雖然可以通過指令流水降低計算單元閑置,不過在實際執行過程中,受限于指令間的依賴、以及指令間協同的時鐘不確定性,指令內部的計算單元會出現閑置等挑戰。
牛博士舉例說到,英偉達T4在Batch=128或Batch最高的測試環境下,按照其官網公布的指標去比對幾個網絡實際的使用算力,得出的結果是峰值算力的7%到30%左右。這意味著產品有很大部分的性能還不能完全發揮出來。
“如果大家都在類似架構下競爭,在接近的芯片利用率前提下,芯片公司的產品升級最后會變成依賴制程工藝和軟件生態的比拼。而且,對比P4與T4產品的實測性能可以發現,隨著峰值算力的增加,芯片的實際利用率有所降低”,牛博士補充說。
從目前的市場發展上看,包括英偉達在內的多家AI芯片廠商都在沿著上述技術路線演進,但從當前制程工藝的發展和材料本身的特性限制看來,繼續大幅提升峰值算力意味著更高的芯片成本,而隨著峰值算力降低的芯片利用率意味著給到用戶的實測算力并不會等比例線性提升。這與當前AI應用客戶更高算力性價比的需求是相背而行的。換而言之,尋找一個新的AI芯片架構迫在眉睫。
“數據流架構或許會是一個不錯的選擇”,牛博士說。
根據他的觀點,所有的計算架構需要保證一個核心需求:加減乘除等計算操作能夠按照編程需求按特定次序完成對特定數據的計算。與傳統的馮·諾依曼架構或控制流體系結構進行對比,數據流架構并沒有指令相關的指令控制與執行單元。數據流架構依靠數據流動次序,而不是指令執行次序保證計算執行順序,從而將計算與數據搬運重疊,以實現更高的吞吐量和更低的延遲。
“在指令集架構中,由于指令協同的不確定性,計算與數據讀寫無法深度重疊,部分時間計算單元處于等待數據狀態,從而導致閑置計算單元和芯片利用率的下降。而數據流架構中每個時鐘下所有計算單元的狀態是確定的,計算單元無需等待其它單元的計算,從而消除計算資源閑置。”牛博士表示?!斑@就像一個交響樂團,當樂團中每個人都按照統一的拍子進行演奏時,而且每個人在每個拍子下的動作是確定的,樂團中的樂器之間并不需要相互等待,可以按照自己的節拍并行的演奏,就會協作完成一首曲子。這就像數據流架構中計算單元間的協作關系:通過精確的時鐘進行協作,而并不存在先后依賴關系,所以無需等待?!迸2┦垦a充說。據介紹,數據流架構支持時鐘級的精確計算,讓每個數據流動及計算在每個時鐘都可精確預計,從而支持將數據流動與計算深度重疊,消除計算單元閑置;于此同時,數據流架構中沒有指令,從而破除了指令集架構的控制冗余以及等待指令讀取譯碼帶來的計算單元閑置問題,進一步提升芯片利用率。此外,數據流架構中一個數據流流水線中可深度整合大量計算單元,從而打破指令集架構中峰值算力提升與芯片利用率的沖突問題:通過不斷加深數據流流水線,可以在提升峰值算力同時,不降低流水線中計算單元閑置時間?!?/p>
正是因為數據流架構擁有如此多的優勢,包括Wave Computing、SambaNova和Groq在內的多家公司投入了這個領域的研發,值得一提的是Groq的初創團隊還是由谷歌TPU的核心成員創立,由此可以看到數據流架構的前景。
當然,鯤云科技創始團隊自1994年就開始探索數據流架構在各個垂直領域的開發和落地,在數據流技術上具有深厚的積累,自然是這個架構的積極支持者。也正是在這個背景下,團隊創立了鯤云科技,從零開始探索針對深度學習的數據流架構,也就是CAISA。
AI芯片能力≠芯片峰值算力
在架構類似的情況下,峰值算力是一個可以簡單快速估算芯片實測性能的指標,也是在AI芯片設計中重點關注的指標。然而近幾年,提升峰值算力的發展方向將人工智能芯片的發展推向了另一個極端:峰值算力(或每瓦的峰值算力)已經成為評價一顆AI芯片性能的單一指標,導致大量AI芯片研發資源投入到如何把峰值算力推高。
然而對于用戶來說,峰值算力其實并不是他們的本質需求。
“用戶真正關心的是AI芯片的實測算力,而不完全是峰值算力。峰值算力并不能直接釋放給用戶,真正釋放給用戶的要乘上一個系數,叫做芯片利用率”,牛博士說?!胺逯邓懔χ笜思僭O每個芯片內部計算單元每個時鐘都處于計算狀態,而現有指令集架構在運算執行中計算單元存在閑置”,牛博士強調。
以英偉達T4加速卡為例,常用的識別、檢測和分割的算法ResNet50、SSD-ResNet50和U-Net Industrial,在Batch=128或者最高性能的情況下,可以分別獲得32.1%、7.5%、11.9%的芯片利用率,這意味著在實際應用中,只有7%到32%的峰值算力轉換為實測性能釋放給用戶,當中帶來的芯片性能浪費是顯而易見的。
“為了讓用戶獲得更高的性能,除了持續提高峰值性能以外,芯片利用率的提升會是一個更好的方案,因為這會在不增加芯片成本的情況下,大幅提升芯片的實測性能。這也是鯤云科技新推出的CAISA 芯片正在努力的方向”,牛博士說。
這是一款采用28nm工藝打造的芯片,搭載了四個CAISA 3.0引擎,具有超過1.6萬個MAC(乘累加)單元,峰值性能可達10.9TOPs。而通過PCIe 3.0×4接口與主處理器通信,同時具有雙DDR通道,可為每個CAISA芯片提供超過340Gbps的帶寬。
作為一款面向邊緣和數據中心推理的人工智能芯片,CAISA芯片可實現最高95.4%的芯片利用率。這就讓他們在既滿足客戶在價格和功耗方面需求的同時,還能為客戶提供更強的算力,提高了性價比。而之所以能做到如此高的芯片利用率,與鯤云科技的CAISA 3.0數據流架構有莫大的關系。
在文章前面我們提到,鯤云科技首席科學家Wayne Luk陸永青院士從1994年就開始將數據流架構應用到各個垂直領域。經歷了前十幾年的發展積累,到鯤云科技于2016年成立并在FPGA上實現交付,與客戶的交流迭代之后,完成了此次全新的架構升級。
來到CAISA3.0中,數據計算與數據流動的重疊,壓縮計算資源的每一個空閑時鐘;通過算力資源的動態平衡,消除流水線的性能瓶頸;通過數據流的時空映射,最大化復用芯片內的數據流帶寬,減少對外部存儲帶寬的需求。上述設計使CNN算法的計算數據在CAISA3.0內可以實現不間斷的持續運算,最高可實現95.4%的芯片利用率,在同等峰值算力條件下,可獲得相對于GPU 3倍以上的實測算力,從而為用戶提供更高的算力性價比。
相比旗艦款Xavier加速卡,搭載CAISA芯片的星空加速卡X3可以最高提供4.12倍實測性能提升;而與T4相比,鯤云科技也能提供最高3.91倍實測性能提升。這都是超高的芯片利用率提升所帶來的。得益于這個利用率,過往通過提升峰值性獲得更高性能而帶來的高成本問題,也迎刃而解。
也許很多人并沒有理解這個3.91倍背后的意義,讓我們舉個現有的例子來對比說明一下。
AI從業人員都知道,英偉達為了展現其T4的實力,在其官方網站上公布了這個加速卡跑在不同網絡模型下的性能指標。作為AI芯片行業的風向標,任何一款芯片想要說明自己的實力,只需要跑和T4一樣的網絡,然后公布相關的Benchmark就可以如愿以償。早前被英特爾收購的Habana就是這樣做的。根據Habana所公布benchmark性能,相比于T4官網指標(最新官網指標為5415FPS),通過更高的峰值算力,Habana的產品提供了2.85倍實測性能提升。正是因為在實測性能上取得的領先,最終獲得Intel的青睞,讓他們以20億美元的估值被收購。
通過這個例子,我們也可以看到鯤云科技這個數字的真正價值。
在這個高性能芯片的支持下,鯤云科技打造了高算力性價比的AI計算平臺星空加速卡系列,并推出了X3和X9兩款產品。
其中星空X3加速卡是搭載單顆CAISA 芯片的數據流架構深度學習推斷計算平臺,為工業級半高半長單槽規格的PCIe板卡。得益于其輕量化的規格特點,X3加速卡可以與不同類型的計算機設備進行適配,包括個人電腦、工業計算機、網絡視頻錄像機、工作站、服務器等,滿足邊緣和高性能場景中的AI計算需求。相較于英偉達邊緣端旗艦產品Xavier,X3可實現1.48-4.12倍的實測性能提升。
X9加速卡為搭載4顆CAISA 芯片的深度學習推斷板卡,峰值性能43.6TOPS,主要滿足高性能場景下的AI計算需求。同英偉達旗艦產品T4相對,X9在ResNet-50, YOLO v3等模型上的芯片利用率提升2.84-11.64倍。在實測性能方面,X9在ResNet50可達5240FPS,與T4性能接近,在YOLO v3、UNet Industrial等檢測分割網絡,實測性能相較T4有1.83-3.91倍性能提升。在達到最優實測性能下,X9處理延時相比于T4降低1.83-32倍。實測性能以及處理延時的大幅領先,讓數據流架構為AI芯片的發展提供了提升峰值性能之外的另一條技術路線。
據了解,目前星空X3加速卡已經推出市場,而星空X9加速卡將于今年8月推出市場。
全球首個數據流AI芯片背后
從行業的現狀看來,鯤云科技是全球首家推出數據流AI芯片,并且提供第三方實測benchmark的中國芯片企業。這是前文說到的Wave Computing、SambaNova和Groq等國外明星初創企業所不能達到的成就。而通過數據流網絡中算子的不同配置和組合,鯤云科技的CAISA芯片更可支持到絕大多數的CNN算法,并能讓開發者輕易地將模型遷移到這個平臺上。。
能做到這樣,是其架構和軟件相互協同獲得的成果。
CAISA3.0架構可以通過流水線動態重組實現對不同深度學習算法的高性能支持。通過CAISA架構層的數據流引擎、全局數據流網、全局數據流緩存,以及數據流引擎內部的人工智能算子模塊、局部數據流網、局部數據流緩存的分層設計,在數據流配置器控制下,CAISA架構中的數據流連接關系和運行狀態都可以被自動化動態配置,從而生成面向不同AI算法的高性能定制化流水線。在保證高性能的前提下,支持用戶使用基于CAISA3.0架構的計算平臺實現如目標檢測、分類及語義分割等廣泛的人工智能算法應用。
“專為CAISA3.0架構配備的RainBuilder編譯工具鏈支持從算法到芯片的端到端自動化部署”,牛博士強調。而在RainBuilder編譯工具鏈的支持下,用戶和開發者無需了解架構的底層硬件配置,簡單兩步即可實現算法快速遷移和部署。
據透露,RainBuilder編譯器可自動提取主流AI開發框架(TensorFlow,Caffe,Pytorch,ONNX等)中開發的深度學習算法的網絡結構和參數信息,并面向CAISA結構進行優化;工具鏈中的運行時(Runtime)和驅動(Driver)模塊負責硬件管理并為用戶提供標準的API接口,運行時可以基于精確的CAISA性能模型,實現算法向CAISA架構的自動化映射,同時提供可以被高級語言直接調用的API接口;最底層的驅動可以實現對用戶透明的硬件控制。RainBuilder工具鏈使用簡單,部署方便,通用性強,可以讓用戶快速和低成本的部署和遷移已有算法到CAISA硬件平臺上。
回顧計算行業的發展,不同的應用催生了不同的處理器架構。早期PC的出現,讓X86架構和Intel名揚天下;近十年移動設備的出現,又推動了Arm架構和高通的蓬勃發展。
現在,我們進入了AI時代,也許一個屬于數據流處理器和鯤云科技的時代,從這刻開始正式上演。
責任編輯:tzh
-
處理器
+關注
關注
68文章
19170瀏覽量
229182 -
芯片
+關注
關注
454文章
50444瀏覽量
421921 -
AI
+關注
關注
87文章
30212瀏覽量
268451 -
人工智能
+關注
關注
1791文章
46882瀏覽量
237623
發布評論請先 登錄
相關推薦
評論