關(guān)注并標(biāo)星電動(dòng)星球News
每天打卡閱讀
更深刻理解汽車產(chǎn)業(yè)變革
————————
出品:電動(dòng)星球 News
作者:毓肥
上周五,特斯拉正式揭開了 DOJO 的神秘面紗。
在當(dāng)時(shí)的首發(fā)文章里面,我們重點(diǎn)回顧了整場發(fā)布會(huì)的主要內(nèi)容。由于 AI Day 的主角太多,所以 DOJO 有關(guān)的部分,我們?cè)诒WC閱讀體驗(yàn)的基礎(chǔ)上,更多地只能講療效。

但如果不能跟大家交流更多 DOJO 的信息,我們覺得 AI Day 白看了。
因?yàn)檫@場發(fā)布會(huì)是特斯拉正式轉(zhuǎn)型,或者說正式成為人工智能公司的節(jié)點(diǎn)。而 DOJO 則是這家人工智能公司最底層,也是最重要的硬件產(chǎn)品。
但到底應(yīng)該怎么理解 DOJO,怎樣用更易懂的語言讓大家看到特斯拉的巧思、創(chuàng)新,甚至是狂想?
最終我們決定,把這臺(tái) 1.1EFLOPS 算力的 DOJO Pod,當(dāng)成一個(gè)「人」:
那么作為「細(xì)胞」存在的,應(yīng)該是特斯拉自研的人工智能訓(xùn)練「節(jié)點(diǎn)」;
作為「器官」存在的,則是 354 個(gè)節(jié)點(diǎn)構(gòu)成的 D1 芯片;
而 25 個(gè) D1 芯片組成的「Training Tile」,又構(gòu)成了 DOJO Pod 的「功能系統(tǒng)」;
最終 120 個(gè) Tile 組成的 DOJO Pod,則是一個(gè)完整的超算。
也就是說,特斯拉從細(xì)胞級(jí)別的地基開始,完整地構(gòu)建了一整套超算系統(tǒng)的大廈。除了英偉達(dá)和谷歌,目前還沒有哪家科技企業(yè)展現(xiàn)過這樣的能力,更不用說車企。
今天的開頭有點(diǎn)長,因?yàn)槲覀兿MM量寫一篇更多朋友能理解的文章,而不是簡單地堆砌術(shù)語。
接下來,我們就從最基本的單位開始,帶大家在 DOJO Pod 里面走一遍。
一、DOJO 的細(xì)胞
特斯拉將 DOJO 的最小組成單位,命名為「Training Node」,訓(xùn)練節(jié)點(diǎn)。它是 DOJO 的細(xì)胞,更是特斯拉芯片哲學(xué)的最精簡具現(xiàn)。

每一塊 D1 芯片里面擁有354 個(gè)這樣的節(jié)點(diǎn),我們可以近似地將它理解為「核心」。也就是說,每一塊 D1 可以近似理解成 354 核的芯片。但這個(gè)「核」與我們談?wù)撟约译娔X酷睿 i5、i7 時(shí)的「四核」、「八核」依然有明顯的區(qū)別。
1. 所以,「Training Node」究竟是個(gè)啥?
6 月底出席 2021 CVPR 會(huì)議時(shí),特斯拉 AI 部門主管 Andrej 表示,一共有 5760 個(gè)英偉達(dá) A100 GPU,為特斯拉的深度學(xué)習(xí)網(wǎng)絡(luò)服務(wù)。
CPU 和 GPU,可能是我們接觸最多的芯片名詞,而一般來講,GPU 比 CPU 更適合用于深度計(jì)算。

為什么 GPU 更適合?因?yàn)閺慕Y(jié)構(gòu)上來說,GPU 更適合大規(guī)模、低精度的運(yùn)算,CPU 更適合小規(guī)模(相對(duì)?。?、高精度運(yùn)算。
我們決定不去解釋 CPU 和 GPU 之間的結(jié)構(gòu)差別,因?yàn)橐粋€(gè)比喻就能搞定:CPU 是幾位大學(xué)教授研究數(shù)論,GPU 是幾百位中學(xué)生算一元二次方程。
于是問題就變得更容易理解了:為什么中學(xué)生比大學(xué)教授更適合深度學(xué)習(xí)?
因?yàn)樯疃葘W(xué)習(xí)的本質(zhì),就是低精度+大規(guī)模的卷積運(yùn)算。對(duì)于神經(jīng)網(wǎng)絡(luò)運(yùn)算,「核心規(guī)?!贡取竼蝹€(gè)核心的精度」權(quán)重更高。
說得再簡單一點(diǎn),就是讓 10 位數(shù)學(xué)教授算 10 萬條一元方程,一定沒有 1 萬個(gè)中學(xué)生算得快。
所以,特斯拉需要把自家的人工智能芯片設(shè)計(jì)成類 GPU 架構(gòu),也就是單個(gè)核心無須特別復(fù)雜,但核心數(shù)要多。

「Training Node」,就是一種接近 GPU 核心結(jié)構(gòu)的產(chǎn)物,但由于它對(duì)特斯拉自己的算法高度優(yōu)化,所以比英偉達(dá)賣的萬能鑰匙 GPU 稍微復(fù)雜;但它又要比純粹的 CPU 更適合深度學(xué)習(xí),所以規(guī)模更大。
2. 造細(xì)胞的世界觀有了,方法論呢?
從這一小節(jié)開始,有一個(gè)詞語希望大家牢記:帶寬 Bandwidth。
AI Day 的首發(fā)文章里,我們提到過算力并不是特斯拉的核心訴求。
一塊芯片的算力來源于半導(dǎo)體工藝,而特斯拉只負(fù)責(zé)選擇工藝(甲方),不負(fù)責(zé)生產(chǎn)(乙方,臺(tái)積電);只要特斯拉有錢買目前最先進(jìn)的工藝,臺(tái)積電一定可以把晶體管給你堆得滿滿當(dāng)當(dāng)。
但如何將芯片設(shè)計(jì)得完美符合需求,也就是如何安排晶體管,這是砸錢無法解決的,也是真正衡量一家芯片公司技術(shù)實(shí)力的天平。
特斯拉的 AI 硬件方法論很簡單:一切為帶寬服務(wù)。
進(jìn)入 AI 時(shí)代,所有標(biāo)榜 AI 性能的芯片廠商,都在追求帶寬最大化。比如英偉達(dá)為自家 A100 芯片配備了 HBM 超高帶寬顯存,并且通過高帶寬橋接器 NV-Link 連接多個(gè) A100。這也是特斯拉在 DOJO 正式使用之前選擇英偉達(dá)的重要原因。
為什么深度學(xué)習(xí)需要海量帶寬?
再來一個(gè)不算準(zhǔn)確,但足夠形象的比喻:寫下 10 條大學(xué)向量代數(shù)習(xí)題需要的紙,一定比寫 1 萬條一元二次方程需要的紙少。深度學(xué)習(xí)需要的是大規(guī)模低精度運(yùn)算,產(chǎn)生的低精度數(shù)據(jù)量非??捎^。
目前 AI 界硬件公司的思路是帶寬開源,而軟件公司的方向則是算法節(jié)流。至于算力,本質(zhì)上歸半導(dǎo)體代工廠管。
3. 所以如何從最基礎(chǔ)的部分開始,最大化 DOJO 的帶寬?

這塊東西我們下面會(huì)詳細(xì)說,叫做 Training Tile。之所以提上來,是需要解釋一個(gè)概念——Tile 這個(gè)單詞用于芯片領(lǐng)域,并不是特斯拉的首創(chuàng),它起源于 1997 年的麻省理工。

上面的芯片結(jié)構(gòu)圖叫做 RAW,基于麻省理工 1997 年的一篇論文首次提及的「劃分方式」打造,這種方式就叫做 Tile。
Tile 的特點(diǎn),是它把處理單元、SRAM 緩存、網(wǎng)絡(luò)接口等等模塊集成在一個(gè)區(qū)域內(nèi),不同的區(qū)域之間通過 NoC,network on chip(片上網(wǎng)絡(luò))互連。它不像是一種架構(gòu),而更像一種排列方式。
這種排列方式的好處,是擴(kuò)展能力更強(qiáng)(比如堆疊更多核心)、核心之間連接方式多樣且迅速。

回到特斯拉的 Training Node 結(jié)構(gòu)圖。負(fù)責(zé)計(jì)算的單元并不是本文討論的重點(diǎn),右上角這一塊「NoC Router 片上網(wǎng)絡(luò)路由器」,才是 Training Node 的精髓。
特斯拉為每一個(gè) Node 設(shè)計(jì)了東南西北(上下左右)各 64bit 的片上NoC通道,這使得 Node 之間核心堆疊和數(shù)據(jù)傳輸?shù)碾y度大大降低——或者打個(gè)比喻,堆樂高的時(shí)候你發(fā)現(xiàn)每一塊積木都能從上下左右往外砌。
內(nèi)核間多方向的片上 NoC 通道,其實(shí)是 AI 芯片的共同趨勢(shì)。像是此前拿下單芯片面積之最的 Cerebras WSE,其內(nèi)部同樣使用了 NoC 片上網(wǎng)絡(luò)通信。
二、D1 芯片
聊到這里,我們沖出了 Training Node,來到了芯片層面。

28 個(gè)月之后,特斯拉重拾自己芯片設(shè)計(jì)公司的頭銜,帶來了第二款自主設(shè)計(jì)的芯片產(chǎn)品。
和 2019 年在車規(guī)級(jí)的籠子里跳舞不一樣,這次的 D1 芯片是數(shù)據(jù)中心級(jí)別的產(chǎn)品——這意味著特斯拉終于可以毫無顧忌放肆一把。
這枚 D1 芯片的基本參數(shù)是:645 平方毫米面積、500 億個(gè)晶體管、11 英里的內(nèi)部走線、400W TDP(Thermal Design Power 熱設(shè)計(jì)功耗,指正常工作環(huán)境的負(fù)載功耗)。
首先要說的,是 D1 晶體管密度非常高,每平方毫米晶體管數(shù)量達(dá)到了 7752 萬個(gè),這已經(jīng)打平了使用臺(tái)積電二代 7 納米工藝的蘋果 A13,超越了初代臺(tái)積電 7 納米工藝打造的英偉達(dá) A100。
臺(tái)積電的功勞就說到這,接下來講特斯拉做了什么。
1. 10TB 每秒的on-chip bandwidth 片上帶寬,這是極其恐怖的數(shù)字。

沒有對(duì)比就沒有傷害,2019 年同樣標(biāo)榜自己 on-chip 帶寬業(yè)內(nèi)頂尖的英特爾 Stratix 10MX(一款最高擁有 10TOPS FP32 精度算力的通用計(jì)算芯片),這個(gè)指標(biāo)為 1TB 每秒。
但這里 10TB 指的更像是最理想結(jié)果,D1 芯片每個(gè) node 每個(gè)方向的帶寬是 512GB,10TB 指的是每一行(列)node 同時(shí)傳輸數(shù)據(jù)時(shí)達(dá)到的最大帶寬。
2. 另一個(gè)指標(biāo)是 4TB 每秒的 off-chip bandwidth 片外帶寬。
這里涉及到另一個(gè)名詞:SerDes,全稱 Serializer-Deserializer,序列化器與反序列化器。

我們還是只講療效:SerDes 是一種同等體積下增加帶寬、減少信號(hào)數(shù)量的工具,可以降低芯片功耗和封裝成本。
目前單一 SerDes 接口最快的傳輸速率達(dá)到了 112Gbps——而特斯拉在每一塊 D1 芯片的四條邊上,都累計(jì)布置了 576 個(gè) 112Gb 帶寬的 SerDes 接口。
4TB 每秒到底有多快?特斯拉用了一張 PPT 作對(duì)比:

不過有些「營銷術(shù)語」我們得挑出來,比如用作對(duì)比的谷歌 TPU V3 已經(jīng)是 2018 年的老產(chǎn)品,3 個(gè)月前 TPU V4 登場,各項(xiàng)指標(biāo)并不比 D1 差。
三、Training Tile
下圖所示,就是組成 DOJO Pod 的基本單元。

每一塊 Tile 上面都封裝著 25 塊 D1 芯片,總算力高達(dá) 9PFLOPS,芯片四周擴(kuò)散出每邊 9TB 每秒的超高速通信接口,然后上下則分別連接著水冷散熱,以及供電模塊。
到這里,DOJO 的超高帶寬系統(tǒng)已經(jīng)完整呈現(xiàn):
D1 芯片內(nèi)上下左右各 10TB 每秒→D1芯片間上下左右各 4TB 每秒→5x5 D1 芯片方陣各邊 9TB 每秒→Tile 與 Tile 之間最高 36TB 每秒。
一個(gè) GB 級(jí)別的「小」數(shù)字都沒有。

為了實(shí)現(xiàn)這些數(shù)字,特斯拉最終設(shè)計(jì)了「可能是芯片工業(yè)史上最大的 MCM 封裝」——這是特斯拉 Autopilot 硬件高級(jí)主管 Ganesh Venkataramanan 的原話。
但特斯拉的工程魔法還沒結(jié)束。

上面是谷歌 TPU V3 的散熱示意圖。一塊主板上四枚TPU用一個(gè)共同的水路散熱。到了 TPU V4,水冷系統(tǒng)變得復(fù)雜,效率也提升了:

