女人荫蒂被添全过程13种图片,亚洲+欧美+在线,欧洲精品无码一区二区三区 ,在厨房拨开内裤进入毛片

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

TPU深度解析 一文搞懂 TPU 谷歌專用集成電路(ASIC)

KiCad ? 來源:KiCad ? 作者:KiCad ? 2025-07-01 11:18 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文轉(zhuǎn)載自 Henry Ko 的 Blog,深入地解析了 TPU 的相關(guān)知識。

我最近一直在大量使用 TPU,很有趣地發(fā)現(xiàn)它們與 GPU 的設(shè)計理念有多么不同。

TPU 的主要優(yōu)勢在于其可擴(kuò)展性。這是通過硬件(例如,能效和模塊化)和軟件(例如,XLA 編譯器)的協(xié)同設(shè)計實現(xiàn)的。

背景

簡單來說,TPU 是谷歌的專用集成電路 (ASIC),專注于兩個因素:極高的矩陣乘法吞吐量 + 高能效。

它們的起源可以追溯到 2006 年的谷歌,當(dāng)時他們首次評估應(yīng)該采用 GPU、FPGA 還是定制 ASIC。那時只有少數(shù)應(yīng)用需要專門的硬件,他們認(rèn)為這些需求可以通過利用其大型數(shù)據(jù)中心多余的 CPU 計算能力來滿足。但情況在 2013 年發(fā)生了變化,當(dāng)時谷歌的語音搜索功能開始在神經(jīng)網(wǎng)絡(luò)上運行,內(nèi)部預(yù)測顯示,如果該功能大受歡迎,他們將需要更多的計算能力。

快進(jìn)到今天,TPU 為谷歌的大部分 AI 服務(wù)提供了動力。當(dāng)然,這包括 Gemini 或 Veo 的訓(xùn)練和推理,也包括部署他們的推薦模型 (DLRM)。

讓我們從底層向上深入了解 TPU 的內(nèi)部結(jié)構(gòu)。

TPU 單芯片層面

我的圖表將主要關(guān)注 TPUv4,但這種布局或多或少也適用于最新一代的 TPU(例如,TPUv6p "Trillium";截至 2025 年 6 月撰寫本文時,TPUv7 "Ironwood" 的細(xì)節(jié)尚未公布)。

以下是單個 TPUv4 芯片的布局:

wKgZO2hjU-GACHMbAADddTxSPIQ202.png

在每個芯片中,有兩個 TPU TensorCore,它們負(fù)責(zé)計算。(注意:專用于推理的 TPU 只有一個 TensorCore)。兩個 TensorCore 共享內(nèi)存單元:CMEM (128MiB) 和 HBM (32GiB)。

在每個 TensorCore 內(nèi)部,是我們的計算單元和更小的內(nèi)存緩沖區(qū):

  1. 矩陣乘法單元 (Matrix Multiply Unit, MXU)

  • 這是 TensorCore 的關(guān)鍵組件,是一個 128x128 的脈動陣列 (systolic array)。

  • 我們將在下面介紹脈動陣列。

  • 向量單元 (Vector Unit, VPU)

  • 用于通用的逐元素操作(例如 ReLU、逐點加/乘、規(guī)約操作)。

  • 向量內(nèi)存 (Vector Memory, VMEM; 32MiB)

  • 內(nèi)存緩沖區(qū)。數(shù)據(jù)在 TensorCore 進(jìn)行任何計算之前,會從 HBM 復(fù)制到 VMEM 中。

  • 標(biāo)量單元 + 標(biāo)量內(nèi)存 (Scalar Unit + SMEM; 10MiB)

  • 告訴 VPU 和 MXU 該做什么。

  • 管理控制流、標(biāo)量操作和內(nèi)存地址生成。

如果你熟悉 NVIDIA GPU,可能會對一些初步觀察感到困惑:

  1. TPU 上的片上內(nèi)存單元(CMEM、VMEM、SMEM)比 GPU 上的 L1、L2 緩存大得多。

  2. TPU 上的 HBM 也比 GPU 上的 HBM 小得多。

  3. 負(fù)責(zé)計算的“核心”似乎要少得多。

這與 GPU 的情況正好相反,GPU 擁有較小的 L1、L2 緩存(H100 分別為 256KB 和 50MB)、更大的 HBM(H100 為 80GB)以及數(shù)以萬計的核心。

