<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
"); //-->

博客專(zhuān)欄

EEPW首頁(yè) > 博客 > 后摩智能陳亮:存算一體,尋求中式庭院與高層公寓間的“中庸之道”丨GACS 2023

后摩智能陳亮:存算一體,尋求中式庭院與高層公寓間的“中庸之道”丨GACS 2023

發(fā)布人:芯東西 時(shí)間:2023-10-14 來(lái)源:工程師 發(fā)布文章

圖片

AI計算面臨三大現狀,存算一體顛覆性重塑AI芯片。編輯 |  GACS
9月14日~15日,2023全球AI芯片峰會(huì )(GACS 2023)在深圳南山圓滿(mǎn)舉行。在首日開(kāi)幕式上,后摩智能聯(lián)合創(chuàng )始人、研發(fā)副總裁陳亮分享了題為《存算一體:顛覆性架構重塑AI芯片》的主題演講。陳亮談道,面向大模型時(shí)代的新需求,后模智能正計劃推出擴展大模型應用邊界的第二代天璇架構,以及基于這一整體性能、效率與靈活性更強架構的后摩鴻途H50芯片,預計在2024年正式推出。創(chuàng )立于2020年的后摩智能是存算一體芯片公司之一。公司于2023年5月正式推出存算一體智駕芯片后摩鴻途?H30,物理算力達到256TOPS,典型功耗達到35W。根據后摩實(shí)驗室及MLPerf公開(kāi)測試結果,在ResNet50性能功耗對比上,采取12nm制程的H30相比某國際芯片巨頭的7nm同類(lèi)芯片性能提升超2倍,功耗減少超50%。H30和H50系列背后是后摩智能自研的IPU架構,陳亮談道,該架構設計遵循“中庸之道”。如果將集中式計算架構比作居住面積和擴展性有限的“中式庭院”,那么分布式計算架構類(lèi)似于“高層公寓”,容納性好但溝通性不足。后摩智能的IPU架構選擇在兩者之間尋求平衡點(diǎn):在計算方面,通過(guò)多核、多硬件線(xiàn)程實(shí)現計算效率與算力靈活擴展;在存儲方面,通過(guò)多級數據緩存實(shí)現高效數據搬運與復用;在數據傳輸方面,通過(guò)雙環(huán)拓撲專(zhuān)用總線(xiàn)實(shí)現靈活數據傳輸與共享。以下為陳亮的演講實(shí)錄:尊敬的各位嘉賓、各位老師:大家下午好!后摩智能是一家做存算一體AI芯片的初創(chuàng )公司。我們在創(chuàng )業(yè)過(guò)程中,經(jīng)常會(huì )被大家問(wèn)到一個(gè)問(wèn)題:既然存算一體技術(shù)優(yōu)點(diǎn)這么多,那為什么國內或者國外的成熟大公司他們不做呢?我們的同事們也從不同的角度給出了一些解答。
01.AI計算面臨三大現狀,存算一體技術(shù)帶來(lái)新探索


從我的角度來(lái)看,我們希望從真正的客戶(hù)需求、產(chǎn)業(yè)的痛點(diǎn),以及結合自身的特點(diǎn)出發(fā),做出一些真正有意義、有價(jià)值的創(chuàng )新。我們看到AI計算的現狀:首先是算法對算力的要求越來(lái)越高,但是AI芯片的計算效率還不夠,這個(gè)效率包括了能效比和面效比,也就是單位功耗所能提供的算力和性能,以及單位面積能提供的性能。第二,系統的帶寬瓶頸會(huì )導致計算資源的利用效率降低,如何有效地利用帶寬,提高計算資源的利用效率,會(huì )成為更大的挑戰。第三,算法還遠未達到收斂的程度。各種各樣新的算法還層出不窮,雖然最近Transformer類(lèi)的計算有一統江湖之勢,但是大家知道,真正端到端的AI計算所涉及到的計算范式還是非常豐富的。如何能夠在一個(gè)處理器內部完成端到端的AI計算,從而避免AI計算在不同的處理器核乃至不同芯片之間的數據傳輸,進(jìn)而減少數據的搬運和存儲的開(kāi)銷(xiāo)也是一個(gè)難題。基于此,我們希望借助獨特的存算一體技術(shù),給大家帶來(lái)一些AI計算的不同探索。先簡(jiǎn)單介紹一下我們公司,后摩智能是2020年底成立,2021年初正式運營(yíng)。2021年8月,我們首款技術(shù)樣片完成了設計和流片,并且完成了首款量產(chǎn)產(chǎn)品的產(chǎn)品定義。2022年3月,我們的技術(shù)樣片回片跑通了自動(dòng)駕駛的算法,完成了存算一體的技術(shù)驗證。同年10月,我們首款量產(chǎn)產(chǎn)品后摩鴻途?H30設計完成,進(jìn)行投片,2023年5月發(fā)布了第一個(gè)量產(chǎn)產(chǎn)品,后摩鴻途?H30。這就是我們今年5月份發(fā)布的后摩鴻途?H30存算一體的大算力AI芯片,大家在外面展臺也可以看到它的實(shí)物,它的算力是256TOPS。這里面說(shuō)的算力是物理算力,而不是稀疏化的算力,典型的功耗只有35W,這個(gè)功耗也是在跑實(shí)際算法過(guò)程中實(shí)測出來(lái)的。以上是對我們公司和產(chǎn)品的簡(jiǎn)單介紹,下面從存算一體技術(shù)、AI處理器架構和軟件工具鏈這三個(gè)方面來(lái)介紹一下我們公司成立兩年多來(lái)的工作。
02.基于定制化電路結構,實(shí)現高效存內并行計算


