機器推理在深度學習的影響下,準確性越來越高、速度越來越快。深度學習對人工智慧行業發展的貢獻巨大,這得益於現階段硬體計算能力的提公升、網際網路海量訓練資料的出現。本篇文章主要介紹深度學習過程中如何選擇合適的gpu顯示卡,如果你是深度學習新手,希望這篇文章對你有幫助。
推理用到的硬體分兩種,一種是專業ai硬體公司出的ai晶元,一種就是我們平時熟知的gpu顯示卡了,前者不太適合入門學習,而後者無論從入門難度還是價效比上講,對於新手來說都是優先的選擇。而gpu顯示卡主流廠商大概兩家,乙個nvidia,乙個amd,前者出的卡我們一般稱之為n卡,後者稱之為a卡。目前不管是普通消費市場(比如玩遊戲)還是做機器推理的,n卡都佔主流,生態也更好一些,因此,如果沒有特殊原因,建議新手優先選擇n卡入手。我個人不太推薦使用非主流的產品、技術,因為他們大多數不太成熟,使用過程中困難重重,甚至最終官方夭折。本篇文章所有內容全部基於nvidia顯示卡。
==update==
經過實際經驗證明,geforce還是用來除錯開發比較好,真正上線的卡還是選擇官方推薦的tesla等,具體原因誰用誰知道。。
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高畫質實時流。
教你如何挑選深度學習GPU
即將進入 2018 年,隨著硬體的更新換代,越來越多的機器學習從業者又開始面臨選擇 gpu 的難題。正如我們所知,機器學習的成功與否很大程度上取決於硬體的承載能力。在今年 5 月,我在組裝自己的深度學習機器時對市面上的所有 gpu 進行了評測。而在本文中,我們將更加深入地 gpu 深度學習 深度學習...
教你如何挑選深度學習GPU
即將進入 2018 年,隨著硬體的更新換代,越來越多的機器學習從業者又開始面臨選擇 gpu 的難題。正如我們所知,機器學習的成功與否很大程度上取決於硬體的承載能力。在今年 5 月,我在組裝自己的深度學習機器時對市面上的所有 gpu 進行了評測。而在本文中,我們將更加深入地 gpu 深度學習 深度學習...
深度學習之選擇GPU或CPU方法
import os os.environ cuda device order pci bus id os.environ cuda visible devices 1 上邊表示使用第二塊gpu執行程式,如果要使用多塊,如第一塊和第三塊,可使用如下方法指定 os.environ cuda visibl...