二区三区少妇,变态夫妇 波多野结衣,日本欧美久久久久久,久久久婷婷热,69欧美精品,色色亚洲无码色色热热,亚洲中文字幕在线刺激,久久久久久66,性感美女131视频

車(chē)訊網(wǎng) - 專(zhuān)業(yè)汽車(chē)新聞資訊門(mén)戶(hù)
當(dāng)前位置: 車(chē)訊網(wǎng) -> 資訊

手把手教你搭建GPU算力中心

時(shí)間:2024-10-05 12:51  |  責(zé)任編輯:如思  |  來(lái)源: 證券之星  |  關(guān)鍵詞:  |  閱讀量:18910  |  

如果您希望可以時(shí)常見(jiàn)面,歡迎標(biāo)星收藏哦~

AI Neoclouds 的崛起吸引了整個(gè)計(jì)算行業(yè)的關(guān)注。從企業(yè)到初創(chuàng)公司,每個(gè)人都在利用它們來(lái)訪(fǎng)問(wèn) GPU 計(jì)算。即使是微軟,盡管擁有自己的數(shù)據(jù)中心建設(shè)和運(yùn)營(yíng)團(tuán)隊(duì),每月也通過(guò) AI Neoclouds 在 GPU 計(jì)算上花費(fèi)約 2 億美元。Nvidia 通過(guò)直接投資、大量分配 GPU 以及在各種演講和活動(dòng)中的贊譽(yù),預(yù)示著多個(gè) AI Neoclouds 的快速增長(zhǎng)。

AI Neocloud 被定義為一種新型云計(jì)算提供商,專(zhuān)注于提供 GPU 計(jì)算租賃服務(wù)。這些純粹的 GPU 云為其客戶(hù)提供尖端的性能和靈活性,但為其提供動(dòng)力的經(jīng)濟(jì)性仍在不斷發(fā)展,因?yàn)槭袌?chǎng)正在了解其商業(yè)模式的運(yùn)作方式。

在文中,我們將揭秘 Neocloud 的運(yùn)行層面,從制定集群物料清單 ,到處理部署、資金和日常運(yùn)營(yíng)的復(fù)雜性。我們將在 BoM 和集群架構(gòu)方面提供幾項(xiàng)關(guān)鍵建議。

巨人與新興企業(yè)

AI Neocloud 市場(chǎng)由四類(lèi)主要提供商提供服務(wù):傳統(tǒng)超大規(guī)模提供商、Neocloud 巨頭、新興 Neocloud 以及經(jīng)紀(jì)商/平臺(tái)/聚合商。

AI Neocloud 市場(chǎng)規(guī)模巨大,是 GPU 需求最有意義的增量驅(qū)動(dòng)因素??傮w而言,我們認(rèn)為 Neocloud 的增長(zhǎng)將超過(guò)總需求的三分之一。

提供 AI 云服務(wù)的傳統(tǒng)超大規(guī)模提供商包括 Google Cloud 、Microsoft Azure、Amazon Web Services (AWS)、Oracle、騰訊、百度、阿里巴巴。相比之下,Meta、xAI、字節(jié)跳動(dòng)和特斯拉盡管也擁有強(qiáng)大的 GPU 集群和可觀(guān)的產(chǎn)能擴(kuò)張計(jì)劃,但目前并不提供 AI 服務(wù),因此不屬于這一類(lèi)別。

傳統(tǒng)超大規(guī)模企業(yè)采用多元化業(yè)務(wù)模式,因此資本成本最低,但其集成生態(tài)系統(tǒng)和數(shù)據(jù)湖以及現(xiàn)有企業(yè)客戶(hù)群意味著其定價(jià)比其他企業(yè)高出很多。超大規(guī)模企業(yè)也傾向于從其云業(yè)務(wù)中獲得高額利潤(rùn),因此其定價(jià)遠(yuǎn)高于 AI 云的合理價(jià)格。

與傳統(tǒng)的超大規(guī)模企業(yè)不同,AI Neocloud Giants 幾乎只專(zhuān)注于 GPU 云服務(wù)。最大的企業(yè)目前或計(jì)劃在未來(lái)幾年內(nèi),其所有站點(diǎn)的總?cè)萘繉⑦h(yuǎn)遠(yuǎn)超過(guò) 10 萬(wàn)個(gè) H100 當(dāng)量,其中一些企業(yè)計(jì)劃為 OpenAI 提供數(shù)十萬(wàn)個(gè) Blackwell GPU 。主要的三大 Neocloud Giants 是 Crusoe、Lambda Labs 和 Coreweave,后者是迄今為止最大的。與超大規(guī)模企業(yè)相比,它們的資本成本更高,但與新興 AI Neoclouds 相比,它們通常能夠以合理的速度更好地獲得資本,這意味著 Neocloud Giants 的相對(duì)擁有成本較低。

新興 AI Neoclouds 包括我們跟蹤的數(shù)十家云服務(wù),這些云服務(wù)仍然擁有少量容量,并且在運(yùn)行數(shù)據(jù)中心基礎(chǔ)設(shè)施方面相對(duì)缺乏經(jīng)驗(yàn)。這些新貴通常具有較高的資本成本,也是我們今天將重點(diǎn)關(guān)注的類(lèi)別。新興 Neoclouds 中還包括許多屬于 Sovereign AI 范疇的區(qū)域參與者,Sovereign AI 是指任何專(zhuān)注于向美國(guó)或中國(guó)以外的次要地區(qū)提供 AI 云服務(wù)的 AI Neocloud。

這些地區(qū)目前在 AI 技術(shù)方面遠(yuǎn)遠(yuǎn)落后,包括歐洲、印度、中東、馬來(lái)西亞等。特別是他們的客戶(hù)通常希望出于監(jiān)管、隱私、數(shù)據(jù)安全或其他商業(yè)原因?qū)⑺麄兊?GPU 計(jì)算排除在美國(guó)或中國(guó)之外。雖然大多數(shù)新興 Neoclouds 要么擁有不到 10,000 個(gè) GPU,要么尚未部署 GPU,但其中許多都有非常雄心勃勃的計(jì)劃,可能很快就會(huì)讓其中一些進(jìn)入與 Neocloud 巨頭相同的聯(lián)盟。

最后,是經(jīng)紀(jì)人、平臺(tái)和聚合商,他們通常聚合需求和供應(yīng),但往往資本較少,不愿直接承擔(dān) GPU 租賃價(jià)格風(fēng)險(xiǎn),因此自己不擁有任何 GPU。此類(lèi)別中有兩種主要的商業(yè)模式:平臺(tái)模式提供類(lèi)似 Shopify 的平臺(tái),幫助 GPU 所有者和數(shù)據(jù)中心代表他們營(yíng)銷(xiāo)和匹配計(jì)算資源;聚合商使用類(lèi)似亞馬遜的市場(chǎng)模式,讓 GPU 所有者能夠向不同的買(mǎi)家提供計(jì)算。

平臺(tái)可以為想要擁有 GPU 計(jì)算能力但又不具備部署或營(yíng)銷(xiāo)集群專(zhuān)業(yè)知識(shí)的主機(jī)提供 IaaS 基礎(chǔ)設(shè)施以及設(shè)置和采購(gòu)支持。與亞馬遜之類(lèi)的市場(chǎng)聚合器相比,經(jīng)紀(jì)人和平臺(tái)通常需要更多的人工接觸點(diǎn),類(lèi)似于房地產(chǎn)經(jīng)紀(jì)人,可以幫助您以交易價(jià)值的分成找到房屋。與任何經(jīng)紀(jì)或市場(chǎng)服務(wù)一樣,經(jīng)紀(jì)人的收入分成對(duì)最終客戶(hù)來(lái)說(shuō)可能是不透明的。

另一種有趣的新興商業(yè)模式是 VC 集群,即風(fēng)險(xiǎn)投資 或類(lèi)似 VC 的實(shí)體為投資組合或其他附屬公司建立集群。著名的例子包括 Andromeda、AI2、Computefund.ai和Andreesen Horowitz 計(jì)劃的 GPU 集群。借助內(nèi)部集群,這些 VC 可以提供非常靈活的計(jì)算租賃選項(xiàng)——在短時(shí)間內(nèi)提供大型 512 或 1k GPU 集群,遠(yuǎn)低于其他 Neoclouds 為換取股權(quán)而收取的費(fèi)用。他們還可以提供慷慨的租賃條款,以進(jìn)一步向投資組合或附屬公司傾斜。

如何構(gòu)建 AI Neocloud

一、了解集群物料清單

讓我們從一個(gè)簡(jiǎn)單的框架開(kāi)始。那么,您想啟動(dòng) AI Neocloud 嗎?您會(huì)怎么做?這是我們的分步指南,從 BoM 開(kāi)始,最后設(shè)置 Neocloud。

理解和定制 AI 集群報(bào)價(jià)和物料清單 是 Neocloud 部署中最重要的因素之一,正確處理可能會(huì)決定利潤(rùn)率高低或財(cái)務(wù)困境。我們建議從 CEO 到工程師和銷(xiāo)售人員的每個(gè)人都了解其 BoM 中的每一項(xiàng)產(chǎn)品。

目前部署的大多數(shù) Neocloud 集群都擁有 2048 個(gè)或更少的 GPU。最常見(jiàn)的物理集群大小為 2048、1024、512 和 256 個(gè) GPU,2048 個(gè)及以下 GPU 集群的部署成本隨 GPU 數(shù)量線(xiàn)性增長(zhǎng)。在本次分析中,我們將重點(diǎn)分析 1024 個(gè) GPU 部署,這是新興 Neocloud 的共同點(diǎn)。

