首先來做一個芯片的成本分析,考慮到不同公司之間研發(fā)成本差異巨大,所以主要研究固定成本,固定成本主要來自流片成本和晶圓成本以及封測成本。
流片即tape-out,成本主要來自光罩的制作。依照不同的制程,光罩的數(shù)量也不一樣多,下表是TSMC在不同制程的大致光罩數(shù)量,可以發(fā)現(xiàn),越新的制程,光罩數(shù)量越多。(少數(shù)節(jié)點有光罩數(shù)持平的現(xiàn)象,是因為換FinFET或引進EUV mask。)
在新制程中,每一道光罩的成本也增加了,所以整套光罩成本是幾何性地增加。據(jù)估計,一套16nm光罩需要1億新臺幣,約合2千萬人民幣,已經(jīng)是天價了,到了2nm,光罩要價高達30億新臺幣,大約6億人民幣。三星8納米光罩成本大約900萬美元,7納米的光罩成本大約1200-1500萬美元,5納米大約4000-5000萬美元。
流片也有兩種類型,一種是Full Mask,“全掩膜”的意思,即在一次制造流程中整個掩膜只為某一個設(shè)計服務(wù)。另一種是MPW (Multi Project Wafer,多項目晶圓),即在一次制造流程中整個掩膜為多個設(shè)計項目服務(wù),也即同一次制造流程可以承擔(dān)多個IC設(shè)計的制造任務(wù)。不過這種方式花費時間成本較高,進度無法掌控,對于車廠而言,進度無法掌控完全不可接受,因此相信小鵬和蔚來都是Full Mask。
一片十二英寸晶圓面積大約70685平方毫米,英偉達Orin的die size是450平方毫米。
12英寸晶圓可以切割大約125片Orin,臺積電7納米晶圓每片大約10000美元,三星8納米晶圓價格大約6000美元,每片Orin的晶圓成本大約48美元,封裝與測試成本大約2美元,即50美元。Orin目前千顆起售價大約500美元,毛利率大約90%,英偉達一向如此,毛利率基本就是90%。
蔚來和小鵬的自研芯片都是對標(biāo)雙Orin的性能,即使5納米工藝,die size最低下限跟Orin也應(yīng)該差不多,當(dāng)然如果降低性能,die size可以小很多。我們假定die size還是450平方毫米,那么每片晶圓可以切割125片,假設(shè)采用了臺積電的5納米工藝制造,臺積電5納米晶圓每片16000美元,每個芯片成本大約128美元,加上2美元的封測費,大致是130美元。如果4納米的話每片晶圓是19000美元,每個芯片成本大約152美元,整體成本大約155美元。
臺積電基本上是下單量2.5萬片起,那么一次性下單就是312.5萬個芯片,考慮到汽車銷量,這么高的量,大部分廠家估計5年都用不完,5納米的話也就是一次性需要付出4億美元。光罩成本每片分攤大約13美元,每片成本大約143美元。這么大的量估計對小鵬和蔚來來說壓力很大,據(jù)說三星的最小下單量遠低于臺積電(盡管這樣三星還是客戶很少),估計是5千片起,那么就是62.5萬個芯片,三星的5納米晶圓每片價格大約低臺積電20%,也就是大約13000美元,每個芯片成本大約105美元,但光罩分攤成本會大增到64美元,每個芯片等于169美元硬件成本。這也就理解為什么特斯拉和英偉達Orin一直在三星下單的原因了。
除了研發(fā)成本還有各種IP購買成本、EDA成本、索喜這樣的芯片設(shè)計與制造服務(wù)成本,估計大約在1.5-2億美元之間,如果按62.5萬個芯片計算,那么每個芯片分攤成本約為240-320美元,總計成本大約409-489美元之間,略微低于直接購買英偉達Orin。不過自研芯片對加強品牌形象,提升科技感和市值幫助極大,間接收益遠高于直接成本。
40核心應(yīng)該不是CPU的核心,雖然小鵬官方網(wǎng)站英文介紹是40核心CPU,但上圖寫得明白是40核心處理器,這個很好推測,大概率是24個ARM Cortex-A78AE內(nèi)核,12個ARM MALI-G78AE 內(nèi)核,4個ARM Cortex-R52內(nèi)核做安全島,加起來就是40核心。這個CPU算力大約是460kDMIPS,沒有蔚來的芯片高。當(dāng)然也不排除是32個A78AE內(nèi)核,6個G78AE GPU核心,2個R52核心。MALI -G78AE是ARM為汽車領(lǐng)域設(shè)計的GPU核心,原型是為手機領(lǐng)域設(shè)計的MALI-G78。14核心基礎(chǔ)頻率760MHz的MALI-G78AE的算力是1360GFLOPS@FP32。
小鵬在宣傳上提到了DSA (Domain Specific Architecture,領(lǐng)域?qū)S眉軜?gòu)),實際NPU就是一種DSA。CNN時代AI加速器一般叫NPU,大模型transformer時代則多叫DSA。智駕領(lǐng)域的算法從過去基于CNN算法的多個不同任務(wù)的感知網(wǎng)絡(luò)向以Transformer為基礎(chǔ)框架的BEV大模型演進。BEV作為新一代自動駕駛感知算法,在傳統(tǒng)CNN加速芯片上部署難度極大甚至完全無法部署。Transformer模型對訪存要求相對傳統(tǒng)CNN算法會高出很多,需要較高的存儲帶寬,同時Transformer內(nèi)的非線性層有非常高的精度要求,相應(yīng)需要更多的浮點計算資源,而絕大多數(shù)AI加速器都是定點整數(shù)計算資源。其次Attention模塊是一個matmul-softmax-matmul的結(jié)構(gòu),在序列長度比較大時,Reduce維度的計算對Vector(向量)計算資源要求非常多。此外BEV模型里Grid Sample算法里還有一些類似聚合、分散的特殊算子。所有這些計算需求在傳統(tǒng)AI芯片的硬件上難以滿足,需要近似CPU的運算資源。
DSA非常簡單,典型代表就是谷歌的TPU,近來針對AI運算的DSA高度雷同,也沒什么技術(shù)門檻。簡單地說就是在NPU的MAC陣列上加入了標(biāo)量運算和向量運算單元。
標(biāo)量算力,主要用于邏輯控制,任務(wù)調(diào)度。
向量算力,主要用于激活、池化、排序等計算。
矩陣算力,主要是矩陣乘法,用于卷積,全連接等計算。
隨著算力專有程度的提高,其算力通用性也會降低,算力的可編程性變差。打個比方,我們分別把矩陣算力、向量算力和標(biāo)量算力,類比作飛機,高鐵和汽車三種交通工具。飛機,速度最快,但乘坐成本最高,且只能往來于特定的幾個機場站點;高鐵,速度相對較快,準備工作相對較少,高鐵站的數(shù)量也相對較多;汽車,速度相較最慢,但便捷性最高,也無需額外的準備工作。標(biāo)量算力是最通用的算力,可以從功能上覆蓋向量計算和矩陣計算,且理論上可以覆蓋幾乎所有的計算需求;同理,向量計算也可以覆蓋矩陣計算的功能;最后,矩陣計算,其算力專有程度最高,只能用于矩陣計算。但隨著算力專有程度變高,越容易堆疊算力,算力的能效比也越高。由于矩陣算力的可編程性較差,需要借助算子庫或者DSL(Domain Specific Language)才能把矩陣算力很好的利用起來。向量算力用于保證DSA的可編程性和兼容性,如TPU、NPU中的Vector Unit,GPGPU中的CUDA core;標(biāo)量算力則主要用于邏輯控制。
從2018年開始,谷歌的第三代TPU就是標(biāo)量向量矩陣都具備了。
TPU第五代TPUv5e和TPUv5P與第三代沒有本質(zhì)變化
谷歌幾代TPU只是增加了HBM的容量和帶寬,實際英偉達也是如此,變化的只是HBM的容量和帶寬,架構(gòu)都是換湯不換藥。
最后來說一說小鵬支持的300億參數(shù)大模型。Roofline Model可以看出平均帶寬需求和峰值計算能力如天花板一樣是整個系統(tǒng)計算的能力上限,以計算強度上限Imax為界,劃分出AI芯片的兩個瓶頸區(qū)域,即圖中橘色的內(nèi)存受限區(qū)(Memory Bound)和圖中藍色的計算受限區(qū)(Compute Bound)。存儲決定了下限,計算決定了上限。因為 Decoding 階段 Token 逐個處理,使用 KV Cache 之后, Multi-Head Attention 里的矩陣乘矩陣操作全部降級為矩陣乘向量即GEMV。除此之外,Transformer 模型中的另一個關(guān)鍵組件 FFN 中主要也包含兩個矩陣乘法操作,但Token之間不會交叉融合,也就是任何一個Token都可以獨立計算,因此在Decoding階段不用Cache之前的結(jié)果,但同樣會出現(xiàn)矩陣乘矩陣操作降級為矩陣乘向量。Prefill階段則是GEMM,矩陣與矩陣的乘法。GEMV是訪存密集型操作,性能完全取決于存儲帶寬。
支持大模型參數(shù)數(shù)量由存儲帶寬和外在的存儲容量決定,假設(shè)一個大模型參數(shù)為300億,按照車載的INT8精度,它所占的存儲是30GB,如果是英偉達的RTX4090,它的顯存帶寬是1008GB/s,也就是每30毫秒生成一個token,這個就是RTX4090的理論速度上限。特斯拉第一代FSD芯片的存儲帶寬是63.5GB/s,也就是每471毫秒生成一個token,幀率不到3Hz,自動駕駛領(lǐng)域一般圖像幀率是30Hz,而英偉達的Orin存儲帶寬是204.5GB/s,即每146毫秒生成一個token,勉強可以達到7Hz,注意這只是計算的數(shù)據(jù)搬運所需要的時間,數(shù)據(jù)計算的時間都完全忽略了,要做到30Hz,帶寬至少要提高5倍,也就是1TB/s。實際情況遠比這個復(fù)雜的多,車載領(lǐng)域不是傳統(tǒng)LLM使用CPU和GPU分離形式,車載領(lǐng)域的計算SoC都是將CPU和AI運算部分合二為一,AI運算部分通常是GPU或加速器,是和CPU共享內(nèi)存的,而在非車載領(lǐng)域,GPU或AI運算部分有獨立的存儲,即顯存。車載領(lǐng)域共享內(nèi)存一般是LPDDR,它主要是為CPU設(shè)計的,注重速度即頻率而非帶寬,不像顯存,一般是GDDR或HBM,注重帶寬,不看重頻率高低。上述所有理論都是基于顯存的,在車載領(lǐng)域共享LPDDR,其性能遠遠低于單獨配置的顯存,無論是速度還是容量,共享存儲都必須遠比單獨的顯存要高才能做到大模型推理計算。
車載領(lǐng)域存儲比算力重要很多,最好的解決辦法是HBM,但太貴了,32GB HBM2最低成本也得2000美元,汽車領(lǐng)域?qū)r格還是比較敏感的,退而求其次,就是GDDR了。GDDR6的成本遠低于HBM,32GB GDDR6大概只要180美元或更低。