【為什麼我們選這篇文章】比起花大錢買潮Mac,這邊有更好的選擇!不到1000美元,就可以享受到高規格的電腦系統,甚至可以匯入上百個深度學習模式。你可以自行配置自己想要的器材,量身打造適合自己的規格!另外,這台電腦很容易被升級,從而能保證它的性能可以領先其他筆電好幾年。

本篇文章由CrowdFlower的創辦人兼CEO Lukas Biewald寫,大數據文摘授權轉載。(責任編輯:方綺)

是的,你可以在一個39美元的樹莓派板子上運行TensorFlow,你也可以在用一個裝配了GPU的亞馬遜EC2的節點上跑TensorFlow,價格是每小時1美元。是的,這些選擇可能比你自己攢一台機器要更現實一點。但是如果你和我是一樣的人,你絕對想自己攢一台奇快無比的深度學習的電腦。

好吧,一千塊錢對於一個DIY專案來說是太多了。但是一旦你把機器搞定,你就能構建數百個深度學習的應用啦,從擁有增強大腦的機器人到藝術創作(至少這是我為花這些錢找的理由)。最差的理由也是,這個機器至少能輕鬆打敗那個2800美元的Macbook Pro筆記本。除了用電多一點,所有的性能都比Macbook強。另外這台電腦很容易被升級,從而能保證它的性能可以領先筆記本好幾年。

從上世紀80年代後我就再沒攢過電腦。我也相當擔心花好幾百塊,最終搞一堆我自己裝不出來的零件(或是攢出來了,但可能沒法正常工作)。不過我要告訴你,攢機是可以的!另外,整個過程也很好玩。最後你能擁有一台通用的電腦,並能做預測,同時比筆記本快20多倍。

下面是購買清單和一些細節建議

  • 主機板

主機板有不同的尺寸規格。因為我不想用多個GPU,所以最便宜最小的主機板標準尺寸是mini-ITX,對這個項目是夠用了。我的最低要求是要有一個PCIe插槽給GPU用,有兩個DDR4的記憶體插槽。最後我買的是華碩的 Mini ITX DDR4 LGA 1151 B150I PRO GAMING/WIFI/AURA主機板,在亞馬遜上賣125美元。還附送了一個WiFi的天線。這對於在地下室裡用這個電腦是太方便了。

  • 主機殼

主機殼不太重要,也非常便宜。因為DIY電腦的主要客戶都是遊戲玩家,所以主機殼的形狀和顏色也是五花八門。主機殼的尺寸應該和主機板配套,所以我的主機殼需要支援mini-ITX。我買的是Thermaltake Core V1 Mini ITX Cube主機殼,在亞馬遜上賣50美元。

  • 記憶體

我不敢相信現在記憶體有多便宜。你需要買和主機板配合的DDR4型的記憶體(幾乎網上找到的都是這個類型),大家的價格都差不多。我用129美元買了兩條8GB of Corsair Vengeance記憶體。

這個帶LED燈的記憶體條讓我多花了5美元,因為亞馬遜的用戶評價上說「對於沒法在主機殼裡裝足夠多LED燈的,這個記憶體是最佳選擇。」如果你如我一樣是在地下室裡攢機,也不在乎主機殼裡面的美感,那你肯定會非常難在主機殼裡找到零件。

  • CPU

我看了一下網上的CPU評測比較,認為比較慢的CPU應該沒什麼問題,因為我沒什麼任務是要高速CPU的(除了訓練神經網路,而我會用GPU來訓練)。但我也受不了一台電腦,裡面有一個相對其他部件落後三代的CPU。最後我花了214美元買了Intel I5-6600 CPU。

大部分亞馬遜上能找到的CPU都是合適的。我沒花額外的20美元去買I5-6600K。與I5-6600型相比,除了能超頻,其他功能都一樣。但通過系統可靠性來換取10%的速度提升對於我來說是夠瘋狂的。不過我承認,在我開始想著自己攢機後,我有些後悔了。所以誰知道哪?攢機會改變你的生活樣式。可能買一個可超頻的CPU會少一些後悔。但另一方面,也許去除掉多餘的選擇能保護你自己,不會自己作死。

  • 硬碟

