芯東西(公眾號:aichip001)
編輯 |? GACS

9月14日~15日,2023全球AI芯片峰會(GACS 2023)在深圳南山圓滿舉行。在次日高效能AI芯片芯片專場上,邁特芯創(chuàng)始人兼首席執(zhí)行官黃瀚韜,分享了主題為《面向大模型的高能效并行存算大算力芯片》的主題演講。

在算法方面,黃瀚韜認(rèn)為,通過用更低的bit來表示GPT-3的主要數(shù)據(jù),可以將大模型參數(shù)規(guī)模變小,從而實(shí)現(xiàn)在較低功耗的邊緣和端側(cè)運(yùn)行。邁特芯可在ChatGLM2-6B大模型上用INT4和INT2算力,達(dá)到跟ChatGLM2-6B FP16相當(dāng)?shù)耐评硭健?/p>

在架構(gòu)方面,邁特芯從算法角度來探索硬件設(shè)計,針對大模型算法搭建立方單元架構(gòu),通過立方脈動陣列實(shí)現(xiàn)高強(qiáng)度并行計算,其解決方案能兼顧高通量和低功耗。

以下為黃瀚韜的演講實(shí)錄:

各位領(lǐng)導(dǎo),各位嘉賓,很榮幸站在這里跟大家介紹我們公司新做的面向大模型的高能效存算算力芯片。我是邁特芯的創(chuàng)始人兼CEO。

一、算力需求迅速增長,需要高算力硬件支持

首先是從AI算力超摩爾進(jìn)程的背景開始思考。基于AI、ChatGPT的大模型的用戶數(shù)量增長是顯著的,算法是基于大模型算法,參數(shù)是每兩年增加240倍,算力也是增加了750倍。因?yàn)閺?fù)雜的計算和參數(shù)量,導(dǎo)致它算力的需求是非常大的。每兩年750倍算力需求的增長,其實(shí)是遠(yuǎn)超原本摩爾定律的增長,在大算力市場上是有一個非常大的算力需求。

從另一個角度看到,現(xiàn)在國內(nèi)沒有辦法買到英偉達(dá)的A100。從全球市場來看,全球市場云服務(wù)商像CoreWeave,這是英偉達(dá)投資的云服務(wù)商,也是沒有辦法獲得足夠的GPU提供云服務(wù)。所以,算力市場還是很值得大家去探索的。

邁特芯黃瀚韜:自研立方脈動架構(gòu),已開發(fā)三款X-Edge芯片并實(shí)現(xiàn)大模型高效能并行存算丨GACS 2023

另外一個角度,現(xiàn)有的方案比如基于GPU的方案,它是一個高碳的硬件算力方案。以A100為例,它的功耗達(dá)到了400W的水平,這樣的功耗對建立一個AI數(shù)據(jù)中心是很有挑戰(zhàn)的。比如說,我們想建一個千張GPU卡的數(shù)據(jù)中心面臨一個問題,要給它提供1兆瓦功率的供電,意味著每天的運(yùn)營成本是很顯著的。

另一個例子,以Meta Llama模型來做訓(xùn)練為例,訓(xùn)練一個Llama模型是需要2000多張A100的卡,同時也要調(diào)參做訓(xùn)練搞5個月。在這個過程中已經(jīng)消耗2600MWh電量,換算成碳,已經(jīng)花了1000噸的碳。邁特芯的初衷是希望做一個低功耗的芯片,把功耗降下來,把碳降下來,讓社會更加環(huán)保、低功耗、可持續(xù)。

從另一個角度以現(xiàn)有GPU Google來看。在2016年谷歌提出TPU,TPU工作主要是用來做CNN、做推薦系統(tǒng)。隨著2016年、2019、2020年、2022年TPU的V3、V4這幾代迭代,我們看到了基于Transformer的算子不只有大模型,Transformer架構(gòu)計算的比例是逐步增加的。

到2022年為止,已經(jīng)有57%TPU算力都是用在Transformer的模型。大模型應(yīng)用Transformer逐漸成為數(shù)據(jù)中心的核心計算。如果做一個專用的模型AI加速器,在做好Transformer的基礎(chǔ)上,再把CNN做好,那是一個非常值得的放在數(shù)據(jù)中心主要的計算硬件。

二、大模型參數(shù)來源與應(yīng)對量化技術(shù)挑戰(zhàn)的兩大方向

