Künstliche Intelligenz
GPUs könnten besser, nicht nur schneller, beim Training von Deep Neural Networks sein

Forscher aus Polen und Japan, die mit Sony zusammenarbeiten, haben Beweise gefunden, dass maschinelle Lernsysteme, die auf GPUs anstelle von CPUs trainiert werden, während des Trainingsprozesses weniger Fehler enthalten und bessere Ergebnisse liefern, was der gängigen Meinung widerspricht, dass GPUs solche Operationen einfach schneller und nicht besser ausführen.
Die Forschung, die unter dem Titel Impact of GPU Uncertainty on the Training of Predictive Deep Neural Networks durchgeführt wurde, stammt von der Fakultät für Psychologie und Kognitive Wissenschaften der Adam-Mickiewicz-Universität und zwei japanischen Universitäten, zusammen mit den SONY Computer Science Laboratories.
Die Studie legt nahe, dass ‘Unsicherheiten’, die tiefe neuronale Netze in verschiedenen Hardware- und Software-Konfigurationen zeigen, mehr teure (und immer knapper werdende) Grafikprozessoren bevorzugen und in Tests festgestellt wurde, dass ein tiefes neuronales Netz, das ausschließlich auf CPU trainiert wurde, höhere Fehlerraten über die gleiche Anzahl von Epochen (die Anzahl der Male, die das System die Trainingsdaten im Laufe einer Sitzung verarbeitet) produzierte.

In diesem ergänzenden Beispiel aus dem Paper sehen wir (untere beiden Reihen), ähnliche Ergebnisqualität, die aus einer Vielzahl von GPUs erhalten wird, und (erste Reihe), die unterlegenen Ergebnisse, die aus einer Reihe von ansonsten sehr leistungsfähigen CPUs erhalten werden. Quelle: https://arxiv.org/pdf/2109.01451.pdf
Merkwürdige Phänomene
Diese vorläufigen Ergebnisse gelten nicht einheitlich für alle beliebten maschinellen Lernalgorithmen, und im Falle von einfachen Autoencoder-Architekturen tritt das Phänomen nicht auf.
Trotzdem deutet die Arbeit auf eine mögliche ‘Fluchtgeschwindigkeit’ für die Effektivität des Trainings in komplexen neuronalen Netzen hin, wo die gleichen Operationen bei niedrigerer Geschwindigkeit und längeren Trainingszeiten nicht die gleiche Leistung wie mathematische Iterationsroutinen erzielen.
Die Forscher schlagen vor, dass diese Leistungsunterschiede spezifisch für bestimmte Arten von neuronalen Netzen sein könnten und dass die unbestimmten Aspekte der GPU-spezifischen Verarbeitung, die häufig als Hindernis angesehen werden, das letztendlich überwunden werden soll, nicht nur bemerkenswerte Vorteile bieten, sondern möglicherweise sogar absichtlich in spätere Systeme integriert werden könnten. Das Paper legt auch nahe, dass die Ergebnisse tiefere Einblicke in die computergestützte Verarbeitung des Gehirns bieten könnten.
Die Identifizierung der Besonderheiten, die die Effizienz und Qualität der Ergebnisse auf diese Weise auf GPUs erhöhen, birgt das Potenzial, tieferere Einblicke in ‘Black-Box’-AI-Architekturen zu gewinnen und sogar die Leistung von CPUs zu verbessern – obwohl derzeit die zugrunde liegenden Ursachen schwer zu fassen sind.
Autoencoder vs. PredNet
Bei der Untersuchung der Anomalien verwendeten die Forscher einen grundlegenden Autoencoder und auch das Predictive Neural Network PredNet der Harvard-Universität, eine Forschung aus dem Jahr 2016, die darauf abzielte, das Verhalten der menschlichen Großhirnrinde zu erforschen und nachzuahmen.
Beide Systeme sind tiefe neuronale Netze, die darauf ausgelegt sind, geeignete Bilder durch unüberwachtes Lernen (mit Daten, bei denen die Labels weggelassen wurden) zu synthetisieren, obwohl der Autoencoder linear mit einem Bild pro Batch umgeht, das dann als nächstes Bild in einer wiederkehrenden Pipeline produziert. Der Autoencoder wurde auf der MNIST-Handschriftdatenbank trainiert.

