精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

TPU Deep Dive:Google TPU 架構(gòu)深度分析 原創(chuàng) 精華

發(fā)布于 2025-7-30 10:46
瀏覽
0收藏

編者按: 在人工智能算力軍備競(jìng)賽愈演愈烈的今天,為什么 Google 會(huì)選擇與主流 GPU 截然不同的技術(shù)路線,開發(fā)出架構(gòu)獨(dú)特的 TPU?這種專用芯片究竟憑借什么優(yōu)勢(shì),能夠支撐起 Gemini、Veo 等 AI 模型的訓(xùn)練與推理?

文章從單芯片架構(gòu)出發(fā),深入剖析了 TPU 的核心設(shè)計(jì)理念:首先解釋了 TPU 如何通過脈動(dòng)陣列和流水線技術(shù)優(yōu)化矩陣運(yùn)算,然后闡述了 XLA 編譯器如何通過預(yù)先編譯減少緩存依賴,大幅降低能耗。在多芯片層面,作者詳細(xì)介紹了 TPU 從托盤、機(jī)架、Pod 到 Multi-Pod 的層級(jí)擴(kuò)展架構(gòu),特別是 OCS 光交換技術(shù)如何實(shí)現(xiàn)靈活的拓?fù)渲貥?gòu)和故障容錯(cuò)。文章還通過具體案例展示了不同拓?fù)浣Y(jié)構(gòu)對(duì)并行訓(xùn)練策略的影響,以及 Multi-Pod 架構(gòu)如何支撐超大規(guī)模模型訓(xùn)練。

作者 | Henry Ko

編譯 | 岳揚(yáng)

最近我大量使用 TPU,發(fā)現(xiàn)它們與 GPU 的設(shè)計(jì)理念非常不同,感覺很有趣。

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

01 背景信息

簡(jiǎn)單介紹一下 TPU,它是谷歌的專用集成電路(ASIC),其設(shè)計(jì)聚焦于兩大要素:極高的矩陣運(yùn)算(matmul)吞吐量和能源效率。

它們的起源可追溯到 2006 年的谷歌。當(dāng)時(shí),他們正在評(píng)估是采用 GPU、FPGA 還是定制的 ASIC。當(dāng)時(shí),只有少數(shù)應(yīng)用需要使用專用硬件,他們判斷通過從大型數(shù)據(jù)中心調(diào)配多余的 CPU 算力即可滿足這些需求。但這一情況在 2013 年發(fā)生了變化,當(dāng)時(shí)谷歌的語音搜索功能運(yùn)行在神經(jīng)網(wǎng)絡(luò)上,而內(nèi)部預(yù)測(cè)認(rèn)為,如果該功能發(fā)展起來,將需要遠(yuǎn)超以往的算力。

時(shí)至今日,TPU 已為谷歌的大多數(shù)人工智能服務(wù)提供算力支撐。當(dāng)然,也包括 Gemini 或 Veo 的訓(xùn)練和推理,也包括他們的推薦模型。

讓我們從底層開始,深入了解一下 TPU 的內(nèi)部構(gòu)造。

02 單個(gè) TPU 芯片內(nèi)部的架構(gòu)層級(jí)

下文圖示均以 TPUv4 為例,但其整體布局基本也適用于最新一代 TPU(如 TPUv6p “Trillium”。TPUv7 “Ironwood” 的細(xì)節(jié)截至 2025 年 6 月尚未公布)。

單顆 TPUv4 芯片的結(jié)構(gòu)如下:

TPU Deep Dive:Google TPU 架構(gòu)深度分析-AI.x社區(qū)

TPU Single Chip + TensorCore

每顆芯片內(nèi)含兩個(gè) TPU TensorCore,負(fù)責(zé)所有計(jì)算。(注:面向推理的專用 TPU 僅有一個(gè) TensorCore)。兩個(gè) TensorCore 共享同一份內(nèi)存:CMEM(128 MiB)和 HBM(32 GiB)。

而在每個(gè) TensorCore 內(nèi)部,都有計(jì)算單元和較小的內(nèi)存緩沖區(qū):

1)矩陣乘法單元 (MXU)

  • 這是 TensorCore 的核心部件,是一個(gè) 128x128 的脈動(dòng)陣列(systolic array)。

脈動(dòng)陣列的原理稍后說明。

2)向量單元(VPU)

  • 負(fù)責(zé)執(zhí)行通用的逐元素操作(例如 ReLU、點(diǎn)加/點(diǎn)乘、歸約操作)

3)向量?jī)?nèi)存(VMEM;32 MiB)

  • 內(nèi)存緩沖區(qū)。HBM 中的數(shù)據(jù)需先復(fù)制到 VMEM,TensorCore 才能開始計(jì)算。

4)標(biāo)量單元 + 標(biāo)量?jī)?nèi)存(SMEM;10 MiB)

  • 用于調(diào)度 VPU 和 MXU 的執(zhí)行指令。
  • 負(fù)責(zé)管理控制流、標(biāo)量運(yùn)算和內(nèi)存地址生成。

如果你使用的是英偉達(dá)(NVIDIA)GPU,那么一些初步觀察結(jié)果可能會(huì)讓你大吃一驚:

1)TPU 的片上內(nèi)存單元(CMEM、VMEM、SMEM)遠(yuǎn)大于 GPU 的 L1/L2 緩存。

2)TPU 的 HBM 容量卻遠(yuǎn)小于 GPU 的 HBM。

3)負(fù)責(zé)計(jì)算的"核心"(cores)數(shù)量明顯更少。

這與 GPU 架構(gòu)完全相反 —— GPU 擁有較小的 L1/L2 緩存(以 H100 為例,分別為 256KB 和 50MB)、更大的 HBM(H100 為 80GB)以及數(shù)以萬計(jì)的計(jì)算核心(cores)。

在我們進(jìn)一步討論之前,需明確的是,TPU 與 GPU 同樣具備極高的吞吐量。單顆 TPU v5p 芯片可達(dá) 500 TFLOPs/sec,由 8960 顆芯片組成的完整 pod 集群可實(shí)現(xiàn)約 4.45 ExaFLOPs/sec。而最新的 "Ironwood" TPUv7 每個(gè) pod(9216 顆芯片)據(jù)稱可達(dá) 42.5 ExaFLOPS/sec。

要理解 TPU 如何實(shí)現(xiàn)這種性能,我們需要深入探究其設(shè)計(jì)理念。

03 TPU 的設(shè)計(jì)理念

