深度學(xué)習(xí)訓(xùn)練通常需要大量的計算。GPU是目前深度學(xué)習(xí)性價比最高的硬件加速器。特別是,與 CPU 相比,GPU 更便宜且性能更高,通常高出一個數(shù)量級以上。此外,單個服務(wù)器可以支持多個 GPU,高端服務(wù)器最多支持 8 個。更典型的數(shù)字是一個工程工作站最多 4 個 GPU,因為熱量、冷卻和電力需求迅速升級,超出了辦公大樓的支持能力。對于更大規(guī)模的部署,云計算(例如,Amazon 的 P3和 G4 實例)是更實用的解決方案。
23.5.1。選擇服務(wù)器
通常不需要購買具有許多線程的高端 CPU,因為大部分計算都發(fā)生在 GPU 上。也就是說,由于 Python 中的全局解釋器鎖 (GIL),在我們擁有 4-8 個 GPU 的情況下,CPU 的單線程性能可能很重要。在所有條件相同的情況下,這表明內(nèi)核數(shù)量較少但時鐘頻率較高的 CPU 可能是更經(jīng)濟(jì)的選擇。例如,在 6 核 4 GHz 和 8 核 3.5 GHz CPU 之間進(jìn)行選擇時,前者更可取,盡管其總速度較低。一個重要的考慮因素是 GPU 使用大量功率,因此會散發(fā)大量熱量。這需要非常好的散熱和足夠大的機(jī)箱來使用 GPU。如果可能,請遵循以下準(zhǔn)則:
-
電源。GPU 使用大量電力。每個設(shè)備最高 350W 的預(yù)算(檢查顯卡的峰值需求而不是典型需求,因為高效代碼會消耗大量能源)。如果您的電源不能滿足需求,您會發(fā)現(xiàn)您的系統(tǒng)變得不穩(wěn)定。
-
機(jī)箱尺寸。GPU 很大,輔助電源連接器通常需要額外的空間。另外,大機(jī)箱更容易散熱。
-
顯卡散熱。如果您有大量 GPU,則可能需要投資水冷。此外,即使風(fēng)扇較少,也要以參考設(shè)計為目標(biāo),因為它們足夠薄,可以在設(shè)備之間引入空氣。如果您購買多風(fēng)扇 GPU,安裝多個 GPU 時它可能太厚而無法獲得足夠的空氣,并且您會遇到熱節(jié)流問題。
-
PCIe 插槽。將數(shù)據(jù)移入和移出 GPU(以及在 GPU 之間交換數(shù)據(jù))需要大量帶寬。我們推薦 16 通道的 PCIe 3.0 插槽。如果安裝多個 GPU,請務(wù)必仔細(xì)閱讀主板說明以確保 16× 當(dāng)同時使用多個 GPU 并且您獲得 PCIe 3.0 而不是 PCIe 2.0 用于額外插槽時,帶寬仍然可用。一些主板降級到8×甚至4×安裝多個 GPU 時的帶寬。這部分是由于 CPU 提供的 PCIe 通道數(shù)量。
簡而言之,這里有一些構(gòu)建深度學(xué)習(xí)服務(wù)器的建議:
-
初學(xué)者。購買低功耗的低端 GPU(適合深度學(xué)習(xí)的廉價游戲 GPU 使用 150-200W)。如果幸運的話,您當(dāng)前的計算機(jī)將支持它。
-
1 個顯卡。具有 4 核的低端 CPU 就足夠了,大多數(shù)主板就足夠了。瞄準(zhǔn)至少 32 GB DRAM 并投資 SSD 用于本地數(shù)據(jù)訪問。600W的電源應(yīng)該足夠了。買一個有很多風(fēng)扇的 GPU。
-
2 個 GPU。具有 4-6 個內(nèi)核的低端 CPU 就足夠了。瞄準(zhǔn) 64 GB DRAM 并投資購買 SSD。兩個高端 GPU 需要大約 1000W 的功率。在主板方面,確保它們有 兩個PCIe 3.0 x16 插槽。如果可以,獲得一塊在 PCIe 3.0 x16 插槽之間有兩個可用空間(60 毫米間距)的主板,以提供額外的空氣。在這種情況下,購買兩個風(fēng)扇很多的 GPU。
-
4 個 GPU。確保購買單線程速度相對較快(即時鐘頻率較高)的 CPU。您可能需要具有更多 PCIe 通道的 CPU,例如 AMD Threadripper。您可能需要相對昂貴的主板來獲得 4 個 PCIe 3.0 x16 插槽,因為它們可能需要一個 PLX 來復(fù)用 PCIe 通道。購買具有參考設(shè)計的狹窄 GPU,讓空氣進(jìn)入 GPU 之間。您需要一個 1600–2000W 的電源,而您辦公室的插座可能不支持。該服務(wù)器可能會運行得很吵很熱。你不希望它在你的辦公桌下。建議使用 128 GB 的 DRAM。獲取用于本地存儲的 SSD(1–2 TB NVMe)和一組 RAID 配置的硬盤來存儲您的數(shù)據(jù)。
-
8 個 GPU。您需要購買帶有多個冗余電源的專用多 GPU 服務(wù)器機(jī)箱(例如,每個電源 1600W 的 2+1)。這將需要雙插槽服務(wù)器 CPU、256 GB ECC DRAM、快速網(wǎng)卡(推薦 10 GBE),并且您需要檢查服務(wù)器是否支持GPU 的物理外形。消費類 GPU 和服務(wù)器 GPU 之間的氣流和布線布局存在顯著差異(例如,RTX 2080 與 Tesla V100)。這意味著您可能無法在服務(wù)器中安裝消費類 GPU,因為電源線間隙不足或缺少合適的線束(正如其中一位合著者痛苦地發(fā)現(xiàn)的那樣)。
23.5.2。選擇 GPU
目前,AMD和NVIDIA是專用GPU的兩大主要廠商。NVIDIA率先進(jìn)入深度學(xué)習(xí)領(lǐng)域,通過CUDA為深度學(xué)習(xí)框架提供更好的支持。因此,大多數(shù)買家選擇 NVIDIA GPU。
NVIDIA 提供兩種類型的 GPU,針對個人用戶(例如,通過 GTX 和 RTX 系列)和企業(yè)用戶(通過其 Tesla 系列)。這兩種類型的 GPU 提供了相當(dāng)?shù)挠嬎隳芰Α?/font>但是,企業(yè)級用戶GPU普遍采用(被動)強(qiáng)制散熱、更大內(nèi)存、ECC(糾錯)內(nèi)存。這些 GPU 更適合數(shù)據(jù)中心,通常成本是消費級 GPU 的十倍。
如果您是一家擁有 100 多臺服務(wù)器的大公司,您應(yīng)該考慮使用 NVIDIA Tesla 系列或使用云中的 GPU 服務(wù)器。對于擁有 10 臺以上服務(wù)器的實驗室或中小型公司,NVIDIA RTX 系列可能最具成本效益。您可以購買帶有 Supermicro 或 Asus 機(jī)箱的預(yù)配置服務(wù)器,這些機(jī)箱可以高效地容納 4-8 個 GPU。
GPU 供應(yīng)商通常每隔一到兩年發(fā)布一次新一代產(chǎn)品,例如 2017 年發(fā)布的 GTX 1000(帕斯卡)系列和 2019 年發(fā)布的 RTX 2000(圖靈)系列。每個系列都提供幾種不同的型號,提供不同的性能水平。GPU 性能主要是以下三個參數(shù)的組合:
-
計算能力。通常我們尋找 32 位浮點計算能力。16 位浮點訓(xùn)練(FP16)也正在進(jìn)入主流。如果你只對預(yù)測感興趣,你也可以使用 8 位整數(shù)。最新一代的圖靈 GPU 提供 4 位加速。不幸的是,目前訓(xùn)練低精度網(wǎng)絡(luò)的算法還沒有普及。
-
內(nèi)存大小。隨著您的模型變大或訓(xùn)練期間使用的批次變大,您將需要更多 GPU 內(nèi)存。檢查 HBM2(高帶寬內(nèi)存)與 GDDR6(圖形 DDR)內(nèi)存。HBM2 更快但更昂貴。
-
內(nèi)存帶寬。只有當(dāng)您有足夠的內(nèi)存帶寬時,您才能充分利用您的計算能力。如果使用 GDDR6,請尋找寬內(nèi)存總線。
對于大多數(shù)用戶來說,看算力就夠了。請注意,許多 GPU 提供不同類型的加速。例如,NVIDIA 的 TensorCores 將一部分算子加速了 5×. 確保您的圖書館支持這一點。GPU 內(nèi)存應(yīng)不少于 4 GB(8 GB 更好)。盡量避免將 GPU 也用于顯示 GUI(改為使用內(nèi)置圖形)。如果無法避免,請?zhí)砑宇~外的 2 GB RAM 以確保安全。
圖 23.5.1比較了各種 GTX 900、GTX 1000 和 RTX 2000 系列型號的 32 位浮點計算能力和價格。價格是在維基百科上找到的建議價格。
?
評論
查看更多