引言
接觸深度學習已經快兩年了,之前一直使用Google Colab和Kaggle Kernel提供的免費GPU(Tesla K80)訓練模型(最近Google將Colab的GPU升級為Tesla T4,計算速度又提升了一個檔次),不過由於內地網絡的原因,Google和Kaggle連接十分不穩定,經常斷線重連,一直是很令人頭痛的問題,而且二者均有很多限制,例如Google Colab一個腳本運行的最長時間為12h,Kaggle的為6h,數據集上傳也存在問題,需要使用一些Trick才能達成目的,模型的保存、下載等都會耗費很多精力,總之體驗不是很好,不過免費的羊毛讓大家擼,肯定會有一些限制,也是可以理解的。
對於租用雲服務器,之前也嘗試過,租用了一家小平台的GPU服務器,也存在一些操作上的困難,不適合程序調試,而且價格也不便宜。
很早之前就想要搭建一個自己的深度學習工作站,不過機器成本的昂貴,一直阻礙着我攢機計划的進行。工欲善其事,必先利其器!最近終於下定決心,置辦一個深度學習工作站主機。本文將我在這段時間選擇、購置硬件的心得體會,分享給大家。
配置清單
配件 | 品牌型號 | 數量 | 價格 | 渠道 |
---|---|---|---|---|
CPU | Intel 酷睿i7 6950X 至尊版 | 1 | 3300 | 散片 |
主板 | 華碩 RAMPAGE V EXTREME X99 主板 | 1 | 1085 | 二手 |
內存 | 海盜船 復仇者LPX 16GB DDR4 2400 | 4 | 1920 | 全新 |
HDD | 西部數據 WD40EZRZ 藍盤 4TB | 1 | 550 | OEM |
SSD | 西數 WDS100T2X0C 黑盤 1TB | 1 | 1220 | 全新 |
顯卡 | 影馳 GeForce RTX 2070 大將 | 1 | 3400 | 全新 |
機箱 | 愛國者(aigo)月光寶盒 破曉 | 1 | 264 | 全新 |
電源 | 鑫谷 GP1350G 1250W | 1 | 680 | 全新 |
散熱器 | 愛國者(aigo)冰塔T240 極光版 | 1 | 299 | 全新 |
風扇 | 金河田 光影炫光 12CM | 6 | 60 | 全新 |
12778 | 總計 |
以上就是我主機的配置清單,目前只買了一張2070,后期會升級加入多卡,下面將詳細分析一下各個配件的選購過程。
配件選購指南
主板
有很多朋友在進行選購主機的時候認為應該先選CPU再選主板,個人認為配件選購的順序和主機的用途是有關系的,對於搭建深度學習工作站而言,在正式進行硬件選購前,最重要的是需要確認一個問題,到底需要單卡(GPU)主機還是多卡主機,如果只需要搭建單顯卡的主機,那么在選購主板的過程中,不需要花費太多精力,大量主板可以滿足要求,如果想要搭建雙卡、三卡或是四卡主機,則需要在主板上下點功夫,為了日后升級方便,我的目標是使用可支持四顯卡的主機,所以在主板選擇方面,會很注重PCIE擴展接口數量。
在初期選擇主板時,網上各式各樣型號的主板會使小萌新(我)很是懵逼,在網上查找了些資料,了解了些主板的知識。為了保證CPU和主板搭配合理,裝到一起能正常工作,首先我們需要了解各主板芯片組和CPU接口的具體含義。例如,下圖為京東的主板截圖。
我們可以看到大多數商品名稱后面都會有一個類似(AMD A320/Socket AM4)或(Intel H310/LGA 1151)的注釋,其實這些就是影響你CPU和主板能否匹配的最重要參數了,在商品詳情頁,我們也可以找到這個參數,前面的“Intel H310”或“AMD A320”指的就是主板的芯片組,而后面的“LGA 1151”或“Socket AM4”指的就是主板上CPU插槽的類型了。
芯片組
芯片組示主板的核心芯片,選對芯片組,主板和CPU才能兼容。目前主流的主板分為Intel和AMD兩個系列,分別對應不同品牌的處理器。而每個系列又按照芯片組類型的不同,分為很多子系列。以Intel系列主板為例,在市面上可以看到華碩、技嘉、七彩虹等近十個品牌的產品,不同品牌的主板在外觀和技術上會有一些差別,但他們使用的芯片組都是由Intel提供的。
不過,雖然同屬於Intel系列主板,但根據處理器的不同,需要搭配對應芯片組的主板才能成功組建出一台可以使用的主機。比如目前Intel最新的九代酷睿 i9-9900k 處理器需要搭配Z390、Z370或H370芯片組的主板來使用。而AMD的Ryzen 3/5/7系列CPU和APU產品則可以搭配X370、B350或A320芯片組的主板。
那么不同芯片組的主板又有什么區別呢?有的時候,多個芯片組的主板雖然可以支持同一款處理器,但在主板的規格上還是有一定區別的。這些區別包括但不限於原生USB及磁盤接口數量、是否支持CPU超頻、是否支持多顯卡互聯等。這對於不太了解主板的用戶來說確實很難選擇,簡單總結一下:
B系列(如B360、B250)屬於入門級產品,不具備超頻和多卡互聯的功能,同時接口及插槽數量也相對要少一些。
H系列(如H310)比B系列略微高端一些,可以支持多卡互聯,接口及插槽數量有所增長。
Z系列(如Z390、Z370)除了具備H系列的特點支持,還能夠對CPU進行超頻,並且接口和插槽數量也非常豐富。
X系列(如X99、X299)可支持Intel至尊系列高端處理器,同時具備Z系列的各項特點。
同時,Intel的100系列和200系列主板可以搭配6代及7代酷睿處理器,300系列主板需要搭配8代酷睿處理器,X299系列主板需要搭配7代至尊系列酷睿處理器。
對於單路CPU的主板,能夠同時支持四張顯卡卡的神板,毫無疑問就只有X99/X299系列的主板了,當然你也可以考慮intel 服務器C系列多路CPU主板,可以支持兩個CPU在一張主板上。我的目標是使用單路CPU,所以也就沒有關注C系列主板。
對於X299和X99之間的選擇,有的朋友會主張買新不買舊,我個人的建議還是性價比高才是好的,較新的X299板子相比X99主板要貴大幾百甚至1k左右,功能上的提升並不是很大,對於我們大多數Deep Learning開發者而言,X99的板子足夠了,畢竟要把錢花在刀刃上,GPU才是大手筆。X99板子主要推薦以下三款:
Asus/華碩 RAMPAGE V EXTREME/U3.1
對比
型號名稱 | MSI/微星 X99S GAMING 7 | 華碩RAMPAGE V EXTREME/U3.1 | 華碩X99-E WS/USB 3.1 |
---|---|---|---|
主芯片組 | Intel X99 | Intel X99 | Intel X99 |
CPU插槽 | LGA 2011-v3 | LGA 2011-v3 | LGA 2011-v3 |
內存規格 | 8×DDR4 DIMM 四通道 | 8×DDR4 DIMM 四通道 | 8×DDR4 DIMM 四通道 |
最大內存容量 | 128GB | 128GB | 128GB |
PCI-E標准 | PCI-E 3.0 | PCI-E 3.0 | PCI-E 3.0 |
PCI-E插槽 | 4×PCI-E X16 插槽 | 5×PCI-E X16 插槽 1×PCI-E X1 插槽 |
7×PCI-E X16 插槽 |
存儲接口 | 10×SATA III 1×SATA Express 1×M.2(10Gb/s) |
1×M.2 2×SATA Express 8×SATA III |
1×M.2 2×SATA Express 8×SATA III 2×eSATA |
USB接口 | 6×USB2.0(2背板+4內置) 12×USB3.0(4背板+8內置) |
14×USB3.0(4內置+10背板) 6×USB2.0(4內置+2背板) |
14×USB3.0(4內置+10背板) 4×USB2.0(4內置) |
主板板型 | ATX板型 | E-ATX板型 | E-ATX板型 |
外形尺寸 | 30.5×24.4cm | 30.5×27.2cm | 30.5×26.7cm |
多顯卡技術 | NVIDIA 3-Way SLI NVIDIA 3-Way SLI |
NVIDIA 4-Way SLI AMD 4-Way CrossFireX |
NVIDIA 4-Way SLI AMD 4-Way CrossFire |
可以看到這三款主板,均為X99芯片組,CPU插槽均為 LGA 2011-v3 ,而且有8個內存插槽,支持四通道,最高128G的內存容量,內存容量這部分個人很喜歡,對於大型數據集數據預處理的過程,對內存容量和CPU要求都很高,而且足夠的內存容量使你不用再為多開窗口卡頓現象而擔憂。三者都支持多顯卡擴展,華碩R5E和華碩X99 E-WS均支持4顯卡交火,微星X99S Gaming 7支持3顯卡交火,不過顯卡交火,對於深度學習計算沒有任何的幫助,對游戲確是有一些提升,我們日常所說的多顯卡訓練模型,也不是用到交火技術,而是Data Parallel或Model Parallel,所以交火與否我們不需要關注,需要關注的時PCIE ×16擴展插槽的有效個數(有的間距太近,無法全插)。
起初最想購買的是“華碩 X99-E WS”,經典的工作站主板,很多深度學習開發者的首選,支持四路顯卡交火,更為優秀的是竟然有7個×16全速PCIE 3.0擴展插槽,但是對於這類主板雖然有如此強大的擴展功能,但在真正插顯卡的時候,由於PCIE接口之間的空間限制,你是無法插滿插槽的,而且現在顯卡都很厚,很可能會造成接口的浪費。這個板子已經停產,不過在天貓的華碩旗艦店仍然有存貨,售價“3899元”,還是很貴的。其中有很多功能,對於我們日常使用、訓練模型來講並不是很用得上,會造成沒必要的開銷。最后我選擇了在淘寶購買二手的“華碩 RAMPAGE V EXTREME”,畢竟便宜。如果經費充足的朋友,我仍然建議購買“華碩 X99 E-WS”這個主板。
CPU
對於CPU的選取是基於確定主板CPU插槽類型為前提的,例如我們上文中我們選擇的X99系列三款主板,CPU插槽類型均為“LGA 2011-v3”,我們就要選與此匹配的CPU,各插槽類型的CPU具體有哪些型號,可以去中關村在線查詢,里面還有一些性能測評的文章和排行榜信息,值得推薦。
為了能夠為CPU做出明智的選擇,我們首先需要了解CPU以及它與深度學習的關系。CPU為深度學習做了什么?當你在GPU上運行深度網絡時,CPU幾乎不會進行任何計算。它主要的作用是:(1)啟動GPU函數調用,(2)執行CPU函數。
CPU對於數據預處理的過程卻起重要作用。有兩種常見的數據處理策略,它們具有不同的CPU需求。
# 一、在訓練時進行數據預處理
for train_step in range(tot_train_step):
load_mini_batch()
preprocess_mini_batch()
train_on_mini_batch()
# 二、在訓練前進行數據預處理
preprocess_data()
for train_step in range(tot_train_step):
load_preprocessed_mini_batch()
train_on_mini_batch()
對於第一個策略,為避免CPU的性能成為訓練模型的速度的瓶頸,具有高主頻多內核的CPU可以顯著提高性能,加快訓練速度。對於第二種策略,由於是預先進行數據預處理,在訓練時的速度取決於GPU性能,與CPU無關,理論上CPU的性能不會成為瓶頸。但是我個人的觀點還是,在經費允許的情況下,盡管CPU的性能越強大越好,但是也不一定非要追求最新款、最強大的CPU,性價比和個人需求才是最關鍵的。
當然,此處附加一點說明,如果攢機后不僅需要訓練模型,而且偶爾也會玩一些游戲消遣的話,盡量選擇高主頻的主機,志強系列多核心低主頻CPU不適合游戲玩家。
PCIe 通道
CPU的PCIe通道對模型訓練的影響網上也縱說紛雲,首先讓我們先了解一下什么是CPU的PCIe通道
PCI-Express(peripheral component interconnect express)是一種高速串行計算機擴展總線標准,它原來的名稱為“3GIO”,是由英特爾在2001年提出的,旨在替代舊的PCI,PCI-X和AGP總線標准。PCIe屬於高速串行點對點雙通道高帶寬傳輸,所連接的設備分配獨享通道帶寬,不共享總線帶寬,主要支持主動電源管理,錯誤報告,端對端的可靠性傳輸,熱插拔以及服務質量(QOS)等功能。
簡而言之,PCIe通道就是主機中各組件進行數據交互的信道,PCIe通道分兩種:
- CPU直連通道,主流消費級只給你16條(8700K),高端&服務器上才會多給(7980XE)。
- DMI3總線PCH芯片分發出來的,是主板的屬性。例如Z370主板聲稱有24條PCIE通道,其實這24條就是PCH通道,要共享DMI3等效直連PCIe ×4的帶寬。
就PCH而言,在很多高性能擴展面前沒有智聯通道強大,所以對於CPU的直連通道數就顯得至關重要了。
Tim Dettmers大神在他的博文《A Full Hardware Guide to Deep Learning》中也做出了對PCIe通路的見解,Tim認為在單機少量(小於4)GPU的主機中,PCIe通路對模型訓練的影響並不是很大,但對於大於4個GPU或GPU集群PCIe通路的影響就會很顯著。在文章中,Tim對比了不同通道數量在模型訓練過程中的速度傳輸速度對比。
CPU and PCI-Express
People go crazy about PCIe lanes! However, the thing is that it has almost no effect on deep learning performance. If you have a single GPU, PCIe lanes are only needed to transfer data from your CPU RAM to your GPU RAM quickly. However, an ImageNet batch of 32 images (32x225x225x3) and 32-bit needs 1.1 milliseconds with 16 lanes, 2.3 milliseconds with 8 lanes, and 4.5 milliseconds with 4 lanes. These are theoretic numbers, and in practice you often see PCIe be twice as slow — but this is still lightning fast! PCIe lanes often have a latency in the nanosecond range and thus latency can be ignored.
Putting this together we have for an ImageNet mini-batch of 32 images and a ResNet-152 the following timing:
- Forward and backward pass: 216 milliseconds (ms)
- 16 PCIe lanes CPU->GPU transfer: About 2 ms (1.1 ms theoretical)
- 8 PCIe lanes CPU->GPU transfer: About 5 ms (2.3 ms)
- 4 PCIe lanes CPU->GPU transfer: About 9 ms (4.5 ms)
Thus going from 4 to 16 PCIe lanes will give you a performance increase of roughly 3.2%. However, if you use PyTorch’s data loader with pinned memory you gain exactly 0% performance. So do not waste your money on PCIe lanes if you are using a single GPU!
When you select CPU PCIe lanes and motherboard PCIe lanes make sure that you select a combination which supports the desired number of GPUs. If you buy a motherboard that supports 2 GPUs, and you want to have 2 GPUs eventually, make sure that you buy a CPU that supports 2 GPUs, but do not necessarily look at PCIe lanes.
PCIe Lanes and Multi-GPU Parallelism
Are PCIe lanes important if you train networks on multiple GPUs with data parallelism? I have published a paper on this at ICLR2016, and I can tell you if you have 96 GPUs then PCIe lanes are really important. However, if you have 4 or fewer GPUs this does not matter much. If you parallelize across 2-3 GPUs, I would not care at all about PCIe lanes. With 4 GPUs, I would make sure that I can get a support of 8 PCIe lanes per GPU (32 PCIe lanes in total). Since almost nobody runs a system with more than 4 GPUs as a rule of thumb: Do not spend extra money to get more PCIe lanes per GPU — it does not matter!
不過依我個人的看法,還是要選支持PCIe通道數大一點的CPU,畢竟M.2 NVME SSD就會占據四條通道,如果我們CPU只支持16通道,並且有兩個GPU的話,每個GPU只能分到×4的速度,這個總感覺不太好。顯卡已經花了那么多錢,我們當然希望它能全速跑,不要由於CPU PCIe通路的短板影響整體的性能,得不償失。所以我更傾向於選擇40條通路的CPU。目前主流CPU大多支持16通道、24通道,對於至尊系列CPU會有支持40通道的,對於大部分志強系列服務器CPU大多數支持44通道。
對比
對於志強系列,網上所有渠道都基本是拆機CPU,很多是外國服務器淘汰下的CPU,質量方面,由於沒有使用過,不妄加評論。志強系列U特點是核心多,單核主頻低,如果對於高並發有需求的朋友,可以優先選擇志強系列U,搭配雙路服務器主板。但對於我個人來講,對單核主頻要求高一些,所以我更傾向於桌面級CPU。
在我選擇CPU的過程中,CPU天梯圖對我很有幫助,很直觀的展現了Intel/AMD所有CPU的性能排行,也推薦給大家。
經過反復的對比,最終鎖定了兩款CPU“i7-6850K”和“i7-6950X”,首先首先我先解釋一下為什么沒有選擇最新的九代酷睿系列,目前九代酷睿發布沒多久,例如“I9-9900K”也是炒的很火熱, 雖然最新系列的CPU單核主頻都有所提高,但是核心數並沒有太大改善,致使CPU整體性能(多核性能)並不是越新越好,從上方的天梯圖我們也可以看出,“I7-6950X”排在"I9-9900K"前面,第二個原因就是,CPU是一個沒什么損耗的器件,如果沒有變態超頻使用的話,全新和二手的U新能沒什么區別,對於這些已經停產的CPU,網上流通的都是拆機的二手版本,只要選擇正式版(不要QS/ES版本),其實都可以的,而且價格便宜,性價比極高,例如我們Intel官網可以看到“i7-6950X”的官方報價為¥11053.74,上萬元!
而在淘寶等渠道購買的正式版I7-6950X散片,只有3400元,價格差距如此之大。對於這種舊款CPU的散片(正式版)性價比還是蠻高的,所以推薦大家購買散片CPU(當然也會有很多朋友擔心散片CPU的質量問題,這個確實不能保證每個渠道的U都是好的,看人品吧~)。下面對比一下“i7-6850K”、“I7-6950X”、“i75960X”以及“I7-6900K”這幾款CPU。
基本要素 | 酷睿™ i7-6950X | 酷睿™ i7-6850K | 酷睿™ i7-5960X | 酷睿™ i7-6900K |
---|---|---|---|---|
發行日期 | Q2'16 | Q2'16 | Q3'14 | Q2'16 |
光刻 | 14 nm | 14 nm | 22 nm | 14 nm |
內核 | 10 | 6 | 8 | 8 |
線程 | 20 | 12 | 16 | 16 |
基本頻率 | 3.00 GHz | 3.60 GHz | 3.00 GHz | 3.20 GHz |
睿頻頻率 | 3.50 GHz | 3.80 GHz | 3.50 GHz | 3.70 GHz |
緩存 | 25 MB | 15 MB | 20 MB | 20 MB |
TDP | 140 W | 140 W | 140 W | 140 W |
最大內存 | 128 GB | 128 GB | 64 GB | 128 GB |
內存類型 | DDR4 2400/2133 | DDR4 2400/2133 | DDR4 1600/1866/2133 | DDR4 2400/2133 |
內存通道 | 4 | 4 | 4 | 4 |
PCIe通道 | 40 | 40 | 40 | 40 |
可以看到,四者均支持40條直通PCIe通道,當主板支持四路交火時,以“華碩RAMPAGE V EXTREME”為例,四張顯卡分別占用(×8,×8,×8,×8)的速度,不會對性能產生太大影響。“I7-5960X”僅支持最高64GB的內存容量,這個對於我們的板子就略顯不足了,相比“I7-6850K”和“I7-6900K”,在單核主頻方面6850k基本頻率為3.60GHz高於6900K的3.20GHz,不過核心數卻沒有勝出,二者基本屬於同一等級的CPU,整體性能6900K略高於6850K,不過從性價比方面來看(散片),6850K的性價比還是略高的,散片售價僅2500元左右。“I7-6950X”是這幾款U中性能最強勁的,雖然單核主頻只有3.00GHz但是10核心20線程使其整體性能遙遙領先,可以從上文中的CPU天梯圖中看到,盡管這個U是16年推出的,不過在當日的排行版也能排列到十幾名,表現還是很出色的,唯一的不足就是價格略顯昂貴,散片價格為3400元,之前一直想買2500元的6850K,后來一咬牙買了6950X。
總之,在選購CPU時,建議需要以下順序:
- 篩選與主板插槽類型匹配的CPU。
- 查看CPU天梯圖,了解CPU的整體性能排序。
- 在intel官網上將預選出的商品進行詳細參數對比。
- 淘寶、京東對比散片價格,考慮入手性價比高的U。
個人建議:由於CPU這個東東如果正常使用基本沒什么損耗,在選購散片時,會發現各個商家價格會有所差別,其實不一定要買最貴的,價格的不同可能是由於商家進貨渠道引起的,只要認准“正式版”即可,避開“QS/ES”版本。
內存
內存是相對好選的組件,就沒有必要多說了,以我個人來看,當然容量越大越好,畢竟現在內存價格低谷,抓緊買!
建議“海盜船復仇者”系列,我在選購內存的時候,基本把淘寶翻了個遍,看了很多廠家,價格都很貴,而且有很多都是小廠。對於海盜船復仇者系列內存,很多DIY玩家的首選,也不是沒有原因的,現在一條16G的台式內存,只賣不到500元,很是便宜!而且口碑一直不錯。
頻率
目前市場上的內存大多在頻率上做了很多營銷手段,我們可以看到(2133 MHz、2400MHz、3000MHz、3200MHz以至於更高)的內存頻率,同容量不同頻率的內存條價格也相差很多,貴幾百元的都有。但是我們是否有必要追求高頻率的內存呢?
經過閱讀網上一些大牛的文章,大多數人的觀點都是,RAM頻率對性能方面沒有明顯的提升,尤其是在做深度學習方面。其實頻率只是各個廠商的一種營銷手段,RAM公司會引誘大家購買“更快”的內存,其性價比並不高。有追求頻率的錢,還不如多加一條內存。此處可參閱“Does RAM speed REALLY matter?”
所以我入手了“海盜船 復仇者”系列單條16GB最便宜的內存2400 MHz,一共上了4條,總共64GB。主板有8個內存插槽,先插四條構成四通道,剩余的留作擴展,不過此處一定注意, 在安裝內存條的時候需要閱讀主板說明書,基本每個主板都會給出推薦的插法,看好個插槽所在的通道,一定不要插錯了。
SSD
在初期選購固態硬盤的朋友可能會經常看到SATA3固態硬盤與M.2固態硬盤,可能有朋友會有疑問:M.2是什么意思?和SATA3固態硬盤有什么區別?下面我們就簡單科普M.2接口。
M.2接口
M.2是一種固態硬盤新接口,是Intel推出的一種替代MSATA新的接口規范,也就是我們以前經常提到的NGFF,英文全稱為:Next Generation Form Factor。
M.2接口固態硬盤主要優勢在於體積相比傳統的SATA3.0、MSATA更小,並且讀取速度更快,對於一些移動設備兼容性更好。
- M.2和SATA3固態硬盤的區別
目前固態硬盤(SSD)常用的接口主要有3種:
- SATA3 - 外形尺寸是2.5寸硬盤的標准尺寸,與2.5寸機械硬盤可以互換。
- mSATA - 接口尺寸與筆記本內置無線網卡相同,不過mSATA SSD的外形尺寸比無線網卡更大。
- M.2 - 初期稱為NGFF接口,是近兩年新出的接口,為專門為超小尺寸而設計的,使用PCI-E通道,體積更小,速度更快。
值得一提的是M.2接口固態硬盤又分為:SATA和PCI-E兩種,雖說長得一模一樣,但性能卻是差之千里。此外,有些主板的M.2接口不一定對其支持,所以在買M.2固態硬盤的時候,還需要了解下接口兼容性,在購買主板和SSD時關注一下接口信息即可。
M.2有兩種接口定義:Socket 2和Socket 3。Socket 2支持SATA或PCIe ×2通道的SSD,Socket 3專為高性能存儲設計,支持PCIe ×4通道。在購買SSD時一定要確認是否走PCIe ×4通道,這樣才性能最佳。
容量
在容量方面,大多數用戶512G就夠用了,畢竟SSD不是作為數據存儲盤使用,而是作為系統盤安裝程序使用,但由於目前SSD價格下滑,決定還是入手一個1T的,這樣更充足。
經過仔細挑選,最終篩選出兩款SSD,“Samsung/三星 MZ-V7S1T0BW 970 EVO Plus 1TB”和“WD/西部數據 WDS100T2X0C 1TB”,比較推薦三星這款,三星的固態一直是業界最好的,速度最快的,不過西數的SSD也在第一梯隊,二者價格相差300元左右,“三星970 EVO Plus”速度略高於“西數WDS100T2X0C”,官方宣傳三星這款讀取速度3500Mb/s、寫入速度3300Mb/s,西數這款讀取速度3400Mb/s、寫入速度2800Mb/s,如果經費允許的朋友推薦三星這款,不過我選擇了較為便宜的西數SSD。其他品牌的沒用過,不能妄加評論,但是三星和西數的固態硬盤一定是第一梯隊了。
機械硬盤
機械硬盤容量視個人情況而定,對於計算機視覺工程師,如果需要存放大體積數據集,就買大一點的,畢竟HDD不貴(但一定記住避開希捷、避開希捷、避開希捷!之前筆記本加裝過希捷硬盤,太渣了)。我最后入手了“西部數據 WD40EZRZ 4TB 藍盤”,買的OEM版本,比官方價格低100多,用着還不錯。
顯卡
顯卡的選擇,Tim Dettmers的《Which GPU(s) to Get for Deep Learning: My Experience and Advice for Using GPUs in Deep Learning》一文已經分析的非常透徹,我也是參考了他的文章購置了RTX 2070顯卡,各位朋友可以深入閱讀該文章,此處只做簡要闡述。
性能對比
GPU和TPU的標准化性能數據。越高越好。RTX卡使用16位計算。使用PyTorch 1.0.1和CUDA 10完成基准測試。
性價比分析
卷積網絡(CNN),循環網絡(RNN)和Transformer的性能/價格。越高越好。RTX 2060的成本效率是Tesla V100的5倍以上。使用PyTorch 1.0.1和CUDA 10完成基准測試。
注:以上圖轉載自《Which GPU(s) to Get for Deep Learning: My Experience and Advice for Using GPUs in Deep Learning》
經過Tim的分析,更傾向於購買RTX 20系列顯卡,因為其獨有的“Tensor core”可以支持加速FP16的運算,減少顯存的支出,也能減少計算復雜度,
整體建議(轉載)
最佳GPU:RTX 2070
避開GPU:任何Tesla; 任何Quadro卡; Titan RTX,Titan V,Titan XP
實惠但價格昂貴:RTX 2070經濟
實惠且價格便宜:RTX 2060,GTX 1060(6GB)。
我有點錢:GTX 1060(6GB)
我幾乎沒有錢:GTX 1050 Ti(4GB)。或者:CPU(原型設計)+ AWS / TPU(訓練); 或者Colab。
我做Kaggle:RTX 2070
計算機視覺或機器翻譯研究員:GTX 2080 Ti,如果您訓練非常大的網絡獲得RTX Titans。
NLP研究員:RTX 2080 Ti使用16位。
我開始深入學習並且我認真對待它:從RTX 2070開始。在6-9個月之后購買更多RTX 2070並且您仍然希望投入更多時間進行深度學習。根據您接下來選擇的區域(啟動,Kaggle,研究,應用深度學習),銷售GPU並在大約兩年后購買更合適的東西。
我想嘗試深度學習,但我並不認真:GTX 1050 Ti(4或2GB)。這通常適合您的標准桌面,不需要新的PSU。如果它適合,不要購買新電腦!
選購
看了Tim給出的建議,我最終選擇了RTX 2070顯卡,雖然只有8G顯存,不過使用16位運算,主流網絡也都能跑起來。對於品牌的選購我只建議不要買燈效、不要買超頻,你要相信一點,同一個型號的顯卡(例如RTX 2070),任何廠家任何款式的商品在性能上均沒有什么性能差距,價格差距主要體現在所謂的超頻、燈光效果上,我個人的建議是完全沒有必要把錢花費在這上面,關注一下散熱,一線廠商的用料都不會太差。
我選購了“影馳 RTX2070 大將”,3400元。對於經費充裕的朋友,RTX 2080 Ti也是一個非常好的選擇,我之后擴展可能會入手2080 Ti
電源
通常,我們需要一個足以容納所有未來GPU的電源。電源的穩定性也對組件的壽命有很大影響,因此購買一個優質的電源是很有意義的。
因為一個主機最終要的功耗組件是GPU和CPU,我們可以通過將CPU和GPU的功耗累加,並且附加其他組件大約額外10%W來計算所需的功率。網上也有很多計算功率的網站,但大多組件不是很全面,沒有什么參考價值, 我的建議就是盡量上大功率電源,留作之后升級顯卡使用。還要注意,模組電源支持的PCIE口數量,例如上面我所購買的RTX2070影馳大將,電源接口為8+6pin的,占用默許電源兩個8pin的PCIe供電口,如果電源給的供電口只有6個8pin供電口,那么我們只能給3張顯卡供電。這個問題需要注意一下。
對於電源,我有兩款產品推薦:“鑫谷GP1350G 額定1250W 全模組”和“長城巨龍服務器電源 1250W 全模組”,二者價格差不多,我買的鑫谷這款。
散熱器
CPU散熱部分,之前一直想上一個風冷節省支出,但是由於I7-6950X已經140W了,風冷根本壓不住,所以上了240雙冷排的水冷,在選購散熱器時注意與商家咨詢該散熱器是否能壓住該功率CPU。我入手的“愛國者(aigo)冰塔T240 極光版”,散熱效果很好。
機箱
機箱看個人喜好吧,盡量大一點,散熱能好些。我入手的“愛國者(aigo)月光寶盒 破曉”。
風扇
風扇這個東西還挺貴的,普通的大約20多一個,真是不明白貴在哪里,購買風扇踩了個坑,以為各種風扇都一樣,買便宜的就好,入手了京東最便宜的風扇10元一個,看標注風力之類的都比愛國者極光好,但是實測風力沒有愛國者極光風扇強大,不過極光風扇噪音有點大。
組裝
裝機部分隨便上張圖意思一下吧~總之是忙了一整天才弄好。