OEM 和 Nvidia 在報(bào)出 BoM 時(shí)自然會(huì)尋求加價(jià)銷(xiāo)售。BoM 通常細(xì)分為四類(lèi):計(jì)算機(jī)箱級(jí)、機(jī)架級(jí)、集群級(jí)和軟件級(jí)。

二、計(jì)算機(jī)底盤(pán)物料清單

我們將從最低的抽象層開(kāi)始,即計(jì)算機(jī)箱物料清單 ,這是集群中最昂貴的部分。默認(rèn)的計(jì)算機(jī)箱 BoM 報(bào)價(jià)往往使用頂級(jí)組件 - Supermicro、戴爾等 OEM 最初會(huì)報(bào)價(jià)接近頂級(jí)的 Intel Emerald Rapids CPU,以及配備 2TB RAM 和 30 TB 本地 NVMe SSD 閃存的系統(tǒng)構(gòu)建。

微調(diào)此引文是 AI Neocloud 最簡(jiǎn)單的優(yōu)化方法。此優(yōu)化的步驟是選擇中端英特爾 CPU,因?yàn)樵S多客戶(hù)的工作負(fù)載無(wú)論如何都不會(huì)使用太多 CPU。LLM 訓(xùn)練是一項(xiàng)非常 GPU 密集型的工作負(fù)載,但對(duì)于 CPU 而言,工作負(fù)載強(qiáng)度非常低。CPU 主要運(yùn)行簡(jiǎn)單任務(wù),例如 PyTorch 和控制 GPU 的其他進(jìn)程、初始化網(wǎng)絡(luò)和存儲(chǔ)調(diào)用,并可能運(yùn)行虛擬機(jī)管理程序。

總的來(lái)說(shuō),雖然 AMD CPU 在大多數(shù) CPU 任務(wù)上表現(xiàn)優(yōu)異,但我們建議使用英特爾 CPU,因?yàn)橛⑻貭?CPU 更容易獲得正確的 NCCL 性能、更容易進(jìn)行虛擬化,而且整體體驗(yàn)錯(cuò)誤更少。

例如,在 AMD CPU 上,您需要使用 NCCL_IB_PCI_RELAXED_ORDERING 并嘗試不同的 NUMA NPS 設(shè)置以實(shí)現(xiàn)可接受的性能。如果您計(jì)劃進(jìn)行虛擬化,則需要將虛擬核心正確固定到正確的 NUMA 區(qū)域,否則您的設(shè)備到主機(jī)和主機(jī)到設(shè)備的帶寬和延遲將不理想。明確地說(shuō),如果您熟練的話(huà),這是可行的。

許多標(biāo)準(zhǔn)產(chǎn)品都具有 2TB 的 CPU DDR5 RAM,但您的大多數(shù)客戶(hù)不會(huì)使用那么多。RAM 是計(jì)算機(jī)底盤(pán) BoM 中第四昂貴的部分。我們建議將標(biāo)準(zhǔn)的 2 TB RAM 降級(jí)為僅 1 TB RAM。您的 Neocloud 的大多數(shù)客戶(hù)不太可能詢(xún)問(wèn) RAM 容量,因?yàn)樗麄兊墓ぷ髫?fù)載根本不受 CPU RAM 限制。

除了核心計(jì)算組件之外,另一個(gè)潛在的成本節(jié)約方法是刪除標(biāo)準(zhǔn)報(bào)價(jià)中的兩個(gè) NVIDIA Bluefield-3 DPU。這些 DPU 最初是為傳統(tǒng) CPU 云開(kāi)發(fā)的,并被宣傳為一種成本節(jié)約技術(shù),可讓它們出租更多 CPU 核心,而不是讓這些 CPU 核心運(yùn)行網(wǎng)絡(luò)虛擬化。

但是您的 Neocloud 客戶(hù)無(wú)論如何都不會(huì)使用太多 CPU 計(jì)算,因此如果您使用部分主機(jī) CPU 核心進(jìn)行網(wǎng)絡(luò)虛擬化,這并不重要。在許多情況下,您無(wú)論如何都會(huì)將裸機(jī)服務(wù)器交給您的客戶(hù),從而消除任何網(wǎng)絡(luò)虛擬化的需要。此外,Bluefield-3 DPU 相當(dāng)昂貴,以至于購(gòu)買(mǎi)另一個(gè) 54 核 CPU 比購(gòu)買(mǎi) Bluefield-3 更便宜。完全跳過(guò) Bluefield-3,使用標(biāo)準(zhǔn) ConnectX 作為前端。

綜合考慮前幾項(xiàng)成本優(yōu)化,我們估計(jì)可節(jié)省 13600 美元,使一個(gè)計(jì)算節(jié)點(diǎn)的成本從 270000 美元降至 256400 美元,節(jié)省約 5%。在擁有 128 個(gè)計(jì)算節(jié)點(diǎn)的 1024 H100 集群中,可節(jié)省 174 萬(wàn)美元。隨著數(shù)量不斷增加,此價(jià)格會(huì)越來(lái)越低。

在典型的 BoM 中,每臺(tái) H100 計(jì)算服務(wù)器將配備八個(gè) 400Gbit/s ConnectX-7 NIC,從而使每臺(tái)服務(wù)器的總帶寬達(dá)到 3,200Gbit/s。一些 Neocloud 只選擇了四個(gè) NIC,這將使后端網(wǎng)絡(luò)帶寬減少 50%。

雖然我們認(rèn)為這可能會(huì)為某些工作負(fù)載帶來(lái)更好的總擁有成本性能,但大多數(shù) Neoclouds 的目標(biāo)客戶(hù)并不希望每臺(tái)計(jì)算服務(wù)器的 InfiniBand 帶寬低于 8x400Gbit/s。因?yàn)檫@確實(shí)會(huì)影響工作負(fù)載性能。這是許多公司對(duì) Google Cloud 反感的主要原因之一。Google Cloud 使用 Falcon/GRD 部署帶有 8x200G 以太網(wǎng)的 H100。即使 Google 確實(shí)可以節(jié)省資金,在某些情況下這也會(huì)影響性能。

現(xiàn)在,我們先跳過(guò)機(jī)架級(jí)別,轉(zhuǎn)到集群級(jí)別 BoM,從網(wǎng)絡(luò)開(kāi)始,它是計(jì)算節(jié)點(diǎn)之后最大的集群成本驅(qū)動(dòng)因素。

集群級(jí)別 - 網(wǎng)絡(luò)物料清單

H100集群中有三種不同的網(wǎng)絡(luò):

  • 前端網(wǎng)絡(luò)

  • 后端網(wǎng)絡(luò)

  • 帶外管理網(wǎng)絡(luò)

簡(jiǎn)單回顧一下,前端網(wǎng)絡(luò)只是一個(gè)普通的以太網(wǎng)網(wǎng)絡(luò),用于連接互聯(lián)網(wǎng)、SLURM/Kubernetes 和網(wǎng)絡(luò)存儲(chǔ),以加載訓(xùn)練數(shù)據(jù)和模型檢查點(diǎn)。該網(wǎng)絡(luò)通常以每 GPU 25-50Gb/s 的速度運(yùn)行,因此在 HGX H100 服務(wù)器上,每臺(tái)服務(wù)器的速度將達(dá)到 200-400Gbit/s。

相比之下,后端計(jì)算結(jié)構(gòu)用于將 GPU-GPU 通信從數(shù)十個(gè)機(jī)架擴(kuò)展到數(shù)千個(gè)機(jī)架。該網(wǎng)絡(luò)可以使用 Nvidia 的 InfiniBand 或 Nvidia 的 Spectrum-X 以太網(wǎng),也可以使用來(lái)自 Broadcom 等交換機(jī)供應(yīng)商的以太網(wǎng),這些供應(yīng)商包括 Artista、Cisco 和各種 OEM/ODM。與 Broadcom 以太網(wǎng)解決方案相比,Nvidia 提供的選項(xiàng)更昂貴。盡管以太網(wǎng)的每 TCO 性能,但我們?nèi)越ㄗh Neoclouds 使用 InfiniBand 或 Spectrum X,因?yàn)樗哂凶罴研阅?,并且最容易銷(xiāo)售,因?yàn)榭蛻?hù)將 InfiniBand 與最佳性能聯(lián)系在一起。客戶(hù)通常認(rèn)為以太網(wǎng)“性能低得多”,盡管這并不反映現(xiàn)實(shí)。這主要源于 Neocloud 和客戶(hù)必須進(jìn)行工程優(yōu)化才能優(yōu)化 NCCL。我們以前做過(guò)這些,除非您擁有優(yōu)秀的工程人才和時(shí)間,否則這并不容易。此外,許多人認(rèn)為 Nvidia 會(huì)為購(gòu)買(mǎi)其網(wǎng)絡(luò)解決方案的人提供優(yōu)先分配。

最后,還有帶外管理網(wǎng)絡(luò)。它用于重新映像操作系統(tǒng)、監(jiān)控節(jié)點(diǎn)健康狀況。服務(wù)器、PDU、交換機(jī)、CDU 上的基板管理控制器 (BMC) 通常連接到此網(wǎng)絡(luò),以監(jiān)控和控制服務(wù)器和各種其他 IT 設(shè)備。

