1,000 ドル未満でディープラーニング用の超高速コンピューターを構築: ディープラーニングと安価なハードウェアの探求を続けましょう。

1,000 ドル未満でディープラーニング用の超高速コンピューターを構築: ディープラーニングと安価なハードウェアの探求を続けましょう。

[[192381]]

はい、39 ドルの Raspberry Pi ボードで TensorFlow を実行できます。また、GPU を搭載した Amazon EC2 ノードでも 1 時間あたり 1 ドルで TensorFlow を実行できます。はい、これらのオプションは独自のマシンを構築するよりも現実的かもしれません。しかし、あなたも私と同じような人であれば、信じられないほど高速なディープラーニング コンピューターを自分で構築したいと思うはずです。

まあ、DIY プロジェクトに 1,000 ドルというのは高額です。しかし、いったんマシンを正しく構築できれば、脳を拡張したロボットからアートの創造まで、ディープラーニングの何百ものアプリケーションを構築できます (少なくとも、それが私がお金を使う理由です)。最悪の議論は、このマシンは少なくとも 2,800 ドルの Macbook Pro に簡単に勝てるという点です。消費電力が大きいことを除けば、パフォーマンスの他のすべての面は Macbook よりも優れています。さらに、このコンピューターは簡単にアップグレードできるため、そのパフォーマンスはラップトップよりも数年先を行くことが保証されます。

私は 1980 年代以来コンピューターを組み立てていません。また、何百ドルも費やして、自分で組み立てられない(あるいは組み立てられたとしても、正しく動作しないかもしれない)部品がたくさん手に入るのではないかとかなり心配していました。しかし、コンピューターを組み立てることは可能であることをお伝えしたいのです。さらに、プロセス全体が楽しいです。 ***ノートパソコンよりも 20 倍速く予測を実行できる汎用コンピューターを入手できます。

以下に買い物リストと詳細な提案を示します。

◇マザーボード

様々なサイズをご用意しております。複数の GPU を使用したくなかったため、私が見つけた最小の標準マザーボード サイズは mini-ITX であり、このプロジェクトには十分でした。私の最大の要件は、GPU 用の PCIe スロット 1 つと DDR4 メモリ スロット 2 つがあることです。 ***Amazon で 125 ドルで販売されていた ASUS Mini ITX DDR4 LGA 1151 B150I PRO GAMING/WIFI/AURA マザーボードを購入しました。 WiFiアンテナも付属しています。地下室でこのコンピューターを使用するのに非常に便利です。

◇シャーシ

シャーシはそれほど重要ではなく、非常に安価です。 DIY パソコンの主な顧客はゲーマーであるため、ケースの形や色も多様です。ケースのサイズはマザーボードと一致する必要があるため、ケースは mini-ITX をサポートする必要があります。私が購入したケースは、Thermaltake Core V1 Mini ITX Cube で、Amazon で 50 ドルで販売されています。

◇記憶

今ではメモリがこんなに安くなっているなんて信じられません。マザーボードに合った DDR4 メモリを購入する必要があります (オンラインで見つけられるものはほとんどこのタイプです)。価格はどれもほぼ同じです。私はCorsair Vengeanceメモリの8GBスティック2本を129ドルで購入しました。

私はこの LED ライト付き RAM モジュールに 5 ドル余分に費やしました。Amazon のレビューで「PC ケースに十分な数の LED を取り付けられない方に最適な選択肢」と書かれていたからです。私のように地下室で PC を組み立てていて、ケースの見た目を気にしないのであれば、ケース内の部品を見つけるのは大変でしょう。

◇CPU

オンラインで CPU の比較をいくつか調べたところ、高速 CPU を必要とするタスクはないので (ニューラル ネットワークのトレーニングは除く。ニューラル ネットワークのトレーニングには GPU を使用します)、低速の CPU でも問題ないと考えました。しかし、私は他のコンピューターより 3 世代遅れている CPU を搭載したコンピューターも我慢できません。 ***Intel I5-6600 CPU を 214 ドルで購入しました。

