首頁  >  文章  >  科技週邊  >  特斯拉Dojo超算架構細節首次公開!為自動駕駛「操碎了芯」

特斯拉Dojo超算架構細節首次公開!為自動駕駛「操碎了芯」

PHPz
PHPz轉載
2023-04-11 21:46:251197瀏覽

為了滿足對人工智慧和機器學習模型越來越大的需求,特斯拉創建了自己的人工智慧技術,來教導特斯拉的汽車自動駕駛。

最近,特斯拉在Hot Chips 34會議上,揭露了大量關於Dojo(道場)超級運算架構的細節。

本質上,Dojo是一個巨大的可組合的超級計算機,它由一個完全客製化的架構構建,涵蓋了計算、網路、輸入/輸出(I/O)晶片到指令集架構(ISA)、電源傳輸、包裝和冷卻。所有這些都是為了大規模地運行客製化的、特定的機器學習訓練演算法。

Ganesh Venkataramanan是Tesla自動駕駛硬體資深總監,負責Dojo項目,以及AMD的CPU設計團隊。 Hot Chips 34會議上,他和眾位晶片、系統和軟體工程師首次公開了該機器的許多架構特性。

資料中心「三明治」

「 一般來說,我們製造晶片的過程,就是把它們放在包裝上,把包裝放在印刷電路板上,然後進入系統。系統進入機架。」Venkataramanan說。

但是這個過程中存在一個問題:每次資料從晶片移動到封裝上並離開封裝時,都會產生延遲和頻寬損失。

為了繞過這些限制,Venkataramanan和他的團隊決定從頭開始。

特斯拉Dojo超算架構細節首次公開!為自動駕駛「操碎了芯」

由此,Dojo的訓練瓦片誕生了。

這是一個獨立的計算集群,佔地半立方英尺,在15千瓦的液冷封裝中能夠達到556TFLOPS的FP32性能。

每個瓦片都配備了11GB的SRAM,並在整個堆疊中使用定制的傳輸協議,透過9TB/s結構連接。

Venkataramanan說:「這塊訓練板代表了從電腦到記憶體、到電源傳輸、到通訊的無與倫比的整合度,不需要任何額外的開關。」

訓練瓦片的核心是特斯拉的D1,這是一個500億個電晶體晶片,基於台積電的7奈米製程。特斯拉表示,每個D1能夠在400W的TDP下達到22TFLOPS的FP32效能。

特斯拉Dojo超算架構細節首次公開!為自動駕駛「操碎了芯」

特斯拉然後用25個D1,把它們分到已知的好模具上,然後用台積電的晶圓上系統技術把它們包裝起來,以極低的延遲和極高的頻寬實現大量的計算整合。

然而,晶片上的系統設計和垂直堆疊架構,為電力傳輸帶來了挑戰。

根據Venkataramanan說,目前大多數加速器將電源直接放在矽片旁。他解釋說,這種方法雖然行之有效,但這意味著加速器的很大一部分區域必須專門用於這些組件,這對Dojo來說是不切實際的。於是,特斯拉選擇直接透過晶片底部直接提供電源。

此外,特斯拉也開發了Dojo介面處理器(DIP),它是主機CPU和訓練處理器之間的橋樑。

每個DIP都有32GB的HBM,最多可以將五個這樣的卡以900GB/s的速度連接到一個訓練瓦片上,以達到4.5TB/s的總量,每個瓦片共有160GB的HBM。

特斯拉Dojo超算架構細節首次公開!為自動駕駛「操碎了芯」

特斯拉的V1配置成對的這些瓦片——或150個D1模具——在陣列中支援四個主機CPU ,每個主機CPU配備五個DIP卡,以實現聲稱的BF16或CFP8效能的exaflop。

特斯拉Dojo超算架構細節首次公開!為自動駕駛「操碎了芯」

軟體

這樣一個專門的運算架構,就需要一個專門的軟體堆疊。然而,Venkataramanan和他的團隊意識到,可程式性將決定Dojo的成敗。