在我們進(jìn)一步討論之前,請記住 TPU 能夠像 GPU 一樣實現(xiàn)極高的吞吐量。TPU v5p 每芯片可達(dá)到 500 TFLOPs/秒,一個包含 8960 個芯片的完整 Pod 大約可以達(dá)到 4.45 ExaFLOPs/秒。據(jù)說最新的 "Ironwood" TPUv7 每個 Pod(9216 chips)最高可達(dá) 42.5 ExaFLOPS/秒。

要理解 TPU 是如何實現(xiàn)這一點的,我們需要了解它們的設(shè)計理念。

TPU 設(shè)計理念

TPU 依靠兩大支柱和一個關(guān)鍵假設(shè),實現(xiàn)了驚人的吞吐量和能效:脈動陣列 + 流水線技術(shù)預(yù)先編譯 (Ahead-of-Time, AoT),以及假設(shè)大多數(shù)操作都可以用一種能很好地映射到脈動陣列的方式來表達(dá)。幸運的是,在我們現(xiàn)代的深度學(xué)習(xí)時代,矩陣乘法占據(jù)了計算的大部分,這非常適合脈動陣列。

TPU 設(shè)計選擇 #1: 脈動陣列 + 流水線技術(shù)

問:什么是脈動陣列 (Systolic Array)?

脈動陣列是一種硬件設(shè)計架構(gòu),由一個網(wǎng)格狀的互連處理單元 (Processing Element, PE) 組成。每個 PE 執(zhí)行一個小的計算(例如,乘法和累加),并將結(jié)果傳遞給相鄰的 PE。

wKgZO2hjU-GAJYBeAADnGAlXqSQ069.png

這種設(shè)計的好處在于,一旦數(shù)據(jù)被送入脈動陣列,就不再需要額外的控制邏輯來決定如何處理數(shù)據(jù)。此外,當(dāng)脈動陣列足夠大時,除了輸入和輸出,沒有其他的內(nèi)存讀/寫操作。

由于其剛性的組織結(jié)構(gòu),脈動陣列只能處理具有固定數(shù)據(jù)流模式的操作,但幸運的是,矩陣乘法和卷積完美地契合了這一范疇。

此外,通過流水線技術(shù),可以將計算與數(shù)據(jù)移動重疊起來。下面是一個在 TPU 上進(jìn)行流水線式逐點操作的圖示。

題外話:脈動陣列的缺點 - 稀疏性

你可以看到脈動陣列非常喜歡密集矩陣(即每個 PE 在幾乎每個周期都處于活動狀態(tài))。然而,其缺點在于,對于同樣大小的稀疏矩陣,性能沒有提升:即使是對于值為零的元素,PE 仍然需要執(zhí)行相同數(shù)量的周期來進(jìn)行計算。

如果深度學(xué)習(xí)社區(qū)更青睞不規(guī)則的稀疏性(例如 MoE),那么處理脈動陣列的這種系統(tǒng)性限制將變得更加重要。

TPU 設(shè)計選擇 #2: 預(yù)先編譯 (AoT) + 減少對緩存的依賴

本節(jié)回答了 TPU 如何通過TPU + XLA 編譯器的軟硬件協(xié)同設(shè)計來避免使用緩存,從而實現(xiàn)高能效。

首先,回想一下,傳統(tǒng)緩存是為了處理不可預(yù)測的內(nèi)存訪問模式而設(shè)計的。一個應(yīng)用程序的程序與另一個應(yīng)用程序的程序可能有著截然不同的內(nèi)存訪問模式。本質(zhì)上,緩存使硬件具有靈活性,能夠適應(yīng)各種應(yīng)用。這是 GPU 成為非常靈活的硬件的一大原因(注:與 TPU 相比)。

然而,緩存訪問(以及一般的內(nèi)存訪問)會消耗大量能量。下面是一個芯片上操作的能耗粗略估算(45nm, 0.9V; )。這里的關(guān)鍵信息是,內(nèi)存訪問和控制占據(jù)了我們大部分的能量,而算術(shù)運算的能耗則要低得多。

wKgZO2hjU-GAbDE7AAB_fzZWguM620.png

但是,如果你的應(yīng)用非常特定,其計算/內(nèi)存訪問模式高度可預(yù)測呢?

舉個極端的例子,如果我們的編譯器能夠提前計算出所有需要的內(nèi)存訪問,那么我們的硬件只需要一個便簽式內(nèi)存 (scratchpad memory) 作為緩沖區(qū)就足夠了,完全不需要緩存。

這正是 TPU 理念所追求的,也正是為什么 TPU 與 XLA 編譯器協(xié)同設(shè)計以實現(xiàn)這一目標(biāo)。XLA 編譯器通過提前分析計算圖來生成優(yōu)化的程序。