首先介紹一下什么是存算一體。概念上講,存算一體就是在存儲單元的內部,完成部分或者全部的計算,它是解決芯片性能瓶頸,提高能效比的有效技術(shù)手段。大家知道,在A(yíng)I計算過(guò)程中,大量的數據在存儲單元和計算單元之間交互,數據一行一行地從存儲器中讀取出來(lái),送到計算單元中進(jìn)行計算,再一行行地把結果寫(xiě)到存儲單元當中。這樣做的話(huà),訪(fǎng)存的功耗會(huì )急劇增加,并且會(huì )發(fā)生計算單元等待輸入數據的情況,從而降低了計算單元的利用效率。相比于卷積為主的神經(jīng)網(wǎng)絡(luò )模型,以矩陣乘為主的Transformer類(lèi)的計算,它的訪(fǎng)存和計算比例更大,這個(gè)問(wèn)題會(huì )更加嚴重。這張圖就是我們存算一體電路的架構框圖。淺色的部分是標準的SRAM電路,深色的部分是我們在它旁邊加入了一些定制化的電路結構,包括Activation Driver、乘法器、加法樹(shù)和累加器等等。這些定制化的電路結構和傳統的SRAM電路整合在一起,就可以實(shí)現高效的存內并行計算。存儲單元內部的數據可以在同一時(shí)刻一起讀出,這相比于一行一行的讀取方式,極大地提高了并行性。

圖片

計算電路緊挨著(zhù)存儲單元,數據被讀取出來(lái)之后,馬上就可以在原地參與乘加計算,數據在存儲單元和計算單元之間的傳輸開(kāi)銷(xiāo)也就相應地減少了。計算單元方面,我們的定制化電路和存儲單元的Bit Cell(存儲單元)電路完全融合在一起,帶來(lái)了更規整的電路結構,因而有更緊湊的電路設計,電路面積也就相應減少了。這里面的定制化電路,不管是存儲電路,還是乘法、加法、累加等等,都是純數字的設計,不會(huì )有任何計算的誤差。因為我們面向的市場(chǎng)是自動(dòng)駕駛,所以自然少不了車(chē)規方面的考慮,除了標準SRAM模式下的Memory BIST,我們還設計了用于計算模式的CIM BIST機制,CIM是Computing In Memory的首字母簡(jiǎn)稱(chēng)。我們還通過(guò)冗余設計,以及加入行和列修復電路,提高量產(chǎn)良率和可靠性。有了錯誤檢測機制和冗余設計,還可以在電路空閑時(shí),通過(guò)軟件的方式檢測并修復電路中可能出現的錯誤。我們還改變了傳統SRAM中Bit Cell的電路,消除了6T Bit Cell里的競爭現象,進(jìn)一步提高了可靠性和穩定性。這就是我們已經(jīng)發(fā)布的后摩鴻途?H30芯片里所采用的存算一體電路的一些規格參數,采用的是12nm工藝,單個(gè)AI核內的存儲容量已經(jīng)到了MB級別,在INT8全精度條件下能效比是30到150TOPS/W,30到150TOPS/W有一個(gè)范圍,是因為跟輸入數據相關(guān)的pattern 。面效比大于4TOPS每平方毫米,這是傳統電路的3倍以上。我們還支持軟硬件修復功能。目前我們已經(jīng)在12nm、16nm、22nm、28nm工藝下進(jìn)行過(guò)流片測試,7nm的測試樣片也已經(jīng)流片,明年會(huì )推出量產(chǎn)產(chǎn)品。
03.自研IPU架構,探尋集中式與分布式計算的“中庸之道”