Der Autoencoder in den Tests der Forscher wurde auf der MNIST-Datenbank trainiert, die 60.000 Trainingsbilder mit 28×28 Pixeln, anti-aliased für Graustufen-Induktion, sowie 10.000 Testbilder umfasst.
Im Gegensatz dazu bewertet PredNet komplexe Video-Eingaben, und im Falle dieser Forschung wurde es auf dem FPSI-Datensatz trainiert, der umfangreiche Körper-getragene Video-Aufnahmen eines Tages in Disney World in Orlando, Florida (Disney war einer der Forschungspartner in dem 2012 veröffentlichten Paper), enthält.

Bildsequenzen aus FPSI, die erste-Person-Ansichten eines Tages in Disney World zeigen.
Die beiden Architekturen sind sehr unterschiedlich in Bezug auf die Komplexität. Der Autoencoder ist darauf ausgelegt, Bilder zu rekonstruieren, anstatt Zielwerte vorherzusagen. Im Gegensatz dazu verfügt PredNet über vier Schichten, von denen jede aus Repräsentationsneuronen mit konvolutionellem Langzeitgedächtnis (LSTM) besteht.
Die Schichten geben kontextuelle Vorhersagen aus, die dann mit einem Ziel verglichen werden, um einen Fehlerterm zu erzeugen, der sich durch das Netzwerk fortpflanzt. Beide Modelle nutzen unüberwachtes Lernen.

Die einfache, lineare Architektur des Autoencoders und das komplexere, labyrinthartige Netz von PredNet.
Beide Systeme wurden auf einer Reihe von Hardware- und Software-Konfigurationen getestet, einschließlich CPUs ohne GPUs (Intel i5-4590, i7-6800K, i5-7600K oder AMD Ryzen-5-3600) und CPUs mit GPUs (Intel i5-7600K + NVIDIA GTX-750Ti, i5-7600K + GTX-970, i7-6700K + GTX-1080, i7-7700K + GTX-1080Ti, i7-9700 + RTX-2080Ti, i5-7600K + RTX-2060 Super, AMD Ryzen-5-3600 + RTX-2070 Super oder i5-9400 + Titan-RTX).
Der interaktive Prozess-Viewer htop wurde verwendet, um sicherzustellen, dass alle Trainingsvorgänge entweder auf einem einzelnen Thread (auf einem Intel i7-6800K), auf vier Threads (auf einem Intel i5-4590 und i5-7600K) oder sechs Threads (auf einem AMD Ryzen-5-3600) durchgeführt wurden.
Sattelpunkte
Beim Autoencoder war der mittlere Unterschied über alle Konfigurationen hinweg, mit und ohne cuDNN, nicht signifikant. Bei PredNet waren die Ergebnisse jedoch verblüffend, mit bemerkenswerten Unterschieden in der Fehlervorhersage und -qualität zwischen CPU- und GPU-Training.

Die durchschnittlichen Fehlervorhersagen für PredNet-Training über vier CPUs und acht GPUs, wobei das Netz auf 5000 Video-Frames in 250 Batches trainiert wurde, wobei der durchschnittliche Fehlervorhersagewert für die letzten 1000 Frames (50 Batches) dargestellt ist. cuDNN war deaktiviert.
Die Forscher kommen zu dem Schluss, dass ‘Obwohl der Mechanismus unklar ist, scheint die GPU-Hardware die Fähigkeit zu haben, das Training von DNNs zu verbessern.’
Die Ergebnisse deuten darauf hin, dass GPUs möglicherweise besser darin sind, Sattelpunkte zu vermeiden – die Bereiche in einer Gradientenabstiegskurve, die den unteren Teil einer Rampe beschreiben.

Der tiefste Punkt der Rampen in einer Gradientenabstiegskurve ist der ‘Sattelpunkt’, benannt aus offensichtlichen Gründen. Quelle: https://www.pinterest.com.au/pin/436849232581124086/
Sattelpunkte, obwohl ein Hindernis, wurden in der jüngsten Diskussion über die Optimierung des stochastischen Gradientenabstiegs (SGD) weitgehend abgetan, aber das neue Paper legt nahe, dass GPUs möglicherweise einzigartig dafür ausgestattet sind, sie zu vermeiden, und dass der Einfluss von Sattelpunkten möglicherweise überdacht werden sollte.












