it-swarm.com.de

CPU vs GPU für (Conv) Neuronale Netze Berechnung

Ich bin ein AI-Student, der in diesem Jahr viel mit Pylearn und Theano (ich könnte auch Fackel und Caffe ausprobieren) arbeiten wird, um Neuronale Netze zu implementieren, und ich bin dabei, mir einen Laptop dafür zu kaufen. Ich hätte gerne Ihre Hilfe basierend auf Ihren Erfahrungen in dieser Angelegenheit.

Ich habe kein großes Budget und kann mir nicht viel leisten. Ich habe zwei oder drei einfache Fragen:

Was wird am besten für Bibliotheken wie theano, torch, caffe unterstützt:ATIoderNVIDIA? Hat jemand versucht, GPU-Computing auf Geforce 740M 820M 840M so etwas? und ist es besser als CPUs? oder wenn ich mir eine riesige GPU nicht leisten kann, ist es besser, einen Laptop mit einem guten i7 zu kaufen als diese (billigen) Karten?

Vielen Dank für Ihre Zeit,

9
Sam

Nachdem ich Ihre Antworten und einige Blog-Beiträge gelesen habe, lautet mein Fazit: Versuchen Sie nicht, einen Laptop als Hauptarbeitsplatz für intensives Lernen zu verwenden! Es ist einfach zu teuer : Sie geben nur Tausende von Dollar für eine Laptop-Konfiguration aus, die Hunderte für einen Desktop kosten könnte. Und das billiger ist es nicht wert.

Ich glaube, ich werde einen 13-Zoll-Laptop kaufen und mit dem Bau eines starken Desktops beginnen. Dann würde ich einen SSH-Zugriff darauf einrichten.

Diese beiden Links eignen sich hervorragend, um die GPU-Auswahl zu verstehen.

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

https://www.linkedin.com/Pulse/20141013042457-89310056-welche-gpu-zum-Nutzen-für-Tiefenlernen

Danke euch allen !

15
Sam

Was Ihre erste Frage betrifft, so sind mir diese Bibliotheken zur Implementierung von NN nicht bekannt. Wenn Sie jedoch so etwas wie Octave/Matlab verwendet haben, verfügen beide über Bibliotheken für NN, die CUDA zum Trainieren von NNs verwenden. GPU vs. CPU ... Die Implementierungen von NN und maschinellem Lernen im Allgemeinen basieren stark auf Vektoren/Matrizen und Matrixoperationen wie Multiplikation/Addition usw. Wenn es um Matrix-Operationen geht, überlegen Sie nicht lange, sondern entscheiden sich immer für GPUs. Matrix-Operationen sind Single Instruction Multiple Data-Operationen, bei denen die GPUs stark genutzt werden. Grundsätzlich ist es derselbe Vorgang (der normalerweise einfach ist), der unabhängig für große Datenmengen ausgeführt wird. Sie benötigen keine sehr fortgeschrittene GPU. Ich habe 320GTX auf meinem alten Macbook verwendet und es war gut genug (ich gehe davon aus, dass Sie Student sind und entweder ein Proof-of-Concept oder akademische Projekte und kein Projekt auf Branchenebene implementieren).

3
mkmostafa

Maschinelle Lernoperationen werden normalerweise auf Matrix-Matrix-Multiplikationen reduziert. Derzeit sind Matrix-Matrix-Multiplikationen auf GPUs sehr effizient als CPUs, da GPUs viel mehr Threads als CPUs aufweisen. Außerdem unterstützt NVIDIA das CUDA-Toolkit schon seit einigen Jahren. Die Plattform ist jetzt ausgereift. Viele DL - Bibliotheken (z. B. Caffe, Theano, Torch, TensorFlow) nutzen die CUDA-Unterstützungen für BLAS-Bibliotheken (Basic Linear Algebra Subroutines) und DNN (Deep Neural Networks). Entwickler von Deep-Learning-Bibliotheken müssen sich nicht viel Zeit widmen, um Matrix-Matrix-Multiplikationen zu optimieren.

Es scheint außerdem, dass die Optimierung des CPU-Codes für die gleiche GPU-Ebene in bestimmten Operationen (Matrix-Matrix-Operationen) ziemlich schwierig ist (was wir ninja optimizations) nennen. Weitere Informationen finden Sie in den Diskussionen unter https://github.com/BVLC/caffe/pull/439 .

0
beahacker