有了這么好的存算IP核,怎么把它充分利用好,就是考驗AI處理器架構和芯片設計能力的問(wèn)題了。為此,后摩智能基于存算一體,專(zhuān)為萬(wàn)物智能而設計了IPU(Intelligence Processing Unit),并規劃了三代IPU架構:第一代命名為天樞架構,專(zhuān)門(mén)為智能駕駛打造的;第二代天璇架構,可以覆蓋更多的場(chǎng)景,從成本、面積、功耗都非常敏感的終端場(chǎng)景,到自動(dòng)駕駛,再到大模型等云端場(chǎng)景都可以覆蓋;第三代天璣架構的IPU,為通用人工智能打造的IPU。下面我將帶大家了解一下我們的IPU架構設計。首先是我們怎么思考AI處理器這件事的。在早期的時(shí)候,AI芯片通過(guò)堆積大量的計算資源,以提高并行性,從而提高性能。其典型的代表是左圖中特斯拉的FSD,采用集中式的存儲和計算架構,可以達到很好的性能提升。但是對于算力要求更大,靈活性要求更高的場(chǎng)景,如果只靠單純的堆砌更多的計算資源,到了一定程度后,由于物理實(shí)現的限制,或者輸入輸出數據的規模等方面的限制,計算資源的利用效率會(huì )急劇降低,因為單個(gè)任務(wù)計算并行性已經(jīng)無(wú)法匹配計算資源的并行性了。我把集中式計算和存儲架構類(lèi)似為建筑設計里面的中式庭院,向內圍合形成一個(gè)小院子,各種功能集于一身,使得人與人、人與自然可以高效地溝通,但問(wèn)題是院落面積終究是有限的,能容納的居住者數量也就有限,而且設計建造這樣的庭院開(kāi)銷(xiāo)和難度很大,因此可擴展性差。這時(shí)候一個(gè)自然的想法就是利用多核,或者硬件多線(xiàn)程的方式,如右中間的這個(gè)Tenstorrent Wormhole所示,這張圖和特斯拉的FST都出于一個(gè)人之手,這個(gè)人叫Jim Keller。他把算力很大的核拆成若干個(gè)小核。這樣做到極致,就是用眾多的CPU小核,在旁邊配上小塊的SRAM,組成一個(gè)二維陣列,業(yè)界也有人稱(chēng)這種架構為“近存計算”。

圖片

這樣做的好處是對物理實(shí)現非常友好,并且提供了非常靈活的編程性。但一個(gè)問(wèn)題就是對于終端推理,尤其是自動(dòng)駕駛這樣相對特定的應用場(chǎng)景,能效比和面效比比大核的形式差一些。這種分布式的計算和存儲結構,可以類(lèi)比為建筑設計里面西方的高層公寓,采用獨立簡(jiǎn)單的小單元,在三維空間上可以很好的擴展,能夠容納更多的人,但因為單元相對封閉,人和人之間的溝通就會(huì )比較差了。所以我們認為在單核或單線(xiàn)程可以調度的計算資源,與真實(shí)的可以利用的計算資源之間,存在一條Roofline的曲線(xiàn)關(guān)系。我們的設計邏輯就是找到這條Roofline曲線(xiàn)的拐點(diǎn),當遇到拐點(diǎn)的時(shí)候,再通過(guò)多核或者多線(xiàn)程的方式來(lái)擴展算力。這樣的設計理念類(lèi)似于融合了東西方建筑的特點(diǎn),先設計一個(gè)簡(jiǎn)單優(yōu)美的庭院,再保障了計算資源利用效率的同時(shí),再通過(guò)高層公寓的方式,在三維空間上靈活擴展算力。這張圖就是我們已經(jīng)推出的H30芯片里天樞架構IPU的架構框圖。大家可以看到我們的芯片里有4個(gè)IPU核,都掛在系統總線(xiàn)NoC上,每個(gè)核是完全一樣的設計。每個(gè)核又由4個(gè)Tile組成,每個(gè)Tile就對應了一個(gè)硬件線(xiàn)程。在Tile內部,包括了一個(gè)CPU、Tensor Engine、Special Function Unit、Vector Processor和多通道DMA。其中Tensor Engine就是由我們的存算電路和一個(gè)Feature Buffer,還有相應的控制電路組成。這些計算單元全部在CPU的調度之下進(jìn)行運行,CPU除了可以調度不同的計算單元之外,還可以進(jìn)行一些簡(jiǎn)單的靈活的,但是算力要求不高的計算。