問:但是 JAX 也能很好地與 TPU 配合,可它們用的是 @jit?

JAX+XLA 在 TPU 上處于即時編譯 (JIT) 和預(yù)先編譯 (AOT) 的混合狀態(tài),因此會產(chǎn)生困惑。當(dāng)我們第一次在 JAX 中調(diào)用一個 jit 函數(shù)時,JAX 會追蹤它以創(chuàng)建一個靜態(tài)計算圖。這個圖被傳遞給 XLA 編譯器,在那里它被轉(zhuǎn)換成一個完全靜態(tài)的 TPU 二進(jìn)制文件。正是在這最后的轉(zhuǎn)換階段,會進(jìn)行 TPU 特定的優(yōu)化(例如,最小化內(nèi)存訪問)來為 TPU 定制處理過程。

但有一個注意事項:如果 jit 函數(shù)以不同的輸入形狀運行,就必須重新編譯和緩存。這就是為什么 JAX 在處理任何動態(tài)填充或依賴于輸入的不同長度的 for 循環(huán)層時表現(xiàn)不佳的原因。

當(dāng)然,這種方法聽起來很好,但也有不便的缺點。它缺乏靈活性,并且對編譯器的重度依賴是一把雙刃劍。

但為什么谷歌仍然堅持這種設(shè)計理念呢?

TPU 與能效 (TPUv4)

前面那張能耗圖并不能準(zhǔn)確代表 TPU,所以這里是 TPUv4 的能耗分解。請注意,TPUv4 是 7nm 工藝,而 45nm 的數(shù)據(jù)僅作對比 。

wKgZO2hjU-KADwnKAAI6tzTIpT0343.png

左邊的條形圖直觀地顯示了數(shù)值,但需要注意的一點是,現(xiàn)代芯片使用 HBM3,其能耗遠(yuǎn)低于這里顯示的 DDR3/4 DRAM。盡管如此,這表明內(nèi)存操作的能耗要高出幾個數(shù)量級。

這與現(xiàn)代規(guī)模法則 (scaling laws) 有很好的聯(lián)系:我們非常樂意增加浮點運算次數(shù) (FLOPS) 來換取內(nèi)存操作的減少。因此,減少內(nèi)存操作具有雙重的優(yōu)化效益,因為它們不僅使程序運行更快,而且能耗也更低。

TPU 多芯片層面

讓我們再一層,看看 TPU 在多芯片環(huán)境中的工作方式。

Tray 層面 (又稱 "板卡"; 4 芯片)

wKgZO2hjU-KAC3zXAABuWYIo3tQ176.png

一個 TPU tray 包含 4 個 TPU 芯片或 8 個 TensorCore(簡稱為“核心”)。每個 tray 都有自己的 CPU 主機(jī)(注意:對于推理型 TPU,一個主機(jī)訪問 2 個tray,因為它們每個芯片只有 1 個核心)。

主機(jī)與芯片的連接是 PCIe,但芯片與芯片之間的連接是核間互連 (Inter-Core Interconnect, ICI),它具有更高的帶寬。

但 ICI 連接可以延伸到更遠(yuǎn)的多個托盤。為此,我們需要上升到機(jī)架 (Rack) 層面。

機(jī)架 (Rack) 層面 (4x4x4 芯片)

TPU 特別令人興奮的部分在于其可擴(kuò)展性,我們從機(jī)架層面開始看到這一點。

一個 TPU 機(jī)架由 64 個 TPU 組成,它們以 4x4x4 的 3D 環(huán)面 (torus) 結(jié)構(gòu)連接。如果你看過谷歌下面這樣的 TPU 宣傳材料,那就是 8 個 TPU 機(jī)架的圖像。

wKgZO2hjU-KAIVcUAAaMbWkg5rw104.png

但在我們深入了解機(jī)架之前,需要澄清一些容易混淆的術(shù)語:機(jī)架 (rack) vs. Pod vs. Slice。

問:“TPU Rack”、“TPU Pod” 和 “TPU Slice” 之間有什么區(qū)別?

不同的谷歌資料對它們的使用略有不同,有時會將 "TPU Pods" 和 "TPU Slices" 互換使用。但在本文中,我們將遵循谷歌 TPU 論文和 GCP TPU 文檔中的定義。

  • TPU Rack (機(jī)架):

    • 包含 64 個芯片的物理單元。也稱為“立方體 (cube)”。

  • TPU Pod:

    • 可通過 ICI 和光纖連接的 TPU 的最大單元。

    • 也稱為 "Superpod" 或 "Full pod"。例如,TPUv4 的一個 TPU Pod 將由 4096 個芯片或 64 個 TPU 機(jī)架組成。

  • TPU Slice (切片):

    • 介于 4 個芯片和 Superpod 大小之間的任何 TPU 配置。

