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

8

Ich bin ein Student in KI, der in diesem Jahr viel mit pylearn und Theano arbeiten wird (ich könnte auch Fackel und Caffe ausprobieren), um neurale Netze zu implementieren, und ich bin dabei, mir einen Laptop zu kaufen. Ich würde gerne Ihre Hilfe aufgrund Ihrer Erfahrung für die Angelegenheit haben.

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

Was wird am besten für Bibliotheken wie theano, fackel, caffe unterstützt: ATI oder NVIDIA ? 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 als diese (billigen) Karten zu kaufen?

Danke für Ihre Zeit,

    
Sam 06.09.2015, 18:16
quelle

3 Antworten

15

Nach dem Lesen Ihrer Antworten und einiger Blogposts lautet meine Schlussfolgerung: Versuchen Sie nicht, einen Laptop zu Ihrem Hauptarbeitsplatz für tiefes Lernen zu machen! Es ist einfach zu teuer : Sie geben einfach tausende von Euros für eine Laptop-Konfiguration aus, die Hunderte für einen Desktop kosten könnte. Und das weniger teuer ist es nicht wert.

Ich denke, ich kaufe einen 13-Zoll-Laptop und fange an, einen starken Desktop zu bauen, dann würde ich einen ssh-Zugang dazu machen.

Diese beiden Links eignen sich hervorragend, um ein gutes Verständnis für die GPU-Wahl zu haben.

Ссылка

Ссылка

Danke euch allen!

    
Sam 06.09.2015, 20:52
quelle
3

Wie für Ihre erste Frage, ich weiß nicht über diese Bibliotheken für die Implementierung von NN. Aber wenn Sie etwas wie octave / Matlab verwenden, haben beide Bibliotheken für NN, die CUDA für das Training von NNs verwenden. GPU vs. CPU .... Die Implementierungen von NN und maschinelles Lernen im Allgemeinen basieren stark auf Vektoren / Matrizen und Matrixoperationen wie Multiplikation / Addition ... usw. Wenn es um Matrix-Operationen geht, müssen Sie nicht lange überlegen: Sie entscheiden sich immer für Grafikprozessoren. Matrixoperation sind Einzelbefehl-Mehrfachdatenoperationen, die stark von den GPUs Gebrauch machen. Im Grunde ist es die gleiche Operation (die normalerweise eine einfache ist), die auf großen Datenmengen unabhängig ausgeführt wird. Sie benötigen keine sehr fortgeschrittene GPU. Ich benutzte 320GTX auf meinem alten Macbook und es war gut genug (ich gehe davon aus, dass Sie ein Student sind und entweder ein Proof of Concept oder akademische Projekte implementieren und kein industrielles Projekt).

    
mkmostafa 06.09.2015 18:32
quelle
0

Maschinenlernoperationen werden normalerweise auf Matrix-Matrix-Multiplikationen reduziert. Momentan sind Matrix-Matrix-Multiplikationen auf GPUs sehr effizient als CPUs, da GPUs viel mehr Threads als CPUs haben. Darüber hinaus unterstützt NVIDIA seit vielen Jahren CUDA-Toolkits. Die Plattform ist jetzt gereift. Viele DL-Bibliotheken (z. B. Caffe, Theano, Torch, TensorFlow) nutzen die CUDA-Unterstützungen für BLAS-Bibliotheken (grundlegende lineare Algebra-Subroutinen) und DNN-Bibliotheken (tiefe neurale Netzwerke). Entwickler von Deep-Learning-Bibliotheken müssen keine wesentlichen Zeiten für die Optimierung von Matrix-Matrix-Multiplikationen aufwenden.

Außerdem scheint es, dass das Optimieren von CPUs für dieselbe Ebene von GPUs in bestimmten Operationen (Matrix-Matrix-Operationen) ziemlich schwierig ist (was wir ninja Optimierungen genannt haben). Um besser zu verstehen, was andere erlebt haben, lesen Sie bitte die Diskussionen auf Ссылка .

    
beahacker 20.04.2016 07:40
quelle