圖片

這樣的架構使得AI計算不但不用在多個(gè)處理器,例如CPU、GPU、DSP之間分配任務(wù),甚至數據不用出AI核,就可以完成端到端的AI計算。從Memory Hierarchy的結構來(lái)看,整個(gè)系統包括了4級緩存,最外的緩存是片外的DDR,片內的第一級緩存我們叫L2緩存,是所有的CPU芯片都可以共享的緩存。L1的緩存就是Core內部一個(gè)共享存儲資源,Core內部所有的計算資源都可以共享這個(gè)Shared Memory。L0的緩存就是CIM,也就是存算單元。這四級的緩存都是可以被軟件分配和管理,這樣的設計使得軟件有更大的空間對不同類(lèi)型的任務(wù)進(jìn)行存儲空間的分配,從而減少數據搬運,并且更好地利用數據復用性。說(shuō)過(guò)了存和算,這個(gè)架構里還有一個(gè)重要的部分就是數據的傳輸。就像我們人和人之間需要更好的溝通一樣,計算單元之間,也需要非常靈活的共享數據和消息。因此,我們設計了專(zhuān)用的數據傳輸總線(xiàn),有了這個(gè)傳輸數據總線(xiàn),就可以靈活的在各個(gè)Tile,以及各個(gè)Core之間建立高速的直接的數據傳輸通道,而不需要通過(guò)系統的總線(xiàn)和緩存了。通過(guò)自定義的總線(xiàn),各Tile和各Core之間,可以非常靈活地組成不同的拓撲結構。我們的天樞架構IPU采用雙環(huán)的拓撲結構,四個(gè)Tile組成第一級的環(huán),四個(gè)核又組成第二級的環(huán)。AI計算里數據復用是一個(gè)很重要的特性,利用數據的復用性可以減少片外帶寬的壓力。因此我們設計了多播的傳輸機制,也就是說(shuō)一個(gè)Tile里的數據,可以通過(guò)一次DMA傳輸,廣播給需要這個(gè)Tile數據的所有的其他的Tile,而不需要多次重復地從同一個(gè)地址去讀取同樣的數據。多核加多播的傳輸機制,帶來(lái)的一個(gè)問(wèn)題就是數據和消息的同步問(wèn)題。例如Tile 0把數據傳給Tile1、2、3,然后四個(gè)Tile一起開(kāi)始一次計算,這類(lèi)的數據同步問(wèn)題其實(shí)是多線(xiàn)程編程里面經(jīng)常會(huì )遇到的問(wèn)題。我們通過(guò)專(zhuān)用的消息傳遞通道和同步機制,可以讓四個(gè)Tile乃至四個(gè)核(Core)在收到消息的同一時(shí)間一起開(kāi)始工作。大家看到,因為我們第一代IPU和H30芯片所用的核數和Tile的數量都比較少,14個(gè),它形成了環(huán)形拓撲結構。但如果我們根據算力的需要,把這個(gè)核的力度切得更小,或者當算力需要更多的核的時(shí)候怎么辦呢?在這里提前預告一下我們下一代的天璇架構的IPU設計:基于Mesh互聯(lián)的AI Cluster,它可以將計算單元靈活的配置成M行N列,根據場(chǎng)景需求,AI算力規??纱罂尚?。除了互聯(lián)拓撲外,存算電路CIM核的改進(jìn),我們自研的CPU和向量處理器的性能提升,針對AI算法更高效,尤其是大模型的計算,更加高效的SFU和數據傳輸機制,最終體現在更好的整體性能和靈活性。大家可以想象一下,如果這個(gè)二維陣列在二維空間甚至三維空間上繼續擴展下去,那么我們的芯片可以做些什么?總之,敬請期待。
04.提供2倍以上的真實(shí)算力,功耗可以降低50%