關(guān)鍵區(qū)別在于,TPU Rack 和 TPU Pod 是物理度量單位,而 TPU Slice 是一個抽象單位。當(dāng)然,設(shè)置 TPU Slice 有重要的物理屬性,但我們暫時將其抽象化。

現(xiàn)在,我們將使用物理度量單位:TPU Racks 和 TPU Pods。這是因為了解 TPU 系統(tǒng)是如何物理連接的,可以幫助我們更好地理解 TPU 的設(shè)計理念。

現(xiàn)在回到 TPU 機(jī)架 (針對 TPUv4):

一個 TPU 機(jī)架由 64 個芯片組成,通過 ICI 和光路交換 (Optical Circuit Switching, OCS) 連接在一起。本質(zhì)上,我們連接多個 tray 來模擬一個 64 芯片的系統(tǒng)。這種將小部件組合成超級計算機(jī)的主題在后面會繼續(xù)出現(xiàn)。

下面是單個 TPUv4 機(jī)架的圖示。它是一個 4x4x4 的 3D 環(huán)面,每個節(jié)點是一個芯片,藍(lán)色的箭頭是 ICI,而各個面上的線是 OCS。

wKgZO2hjU-KAEO9kAAG-BoJBPMU507.png

然而,這張圖引出了幾個問題。為什么 OCS 只用于各個面?換句話說,使用 OCS 有什么好處?有 3 大好處,我們稍后會介紹另外兩個。

OCS 的好處 #1: 環(huán)繞連接 (Wraparound)

通過環(huán)繞連接實現(xiàn)節(jié)點間更快的通信

OCS 還充當(dāng)給定 TPU 配置的環(huán)繞連接。這將兩個節(jié)點之間的最壞情況跳數(shù)從 N-1 跳減少到每個軸 (N-1)/2 跳,因為每個軸都變成了一個環(huán)(1D 環(huán)面)。

隨著我們進(jìn)一步擴(kuò)展,這種效應(yīng)變得更加重要,因為減少芯片間通信延遲對于高并行化至關(guān)重要。

題外話:并非所有 TPU 都具有 3D 環(huán)面拓?fù)?/span>

注意:較早的 TPU 代(例如 TPUv2, v3)和推理 TPU(例如 TPUv5e, TPUv6e)具有 2D 環(huán)面拓?fù)洌皇窍裣旅孢@樣的 3D 環(huán)面。然而,TPUv7 "Ironwood" 似乎是 3D 環(huán)面,盡管它被宣傳為推理芯片(注意:我只是根據(jù)他們的宣傳材料進(jìn)行假設(shè))。

wKgZO2hjU-KATDXJAACcOvCRVns591.png

完整 Pod 層面 (又稱 "Superpod"; TPUv4 為 4096 芯片)

就像我們將多個芯片連接起來組成一個 TPU 機(jī)架一樣,我們可以連接多個機(jī)架來組成一個大型的 Superpod。

Superpod 也指 TPU 可以達(dá)到的(僅使用 ICI 和 OCS)互連芯片的最大配置。接下來還有一個多 Pod 層面,但這必須通過較慢的互連,我們稍后會討論。

這個大小因代而異,但對于 TPUv4 是 4096 個芯片(即 64 個 4x4x4 芯片的機(jī)架)。對于最新的 TPUv7 "Ironwood",是 9216 個芯片。

下圖顯示了一個 TPUv4 的 Superpod。

wKgZO2hjU-KANqinAAFiekZFrJQ073.png

請注意每個立方體(即一個 TPU 機(jī)架)是如何通過 OCS 相互連接的。這也允許我們在一個 Pod 中獲取 TPU 的“切片”(slices)。

帶 OCS 的 TPU 切片

我們可以在 Pod 內(nèi)請求 TPU 的子集,這些就是 TPU 切片。但即使你想要 N 個芯片,也有多種拓?fù)淇晒┻x擇。

例如,假設(shè)你總共需要 512 個芯片。你可以要求一個立方體 (cube) (8x8x8)、一個雪茄形 (cigar shape) (4x4x32) 或一個矩形 (rectangle) (4x8x16)。選擇切片的拓?fù)浔旧砭褪且粋€超參數(shù)。

你選擇的拓?fù)鋾绊懝?jié)點之間的通信帶寬。這直接影響不同并行化方法的性能。