TPU 通過兩大技術(shù)支柱和一個(gè)核心前提實(shí)現(xiàn)了驚人的吞吐量與能源效率:systolic array(脈動(dòng)陣列) + pipelining(流水線)、Ahead-of-Time (AoT) compilation(預(yù)先編譯),以及假設(shè)絕大多數(shù)運(yùn)算都可通過適配 systolic array(脈動(dòng)陣列)的方式表達(dá)。幸運(yùn)的是,在現(xiàn)代深度學(xué)習(xí)(DL)領(lǐng)域,計(jì)算的大部分都是矩陣運(yùn)算,而這些運(yùn)算都適合使用 systolic array(脈動(dòng)陣列)。

3.1 TPU 設(shè)計(jì)選擇之一:Systolic Array + Pipelining

問:什么是 Systolic Array?

答:Systolic Array 是一種硬件設(shè)計(jì)架構(gòu),由相互連接的處理單元(PE)網(wǎng)格組成。每個(gè) PE 執(zhí)行少量運(yùn)算(例如乘法和累加運(yùn)算),并將結(jié)果傳遞給相鄰 PE。

TPU Deep Dive:Google TPU 架構(gòu)深度分析-AI.x社區(qū)

這種設(shè)計(jì)的好處是,數(shù)據(jù)一旦輸入 systolic array(脈動(dòng)陣列),便無需額外的控制邏輯來處理數(shù)據(jù)。此外,當(dāng)脈動(dòng)陣列的規(guī)模足夠大時(shí),除輸入輸出外再無內(nèi)存讀寫操作。

由于脈動(dòng)陣列的剛性結(jié)構(gòu)設(shè)計(jì)(rigid organization),其僅能處理具有固定數(shù)據(jù)流模式的操作,但幸運(yùn)的是,矩陣乘法和卷積運(yùn)算(convolutions)恰好完美適配這種架構(gòu)范式。

不僅如此,pipelining(流水線技術(shù))顯然有機(jī)會(huì)將計(jì)算與數(shù)據(jù)移動(dòng)重疊執(zhí)行。下圖展示了 TPU 架構(gòu)上 pipelined pointwise operation (通過流水線技術(shù),加速 pointwise operation(逐點(diǎn)操作) 的執(zhí)行過程。)的示意圖。

TPU Deep Dive:Google TPU 架構(gòu)深度分析-AI.x社區(qū)

Pipelined Pointwise Operation (from "How to Scale Your Model" [4])

旁注:Systolic Arrays(脈動(dòng)陣列)的局限性 —— 稀疏性

我們可以看到,脈動(dòng)陣列(systolic arrays)非常喜歡稠密矩陣(dense matrices)(即每個(gè) PE 幾乎每個(gè)時(shí)鐘周期都處于活躍狀態(tài))。然而,其劣勢(shì)是,相同規(guī)模的稀疏矩陣(sparse matrices)無法獲得性能提升 —— 即使對(duì)于零值元素(zero-valued elements),PE 仍需執(zhí)行相同數(shù)量的計(jì)算周期(cycles),導(dǎo)致資源浪費(fèi)。

如若深度學(xué)習(xí)(DL)領(lǐng)域更傾向于采用更不規(guī)則的稀疏性(例如 MoE 架構(gòu)),應(yīng)對(duì)脈動(dòng)陣列的這一系統(tǒng)性局限將變得愈發(fā)重要。

3.2 TPU 設(shè)計(jì)選擇之二:預(yù)先(AoT)編譯 + 減少對(duì)緩存的依賴

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

首先,請(qǐng)記住傳統(tǒng)緩存是為了處理不可預(yù)測(cè)的內(nèi)存訪問模式而設(shè)計(jì)的。一個(gè)應(yīng)用程序的內(nèi)存訪問模式(memory access patterns),可能與另一個(gè)應(yīng)用程序大相徑庭。從本質(zhì)上講,緩存允許硬件靈活地適應(yīng)各種應(yīng)用場(chǎng)景。這也是 GPU(相較于 TPU)靈活性極高的一個(gè)重要原因。

然而,緩存訪問(以及一般意義上的內(nèi)存訪問)會(huì)消耗大量能源。下面是對(duì)芯片(45納米,0.9V;[18])上各類操作的能耗粗略估計(jì)。這里的主要啟示是,內(nèi)存的訪問和控制占用了大部分的能耗,而算術(shù)操作本身的能耗占比則小得多。

TPU Deep Dive:Google TPU 架構(gòu)深度分析-AI.x社區(qū)

但是,如果你的應(yīng)用非常特殊,而且其計(jì)算和內(nèi)存訪問模式具有很高的可預(yù)測(cè)性呢?

舉個(gè)極端的例子,如果我們的編譯器能提前確定所有需要的內(nèi)存訪問,那么硬件僅需一個(gè)暫存器作為緩沖區(qū)就足以滿足需求,根本不需要緩存。

這正是 TPU 的設(shè)計(jì)理念所追求的,也是 TPU 使用 XLA 編譯器設(shè)計(jì)以實(shí)現(xiàn)這一目標(biāo)的根本原因。XLA 編譯器通過提前分析計(jì)算圖來生成優(yōu)化過的程序。

問:但 JAX 在 TPU 上也運(yùn)行良好,它們使用 @jit 嗎?

TPU 上的 JAX+XLA 實(shí)際處于 JIT 與 AOT 的混合模式,因此容易產(chǎn)生混淆。當(dāng)首次調(diào)用 JAX 中被 @jit 修飾的函數(shù)時(shí),JAX 會(huì)進(jìn)行代碼追蹤并生成靜態(tài)計(jì)算圖。然后將其傳遞給 XLA 編譯器,在那里被轉(zhuǎn)化為適用于 TPU 的完全靜態(tài)二進(jìn)制文件。在最后的轉(zhuǎn)化階段,編譯器會(huì)實(shí)施針對(duì) TPU 的優(yōu)化(例如,最大限度地減少內(nèi)存訪問),使整個(gè)過程適合 TPU。

但有一點(diǎn)需要注意:當(dāng)輸入張量的形狀(shape)發(fā)生變化時(shí),已編譯的 JIT 函數(shù)需重新編譯并緩存。這就是為什么 JAX 在處理動(dòng)態(tài)填充(dynamic padding)或長(zhǎng)度隨輸入變化的 for 循環(huán)層時(shí)表現(xiàn)不佳。

當(dāng)然,這種方案雖有優(yōu)勢(shì),卻也存在明顯的局限。它缺乏靈活性,而對(duì)編譯器的重度依賴猶如一把雙刃劍。

那么,Google 為何仍要堅(jiān)持這種設(shè)計(jì)理念?

TPU 及其能源效率(TPUv4)

前文的能耗示意圖并不能精確反映 TPU 的實(shí)際情況,此處是 TPUv4 的能耗細(xì)目。注意,TPUv4 采用 7nm 工藝,表中 45nm 的數(shù)據(jù)僅用于對(duì)比([3], [16])。

TPU Deep Dive:Google TPU 架構(gòu)深度分析-AI.x社區(qū)

TPU Deep Dive:Google TPU 架構(gòu)深度分析-AI.x社區(qū)

單次操作能耗對(duì)比(TPUv4, 7 nm)

上方的柱狀圖展示了具體數(shù)值,但需注意,現(xiàn)代芯片采用的是 HBM3 內(nèi)存,其能耗遠(yuǎn)低于本圖表中顯示的 DDR3/4 DRAM。盡管如此,該圖仍表明內(nèi)存操作的能耗仍高出計(jì)算操作數(shù)個(gè)數(shù)量級(jí)。

這恰與 scaling laws 形成呼應(yīng):我們非常樂意通過增加浮點(diǎn)運(yùn)算量(FLOPS)來換取更少的內(nèi)存操作。因此減少內(nèi)存操作能帶來雙重優(yōu)化收益——不僅提升程序運(yùn)行速度,還可顯著降低能耗。

04 TPU 的多芯片互聯(lián)層級(jí)結(jié)構(gòu)

現(xiàn)在升級(jí)到更高層級(jí),觀察 TPU 在多芯片環(huán)境中的運(yùn)作方式。

4.1 托盤層級(jí)(即"板卡";含4個(gè)芯片)

TPU Deep Dive:Google TPU 架構(gòu)深度分析-AI.x社區(qū)

單塊 TPU 托盤包含 4 個(gè) TPU 芯片或 8 個(gè) TensorCore(簡(jiǎn)稱"核心")。每塊托盤配備獨(dú)立 CPU 主機(jī)(注:推理型 TPU 的每個(gè)主機(jī)可訪問 2 塊托盤,因其每芯片僅含 1 個(gè)核心)。

主機(jī)(Host) ? 芯片(Chip)的連接采用 PCIe 接口,但芯片(Chip)?芯片(Chip)之間通過 Inter-Core Interconnect(ICI)連接,該接口具備更高帶寬。

不過 ICI 連接還可進(jìn)一步擴(kuò)展至多塊托盤。為此,我們需要繼續(xù)提升到機(jī)架層級(jí)(Rack level)。

4.2 機(jī)架層級(jí)(4x4x4 芯片)

TPU 最令人興奮的特性在于其可擴(kuò)展性,這一點(diǎn)從機(jī)架層級(jí)開始顯現(xiàn)。

一個(gè) TPU 機(jī)架包含 64 個(gè) TPU 芯片,通過 4x4x4 三維環(huán)面網(wǎng)絡(luò)互聯(lián)。如果您看過谷歌的 TPU 宣傳資料(如下圖),這張圖展示的是 8 個(gè) TPU 機(jī)架的集群。

TPU Deep Dive:Google TPU 架構(gòu)深度分析-AI.x社區(qū)

8 個(gè) TPU 機(jī)架(TPUv4)

但在深入討論機(jī)架之前,我們需要澄清幾個(gè)容易混淆的術(shù)語:機(jī)架(Rack)、Pod 和切片(Slice)的區(qū)別。

問:TPU 機(jī)架、TPU Pod 和 TPU 切片有何不同?

不同谷歌資料對(duì)這些術(shù)語的使用存在差異,有時(shí)甚至混用"TPU Pod"和"TPU Slice"。本文采用谷歌 TPU 論文和 GCP 官方文檔的定義([3][7][9]):

1)TPU 機(jī)架(Rack)

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

2)TPU Pod

  • 通過 ICI 和光纖連接的 TPU 最大單元。
  • 又稱"Superpod"或"Full Pod"。例如 TPUv4 的 TPU Pod 包含 4096 塊芯片(或 64 個(gè)機(jī)架)。

3)TPU 切片(Slice)

  • 介于 4 塊芯片到 Superpod 規(guī)模之間的任何 TPU 配置組合。

主要區(qū)別在于,TPU 機(jī)架和 TPU Pod 是物理計(jì)量單位,而 TPU 切片是抽象計(jì)量單位。當(dāng)然,TPU 切片的設(shè)置涉及重要的物理拓?fù)浼s束,但現(xiàn)階段我們暫不展開討論。

現(xiàn)在,我們將聚焦物理計(jì)量單位:TPU 機(jī)架和 TPU Pod。這是因?yàn)椋斫?TPU 系統(tǒng)的物理連接方式,能更深入地掌握其設(shè)計(jì)哲學(xué)。

現(xiàn)在回到 TPUv4 機(jī)架的具體結(jié)構(gòu):

單個(gè) TPU 機(jī)架通過 ICI 和 OCS(Optical Circuit Switching)技術(shù)連接 64 個(gè)芯片。實(shí)質(zhì)上,我們通過組合多個(gè)托盤(trays)來構(gòu)建一個(gè) 64 芯片的完整系統(tǒng)。這種"將小型單元組裝成超級(jí)計(jì)算機(jī)"的設(shè)計(jì)理念將持續(xù)貫穿后續(xù)層級(jí)。

下圖展示了 TPUv4 單個(gè)機(jī)架的拓?fù)浣Y(jié)構(gòu)。它采用 4x4x4 三維環(huán)面網(wǎng)絡(luò),其中每個(gè)節(jié)點(diǎn)都代表一塊芯片,藍(lán)色箭頭表示 ICI 鏈路,而各個(gè)面上的連接線則代表 OCS(根據(jù)文獻(xiàn) [7] 重繪)。

TPU Deep Dive:Google TPU 架構(gòu)深度分析-AI.x社區(qū)

使用 OCS 的 TPU 單機(jī)架架構(gòu)

然而,這張圖表引出了兩個(gè)關(guān)鍵問題:為何 OCS 僅應(yīng)用于環(huán)面結(jié)構(gòu)的表面?換句話說 —— 使用 OCS 的核心優(yōu)勢(shì)是什么?共有三大核心優(yōu)勢(shì),我們將在后文再詳述另外兩點(diǎn)。

OCS 的優(yōu)勢(shì) #1:環(huán)繞連接 (Wraparound)

通過環(huán)形拓?fù)鋬?yōu)化節(jié)點(diǎn)間的通信效率。

OCS 還承擔(dān)特定 TPU 配置的環(huán)繞連接功能。該設(shè)計(jì)將兩節(jié)點(diǎn)間的跳數(shù)從最壞情況下 N-1 跳降至每軸 (N-1)/2 跳,因?yàn)槊織l軸均形成一個(gè)環(huán)形(一維環(huán)面拓?fù)洌?/p>

隨著規(guī)模的進(jìn)一步擴(kuò)大,這種影響變得更加重要,因?yàn)榻档托酒g的通信延遲對(duì)于高度并行化的實(shí)現(xiàn)至關(guān)重要。

附注:并非所有 TPU 都采用 3D 環(huán)面拓?fù)?/strong>

注意,早期 TPU(如 TPUv2/v3)及推理專用 TPU(如 TPUv5e/v6e)使用 2D 環(huán)面拓?fù)涠窍挛乃龅?3D 環(huán)面。不過 TPUv7"Ironwood" 雖定位為推理芯片,但其拓?fù)湟伤?3D 環(huán)面(注:僅根據(jù)官方宣傳材料推測(cè))。

TPU Deep Dive:Google TPU 架構(gòu)深度分析-AI.x社區(qū)

2D環(huán)面拓?fù)涫疽鈭D

4.3 Full Pod 層級(jí)(又稱 "Superpod";TPUv4 為 4096 塊芯片)

正如我們通過互聯(lián)多個(gè)芯片構(gòu)建 TPU 機(jī)架,我們也可連接多個(gè)機(jī)架組成大型 Superpod。

Superpod 特指僅通過 ICI 和 OCS 互聯(lián)的最大 TPU 集群規(guī)模。雖然存在 multi-pod 層級(jí),但這種層級(jí)需依賴更慢速的連接方式,后續(xù)將展開說明。

芯片數(shù)量會(huì)因版本不同而變化,但 TPUv4 的芯片數(shù)量為 4096(即 64 個(gè) 4x4x4 芯片的機(jī)架)。最新的 TPUv7 "Ironwood" 則高達(dá) 9216 塊芯片。

下圖展示了 TPUv4 的一個(gè) Superpod:

TPU Deep Dive:Google TPU 架構(gòu)深度分析-AI.x社區(qū)

TPUv4 Superpod 架構(gòu)(64 個(gè)機(jī)架)

請(qǐng)注意,每個(gè)立方體(即 TPU 機(jī)架)是如何通過 OCS 相互連接的,這種設(shè)計(jì)也支持在 Pod 內(nèi)靈活劃分 TPU 切片。

采用 OCS 的 TPU 切片

我們可在 Pod 內(nèi)申請(qǐng) TPU 子集,即 TPU 切片。但即使所需芯片數(shù)(N)相同,也存在多種拓?fù)浣Y(jié)構(gòu)可供選擇。

例如,若總共需要 512 塊芯片,可選擇立方體(8x8x8)、條狀拓?fù)?4x4x32)或矩形拓?fù)?4x8x16)。選擇切片的拓?fù)浣Y(jié)構(gòu)本身就是一個(gè)超參數(shù)。

所選拓?fù)浣Y(jié)構(gòu)直接影響節(jié)點(diǎn)間通信帶寬,進(jìn)而影響各類并行策略的性能表現(xiàn)。

以立方體結(jié)構(gòu)(如8x8x8)為例,它特別適合需要全連接通信的并行計(jì)算模式,比如數(shù)據(jù)并行或張量并行,因?yàn)檫@種拓?fù)浣Y(jié)構(gòu)能提供最高的二分帶寬(bisection bandwidth)。而條狀結(jié)構(gòu)(如4x4x32)則更適用于流水線計(jì)算,這種布局可以讓順序排列的計(jì)算層之間實(shí)現(xiàn)更快速的數(shù)據(jù)傳輸(前提是單個(gè)計(jì)算層能夠適配 4x4 芯片的子切片配置)。

TPU Deep Dive:Google TPU 架構(gòu)深度分析-AI.x社區(qū)

典型 TPU 拓?fù)涫纠?/p>

當(dāng)然,最優(yōu)拓?fù)淙Q于具體模型結(jié)構(gòu),其尋優(yōu)過程本身即是一門學(xué)問。TPUv4 論文[9]實(shí)測(cè)表明,拓?fù)鋬?yōu)化可大大提升吞吐量(注:我不確定第一行指的是哪種 LLM 架構(gòu),因?yàn)闆]有具體說明)。

TPU Deep Dive:Google TPU 架構(gòu)深度分析-AI.x社區(qū)

不同拓?fù)浣Y(jié)構(gòu)的吞吐量?jī)?yōu)化對(duì)比

前文闡述了 TPU 切片,但另有一項(xiàng)重要的特性有助于提高 TPU 的運(yùn)行穩(wěn)定性。

借助 OCS 技術(shù),這些切片無需占據(jù)物理連續(xù)的機(jī)架空間。這正是 OCS 的第二大優(yōu)勢(shì) —— 可能也是其最大優(yōu)勢(shì),但我們此前尚未展開討論。

OCS 的優(yōu)勢(shì) #2:可重新配置的非連續(xù)多節(jié)點(diǎn)切片

需注意,這不同于將多個(gè)節(jié)點(diǎn)硬連在一起來模擬非連續(xù)切片。由于 OCS 采用光交換技術(shù)而非硬連線架構(gòu),跨節(jié)點(diǎn)間的物理線纜數(shù)量大幅減少,從而支持更大規(guī)模的集群擴(kuò)展(即可構(gòu)建超大規(guī)模 TPU Pod)。

這樣就可以進(jìn)行靈活的節(jié)點(diǎn)規(guī)模配置。例如,假設(shè)我們想在單個(gè) Pod 上運(yùn)行三個(gè)任務(wù)。雖然傳統(tǒng)的調(diào)度方式不允許這樣做,但 OCS 連接允許我們抽象出節(jié)點(diǎn)的物理位置,使整個(gè) Pod 可視為一個(gè)"節(jié)點(diǎn)資源池"(根據(jù)參考文獻(xiàn)[6]重繪)。

TPU Deep Dive:Google TPU 架構(gòu)深度分析-AI.x社區(qū)

單任務(wù)可將 Pod 內(nèi)機(jī)架視為"節(jié)點(diǎn)資源池"

此舉不僅提高了 Pod 的利用率,而且能在節(jié)點(diǎn)出現(xiàn)故障的情況下簡(jiǎn)化維護(hù)流程。谷歌將其描述為"故障節(jié)點(diǎn)的影響范圍很小"。但尚不確定其液冷系統(tǒng)在部分節(jié)點(diǎn)停機(jī)時(shí)如何運(yùn)作。

最后,這種靈活的 OCS 還有項(xiàng)延伸應(yīng)用:我們還可以改變 TPU 切片的拓?fù)浣Y(jié)構(gòu)(例如將規(guī)則環(huán)面調(diào)整為扭曲環(huán)面)。

OCS 的優(yōu)勢(shì) #3:扭曲環(huán)面拓?fù)?/strong>

此前我們通過改變固定芯片數(shù)量下的 (x,y,z) 維度來實(shí)現(xiàn)不同的 TPU 切片拓?fù)浣Y(jié)構(gòu)。本節(jié)則聚焦固定維度配置,通過改變布線方式構(gòu)造新型拓?fù)洹?/p>

典型案例如下:將常規(guī)條狀環(huán)面改造為扭曲條狀環(huán)面。

TPU Deep Dive:Google TPU 架構(gòu)深度分析-AI.x社區(qū)

常規(guī)環(huán)面 vs 扭曲環(huán)面(來源:TPUv4論文[9])

扭曲環(huán)面拓?fù)浣Y(jié)構(gòu)能加速扭曲二維平面上的芯片之間的通信,該特性對(duì)提升全局通信效率尤其有用。

下文將深入分析其具體應(yīng)用場(chǎng)景。

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

理論上,扭曲環(huán)面對(duì)張量并行(TP)的加速效益最大,因?yàn)槊繉由婕岸啻?all-gather 和 reduce-scatter 操作。對(duì)數(shù)據(jù)并行(DP)也有適度提升,因?yàn)槊總€(gè)訓(xùn)練步需執(zhí)行 all-reduce 操作,但發(fā)生頻率較低。

想象一下,假設(shè)我們訓(xùn)練一個(gè)標(biāo)準(zhǔn)的僅解碼器架構(gòu)的 Transformer 模型,并采用多種并行策略來加速訓(xùn)練。下面我們將看到兩種場(chǎng)景:

場(chǎng)景 #1:4x4x16 拓?fù)浣Y(jié)構(gòu)(TP+PP;共 256 塊芯片)

設(shè)定 z 軸為流水線(PP)維度,二維 TP 維度為 4x4。本質(zhì)上,假設(shè)第 k 層位于 z=k 平面,且每層分片至 16 塊芯片。若未明確繪制,默認(rèn)采用 OCS 最近鄰連接。

TPU Deep Dive:Google TPU 架構(gòu)深度分析-AI.x社區(qū)

TP+PP 的 4x4x16 拓?fù)浼軜?gòu)

通過在每個(gè) z=k 平面實(shí)施 2D 環(huán)面扭曲,可加速 TP 層內(nèi)芯片通信。由于 PP 層主要依靠點(diǎn)對(duì)點(diǎn)通信,因此沒有必要沿 PP 層扭曲。

注:實(shí)際應(yīng)用中,扭曲環(huán)面在芯片數(shù)>4x4 時(shí)效益顯著。本示例使用 4x4 僅出于可視化的目的。

場(chǎng)景 #2:16x4x16 拓?fù)洌―P+TP+PP;共 1024 塊芯片)

作為延伸方案,我們?cè)谇耙粓?chǎng)景基礎(chǔ)上增加 DP 維度(x 軸 4 個(gè)實(shí)例),即沿 x 軸部署 4 組場(chǎng)景 #1 的模型。

TPU Deep Dive:Google TPU 架構(gòu)深度分析-AI.x社區(qū)

DP+TP+PP 的 16x4x16 拓?fù)浼軜?gòu)

請(qǐng)注意,扭曲環(huán)面僅應(yīng)用于每個(gè) DP 模型內(nèi)的每個(gè) TP 維度(即對(duì)每個(gè) z=k 平面實(shí)施 4x4 二維扭曲,k 取值 1…16)。DP 維度僅維持基礎(chǔ)的環(huán)繞連接,使每行構(gòu)成長(zhǎng)度為 16 的水平環(huán)。

你可能已經(jīng)發(fā)現(xiàn)還有一種拓?fù)浣Y(jié)構(gòu)方案(如 8x8x16,即 2x2 DP 維度),但這會(huì)混合 DP 與 TP 維度 —— 這就變得更加復(fù)雜了。具體來說,我們還不清楚如何在 y 軸構(gòu)建 OCS 環(huán)繞連接的同時(shí)兼容各 TP 維度的扭曲環(huán)面?

4.4 Multi-Pod 層級(jí)(即"Multislice";TPUv4 支持 4096+ 塊芯片)

TPU Deep Dive:Google TPU 架構(gòu)深度分析-AI.x社區(qū)

TPU 層次結(jié)構(gòu)的最終層級(jí)是 Multi-pod 架構(gòu)。此時(shí)可將多個(gè) Pod 視為一臺(tái)大型機(jī)器,但 Pod 之間的通信需通過數(shù)據(jù)中心網(wǎng)絡(luò)(DCN) 進(jìn)行 —— 其帶寬低于 ICI。

TPU Deep Dive:Google TPU 架構(gòu)深度分析-AI.x社區(qū)

通過 DCN 互聯(lián)的雙 Pod 架構(gòu) [1]

PaLM 模型即采用此方案進(jìn)行訓(xùn)練。在 6144 個(gè) TPUv4 芯片(2 個(gè) Pod)上耗時(shí) 56 天完成。下圖是 6 個(gè) Pod 中的 TPU 任務(wù)分配情況:綠色為 PaLM 任務(wù),紅色為空閑狀態(tài),其余為其他任務(wù)。注意每個(gè)方格代表一個(gè) 4x4x4 的 TPU 芯片立方體。

TPU Deep Dive:Google TPU 架構(gòu)深度分析-AI.x社區(qū)

PaLM 訓(xùn)練過程中的 TPU Pod 利用率 [6]

實(shí)現(xiàn)這一架構(gòu)已屬不易,但更關(guān)鍵的是開發(fā)者體驗(yàn)設(shè)計(jì),具體來說,就是要關(guān)注:如何實(shí)現(xiàn)模型擴(kuò)展過程中系統(tǒng)/硬件層面的最大程度抽象化?

谷歌的解決方案是:由 XLA 編譯器在大規(guī)模計(jì)算場(chǎng)景下協(xié)調(diào)芯片間的通信。研究人員只需配置相關(guān)參數(shù)(如 DP、FSDP、TP 等并行維度及切片數(shù)量),XLA 編譯器即會(huì)根據(jù)當(dāng)前 TPU 拓?fù)浣Y(jié)構(gòu)自動(dòng)插入分層集合通信操作(Xu et al, 2021: GSPMD [2])。我們的目標(biāo)是在盡可能少修改代碼的情況下實(shí)現(xiàn)大規(guī)模訓(xùn)練。

例如,谷歌博客[1]展示了跨多 TPU 切片的 all-reduce 操作分解流程:

TPU Deep Dive:Google TPU 架構(gòu)深度分析-AI.x社區(qū)

XLA 實(shí)現(xiàn)的跨 Pod All-Reduce 規(guī)約操作

這表明 XLA 編譯器可以同時(shí)處理切片內(nèi)與切片間的集合通信操作。

舉個(gè)具體例子,在訓(xùn)練模型時(shí),TPU 的拓?fù)浣Y(jié)構(gòu)可能如下所示。激活值的通信在切片內(nèi)通過 ICI 進(jìn)行,而梯度的通信則需跨切片通過 DCN 完成(即在 DCN 的 DP 維度上)[1]。

TPU Deep Dive:Google TPU 架構(gòu)深度分析-AI.x社區(qū)

05 實(shí)物圖示對(duì)照解析

結(jié)合硬件實(shí)拍圖理解架構(gòu)圖會(huì)更直觀,以下為綜合解析。

若看過谷歌 TPU 宣傳資料,可能見過下圖:

TPU Deep Dive:Google TPU 架構(gòu)深度分析-AI.x社區(qū)

8 個(gè) TPU 機(jī)架(TPUv4)

此圖為 8 個(gè) TPU Pods 的集群,每個(gè)單元即前述的 4x4x4 三維環(huán)面架構(gòu)。一個(gè) Pod 中的每一行有 2 個(gè)托盤,這意味著每一行有 8 個(gè) TPU 芯片。

單塊 TPUv4 托盤實(shí)拍圖:

TPU Deep Dive:Google TPU 架構(gòu)深度分析-AI.x社區(qū)

請(qǐng)注意,圖中簡(jiǎn)化為只有一個(gè) PCIe 端口,但實(shí)際托盤上有 4 個(gè) PCIe 端口(在左側(cè)) —— 每個(gè) TPU 一個(gè)。

單芯片結(jié)構(gòu)圖:

TPU Deep Dive:Google TPU 架構(gòu)深度分析-AI.x社區(qū)

TPUv4 芯片:中央是 ASIC + 4 組 HBM 內(nèi)存堆棧

中央?yún)^(qū)域?yàn)?ASIC 芯片,周圍 4 個(gè)區(qū)塊為 HBM 內(nèi)存堆棧。因 TPUv4 內(nèi)含 2 個(gè) TensorCore,故配置 4 組 HBM 內(nèi)存堆棧。

未找到 TPUv4 芯片平面圖,此處展示結(jié)構(gòu)近似的 TPUv4i(推理芯片),其僅含 1 個(gè)TensorCore[3]:

TPU Deep Dive:Google TPU 架構(gòu)深度分析-AI.x社區(qū)

可見 CMEM(芯片內(nèi)存)在 TPUv4i 的布局中占據(jù)了相當(dāng)大的空間。

06 致謝

感謝 Google TPU Research Cloud(TRC)提供的 TPU 資源支持!

References