我也無法相信現在硬碟有多便宜了。用50美元我買了一個1TB SATA硬碟。固態硬碟會更快,但貴很多。而且深度學習的程式一般都不會是高I/O依賴的,因為一般程式都是拉取一批資料進記憶體,然後算很久。如果你有很多的檔案傳輸任務,或是僅僅是想確保比你朋友的Macbook跑應用快很多,那我會買一個固態硬碟,比如這個三星的850 EVO 250GB 2.5-Inch SATA III Internal SSD,250G的要98美元。

這些硬碟讓我意識到,蘋果是多麼會宰人。為了Macbook Pro有250G的額外硬碟容量,你要花200美元!

  • 顯示卡

選哪款顯卡是最重要也是最難的問題。對於幾乎所有的機器學習應用,你都需要一個英偉達的顯卡,因為只有英偉達有最重要的CUDA框架和CuDNN庫,所有的機器學習框架(包括TensorFlow)都依賴它們。

作為一個非GPU專家,我發現與之相關的名詞術語是夠讓人糊塗的。但下面是非常基本的選購指標。

可能對深度學習最重要的指標就是顯卡的顯存大小。如果TensorFlow不能把模型和當前批次的訓練資料存進GPU的顯存,它就會失敗並轉向使用CPU,從而讓GPU變成廢物。

另外一個重要的考慮就是顯卡的架構。英偉達最新依次推出的架構叫“Kepler”,“Maxwell”和“Pascal”。這些架構的主要區別就是速度。例如根據這個基準評測,Pascal Titan X的速度是Maxwell Titan X的兩倍。

機器學習的大部分論文都是用的TITAN X顯卡。性能不錯,不過夠貴,都要1000美元以上,哪怕是舊一點的版本。大部分搞機器學習且沒多少預算的人都用的英偉達的GTX 900系列(Maxwell)或是GTX 1000系列(Pascal)。

想找出一塊顯卡的架構,你可以看看英偉達的那個極其讓人混淆的命名系統:9XX卡使用的是Maxwell架構,而10XX是用的Pascal架構。但一個有更高的主頻和更大的顯存980可能還是比一個1060要快。

你可能必須對不同架構的英偉達GPU有所瞭解。但最重要的是,無論是9XX還是10XX顯卡,都會比你的筆記本快一個數量級。不要被這些選項搞暈了,如果你還沒有用過GPU,用它會比你現有的系統要快很多。

我買的是GeForce GTX 1060顯卡,3GB顯存,花了195美元。用它比我的Macbook要快近20倍。但對有些應用,它還是偶爾會出現顯存記憶體不足的情況。所以我也許應該多花60美元來買一個GeForce GTX 1060 6GB顯存版。

  • 電源

我花了85美元買了一個650W的電源。我的經驗是,電器如果電源出了問題是非常頭疼也很難修的,所以不值得為此省錢。另一方面,我的系統的峰值負載從來沒有超過250瓦。

  • 散熱器

我還記得我工作的第一家創業公司是把伺服器放到壁櫥裡面的。即使隔著壁櫥的門,風扇的雜訊還是出奇的大。這樣的日子似乎是早已過去了。不過650瓦的電源讓你的機器耗能是筆記本的10倍,而能量總是要找到一個出口的地方。可能不是必須的,但是我還是用35美元買了一個超級的散熱器——Master Hyper 212 EVO。這讓CPU始終運行在低溫狀態,且系統超級安靜。

以下是價錢概覽(單位都為美元):

omponent Price
Graphics Card $195
Hard Drive $50
CPU $214
Case $50
Power Supply $85
Heat Sink $35
RAM $129
Motherboard $125
Total $883

要最後能用,你還需要有顯示器、滑鼠和鍵盤。這些東西一般容易搞到(我的地下室裡到處都是)。合計價格是883美元,因此想花1000美元的話,還能再升級一些東西。

裝機

所有包裹都到齊後我是相當的興奮,然後我發現裝機是容易,但靠不住。花了我大概一個小時,按照每個部件的說明書就把電腦組裝起來了。最後卻點不亮。我不得不更換了主機板,相當沮喪但還OK。