例如,對于全局通信 (all-to-all),如數(shù)據(jù)并行或張量并行,立方體 (例如 8x8x8) 會是首選,因為它具有最高的對分帶寬 (bisection bandwidth)。然而,對于流水線并行,雪茄形 (例如 4x4x32) 會更好,因為它可以更快地與順序?qū)油ㄐ牛僭O(shè)一個層適合一個 4x4 芯片的子切片)。

wKgZO2hjU-OAOHo3AAO8HTiwf1g771.png

當(dāng)然,最佳拓?fù)淙Q于模型,找到它本身就是一項工作。TPUv4 的論文 [9] 也對此進(jìn)行了測量,以顯示拓?fù)渥兓绾渭铀偻掏铝浚ㄗ⒁猓何也淮_定第一行指的是哪種 LLM 架構(gòu),因為它沒有具體說明)。

wKgZO2hjU-OAXZl3AAGARQ3uH54711.png

我們介紹了 TPU 切片,但還有一個重要特性有助于 TPU 的高運行穩(wěn)定性。

那就是由于 OCS,這些切片不必是連續(xù)的機(jī)架。這是我們前面沒有提到的使用 OCS 的第二個好處——可能也是最大的好處。

OCS 的好處 #2: (可重構(gòu)的) 非連續(xù)多節(jié)點切片

請注意,這與硬連線多個節(jié)點來模擬非連續(xù)切片是不同的。由于 OCS 是一個交換機(jī)而不是硬連線,節(jié)點之間的物理線路要少得多,因此允許更高的可擴(kuò)展性(即更大的 TPU Pod 尺寸)。

這允許大規(guī)模靈活的節(jié)點配置。例如,假設(shè)我們想在一個 Pod 上運行三個作業(yè)。雖然樸素的調(diào)度不允許這樣做,但 OCS 連接允許我們抽象出節(jié)點的位置,并將整個 Pod 僅僅看作一個 “節(jié)點袋” (bag of nodes)。

wKgZO2hjU-OAF6qTAAGzI8j6_o4321.png

這提高了 Pod 的利用率,并且在節(jié)點發(fā)生故障時可能使維護(hù)更容易。谷歌將其描述為**“故障節(jié)點的爆炸半徑很小”。然而,我不確定當(dāng)只有某些節(jié)點必須關(guān)閉時,其液體冷卻會受到怎樣的影響。

最后,這種靈活的 OCS 還有一個有趣的擴(kuò)展:我們還可以改變 TPU 切片的拓?fù)洌鐝某R?guī)環(huán)面變?yōu)榕でh(huán)面 (twisted torus)。

OCS 的好處 #3: 扭曲的 TPU 拓?fù)?/span>

我們之前看到了如何通過改變固定芯片數(shù)量的 (x,y,z) 維度來獲得不同的 TPU 切片拓?fù)洹H欢@次我們將在固定的 (x,y,z) 維度下工作,但改變它們的連接方式以實現(xiàn)不同的拓?fù)洹?/span>

一個顯著的例子是從雪茄形的常規(guī)環(huán)面變?yōu)槿缦滤镜呐で┣循h(huán)面。

wKgZO2hjU-OAaTkWAAF0OCk2KqQ933.png

扭曲環(huán)面允許在扭曲的 2D 平面上的芯片之間進(jìn)行更快的通信。這對于加速全局通信 (all-to-all) 特別有用。

讓我們更深入地探討一下,想象一個具體的場景,這會有所幫助。

使用扭曲環(huán)面加速訓(xùn)練

理論上,扭曲環(huán)面對張量并行 (Tensor Parallel, TP) 的好處最大,因為每層都有多個 all-gather 和 reduce-scatter 操作。它可能對數(shù)據(jù)并行 (Data Parallel, DP) 帶來中等的好處,因為每個訓(xùn)練步驟也有一個 all-reduce,但這會不那么頻繁。

想象一下,我們正在訓(xùn)練一個標(biāo)準(zhǔn)的 decoder-only transformer,并且我們想采用大量的并行化來加速訓(xùn)練。我們將在下面看到兩種情況。

場景 #1: 4x4x16 拓?fù)?(TP + PP; 總共 256 芯片)

我們的 z 軸將是我們的流水線并行 (Pipeline Parallel, PP) 維度,我們的 2D TP 維度將是 4x4。本質(zhì)上,假設(shè)每個層 k 位于 z=k,并且每個層在 16 個芯片上分片。如果沒有明確繪制,則假定標(biāo)準(zhǔn)的 OCS 連接(即最近鄰)。

