二代FSD也有算力焦慮?特斯拉不惜血本用上GDDR6

汽車之心autobit 發佈 2024-04-28T18:24:15.101289+00:00

特斯拉最新的自動駕駛大腦 FSD,不惜血本用上了 GDDR6。如上圖中的 D9ZPR,正反兩面各用了 8 顆,總計 16 顆,每顆容量 2GB。但最近 ChatGPT 帶動 GDDR6 需求暴增,價格略有上漲,目前每片價格大約 10-13 美元。實際上,特斯拉 HW4.

特斯拉最新的自動駕駛大腦 FSD,不惜血本用上了 GDDR6

如上圖中的 D9ZPR,正反兩面各用了 8 顆,總計 16 顆,每顆容量 2GB。

但最近 ChatGPT 帶動 GDDR6 需求暴增,價格略有上漲,目前每片價格大約 10-13 美元

實際上,特斯拉 HW4.0 的座艙控制器里還有 4 顆 GDDR6,每顆容量也是 2GB,合計 40GB 即 200 美元以上

大部分廠家都選擇 LPDDR4 或 LPDDR5。

例如英偉達的中配 Orin 開發盒子是 4 顆 8GB 即 32GB 的 LPDDR5,只需要大約 50-60 美元,這與特斯拉 HW 4.0 中的第二代 FSD 價格相差 150 美元。

特斯拉 HW3.0 使用的是 8 片 2GB 的 LPDDR4,每片大約 3.5 美元,8 片只有 28 美元

當然,這當中最大贏家是美光,車載領域 80% 的 DRAM 市場均來自美光。美光是美國唯一存儲器公司,也是除英特爾外美國本土幾乎唯一的硬科技公司(AMD 的製造均由台積電完成)

總體來看,車載領域目前都是使用 LPDDR,特斯拉再次開創先河:首次在車載領域使用 GDDR

01、什麼是內存?

在細說 GDDR 前,我們先來了解內存的概念。

運算系統有兩種存儲:

一種是斷電後存儲內容不丟失的非易失性存儲器(英語:Non-Volatile Memory,縮寫:NVM),最常見的 NVM 是 Flash 存儲器

還有一種是斷電後存儲內容就消失的易失性存儲器,即 RAM

RAM 又分為兩類:

  • DRAM(Dynamic Random Access Memory,動態隨機存取記憶體)
  • SRAM(Static Random Access Memory,靜態隨機存取記憶體)

通常內存指的是 RAM,準確地說應該叫緩存暫存

NVM 原理類似電容,因此其讀出寫入速度很慢,跟 CPU 速度比差太多。為了 NVM 和 CPU 兩者協調工作,加入內存做中轉緩衝,可以說,RAM 計算單元與數據或指令存儲之間的橋樑。

對於 AI 加速器來說,內存尤為重要。

所謂 AI 運算,就是矩陣乘積累加,輸入矩陣與權重矩陣之間的乘積累加,需要頻繁地讀取權重矩陣或者說訓練好的模型參數。

模型參數越大,自然就需要更高的帶寬,一次性讀出更多的參數。

小模型的魯棒性和可移植性很差,因此人類 AI 的發展方向就是越來越大的模型,參數越來越多。

機器視覺的奠基者 ResNet 50 是 2500 萬個參數,自動駕駛領域目前正火的 Transformer 在 9 千萬到 3.4 億之間,ViT 變種是 20 億,GPT3 是驚人的 1750 億

自動駕駛遲早也會達到這個規模。

模型平均每兩年會增加 240 倍,內存帶寬兩年只會增加兩倍。

SRAM 速度很高,高性能 AI 晶片需要儘量多的 SRAM。

SRAM 價格也高,差不多每 MB 價格是 80-100 美元,通常 AI 訓練用晶片需要 50MB 以上的 SRAM,也就意味著 5000 美元的成本。

SRAM 需要 6 個電晶體,並且電晶體之間的通道即有效寬度 Weff 在目前主流的 FinFET 工藝下,SRAM 的縮微很困難。

台積電 N3 即 3 納米工藝,N3 具有 0.0199μm²的 SRAM 位單元大小,與 N5(5 納米工藝)的 0.021μm² SRAM 位單元相比僅縮小了~5%

改進後的 N3E(3 納米擴展)變得更糟。

因為它配備了 0.021 μm² SRAM 位單元(大致轉換為 31.8 Mib / mm²),這意味著與 N5 相比根本沒有縮放,再延伸就是晶片的成本增加了,性能卻沒有。

目前 AI 模型尺寸越來越大,超過 20GB 已是常態。

