LoRA vs QLoRA: Welche Fine-Tuning-Methode sollte ich verwenden?

Automatische Übersetzung

Dieser Artikel wurde automatisch aus der englischen Originalversion übersetzt.

LoRA trainiert kleine Adaptermatrizen und lässt die vortrainierten Weights eingefroren. QLoRA wendet diesen Ansatz auf ein Base Model an, das mit 4-Bit-Präzision gespeichert ist. Beginnen Sie mit LoRA, wenn das Base Model problemlos in den Speicher passt; erwägen Sie QLoRA, wenn seine eingefrorenen Weights zu viel Trainingsspeicher belegen.

Beide Methoden benötigen weiterhin Speicher für Activations, Adaptergradienten und den Zustand des Optimizers. Größere Batches und längere Sequenzen erhöhen den Speicherbedarf für Activations und temporäre Puffer. Bei einem festen Adapter-Setup hängen die Größen der Gradienten und des Optimizer-Zustands von den trainierbaren Parametern ab.

Der Unterschied liegt in den Base Weights

LoRA stellt ein Weight-Update durch zwei kleine Matrizen dar, statt die gesamte Gewichtsmatrix zu trainieren. Hat das ursprüngliche Weight die Dimensionen d × k, trainiert ein Adapter mit Rang r Matrizen der Größen r × k und d × r. Der Rang bestimmt die Größe des Adapters; er ist kein universelles Maß für die Schwierigkeit einer Aufgabe.

WahlEingefrorene BasisTrainierbarer TeilWichtigster Kompromiss
LoRAÜblicherweise BF16 oder FP16Adapter mit niedrigem RangMehr Speicher für Base Weights
QLoRAAuf 4 Bit quantisierte WeightsAdapter mit niedrigem Rang und Berechnungen mit höherer PräzisionWeniger Speicher für Base Weights, dafür Aufwand für Dequantization

Die ursprüngliche LoRA-Veröffentlichung beschreibt eingefrorene Weights und trainierbare Updates mit niedrigem Rang. Ein Adapter lässt sich nach dem Training mit kompatiblen Base Weights zusammenführen. Damit entfällt eine separate Adapteroperation während der Inference. Quantisiertes Deployment und das Zusammenführen erfordern Unterstützung durch die gewählten Tools.

Die QLoRA-Veröffentlichung verwendete NF4, eine 4-Bit-Darstellung für normalverteilte Weights, sowie Double Quantization und Paged Optimizers. Im getesteten Setup wurde ein Model mit 65B Parametern auf einer einzelnen GPU mit 48 GB per Fine-Tuning angepasst. Dieses Ergebnis garantiert nicht, dass ein anderes Model, eine andere Sequenzlänge oder eine andere Trainingskonfiguration ebenfalls in diesen Speicher passt.

Vergleichen Sie einen kontrollierten Trainingslauf

Halten Sie den Base Checkpoint, die Beispiele, die Adapter-Zielmodule, den Rang, die Sequenzlänge und den Evaluationsdatensatz konstant. Erfassen Sie den maximalen Speicherbedarf, die Trainingsdauer und die Qualität auf zurückgehaltenen Aufgabenbeispielen. Wenn QLoRA Speicher spart, aber den Lauf verlangsamt, entscheiden Sie, ob die Nutzung weniger GPUs diesen Zeitaufwand ausgleicht.

Testen Sie auch das tatsächliche Inference-Artefakt. Die mit den Trainingstools gemessene Adapterqualität kann sich nach dem Zusammenführen oder weiterer Quantization ändern.

Der Abschnitt zu LoRA und QLoRA im LLM Engineering Guide erklärt das Parameterupdate und seine Auswirkungen auf die Hardware.