[1] Google Blog: TPU Multi-Slice Training(??https://cloud.google.com/blog/products/compute/using-cloud-tpu-multislice-to-scale-ai-workloads)??

[2] Xu, et al. "GSPMD: General and Scalable Parallelizaton for ML Computation Graphs"(??https://arxiv.org/pdf/2105.04663)??

[3] Jouppi et al. "Ten Lessons From Three Generations Shaped Google's TPUv4i"(??https://gwern.net/doc/ai/scaling/hardware/2021-jouppi.pdf)??

[4] How to Scale Your Model - TPUs(??https://jax-ml.github.io/scaling-book/tpus/)??

[5] Domain Specific Architectures for AI Inference - TPUs(??https://fleetwood.dev/posts/domain-specific-architectures#google-tpu)??

[6] HotChips 2023: TPUv4(??https://hc2023.hotchips.org/assets/program/conference/day2/ML+training/HC2023.Session5.ML_Training.Google.Norm_Jouppi.Andy_Swing.Final_2023-08-25.pdf)??

[7] Google Cloud Docs: TPUv4(??https://cloud.google.com/tpu/docs/v4)??

[8] Jouppi et al. "In-Datacenter Performance Analysis of a Tensor Processing Unit" -- TPU origins paper(??https://arxiv.org/abs/1704.04760)??

[9] Jouppi et al. "TPU v4"-- TPUv4 paper(??https://arxiv.org/abs/2304.01433)??

[10] PaLM training video(??https://www.youtube.com/watch?v=0yPFBxkOKRY)??

[11] HotChips 2021: "Challenges in large scale training of Giant Transformers on Google TPU machines"(??https://hc33.hotchips.org/assets/program/tutorials/HC2021.Google.Sameer+Kumar.pdf)??

[12] HotChips 2020: "Exploring Limits of ML Training on Google TPUs"(??https://hc32.hotchips.org/assets/program/tutorials/HC2020.Google.SameerKumarDehaoChen.v02.pdf)??

[13] Google Blog: Ironwood(??https://blog.google/products/google-cloud/ironwood-tpu-age-of-inference/)??

[14] HotChips 2019: "Cloud TPU: Codesigning Architecture and Infrastructure"(??https://old.hotchips.org/hc31/HC31_T3_Cloud_TPU_Codesign.pdf)??

[15] ETH Zurich's Comp Arch Lecture 28: Systolic Array Architectures(??https://www.youtube.com/watch?v=XkgtANeDrm8)??

[16] Patterson presentation: "A Decade of Machine Learning Accelerators: Lessons Learned and Carbon Footprint"(??https://www.cs.ucla.edu/wp-content/uploads/cs/PATTERSON-10-Lessons-4-TPU-gens-CO2e-45-minutes.pdf)??

[17] Camara et al. "Twisted Torus Topologies for Enhanced Interconnection Networks."(??

[18] Horowitz article: "Computing's Energy Problem(and what we can do about it)"(??https://gwern.net/doc/cs/hardware/2014-horowitz-2.pdf)??

END

本期互動(dòng)內(nèi)容 ??

?您更傾向 TPU 的專用化路線(犧牲靈活性換取能效),還是 GPU 的通用化路線(保留靈活性但能耗較高)?請(qǐng)結(jié)合您的應(yīng)用場(chǎng)景說明理由。

本文經(jīng)原作者授權(quán),由 Baihai IDP 編譯。如需轉(zhuǎn)載譯文,請(qǐng)聯(lián)系獲取授權(quán)。

原文鏈接:

??https://henryhmko.github.io/posts/tpu/tpu.html??

?著作權(quán)歸作者所有,如需轉(zhuǎn)載,請(qǐng)注明出處,否則將追究法律責(zé)任
標(biāo)簽
收藏
回復(fù)
舉報(bào)
回復(fù)
相關(guān)推薦
26uuu亚洲| 欧美日韩xxxx| 午夜精品福利一区二区三区av| 国产在线精品一区二区中文 | 国产精品爱久久久久久久| 四虎国产成人精品免费一女五男| 亚洲三级电影| 精品久久久久国产| 亚洲一区二区三区精品视频| 亚洲精品一区二区三区蜜桃| 日韩电影免费在线| 精品自在线视频| 亚洲图片另类小说| 视频在线亚洲| 欧美日韩一本到| 欧美 日韩 亚洲 一区| 免费网站看v片在线a| 99精品黄色片免费大全| 亚洲va欧美va在线观看| 亚洲av中文无码乱人伦在线视色| 亚洲精品午夜av福利久久蜜桃| 亚洲九九九在线观看| 免费不卡av网站| 成人黄色毛片| 欧美色视频日本高清在线观看| 亚洲人成网站在线播放2019| 婷婷国产在线| 国产高清不卡二三区| 国产精品爽爽爽| 日本视频在线观看免费| 亚洲看片免费| 欧美久久精品一级黑人c片 | 国产99精品一区| 精品国产伦一区二区三区观看方式 | 国产美女免费无遮挡| 成人av激情人伦小说| 69精品人人人人| 在线免费观看av的网站| 婷婷六月国产精品久久不卡| 香蕉久久一区二区不卡无毒影院| 成人免费a级片| 1024在线播放| 亚洲精品视频在线观看网站| 26uuu成人| 国产精品一区二区三区免费| 青青青视频在线播放| 最近国产精品视频| 国产网站欧美日韩免费精品在线观看 | 日韩高清免费在线| 99久久久无码国产精品性波多| 久久99精品久久久野外观看| 欧美二区在线观看| √天堂资源在线| 蜜桃精品视频| 精品国产污网站| yjizz视频| 欧美aaaaa级| 精品一区二区电影| 色噜噜日韩精品欧美一区二区| 亚洲第一福利社区| 亚洲色图激情小说| 蜜桃av乱码一区二区三区| 少妇精品久久久一区二区三区| 亚洲亚裔videos黑人hd| 99国产精品无码| 欧美91大片| 韩国精品久久久999| yjizz国产| 日韩专区中文字幕一区二区| 国产区精品视频| a级片免费观看| 成人午夜激情片| 久久一区二区精品| 福利片在线观看| 国产精品成人免费在线| 黄色网址在线免费看| 日本在线视频www鲁啊鲁| 五月天婷婷综合| 91制片厂毛片| 在线日韩成人| 亚洲欧洲在线播放| 激情无码人妻又粗又大| 欧美日韩亚洲一区| 欧美亚洲视频在线看网址| 国产在线一级片| 国产成人综合亚洲网站| 国内一区在线| 中文日本在线观看| 亚洲图片欧美视频| 欧美精品成人网| 国产精品一区二区精品视频观看 | 69亚洲乱人伦| 国产精品一区二区三区av麻| 久久影视免费观看| 久久国产黄色片| 澳门精品久久国产| 在线亚洲自拍| 69视频在线免费观看| 最近中文字幕在线免费观看| 国产精品 日产精品 欧美精品| 久久精品一区二区三区不卡免费视频| 91视频在线观看| 亚洲aⅴ怡春院| jizz18女人| 日韩av网站在线免费观看| 久久精品国产综合| 综合网在线观看| 国产乱一区二区| 手机在线观看国产精品| 19禁羞羞电影院在线观看| 欧美日韩亚洲综合| 国产三级视频网站| 欧美日韩国产在线一区| 国产精品国内视频| 人妻少妇一区二区三区| 亚洲男人的天堂在线aⅴ视频| 热久久精品国产| 国产精品zjzjzj在线观看| 色噜噜亚洲精品中文字幕| 亚洲欧美综合另类| 成人免费高清在线观看| 伊人久久大香线蕉综合75| 中文日产幕无线码一区二区| 精品福利二区三区| 永久免费看mv网站入口| 日本一不卡视频| 欧美少妇xxx| 高清国产在线一区| 精品国产白色丝袜高跟鞋| 色婷婷av一区二区三区大白胸| 乱码一区二区三区| 亚洲自拍偷拍网| 国产有码一区二区| av在线免费观看网| 色综合色狠狠天天综合色| 一本加勒比波多野结衣| 国产主播精品| 成人av资源网| 欧美v亚洲v| 精品电影一区二区三区 | 欧美日韩国产高清电影| 欧美一级视频免费在线观看| 免费的黄色av| 亚洲成人一区二区| 亚洲av永久无码精品| 欧美一区二区三区另类| 亚洲曰本av电影| h片在线免费观看| 欧美一级一级性生活免费录像| 大吊一区二区三区| 美女网站在线免费欧美精品| 一区二区三区久久网| 青娱乐极品盛宴一区二区| 正在播放亚洲1区| 亚洲一区二区少妇| 国产欧美一级片| 综合久久久久综合| 国产999免费视频| 欧美1区3d| 国产在线一区二区三区播放| 成人一级福利| 亚洲欧洲激情在线| 中文有码在线播放| 1区2区3区精品视频| 国产伦精品一区二区三区妓女下载 | 欧美成人猛片aaaaaaa| 久久久久无码精品国产| 99热国产精品| 亚洲一区二区蜜桃| 久久久久久久久久久9不雅视频| 亚洲综合一区二区不卡| 成年人国产在线观看| 亚洲成色777777在线观看影院| 香蕉免费毛片视频| 国产女主播在线一区二区| www.久久av.com| 亚洲韩日在线| 午夜精品亚洲一区二区三区嫩草 | 97中文在线| 伊人久久国产| 国产一区二区三区视频在线| 狠狠做深爱婷婷综合一区| 亚洲视频网站在线观看| 亚洲图片小说视频| 一级精品视频在线观看宜春院| 国产污在线观看| 日本亚洲免费观看| 青青在线视频免费观看| 亚洲毛片免费看| 91在线看www| 在线视频超级| 免费成人高清视频| 久久伊伊香蕉| 日韩区在线观看| 国产精品欧美综合| 亚洲午夜av在线| 人妻熟人中文字幕一区二区| 懂色一区二区三区免费观看| 亚洲精品一二三四五区| 国内精品久久久久久久影视麻豆| 欧美一区国产一区| 一区二区三区视频免费视频观看网站 | av网在线播放| 粉嫩av一区二区三区粉嫩| 香蕉视频禁止18| 国产精品亚洲综合色区韩国| 秋霞在线一区二区| 国产一区2区| 国模精品一区二区三区| 北岛玲精品视频在线观看| 日本精品视频在线| sqte在线播放| 欧美成人免费在线观看| 在线免费看黄网站| 亚洲天堂男人天堂女人天堂| 粉嫩小泬无遮挡久久久久久| 欧美久久一二三四区| 国产91国语对白在线| 亚洲国产欧美在线| 中文字幕另类日韩欧美亚洲嫩草| 中文字幕电影一区| 无码h肉动漫在线观看| 成人av电影在线观看| 久久综合桃花网| 精品一区二区三区视频在线观看| 人妻丰满熟妇av无码区app| 免费看日本黄色片| 狠狠狠色丁香婷婷综合激情| 国产视频在线视频| 亚洲尤物在线| 成人午夜精品久久久久久久蜜臀| 欧美成人一区二免费视频软件| 日韩欧美亚洲精品| 免费久久精品| 黄色国产精品一区二区三区| 亚洲一级大片| 成人免费观看网站| 婷婷视频一区二区三区| 亚洲xxxxx| 9999精品视频| 91在线免费观看网站| 96视频在线观看欧美| 国产日韩精品入口| 视频91a欧美| 91久久久久久| 精品一区二区三区在线观看视频 | 日韩免费成人| 国产福利一区二区三区在线观看| 午夜日韩影院| 国产亚洲一区二区三区在线播放| 成人在线tv视频| 91视频最新| 猫咪成人在线观看| 欧美精品成人一区二区在线观看 | 日韩欧国产精品一区综合无码| 国产日韩欧美在线观看| 久久久久黄色| 91在线免费视频| www国产精品| 好看的日韩精品| 久久99国产成人小视频| 欧美日韩国产一二| 日韩精品1区| 在线观看免费黄色片| 国模 一区 二区 三区| 人人妻人人添人人爽欧美一区| 国产欧美一区二区三区国产幕精品| 日本网站免费在线观看| 老色鬼久久亚洲一区二区| 欧美大尺度做爰床戏| 国产乱人伦偷精品视频不卡| 韩国三级在线看| 久久综合狠狠综合久久综合88 | 五月天婷婷社区| 亚洲三级av在线| 黄网页在线观看| 97视频在线观看成人| 素人啪啪色综合| 亚洲影院色无极综合| 天天久久夜夜| 中文字幕剧情在线观看一区| 韩国精品一区二区三区| 亚洲精品乱码久久久久久自慰| 久久精品国产免费| 无码国产69精品久久久久网站| 久久久另类综合| 黄色录像一级片| 欧美性生交大片免网| 国产精品久久久久毛片| 亚洲国产中文字幕久久网| 川上优的av在线一区二区| 欧美日韩电影在线观看| 欧美成人精品一区二区男人小说| 成人免费大片黄在线播放| 女仆av观看一区| 欧美一级免费在线观看| 香蕉成人久久| 免费国偷自产拍精品视频| 久久精品视频在线免费观看| 青春草免费视频| 色成人在线视频| 免费国产精品视频| 日韩亚洲欧美成人| 免费v片在线观看| 3d动漫啪啪精品一区二区免费| 九九视频精品全部免费播放| 欧洲精品视频在线| 男女男精品视频网| 一级特黄a大片免费| 亚洲欧洲综合另类在线| 亚洲大片免费观看| 亚洲精品一区二区三区影院 | 免费久久久久久久久| 老子影院午夜伦不卡大全| 久久精品99国产国产精| 久久精品国产亚洲av久| 亚洲成av人片| jizz中国少妇| y97精品国产97久久久久久| 经典三级一区二区| 久久大香伊蕉在人线观看热2| 综合视频在线| 久国产精品视频| 国产精品全国免费观看高清 | 国产一区二区三区在线视频观看| 日本韩国精品在线| 奇米影视888狠狠狠777不卡| 韩剧1988免费观看全集| 97久久精品| 久久香蕉视频网站| 国产精品一区二区在线看| 亚洲一级理论片| 91九色最新地址| 蜜桃成人在线视频| 欧美亚洲另类制服自拍| 久久国产精品免费精品3p| 久草免费福利在线| 成人午夜私人影院| 久久精品免费在线| 日韩色在线观看| 羞羞的网站在线观看| 2014亚洲精品| 韩国在线一区| 精品人妻一区二区三区日产| 狠久久av成人天堂| 亚洲欧美日韩精品| 欧美不卡福利| 欧美日韩精品一本二本三本 | av成人在线观看| 欧美日韩在线播放一区二区| 久久精品导航| 久操视频免费看| 久草在线在线精品观看| 国内精品国产三级国产99| 日本va欧美va欧美va精品| 99久久精品免费视频| 日本福利一区二区| 国产精品影院在线| 亚洲五月六月丁香激情| 欧美 日韩 人妻 高清 中文| 97在线视频免费| 亚洲综合图色| the porn av| 亚洲欧美视频一区| 丰满人妻一区二区三区四区53 | 天天鲁一鲁摸一摸爽一爽| 91精品国产91久久久久久最新毛片 | 欧美成人午夜视频| 成人午夜三级| 最近免费中文字幕中文高清百度| 欧美国产一区二区| 国产日韩欧美一区二区东京热| 欧美日韩xxxxx| 羞羞色国产精品网站| 中文字幕第21页| 亚洲三级电影全部在线观看高清| 亚洲精品福利网站| 欧美重口另类videos人妖| 成人精品久久| 亚洲AV成人精品| 色av一区二区| 污污视频在线| 欧美午夜欧美| 国产精品一区免费在线观看| 天堂а√在线中文在线新版| 日韩最新av在线| 国产精品一线| 亚欧美在线观看| 精品国产老师黑色丝袜高跟鞋| 福利视频在线看| 国产不卡一区二区三区在线观看 | 少妇欧美激情一区二区三区| 欧美日韩加勒比精品一区| 91sp网站在线观看入口| 国产高清一区视频| 久色婷婷小香蕉久久| 国产福利拍拍拍| 久久夜色精品国产| 国产午夜一区| 精品少妇人妻av一区二区三区|