Categories: AI

by Sally Bo Hatter

Share

by Sally Bo Hatter

Das Trainieren großer Sprachmodelle (Large Langugage Models = LLMs) erfordert erhebliche Mengen an Speicher und Rechenleistung. Um zum Beispiel ein LLaMA 7B-Modell von Grund auf zu trainieren, benötigt eine einzige Batchgröße mindestens 58 GB Speicher. Eine Methode, die diese Speicherprobleme entschärfen kann, ist die Low-rank Adaptation (LoRA). Bei diesem Ansatz werden jeder Schicht trainierte Low-Rank-Matrizen hinzugefügt, wodurch die Anzahl der Parameter reduziert wird. Diese Methode kann jedoch die Parametersuche in Subspaces mit niedrigem Rang einschränken, die Trainingsdynamik verändern und sogar einen Warmstart mit vollem Rang erforderlich machen, was möglicherweise zu einer schlechteren Leistung im Vergleich zum Training mit Gewichten mit vollem Rang führt.

GaLore: Gradient Low-Rank Projektion

Gradient Low-Rank Projection (GaLore) stellt eine Trainingsstrategie vor, die Lernen mit allen Parametern und mit größerer Speichereffizienz als herkömmliche Low-Rank-Anpassungsmethoden, wie z.B. LoRA, ermöglicht. GaLore erreicht eine bis zu 65,5%ige Reduktion der Speichernutzung innerhalb der Optimierungszustände und bewahrt so die Effizienz und Leistung während des Pre-Trainings auf den Architekturen LLaMA 1B und 7B sowie während der Feinabstimmung der GLUE-Aufgaben auf RoBERTa. Bemerkenswert ist, dass 8-Bit GaLore den Optimierungsspeicher um 82,5% und den gesamten Trainingsspeicher um 63,3% im Vergleich zum BF16-Standard reduziert. Insbesondere eröffnet es die noch nie dagewesene Möglichkeit, ein 7B-Modell auf Consumer-GPUs wie der NVIDIA RTX 4090 vorzutrainieren, ohne dass ein paralleles Checkpointing des Modells oder Offloading-Strategien erforderlich sind.

Speicherverbrauch des Pre-Trainings eines LLaMA 7B-Modells mit einer Token-Batch-Größe von 256 auf einem einzigen Gerät, ohne Aktivierungs-Checkpointing und Speicher-Offloading.

GaLore ermöglicht das Lernen mit vollen Parametern, um die von LoRA aufgezeigten Einschränkungen zu überwinden, und ist dabei deutlich speichereffizienter als herkömmliche Low-Rank-Anpassungsmethoden. Die Schlüsselidee besteht darin, die sich langsam verändernde Low-Rank-Struktur des Gradienten G der Gewichtsmatrix W zu nutzen, anstatt zu versuchen, die Gewichtsmatrix selbst als Low-Rank zu approximieren.

Lernen durch niedrigrangige Subspaces ΔWT1und ΔWT2 mit GaLore

Formel für die Aktualisierung der Gewichte: Das Gewicht W_t bei einem bestimmten Trainingsschritt t wird gemäß der Formel aktualisiert:

Subspace Switching: Das Modell wechselt während des Trainings dynamisch zwischen Subspaces mit niedrigem Rang. Die Auswahl eines Subspaces basiert auf einem Zeitplan, der durch bestimmt wird, wobei T_i die Anzahl der Aktualisierungen innerhalb des i-ten Subspaces angibt.

Der Weg von durch mehrere Subspaces mit niedrigem Rang ist in einer Abbildung dargestellt. Dieser Ansatz, der es dem Modell erlaubt, mehrere
Subspaces mit niedrigem Rang zu durchlaufen ist entscheidend für ein erfolgreiches Vortraining von LLMs. Diese Technik ist ein ausgeklügelter Ansatz zur Optimierung des Trainings großer neuronaler Netzwerke. Durch sorgfältiges Navigieren durch verschiedene Subspaces kann das Modell den Gewichtsraum effizienter erkunden, was zu einer besseren Generalisierung und Leistung führen kann. Diese Methode trägt der Komplexität des Gewichtsraums von LLMs Rechnung und nutzt mathematische Werkzeuge wie SVD, um das Training effektiver und effizienter zu gestalten.

Vergleich mit Low-Rank-Algorithmen beim Vortraining verschiedener Größen von LLaMA-Modellen auf dem C4-Datensatz. Die Validierungs-Perplexität wird zusammen mit einer Speicherschätzung für die Gesamtheit der Parameter und Optimierer Zustände basierend auf dem BF16-Format.

Diese Tabelle zeigt die Speichereffizienz von GaLore anhand experimenteller Ergebnisse. Der Versuchsaufbau ist wie folgt skizziert:

  • Für GaLore wird die Unterraumfrequenz T auf 200 festgelegt, wobei ein Skalierungsfaktor α von 0,25 auf alle in der Tabelle genannten Modellgrößen angewendet wird.
  • Für alle Low-Rank-Methoden wird für jede Modellgröße ein konsistenter Rang r gewählt, und diese Methoden werden auf alle Multi-Head-Attentionen
    und Feedforward-Schichten innerhalb der Modelle angewendet.
  • Das Training wird mit dem Adam-Optimierer unter Verwendung seiner Standard-Hyperparameter durchgeführt.
  • Die Speichernutzung wird auf der Grundlage des BF16-Formats geschätzt, wobei der für die Gewichtungsparameter und den Optimiererzustand erforderliche Speicher
    berücksichtigt wird.

Die Tabelle zeigt, dass GaLore andere Sub-Ranking-Methoden übertrifft und eine Leistung erzielt, die mit der des Full-Rank-Trainings vergleichbar ist.
Insbesondere bei einer Modellgröße von 1B übertrifft GaLore die Leistung der Full-Rank-Baseline, wenn ‚r = 1024‘ anstelle von ‚r = 512‘ verwendet wird. Außerdem benötigt
GaLore im Vergleich zu LoRA und ReLoRA weniger Speicherplatz für die Speicherung der Modellparameter und den Zustand des Optimierers.

Fazit

GaLore reduziert den Speicherverbrauch während des Pre-Trainings und der Feinabstimmung von Large Language Models (LLMs) bei gleichbleibender Leistung erheblich. Dies deutet auf eine geringere Abhängigkeit von großen Rechensystemen hin und lässt auf das Potenzial für erhebliche Kosteneinsparungen schließen. Das Paper räumt jedoch ein, dass GaLore noch vor ungelösten Problemen steht: die Anwendung auf verschiedene Trainingsarten wie Vision-Transformatoren und Diffusionsmodelle, die weitere Verbesserung der Speichereffizienz durch Quantisierung und spezielle Parametrisierung und die Erforschung des Potenzials für elastisches, datenverteiltes Training auf verbrauchergerechter Hardware.
Trotz dieser ungelösten Probleme erleichtert GaLore das Training von LLMs mit Consumer-Hardware und ermöglicht so eine breitere Beteiligung. Diese verbesserte Zugänglichkeit könnte den Fortschritt der LLM-Forschung beschleunigen. Es ist zu hoffen, dass GaLore mit einer stärkeren Beteiligung der Gemeinschaft seine derzeitigen Herausforderungen überwindet und sich zu einem wertvollen Werkzeug für die LLM-Gemeinschaft entwickelt.

Referenz:
GaLore: Memory-Efficient LLM Training by Gradient Low-Rank Projection (arxiv.org)

Share