原粒半導體原鋼:大模型加速奔向邊緣端,AI Chiplet成部署新選擇丨GACS 2023

2023-10-23     芯東西

原標題:原粒半導體原鋼:大模型加速奔向邊緣端,AI Chiplet成部署新選擇丨GACS 2023

芯東西(公眾號:aichip001)

編輯 | GACS

9月14日~15日,2023全球AI晶片峰會(GACS 2023)在深圳南山圓滿舉行。在首日開幕式上,原粒半導體聯合創始人原鋼分享了題為《AI Chiplet:加速大模型在邊緣端多場景落地的新思路》的主題演講。

由於大模型蒸餾技術得到了充分發展,超大模型可以生成一系列適合邊端的小模型,取得接近於大模型的效果。而說到大模型邊緣端部署,一定離不開晶片的支持。原鋼談道,面對大模型,當下的邊緣端晶片面臨挑戰,涉及模型演進、存儲容量、帶寬、互連、功耗、方案成本、多變需求、研發成本、研發周期等多個方面。

對此,原粒半導體的思路是用AI Chiplet的方法應對,把SoC算力跟NPU(神經網絡處理器)的AI算力解綁,再靈活組合出邊緣端晶片,以適配邊緣端大模型的推理要求。目前,原粒半導體已研發出多模態算力核心CalCore技術,支持企業將大模型部署在端側;以及自適應算力融合CalFusion技術,自動分配芯粒以捆綁不同的算力。

以下為原鋼的演講實錄

大家下午好,我叫原鋼,來自原粒半導體。今天很感謝主辦方邀請我能來參加活動,我們主要是想分享一下大模型在邊緣端側的一些想法。

我這次主要報告大概分成三個部分:一是邊緣端大模型晶片機遇和挑戰,二是如何用Chiplet推動邊緣端大模型部署,最後是原粒半導體在AI Chiplet方面所做努力或者想法。

一、大模型奔向邊緣端,AI晶片面臨九大挑戰

第一部分,邊緣大模型AI晶片機遇和挑戰。就在幾個月之前,基本上大家談到大模型還是大語言模型,無論是ChatGPT,還是百度文心一言,以及阿里、騰訊、科大迅飛的(大模型),大家都是在雲端做大模型的推理。在雲端推理,並不適合每一個場景,有很多場景需要在邊端推理。

這裡總結了四個典型問題:

第一,在雲端推理,當你用戶的數目激增的時候,基本上雲端伺服器的成本,無論是部署成本還是最後的運營成本,總成本都會得到很大的提升。根據CNBC報道,微軟在Bing里已經集成了ChatGPT的引擎,如果想滿足所有Bing客戶的請求,想得到一個很好的響應,大概要部署16萬塊A100,投資40億美元,並不是每一個創業公司都有能力、有足夠的成本覆蓋這部分的投入。

第二,大模型對網絡要求非常強。有很多場景不可能時時刻刻有聯網,典型就是車,因為車在城市裡開問題不大,一旦開到郊區,開到無人區或者越野,大機率網絡會時有時無,甚至山里很可能沒有網絡了。無論是座艙還是自動駕駛,如果是高度依賴雲端推理,我想在車領域是很不適合的。

第三,雲端無論是因為算力的漲落還是因為網絡延遲,總會造成控制網絡的延遲。比如谷歌演示的通過大模型演示機械手,如果依賴雲端的推理,很可能在機械手操作過程中出現卡頓,甚至出現更多的錯誤,這對於機械手來說是絕對不能接受的。

第四,雲端安全問題。有很多場景是非常明顯的,像醫院會有很多病歷,對於他們來說都是非常高的精密數據,他們大概不會把它傳到雲端去做推理。大模型很大的應用是對於已有文檔的推理或者歸納,產生一些新的報告,比如讓它閱讀以往的文件、產生綜述或者分析以往病歷、推理病的診斷。這個情況下如果把之前積攢的模型全部放到雲端,這對很多特殊場合肯定是不能接受的。

最近兩三個月來,可以看到整個大模型在加速地奔向邊緣端。因為目前大模型蒸餾技術得到了充分的發展,使用原來預訓練超大模型,通過對應的辦法,生成一系列適合邊端的小模型,就能取得接近於大模型的效果。

右邊列了比較典型的例子,類似於Meta已經推出7B、13B、70B,最早是3B。這種模型,如果進行量化,比如量化成INT4之後,它很適合在邊緣端設備上部署的。

我們也看到最近兩個月,無論是高通還是蘋果,都已經嘗試在他們的手機上部署大模型。左邊結構是我自己iPhone的截圖,它跑的是7B模型,達到了相對比較好的結果。當然可能跟雲端ChatGPT沒法比,但是我感覺如果對一些垂直領域的應用來說,可能不需要回答一些哲學問題,只是讓它回答簡單的問題,還是高度可用的。