對(duì)于前端網(wǎng)絡(luò),Nvidia 和 OEM/系統(tǒng)集成商通常會(huì)在服務(wù)器上擁有 2x200GbE 前端網(wǎng)絡(luò)連接,并使用 Nvidia Spectrum Ethernet SN4600 交換機(jī)部署網(wǎng)絡(luò)。但是,我們建議不要這樣做,因?yàn)槊颗_(tái) HGX 服務(wù)器擁有 400Gbit/s 的網(wǎng)絡(luò)帶寬遠(yuǎn)遠(yuǎn)超過(guò)您的客戶(hù)可能使用的網(wǎng)絡(luò)帶寬??蛻?hù)將僅使用前端網(wǎng)絡(luò)進(jìn)行存儲(chǔ)和互聯(lián)網(wǎng)網(wǎng)絡(luò)調(diào)用以及 SLURM 和 Kubernetes 的帶內(nèi)管理。由于前端網(wǎng)絡(luò)不會(huì)用于延遲敏感和帶寬密集型梯度,所有這些都會(huì)減少集體通信,因此每臺(tái)服務(wù)器 400Gbit/s 會(huì)過(guò)度使用。因此,對(duì)于整體前端網(wǎng)絡(luò)部署,我們建議使用來(lái)自 Arista、Cisco 或各種 OEM/ODM 等供應(yīng)商的通用以太網(wǎng)交換機(jī),并且每臺(tái) HGX 服務(wù)器僅擁有 2x100GbE。

下一個(gè)唾手可得的成果是帶外管理網(wǎng)絡(luò)。默認(rèn) BoM 包括 SN2201 Nvidia Spectrum 1GbE 交換機(jī),但這些交換機(jī)的價(jià)格相當(dāng)高,對(duì)于像帶外網(wǎng)絡(luò)這樣簡(jiǎn)單的東西來(lái)說(shuō),很難證明其合理性。這相當(dāng)于購(gòu)買(mǎi)品牌 Advil 而不是通用布洛芬。使用任何通用帶外交換機(jī)都會(huì)降低帶外網(wǎng)絡(luò)成本,因此,我們建議使用通用 1GbE 交換機(jī)。

優(yōu)化后端網(wǎng)絡(luò)

后端網(wǎng)絡(luò)的選擇變得更加復(fù)雜,需要對(duì)高性能網(wǎng)絡(luò)有更深入的了解,而新興的 Neoclouds 公司有時(shí)可能缺乏這種了解。該網(wǎng)絡(luò)將運(yùn)行 All Reduce、All Gather、Reduce Scatter 的大規(guī)模突發(fā),即您的集體通信。由于這些集體的突發(fā)性,后端網(wǎng)絡(luò)與傳統(tǒng)云網(wǎng)絡(luò)相比具有完全不同的流量模式。

首先,我們來(lái)談?wù)?Nvidia 參考網(wǎng)絡(luò)拓?fù)?。參考拓?fù)涫且粋€(gè)具有無(wú)阻塞連接的兩層 8 軌優(yōu)化胖樹(shù)。在無(wú)阻塞胖樹(shù)網(wǎng)絡(luò)中,如果您任意將節(jié)點(diǎn)分成對(duì),那么所有對(duì)都應(yīng)該能夠同時(shí)以全帶寬相互通信。盡管在實(shí)踐中,由于擁塞、不完善的自適應(yīng)路由和額外交換機(jī)跳數(shù)的額外延遲,情況往往并非如此。

當(dāng)網(wǎng)絡(luò)進(jìn)行 8 軌優(yōu)化時(shí),來(lái)自 4 臺(tái)服務(wù)器的所有 32 個(gè) GPU 不是連接到架頂 交換機(jī),而是來(lái)自 32 臺(tái)服務(wù)器的 8 個(gè) GPU 索引中的每個(gè) GPU 索引都有自己的交換機(jī)。例如,來(lái)自所有 32 臺(tái)服務(wù)器的所有 GPU #0 都連接到葉交換機(jī) #0,來(lái)自所有 32 臺(tái)服務(wù)器的所有 GPU #1 都連接到葉交換機(jī) #1,依此類(lèi)推。

軌道優(yōu)化網(wǎng)絡(luò)的主要優(yōu)勢(shì)是減少擁堵。如果來(lái)自同一服務(wù)器的所有 GPU 都連接到同一個(gè) ToR 交換機(jī),當(dāng)它們同時(shí)嘗試將流量發(fā)送到網(wǎng)絡(luò)中時(shí),它們嘗試使用相同鏈路遍歷胖樹(shù)網(wǎng)絡(luò)的可能性會(huì)非常高,從而導(dǎo)致?lián)矶?。用?AI 訓(xùn)練的 GPU 應(yīng)該會(huì)定期一次性發(fā)送數(shù)據(jù),因?yàn)樾枰w操作來(lái)交換梯度并更新新參數(shù)。

下圖第一張圖展示了一個(gè) 8 軌優(yōu)化網(wǎng)絡(luò),其中有 8 個(gè)來(lái)自集體通信的并行流用于連接 8 個(gè)不同的葉交換機(jī),而第二張圖展示了一個(gè)非軌優(yōu)化設(shè)計(jì),其中服務(wù)器連接到 ToR 交換機(jī)。

Nvidia 參考架構(gòu)還將集群劃分為 4 個(gè) pod,每個(gè) pod 包含 32 個(gè) HGX 服務(wù)器(256 個(gè) H100)和 8 個(gè)軌道。每個(gè) GPU 索引始終與 pod 內(nèi)另一臺(tái)服務(wù)器中的相同 GPU 索引相距一跳。這很重要,因?yàn)樗梢詼p少主干交換機(jī)上的網(wǎng)絡(luò)流量,而主干交換機(jī)很容易成為擁塞熱點(diǎn)(即使在非阻塞網(wǎng)絡(luò)上也是如此)。

與普遍看法相反,在多租戶(hù)環(huán)境中,優(yōu)化軌道并減少頂層流量/擁塞尤其重要,因?yàn)樵谶@種環(huán)境中,您通常會(huì)有多個(gè)租戶(hù)/客戶(hù)。在 8 軌道優(yōu)化網(wǎng)絡(luò)中,每個(gè)工作負(fù)載的所有 8 個(gè)流都是物理分離的,因此不會(huì)發(fā)生路由/交換沖突。在我們即將推出的 Nvidia NCCL 和 AMD RCCL 集體深入探討中,我們將討論軌道優(yōu)化配置的好處以及為什么擁塞可能是一個(gè)嚴(yán)重的問(wèn)題,尤其是對(duì)于 AI Neoclouds 等多租戶(hù)環(huán)境。

不幸的是,擁塞問(wèn)題無(wú)法通過(guò) nccl-tests 輕松測(cè)量,而是需要現(xiàn)實(shí)世界的并發(fā)工作負(fù)載才能了解嘈雜鄰居/擁塞問(wèn)題如何影響端到端工作負(fù)載吞吐量。如果租戶(hù)之間沒(méi)有物理隔離,嘈雜鄰居將永遠(yuǎn)存在。鑒于我們?cè)趽砣麊?wèn)題上所看到的情況,我們強(qiáng)烈建議采用某種形式的 8 軌優(yōu)化拓?fù)洹?/p>

軌道優(yōu)化拓?fù)涞牧硪粋€(gè)好處是,由于大多數(shù)流量將在葉交換機(jī)本地進(jìn)行,因此可以超額訂閱網(wǎng)絡(luò)的主干層,這是一種架構(gòu)優(yōu)化,我們將在本文后面討論。

優(yōu)化光纖與電氣網(wǎng)絡(luò)

使用光纖進(jìn)行聯(lián)網(wǎng)的優(yōu)點(diǎn)是傳輸距離更長(zhǎng),但缺點(diǎn)是增加了功率要求,并且光纖收發(fā)器的成本非常高,尤其是直接通過(guò) Nvidia 購(gòu)買(mǎi)時(shí),而這對(duì)于 InfiniBand 網(wǎng)絡(luò)來(lái)說(shuō)基本上是必須的。優(yōu)化物理網(wǎng)絡(luò)拓?fù)浜蜋C(jī)架布局可以減少光纖收發(fā)器的使用,只在實(shí)際需要更長(zhǎng)傳輸距離時(shí)才使用。

在 Nvidia 參考設(shè)計(jì)中,葉交換機(jī)位于單獨(dú)的網(wǎng)絡(luò)機(jī)架上,而主干交換機(jī)位于專(zhuān)用的網(wǎng)絡(luò)機(jī)架上,這意味著需要使用 100% 的光學(xué)器件。

為此,可以考慮使用一種網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),即無(wú)阻塞機(jī)架頂部 設(shè)計(jì)。大多數(shù)具有傳統(tǒng)網(wǎng)絡(luò)背景的人都會(huì)立即認(rèn)出這種設(shè)計(jì),因?yàn)樗莻鹘y(tǒng)網(wǎng)絡(luò)中最常見(jiàn)的設(shè)計(jì),其中在機(jī)架中間或頂部有一個(gè)交換機(jī),用于連接機(jī)架中的所有服務(wù)器。由于 ToR 交換機(jī)與服務(wù)器之間的距離小于 3 米,我們可以使用稱(chēng)為直接連接銅纜 (DAC) 的“廉價(jià)”無(wú)源銅纜將服務(wù)器連接到葉交換機(jī)。對(duì)于這種設(shè)計(jì),我們建議將 InfiniBand 交換機(jī)放在中間,以縮短 DAC 電纜需要傳輸?shù)木嚯x。

從葉交換機(jī)到頂層主干交換機(jī),我們都必須使用光纖。這很昂貴,但至少 50% 的連接現(xiàn)在將被更便宜的 DAC 銅纜取代。