第二次組裝時,我把所有的部件放在一個紙箱子上連接起來,先確定是不是都能正常工作。

基本上,如果你把每個東西都能插入到看起來能恰當地匹配的地方,就應該是OK的。

圖1 放在桌子上的半成品電腦,只連接了最少的部件來測試

圖2 裝上超大散熱器後的電腦,看起來很恐怖

 

圖3 從上面看下去,硬碟已經裝進去了

啟動電腦

安裝最新版本的Ubuntu會讓你的生活變得容易得多,因為新版本支持幾乎所有的深度學習的軟體。你可以把一個鏡像存到一個USB盤裡,然後按照它的簡單的一步一步指導來安裝。在上世紀90年代,我需要和各種驅動程式去鬥爭來安裝Linux桌面,不過現在的安裝過程已經變得超級容易。

新的Ubuntu作業系統也非常的棒。我現在經常使用我自己組裝的這台電腦。擁有大記憶體、相對快速的CPU和羽量級的作業系統,它是我家裡最快的電腦。

安裝CUDA、OpenCV和TensorFlow

為了能用你的超酷的深度學習機器,你需要先安裝CUDACudNN。最新的CUDA版本是8.0CudNN5.1從抽象的角度看,CUDA是一個API和編譯器,能讓其他的程式為通用應用使用GPU。而CudNN則是一個庫,主要設計來讓神經網路在GPU上跑的更快。你需要從英偉達的官網NVIDIA website上下載這兩個軟體。

OpenCV 是一個開源的庫,很多應用使用它來做影像處理。現在最新的版本3.1和最新的CUDA版本不相容。你可以通過設置CUDA_GENERATION標誌成Kepler、Maxwell或是Pascal(取決於你買的GPU型號)來讓他們相容。下面是下載OpenCV和安裝設置它的命令序列:

git clone https://github.com/opencv/opencv.git

&& cd opencv

&& mkdir build

&& cd build

&& cmake ..

&& make -j3

&& make install

最後,安裝TensorFlow變成了這些天裡最簡單的工作。只要按照這個網站上的說明操作就行了。

想看看GPU的支持是不是成功,你可以運行這個TensorFlow的測試程式,或是執行下面的命令:

python -m tensorflow.models.image.mnist.convolutional

這應該能開始運行一個模型而沒有報錯。

有趣的部分來了!

現在你已經花了近1000美元和無數的時間來裝機和裝軟體,是時候回收你的投資啦!GPU讓程式運行的非常快,所有你需要一些能利用這個速度的應用。幸運的是有很多有趣的事情可以幹。

即時識別附近的物品

裝一個便宜的USB攝像頭或是帶有攝像頭的樹莓派板子在你家外面。你就能用我在之前的100美元的TensorFlow機器人裡所介紹的RPi攝像頭模組來很容易地製作一個樹莓派派視頻流應用。

YOLO

YOLO包能完成拍攝同時的即時物體識別。用Macbook的話,我發現物體識別需要3到4秒。但用GPU的話,我能得到一個即時的結果,而且準確率是非常高。

按這個YOLO_tensorflow 項目的介紹,可以很容易地使用YOLO模組運行在TensorFlow上。也可以安裝“Darknet”,這是一個不同的深度學習框架。YOLO最初就是設計來用於它的。

git clone https://github.com/pjreddie/darknet

cd darknet

make

Darknet安裝完後,你可以用下面的命令來讓它處理圖像:

./darknet detect cfg/yolo.cfg yolo.weights data/dog.jpg

