-
1 # 全棧工程師
-
2 # 論智
首先,看品牌。這個沒什麼選擇。NVIDIA
AMD的卡支援OpenCL。不過相比NVIDIA家的CUDA, OpenCL完全不是對手。由於NVIDIA投入深度學習領域較早,深度學習的大量標準庫和框架都基於CUDA.
其次,看是否與cuDNN相容。
基本上所有的深度學習庫都使用cuDNN. 因此,確保購買的是Kepler系列以上的N卡,或者說,GTX 600以上級別的卡(警告:GTX 600雖然相容cuDNN,但是很慢)。
然後,看頻寬。
CPU和GPU的設計不同。如果用快遞來打比方,CPU像是一輛摩托車,而GPU像是一輛貨車。它們都能用來搬用貨物,但是適用的貨物型別不同。CPU(摩拖車)可以非常快速地訪問記憶體(包裹)而GPU(貨車)訪問記憶體的速度很慢(高延遲)。然而,如果包裹數量很多的話,CPU(摩托車)需要多次往返才能完成運輸,而GPU(貨車)一下子就能運輸一大堆包裹。
換句話說,CPU(摩托車)適合處理小資料(幾個小包裹)而GPU(貨車)適合處理大資料(多個大包裹)。Intel最高階的Core i9-7980XE,記憶體頻寬約為57GB/s, 而NVIDIA為大資料分析與科學計算推出的Tesla K80頻寬高達480GB/s,NVIDIA今年新上市的Tesla P100頻寬更是高達900GB/s。
這個設計上的區別,決定了GPU更擅長深度學習。深度學習由多層的神經網路組成,這些神經網路包含很多權重和偏置。而這些權重和偏置簡單來說,就是許多巨大的浮點矩陣。這就意味著,深度學習需要很大的記憶體頻寬訪問這些網路。
GPU和CPU的關鍵差別在於記憶體頻寬。因此,記憶體頻寬是挑選GPU的重要因素。當然,不同系列的GPU因為架構不同,對記憶體頻寬的利用率有所差異。但總的來說,記憶體頻寬大致上還是一個很好的參考指標。
再次,看視訊記憶體。
不同的深度學習任務對視訊記憶體的要求是不一樣的。
一般來說,3GB的視訊記憶體是基本不夠用的。6GB有點窘迫,但對某些應用來說也足夠了。8GB的話,對於很多應用來說都夠用了。對於影象和影片領域,視訊記憶體是多一點好一點,可能需要帶11GB或者12GB視訊記憶體的顯示卡。
最後,看價格。
價格當然也是要考慮的,包括:
是否在預算範圍內價效比怎麼樣入門深度學習,並不推薦動輒好幾萬的Tesla K40和Tesla K80這樣的專業計算卡。這些專業計算卡是為科學運算設計的,科學計算需要很高的精度,因此這些專業計算卡比普通的消費級顯示卡貴很多。可是,深度學習對於計算精度的要求並不高。當然,如果你自控能力特別差,擔心買了消費級顯示卡就沉迷遊戲不可自拔的話,那還是咬咬牙買專業計算卡吧。
另外,如果你使用MacBook Pro作為開發平臺的話,也可以考慮購買Thunderbolt介面的外接顯示卡。外接顯示卡與主機之間的通訊依賴Thunderbolt,頻寬約20GB/s,對於深度學習來說足夠了。
回覆列表
顯示卡的浮點運算能力。所以一般支援CUDA的N卡,A卡不如N卡合適。深度學習本質都是大量的資料運算,所以需要較高的浮點運算能力。