不幸的是,對(duì)于這種設(shè)計(jì),您將無(wú)法實(shí)現(xiàn) 8 軌優(yōu)化網(wǎng)絡(luò),因此,即使您的主干層是無(wú)阻塞的,您也通常會(huì)遇到擁塞熱點(diǎn),因?yàn)楝F(xiàn)在有 8 個(gè)流跨越多個(gè)交換機(jī)級(jí)別,這意味著每個(gè)流都需要?jiǎng)討B(tài)使用不同的路徑來(lái)避免擁塞。在擁有完美自適應(yīng)路由的理想世界中,ToR 將作為拓?fù)浜芎玫毓ぷ?,因?yàn)槁酚蓪⑹冀K避免擁塞路線(xiàn)。但在現(xiàn)實(shí)中,由于完美的自適應(yīng)路由并不存在,因此實(shí)現(xiàn)這種拓?fù)鋵?yán)重?fù)p害網(wǎng)絡(luò)性能。

下圖是我們對(duì)這種無(wú)阻塞機(jī)架頂部結(jié)構(gòu)的模擬熱圖,其中淺藍(lán)色表示由于擁塞導(dǎo)致帶寬減少,深藍(lán)色表示接近滿(mǎn)線(xiàn)速率。如您所見(jiàn),使用 ToR 拓?fù)淇梢赃_(dá)到線(xiàn)速率,但由于所有 8 個(gè)流都進(jìn)入一個(gè)交換機(jī),因此仍然存在相當(dāng)大的擁塞,由于擁塞,吞吐量變得更加不穩(wěn)定,并且這些流的帶寬更少。

盡管這種設(shè)計(jì)的性能對(duì)于 Neoclouds 這樣的多租戶(hù)環(huán)境來(lái)說(shuō)并不是特別好,但成本節(jié)省卻是巨大的,節(jié)省了 34.8% 的后端 InfiniBand 結(jié)構(gòu)成本。

虛擬模塊化交換機(jī)

現(xiàn)在,如果我們可以兼顧兩全其美的優(yōu)勢(shì),既能優(yōu)化 8 軌的性能優(yōu)勢(shì),又能節(jié)省 ToR 的成本,那會(huì)怎樣?

這就是虛擬模塊化交換機(jī)的作用所在。它具有與 Nvidia 參考設(shè)計(jì)相同的邏輯拓?fù)?,但由于巧妙的平面?guī)劃和交換機(jī)位置規(guī)劃,可以使用從葉交換機(jī)到主干交換機(jī)的銅線(xiàn)。

這里的基本思想是將交換機(jī)機(jī)架直接放置在彼此之間,這樣主干交換機(jī)位于中間機(jī)架,而葉交換機(jī)位于左機(jī)架和右機(jī)架,如下圖所示。這樣,葉交換機(jī)和主干交換機(jī)之間的連接可以全部采用銅纜,而服務(wù)器和葉交換機(jī)之間的連接仍將使用光纖。

由于拓?fù)淙葬槍?duì) 8 軌進(jìn)行優(yōu)化,因此 8 個(gè)流中的每一流都將物理分離,從而顯著減少擁塞。

這種設(shè)計(jì)應(yīng)該能讓我們兩全其美,但是這種拓?fù)浣Y(jié)構(gòu)有什么缺點(diǎn)呢?

不幸的是,這些交換機(jī)到交換機(jī)的 DAC 銅纜往往彎曲半徑較小,而且非常粗,導(dǎo)致氣流受阻。我們之前在生產(chǎn)中看到過(guò)類(lèi)似的設(shè)計(jì),如果你能很好地管理電纜,這些問(wèn)題就可以克服。這個(gè)問(wèn)題也可以使用有源銅纜 來(lái)解決,這種銅纜幾乎和多模光纖一樣細(xì),混合半徑也很好。不幸的是,我們聽(tīng)說(shuō)的一個(gè)潛在問(wèn)題是 Nvidia 的 LinkX NDR ACC 電纜的錯(cuò)誤率不是很好。

使用這種無(wú)阻塞虛擬模塊化交換機(jī)設(shè)計(jì),與參考架構(gòu)相比,我們可以在后端網(wǎng)絡(luò)上節(jié)省 24.9% 的成本,同時(shí)保持相同的性能。另一個(gè)巨大的好處是無(wú)源銅纜通常比光收發(fā)器更可靠。收發(fā)器故障率很高,激光器是故障的主要部件。這種高故障率帶來(lái)了更換收發(fā)器零件、集群停機(jī)時(shí)間和維修所需人工方面的成本。

超額訂閱后端網(wǎng)絡(luò)優(yōu)化

我們可以通過(guò)突破無(wú)阻塞網(wǎng)絡(luò)的限制,進(jìn)一步優(yōu)化成本。由于大多數(shù)流量在 8 軌優(yōu)化設(shè)計(jì)中位于 32 臺(tái)服務(wù)器的 pod 本地,并且由于 InfiniBand 具有足夠好的自適應(yīng)路由,因此您可以設(shè)計(jì)從葉交換機(jī)到主干的超額訂閱。即使集群將由僅運(yùn)行一個(gè)工作負(fù)載的單個(gè)租戶(hù)使用,這也有好處。當(dāng)使用 1024 個(gè) GPU 時(shí),您的單個(gè)模型副本永遠(yuǎn)不會(huì)大于 256 個(gè) GPU。這意味著張量、專(zhuān)家和管道并行性將在 32 臺(tái)服務(wù)器的 pod 內(nèi)運(yùn)行。

該流量將停留在第一級(jí)交換機(jī)本地,而帶寬要求較低的數(shù)據(jù)并行、梯度和所有縮減將發(fā)生在主干交換機(jī)上。由于主干層的帶寬要求處于較低水平,并且 InfiniBand 具有足夠好的自適應(yīng)路由,因此您可以?xún)H通過(guò)設(shè)計(jì)進(jìn)行訂閱。

在 Meta 的 24k H100 集群上,他們?cè)?pod 之間實(shí)現(xiàn)了 7:1 的超額訂閱,但我們認(rèn)為以更保守的超額訂閱進(jìn)行設(shè)計(jì)更有意義,我們建議對(duì)小型集群僅使用 2:1 的超額訂閱。

這種設(shè)計(jì)的好處是,1024 個(gè) H100 不需要 16 個(gè)主干交換機(jī),而只需要 8 個(gè)主干交換機(jī)。當(dāng)將 2:1 超額認(rèn)購(gòu)與虛擬模塊化交換機(jī)設(shè)計(jì)相結(jié)合時(shí),我們可以在中間機(jī)架中安裝更少的交換機(jī)。這意味著電纜管理要容易得多。另一個(gè)好處是您的葉交換機(jī)上有空端口,因此將來(lái),當(dāng)您的 pod 間流量較大時(shí),您可以輕松添加更多主干交換機(jī)并降低超額認(rèn)購(gòu)程度。

我們估計(jì),與參考架構(gòu)相比,使用虛擬模塊化交換機(jī)實(shí)現(xiàn) 2:1 超額訂閱可節(jié)省 31.6% 的成本,這比僅使用非阻塞虛擬模塊化交換機(jī)設(shè)計(jì)時(shí)節(jié)省的 24.9% 有所改善。非阻塞設(shè)計(jì)的唯一缺點(diǎn)是您需要將客戶(hù)合理地分配到物理服務(wù)器,并避免 pod 邊界之間的碎片化。我們相信,只要有一支有能力的團(tuán)隊(duì),就可以輕松實(shí)現(xiàn)這一點(diǎn)。

Nvidia 還通過(guò) CS9500 系列為 NDR InfiniBand 提供了自己的物理模塊化交換機(jī)。您可以使用此交換機(jī)創(chuàng)建相同的 8 軌優(yōu)化胖樹(shù)拓?fù)?,并且如果愿意,還可以進(jìn)行超額訂閱。此模塊化交換機(jī)最多可支持 2048 個(gè) 400Gbit/s 外部端口,因此可擴(kuò)展到連接最多 2048 個(gè) H100。主干交換機(jī) ASIC 位于機(jī)架的背面,而葉交換機(jī) ASIC 和 OSFP 籠位于機(jī)架的正面。主干交換機(jī) ASIC 通過(guò)類(lèi)似于 NVL72 背板的銅背板連接到葉交換機(jī) ASIC。不幸的是,只提供液體冷卻解決方案。

CS9500 的液體冷卻要求是我們建議為大多數(shù) Neoclouds 部署虛擬模塊化交換機(jī)而不是物理模塊化交換機(jī)的原因。當(dāng)前 GB200 驅(qū)動(dòng)的液體冷卻就緒主機(jī)托管需求以及主機(jī)托管供應(yīng)總體緊縮意味著新興 Neoclouds 不會(huì)有太多價(jià)格合理的容量。由于 Nvidia 的定價(jià)基于對(duì)最終用戶(hù)的價(jià)值,并且由于這種物理模塊化交換機(jī)可能對(duì)大型集群部署非常有價(jià)值 到 O(100k)),我們認(rèn)為這比僅僅制造您自己的虛擬模塊化交換機(jī)要花費(fèi)更多。

