„AI- Adequacy“ – Effizienter Einsatz von LLMs durch Quantizing

Die Einführung großer LLMs wie GPT-3 und ChatGPT 4.0 war ein Durchbruch für den praktischen  Einsatz von künstlicher Intelligenz. Ihre Fähigkeiten, natürliche Sprache zu verstehen und zu generieren, gehen weit über ihre ursprüngliche Programmierung hinaus. Die Kehrseite ist, dass diese Modelle eine riesige Anzahl von Parametern erfordern – ChatGPT 4.0 hat ca. 1,7 Billionen Parameter!

Ein neuronales Netzwerk besteht aus Schichten, die einfache Recheneinheiten namens Neuronen enthalten. Jedes Neuron führt eine Berechnung an seinem Eingang durch und gibt das Ergebnis an die nächste Schicht weiter. Hierbei haben Neuronen numerische Werte, die als Gewichte und zugehörige Bias-Werte bezeichnet werden. Man kann sich Gewichte als die Stärke der Verbindungen zwischen Neuronen vorstellen. Ein höheres Gewicht bedeutet eine stärkere Verbindung. Bias-Werte sind wie ein Offset, der zur Berechnung hinzugefügt wird. Gemeinsam sind sie die Parameter des neuronalen Netzwerks.

Die gigantischen Parametergrößen von LLMs erfordern enorme Rechen- und Speicherressourcen. Nur eine Handvoll großer Technologieunternehmen verfügt über die Rechenressourcen, um ChatGPT 4.0 einzusetzen. Während LLMs zweifellos eine neue Ära in der Sprach-KI eröffnet haben, setzt ihre immense Größe die meisten Unternehmen der Gnade weniger großer Technologiekonzerne aus, die Wissen in beispiellosem Maßstab zentralisieren.

Eine Skalierung der Rechenleistung ist nicht realisierbar; daher ist der einzige Weg, sich von der Abhängigkeit von diesen Unternehmen zu befreien, die Reduzierung der Ressourcenanforderungen großer LLMs. Eine Möglichkeit, dies zu erreichen, ist Quantizing.

Quantizing bezieht sich auf Techniken zur Umwandlung von Parametern von hochpräzisen Gleitkommazahlen (typischerweise 32-Bit) in Niedrigpräzisionsganzzahlen, oft 8-Bit oder noch weniger. Die Umwandlung reduziert erheblich den Berechnungs- und Speicherbedarf des Modells. Besonders effektiv beim Verkleinern ist das nicht-uniforme Quantizing, bei der jede Schicht oder jeder Parameter auf der Grundlage ihrer Empfindlichkeit in die optimale Niedrigpräzision „quantized“ wird.

Während Quantizing das Ressourcenproblem löst, würde die Umwandlung eines bereits trainierten Modells die Genauigkeit verringern. Das Training großer Modelle von Grund auf ist jedoch zu teuer, um es wiederholt durchzuführen.

Sorgfältig gestaltetes Feintuning

Eine vernünftige Lösung besteht darin, Techniken wie LoRA (Low Rank Adaptation) und QLoRA (Quantized Low Rank Adaptation) zu verwenden, um ein vortrainiertes Modell wie Llama v2 70b in ein „quantized“ Modell ohne Qualitätsverlust zu verfeinern. Es funktioniert, indem während des Feintunings ein Regularisierungsterm hinzugefügt wird, der die Parameter dazu ermutigt, Werte zu haben, die für ein Niedrigbit-Quantizing geeignet sind. Es pönalisiert insbesondere Parameter mit einem großen Unterschied zwischen ihren realen und den „quantized“ Werten. Diese Pönalisierung ist in Schichten stärker, bei denen das Quantizing zu einem größeren Leistungsabfall führt. Dies zwingt das Modell während des Feintunings dazu, seine Parameter in Richtung der Werte anzupassen, die mit geringer Präzision „quantized“ werden können, ohne viele Fehler zu verursachen. Der Regularisierungshyperparameter steuert die Stärke dieser Quantizing-freundlichen Anpassung.

QLoRA ist eine weitere Methode zur Feinanpassung eines vortrainierten Modells in eine „quantized“ Version ohne signifikanten Präzisionsverlust. Es simuliert die Auswirkungen des Quantizing direkt während des Feintunings, um das Modell robust zu machen. Beispielsweise „quantized“ und „de-quantized“ es die Modellparameter während des Trainings, um das Quantizing zur Inferenzzeit zu imitieren. Dies setzt das Modell den nichtlinearen Effekten des Quantizing wie Sättigung aus. QLoRA ermöglicht auch unterschiedliche Quantizing-Policies pro Schicht basierend auf ihrer Empfindlichkeit. Schichten mit geringer Empfindlichkeit können aggressiver quantized werden. Diese Quantizing-Simulation zwingt das Modell dazu, sich vom Quantizing nicht beeinflussen zu lassen, was den Genauigkeitsverlust bei der Bereitstellung in der quantized Form reduziert. Daher integriert QLoRA die Quantizing-Robustheit direkt während des Feintunings, anstatt sich nur auf die Regularisierung wie LoRA zu verlassen. Dies führt zu einem genauem quantized Modell ohne teures, erneutes Training.

Mit optimierten Trainingsdaten und einem etwas eingeschränkten Use Case wird das Feintuning mit Quantizing-Bewusstsein sogar bessere Ergebnisse als das ursprüngliche Modell liefern und dabei nur einen Bruchteil der Ressourcen verwenden!

Zusammenfassend sind Techniken wie Quantizing-bewusstes Feintuning mit LoRA und QLoRA eine Lösung, um die Modellgenauigkeit erheblich zu verbessern, während die Ressourcenanforderungen drastisch reduziert werden. Die zentralen Fragen, die noch offen sind, lauten: 1) wie man die optimalen Trainingsdaten und den besten Feintuning-Ansatz zur Maximierung der Präzision für einen bestimmten Use Case bestimmt, und 2) wie man die daraus resultierenden „finetuned“ Modelle, die für unterschiedliche Aufgaben optimiert sind, operationalisiert und verwaltet. Quantizing-bewusstes Feintuning ebnet den Weg für maßgeschneiderte, effiziente Modelle, die die Stärken großer LLMs ohne den massiven Ressourcenbedarf nutzen.