Amazon で見つけられるほとんどの CPU が適しています。 i5-6600K を購入するために 20 ドル余分に支払う必要はありませんでした。 i5-6600モデルと比較すると、オーバークロックを除き、他の機能は同じです。しかし、システムの信頼性を犠牲にして速度を 10% 向上させるというのは、私にとってはおかしいことです。しかし、自分でコンピューターを組み立てようと考え始めてから、少し後悔したことを認めざるを得ません。それで誰が知っているでしょうか?ライフスタイルを変える機会を節約しましょう。オーバークロック可能な CPU を購入すれば、後悔も少なくなるかもしれません。しかし一方で、不必要な選択肢を排除することで、自殺を防ぐことができるかもしれません。

◇ハードディスク

また、ハードドライブが今ではこんなに安くなっているとは信じられません。 1TB の SATA ハードドライブを 50 ドルで購入しました。 SSD はより高速ですが、はるかに高価です。さらに、ほとんどのプログラムはデータのバッチをメモリに取り込み、長時間計算を行うため、ディープラーニング プログラムは一般に I/O にそれほど依存しません。ファイル転送を頻繁に行う場合や、友達の MacBook よりも高速にアプリを実行できるようにしたい場合は、Samsung 850 EVO 250GB 2.5 インチ SATA III 内蔵 SSD のようなソリッド ステート ドライブを購入することをお勧めします。価格は 250GB で 98 ドルです。

これらのドライブのおかげで、Apple がいかに人々を騙しているかが分かりました。 Macbook Pro で 250GB のハードドライブ容量を追加するには、200 ドルかかります。

◇グラフィックカード/GPU

どのグラフィック カードを選択するかは、最も重要かつ難しい問題です。ほとんどすべての機械学習アプリケーションでは、NVIDIA グラフィック カードが必要です。これは、すべての機械学習フレームワーク (TensorFlow を含む) が依存する最も重要な CUDA フレームワークと CuDNN ライブラリを持っているのは NVIDIA だけだからです。

GPU の専門家ではない私にとって、GPU に関連する用語は非常にわかりにくいものです。しかし、以下は非常に基本的な購買指標です。

おそらく、ディープラーニングにとって最も重要な指標は、グラフィック カードのビデオ メモリのサイズです。 TensorFlow がモデルと現在のトレーニング データのバッチを GPU のメモリに収めることができない場合、失敗して CPU の使用に戻り、GPU が役に立たなくなります。

もう 1 つの重要な考慮事項は、グラフィック カードのアーキテクチャです。 Nvidia が最初に発表したアーキテクチャは、「Kepler」、「Maxwell」、「Pascal」と呼ばれていました。これらのアーキテクチャの主な違いは速度です。たとえば、このベンチマークによると、Pascal Titan X は Maxwell Titan X の 2 倍の速度です。

機械学習に関する論文のほとんどは、TITAN X グラフィックス カードを使用しています。パフォーマンスは良好ですが、古いバージョンでも 1,000 ドル以上と高価です。機械学習を行う人のうち、予算があまりない人の多くは、Nvidia の GTX 900 シリーズ (Maxwell) または GTX 1000 シリーズ (Pascal) を使用しています。

グラフィック カードのアーキテクチャを理解するには、Nvidia の非常にわかりにくい命名システムを参照します。9XX カードは Maxwell アーキテクチャを使用し、10XX カードは Pascal アーキテクチャを使用します。しかし、クロック速度が高く、ビデオメモリが大きい 980 は、1060 よりも高速になる可能性があります。

NVIDIA GPU のさまざまなアーキテクチャについて少し学ぶ必要があるかもしれません。しかし、結局のところ、9XX と 10XX のグラフィック カードはどちらも、ラップトップよりも桁違いに高速になります。たくさんのオプションに圧倒されないでください。まだ GPU を使用していない場合は、現在のシステムよりもはるかに高速になります。

3GB のビデオ メモリを搭載した GeForce GTX 1060 グラフィック カードを 195 ドルで購入しました。私のMacBookより20倍近く速いです。しかし、一部のアプリケーションでは、依然としてビデオ メモリが不足することがあります。したがって、おそらく 60 ドル余分に支払って、6 GB のビデオ メモリを搭載した GeForce GTX 1060 を購入する必要があるでしょう。

◇電源