不幸的是,使用 InfiniBand 的缺點(diǎn)之一是,要擁有一個(gè)不錯(cuò)的 REST 接口,您需要購(gòu)買(mǎi) UFM 管理許可證。統(tǒng)一結(jié)構(gòu)管理器 是 Nvidia 提供的軟件包,用于處理網(wǎng)絡(luò)管理、性能優(yōu)化和監(jiān)控。建議在 2048 個(gè) GPU 以下的集群中使用 UFM,對(duì)于更大規(guī)模的集群來(lái)說(shuō),這是一項(xiàng)硬性要求。UFM 許可證按每個(gè) NIC 端點(diǎn)收費(fèi),這意味著對(duì)于 1024 個(gè) GPU 集群,您需要購(gòu)買(mǎi) 1024 個(gè)許可證。

購(gòu)買(mǎi) UFM 的另一種方法是使用開(kāi)放子網(wǎng)管理器,該管理器僅通過(guò)終端命令行界面提供,但幸運(yùn)的是,您可以創(chuàng)建一個(gè)簡(jiǎn)單的 REST 服務(wù)器,該服務(wù)器包裝命令行并使用子進(jìn)程 Python 庫(kù)為您執(zhí)行命令。對(duì)于您的第一個(gè)集群,我們建議只購(gòu)買(mǎi) UFM 許可證,但對(duì)于未來(lái)的集群,我們建議 Neoclouds 考慮這一點(diǎn)以節(jié)省成本。

AI Neocloud 存儲(chǔ)

我們將討論 H100 集群中下一個(gè)最昂貴的部分,即聯(lián)網(wǎng) NVMe 存儲(chǔ)。這是所有客戶(hù)都想要的東西,并且實(shí)際上是運(yùn)行 SLURM 的必要條件。存儲(chǔ)部署基本上只有兩個(gè)項(xiàng)目,即您的物理存儲(chǔ)服務(wù)器和您的存儲(chǔ)軟件供應(yīng)商許可證,例如 Weka 或 Vast Data 等。由于與 OEM 的渠道合作關(guān)系,這些是最受歡迎的供應(yīng)商。

為了實(shí)現(xiàn)高可用性,大多數(shù)存儲(chǔ)軟件供應(yīng)商建議您部署至少 8 臺(tái)存儲(chǔ)服務(wù)器。事實(shí)上,大多數(shù) Neocloud 僅部署最低限度的 8 臺(tái)存儲(chǔ)服務(wù)器。使用 8 臺(tái)存儲(chǔ)服務(wù)器,您將在所有存儲(chǔ)服務(wù)器上以大塊大小獲得 250GByte/s 到 400GByte/s 的聚合存儲(chǔ)帶寬。這足以滿(mǎn)足在 1024 臺(tái) H100 上運(yùn)行的大多數(shù)合理或不合理的 AI 工作負(fù)載。

由于存儲(chǔ)的交付周期非常短,我們建議您從 1024 H100 集群的總存儲(chǔ)容量 2 PB 開(kāi)始,因?yàn)槿绻l(fā)現(xiàn)客戶(hù)正在使用您部署的容量,您可以輕松擴(kuò)展存儲(chǔ)。我們建議在您的存儲(chǔ)部署中留出足夠的端口、NVMe 驅(qū)動(dòng)器托架、電源和機(jī)架空間,以便輕松擴(kuò)展。大部分存儲(chǔ)成本都在存儲(chǔ)軟件許可證中,而不是物理存儲(chǔ)服務(wù)器本身。

盡管您的存儲(chǔ)服務(wù)器可以在 InfiniBand 后端計(jì)算結(jié)構(gòu)上運(yùn)行,但嘗試過(guò)的人已經(jīng)損失了很多頭發(fā)!此部署通常會(huì)將您的 IB NIC 綁定到 GPU 0,以充當(dāng)您的存儲(chǔ) NIC。在英雄存儲(chǔ)基準(zhǔn)測(cè)試中,這將提供很大的延遲和高帶寬,但在現(xiàn)實(shí)世界的工作負(fù)載中,這將導(dǎo)致您的 GPU 0 落后,因?yàn)槭褂?IB NIC 進(jìn)行存儲(chǔ)會(huì)產(chǎn)生沖突。當(dāng)存儲(chǔ)集群中的磁盤(pán)發(fā)生故障時(shí),將觸發(fā)重建,這將在您的計(jì)算結(jié)構(gòu)上造成大量的網(wǎng)絡(luò)流量,從而造成更大的擁塞。您可以購(gòu)買(mǎi)單獨(dú)的專(zhuān)用存儲(chǔ)結(jié)構(gòu),但這是過(guò)度的,因?yàn)槟梢栽谇岸司W(wǎng)絡(luò)上擁有存儲(chǔ)流量。

我們建議將存儲(chǔ)服務(wù)器和流量放在前端網(wǎng)絡(luò)上。前端網(wǎng)絡(luò)通常未得到充分利用,因?yàn)樗饕糜诨ヂ?lián)網(wǎng)流量、SLURM/Kubernetes 管理和提取容器映像。

更多網(wǎng)絡(luò)管理和軟件包

在帶內(nèi)管理方面,為了運(yùn)行高可用性 UFM 和 CPU 管理節(jié)點(diǎn),我們建議部署至少三個(gè) CPU 節(jié)點(diǎn)。在這三個(gè)節(jié)點(diǎn)中,兩個(gè)節(jié)點(diǎn)需要 ConnectX NIC 來(lái)管理 InfiniBand 結(jié)構(gòu)。第三個(gè) CPU 節(jié)點(diǎn)將僅用于其他非 InfiniBand 管理任務(wù)。此外,還需要其他雜項(xiàng) IT 設(shè)備,例如物理防火墻、42U 機(jī)架、受監(jiān)控的 PDU 等,但這些設(shè)備的價(jià)格不會(huì)顯著增加集群總資本支出成本。

集群 BoM 資本支出摘要:

參考架構(gòu)與半分析優(yōu)化架構(gòu)

如下所示,使用 Nvidia Superpod 參考架構(gòu) ,集群的總成本達(dá)到每臺(tái)計(jì)算服務(wù)器約 31.8 萬(wàn)美元(不包括存儲(chǔ)),但使用 SemiAnalysis 優(yōu)化架構(gòu)和 2:1 超額認(rèn)購(gòu),總總成本僅為每臺(tái)計(jì)算服務(wù)器 28.3 萬(wàn)美元(也不包括存儲(chǔ))。我們通過(guò)談判幫助 Neoclouds 進(jìn)一步優(yōu)化,尤其是在大型集群上進(jìn)一步削減成本。

驅(qū)動(dòng)程序、用戶(hù)體驗(yàn)和軟件

如果您來(lái)自大型科技公司或國(guó)家 HPC 實(shí)驗(yàn)室,那么用戶(hù)需求就很簡(jiǎn)單。用戶(hù)需要正常運(yùn)行的 GPU、網(wǎng)絡(luò)、正確安裝的驅(qū)動(dòng)程序、正常運(yùn)行的共享存儲(chǔ)和調(diào)度程序。然而,現(xiàn)實(shí)情況是,絕大多數(shù) Neocloud 都無(wú)法滿(mǎn)足這些用戶(hù)需求,從而導(dǎo)致用戶(hù)體驗(yàn)不佳。

從運(yùn)行 GPU 所需的 GPU 驅(qū)動(dòng)程序開(kāi)始 - 我們需要 cuda-drivers-5xx 和 fabricmanager-5xx 以及 cuda-toolkit-12-x。

Cuda-drivers-5xx 是 ubuntu/Linux 與 GPU 交互所需的內(nèi)核空間 Nvidia 驅(qū)動(dòng)程序。接下來(lái)是 fabricmanager-5xx,這是一個(gè)負(fù)責(zé)配置節(jié)點(diǎn)內(nèi) NV 鏈路結(jié)構(gòu)的軟件包。如果沒(méi)有 fabricmanager-5xx 包,節(jié)點(diǎn)內(nèi)的 8 個(gè) GPU 將無(wú)法通過(guò) NV 鏈路相互通信。Cuda-toolkit-12-x 是包含所有用戶(hù)空間工具和 API 的工具包,例如 NVCC,它是將 CUDA C++ 代碼編譯為 PTX 匯編和 Nvidia 機(jī)器代碼的編譯器。

對(duì)于網(wǎng)絡(luò),需要在每個(gè) GPU 服務(wù)器上安裝 Mellanox OpenFabrics Enterprise Distribution 驅(qū)動(dòng)程序。此軟件包是 ConnectX-7 InfiniBand NIC 的驅(qū)動(dòng)程序,用于執(zhí)行 RDMA(遠(yuǎn)程直接內(nèi)存訪(fǎng)問(wèn))和 OS 內(nèi)核旁路。為了讓 GPU 直接與 NIC 通信,您還需要GPUDirect RDMA,這是一個(gè)附加內(nèi)核驅(qū)動(dòng)程序,包含在 cuda-drivers-5xx 中,但默認(rèn)情況下未啟用。如果沒(méi)有此驅(qū)動(dòng)程序,GPU 將需要在 CPU RAM 中緩沖消息,然后這些消息才能發(fā)送到 NIC。啟用 GPUDirect RDMA 的命令是“sudo modprobe nvidia-peermem”。為了進(jìn)一步優(yōu)化 GPU 與 NIC 的通信,您需要下載一個(gè)名為 Nvidia HPC-X 的軟件包。

如果沒(méi)有上述 GPUDirect RDMA 和 HPC-X 軟件包,您的 GPU 只能以 80Gbit/s 的速度發(fā)送和接收流量,而每 GPU 的線(xiàn)路速率為 400Gbit/s。啟用這些軟件包后,您的點(diǎn)對(duì)點(diǎn)發(fā)送和接收速率應(yīng)達(dá)到 391Gbit/s,而線(xiàn)路速率為 400Gbit/s。