當然,H30 這樣一個(gè)大芯片,再加上純自研的存算一體電路,很多工程實(shí)現方面的挑戰需要解決,其中最關(guān)鍵的就是存算一體電路的特有驗證問(wèn)題、仿真加速及FPGA原型問(wèn)題以及電源完整性問(wèn)題。為了實(shí)現大算力存算一體電路的仿真驗證,我們打造了一個(gè)存算電路的行為模型,使其與真實(shí)的電路的行為完全一致,也就是做Formal 驗證。這么大算力大規模的電路,加速仿真驗證也是一大考驗。我們單核的 IPU 規模就已經(jīng)超過(guò)能找到的任何一款 FPGA 規模,所以我們團隊巧妙地將設計裁剪、分割 Partition 到多塊 FPGA。至于電源完整性的問(wèn)題,大算力AI芯片需要考慮動(dòng)態(tài)IR drop對性能的影響,特別是對于定制化存算電路,計算密度巨大,需處理IR drop問(wèn)題及其對周邊電路的影響。我們采取多種方法降低峰值電流影響,因為存算電路與標準電路不同,無(wú)法按標準電路要求進(jìn)行Sign-off。這是我們H30芯片的架構框圖和芯片規格。主要的規格參數包括256TOPS INT8精度的物理算力,DDR帶寬128GB/s,16路FHD的編解碼,8x PCIe4.0接口。典型功耗35W,采用12nm工藝。

圖片

我們通過(guò)底層的存算電路和AI處理器架構的創(chuàng )新,帶來(lái)性能指標上的突破。這是我們12nm芯片和某國際巨頭7nm芯片的性能和功耗對比,在同樣功耗下,我們的H30芯片可以提供2倍以上的真實(shí)算力,端到端的AI計算能力;在同樣的性能條件下,我們的功耗可以降低50%。上面講完了硬件架構設計,相當于我們的芯片有了一個(gè)強健的身體,下面介紹一下我們芯片的靈魂:編譯器和工具鏈。我們的芯片采用HDPL語(yǔ)言編程,即Houmo Data Parallel Language的縮寫(xiě),它是我們對主流并行編程模型的擴展,能高效的解決數據并行問(wèn)題,并且支持消息傳遞機制。我們的Tile內部是由異構的計算單元組成的,采用SIMD的編程模型,而Tile間以及IPU核間是同構的,采用SIMT的編程模型。我們出色的軟件工具鏈工程師已經(jīng)把剛才講到的Tile間和核間數據共享和消息傳輸的復雜機制都封裝了起來(lái),用戶(hù)可以很容易地用我們的模型開(kāi)發(fā)SDK,或者算子開(kāi)發(fā)SDK,在我們的IPU上進(jìn)行軟件和算法的開(kāi)發(fā)。其中模型開(kāi)發(fā)SDK允許用戶(hù)使用我們的算子庫進(jìn)行模型和算法的開(kāi)發(fā)。算子開(kāi)發(fā)SDK則允許用戶(hù)開(kāi)發(fā)自己的定制化算子。編譯優(yōu)化方面,除了常用的不同計算單元之間可以以流水的方式并行以外,我們的每個(gè)Tile,以及每個(gè)Core之間,也可以獨立并行執行不同的任務(wù),也可以將一個(gè)任務(wù)切分到不同的Tile,或者不同的核上,并且以Pipeline的形式并行。例如對CV類(lèi)的處理,在追求Throughput,也就是高吞吐率的場(chǎng)景下,可以讓一張輸入圖片,同時(shí)進(jìn)行多個(gè)網(wǎng)絡(luò )的計算,也可以讓多張圖片在多個(gè)Title或者多個(gè)核上,同時(shí)進(jìn)行同一個(gè)網(wǎng)絡(luò )的計算。在追求低延時(shí)的場(chǎng)景下,可以將一張大圖拆成若干份,同時(shí)利用多個(gè)Tile,或者多個(gè)Core的算力進(jìn)行計算。在2D Mesh的拓撲結構下,任務(wù)的流水線(xiàn)是在2維空間,甚至未來(lái)會(huì )在3維空間上進(jìn)行流水,這也就是類(lèi)似Spatial Computing(空間計算)的概念。H30芯片在一些現在最先進(jìn)網(wǎng)絡(luò )已經(jīng)有視頻效果呈現,包括激光雷達的一個(gè)處理網(wǎng)絡(luò )、BEV的網(wǎng)絡(luò )。我們的第一代量產(chǎn)產(chǎn)品后摩鴻途?H30現在已經(jīng)可以提供給客戶(hù)送測了;第二代產(chǎn)品預計2024年可以提供給客戶(hù)。以上就是我分享的全部?jì)热?,謝謝大家!以上是陳亮演講內容的完整整理。


*博客內容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀(guān)點(diǎn),如有侵權請聯(lián)系工作人員刪除。



關(guān)鍵詞: 后摩智能

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>