650Wの電源を85ドルで購入しました。私の経験では、電化製品の電源の問題は非常に面倒で解決が難しいので、そのためにお金を節約する価値はありません。一方、私のシステムはピーク負荷時に 250 ワットを超えることはありませんでした。

◇ラジエーター

私が最初に働いたスタートアップ企業が、サーバーをクローゼットの中に置いていたのを覚えています。クローゼットのドア越しでも、ファンの音が驚くほどうるさかった。そんな時代はとうに過ぎ去ったようだ。ただし、650 ワットの電源を使用すると、マシンはラップトップの 10 倍のエネルギーを消費し、エネルギーを常にコンセントに供給する必要があります。おそらく必要ではないかもしれませんが、私は 35 ドルで本当に素晴らしいクーラー、Master Hyper 212 EVO を購入しました。これにより、CPU が低温に保たれ、システムが非常に静かになります。

◇概要

成分価格
グラフィックカード195ドル
ハードドライブ50ドル
CPU 214ドル
場合50ドル
電源85ドル
ヒートシンク35ドル
ラム129ドル
マザーボード125ドル
合計883ドル

完全に動作するには、モニター、マウス、キーボードも必要です。これらは通常簡単に手に入ります (私の地下室には散らばっています)。合計価格は 883 ドルなので、1,000 ドルを費やしても、いくつかの機能をアップグレードできます。

インストール

すべてのパッケージが届いたときはとても興奮しましたが、インストールは簡単でしたが信頼性が低いことがわかりました。各コンポーネントの説明書に従ってコンピューターを組み立てるのに約 1 時間かかりました。 ***しかし、点灯しません。マザーボードを交換する必要がありました。かなりイライラしましたが、大丈夫でした。

2 回目の組み立てでは、すべての部品を段ボール箱に置いて接続し、すべてが正しく動作することを確認しました。

基本的に、すべてを差し込んで適切にフィットするようであれば、問題はありません。

図1 テスト用に最小限のコンポーネントのみが接続されたテーブル上の半完成コンピュータ

図2: 超大型ラジエーターを取り付けた後のコンピュータは恐ろしい見た目になる

図3 上から見たところ、ハードドライブが取り付けられている

コンピュータを起動する

最新バージョンの Ubuntu はほぼすべてのディープラーニング ソフトウェアをサポートしているため、最新バージョンをインストールすると作業がはるかに簡単になります。イメージを USB スティックに保存し、簡単な手順に従ってインストールすることができます。 1990 年代には、Linux デスクトップをインストールするためにさまざまなドライバーに苦労する必要がありましたが、現在ではインストール プロセスが非常に簡単になりました。

新しい Ubuntu オペレーティング システムも非常に優れています。今では自分で組み立てたこのコンピューターを定期的に使っています。大容量メモリ、比較的高速な CPU、軽量なオペレーティング システムを備え、我が家で最速のコンピューターです。

CUDAとOpenCVをインストールする

およびTensorFlow

クールなディープラーニングマシンを使用するには、まず CUDA と CudNN をインストールする必要があります。最新の CUDA バージョンは 8.0、CudNN は 5.1 です。 抽象レベルでは、CUDA は、他のプログラムが汎用アプリケーションで GPU を使用できるようにする API およびコンパイラです。 CudNN は、ニューラル ネットワークを GPU 上でより高速に実行できるように設計されたライブラリです。これら 2 つのソフトウェアは、NVIDIA の公式 Web サイトからダウンロードする必要があります。

OpenCV は、多くのアプリケーションが画像処理に使用するオープンソース ライブラリです。現在、最新バージョン 3.1 は最新の CUDA バージョンと互換性がありません。 CUDA_GENERATION フラグを Kepler、Maxwell、または Pascal (購入した GPU モデルによって異なります) に設定することで、互換性を持たせることができます。 OpenCV をダウンロードしてセットアップするためのコマンドのシーケンスは次のとおりです。

  1. git クローン https://github.com/opencv/opencv.git \
  2.  
  3. && cd opencv \
  4.  
  5. && mkdir ビルド \
  6.  
  7. && cd ビルド \
  8.  
  9. && cmake ..\
  10.  
  11. && -j3 を作る \
  12.  
  13. && インストールする