但這種冷卻系統(tǒng)有一個(gè)弊端:無法兼顧供電元件,需要另外考慮供電部分的散熱。
一個(gè) DOJO Tile 上面有 25 塊 D1 芯片,最保守估計(jì)功耗也超過了 10kW,120 個(gè) Tile 功耗相當(dāng)于一個(gè) 10 樁 V2 超充站火力全開——超充站的變壓器也是需要散熱的。
特斯拉的解決方案有點(diǎn)像電腦領(lǐng)域的「分體水冷主板」:用垂直水路將芯片、供電元件連接起來,用最少的水路搞定多個(gè)散熱需求。

根據(jù) AI Day 的 PPT,每一塊 Tile 都配備了高達(dá) 15kW 散熱能力的水冷系統(tǒng),但最終結(jié)構(gòu)卻簡單得過分:

四、DOJO Pod
120 個(gè) Tile 組成的 Pod,是 DOJO 的最終形態(tài)。1.1Exaflops,則是一個(gè) DOJO Pod 的最高算力。
Pod 在這個(gè)語境下,指的是「通過網(wǎng)絡(luò)手段連接在一起的多臺(tái)計(jì)算機(jī)」,但一個(gè) Pod 可以做到多大,業(yè)內(nèi)沒有明確規(guī)定。

但這里要強(qiáng)調(diào)一下,1.1E 算力并非在超算界用的 FP32 完整精度測(cè)得,而是 BF16/CFP8 精度。
BF16 精度,又叫 BrainFloat16,是為深度學(xué)習(xí)而優(yōu)化的新數(shù)字格式,它保證了計(jì)算能力和計(jì)算量的節(jié)省,而預(yù)測(cè)精度的降低幅度最小,目前支持 BF16 精度的,已經(jīng)有英特爾、谷歌、ARM 等等巨頭。而 CFP8 則是特斯拉自優(yōu)化的精度。
「節(jié)省」是什么意思?舉個(gè)例子,FP32 精度就是你告訴別人「我在廣州市天河區(qū)天河路 218 號(hào)天環(huán)廣場地上一層 L128 號(hào)商鋪」,而 BF16 就是你告訴別人「我在廣州天環(huán)廣場」。
那么如果計(jì)算 FP32 精度,DOJO Pod 是個(gè)怎樣的水平?
單個(gè) D1 芯片可以達(dá)到 22.6T 的 FP32算力,那么整個(gè) Pod 理論上就是 22.6x25x120=67800TFLOPS 的 FP32 算力。
現(xiàn)在我們看看 2021 年上半年的 HPC 全球超算 TOP500 排行榜:

67800TFLOPS 的算力可以排在第五位(看 Rmax 算力那一列),剛好把曾經(jīng)的「全球最強(qiáng) AI 計(jì)算機(jī)」,服役于美國國家能源研究科學(xué)計(jì)算中心(NERSC)的 Perlmutter擠掉。

但達(dá)到這個(gè)成績,特斯拉只用了一個(gè) Pod(機(jī)柜),而 Perlmutter有 4 個(gè)長機(jī)柜。
最后
文章到這里就寫完了。
非常慶幸我能在 4000 字以內(nèi),將最希望與大家分享的 DOJO 相關(guān)細(xì)節(jié)寫完,并且盡自己的能力,把術(shù)語解釋得稍微淺顯一點(diǎn)。
但對(duì)于特斯拉來說,它作為一家人工智能企業(yè)的生涯,也許才剛剛開始。
馬斯克在 AI Day 上面說「特斯拉其實(shí)也是全球最大的機(jī)器人生產(chǎn)公司,我們生產(chǎn)的是輪上機(jī)器人」。然后他帶來了真正的特斯拉機(jī)器人,并且明年就會(huì)有原型了。

無論是智能電動(dòng)汽車,還是人工智能,都還處于雛形階段。特斯拉、谷歌,或者國內(nèi)的新造車「御三家」、華為、百度,它們更像是「探索者」,而不是「收獲者」。
也正因?yàn)槿祟愊乱惠喩a(chǎn)力大解放還處在黎明前,我們才能看到趨勢(shì),預(yù)測(cè)變化,并且親眼見證變革。
DOJO 不會(huì)是特斯拉的終點(diǎn),也不會(huì)是人工智能的終點(diǎn),但多年之后回過頭來,它也許會(huì)是個(gè)「預(yù)兆」,或者說「開篇」。
(完)
來源:第一電動(dòng)網(wǎng)
作者:電動(dòng)星球News蟹老板
本文地址:http://www.vlxuusu.cn/kol/154651
文中圖片源自互聯(lián)網(wǎng),如有侵權(quán)請(qǐng)聯(lián)系admin#d1ev.com(#替換成@)刪除。