TF GPU基準測試:2080 Ti vs V100 vs 1080 Ti vs Titan V
來源:Lambda
編譯:Bot
編者按:8月份時候,我們曾出過一篇 ofollow,noindex">深度學習顯示卡選型指南 ,由於當時新顯示卡還沒發售,文章只能基於新一代創新做一些推測性分析,對讀者來說,這樣的結果可能太晦澀,也不夠直觀。今天,論智就給大家帶來了另一篇更具說服力的文章,它來自人工智慧硬體公司Lambda,主要對比分析了RTX 2080 Ti、RTX 2080、GTX 1080 Ti、Titan V和Tesla V100的成本、價格差異。

在深度學習實踐中,很多人會經常問一個問題:什麼是最好的深度學習GPU?在這篇文章中,我們將主要分析以下幾款目前最優秀的GPU:
- RTX 2080 Ti
- RTX 2080
- GTX 1080 Ti
- Titan V
- Tesla V100
為了從中挑選出最佳GPU,我們會從定價、效能兩個維度對它們進行分析。
實驗結果
根據全面定性定量的實驗結果,截至2018年10月8日, NVIDIA RTX 2080 Ti 是現在最好的深度學習GPU(用單個GPU執行Tensoflow)。以單GPU系統的效能為例,對比其他GPU,它的優劣分別是:
- FP32時,速度比1080 Ti快38%;FP16時,快62%。在價格上,2080 Ti比1080 Ti貴25%
- FP32時,速度比2080快35%;FP16時,快47%。在價格上,2080 Ti比2080貴25%
- FP32時,速度是Titan V的96%;FP16時,快3%。在價格上,2080 Ti是Titan V的1/2
- FP32時,速度是Tesla V100的80%;FP16時,是Tesla V100的82%。在價格上,2080 Ti是Tesla V100的1/5
請注意,所有實驗都使用Tensor Core(可用時),並且完全按照單個GPU系統成本計算。
深入分析
實驗中,所有GPU的效能都是通過在合成數據上訓練常規模型,測量FP32和FP16時的吞吐量(每秒處理的訓練樣本數)來進行評估的。為了標準化資料,同時體現其他GPU相對於1080 Ti的提升情況,實驗以1080 Ti的吞吐量為基數,將其他GPU吞吐量除以基數計算加速比,這個資料是衡量兩個系統間相對效能的指標。

對上圖資料計算平均值,同時按不同浮點計算能力進行分類,我們可以得到:


可以發現,2080的模型訓練用時和1080 Ti基本持平,但2080 Ti有顯著提升。而Titan V和Tesla V100由於是專為深度學習設計的GPU,它們的效能自然會比桌面級產品高出不少。最後,我們再將每個GPU的平均加速情況除以各自總成本:


根據這個評估指標,RTX 2080 Ti是所有GPU中最物有所值的。
2080 Ti vs V100:2080 Ti真的那麼快嗎?
可能有人會有疑問,為什麼2080 Ti的速度能達到Tesla V100的80%,但它的價格只是後者的八分之一?答案很簡單,NVIDIA希望細分市場,以便那些有足夠財力的機構/個人繼續購買Tesla V100(約9800美元),而普通使用者則可以選擇在自己價格接受範圍內的RTX和GTX系列顯示卡——它們的價效比更高。
除了AWS、Azure和Google Cloud這樣的雲服務商,個人和機構可能還是買2080 Ti更划算。但這不是說亞馬遜、微軟、Google這些公司“人傻錢多”,Tesla V100確實有一些其他GPU所沒有的重要功能:
- 如果你需要FP64計算。如果你的研究領域是計算流體力學、N體模擬或其他需要高數值精度(FP64)的工作,那麼你就得購買Titan V或V100s。
- 如果你對32 GB的記憶體有極大需求(比如11G的記憶體都不夠儲存模型的1個batch)。這類情況很少見,它面向的是想建立自己的模型體系架構的使用者。而大多數人使用的都是像ResNet、VGG、Inception、SSD或Yolo這樣的東西,這些人的佔比可能不到5%。
面對2080 Ti,為什麼還會有人買Tesla V100?這就是NVIDIA做生意的高明之處。
2080 Ti是保時捷911,V100是布加迪威龍
V100有點像布加迪威龍,它是世界上最快的、能在公路上合法行駛的車,同時價格也貴得離譜。如果你不得不擔心它的保險和維修費,那你肯定買不起這車。另一方面,RTX 2080 Ti就像一輛保時捷911,它速度非常快,操控性好,價格昂貴,但在炫耀性上就遠不如前者。
畢竟如果你有買布加迪威龍的錢,你可以買一輛保時捷,外加一幢房子、一輛寶馬7系、送三個孩子上大學和一筆客觀的退休金。
原始效能資料
FP32吞吐量
FP32(單精度)演算法是訓練CNN時最常用的精度。以下是實驗中的具體吞吐量資料:

FP16吞吐量(Sako)
FP16(半精度)演算法足以訓練許多網路,這裡實驗用了Yusaku Sako基準指令碼:

FP32(Sako)

FP16時訓練加速比(以1080 Ti為基準)

FP32時訓練加速比(以1080 Ti為基準)

價格表現資料(加速/$1,000)FP32

價格表現資料(加速/$1,000)FP16

實驗方法
- 所有模型都在合成數據集上進行訓練,這能將GPU效能與CPU預處理效能有效隔離開來。
- 對於每個GPU,對每個模型進行10次訓練實驗。測量每秒處理的影象數量,然後在10次實驗中取平均值。
- 計算加速基準的方法是獲取的影象/秒吞吐量除以該特定模型的最小影象/秒吞吐量。這基本上顯示了相對於基線的百分比改善(在本實驗中基準為1080 Ti)。
- 2080 Ti、2080、Titan V和V100基準測試中考慮到了Tensor Core。
實驗中使用的batch size

此外,實驗還有 關於硬體、軟體和“什麼是典型的單GPU系統”的具體設定 ,力求儘量還原普通使用者的模型訓練環境,充分保障了結果的準確性。相信看到這裡,結合之前那篇長文,大家已經對該買什麼GPU有了清楚認識,祝各位剁手愉快!