***、TensorFlow のインストールは、最近では最も簡単な作業になりました。このウェブサイトの指示に従ってください。

GPU サポートが成功したかどうかを確認するには、この TensorFlow テスト プログラムを実行するか、次のコマンドを実行します。

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

これにより、エラーなしでモデルの実行が開始されるはずです。

さあ、楽しい部分が始まります!

コンピューターのセットアップとソフトウェアのインストールに約 1,000 ドルと数え切れないほどの時間を費やしたので、今こそ投資を回収するときです。 GPU を使用するとプログラムの実行速度が驚くほど速くなるため、その速度を活用できるアプリケーションが必要になります。幸いなことに、楽しいことはたくさんあります。

近くの物体をリアルタイムで識別

安価な USB カメラまたはカメラ付きの Raspberry Pi ボードを家の外に設置します。 前回の $100 TensorFlow Robot で紹介した RPi カメラ モジュールを使用すると、Raspberry Pi ビデオ ストリーミング アプリケーションを簡単に作成できます。

YOLO

YOLO パッケージは、撮影中にリアルタイムでオブジェクト認識を実行できます。 Macbook では、オブジェクトの認識に 3 ~ 4 秒かかることがわかりました。しかし、GPU を使用すると、非常に高い精度でリアルタイムの結果を得ることができます。

YOLO_tensorflow プロジェクトによれば、YOLO モジュールを使用して TensorFlow 上で実行するのは簡単です。別のディープラーニングフレームワークである「Darknet」をインストールすることもできます。 YOLO はもともとこの目的のために設計されました。

  1. git クローン https://github.com/pjreddie/darknet
  2.  
  3. CD ダークネット
  4.  
  5. 作る

Darknet をインストールしたら、次のコマンドを使用して画像を処理できます。

  1. ./darknet 検出 cfg/yolo.cfg yolo.weights データ/dog.jpg

Raspberry Pi カメラはファイルを Web サーバーに置くだけなので、Darknet をそのファイルに直接接続して、リアルタイム ストリームでオブジェクト認識を行うことができます。次のビデオは、外で交通渋滞が発生しているときにガレージで物体認識を実行している様子を示しています。

Raspberry Piロボット用

強化された脳

前回の記事「たった 100 ドルの TensorFlow ロボット」では、たった 30 ドルのハードウェアでディープラーニングを実行して適用できることを示しました。残念ながら、私にとって最もイライラしたのは、ロボットが物体認識を完了するまでに数秒かかり、ロボットがリアルタイムで判断を下すことが不可能だったことです。ロボットがこの新しい GPU マシンを使用すると、リアルタイムの物体認識だけでなく、1 秒あたり約 12 ~ 20 フレームの画像を処理できるようになります。

GitHub の私の指示に従えば、カメラから簡単に処理できるビデオ ストリームを取得するロボットを構築できます。

友人の Shawn Lewis がこの投稿に必要なスキルのほとんどを教えてくれるので、私は 2 台の Raspberry Pi ロボットを彼のオフィスに持っていきました。彼と他の多くのロボット工学者たちは、ビールを運んでくれるロボットを作るという夢を持っています。以下は、地上でビールをめぐって争うロボットたちのビデオです。

ビデオの冒頭のコンピューター モニターをよく見ると、Shawn のコンピューターが実際に GeForce 980 グラフィック カードを使用して、2 台のロボットが撮影したビデオのリアルタイム オブジェクト認識を実行していることがわかります。彼は、自分のカードはメモリ不足に陥ることなく 4 つのビデオ入力を同時に処理できると主張しています。

アートを作ろう

ニューラル ネットワークでできる楽しいことの 1 つは、Google の Deep Dream が行ったことを再現することです。 GPU がなくても実行できますが、時間がかかります。本質的には、これは入力画像を変更して、ニューロンから最適なフィードバックを得る画像を見つけることなので、このタスクは非常に計算集約的です。この変更を実現する方法は多数あり、その結果は通常、非常に奇妙でクールなものになります。

直接使用できる優れたチュートリアルは、Google がリリースした Deep Dream コードです。

Jupyter ノートブック サーバー (常に必要です!) と Caffe をインストールする必要があります。