使用 SRAM 來存儲,晶片價格輕易突破 100 萬美元,即使是不太在乎價錢的伺服器也承受不起。

因此,我們只能退而求其次——HBM,即 High Bandwidth Memory,每 GB 的 HBM 成本大約 20 美元

如上圖,簡單概括:

HBM 是將 SDRAM 用 TSV(矽通孔)工藝堆疊起來,如同蓋樓,層和層之間會有金屬層等間隔,同時通過 TSV 聯通各個存儲單元。

TSV 是內存能夠堆疊的關鍵,它能夠在各個存儲層之間以及層內構建出矽通孔的通路,存儲單元的訪問就通過這些通孔完成。

在了解 HBM 之前,我們需要明白幾個內存基本概念——密度速度帶寬

密度指的就是容量。

速度有兩種描述,一是頻率即 MHz,另一種是 MT/s,後一種方式越來越成為主流。

速度就好比高速公路的最高時速,帶寬就好比高速公路的車道數。

HBM 是以犧牲速度來提高帶寬的。

1MHz=1000KHz=1000000Hz 等於 1 秒內高低電平信號切換 100 萬次。

MT/s 全稱 Million Transfers Per Second 意為每秒百萬次傳輸。

1T/s 和 1Hz,這兩個單位前者指的是每秒做了一次傳輸,後者指每秒 1 時鐘周期。

因為 DDR 內存信號每個時鐘信號可以傳輸 2 次,所以實際的傳輸速率為 1Hz 等於 2T/s,1MHz 等於 2MT/s

在 DDR5 發布後,內存性能規格的單位選擇了 MT/s 為主,英特爾和金士頓、美光、威剛、芝奇等 PC 行業的領頭企業也紛紛跟進這一策略,將內存性能的衡量單位改為MT/s。

對 CPU 來說,主要是串行數據流,速度就顯得較為重要。

而 AI 和 GPU 是並行計算,帶寬則比速度重要。

  • 系統最大內存帶寬 = 內存標稱頻率*內存總線位數*通道數
  • 實際內存帶寬 = 內存標稱頻率*內存總線位數*實際使用的通道數
  • 實際內存帶寬=內存核心頻率*內存總線位數*實際使用的通道數*倍增係數

我們以車載領域的 LPDDR 為例來描述帶寬:

歷代 LPDDR 參數,注意位寬等同於 Maximum density,這是 CPU 一次能拿走的數據最大密度,用於 GPU 的最大密度就可以輕易達到 384bit。

特斯拉初代 FSD 使用的 LPDDR4,型號是 MT53D512M32D2DS-046 AAT,容量為 16Gb,總共 8 片,I/O 頻率 2133MHz,單通道的話,其帶寬為 2133*64*16,即 273GB/s

HBM 採用物理堆疊,它的總線位寬可以是並聯形式,每個 Die 有 2 個 128bit 位寬的通道,HBM1 只有 4 層堆疊叫做 4-Hi,帶寬可以達到 4*2*128=1024bit,HBM2 的 I/O 頻率是 1107MHz,倍頻係數是 2。

以英偉達 V100S 加速器為例,用了 4 顆 HBM2,帶寬是 1107*2*4*1028/8/1000,即 1134GB/s——比 LPDDR4 要高很多。

HBM3 頻率提到 1600MHz,堆疊提高到 16 層,比 HBM1 高出 4 倍

英偉達最新旗艦 H100 有多個版本,其中頂配使用 HBM3 內存 5 顆,每顆 16GB,帶寬是 5*1600*2*16*1028,也就是 3350GB/s

HBM 通過基板的矽互聯層與主處理器連接,物理距離遠遠小於 PCB 上內存與處理器之間的連接,幾乎逼近 L3 緩存的連接距離,儘管其運行頻率不高,但是這個速度是真實速度,沒有任何水分。

另外需要指出的是,DDR 包括 LPDDR 和 HBM 這類存儲,其真實的核心頻率很低,在 133MHz 到 200MHz 之間。

不過為了數字漂亮,幾乎沒有廠家提到核心頻率。

核心頻率提高會導致功耗大增,這也是內存速度一直比較慢的真正原因。

來一張 H100 的高清大圖:

H100 分兩種,一種是 SXM,另一種是 PCIe

H100 SXM5 的 INT8 算力峰值可達 4000TOPS,PCIe 是 3200TOPS。

注意 H100 主晶片旁邊的 6 個緊貼著的晶片(有一個是空的,為了對稱散熱設計的,實際只有 5 個),那就是昂貴的 HBM3,由韓國 SK Hynix 提供。