接下來(lái),用戶(hù)需要一個(gè)調(diào)度和啟動(dòng)軟件包。在 Neocloud 市場(chǎng)中,70% 的用戶(hù)希望 SLURM 可以開(kāi)箱即用,另外 20% 的用戶(hù)希望 Kubernetes 可以開(kāi)箱即用,最后 10% 的用戶(hù)大多希望安裝自己的調(diào)度程序。

對(duì)于 Neoclouds 來(lái)說(shuō),讓 SLURM 或 Kubernetes 開(kāi)箱即用非常重要,因?yàn)樽罱K用戶(hù)通常沒(méi)有安裝這些類(lèi)型的調(diào)度程序的經(jīng)驗(yàn)。這是因?yàn)閬?lái)自大型科技公司或國(guó)家/大學(xué)實(shí)驗(yàn)室背景的用戶(hù)通常有專(zhuān)門(mén)的人員負(fù)責(zé)安裝和操作這些 SLURM 軟件。最終用戶(hù)必須花 1-2 天時(shí)間自己安裝 SLURM,這筆費(fèi)用是相當(dāng)可觀(guān)的,因?yàn)樗麄儗?shí)際上是在為安裝期間閑置的 GPU 集群付費(fèi)。

最后,100% 的客戶(hù)還必須能夠在需要時(shí)手動(dòng)將交互式終端接入其 GPU 節(jié)點(diǎn) - 托管 SLURM 可提供此功能。使用 SLURM,您可以運(yùn)行“srun –gres=gpu=8 -w NODE_NAME –pty bash”以將交互式終端接入任何節(jié)點(diǎn)。

Crusoe 和 TogetherAI 等 Neocloud 是黃金標(biāo)準(zhǔn)。由于它們開(kāi)箱即用,安裝了所有必需的 InfiniBand 驅(qū)動(dòng)程序、GPU 驅(qū)動(dòng)程序和調(diào)度軟件,因此它們可以收取比競(jìng)爭(zhēng)對(duì)手更高的費(fèi)用,并且客戶(hù)流失率更低。

獲得最低價(jià)值體驗(yàn)的下一個(gè)用戶(hù)要求是擁有一個(gè)簡(jiǎn)潔的共享主目錄和共享數(shù)據(jù)存儲(chǔ)目錄。所有 GPU 節(jié)點(diǎn)和登錄節(jié)點(diǎn)都將在 /home/$USER/ 和 /data 處安裝共享存儲(chǔ)。這實(shí)際上意味著,當(dāng)最終用戶(hù)可以在任何 GPU 節(jié)點(diǎn)中啟動(dòng)交互式終端時(shí),該節(jié)點(diǎn)將具有相同的主目錄和文件。這非常棒,因?yàn)檫@意味著分配給用戶(hù)的每個(gè) GPU 節(jié)點(diǎn)都是可互換的,用戶(hù)無(wú)需關(guān)心他們正在使用哪個(gè) GPU 服務(wù)器。此外,在啟動(dòng)多節(jié)點(diǎn)訓(xùn)練作業(yè)時(shí),用戶(hù)的所有代碼都會(huì)自動(dòng)出現(xiàn)在每個(gè) GPU 節(jié)點(diǎn)上,因此用戶(hù)無(wú)需通過(guò) ssh 手動(dòng)將代碼復(fù)制到每個(gè)節(jié)點(diǎn)。

使用 Neocloud 存儲(chǔ)時(shí),用戶(hù)對(duì)存儲(chǔ)感到沮喪的主要原因是文件卷隨機(jī)卸載以及用戶(hù)遇到大量小文件 問(wèn)題。解決隨機(jī)卸載問(wèn)題的方法是使用名為“ autofs ”的程序,該程序會(huì)自動(dòng)保持共享文件系統(tǒng)處于掛載狀態(tài)。

其次,LOSF 問(wèn)題可以輕松避免,因?yàn)橹挥挟?dāng)您決定推出自己的存儲(chǔ)解決方案而不是為 Weka 或 Vast 等存儲(chǔ)軟件供應(yīng)商付費(fèi)時(shí),它才會(huì)成為問(wèn)題。如果集群上存在 LOSF 問(wèn)題,那么最終用戶(hù)很快就會(huì)注意到集群上的 LOSF 問(wèn)題,因?yàn)榧词箤?PyTorch 導(dǎo)入 Python 的時(shí)間也會(huì)導(dǎo)致完全滯后。

下圖是我們?cè)?Crusoe 集群上進(jìn)行測(cè)試時(shí)生成的,展示了經(jīng)過(guò)優(yōu)化且不存在 LOSF 問(wèn)題的集群存儲(chǔ)解決方案應(yīng)如何運(yùn)行。如您所見(jiàn),即使增加 GPU 數(shù)量,將 PyTorch 導(dǎo)入 Python 進(jìn)程所需的時(shí)間也保持相對(duì)平穩(wěn)。

這與在未優(yōu)化的共享存儲(chǔ)上運(yùn)行的集群有著天壤之別,在 Python 多節(jié)點(diǎn)訓(xùn)練運(yùn)行中導(dǎo)入 PyTorch 所需的時(shí)間激增,經(jīng)常導(dǎo)致集群完全無(wú)法使用。請(qǐng)注意 Crusoe與另一個(gè)存在 LOSF 問(wèn)題的集群之間的差異。

多租戶(hù)

除非整個(gè)客戶(hù)長(zhǎng)期租用整個(gè)物理集群,否則每個(gè)物理集群可能都會(huì)有多個(gè)并發(fā)客戶(hù)。這意味著您需要隔離前端以太網(wǎng)和后端 InfiniBand 網(wǎng)絡(luò),并在客戶(hù)之間實(shí)現(xiàn)存儲(chǔ)隔離。每個(gè)客戶(hù)通常會(huì)將每個(gè) GPU 服務(wù)器作為一個(gè)整體來(lái)租用,這意味著在計(jì)算服務(wù)器上虛擬化并不是嚴(yán)格需要的,因?yàn)槊總€(gè)物理服務(wù)器只有一個(gè)客戶(hù)。花時(shí)間細(xì)分節(jié)點(diǎn)是不值得的。使用標(biāo)準(zhǔn) vLAN 可以輕松為前端以太網(wǎng)設(shè)置隔離。在 vLAN 中,雖然物理以太網(wǎng)結(jié)構(gòu)是共享的,但每個(gè)客戶(hù)的節(jié)點(diǎn)只能與分配給同一客戶(hù)的其他節(jié)點(diǎn)通信。

與以太網(wǎng) vLAN 相比,InfiniBand 多租戶(hù)的設(shè)置和自動(dòng)化并不那么容易,但學(xué)習(xí)曲線(xiàn)非??臁T?InfiniBand 世界中,網(wǎng)絡(luò)隔離是使用分區(qū)密鑰 實(shí)現(xiàn)的 - 本質(zhì)上與 vLAN 的概念相同。每個(gè)客戶(hù)都通過(guò) pKeys 獲得自己獨(dú)立的 InfiniBand 網(wǎng)絡(luò),并且只有具有相同 pKeys 的節(jié)點(diǎn)才能相互通信。

可以通過(guò) UFM UI 儀表板或使用UFM REST API輕松創(chuàng)建和附加 pKey 。對(duì)于許多工程師來(lái)說(shuō),這實(shí)際上可能比自動(dòng)化以太網(wǎng) vLAN 更容易,因?yàn)橛幸粋€(gè)易于使用的 InfiniBand pKeys POST/GET/DELETE API。

不幸的是,我們從自己的測(cè)試經(jīng)驗(yàn)中發(fā)現(xiàn),一些 Neocloud 的 pkey 設(shè)置不正確,導(dǎo)致一個(gè)客戶(hù)的用戶(hù)能夠看到 InfiniBand 網(wǎng)絡(luò)上其他租戶(hù)的節(jié)點(diǎn)。我們強(qiáng)烈建議客戶(hù)親自驗(yàn)證他們的 InfiniBand 網(wǎng)絡(luò)是否與其他客戶(hù)正確隔離。

對(duì)于存儲(chǔ)而言,多租戶(hù)尤為重要。幸運(yùn)的是,存儲(chǔ)管理也相當(dāng)簡(jiǎn)單,因?yàn)?AI 領(lǐng)域的主要存儲(chǔ)提供商 Weka 和 Vast 都支持多租戶(hù)作為首要原則。

在 Weka 和 Vast 的數(shù)據(jù)軟件中,您可以輕松創(chuàng)建租戶(hù)并為每個(gè)存儲(chǔ)卷設(shè)置訪(fǎng)問(wèn)控制策略,以便僅分配給一個(gè)租戶(hù)。該軟件提供了強(qiáng)有力的保證,如果策略設(shè)置正確,則每個(gè)客戶(hù)的用戶(hù)只能訪(fǎng)問(wèn)他們自己的存儲(chǔ)卷。

裸機(jī)或虛擬化

對(duì)于 H100 SXM,最小計(jì)算單位是一臺(tái)服務(wù)器,這意味著每臺(tái)服務(wù)器每次只能有一個(gè)客戶(hù)。這意味著可以在保持安全性的同時(shí)進(jìn)行裸機(jī)部署。裸機(jī)是可能的,而且確實(shí)很常見(jiàn),但我們確實(shí)看到使用虛擬機(jī)具有額外的好處,例如更長(zhǎng)的平均恢復(fù)時(shí)間和更強(qiáng)的可靠性。

使用虛擬機(jī)時(shí),如果客戶(hù)正在使用的物理 GPU 服務(wù)器出現(xiàn)故障,那么 Neocloud 能夠輕松地在熱備用服務(wù)器上為客戶(hù)遷移或啟動(dòng)新的虛擬機(jī)。

可以使用開(kāi)源虛擬機(jī)管理程序在 GPU VM 上創(chuàng)建虛擬機(jī),它將啟動(dòng)您的 VM,在其中將 vCPU 固定到物理 CPU,并留下幾個(gè)未固定的核心來(lái)運(yùn)行虛擬機(jī)管理程序。

您還需要將 vLAN 以太網(wǎng)接口綁定到 GPU VM。使用通用虛擬機(jī)管理程序創(chuàng)建 CPU VM 是一項(xiàng)簡(jiǎn)單的任務(wù),如今大多數(shù)計(jì)算機(jī)科學(xué)畢業(yè)生都可以做到。要將 VM 變成 GPU VM,您還需要對(duì) GPU 和 InfiniBand NIC 進(jìn)行 PCIe 直通。對(duì)于 Neoclouds 來(lái)說(shuō)幸運(yùn)的是,NVIDIA 尚未找到一種方法來(lái)對(duì)其 GPU 和 NIC 上的 PCIe 直通收費(fèi)。我們還看到 Neoclouds 使用SR-IOV創(chuàng)建虛擬 InfiniBand NIC 并將其傳遞到虛擬機(jī)中,而不僅僅是物理 InfiniBand NIC,盡管使用 SR-IOV 并不是嚴(yán)格必要的。

您需要記住執(zhí)行的另一個(gè)步驟是通過(guò) NCCL_TOPO_FILE 變量手動(dòng)傳遞 /etc/nccl.conf 中的 NUMA 區(qū)域和 PCIe 拓?fù)湮募?,因?yàn)?NCCL 和 Nvidia 驅(qū)動(dòng)程序現(xiàn)在在該 GPU VM 內(nèi)運(yùn)行,因此無(wú)法自動(dòng)檢測(cè) NUMA 區(qū)域和 PCIe 拓?fù)?。如果沒(méi)有此步驟,NCCL 性能將以應(yīng)有帶寬的 50% 運(yùn)行。

與裸機(jī)相比,使用虛擬機(jī)的缺點(diǎn)之一是,由于啟用了IOMMU, CPU 到 GPU 的傳輸帶寬和延遲會(huì)略慢。但我們認(rèn)為使用虛擬機(jī)是值得的,因?yàn)樗鼘?duì)最終用戶(hù)來(lái)說(shuō)平均恢復(fù)時(shí)間更快,而且主機(jī)到設(shè)備 的傳輸通常與計(jì)算重疊,因此對(duì)最終用戶(hù)來(lái)說(shuō)甚至可能不會(huì)有明顯的影響。

由于 CPU RAM 為 1-2TB,開(kāi)箱即用的 kvm-qemu 虛擬機(jī)管理程序需要很長(zhǎng)時(shí)間才能啟動(dòng) VM。相比之下,使用 cloud-hypervisor 進(jìn)行了優(yōu)化,系統(tǒng)使用多個(gè) pthreads 并行對(duì)內(nèi)存進(jìn)行預(yù)故障,從而將 1TB 的內(nèi)存預(yù)故障時(shí)間從 80 秒縮短到僅 6 秒。此優(yōu)化由 Crusoe Cloud 創(chuàng)建,幸運(yùn)的是已上傳。根據(jù)我們的測(cè)試,Crusoe 的 VM 能夠在不到 90 秒的時(shí)間內(nèi)啟動(dòng)。

快速啟動(dòng)的重要好處是,當(dāng)客戶(hù)的 GPU 服務(wù)器不可避免地出現(xiàn)故障時(shí),Neocloud 操作員可以非常快速地將 VM 部署到其熱備用節(jié)點(diǎn)并將其添加到客戶(hù)的 SLURM 集群中,從而使客戶(hù)能夠非??焖俚鼗謴?fù)訓(xùn)練。

監(jiān)控和常見(jiàn)錯(cuò)誤

在監(jiān)控儀表板方面,我們至少建議通過(guò) Grafana 和 Prothemeus 使用 Nvidia Datacenter Manager 儀表板,以便用戶(hù)跟蹤 GPU 溫度、電源使用情況和活動(dòng)XID 錯(cuò)誤。

此外,我們還建議 Neoclouds 安裝 ipmi-exporter 來(lái)監(jiān)控整體風(fēng)扇速度、溫度和其他 BMC 指標(biāo)。在運(yùn)行 CPU 部署時(shí),使用某種集中式儀表板來(lái)顯示所有這些指標(biāo)是標(biāo)準(zhǔn)做法。

監(jiān)控的軟件架構(gòu)包括在每個(gè) GPU 節(jié)點(diǎn)上安裝一個(gè) IPMI 導(dǎo)出器和 DCGM 導(dǎo)出器,然后在 CPU 管理節(jié)點(diǎn)上部署 Prometheus 抓取器以與 GPU 導(dǎo)出器通信并將數(shù)據(jù)存儲(chǔ)在 InfluxDB 數(shù)據(jù)庫(kù)中。接下來(lái),Grafana Web 服務(wù)器可以連接到 Prometheus 以可視化收集的數(shù)據(jù)。

高級(jí) NeoCloud 操作員還將擁有一個(gè) promtail 記錄器,用于匯總每個(gè)服務(wù)器的診斷消息 日志。應(yīng)及時(shí)標(biāo)記的兩個(gè)常見(jiàn) dmesg 消息是電纜被拔出以及 NIC 和/或收發(fā)器溫度過(guò)熱。這些消息中的任何一個(gè)都可能表明您有一個(gè)不穩(wěn)定的 InfiniBand 鏈路,需要在客戶(hù)開(kāi)始流失之前及時(shí)解決。

遇到的另一個(gè)常見(jiàn)錯(cuò)誤是 GPU 通過(guò) dmesg 或 DCGM XID 錯(cuò)誤報(bào)告根本沒(méi)有錯(cuò)誤,但輸出錯(cuò)誤的矩陣乘法結(jié)果。這些錯(cuò)誤稱(chēng)為靜默數(shù)據(jù)損壞 。確定 GPU 上是否有 SDC 的最簡(jiǎn)單方法是使用 Nvidia DCGMI 診斷級(jí)別 4 工具 (sudo dcgmi diag -r 4)。該工具將捕獲 95% 的最常見(jiàn) SDC,但不幸的是會(huì)錯(cuò)過(guò)剩余 5% 的 SDC,導(dǎo)致非常漫長(zhǎng)的調(diào)試過(guò)程和非常憤怒的客戶(hù)。

NCCL 死鎖和停滯都是非常常見(jiàn)的問(wèn)題,可能會(huì)導(dǎo)致訓(xùn)練作業(yè)停滯 30-35 分鐘,然后 PyTorch 的 NCCL 看門(mén)狗會(huì)終止整個(gè)訓(xùn)練作業(yè)。我們認(rèn)為,如果 Neoclouds 添加自己的后臺(tái) NCCL 檢查器來(lái)檢查活動(dòng)的 SLURM 作業(yè)并查看作業(yè)在過(guò)去 4 分鐘內(nèi)是否使用了超過(guò) 150W 的電量,那么 Neoclouds 可以在此領(lǐng)域?yàn)榭蛻?hù)增加價(jià)值。如果用電量低于 150W,這可能意味著 NCCL 掛起并且存在某種死鎖,機(jī)器人可能會(huì)自動(dòng)向客戶(hù)發(fā)送電子郵件,提醒他們重新啟動(dòng) SLURM 作業(yè)。

一些最常見(jiàn)的 InfiniBand UFM 錯(cuò)誤代碼包括 110、112(鏈接中斷)、329(鏈接中斷)、702(端口被視為不健康)和 918(符號(hào)位錯(cuò)誤警告)。我們通常建議用戶(hù)在跟蹤 UFM 錯(cuò)誤時(shí),如果遇到上述任何錯(cuò)誤代碼,應(yīng)立即聯(lián)系工程師進(jìn)行進(jìn)一步調(diào)查。但實(shí)際上,這些問(wèn)題可能已經(jīng)給 Neocloud 的許多客戶(hù)造成了嚴(yán)重問(wèn)題,他們已經(jīng)向 Neocloud 運(yùn)營(yíng)商發(fā)送了垃圾 ping 消息。

我們強(qiáng)烈建議 Neocloud 運(yùn)營(yíng)商使用 Jira 等支持票務(wù)系統(tǒng)來(lái)跟蹤所有硬件故障和客戶(hù)問(wèn)題。如果沒(méi)有票務(wù)和客戶(hù)管理系統(tǒng),問(wèn)題就會(huì)被忽視,導(dǎo)致客戶(hù)流失率增加。

更多提示和測(cè)試

我們沒(méi)有看到很多 Neocloud 操作員使用的另一個(gè)功能是 SLURM topology.conf。SLURM 拓?fù)渑渲霉δ軐?dòng)用戶(hù)的 SLURM 訓(xùn)練作業(yè)并為每個(gè)等級(jí)分配一個(gè) SLURM_ID,以減少主干級(jí)流量。對(duì)于某些重要消息,最佳地分配 SLURM_ID 將導(dǎo)致 20-30% 的速度下降。我們將在即將舉行的 Nvidia NCCL 和 AMD RCCL 集體溝通深入探討中進(jìn)一步討論這一點(diǎn)。

一般來(lái)說(shuō),我們建議您使用nccl-tests來(lái)分析您的集群,并與 Nvidia 和您的 OEM 的參考編號(hào)進(jìn)行比較,看看是否存在任何性能不足或下降。

為了使 NCCL 測(cè)試變得簡(jiǎn)單,我們正在開(kāi)發(fā)一個(gè)名為 ClusterMAX-NCCL 的單行函數(shù)來(lái)運(yùn)行并將您的集群與一組參考結(jié)果進(jìn)行比較。

在 ClusterMAX-NCCL 中,我們針對(duì)所有不同類(lèi)型的集合體測(cè)試了從 16MiB 到 256MiB 的所有重要消息大小。我們最近推出了此工具的測(cè)試版,支持單節(jié)點(diǎn) NCCL 測(cè)試。以下是加載和運(yùn)行 ClusterMAX-NCCL 的一行代碼:

docker run --gpus all --ipc=host --shm-size 192G -v $/results:/workspace/results semianalysiswork/clustermax-nccl

如果您的節(jié)點(diǎn)配置正確,您應(yīng)該會(huì)看到類(lèi)似以下的結(jié)果:

提供具有競(jìng)爭(zhēng)力的價(jià)格、強(qiáng)大的可靠性和正確設(shè)置的集群是大多數(shù) Neocloud 的主要價(jià)值差異。我們?cè)谶@個(gè)集合之外看到的唯一差異化價(jià)值來(lái)自 Neocloud TogetherAI,F(xiàn)lash Attention 的發(fā)明者 Tri Dao 就在那里工作。TogetherAI 為其 GPU 客戶(hù)提供一組獨(dú)家的超優(yōu)化 CUDA 內(nèi)核,這些內(nèi)核可以輕松集成到客戶(hù)現(xiàn)有的訓(xùn)練代碼中,從而為客戶(hù)帶來(lái) 10-15% 的訓(xùn)練吞吐量性能快速提升。

基本上,通過(guò)能夠?qū)⒂?xùn)練速度提高 10-15%,客戶(hù)可以節(jié)省 10-15% 的 GPU 支出,或者使用相同的 GPU 美元預(yù)算,在 10-15% 以上的代幣上訓(xùn)練他們的模型,從而提高模型性能。我們認(rèn)為,如果不克隆 Tri Dao,Together 創(chuàng)造的價(jià)值就無(wú)法在其他地方復(fù)制。

集群部署和驗(yàn)收測(cè)試

集群部署通常利用 OEM 的機(jī)架規(guī)模集成和部署團(tuán)隊(duì)。這些團(tuán)隊(duì)將在單個(gè)服務(wù)器級(jí)別和集群范圍級(jí)別進(jìn)行集成和測(cè)試,在此期間,網(wǎng)絡(luò)測(cè)試將在 OEM 的集成工廠(chǎng)進(jìn)行。我們建議集群范圍的高溫老化應(yīng)持續(xù)至少 3-4 周,以捕獲節(jié)點(diǎn)組件中所有與早期失效相關(guān)的故障。集成團(tuán)隊(duì)使用 LINPACK 作為老化和驗(yàn)收流程非常常見(jiàn),但我們認(rèn)為這不是一個(gè)很好的測(cè)試,因?yàn)?LINPACK 不會(huì)大量使用網(wǎng)絡(luò),也不會(huì)占用太多 GPU 的 HBM 內(nèi)存,而是僅使用和測(cè)試 GPU 的 FP64 核心。相比之下,ML 訓(xùn)練非常依賴(lài)網(wǎng)絡(luò)、HBM 和 BF16/FP16/FP8 張量核心,因此,我們認(rèn)為需要進(jìn)行實(shí)際老化相關(guān)組件的老化和驗(yàn)收測(cè)試。

在集成工廠(chǎng)完成集成和老化后,OEM 將打包所有機(jī)架和電纜,運(yùn)送到 Neocloud 的數(shù)據(jù)中心,之后還需要兩周時(shí)間才能將集群部署到這個(gè)主機(jī)托管數(shù)據(jù)中心。我們建議 Neoclouds 在現(xiàn)場(chǎng)設(shè)置集群后再進(jìn)行 2-3 天的老化/驗(yàn)收測(cè)試,即使集成工廠(chǎng)老化已經(jīng)完成。這是為了確保在運(yùn)輸或現(xiàn)場(chǎng)部署過(guò)程中沒(méi)有硬件損壞。一個(gè)非常常見(jiàn)的問(wèn)題是,由于在運(yùn)輸和設(shè)置過(guò)程中光纖連接端點(diǎn)上積累的灰塵導(dǎo)致 InfiniBand 鏈路抖動(dòng)。解決此問(wèn)題的方法是清潔抖動(dòng)端點(diǎn)的光纖末端。但有時(shí)還有更深層次的問(wèn)題需要發(fā)現(xiàn)和解決。

日常運(yùn)營(yíng)

Neoclouds 的日常運(yùn)營(yíng)主要包括一次又一次的“打地鼠”。擁有良好的內(nèi)部管理和調(diào)試工具將使這個(gè)過(guò)程順利進(jìn)行,甚至令人非常滿(mǎn)意/愉快,但很多時(shí)候 Neoclouds 沒(méi)有足夠的工程師來(lái)構(gòu)建這些工具,因?yàn)榫哂兄S刺意味的是,大多數(shù)工程師的時(shí)間將花在“打地鼠”上,而不是構(gòu)建更好的“打地鼠”工具。

集群中最常見(jiàn)的問(wèn)題包括 IB 收發(fā)器抖動(dòng)、GPU“從總線(xiàn)上掉下來(lái)”、GPU HBM 錯(cuò)誤和 SDC。大多數(shù)情況下,只需對(duì)物理服務(wù)器進(jìn)行硬重啟,或者在許多情況下構(gòu)建 UI 按鈕或教客戶(hù)自己對(duì)服務(wù)器進(jìn)行硬電源循環(huán),即可解決這些問(wèn)題。在其他情況下,解決問(wèn)題的方法是拔下并重新插入 InfiniBand 收發(fā)器或清除光纖電纜上的灰塵。其他情況下,需要致電 OEM 或系統(tǒng)集成商,獲得保修 RMA 以完全更換整個(gè)服務(wù)器。

如上所述,Neocloud 集群早期階段的故障非常常見(jiàn),因?yàn)榇蠖鄶?shù) Neocloud 在交付給客戶(hù)之前不會(huì)在集群中進(jìn)行燒機(jī)測(cè)試。正如 Yi Tay 所注意到的,在可靠性方面,未進(jìn)行燒機(jī)測(cè)試的集群比進(jìn)行燒機(jī)測(cè)試的集群差幾個(gè)數(shù)量級(jí)。

這是 TogetherAI 和 Crusoe 得分很高的另一個(gè)方面,因?yàn)樗鼈兪菫閿?shù)不多的在將集群移交給客戶(hù)之前進(jìn)行數(shù)周磨合的 Neocloud 之一。此外,雇用和留住擁有多年 Nvidia GPU 和 InfiniBand 網(wǎng)絡(luò)操作經(jīng)驗(yàn)的人員的公司往往會(huì)遇到更低的故障率,因?yàn)殛P(guān)于如何正確調(diào)試和防止 AI 集群發(fā)生錯(cuò)誤的未成文部落知識(shí)庫(kù)中包含了大量關(guān)于如何設(shè)置可靠集群的知識(shí)。

我們發(fā)現(xiàn),對(duì)于擁有 512 個(gè) H100 的集群,頂級(jí) H100 運(yùn)營(yíng)商通常平均故障間隔時(shí)間為 7 天。對(duì)于這些頂級(jí)運(yùn)營(yíng)商來(lái)說(shuō),大多數(shù)情況下,只需重啟節(jié)點(diǎn)即可輕松修復(fù)故障。

半導(dǎo)體精品公眾號(hào)推薦

專(zhuān)注半導(dǎo)體領(lǐng)域更多原創(chuàng)內(nèi)容

關(guān)注全球半導(dǎo)體產(chǎn)業(yè)動(dòng)向與趨勢(shì)

今天是《半導(dǎo)體行業(yè)觀(guān)察》為您分享的第3906內(nèi)容,歡迎關(guān)注。

『半導(dǎo)體第一垂直媒體』

實(shí)時(shí) 專(zhuān)業(yè) 原創(chuàng) 深度

公眾號(hào)ID:icbank

喜歡我們的內(nèi)容就點(diǎn)“在看”分享給小伙伴哦

免責(zé)聲明:此文內(nèi)容為本網(wǎng)站轉(zhuǎn)載企業(yè)宣傳資訊,僅代表作者個(gè)人觀(guān)點(diǎn),與本網(wǎng)無(wú)關(guān)。僅供讀者參考,并請(qǐng)自行核實(shí)相關(guān)內(nèi)容。

司法| 南丰县| 龙南县| 林州市| 合川市| 黎平县| 故城县| 扎赉特旗| 逊克县| 鄂托克前旗| 平利县| 黎平县| 囊谦县| 柞水县| 盐池县| 安阳县| 台江县| 哈密市| 章丘市| 宜城市| 华宁县| 罗定市| 肃南| 勐海县| 芦山县| 巴南区| 辽阳县| 碌曲县| 崇左市| 隆化县| 大足县| 基隆市| 清水河县| 盐边县| 吴堡县| 八宿县| 东宁县| 建始县| 贵德县| 玛多县| 天津市|