機器推理在深度學習的影響下,準確性越來越高、速度越來越快。深度學習對人工智慧行業發展的貢獻巨大,這得益於現階段硬體計算能力的提升、網際網路海量訓練資料的出現。本篇文章主要介紹深度學習過程中如何選擇合適的GPU顯示卡,如果你是深度學習新手,希望這篇文章對你有幫助。
推理用到的硬體分兩種,一種是專業AI硬體公司出的AI晶片,一種就是我們平時熟知的GPU顯示卡了,前者不太適合入門學習,而後者無論從入門難度還是價效比上講,對於新手來說都是優先的選擇。而GPU顯示卡主流廠商大概兩家,一個Nvidia,一個AMD,前者出的卡我們一般稱之為N卡,後者稱之為A卡。目前不管是普通消費市場(比如玩遊戲)還是做機器推理的,N卡都佔主流,生態也更好一些,因此,如果沒有特殊原因,建議新手優先選擇N卡入手。我個人不太推薦使用非主流的產品、技術,因為他們大多數不太成熟,使用過程中困難重重,甚至最終官方夭折。本篇文章所有內容全部基於Nvidia顯示卡。
Nvidia顯示卡分類
Nvidia顯示卡主要分3大類:
1)Geforce系列
這個系列是銷量最多、大眾最為熟悉的顯示卡,一般用來打遊戲。價格便宜,最新出來的旗艦卡RTX 2080Ti京東售價大概1w左右,根據不同的品牌,價格有所波動。低配置的便宜的一千就能買到。遊戲發燒友花1w買這種顯示卡還是很常見的。這個系列顯示卡官方定位是消費級,就是讓你用來打遊戲的。但是它在深度學習上的表現也非常不錯,很多人用來做推理、訓練,單張卡的效能跟深度學習專業卡Tesla系列比起來其實差不太多,但是價效比卻高很多。比如已經停產的GTX 1080顯示卡的引數基本和深度學習入門級顯示卡Tesla P4一樣,用來做訓練和推理的效果比Tesla P4還要好,可是GTX 1080一張卡才賣5000~6000左右,而Tesla P4要賣到1.4w。英偉達官方禁止使用GTX系列顯示卡用於深度學習等用途,一經使用,自動過保。那麼,既然效能差不多,為什麼價格差這麼遠呢?原因後面講到。
2)Quadro系列
Quadro系列顯示卡一般用於特定行業,比如設計、建築等,影像處理專業顯示卡,比如CAD、Maya等軟體,一般人很少用到,價格相對來講也稍微貴一些,這裡不多說了。
3)Tesla系列
Tesla系列顯示卡定位平行計算,一般用於資料中心,具體點,比如用於深度學習,做訓練、推理等。阿里雲、Amazon雲有非常多的GPU伺服器,基本都採用Tesla系列顯示卡。這個系列顯示卡有個特別明顯的特徵,那就是貴。Tesla系列入門級顯示卡 Tesla P4,前面提到過,用來做深度學習的效果比GTX 1080還差,但是價格是後者的3倍多。像其他更高階別的Tesla V100、Tesla P100 價格高達8w、4w,這種價位的顯示卡雖然效能強勁,但是一般人是買不起的,只有企業資料中心才會部署這種顯示卡。那麼前面提到過,既然對於搞深度學習而言,Tesla系列顯示卡相比GeForce而言價效比並不高,那為什麼英偉達還會推出Tesla這個系列呢? 主要原因有以下4個:
(1)我們前面討論的效能對比全部都是基於單塊顯示卡而言的,而Tesla系列顯示卡針對GPU叢集做了優化,像那種4卡、8卡、甚至16卡伺服器,Tesla多塊顯示卡合起來的效能不會受很大影響,但是Geforce這種遊戲卡效能損失嚴重。這也是Tesla主推平行計算的優勢之一。
(2)資料中心的GPU顯示卡都是大批量部署的,有多臺伺服器,每臺伺服器有多塊GPU顯示卡,而Tesla系列顯示卡功耗優化非常明顯,Tesla P4單塊卡的最大功耗只有75W,而與它引數配置差不多的GTX 1080的功耗高達175W。可以想象,Tesla系列顯示卡更適合大規模部署,長遠來看,成本小得多。功耗低其中的一個原因是,Tesla系列顯示卡基本都是被動散熱,不提供風扇,這個更適合資料中心機房工作環境:伺服器裝置統一散熱,機房恆溫條件。這本身跟它的定位一致。
(3)再一個,類似Geforce這種消費級的顯示卡更新換代太快,GTX 1080顯示卡生命週期不到2年就停產了,類似手機這種電子裝置,你產品都還沒做出來,擬採購的GPU可能就買不到貨了。
(4)消費級顯示卡畢竟用於個人用途,效能方面不可能無限提升,用於平行計算的Tesla顯示卡高配版在效能(引數配置)上可能比消費級顯示卡高配版要高得多。
注意國內能買到的顯示卡一般由第三方代理商銷售,比如七彩虹、華碩、麗臺等等顯示卡廠商,這些廠商會在Nvidia的核心顯示卡晶片之上做一些改造,比如散熱模式、外觀或者其他修改,因此同一型號的同一款卡的價格可能會因不同廠家而不同。
GPU幾個比較重要的引數
GPU有非常多的引數,在做深度學習挑選顯示卡的時候,主要看以下幾個:
GPU架構:不同款的GPU可能採用不同設計架構,比如Geforce 10系列的 GTX 1080/1080Ti採用的是Pascal架構,而Geforce 20系列的 RTX 2080/2080Ti採用的是Turing架構。不同架構的GPU,即使其他引數差不多,效能差別可能非常大。
CUDA核心數量:這是一個非常重要的引數,一般你在搜尋顯示卡引數時,這個引數一般寫在前面。CUDA核心數量越大越好,前面提到的消費級顯示卡Geforce GTX 1080和Tesla入門級顯示卡 P4的CUDA核心數量一樣,都是2560個。而Geforce RTX 2080Ti的CUDA核心數高達4352個。
視訊記憶體位寬:代表GPU晶片每個時鐘週期內能從GPU視訊記憶體中讀取的資料大小,這個值越大代表GPU晶片和視訊記憶體之間資料交換的速度越快,效能越好。Geforce GTX 1080的視訊記憶體位寬為256bit,Geforce RTX 2080Ti視訊記憶體位寬為352bit。
GPU工作頻率:這個很好理解,代表GPU每秒鐘工作次數,單位為MHz,跟CPU的頻率類似。該值越大代表效能越好。
視訊記憶體頻寬:代表GPU晶片每秒與視訊記憶體交換的資料大小,這個值等於 視訊記憶體位寬*工作頻率,單位為GB/秒,該值越大,代表GPU效能越好。Geforce GTX 1080的視訊記憶體頻寬為320GB/秒,而它的升級版Geforce RTX 2080的頻寬為448GB/秒。
視訊記憶體容量:這個東西跟記憶體一樣,不是越大越好,夠用就行。Geforce GTX 1080的視訊記憶體為8GB,而該系列的旗艦版Geforce GTX 1080Ti的視訊記憶體為11GB。Tesla系列顯示卡由於特殊的應用場景,有些型號的卡視訊記憶體高達16G/24G不等。
功耗:GPU能耗,像Geforce這種消費級的顯示卡一般功耗非常高,Geforce GTX 1080的最大功耗為175W,Tesla P4的最大功耗為75W。像那種資料中心大規模級別的GPU部署,低功耗的顯示卡一年電費能省很多。
注意上面提到的顯示卡名稱後面加Ti和不加Ti完全是兩款不同的卡,加Ti的效能比不加Ti的引數配置高很多。比如 Geforce GTX 1080Ti 比 Geforce GTX 1080效能更強勁。
如何選擇合適你的顯示卡?
如果是個人學習使用,推薦購買Geforce系列的顯示卡,然後根據個人預算,如果在1W左右,可以選擇最新出來的Geforce RTX 2080Ti,如果費用不夠,可以購買Geforce RTX 2080/2070,價格在5000/3000左右。千萬不要買入門級的Tesla P4,價格在1.4W左右。RTX 2080Ti經過實際測試,YoloV3目標檢測模型能跑20路1080P高清實時流。