wKgZO2hjU-OAQC_SAAJvtCLXOIw904.png

我們將在每個 z=k 處扭曲 2D 環(huán)面,這使得每個 TP 層中的芯片之間的通信更快。沿著我們的 PP 維度扭曲是不必要的,因為它們主要依賴于點對點通信。

注意: 實際上,當(dāng)芯片數(shù)量大于 4x4 時,扭曲環(huán)面才會帶來好處。我們在這里使用 4x4 僅為可視化目的。

場景 #2: 16x4x16 拓?fù)?(DP + TP + PP; 總共 1024 芯片)

作為擴(kuò)展,我們將在之前的場景中添加一個大小為 4 的 DP 維度。這意味著沿著 x 軸有 4 個場景 #1 的模型。

wKgZO2hjU-OAZGrwAAGFxoEdTJ0737.png

請注意扭曲環(huán)面如何僅限于每個 DP 模型的每個 TP 維度(即,對于給定的 k=1…16,在每個 z=k 處的一個 4x4 的 2D 平面)。DP 維度只有一個環(huán)繞連接,以便每行成為一個大小為 16 的水平環(huán)。

你可能已經(jīng)注意到,還有一種 8x8x16 的替代拓?fù)洌?2x2 DP 維度),但這變得更加復(fù)雜,因為我們混合了 DP 和 TP 維度。具體來說,不清楚我們應(yīng)該如何為 y 軸構(gòu)建 OCS 環(huán)繞連接,同時為每個 TP 維度容納扭曲環(huán)面。

多 Pod 層面 (又稱 "Multislice"; TPUv4 為 4096+ 芯片)

wKgZO2hjU-OAG4DNAAAl0yYnDR0949.png

TPU 層次結(jié)構(gòu)的最后一層是多 Pod 層面。在這里,你可以將多個 Pod 視為一臺大型機(jī)器。然而,Pod 之間的通信是通過數(shù)據(jù)中心網(wǎng)絡(luò) (Data-Center Network, DCN)完成的,其帶寬低于 ICI。

wKgZO2hjU-SAZiNDAAFp-5KIQZM108.png

圖示多 Pod 訓(xùn)練如何配置

PaLM 就是這樣訓(xùn)練的。它花了 56 天在 6144 個 TPUv4(2個 Pod)上進(jìn)行訓(xùn)練。下面你可以看到 6 個 Pod 上的 TPU 作業(yè)分配:綠色是 PaLM,紅色是未分配,其余是其他作業(yè)。注意,每個方塊是一個 4x4x4 的 TPU 立方體。

實現(xiàn)這一點本身就很困難,但更令人印象深刻的是對開發(fā)者體驗的關(guān)注。具體來說,是關(guān)注 “我們?nèi)绾尾拍鼙M可能地抽象化模型擴(kuò)展的系統(tǒng)/硬件部分?” 這個問題。

谷歌的答案是讓 XLA 編譯器負(fù)責(zé)協(xié)調(diào)大規(guī)模芯片間的通信。通過研究人員提供的正確標(biāo)志(即 DP、FSDP、TP 的并行維度、切片數(shù)量等),XLA 編譯器會為手頭的 TPU 拓?fù)洳迦胝_的分層集合通信操作。目標(biāo)是以盡可能少的代碼更改來實現(xiàn)大規(guī)模訓(xùn)練。

例如,這里是谷歌博客 [1] 中跨多個切片的 all-reduce 操作的分解。

wKgZO2hjU-SAAa-CAAInXT6a7tE798.png

這表明 XLA 編譯器負(fù)責(zé)處理切片之間和切片內(nèi)部的通信集合操作。

舉一個具體的例子,訓(xùn)練模型可能存在如下的 TPU 拓?fù)洹<せ钪低ㄐ磐ㄟ^ ICI 在切片內(nèi)發(fā)生,而梯度通信將通過 DCN 跨切片發(fā)生(即跨 DCN DP 維度)。

wKgZO2hjU-SAe70VAAVArrn--K0898.png

將圖表與現(xiàn)實聯(lián)系起來

當(dāng)你看到硬件的實際照片時,將圖表與現(xiàn)實聯(lián)系起來會很有幫助。下面是一個總結(jié)。

如果你看過谷歌 TPU 宣傳材料的圖片,你可能見過下面這張圖。

wKgZO2hjU-SATkv8AAaLn2eB1Z4216.png

這是 8 個 TPU 機(jī)架,每個單元是我們上面看到的 4x4x4 的 3D 環(huán)面。一個機(jī)架中的每一行有 2 個托盤,這意味著每行有 8 個 TPU 芯片。