既然聊到大模型,我們就追根溯源,從大模型的第一步開始,就是這篇論文谷歌的Attention?Is All You Need。這篇論文提出來的時候還沒有什么大模型,主要是解決了當(dāng)時翻譯不準(zhǔn)的問題,所以它這里提出了一個Encoder架構(gòu)和一個Decoder架構(gòu)。

Encoder架構(gòu)是做語義理解,現(xiàn)在的Bert模型也是用Encoder架構(gòu)做語義理解。Decoder模型是做文本生成,逐漸擴(kuò)展到回答各種各樣的問題。在Decoder方案上,OpenAI進(jìn)行了擴(kuò)展,提出了GPT-1、GPT-2、GPT-3,逐漸到現(xiàn)在看到的GPT-3的1750億參數(shù)的規(guī)模。仔細(xì)看GPT-3模型,其實(shí)它還是在Transformer Decoder框架里進(jìn)行擴(kuò)展的,無非是深度更深一些,模型更寬一些、更大一些。

邁特芯黃瀚韜:自研立方脈動架構(gòu),已開發(fā)三款X-Edge芯片并實(shí)現(xiàn)大模型高效能并行存算丨GACS 2023

接下來看一下1750億參數(shù)的來源。首先就是Embedding的操作,Embedding操作就是一個lookup table的過程,找矩陣lookup的過程。這個事情很簡單,沒有太多的計算。Attention的部分也沒有什么變化,有4個全連接的層,每一層都有12288的維度,它就是一個很大維度的矩陣層,它有4個。Feed Forward又是一個矩陣層,是一個12288×4×12288的很大矩陣層,F(xiàn)eed Forward連接層是有2層。這個模塊是重復(fù)了96次,一疊加就得到了一個接近1750億參數(shù)的大模型。

我們看到1750億參數(shù)大模型主要的數(shù)據(jù)都是權(quán)重,而且權(quán)重已經(jīng)是獲得的,在我們做推理的時候。如果能把權(quán)重用更低的bit來表示,我們就能獲得一個比較好的、比較高效的存儲,實(shí)現(xiàn)我們大模型在端側(cè)、在邊緣進(jìn)行計算的方案。

說到量化,上面先給大家舉了一個例子,量化的技術(shù)就是把本來的浮點(diǎn)映射到需要的定點(diǎn)的個數(shù)。這里的定點(diǎn)是4bit,假設(shè)它是0~15,就可以把這樣的浮點(diǎn)直接映射到0~15的數(shù)字范圍內(nèi)。

邁特芯黃瀚韜:自研立方脈動架構(gòu),已開發(fā)三款X-Edge芯片并實(shí)現(xiàn)大模型高效能并行存算丨GACS 2023