既然說到大模型要到邊緣端,一定會有晶片。本身在邊緣端大模型晶片,現在多數是SoC。如果你為邊緣端推理部署一些晶片,我們大概總結了一些困境或者一些需要考慮的問題:

第一,模型演進。整個大模型的演進複雜度遠超原來CNN算法複雜度,而且算法不斷疊代。包括Transformer本身,很可能不久將來對基礎的結構也會替換掉。這樣就要求當我們做晶片設計,比如AI IP的時候,就不能說針對某一個模型做優化,很可能當你晶片出來之後就已經過時了,不能支持最新的算法。

第二,存儲容量。大模型的容量遠遠超過之前傳統CNN的模型。最小的大模型,就算是3B,如果不量化,大概也有3GB容量,已經超過很多經典SoC能支撐的容量。

第三,帶寬。如果拿大模型做語音推理,基本上每吐出一個字/詞就要把整個模型完整地Round一遍。如果達到一秒鐘吐出10個詞,如果用一個3GB模型,整個SoC帶寬至少要30GB,才能夠支持這麼一個推理。

第四,互聯。如果跑很大的模型,很可能一個晶片不能完成。就像剛才嘉賓講的,他們是用芯粒的方式,可能會用多個芯粒或者多個晶片完成一個大模型的推理。對於大模型怎麼拆分,拆完之後你認為怎麼分配、算力怎麼部署,會有很複雜的考量。

第五,功耗。邊緣端最看重功耗。因為在雲端,功耗就是成本問題,無非是對各種散熱方法,可以承受。英偉達最新的H100或更高的卡,可能已經到700W功耗,這對數據中心來說不是什麼大問題,但是作為邊緣端,基本功耗超過10W就加風扇了。加風扇,一是有噪音,二是風扇可靠性會有問題,所以邊緣端,功耗是非常重要的因素。

第六,整個方案的成本。比如你要搭配不同的算力,成本是決定大模型在邊緣端能不能真正大批量鋪開一個非常關鍵的因素。因為很多應用,大模型本身是做一個賦能,如果成本太高,去做市場推廣也是很不利的。

第七,多變需求。大模型的尺寸可能既有不到3B,又有超過10B甚至100B,很可能你需要在不同場景部署不同的尺寸大模型。這樣就要求你,很難用統一的標準或者幾個標準的規格SoC去覆蓋這一系列模型,因為這樣對於成本不是特別划算。最好的是給每一個算法或者每一個模型尺寸專門去配一個SoC,這對於研發來說成本是不能接受的。

最後兩項:一個是研發成本,一個是研發周期。現在一個SoC,如果12納米,基本上在1000萬到2000萬美元之間,連IP到後端可能才能拿下來,周期基本18個月,連前端驗證+後端+整個軟體開發。如果你想開發太多規格的SoC,無論是周期還是成本,都是很難承受的代價。

二、AI Chiplet :邊緣端大模型部署新選擇

下面講講我們如何去破解剛才提到的問題,我們的思路是用AI Chiplet的方法進行應對。

首先拿桌面遊戲的PC舉例,因為我是很多年電腦遊戲的玩家。我們在學校去配一台遊戲電腦,CPU沒什麼太多可選的。現在我們就用一顆i5 13500或者i7 13700,就能滿足絕大部分的要求,主要成本或錢就花在顯卡上。玩一些網遊顯卡需要兩千,主流遊戲可能要三千到四千,骨灰級遊戲可能要一萬多,就是英偉達的4090。依此類推,基本上CPU跟主板變化是非常小的。主要對遊戲來說,CPU都不是瓶頸,真正瓶頸在顯卡。

我們拓展到邊緣端是一樣的,現在很多邊緣端應用,SoC或者是Arm,它的能力都足夠覆蓋大模型處理需求,真正差別在於NPU本身。我們可以參照PC端情況,我們把SoC和NPU也進行解綁。像這邊,也是對應左邊三個顯卡,也是列出三種NPU Die的組合。

比如我們拿一個SoC配合輕量級NPU,它就可以處理一些比較輕量級的AI任務。拿SoC配一顆中量級的NPU Die,就可以處理稍微複雜的工作。把同樣一個SoC去配兩顆NPU Die的組合,就可以處理非常重的任務。這是把算力跟NPU解綁的過程,可以很靈活各種方案適配邊緣端大模型推理的要求。

我們是用NPU、用芯粒來解決問題,怎麼做呢?說起來簡單,其實有很多問題要考慮,尤其是成本。由成本,又引入了互連、存儲、擴展三個方面。