這是一個 TPUv4 的單托盤:

wKgZO2hjU-SANjEVAAIZoQ6l3tA708.png

注意,圖示被簡化為只有一個 PCIe 端口,但實際托盤上有 4 個 PCIe 端口(在左側(cè))——每個 TPU 一個。

下面是一個單芯片:

wKgZO2hjU-SABe0JAAG-SusmBUE325.png

中間部分是 ASIC,周圍的 4 個塊是 HBM 堆棧。我們看到的是一個 TPU v4,所以它內(nèi)部有 2 個 TensorCore,因此總共有 4 個 HBM 堆棧。

我沒找到 TPUv4 的芯片平面圖,所以這里有一個 TPUv4i 的,它很相似,只是因為它是一個推理芯片,所以只有一個 TensorCore。

wKgZO2hjU-SASuCkAAC8wZQqZ_g635.png

請注意 CMEM 在 TPUv4i 的布局上占了相當(dāng)大的空間。


原文轉(zhuǎn)載自:https://henryhmko.github.io/posts/tpu/tpu.html,經(jīng)過翻譯、校對。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1645

    文章

    22015

    瀏覽量

    616834
  • asic
    +關(guān)注

    關(guān)注

    34

    文章

    1245

    瀏覽量

    122207
  • gpu
    gpu
    +關(guān)注

    關(guān)注

    28

    文章

    4928

    瀏覽量

    130967
  • TPU
    TPU
    +關(guān)注

    關(guān)注

    0

    文章

    153

    瀏覽量

    21145
  • KiCAD
    +關(guān)注

    關(guān)注

    5

    文章

    250

    瀏覽量

    9433
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    電機(jī)驅(qū)動與控制專用集成電路及應(yīng)用

    的功率驅(qū)動部分。前級控制電路容易實現(xiàn)集成,通常是模擬數(shù)字混合集成電路。對于小功率系統(tǒng),末級驅(qū)動電路也已集成化,稱之為功率
    發(fā)表于 04-24 21:30

    電機(jī)控制專用集成電路PDF版

    本書共13章。第1章緒論,介紹國內(nèi)外電機(jī)控制專用集成電路發(fā)展情況,電機(jī)控制和運動控制、智能功率集成電路概況,典型閉環(huán)控制系統(tǒng)可以集成的部分和要求。第2~7章,分別敘述直流電動機(jī)、無刷直流電動機(jī)、步進(jìn)
    發(fā)表于 04-22 17:02

    TPU處理器的特性和工作原理

    張量處理單元(TPU,Tensor Processing Unit)是種專門為深度學(xué)習(xí)應(yīng)用設(shè)計的硬件加速器。它的開發(fā)源于對人工智能(AI)和機(jī)器學(xué)習(xí)應(yīng)用的需求,尤其是深度學(xué)習(xí)中的神經(jīng)
    的頭像 發(fā)表于 04-22 09:41 ?1306次閱讀
    <b class='flag-5'>TPU</b>處理器的特性和工作原理

    谷歌第七代TPU Ironwood深度解讀:AI推理時代的硬件革命

    谷歌第七代TPU Ironwood深度解讀:AI推理時代的硬件革命 Google 發(fā)布了 Ironwood,這是其第七代張量處理單元 (TPU),專為推理而設(shè)計。這款功能強(qiáng)大的 AI
    的頭像 發(fā)表于 04-12 11:10 ?1715次閱讀
    <b class='flag-5'>谷歌</b>第七代<b class='flag-5'>TPU</b> Ironwood<b class='flag-5'>深度</b>解讀:AI推理時代的硬件革命

    谷歌TPU 芯片 Ironwood:助力大規(guī)模思考與推理的 AI 模型新引擎?

    電子發(fā)燒友網(wǎng)報道( / 李彎彎)日前,谷歌在 Cloud Next 大會上,隆重推出了最新TPU AI 加速芯片 ——Ironwood。據(jù)悉,該芯片預(yù)計于今年晚些時候面向 Go
    的頭像 發(fā)表于 04-12 00:57 ?2288次閱讀

    TPU編程競賽系列|第九屆集創(chuàng)賽“算能杯”火熱報名中!

    第九屆全國大學(xué)生集成電路創(chuàng)新創(chuàng)業(yè)大賽(以下簡稱“集創(chuàng)賽”)正式開始報名。算能在處理器應(yīng)用方向特別設(shè)立了“TPU賦能的邊緣計算架構(gòu)優(yōu)化與創(chuàng)新應(yīng)用設(shè)計”賽題,誠邀各校參賽隊伍充分發(fā)揮TPU的算力優(yōu)勢
    的頭像 發(fā)表于 02-06 13:41 ?1074次閱讀
    <b class='flag-5'>TPU</b>編程競賽系列|第九屆集創(chuàng)賽“算能杯”火熱報名中!

    ASIC集成電路在人工智能中的應(yīng)用

    的性能和能效比。以下是對ASIC集成電路在人工智能中應(yīng)用的分析: ASIC集成電路的優(yōu)勢 高性能 :
    的頭像 發(fā)表于 11-20 16:03 ?2011次閱讀

    ASIC集成電路如何提高系統(tǒng)效率

    在現(xiàn)代電子系統(tǒng)中,效率和性能是衡量個系統(tǒng)優(yōu)劣的關(guān)鍵指標(biāo)。隨著技術(shù)的發(fā)展,ASIC集成電路因其高度定制化和優(yōu)化的特性,在提高系統(tǒng)效率方面發(fā)揮著越來越重要的作用。 ASIC的定義和特點
    的頭像 發(fā)表于 11-20 15:57 ?903次閱讀

    ASIC集成電路與通用芯片的比較

    ASIC集成電路與通用芯片在多個方面存在顯著差異。以下是對這兩者的比較: 、定義與用途 ASIC集成電路
    的頭像 發(fā)表于 11-20 15:56 ?1929次閱讀

    ASIC集成電路在物聯(lián)網(wǎng)中的應(yīng)用

    物聯(lián)網(wǎng),簡而言之,就是通過互聯(lián)網(wǎng)將各種物品連接起來,實現(xiàn)智能化管理和控制。它涉及到傳感器、網(wǎng)絡(luò)通信、數(shù)據(jù)處理等多個領(lǐng)域,旨在提高效率、降低成本,并為用戶帶來更好的體驗。 2. ASIC集成電路的定義與特點 ASIC
    的頭像 發(fā)表于 11-20 15:53 ?1219次閱讀

    ASIC集成電路設(shè)計中的常見問題

    ASIC專用集成電路集成電路設(shè)計過程中,設(shè)計師們可能會遇到系列常見問題。以下是對這些問題的歸納與解析
    的頭像 發(fā)表于 11-20 15:46 ?1127次閱讀

    ASIC集成電路應(yīng)用領(lǐng)域 ASIC集成電路的優(yōu)缺點分析

    隨著電子技術(shù)的發(fā)展,集成電路(IC)在各個領(lǐng)域扮演著越來越重要的角色。ASIC集成電路作為其中種特殊類型的集成電路,因其高度定制化的特點,
    的頭像 發(fā)表于 11-20 15:04 ?3801次閱讀

    ASIC集成電路與FPGA的區(qū)別

    ASIC專用集成電路)與FPGA(現(xiàn)場可編程門陣列)是兩種不同的集成電路技術(shù),它們在多個方面存在顯著的區(qū)別。以下是兩者的主要差異: 、設(shè)計與制造
    的頭像 發(fā)表于 11-20 15:02 ?1129次閱讀

    ASIC集成電路設(shè)計流程

    ASIC(Application Specific Integrated Circuit)即專用集成電路,是指應(yīng)特定用戶要求和特定電子系統(tǒng)的需要而設(shè)計、制造的集成電路ASIC
    的頭像 發(fā)表于 11-20 14:59 ?1933次閱讀

    TPU v1到Trillium TPU,蘋果等科技公司使用谷歌TPU進(jìn)行AI計算

    電子發(fā)燒友網(wǎng)報道(/李彎彎)7月30日消息,蘋果公司周篇技術(shù)論文中表示,支撐其人工智能系統(tǒng)Apple Intelligence的兩個人工智能模型是在谷歌設(shè)計的云端芯片上進(jìn)行預(yù)訓(xùn)
    的頭像 發(fā)表于 07-31 01:08 ?3861次閱讀
    主站蜘蛛池模板: 浦东新区| 额尔古纳市| 栾川县| 巩义市| 宝应县| 交口县| 巢湖市| 通山县| 榕江县| 芒康县| 工布江达县| 万宁市| 乐至县| 绵竹市| 普定县| 辰溪县| 合川市| 安阳县| 兴化市| 和田市| 榕江县| 延津县| 泊头市| 阿图什市| 疏附县| 龙陵县| 阳山县| 青岛市| 洮南市| 沧州市| 攀枝花市| 吴江市| 房山区| 彭山县| 鄄城县| 阿拉善盟| 沙田区| 北海市| 丰宁| 枝江市| 清水河县|