Das Gerüst der Künstlichen Intelligenz von Facebook und Google sieht anders aus als man sich vorstellt. Die Frage ist, warum sie nicht aus typischen Computerprozessoren aufgebaut sind. Sowohl Google als auch Facebook haben die Designs der Computerhardware, die die Künstliche Intelligenz (KI) und Logik in ihren Produkten mit Energie versorgt, in Form von Open Source öffentlich zur Verfügung gestellt. Diese intelligenten Algorithmen treiben sowohl Googles Such- und Empfehlungsfunktionen als auch den digitalen Assistenten M an, der für den Facebook-Messenger verwendet wird – und natürlich wird auch die gezielte Werbung beider Unternehmen davon gespeist.
Facebooks maßgeschneiderte Computerserver, auch bekannt unter dem Namen Big Sur, sind voller Grafikprozessoren (GPU) – Grafikkarten, die in PCs verwendet werden, um die neuesten Videospiele mit 3D-Grafik spielen zu können. Ähnlich sieht es auch bei der Hardware von Googles TensorFlow aus. Aus welchem Grund also sind die Künstlichen Intelligenzen aus Grafikprozessoren aufgebaut und nicht aus typischen Computerprozessoren?
Ursprünglich wurden GPUs als Coprozessor entwickelt, um den Hauptprozessor (CPU) des Computers dabei zu unterstützen, anspruchsvolle Grafikaufgaben zu bewältigen. Szenen in 3D-Grafik zu rendern ist eine verfängliche, parallel ablaufende Aufgabe; ohne eine Verbindung oder Abhängigkeit eines Bildbereichs vom nächsten, kann der Vorgang leicht in einzelne Aufgaben aufgeteilt und parallel und konkurrierend bearbeitet werden – also zeitgleich, was es möglich macht, die Rechenleistung deutlich schneller zu vollführen.
Diese Gleichzeitigkeit hat GPU-Hersteller dazu verleitet, ihre Hardware zu gänzlich anderen Zwecken einzusetzen. Aufgrund ihrer Optimierung für maximalen Datendurchsatz ausschließlich bei stark parallelen Aufgaben, können GPUs zu Spezialprozessoren umgewandelt werden, die jeden parallelisierten Programmcode verarbeiten können, unabhängig davon, ob er graphischen Zwecken dient. CPUs hingegen sind darauf ausgelegt, einzelne, nicht parallel laufende (“single-threaded”) Aufgaben schnell zu erledigen, da die hauptsächlich genutzten Softwares (sprich, Programme etc.) nach wie vor mit nichtparallelen Aufgaben arbeitet.
Im Gegensatz zu CPUs mit einem, zwei, vier und acht Prozesskernen haben moderne CPUs jetzt Tausende: Der NVIDIA Tesla M40, den Facebook für seine Server nutzt, hat beispielsweise 3.072 sogenannte CUDA-Prozessoren. Und diese Parallelität hat ihren Preis: Es muss eine gesonderte Software geschrieben werden, um die Technologie ausnutzen zu können, und GPUs sind nicht besonders einfach zu programmieren.
Warum sind GPU wichtig für KI-Anwendungen?
Einer der Gründe, aus denen sich GPUs als die Supercomputer-Hardware der Wahl herauskristallisieren, ist die Tatsache, dass die anspruchsvolleren Computeraufgaben meist gut für eine parallele Bearbeitung geeignet sind.
Ein gutes Beispiel dafür ist das Tiefenlernen (deep learning), eine der Spitzenentwicklungen im Bereich der Künstlichen Intelligenz. Das Konzept des neuralen Netzwerks, das diese leistungsfähige Herangehensweise untermauert (man stelle es sich wie großmaschig miteinander verbundene Knoten vor), wurde in den Neunzigern als Fehlschlag abgetan. Jetzt aber, da uns die Technologie den Bau von deutlich größeren und tiefgründigeren neuralen Netzwerken erlaubt, erzielt dieser Ansatz dramatisch verbesserte Ergebnisse. Diese neuralen Netzwerke treiben die Spracherkennungs- und Übersetzungsfunktionen wie auch die semantische Suche an, die Google, Facebook und viele Apps heutzutage nutzen.
Ein neurales Netzwerk darauf zu trainieren, dass es “lernt”, funktioniert auf ähnliche Weise wie das Erstellen und Verstärken von Verbindungen zwischen Neuronen im Gehirn. Aus Computersicht kann dieser Lernprozess gleichgeschaltet und entsprechend mit der Nutzung von GPU-Hardware beschleunigt werden. Die Maschine braucht Beispiele, von denen das System lernen kann, was ebenfalls zu einer simplen Beschleunigung des Prozesses durch die Nutzung von paralleler Bearbeitung führt. Durch Open-Source-Hilfsmittel, wie beispielsweise die Torch Codebibliothek und GPU-basierte Server, kann das Training der neuralen Netzwerke in Bruchteilen der Zeit durchgeführt werden, die es auf CPU-basierten Systemen benötigen würde.
Sind GPUs die Zukunft der Rechner?
Über Jahrzehnte haben wir uns an die Variante des Mooreschen Gesetzes gewöhnt, die besagt, dass die Rechenleistung von Computern sich circa alle zwei Jahre verdoppeln wird. Das wurde hauptsächlich durch eine Verkleinerung erreicht, die wiederum zu einer geringeren Wärmeentwicklung führt, welche den CPUs erlaubt, schneller zu laufen. Nun stößt man allerdings an die Grenzen dieses praktischen Ansatzes, da die Halbleiter zwischenzeitlich auf ein Niveau nahe der theoretischen, elementaren Grenzen des Siliciums miniaturisiert wurden. Der einzige glaubwürdige Weg zu höheren Geschwindigkeiten führt daher über eine größere Parallelisierung, was bereits eindrucksvoll von dem Aufstieg von Mehrkernprozessoren in den vergangenen zehn Jahren demonstriert wurde. Dennoch haben GPUs hier einen deutlichen Vorsprung.
Neben Künstliche Intelligenz gehören auch Simulationen von Flüssigkeiten und aerodynamischen Prozessen wie auch physikalische Antriebe und Gehirnsimulationen zu den GPU-Anwendungen, um nur ein paar Beispiele zu nennen. Manche der weltweit stärksten Computer, wie beispielsweise der Titan Supercomputer im Oak Ridge National Laboratory, der aktuell der weltweit zweitschnellste Supercomputer ist, sind auf der Basis von Nvidias GPU-Beschleunigern aufgebaut, während die Mitbewerber Intels parallele Coprozessoren Phi nutzen, der unter anderem den weltschnellsten Supercomputer Tianhe-2 antreibt. Jedoch sind nicht alle Schwierigkeiten so einfach nebeneinander zu stellen und das Programmieren gestaltet sich in diesem Bereich sehr schwierig und anspruchsvoll.
Möglicherweise liegt zumindest die Zukunft der Künstlichen Intelligenz in neuromorphen Computern, die sogar noch radikalere Änderungen darstellen. IBMs True Northchip ist dafür ein Beispiel, ein anderer wird aktuell von dem eine Milliarde Euro teuren Human Brain Project entwickelt. In diesem Modell werden neurale Netzwerke nicht von einem Netzwerk von vielen Prozessoren simuliert; stattdessen wird der Chip selbst zum neuralen Netzwerk: Die einzelnen Siliciumtransistoren auf dem Chip erzeugen Stromkreise, die mit Hilfe von elektrischen Signalen Daten verarbeiten und untereinander kommunizieren – ganz ähnlich wie Neuronen in biologischen Gehirnen.
Befürworter erhoffen sich von diesen Systemen, dass neurale Netzwerke endlich auf die Größe und Komplexität des menschlichen Gehirns ausgedehnt werden könnten; dies werde die Künstliche Intelligenz an den Punkt bringen, an dem sie mit der menschlichen Intelligenz konkurrieren könnte. Andere, vor allem Hirnforscher, sind hier zurückhaltender – sie sagen, es sei durchaus möglich, dass hinter dem menschlichen Gehirn mehr steckt als einfach nur eine besonders hohe Anzahl an auffällig dicht beeinanderliegenden Neuronen.
So oder so: Es ist wahrscheinlich, dass die Dinge, die wir in Zukunft über das Gehirn lernen werden, durch Supercomputer ans Licht gebracht werden, die darauf ausgelegt wurden, eben jenes Hirn zu imitieren.
Dieser Artikel erschien zuerst auf “The Conversation” unter CC BY-ND 4.0. Übersetzung mit freundlicher Genehmigung der Redaktion.
Teaser & Image “artificial neural network” (adapted) by Akritasa (CC BY-SA 4.0).
Artikel per E-Mail verschicken
Schlagwörter: computer, facebook, Gehirn, google, KI, Künstliche Intelligenz, Maschinenlernen, Menschen, technik
1 comment