首先看互連,因為現在NPU基本是基於MR總線或者基於其他的總線,它是很寬的一個並行接口。如果簡單把它移到片外,等於你要應對幾千條很高速的連接才能跟CPU進行連接。對於封裝甚至最高級的封裝是不能接受的,所以必須把接口進行轉換。但是轉換就有很多不同的選項,包括USB也有很多不同的選項。不同的選項,決定它有不同的成本,包括方案,2D封裝還是2.5D封裝?一個基板,到底是5美金還是20美金?這個會差得非常大。

當我們芯粒跟SoC互連,目前的情況主要是,市面上的SoC或者已經做好的SoC的設計都不會有專用的die-to-die結構,還是用通用的PCIe或者USB接口。如果把NPU從CPU中剝離,如果用專用結構,整個設計要重來。如果已經有現成的一顆SoC,不想重來怎麼辦呢?就可以用USB或者PCIe接口,跟主晶片進行互連,這樣可以很快地得到一個全新的設計。

然後存儲,這主要是說AI Chiplet到底是自帶DRAM還是主SoC的DRAM?因為現在多數主流SoC本身DRAM的位寬不是很寬,最大的也是將將應對大概7B大模型的支持。我們如果去選擇用共享來做DRAM,它的好處是成本,整個方案可能只用同一個DRAM,但是它會搶主SoC帶寬。尤其同時顯示,顯示要不斷刷屏。如果用大模型推理,再去搶主SoC帶寬,會對原來功能形成衝擊。這塊要平衡一下,到底RAM是放在主晶片,通過總線共享,還是每個AI芯粒要自帶一個DRAM?

然後是擴展,擴展主要指的是到底是從頭為了把AI芯粒拆分出來,重新設計一顆?還是儘量藉由現有的SoC設計,只去疊代推出一個方案?如果是AI Chiplet,面臨多芯粒互聯的問題,因為芯粒最大的好處是堆疊不同數目的Die、不同種類的Die,來實現迅速的新方案,所以互聯也是它難以避免的話題。

三、原粒AI Chiplet,助力SoC廠商拓展大模型邊緣端應用

下面簡單給大家彙報一下我們原粒半導體在AI方面的進展,還有我們一些想法。

首先給大家介紹一下,我們公司成立也不太久,我們所有核心成員都是來自於國內、國外頂級的晶片公司。整個團隊在AI方面的經驗有很多年的時間,一直專注於AI芯粒本身。我們公司的目標是專注於AI芯粒本身,配合其他成熟或者現有的廠商,提供做大模型算力的支持。

我們主要提供下面四類產品:第一,標準AI Chiplet產品,翻譯過來就是買Die。第二,我們會把AI Chiplet做封裝,提供給客戶。因為有些客戶是沒有封裝設備能力,可能它有一個晶片但是不希望進行合封,因為種種原因可能不太適合合封,我們可以把我們的Die封成晶片,在PC板上跟它進行連接。第三,我們會做一些定製化AI Chiplet封裝,主要是兩方面,一是AI Chiplet規格,比如客戶需要多少算力、需要什麼樣的接口,我們可以定製;二是可以通過客戶所需要的算力,去搭配不同數目的AI Die,給客戶提供類似的選擇。最後,AI應用開發軟體棧,畢竟也是我們一個異構的AI處理器,肯定是需要有一些配套的軟體開發棧完成客戶的設計。

這邊主要介紹我們公司兩個核心技術,一個是重中之重,多模態算力核心。無論是對於傳統CNN算法,還是對於目前大模型、未來多模態算法,都能提供很好的支持。它為了支持未來的這些算法,儘量提高兼容性,做了從INT4、INT8、FP8等全精度的支持,便於客戶把它在顯卡上所訓練好的模型直接部署到我們晶片中。

第二個是跟AI Chiplet結合很緊的自適應算力融合技術,這也是跟芯粒概念息息相關、緊密捆綁的,必須得做一個不同拓撲結構的支持。我可能會根據不同算法要求或者不同應用場景,去捆綁不同的算力。同時,不同芯粒之間可能也會用不同的拓撲方式。如果你讓客戶根據拓撲結構編程、定製,我想體驗會非常差。我們這邊所有的軟體和硬體是支持拓撲自適應的連接,無論芯粒配了多少顆,用什麼樣的拓撲,會自動把它進行分配,包括協調芯粒之間的連接。

當我們有4個芯粒組成的系統,怎麼動態分配它的連接還有算力?左邊是基於Tranformer大模型的一段,比如這個模型非常大,無論它的容量還是算力都不足以被一顆算力所支撐,我們會把它拆成兩段,把它放在兩個芯粒,甚至拆成更多的段。當然,這個工作都是由編譯器、運行時自動完成的。