做量化技術(shù)最大的挑戰(zhàn),就是如何在保證大模型準(zhǔn)確率的前提下盡量量化。因?yàn)檫@樣的問題提出了兩個方向:第一個方向,用更細(xì)顆粒度的量化技術(shù)。在AI部署的過程中看到在量化技術(shù)上,從每一層per-layer的量化技術(shù)整個權(quán)重是一個min max,是一個scale parameter量化的參數(shù),變成是以per-channel矩陣每一列是一個量化參數(shù)。直到現(xiàn)在,變成的是基于組的量化參數(shù),顆粒度更小,因?yàn)榱炕瘞淼恼`差就會更小。

第二個技術(shù)方向,看的是層間多精度量化??梢钥吹接疫叺膱D,這個圖的表達(dá)意思是說在大模型,一個96層多層間的模型結(jié)構(gòu)之間,不是每一個層都是同樣重要的。在不同的層之間,還是可以做一些取舍的。這里舉例,有些層可以用2bit做,有些層可以用4bit做,有些層如果為了保持精度的極限一點(diǎn)也不丟失是可以用8bit來做的。在不同層間,做了一個精度混合,通過這種方式來保證精度沒有丟失。

我們公司做了一個實(shí)驗(yàn)驗(yàn)證,在ChatGLM2-6B清華開源的大模型上,用88%的INT4和12%的INT12,可以達(dá)到跟ChatGLM2-6B?FP16相當(dāng)?shù)囊粋€推理水平。這個推理水平也不是我說得,是用ChatGPT打分打到的。

三、創(chuàng)新立方脈動架構(gòu),以此開發(fā)X-Edge三款芯片

聊過了算法方向的東西,再回來看架構(gòu)。硬件的設(shè)計是為算法服務(wù)的,所以總是要從算法角度來探索怎樣設(shè)計這樣的硬件,會為算法提供更準(zhǔn)確、更快速的服務(wù)。在這個角度上,首先借鑒了行業(yè)的老大GPU。GPU的架構(gòu),就是以標(biāo)量單元、矢量單元、立方單元三種單元構(gòu)成的一個既有靈活性又有高吞吐量的計算方案。

從我們的角度來說,針對大模型、大算力,標(biāo)量單元、矢量單元可以不要,專心把立方單元做好。立方單元就是一個面的矩陣和另一個面矩陣進(jìn)行快速的乘加。

邁特芯黃瀚韜:自研立方脈動架構(gòu),已開發(fā)三款X-Edge芯片并實(shí)現(xiàn)大模型高效能并行存算丨GACS 2023

在立方并行計算層面,首先是推出自己立方脈動架構(gòu)。這個立方脈動架構(gòu)是以3×3矩陣層為例,當(dāng)3×3如果排列的序列夠多的時候就可以看到是兩個面和兩個面進(jìn)行乘法,構(gòu)成了一個高能效的架構(gòu),立方脈動架構(gòu)。

右邊是我們自己設(shè)計的存算單元,由9個transistor(晶體管)+1個capacitor(電容器)構(gòu)成的。我們的思路是先實(shí)現(xiàn)一個立方脈動基于傳統(tǒng)數(shù)字的架構(gòu),再通過一個存算的SRAM計算單元進(jìn)行替代,實(shí)現(xiàn)一個既有高通量又有低功耗的解決方案。

在此基礎(chǔ)上邁特芯開發(fā)了三款芯片,分別是X-Edge多精度芯片、多稀疏芯片、存算芯片。今天專注的是在存算芯片,不過前兩個我也會稍微介紹一下。

邁特芯黃瀚韜:自研立方脈動架構(gòu),已開發(fā)三款X-Edge芯片并實(shí)現(xiàn)大模型高效能并行存算丨GACS 2023

多精度芯片就是探索在模型之間可以有不同的精度,比如有1bit精度、2bit精度、4bit精度、8bit精度。不同的精度,可以探索不同層間分配不同的精度。在分配不同精度的同時通過神經(jīng)網(wǎng)絡(luò)搜索的算法、后續(xù)的量化算法,實(shí)現(xiàn)精度沒有丟失。搭配我們硬件的支持,可以做到比較好的接近8TOPS/平方毫米的面效比,也是可以做到24TOPS/W能效比。

第二個角度,做的事情就是稀疏。稀疏的角度看到的權(quán)重就像人的大腦一樣,不是每個神經(jīng)元都同等重要,有些神經(jīng)元從未被激活過,所以對神經(jīng)網(wǎng)絡(luò)來說,有些神經(jīng)元也是可以通過算法把它稀疏掉。在這個角度上,充分利用神經(jīng)網(wǎng)絡(luò)連接的冗余度,實(shí)現(xiàn)更高的峰值面效比。對于存算來說,就是充分利用計算單元架構(gòu)創(chuàng)新提高它的能效。在這個能效上,我們達(dá)到了100TOPS/W的效果。

這一頁是我們整體架構(gòu)。從架構(gòu)來說,在實(shí)踐層面上沒有過多的創(chuàng)新。我們的核心創(chuàng)新點(diǎn)就是立方脈動陣列方向,就是中間這塊有一個立方脈動陣列,能快速做好矩陣乘法。與此同時,我們也有做矩陣Transformation的操作,比如進(jìn)行轉(zhuǎn)制、變換、拼接、短連接的工作。對于這些非線性的操作,像LayerNorm、Softmax、Gelu,是使用FP16精度高一些的方式實(shí)現(xiàn)的。其中靈活存儲管理的方向是通過片上的儲存,盡量提高數(shù)值的復(fù)用,降低對帶寬的需求。這是整體的架構(gòu)設(shè)計。

邁特芯黃瀚韜:自研立方脈動架構(gòu),已開發(fā)三款X-Edge芯片并實(shí)現(xiàn)大模型高效能并行存算丨GACS 2023

這一頁是我們現(xiàn)在存算芯片的指標(biāo)。目前這一版芯片能達(dá)到15TOPS峰值結(jié)果,平均的準(zhǔn)確率是69.9%。下面是有跟英偉達(dá)A100表格進(jìn)行對比,它的準(zhǔn)確率是70.43%,我們是69%,準(zhǔn)確率的差別在大部分應(yīng)用場景上是可以接受的,這也是可以通過進(jìn)行多層間量化技術(shù)進(jìn)行彌補(bǔ),實(shí)現(xiàn)精度是沒有丟失的。

其它的,我們的峰值面效可以達(dá)到900TOPS/W。在這個神經(jīng)網(wǎng)絡(luò)上的平均能效是107.58TOPS/W。我們也進(jìn)行了臺積電28納米SRAM的流片。右上角是我們版圖和芯片圖。

四、大算力芯片在大模型、3D重建、X+端邊緣平臺三方面應(yīng)用

聊到大模型,就聊到了應(yīng)用。從應(yīng)用角度看,我們認(rèn)為做大模型的應(yīng)用,最后要做到100~1000TOPS。因?yàn)槲覀冞€是一個初創(chuàng)公司,走在這個路上還正在努力走下去。在這個方向上,現(xiàn)在做到努力支持的就是支持清華ChatGLM2-6B的模型。

邁特芯黃瀚韜:自研立方脈動架構(gòu),已開發(fā)三款X-Edge芯片并實(shí)現(xiàn)大模型高效能并行存算丨GACS 2023

這個模型里面有自己的矢量數(shù)據(jù)集支持。矢量數(shù)據(jù)集這點(diǎn),就是用來支持不同專業(yè)領(lǐng)域的知識可以保存在移動端的設(shè)備上,通過這個支持來提供一些專有化能力的回答。第二,通過使用自研的量化工具,可以極大地降低ChatGLM2-6B模型大小,使它可以在芯片上跑得起來。還有對大模型算子的支持,大模型這些主流的算子我們也有支持,也有對像動態(tài)量化或者不定長緯度的支持。下面是我們一個簡單的量化工具。

另一個角度來說,我們正在主打50~100TOPS的方向。作為一個存算一體,直接走向大算力、走向100~1000TOPS的跨度太大了,應(yīng)該先從一個50TOPS中等算力的規(guī)格開始做起,從這個算力做起主要針對的是兩種情況。

一種情況是無人機(jī)的情況,就是對CNN、基于Transformer ViT模型的支持,這樣的模型可以讓我們實(shí)現(xiàn)3D點(diǎn)云的重建,尤其是在端側(cè)3D點(diǎn)云的重建,還有在端側(cè)人物識別、人物檢測、目標(biāo)檢測等視覺的應(yīng)用,這些應(yīng)用的主要亮點(diǎn)是可以在同等算力情況下用的功耗會更小。當(dāng)芯片驗(yàn)證做得更充分一些,也會向比較簡單的小車級,就是功能性小車級層面進(jìn)行開拓市場,進(jìn)行降成本替代的工作。

邁特芯黃瀚韜:自研立方脈動架構(gòu),已開發(fā)三款X-Edge芯片并實(shí)現(xiàn)大模型高效能并行存算丨GACS 2023

最后是X+端邊緣平臺的應(yīng)用。在這個方向上提供更多的算力,希望能提供20~50TOPS算力,主要應(yīng)用在端邊緣算力卡,還有一些機(jī)器人平臺、監(jiān)控攝像頭平臺、地鐵巡檢平臺等等在端邊緣對算力是有一定需求的,但是現(xiàn)有端邊緣的算力支持,比如1~5T的算力支持還不足夠,希望我們的芯片是可以支持的,會主打這個方向的端平臺的應(yīng)用。

邁特芯黃瀚韜:自研立方脈動架構(gòu),已開發(fā)三款X-Edge芯片并實(shí)現(xiàn)大模型高效能并行存算丨GACS 2023

在X+端邊緣平臺上跟剛剛分享的一樣,這是一個非?,嵥榈氖袌?,所以要建設(shè)好這個市場,需要有一個集中式的工具鏈,才能做好這個服務(wù)。我們有做好編譯器上面的優(yōu)化,將不同層面的網(wǎng)絡(luò)進(jìn)行編譯,也做好量化模型優(yōu)化的工具,比如神經(jīng)網(wǎng)絡(luò)搜索、量化、裁減工具,也有做好對這些平臺的基礎(chǔ)適配,這樣的話可以跟廠家把端邊緣的場景用好。謝謝各位的聆聽。

以上是黃瀚韜演講內(nèi)容的完整整理。