「當我們設計這些系統時,軟體同行的易編程性是最重要的。研究人員不會等待你的軟體人員為適應我們想要運行的新演算法而寫一個手寫的核心。 」

為了做到這一點,特斯拉放棄了使用核心的想法,圍繞著編譯器設計了Dojo的架構。

「我們的做法是使用PiTorch。我們創建了一個中間層,它幫助我們並行化,以擴展其下面的硬體。所有東西下面都是編譯過的程式碼。 」為了創建可適應任何未來工作負載的軟體堆疊,這是唯一的方法。

儘管強調了軟體的靈活性,Venkataramanan指出,目前在他們的實驗室中運行的平台,暫時僅限於特斯拉使用。

Dojo架構一覽

看完了以上這些,讓我們深入了解Dojo的架構。

特斯拉擁有用於機器學習的百億億次人工智慧級系統。特斯拉有足夠的資金規模來僱用員工,並專門為其應用建造晶片和系統,就像特斯拉的車載系統一樣。

特斯拉Dojo超算架構細節首次公開!為自動駕駛「操碎了芯」

特斯拉不僅在建構自己的AI晶片,還在建構超級電腦。

特斯拉Dojo超算架構細節首次公開!為自動駕駛「操碎了芯」

分散式系統分析

Dojo的每個節點都有自己的CPU、記憶體和通訊介面。

特斯拉Dojo超算架構細節首次公開!為自動駕駛「操碎了芯」

Dojo節點

#這是Dojo處理器的處理管線。

特斯拉Dojo超算架構細節首次公開!為自動駕駛「操碎了芯」

#處理管道

#每個節點有1.25MB的SRAM。在AI訓練和推理晶片中,一種常見的技術是將記憶體與計算共置,以最大限度地減少資料傳輸,因為從功率和效能的角度來看,資料傳輸非常昂貴。

特斯拉Dojo超算架構細節首次公開!為自動駕駛「操碎了芯」

節點記憶體

#然後每個節點都連接到一個2D網格。

特斯拉Dojo超算架構細節首次公開!為自動駕駛「操碎了芯」

網路介面

#這是資料路徑概述。

特斯拉Dojo超算架構細節首次公開!為自動駕駛「操碎了芯」

資料路徑

#下面有一個例子,說明晶片可以做的列表解析。

特斯拉Dojo超算架構細節首次公開!為自動駕駛「操碎了芯」

清單解析

#這裡有更多關於指令集的內容,屬於特斯拉原創,而非典型的Intel、Arm、NVIDIA或AMD CPU/GPU的指令集。

特斯拉Dojo超算架構細節首次公開!為自動駕駛「操碎了芯」

指令集

#在人工智慧中,算術格式很重要,尤其是晶片支援哪些格式。利用DOJO,特斯拉就可以研究常用格式,例如FP32、FP16和BFP16。這些是常見的行業格式。

特斯拉Dojo超算架構細節首次公開!為自動駕駛「操碎了芯」

算術格式

#特斯拉也在研究可配置的FP8或CFP8。它有4/3和5/2的範圍選項。這類似於 NVIDIA H100 Hopper配置的FP8。我們也看到Untether.AI Boqueria 1458 RISC-V核心AI加速器專注於不同的FP8類型。

特斯拉Dojo超算架構細節首次公開!為自動駕駛「操碎了芯」

算術格式2

Dojo也有不同的CFP16格式,以實現更高的精度,並支援FP32、BFP16、CFP8和CFP16。

特斯拉Dojo超算架構細節首次公開!為自動駕駛「操碎了芯」

算術格式3

然後將這些核心整合到製造的模具中。特斯拉的D1晶片由台積電以7nm製程製造。每個晶片有354個Dojo處理節點和440MB的SRAM。

特斯拉Dojo超算架構細節首次公開!為自動駕駛「操碎了芯」

First Integration Box D1 模具

這些D1晶片被封裝在一個道場訓練瓦片上。 D1晶片經過測試,然後組裝成一個5×5的瓦片。這些瓦片每個邊緣有4.5TB/s的頻寬。它們還具有每個模組15kW的功率傳輸包絡,或者可以說,每個D1晶片去掉40個I/O裸片所使用的功率後,大約還有600W。透過對比可以看出,如果一家公司不想設計這種東西,為什麼像Lightmatter Passage會更有吸引力。

特斯拉Dojo超算架構細節首次公開!為自動駕駛「操碎了芯」

第二個整合箱Dojo訓練瓦片

Dojo的接口處理器位於2D網格的邊緣。每個訓練區塊有11GB的SRAM和160GB的共用DRAM。

特斯拉Dojo超算架構細節首次公開!為自動駕駛「操碎了芯」

Dojo系統拓樸

#以下是連接處理節點的2D網格的頻寬資料。

特斯拉Dojo超算架構細節首次公開!為自動駕駛「操碎了芯」

Dojo系統通訊邏輯二維網格

每個DIP和主機系統提供32GB/s的連結。

特斯拉Dojo超算架構細節首次公開!為自動駕駛「操碎了芯」

Dojo系統通訊 PCIe連結DIP與主機

特斯拉還具有用於更長路線的Z平面連結。在接下來的演講中,特斯拉談到了系統級的創新。

特斯拉Dojo超算架構細節首次公開!為自動駕駛「操碎了芯」

#通訊機制

#這裡有die和tiles的延遲邊界,這就是為什麼在Dojo中對它們進行不同處理的原​​因。需要Z平面連結的原因是,長路徑很昂貴。

特斯拉Dojo超算架構細節首次公開!為自動駕駛「操碎了芯」

Dojo系統通訊機制

任何處理節點都可以跨系統存取數據。每個節點都可以將資料推送或拉取到SRAM或DRAM。

特斯拉Dojo超算架構細節首次公開!為自動駕駛「操碎了芯」

Dojo系統批次通訊

Dojo使用平面尋址方案進行通信。

特斯拉Dojo超算架構細節首次公開!為自動駕駛「操碎了芯」

系統網路1

#這些晶片可以在軟體中繞過錯誤的處理節點。

特斯拉Dojo超算架構細節首次公開!為自動駕駛「操碎了芯」

系統網路2

這表示軟體必須了解系統拓撲。

特斯拉Dojo超算架構細節首次公開!為自動駕駛「操碎了芯」

系統網路3

#Dojo不保證端對端的流量排序,因此需要在目的地對資料包進行計數。

特斯拉Dojo超算架構細節首次公開!為自動駕駛「操碎了芯」

系統網路4

#以下是封包如何計入系統同步的一部分。

特斯拉Dojo超算架構細節首次公開!為自動駕駛「操碎了芯」

系統同步

#編譯器需要定義一個有節點的樹

特斯拉Dojo超算架構細節首次公開!為自動駕駛「操碎了芯」

系統同步2

#特斯拉表示,一個exa-pod擁有超過100萬個CPU(或計算節點)。這些都是大型系統。

特斯拉Dojo超算架構細節首次公開!為自動駕駛「操碎了芯」

總結

#特斯拉專門為大規模工作而建造了Dojo。通常,新創公司都希望為每個系統建立一個或幾個晶片的AI晶片。顯然,特斯拉專注於更大的規模。

在許多方面,特斯拉擁有一個巨大的人工智慧訓練場是合理的。更令人興奮的是,它不僅使用商業上可用的系統,而且還在建立自己的晶片和系統。標量方面的一些ISA是藉用RISC-V的,但向量方面和很多架構特斯拉都是客製化的,所以這需要大量的工作。

以上是特斯拉Dojo超算架構細節首次公開!為自動駕駛「操碎了芯」的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:51cto.com。如有侵權,請聯絡admin@php.cn刪除