次に、Google のチュートリアルに従って、友達の顔を挿入します。新しい機械のおかげで、新しい写真が何時間もかかっていたのが、数分で撮れるようになりました。修正された写真は楽しいです。

図 4. 私の隣人である Chris Van Dyke と Shruti Gandhi が私のガレージに立っており、その写真は私の Deep Dream プログラムによって走り書きされたものです。

[[192386]]

図5 友人バーニー・ペルと彼のチェスの誕生日ケーキ

図 6 これは、Deep Dream プログラムを実行したマシン自体の写真です。画面が犬でいっぱいのように見えます (おそらく、このモデルのトレーニングに使用された ImageNet データが犬の写真でいっぱいであるためです。ImageNet データセットには 120 種類以上の犬種が含まれています)

さらにクレイジーになりたい場合は、Deep Dream に基づいて TensorFlow に実装された Neural Style をご覧ください。結果はさらに驚くべきもので、この衝撃的なブログ投稿でその結果の一部をご覧いただけます。

<<:  ディープラーニングを使用した高速顔モデリング

>>:  「ディープラーニング」市場の動向を多面的に分析

推薦する

機械学習初心者必読: 6 つのシンプルで実用的なアルゴリズムと学習曲線

01 機械学習アルゴリズム1. 分類アルゴリズムこれは教師あり学習法です。 K 最近傍法、決定木、単...

合理的強化学習はボトルネックに達しました。進化的アルゴリズムがその後継者となるでしょうか?

人工知能とゲーム理論の交差点から強化学習が生まれましたが、ゲーム理論に基づく問題解決は通常、合理性と...

意見: 機械学習は私たちの注目を必要としています!

機械学習は、私たちがもっと注目する価値のある強力なテクノロジーです。機械学習アプリケーションについて...

機械学習とビットコインの例

[[201737]]私はかつて、機械学習を使用してピグレットの世界で株価と変動を予測する空想的な例を...

中国科学院とディープマインドが協力し、ディープラーニングを使って脳が顔を認識する仕組みを解明

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

旅の途中を突破せよ! OpenAIが秘密裏に新プラットフォームをテスト

著者: 徐潔成校正:Yun Zhao 「使ってみて、もうMidjourneyには興味がなくなった」。...

新しいディープラーニングモデルがエッジデバイスに画像セグメンテーションをもたらす方法

[51CTO.com クイック翻訳]画像セグメンテーションは、画像内のオブジェクトの境界と領域を決定...

Tofsee ボットネットは独自のドメイン名生成アルゴリズムを使用する

概要スイス政府コンピュータ緊急対応センター (GovCERT) は最近、Tofsee ボットネット ...

マイクロソフトとスタンフォード大学の新アルゴリズムがAIによる人類絶滅のリスクを排除! GPT-4の自己反復、プロセスは制御可能かつ説明可能

「再帰的に自己進化する AI が人間を支配する」という問題に対する解決策はあるのでしょうか? !多く...

Meta と Microsoft が、開発者が生成型 AI アプリケーションを構築できるようにオープンソース モデル Llama 2 をリリース

7月19日、MetaとMicrosoftは協力して、研究や商用目的で無料で使用できるMetaの次世代...

マイクロソフト、物議を醸す顔認識機能を廃止へ

マイクロソフトは、動画や写真から対象者の感情を識別できると主張するツールを含む、人工知能による顔分析...

自動運転分野でファーウェイの「異常運転行動」関連特許が認可:認識精度向上が可能

昨日12月8日、華為技術有限公司は「異常運転行動を識別する方法」の特許権を取得し、公開番号はCN11...

空飛ぶ脳?ヒントン氏のツイートは白熱した議論を引き起こした。ニューラルネットワークは鳥が飛ぶための「羽」なのか?

[[407838]]ヒントン氏はツイッターでちょっとした議論を始めた。「ニューラルネットワークを設...

人工知能に関する詳細な調査:AIツールを使ったことがある人は思っているほど考えていない

6月27日、有名なテクノロジーメディアVergeは調査会社と協力し、人工知能の使用状況、期待、懸念を...

Python が機械学習プロジェクトに最適な言語である理由は何ですか?

[[386401]] Python は安定性とメンテナンスのしやすさから、常に優れたパフォーマンス...