web-dev-qa-db-ja.com

(conv)ニューラルネットワーク計算用のCPUとGPU

私はAIの学生で、今年はpylearnとTheano(トーチとカフェも試してみるかもしれません)と一緒にニューラルネットを実装する予定です。この問題のためにラップトップを購入しようとしています。あなたの経験に基づいて、ご協力をお願いします。

予算があまりないので、あまり余裕がありません。 2つまたは3つの簡単な質問があります。

Theano、torch、caffeなどのライブラリで最適にサポートされているもの:[〜#〜] ati [〜#〜]または[〜#〜] nvidia [〜#〜] =?誰かがGPUコンピューティングをGeforce 740M 820M 840Mこのようなもので試しましたか?そしてそれはCPUよりも優れていますか?または、巨大なGPUを購入する余裕がない場合は、これらの(安価な)カードではなく、優れたi7のラップトップを購入する方がよいでしょうか。

お時間をいただきありがとうございます、

9
Sam

したがって、あなたの回答といくつかのブログ投稿を読んだ後、私の結論は次のとおりです。ラップトップをディープラーニングのメインワークステーションにしようとしないでください!値段が高す​​ぎる:ラップトップの構成に数千ドルを費やすだけで、デスクトップに数百ドルかかる可能性があります。そして、より安価なはそれだけの価値はありません。

13インチのラップトップを購入して、強力なデスクトップの構築を開始すると思います。それから、sshでアクセスできるようにします。

これらの2つのリンクは、GPUの選択について十分に理解するのに最適です。

http://timdettmers.com/2017/04/09/which-gpu-for-deep-learning/

https://www.linkedin.com/Pulse/20141013042457-89310056-which-gpu-to-use-for-deep-learning

皆さん、ありがとうございました !

16
Sam

最初の質問ですが、NNを実装するためのこれらのライブラリについてはわかりません。ただし、octave/Matlabのようなものを使用した場合は、どちらにもNNのトレーニングにCUDAを使用するNN用のライブラリがあります。 GPUとCPU .... NNと機械学習の実装は、一般に、ベクトル/行列と、乗算/加算などの行列演算に大きく基づいています。行列演算に関しては、よく考えないでください。常にGPUを選択します。行列演算は、GPUを多用する単一命令の複数データ演算です。基本的には、大量のデータに対して個別に実行されるのと同じ操作(通常は単純な操作)です。非常に高度なGPUは必要ありません。私は古いMacBookで320GTXを使用しましたが、それで十分でした(あなたは学生であり、概念実証または学術プロジェクトのいずれかを実装し、業界レベルのプロジェクトは実装しないと想定しています)。

4
mkmostafa

機械学習操作は通常、行列と行列の乗算になります。現在、GPUにはCPUよりもはるかに多くのスレッドがあるため、行列-行列の乗算はCPUよりもGPUで非常に効率的です。さらに、NVIDIAはかなりの年数の間CUDAツールキットをサポートしてきました。プラットフォームは成熟しました。多くのDLライブラリ(Caffe、Theano、Torch、TensorFlowなど)は、BLAS(基本線形代数サブルーチン)およびDNN(ディープニューラルネットワーク)ライブラリのCUDAサポートを活用しています。ディープラーニングライブラリの開発者は行列-行列乗算を最適化するためにかなりの時間を費やす必要はありません。

さらに、特定の操作(行列-行列操作)で同じレベルのGPU用にCPUコードを最適化することはかなり難しいようです(私たちがninja最適化と呼んだもの) )。他の人が経験したことをよりよく理解するには、 https://github.com/BVLC/caffe/pull/439 でのディスカッションを参照してください。

0
beahacker