如果是右邊的案例,這是稍微比較經典的CV視覺任務。當我們一個芯粒能處理超過一個模型的時候,會把我們輸出數據最合理地分配到不同的芯粒之間,實現一個更高的效果。我們支持通過分景模型、分景任務,自動分配。無論是對於模型切分,還是對於任務進行切分,都是能完成的。

另外強調一點,目前看到的一些新的應用或者新的場景,是對於本地大模型微調的需求。以後大模型更多是垂直領域,無論是律所還是醫院,甚至更加小眾的,他們大概的模式是去下載預訓練大模型,結合本地一些數據,然後做微調,去匹配,在本地進行更符合本地業務的推理,這也是未來大模型非常典型的應用。

傳統的方法怎麼做的?我拿大模型,在雲端或者在大伺服器上,針對本地的數據進行微調。因為芯粒支持多精度計算,我們是支持在邊緣端針對本地採集的數據進行微調。我們把大模型微調的位置從伺服器或者從客戶中心轉移到邊緣端設備,這未來一定會創造很多新的應用場景。

基本上每家做晶片都會有,配合AI Chiplet一定會有一套軟體。這跟別家不一樣,對多芯粒之間拓撲的支持。無論你的算力是多少、你的配置多少,一定會有一個配置,如果你要求客戶自己根據硬體連接做特殊編程,一定會有非常差的體驗。我們從供應鏈、運行時的角度,能夠根據你的配置、算力、任務需求自動分配,完全是透明的,用戶看到的就是算力大了很多。比如我們用了4個芯粒,用戶看到就是算力×4統一的接口,不會按照4個NPU的方法去編程。

為了加快產品落地,也是為了儘量重用市場現有SoC廠商的產品,我們為一些成熟SoC產品做優化。主要是這幾塊:

第一,我們是會用標準的接口搭配現在已經成熟的SoC,無論是市場上買到的還是未來的發布,大多數可能具備PCIe或者USB接口。

第二,芯粒互連,我們採用的是多模態die-to-die接口。多模態指的是既支持在同一個封裝上進行多模態集成,也支持多個晶片在PCB上進行互連。這樣的好處是,用戶可以通過最大的靈活性滿足要求。因為我們重做一個封裝至少要6個月時間,從設計到打樣、量產,畢竟還要去調測程序,還要做很多事情。但是重做一個PCB,最快一個月時間可以完成一個生產。為了能夠滿足儘量多樣化配置和規格需求,也儘量縮短研發時間,我們採用了既支持多Die在統一封裝形式,也支持PCB級擴展的模式。

我們放了很多異構核心,主要考量我們想儘量降低對主晶片算力的需求,採用最低端的CPU也可以通過配合AI芯粒完成大模型的推理。

我們也會支持一些可選非易失性存儲器接口,主要是考慮當配合一些很低端CPU的時候,可能不具備高速的Flash接口。我們會在芯粒內部會支持這麼一個加載,其實也是變相減輕了對主CPU的需求。我們還是採用2D封裝,儘量滿足成本需求,沒有採用2.5D封裝。

給大家彙報一下我們目前的產品規劃。

這是我們第一代產品規劃,單芯粒數+TOPS INT8等效算力,支持多芯粒擴展數十至數百TOPS INT8等效算力;支持FP32/FP16/BF16/FP8/INT8/INT4等AI精度;我們是支持高效訓推一體架構,支持通用運算元及自定義運算元。

在互連方面,我們支持die-to-die方式,也支持通過PCIe和USB等方式互連。支持不同位寬不同數目的位置,滿足不同場景的需求。這是我們推出的標準封裝片產品,包括封了1個Die、2個Die,還有4個Die的。

我們列了一些現在主流上能買到的SoC規格,至少是A53、A55起。我們認為這些SoC跑大模型足夠強,它們有足夠數目的視頻接口,也有足夠規格的硬體接口,是跑編程大模型一個很完美的CPU配置。只要去搭配原粒現有的AI Chiplet,很快可以實現邊緣端大模型推理方案。

最後給大家講一下我們的願景,我們的願景是聚焦高性價比、多模態通用AI Chiplet研發。我們目標是配合現有SoC廠商,一起合作供應推出大模型邊緣端方案。我們的遠景是做一個最全面AI算力基礎設施供應商。我的報告到這裡,謝謝大家聆聽。

以上是原鋼演講內容的完整整理。

文章來源: https://twgreatdaily.com/zh-mo/5c18517ac23e9d2cb64f536cf5bf362a.html