因為樹莓派攝像頭僅僅只是把檔放到一個Web伺服器上,你可以直接讓Darknet去連接那個檔來做即時流裡的物體識別。下面的影片是我在車庫裡對外面發生的堵車進行的物體識別:(影片請點

給你的樹莓派機器人一個增強的大腦

我之前寫的這個《只要100美元的TensorFlow機器人》裡,我發現可以在只值30美元的硬體上運行和應用深度學習。不幸的是,最讓我失望的事情是機器人要花好幾秒才能完成物體識別,因此讓機器人做即時的決策就不行了。現在如果機器人用這個新的GPU機器,就不僅僅能做即時物體識別,還能每秒處理大概12-20幀的圖像。

如果你依據我在GitHub上的這個說明,你就能攢一個機器人出來,讓它從攝影鏡頭裡獲取容易處理的影片流。

我的朋友Shawn Lewis教會了我這篇文章裡所需的大部分技能,所以我把我的兩個樹莓派機器人拿到了他的辦公室。他和其他很多機器人專家有一個夢想,就是讓機器人能給他們拿啤酒。下面是這些機器人為地上的啤酒戰鬥的影片。(影片請點

如果你仔細看影片開始部分裡的電腦顯示器畫面,就會發現Shawn的這個電腦實際上是用它的GeForce 980顯卡在為兩個機器人拍攝的視頻做即時的物體識別。他宣稱他的這塊顯卡可以同時處理四路視頻輸入而不會記憶體溢出。

搞點藝術創作

你可以用神經網絡做的好玩的事情之一就是複製Google的Deep Dream做的事情。儘管你可以不用GPU也能完成,但會花很長的時間。本質上講,這個事就是修改輸入的圖片來找到神經元裡得到最大反饋的圖片,因此這個任務有非常大的計算量。有很多種方式來完成修改,結果一般都非常的詭異和酷。

一個直接能用的很好的教程就是谷歌公開的這個Deep Dream 代碼。

你需要安裝Jupyter notebook服務器(你總是需要的!)和Caffe。

接著按照谷歌的教程把你的朋友的臉插進去。使用這個新的機器,新的圖片只用幾分鐘就出來了,而不是好幾小時。修改出來的圖片是很好玩的。

圖4 我的鄰居Chris Van Dyk和Shruti Gandhi站在我的車庫裡,照片被我的Deep Dream程序給塗鴉了一把

圖5 我朋友Barney Pell和他的國際象棋生日蛋糕

圖6 這是我運行Deep Dream程序的機器自己的圖片。看起來像是滿屏都是狗(可能是因為訓練這個模型的ImageNet數據裡面都是狗的圖片。ImageNet數據集裡面包括了120多種不同的狗)

如果你想搞更瘋狂的事,這裡是基於Deep Dream由TensorFlow實現的Neural Style。出來的效果更神奇,你可以在這個腦洞大開的博文裡看到部分的成果。

總結

你不需要花好幾千美元來買一個比筆記本快的深度學習機器。自己攢一台並讓它能運轉正常是很有意思的經歷,而且這個電腦是可升級的。現在我已經把顯卡換成了一個具有相同架構的Titan X,這樣所有的程式都不用再次編譯。

總體來說,賺了。這個機器和亞馬遜的每小時1美元的P2實例跑的一樣快。P2實例用的是K80的顯卡,顯存大一點不過是舊的架構。我主要用這個機器做模型訓練,這也是這麼做的主要目的。嗯,這可能成為下一篇博文的題目。


【TechOrange 徵才:社群編輯+實習編輯】

►你是否常在各類豐富的科技趨勢裡流連忘返?
►你是否常被創業故事弄得熱血沸騰無法成眠?
►你是否喜歡很有挑戰性、嘗試新事物的工作?

我想你大概就是得了 TO 病,不加入不行了。
準備好你的履歷自傳,寄至  [email protected]
記得標註你要「應徵 TO 社群編輯」,才不會跑錯棚哦!
>>   詳細職缺訊息


延伸閱讀

天才駭客 Geohot 最新力作:免費開放自動駕駛原始碼,無人車 DIY 不再是夢想
高階 Mac Pro 骨灰罈一台賣 28 萬,有人自己做花了 33 萬!幹嘛要 DIY 哩?
【不期不待不受傷害】蘋果研發新 iMac,我已對庫克失望透了

首圖來源:Wikimedia commons,CC Licensed。

(本文經原作者大數據文摘授權轉載,並同意 TechOrange 編寫導讀與修訂標題,原文標題為〈用不到1000美元攒一台深度学习用的超快的电脑:继续深度学习和便宜硬件的探奇!〉。)