Wie wurde Nvidia-CEO Jensen Huang zu einer der mächtigsten Persönlichkeiten in der Technologie- und KI-Branche? Stephen Witt behauptet in seinem Buch "The Thinking Machine", dass dies auf eine Idee zurückzuführen ist: die Parallelverarbeitung. Dieser Ansatz ermöglicht es Computern, komplexe Probleme in kleinere Teile zu zerlegen und alle diese Teile gleichzeitig zu lösen, im Gegensatz zu herkömmlichen Chips, die jeden Teil nacheinander abarbeiten.
Mit der Entwicklung der Technologie, die die KI-Revolution vorantreiben sollte, leistete Nvidia Pionierarbeit für einen Ansatz, der die Art und Weise, wie Computer Informationen verarbeiten, in Frage stellen sollte. Aber dieser Durchbruch begann mit einem viel praktischeren Problem: Videospiele besser aussehen zu lassen. Lesen Sie weiter, um mehr darüber zu erfahren, was Parallelverarbeitung ist und wie sie mit dem Ziel begann, realistische Grafiken für beliebte Videospiele zu erstellen.
Inhaltsübersicht
Was ist Parallelverarbeitung?
Was also ist Parallelverarbeitung? Um zu verstehen, wie sie funktioniert, muss man wissen, wo sie ihren Ursprung hat. Als Jensen Huang und seine Mitbegründer 1993 Nvidia gründeten, wollten sie spezielle Chips bauen, um die komplexen 3D-Grafiken zu rendern, die Spiele wie Quake und Half-Life erforderten. Um realistische visuelle Effekte zu erzeugen, mussten diese Grafikprozessoren (GPUs) die Farbe und Beleuchtung für Tausende von Pixeln gleichzeitig berechnen. Dies erforderte einen anderen Ansatz als bei herkömmlichen Chips, die sequentiell arbeiteten und eine Berechnung nach der anderen durchführten, wenn auch sehr schnell.
(Kurzer Hinweis: Die Nachfrage nach rechenintensiven Grafiken wurde durch den Wettbewerb um die Entwicklung immersiverer Videospiele angetrieben. Doom, in dem die Spieler auf dem Mars gegen Dämonen kämpften, nutzte clevere Tricks, um die Illusion von Tiefe zu erzeugen, während es auf flachen 2D-Karten lief. Quake bestand aus echten 3D-Polygonen und ermöglichte es den Spielern, durch mittelalterliche Verliese zu navigieren, die sie von allen Seiten betrachten konnten. Half-Lifein dem die Spieler einen Wissenschaftler in einer von Außerirdischen überrannten Forschungseinrichtung spielten, verschärfte das Wettrüsten, indem es eine Umgebungserzählung hinzufügte, die noch mehr Rechenleistung erforderte. Dieser Wettbewerb war wegweisend, aber es brauchte noch immer Ingenieure wie Huang, die in der Parallelverarbeitung die Lösung sahen und herausfanden, wie man sie in großem Maßstab einsetzen konnte).
Witt erklärt, dass die meisten Computer auf zentrale Recheneinheiten (CPUs) angewiesen waren, die Aufgaben Schritt für Schritt abarbeiteten. Die Grafikprozessoren von Nvidia hingegen zerlegten komplexe visuelle Probleme in Tausende kleinerer Teile und lösten sie alle auf einmal. Dieser Ansatz, der als Parallelverarbeitung bezeichnet wird, war in der Theorie nicht neu - Wissenschaftler hatten schon seit Jahren damit experimentiert - aber es war schwierig, ihn zuverlässig zu implementieren. Die meisten Versuche mit paralleler Datenverarbeitung waren kommerziell gescheitert, aber Nvidia hatte Erfolg, weil es sich auf eine klare, unmittelbare Anwendung konzentrieren konnte: das Rendern von Videospielgrafiken in Echtzeit.
(Kurzer Hinweis: Die parallele Verarbeitung ahmt die Art und Weise nach, wie das menschliche Gehirn rechnet, indem es Netze von Milliarden von Neuronen verwendet, die gleichzeitig arbeiten. Jahrzehntelang hatten Forscher versucht, dies in Computern nachzubilden . In den 1980er Jahren zeigten sie, dass Transistorschaltungen die Funktionsweise der neuronalen Membranen im Gehirn nachahmen können. Etwa zur gleichen Zeit entwickelten David Rumelhart, James McClelland und Geoffrey Hinton "parallele verteilte Verarbeitung", Computermodelle, die zeigen, wie das Gehirn Informationen mit vielen einfachen Einheiten verarbeitet, die zusammenarbeiten. Diese vom Gehirn inspirierten Ansätze hatten jedoch Schwierigkeiten, weil die Computer noch nicht leistungsfähig genug waren, um die erforderlichen massiven parallelen Berechnungen durchzuführen - genau das Problem, das Nvidia lösen würde).
Wie die Forscher das breitere Potenzial entdeckten
Das Potenzial der Parallelverarbeitung wurde deutlich, als Forscher entdeckten, dass die Spielechips von Nvidia für ganz andere Rechenaufgaben verwendet werden können. Im Jahr 2000 wollte Ian Buck, ein Doktorand in Stanford, ein fesselndes Spielerlebnis schaffen. Er schaltete 32 Nvidia-Chips zusammen, um ein einziges Spiel anzuzeigen, Quake IIIüber acht große Projektoren darzustellen und so eine ultrahochauflösende Spielewand zu schaffen, die einen ganzen Raum ausfüllte. Witt erklärt, dass die Berechnungen, die erforderlich sind, um nur 30 Frames des Spiels zu rendern, einen Menschen, der mit Bleistift und Papier arbeitet, etwa 16.000 Jahre in Anspruch nehmen würden. Bucks Reihe von Nvidia-Karten führte diese Berechnungen jedoch in jeder einzelnen Sekunde durch. Für etwa 20.000 Dollar, einen Bruchteil dessen, was herkömmliche Supercomputer kosten, hatte er eine Maschine mit außergewöhnlicher Rechenleistung gebaut.
Buck und andere Forscher begannen, Nvidias Spielechips zu "hacken", um sie dazu zu bringen, wissenschaftliche Probleme zu lösen, anstatt Explosionen und Verfolgungsjagden für Videospiele darzustellen. Sie nutzten die vorhandenen Programmiertools der Karten, um ihre parallele Verarbeitungsleistung auf Aufgaben wie Finanzmodellierung, Wettersimulation und medizinische Bildgebung umzuleiten. Schon bald kauften Akademiker die GeForce-Karten von Nvidia in großen Mengen und wandelten sie in erschwingliche wissenschaftliche Instrumente um. Es entstand ein neuer Markt, der Huang nicht entgangen war: Witt merkt an, dass Huang um 2004 begann, Forscher wie Buck für Nvidia zu rekrutieren.
| Die Hürde der GPU-Programmierung überwinden In Stanford arbeitete Buck an einem grundlegenden Problem: GPUs könnten theoretisch wissenschaftliche Berechnungen durchführen, aber die Forscher mussten die Chips dazu bringen, mathematische Probleme zu lösen, indem sie Berechnungen als Grafikoperationen tarnten - zum Beispiel indem sie wissenschaftliche Daten als Texturen und mathematische Operationen als Pixelschattierungen darstellten. Buck entwickelte Brook, eine Sprache, die es Ingenieuren ermöglichte, Anweisungen für die Verarbeitung großer Datenmengen über viele Prozessoren hinweg zu schreiben, anstatt in Dreiecken und Pixeln denken zu müssen. Vor Brook erforderte die Verwendung von Grafikprozessoren für wissenschaftliche Arbeiten die Beherrschung komplexer Grafikprogrammierung: Man musste lernen, die Sprache des Grafikprozessors zu sprechen, anstatt mathematische Probleme direkt auszudrücken. Brook stellte eine neue Software-Ebene dar, die vertraute Programmierkonzepte in Grafikoperationen übersetzte, die von GPUs verstanden wurden, so dass sich die Wissenschaftler auf ihre Berechnungsprobleme konzentrieren konnten. Dies ist ein grundlegendes Prinzip der Informatik: Programmiersprachen existieren auf verschiedenen Abstraktionsebenen, wobei höhere Sprachen komplexe technische Details verbergen, um die Programmierung zu erleichtern. Während andere nur Spielchips sahen, die schwer zu programmieren waren, fügte Buck eine Abstraktionsebene speziell für die parallele Datenverarbeitung hinzu und stellte sich eine neue Kategorie erschwinglicher Supercomputer vor, bei der die massive parallele Verarbeitungsleistung durch die Einführung intuitiverer Software zur Nutzung dieser Leistung demokratisiert werden würde. |
Warum Jensen Huang alles auf paralleles Rechnen setzt
Die Entscheidung von Nvidia, auf paralleles Rechnen zu setzen, beruhte nicht nur auf kreativen Einsatzmöglichkeiten für Spielechips: Sie wurde von einer Einsicht in die Zukunft der Computertechnik angetrieben. Huang erkannte, dass die bisherigen Ansätze, Computer schneller zu machen, an ihre physikalischen Grenzen stießen. Jahrzehntelang hatten die Chip-Hersteller die Transistoren in den Mikrochips verkleinert, aber sie wurden so klein, dass sie bald Strom verlieren und die Computer verlangsamen würden. Wenn die Computer weiter auf dem Vormarsch sein sollten, musste sich die grundlegende Herangehensweise an die Datenverarbeitung ändern. Während Konkurrenten wie Intel sich weiterhin darauf konzentrierten, traditionelle Prozessoren schneller zu machen, sah Huang in der Parallelverarbeitung den Weg in die Zukunft.
Die Hardware, mit der die Parallelverarbeitung in großem Maßstab funktioniert, war nur die halbe Lösung. Witt erklärt, dass die Parallelverarbeitung unglaublich schwierig zu programmieren war. Das Schreiben von Software für Tausende von gleichzeitigen Prozessen erforderte eine völlig andere Denkweise als die herkömmliche sequenzielle Programmierung, und die meisten Entwickler empfanden dies als so schwierig, dass sie die parallele Datenverarbeitung gänzlich vermieden. Nvidia änderte dies mit CUDA (Compute Unified Device Architecture), einer Softwareplattform, die das Unternehmen 2006 auf den Markt brachte, um Entwicklern die Möglichkeit zu geben, mit vertrauten Tools wie der Programmiersprache C auf die parallele Verarbeitungsleistung von Grafikprozessoren zuzugreifen.
| Wenn die Hardware an physikalische Grenzen stößt, eröffnet die Software neue Möglichkeiten Es gibt zwei Hebel, an denen man drehen kann, um Computer anspruchsvoller zu machen: Hardware und Software. Das Mooresche Gesetz, das besagt, dass sich die Transistordichte alle zwei Jahre verdoppelt, beschreibt den stetigen Fortschritt bei der Hardware seit den 1960er Jahren, als die Komponenten immer kleiner und schneller wurden. Um 2005 erkannten Experten , dass dieser Ansatz an physikalische Grenzen stößt, da die Transistoren so winzig wurden, dass sie bald nicht mehr zuverlässig funktionieren würden. Einige Forscher erforschen Ideen, die das herkömmliche Silizium ganz verlassen, wie z. B. chemische Reaktionen, die Informationen durch oszillierende Wellenmuster verarbeiten, biologische Systeme wie Schleimpilze, die sich bei der Lösung von Problemen auszeichnen, und mikrofluidische Systeme, die Flüssigkeitströpfchen zur Durchführung von Berechnungen verwenden. Huang erkannte jedoch, dass Software eine alternative Lösung bietet. Anstatt auf die Entwicklung neuer Hardwaretypen zu warten, entwickelte Nvidia Software, die neue Fähigkeiten aus bestehenden Siliziumchips freisetzen konnte. Während GPUs und CPUs im Wesentlichen aus den gleichen Materialien bestehen, ist es die Software, die bestimmt, wie diese Komponenten zusammenarbeiten. CUDA ermöglichte es den Grafikprozessoren, Tausende von gleichzeitigen Berechnungen durchzuführen, die CPUs einfach nicht bewältigen können. Dieser Software-first-Ansatz hat gezeigt, dass Software-Innovationen ebenso revolutionär sein können wie Hardware-Durchbrüche in der traditionellen Datenverarbeitung. |
Huangs Überzeugung, dass die parallele Verarbeitung der Weg in die Zukunft ist, veranlasste ihn zu umfangreichen Investitionen in CUDA. Er verfolgte einen, wie er es nannte, "Null-Milliarden-Dollar-Markt", indem er Technologien für Kunden entwickelte, die noch nicht existierten, in der Hoffnung, dass die Weiterentwicklung der Parallelverarbeitung (und ihre einfachere Nutzung) eine massive Nachfrage schaffen würde. Witt berichtet, dass Huang wusste, dass Konkurrenten die Hardware von Nvidia irgendwann kopieren würden, aber auf der Softwareseite würden sie bei Null anfangen müssen. Nvidia verbrachte also Jahre damit, Tools, Bibliotheken und Dokumentationen zu entwickeln, die seine Chips benutzerfreundlich machten.
Durch umfangreiche Investitionen in die parallele Recheninfrastruktur und den Aufbau eines umfassenden Software-Ökosystems hatte Nvidia versehentlich die perfekte Plattform für die KI-Revolution geschaffen, die bereits in den Startlöchern stand. Die Grundlage war nun geschaffen, damit Nvidia zum unverzichtbaren Infrastrukturanbieter für KI werden konnte - aber nur, weil das Unternehmen mehr als ein Jahrzehnt damit verbracht hatte, Fähigkeiten zu entwickeln, die zu diesem Zeitpunkt kommerziell wertlos erschienen.
(Anmerkung in Kurzform: Nachdem Witt sein Buch fertiggestellt hatte, behauptete das chinesische Unternehmen DeepSeek, Abkürzungen zu fortgeschrittener KI gefunden zu haben, doch die darauf folgende Kontroverse zeigte, warum sich Huangs CUDA-Strategie als so langlebig erwiesen hat. Während CUDA auf einer hohen Abstraktionsebene arbeitet, so dass die Entwickler die GPU-Hardware nicht verstehen müssen, erfordert die Plattform von DeepSeek eine Programmierung auf einer viel niedrigeren Ebene. Die Entwickler müssen die Speicherzuweisung, die Thread-Planung und die Cache-Optimierung steuern, Aufgaben, die CUDA automatisch, aber weniger optimal erledigt. DeepSeek behauptete auch, seine KI-Modelle kostengünstig trainiert zu haben. OpenAI behauptete jedoch , DeepSeek habe "Destillation" verwendet, d. h. von OpenAIs Modellen gelernt, anstatt bei Null anzufangen, was darauf hindeutet, dass es möglicherweise keine Abkürzungen gibt).
Erfahren Sie mehr über Parallelverarbeitung
Zum besseren Verständnis der parallelen Verarbeitung in ihrem breiteren Kontext werfen Sie einen Blick auf den Leitfaden von Shortform zu dem Buch Die denkende Maschine von Stephen Witt.