Irgendwo gibt es immer einen Flaschenhals
GPUs sind sehr leistungsstark und lassen sich gut für Anwendungen einsetzen, die über den angedachten Aufgabenbereich (General Purpose Computation on Graphics Processing Unit) hinausgehen. Dennoch wurden sie hauptsächlich für die Berechnung von Grafiken designt und eignen sich deswegen nicht perfekt für LLMs.
Einen anderen Weg geht Google mit den TPUs (Tensor Processing Unit). Diese wurden explizit für die Beschleunigung von maschinellem Lernen entwickelt, ebenso wie Neural Processing Units (NPUs).
"Wenn mehrere Komponenten miteinander kommunizieren, gibt es immer irgendwo einen Flaschenhals, den man umgehen möchte" , erklärt Soliman. Bei der Frage, wie sich Speicher effizienter verwenden lassen, konzentriert sich Soliman daher auf die Modifizierung eines fertigen Modells, damit es auf einer spezifischen Hardware effizienter läuft (Hardware-Aware Optimization).
Auslastung der verfügbaren Hardware maximieren
"Beim Training eines Sprachmodells haben die Ingenieure oft keine Kenntnis über die Hardware, auf der das Modell später zum Einsatz kommen wird" , so Soliman. Es wird daher versucht, die Auslastung der verfügbaren Hardware zu maximieren, indem Methoden wie Sparsity angewendet werden, bei denen, vereinfacht ausgedrückt, alle Operanden im Speicher mit Null einfach weggelassen werden.
Auch mit Compute-in-Memory (CIM) lassen sich Rechenleistung und Energie einsparen. Dabei werden Operationen direkt im Speicher ausgeführt, statt die Daten zuvor in das Register des Prozessors zu laden. Beim Approximate Computing werden hingegen Ungenauigkeiten in Kauf genommen, um Berechnungen zu vereinfachen.
Speicherchips arbeiten am Ende analog
"Ein einfaches Beispiel aus der künstlichen Intelligenz ist die Multiplikation" , sagt Soliman. In KI-Systemen würden viele Multiplikationen ausgeführt, die sich im Speicher grundsätzlich auf zwei Arten umsetzen ließen. "Die erste Möglichkeit ist einfach: 0 mal etwas ist 0, und 1 mal etwas enthält den Wert des etwas. Das bedeutet, ich kann direkt im Speicher prüfen, ob mein erster Operand den Wert 1 hat und ob sich der zweite Operand im Speicher befindet. Wenn der erste Operand 1 ist, lese ich den Wert aus dem Speicher aus. Ist er 0, wird nichts gelesen. Das ist ein einfaches Beispiel für eine speicherbasierte Berechnung."
Die zweite Möglichkeit nutzt die Tatsache, dass Speicherchips am Ende immer analog arbeiten. Soliman: "Die basieren auf Strom, Spannung und Widerstand. Aus dem Physikunterricht kennt man das Ohmsche Gesetz. Es besagt, dass Strom gleich der Spannung multipliziert mit der Leitfähigkeit ist. Wenn ich also die beiden Operanden als Spannung und Leitfähigkeit darstelle, kann ich die Multiplikation direkt analog durchführen."
Multiplikation nur ein Teil der gesamten Rechnung
"In einigen heutigen Speichertechnologien speichern wir Werte oder Zustände ohnehin als Leitfähigkeit oder Widerstand" , sagt Soliman. Das bedeute, man könne den zweiten Operanden als Spannung darstellen und erhalte das Ergebnis einer Multiplikation direkt aus dem Speicher, ohne dass zusätzliche Rechenschritte auf einer CPU, GPU oder anderen Recheneinheiten nötig seien.
Natürlich sei die Multiplikation nur ein Teil der gesamten Berechnung und es gebe immer weitere Schritte, erklärt Soliman. "Aber sie ist ein wichtiger erster Schritt, und genau hier gibt es großes Innovationspotenzial" . Nicht mehr auf die Zustände 0 und 1 beschränkt zu sein, erlaubt es laut Soliman, eine bis zu fünffache Leistungsverbesserung auf derselben Hardware zu erreichen.
Dieser Text erscheint bei Golem Plus, weil...
...er ein zentrales Problem bei der Entwicklung von Software darlegt und Einblick in die aktuelle Forschung bietet. Es wird aufgezeigt, dass die physische Realität von Hardware den Fortschritten bei der Softwareentwicklung harte Grenzen setzt.
- Anzeige Hier geht es zu Künstliche Intelligenz: Wissensverarbeitung bei Amazon Wenn Sie auf diesen Link klicken und darüber einkaufen, erhält Golem eine kleine Provision. Dies ändert nichts am Preis der Artikel.



