#頭号周刊#
在處理機器學習時,特别是在處理深度學習和神經網絡時,最好使用顯卡來處理,而不是CPU。在神經網絡方面,即使是低端的GPU也會勝過CPU。
但是你應該買哪種GPU呢?有很多種選擇,本文将盡量考慮各種相關因素,以便您可以根據您的預算和特定的建模要求做出合适的選擇。
為什麼 GPU 比 CPU 更适合機器學習?CPU(中央處理器)是計算機的主力,重要的是它非常靈活。它可以處理來自各種程序和硬件的指令,而且處理速度非常快。為了在這種多任務環境中表現出色,CPU 具有少量靈活且快速地處理單元(也稱為内核)。
GPU(圖形處理器)更加專業,在多任務處理方面沒有那麼靈活。它旨在并行執行大量複雜的數學計算,從而提高吞吐量。這是通過擁有更多數量的更簡單的核心來實現的,有時是數千個,這樣就可以一次處理許多計算。
并行執行多個計算的要求非常适合以下情況:
随着人工智能和機器/深度學習的蓬勃發展,現在甚至出現了更專門的處理核,稱為張量核心。當執行張量/矩陣計算時,它們更快更有效。這正是機器/深度學習所涉及的數學類型所需要的。
盡管有專用的TPU,但一些最新的GPU也包括許多張量核心,您将在本文後面看到這一點。
Nvidia與AMD答案肯定是:英偉達(Nvidia)
你可以使用AMD的GPU進行機器/深度學習,但Nvidia的GPU具有更高的兼容性,并且通常還可以更好地集成到TensorFlow和PyTorch等工具中。
如果嘗試使用一個帶有TensorFlow的AMD GPU需要使用額外的工具(ROCm),這往往有點繁瑣,有時還隻能使用不太最新的TensorFlow/PyTorch版本。
這種情況可能會在未來有所改善,但如果你想要一個好的體驗,最好堅持使用Nvidia。
GPU特性選擇一個适合你預算的GPU,同時也能夠完成你想要的機器學習任務,基本上歸結為四個主要因素的平衡:
答案是,越多越好!
這實際上取決于你機器學習模型是什麼,以及這些模型有多大。例如,如果你正在處理圖像、視頻或音頻,那麼根據定義,你将處理大量的數據,而GPU RAM将是一個非常重要的考慮因素。當然也有辦法解決内存不足的問題(例如調整batch size)。
作為一般經驗法則,我建議如下:
4GB:隻要您不處理過于複雜的模型或大量圖像、視頻或音頻,這在大多數情況下都可以很好地工作。如
8GB:您可以在不達到 RAM 限制的情況下完成大多數任務,但是對于包含圖像、視頻或音頻的更複雜的模型,您會遇到問題。
12GB:我認為這是最佳的,您可以處理大多數較大的模型,包含處理圖像、視頻或音頻的模型。
12GB :越多越好,您将能夠處理更大的數據集和更大的batch sizes。然而,超過12GB則價格會很高。
一般來說,如果價格相同,最好選擇内存更大、速度更慢的卡。記住,GPU的優勢是高吞吐量,這在很大程度上依賴于可用的RAM來通過GPU提供數據。
CUDA核心和張量核心實際上,應該首先考慮其他項,如RAM和芯片架構,然後再從選擇中查看CUDA/張量核心數量最高的顯卡。
對于機器/深度學習,張量核心比CUDA核心更好(更快、更有效)。這是因為它們是為機器/深度學習領域所需的計算而精确設計的。
事實上,CUDA核的速度已經足夠快了。如果你能得到一張包含張量核心的卡片,這是一個很好的加分點,隻是不要太糾結于它。
總結一下:
這實際上比你想象的更重要。正如我之前提到的,我們基本上已經抛棄了AMD,我們隻能選擇英偉達。
最主要的是要注意芯片組的“Compute Capability(計算能力)”,有時被稱為“CUDA generation”。這對每張卡都是固定的,所以一旦你買了這張卡,你就隻能使用這張卡的計算能力了。
如果您的GPU具有 7.x (Turing) 或更高的計算能力,則可以使用混合精度訓練。這基本上是 RTX 20 系列或更新版本,或者是服務器上的 RTX、“T”或“A”系列。
在考慮使用新顯卡時,混合精度訓練如此具有優勢的主要原因是它降低了 RAM 使用率,因此通過使用稍新的顯卡,您的 RAM 需求會降低。
如果您的RAM要求特别高,但沒有足夠的錢購買高端卡,那麼您可能會在二手市場上選擇較舊型号的GPU。
一個典型的例子是 Tesla K80,它有4992 個CUDA核心和24GB 的 RAM。它最初在 2014 年的零售價約為7000.00美元。目前也就3000RMB左右。
但是,有一個相當大的缺點。K80 的計算能力為 3.7 (Kepler),從 CUDA 11 起已棄用(當前的 CUDA 版本為 11)。這意味着該卡無法在未來版本的 CUDA 驅動程序中使用。
消費顯卡與專業顯卡Nvidia基本上把他們的分成兩部分。一種是消費類顯卡,另一種是針對工作站/服務器的顯卡(即專業顯卡)。
這兩個部分之間有明顯的區别,但需要記住的是,在相同規格(RAM、CUDA核心、架構)下,消費顯卡通常會更便宜,專業卡一般會有更好的質量和較低的功耗。
對于高端專業卡,你會注意到它們有很多RAM(例如RTX A6000有48GB, A100有80GB),這是因為它們通常直接針對3D建模、渲染和機器學習/深度學習專業市場,這些市場需要大的RAM。
總而言之,普通學習可以選擇消費類顯卡,畢竟價格便宜也好購買。
推薦請記住,如果你真的有很高的預算,你應該看看專業卡系列,比如 Nvidia A系列卡,它的成本可能高達數千美元。
低預算
中等預算
高預算
如果你覺得買顯卡不适合你,你可以使用GPU雲服務器(騰訊、阿裡等均提供)。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!