目前全球只有 SK Hynix 能夠量產 HBM3,也只有英偉達一個用戶。

HBM 缺點一是,二是必須 3D 堆疊,三是散熱不易

因為它是堆疊的,考慮到成本比較高,只有伺服器和 AI 訓練領域才有人用 HBM,推理領域還未見到。

HBM 再退一步,就是今天的主角:GDDR

02、為何特斯拉不惜血本用 GDDR6?

GDDR,可以說是廉價版 HBM

GDDR 是 Graphics Double Data Rate 的縮寫,是為 GPU 而生的內存。

GPU 和 AI 處理器,沒有 L1/L2/L3 級緩存的概念,因為它的核心數量太多,不可能給每個核心配備緩存,那樣做成本太高了。

GDDR 從第五代完全成熟,之前的四代都是基於傳統 DDR,曇花一現生命周期很短,而 GDDR5 生命周期已經超過 10 年

GDDR5 最大提升是頻率提高了 4 倍,採用了所謂 QDR 技術,DDR 是半雙工,QDR 是全雙工,它有兩條數據總線,兩條都可以同時讀寫。

比如 GDDR5 的 I/O 頻率通常是 1750MHz,實際 I/O 頻率是 1750*4=7000MHz。單顆 GDDR5 的帶寬就是 32*7G/8=28GB/s

GDDR6 再進一步,將預取 prefetch size 數據從 8n 增加到 16n,帶寬再翻倍,單 bank 通常可達 56GB/s。

以特斯拉的 16 顆 GDDR6 為例,帶寬是 56*16=896GB/s,是初代 LPDDR4 的 3 倍多,但跟 HBM3 差別還是很大。

上圖為各種 GDDR 參數對比:

GDDR5X 的總線是 352 位,就是最大支持 11 顆 32bit 的 GDDR 並聯,合計總線寬度 352bit

GDDR6 就是最大支持 12 顆 32bit 的 GDDR6 並聯,合計總線寬度 384 位。

GPU 是並行計算,CPU 想做到這麼高的位寬就比較困難。

2019 年開始出現 GDDR6X,也就是 GDDR7 的預演版,最大改變是引入 PAM4 編碼,單顆達到 84GB/s,12 顆帶寬超過 1TB/s

雖然理論上 GDDR6X 採用 PAM4 信號調製方式,配合 MTA 編碼技術,GDDR6X 的能效提升很多。

同樣是 8 顆顯存,GDDR6X 能效比相比 GDDR6 的每比特能耗要低 15%

實際測試中,搭載 10GB GDDR6X 顯存的 RTX3080 的顯存功耗高達 70W,24GB GDDR6X 顯存的 RTX3090 的顯存功耗更是上到 130W,是十足的耗電大戶。

不過 GDDR 和 HBM 都是針對並行計算的,注重帶寬,不注重速度。

GDDR6 的 CSA 延遲是 DDR4 的 2 倍多,也就是說 GDDR 和 HBM 不適合用在 CPU 上。

CPU 是有序列的串行運算為主,因此英偉達 Grace Hopper Superchip 的 CPU 部分還是使用了 LPDDR5X

而目前全球算力最高的設備,是大約 25 萬美元的英偉達 DGX-H100,CPU 部分是英特爾的 Sapphire Rapids 即 Xeon W3XXX 系列(旗艦產品近 6000 美元一片)

此前的 DGX-A100,CPU 是 AMD 的 EPYC Rome。

對應 CPU 的是 SK Hynix 的 DDR5,當然英特爾的 Xeon 做並行計算也可以,畢竟它是 56 核心。所以英特爾 Sapphire Rapids 也支持 HBM2E,但首選還是 DDR5。

特斯拉的二代 FSD 也有 CPU 部分,即 20 核心的 ARM Cortex-A72。

但特斯拉對 AI 算力更在意,或者說特斯拉有算力焦慮。

英偉達在算力方面太強大了,特斯拉寧肯弱化一點 CPU 也要上 GDDR6,並且是不惜成本。

特斯拉熱衷於大模型,為了保證足夠高的效率,我推測特斯拉三代 FSD 晶片估計要使用昂貴的 HBM3,至少要裝下全部權重模型,估計容量不低於 50GB。

單這部分成本,就不低於 1000 美元,未來特斯拉三代 FSD 的成本最低也在 1500 美元以上。

同樣,如果自動駕駛行業還熱衷於人工智慧,那麼 5 年後的自動駕駛晶片成本最低也要 2000 美元以上

關鍵字: