ist eine der Schlüsseltechniken zur Reduzierung des Gedächtnisfußabdrucks von großsprachigen Modellen (LLMs). Es funktioniert durch Konvertieren des Datentyps von Modellparametern aus höheren Voraussetzungsformaten wie 32-Bit-Gleitkomma (FP32) oder 16-Bit-Gleitpunkt (FP16/BF16) in Ganzzahlen mit niedrigerer Präzision, typischerweise Int8 oder INT4. Zum Beispiel bedeutet die Quantisierung eines Modells zu 4-Bit, dass jeder Parameter nur 0,5 Bytes verwendet, verglichen mit 4 Bytes in FP32.

Quantisierungsmethoden nach dem Coaching wie GPTQ und AWQ können die Größe großer Modelle drastisch reduzieren. Ein Modell wie LLAMA 3 mit 70 Milliarden Parametern kann in FP16 rund 140 GB einnehmen. Dies kann jedoch unter Verwendung einer 4-Bit-Quantisierung auf ungefähr 40 GB reduziert werden und gleichzeitig eine starke Leistung bei nachgeschalteten Aufgaben beibehalten.

Trotz dieser erheblichen Reduzierung überschreiten solche Modelle die Speicherkapazität der meisten GPUs der Verbraucherqualität, die normalerweise 24 GB bis 32 GB VRAM bieten. Um diese Modelle wirklich zugänglich zu machen, ist die Quantisierung für noch niedrigere Bitbreiten wie 2-Bit erforderlich. Während die jüngsten Fortschritte bei der Quantisierung mit geringem Bit vielversprechend sind, bleibt das Erreichen einer stabilen und genauen 2-Bit-Quantisierung eine bedeutende Herausforderung.

In diesem Artikel überprüfen wir eine Technik mit dem Namen Eora Dies hilft, quantisierungsbedingte Fehler auszugleichen. Eora ist a Trainingsfrei Methode, was bedeutet, dass sie schnell und effizient auf jedes Modell angewendet werden kann, selbst die größten. Wir werden überprüfen, wie EORA funktioniert, und zeigen, wie sie die Leistung von 2-Bit-quantisierten Modellen erheblich verbessern und die Genauigkeit ihrer Kollegen in voller Präzision näher bringen und gleichzeitig bis zu 5,5-fach kleiner sind.

Wir werden experimentelle Ergebnisse analysieren, die unter Verwendung großer Modelle wie QWEN3-32B und QWEN2.5-72B erhalten wurden, beide quantisiert nach 2-Bit mithilfe hochmoderner Quantisierungstechniken, um die Wirksamkeit von EORA zu veranschaulichen.

Tauchen in den Eigenraum auf der Suche nach einem Adapter

Quantisierung nach dem Coaching oder allgemeiner, zielt Komprimierung darauf ab, die Modellgröße oder Inferenzkosten zu senken, indem die Ausgangsdifferenz zwischen den ursprünglichen Gewichten minimiert wird Wlund komprimierte Gewichte ŴlVerwenden Sie nur einen kleinen Kalibrierungsdatensatz.

Die meisten Quantisierungsmethoden sind schichtweise gerahmt, aber die Auswahl der Komprimierungsformate ist starr und begrenzt die Flexibilität auf unterschiedliche Bereitstellungsanforderungen.

Um die Formatbeschränkungen zu umgehen und die Genauigkeit, frühere Arbeiten wie Qlora (1) und HQQ+ (2), direkt fein abgestimmt a Lora Adapter auf den gefrorenen quantisierten Modellen.

Es ist auch möglich, die Komprimierung als neu zu formulieren Entschädigung Drawback: Führen Sie bei einem komprimierten Modell mit niedrigem Rang Restpfaden ein, die spezifisch Komprimierungsfehler korrigieren.

Eine einfache Methode verwendet SVD, um den Komprimierungsfehler zu zerlegen:

( Delta w_l = w_l – Hat {W} _l )

hinein

(U_l sigma_l v_l^t )

Niedrigrang-Näherungen über zwei Matrizen bilden:

(B_l = u_l sigma_l )

(A_l = v_l^t )

Wo Al Und Bl sind die Commonplace -Tensoren eines Lora -Adapters.

Einfaches SVD hat jedoch zwei Einschränkungen: Es minimiert den ursprünglichen Schichtkomprimierungsverlust nicht direkt und zugibt die Kapazität über alle Fehlerkomponenten gleichmäßig und ignoriert die unterschiedliche Bedeutung verschiedener Teile des Modells.

Um dies anzugehen, schlägt Nvidia vor Eora (3).

EORA: Trainingsfreie Kompensation für komprimierte LLM mit Eigenschaften mit niedriger Rang-Näherung

EORA projiziert zunächst den Komprimierungsfehler in den Eigenraum, der durch die Kovarianz der Eingabeaktivierung definiert wurde:

( tilde {x} tilde {x}^t )

Wo X ist die durchschnittliche Aktivierung über den Kalibrierungssatz. Dann bekommen wir durch die Durchführung von Eigenschaften:

( tilde {x} tilde {x}^t = q lambda q^t )

Der Komprimierungsfehler ΔW wird als:

( Delta w ‚= delta w q‘ )

Wo Q ‚= qλ. Dann wird SVD auf angewendet ΔW ‚ Um eine Annäherung mit niedrigem Rang zu erzeugen, wird das Ergebnis wieder in den ursprünglichen Raum projiziert, wodurch die niedrigen Faktoren entsprechend angepasst werden.

Diese Eigenspace -Projektion ändert das Optimierungsobjektiv: Es gewichtet die Bedeutung verschiedener Fehlerkomponenten entsprechend ihrem Beitrag zum schichtweisen Ausgang (über Eigenwerte), wodurch die Näherung effizienter wird. Es kann ohne Coaching schnell berechnet werden, erfordert nur Kalibrierungsaktivierungen und führt keine zusätzliche Inferenzlatenz ein. Darüber hinaus zeigt die Ableitung, dass dieser Ansatz zu einer direkten Minimierung des Schichtkomprimierungsverlusts und nicht nur zum Rohgewichtsfehler führt.

Analytisch entspricht das Abschneiden eines singulären Werts im projizierten Raum der Minimierung des tatsächlichen Komprimierungsfehlers unter angemessenen Annahmen über die Kalibrierungsaktivierungen.

In ihrer Arbeit präsentiert Nvidia eine breite Palette starker Ergebnisse, die zeigen, dass EORA die Genauigkeit quantisierter Modelle erheblich fördern kann. Ihre Experimente konzentrieren sich jedoch hauptsächlich auf ältere Quantisierung Methoden wie GPTQ und sind auf mittelgroße LLMs, bis zu 13B-Parameter, bei 3-Bit- und 4-Bit-Präzision beschränkt.

Dies hinterlässt eine offene Frage: Kann EORA für viel größere Modelle immer noch wirksam sein, die modernere Quantisierungstechniken verwenden und sogar auf 2-Bit-Präzision herabgesetzt werden?

Lassen Sie uns herausfinden.

Kalibrieren eines EORA -Adapters

Angenommen, wir haben Modelle quantifiziert, die im Vergleich zu ihren Kollegen mit voller Präzision bei bestimmten Aufgaben eine signifikant verschlechterte Leistung aufweisen. Unser Ziel ist es, diese Leistungslücke mit EORA zu verringern.

Für die Experimente habe ich QWEN2.5-72B-Anweisungen verwendet und Qwen3-32b, beide quantisiert zu 2-Bit mit Verwendung Autoround (Apache 2.0-Lizenz), ein hochmoderner Quantisierungsalgorithmus, der von Intel entwickelt wurde. Autoround Leverages STARSGD-Optimierung zur Feinabstimmung Quantisierung und ist besonders effektiv für Einstellungen mit niedrigem Bit.

Alle Modelle, die ich erstellt habe, sind hier verfügbar (Apache 2.0 -Lizenz):

Die 2-Bit-Modelle wurden mit einer Gruppengröße von 32 quantisiert, mit der eine Gruppengröße von 128. Eine größere Gruppengröße reduziert die Modellgröße durch Speichern weniger Quantisierungsmetadaten, führt jedoch zu einem größeren Quantisierungsfehler.

Ich habe die Modelle auf IFEVAL bewertet, einen Benchmark, der die Funktionen der Anweisungen misst. Die Ergebnisse zeigten einen spürbaren Leistungsabfall für die quantisierten Versionen.

Bild des Autors

Um diesen Verschlechterung zu kompensieren, habe ich einen EORA -Adapter unter Verwendung der in der Implementierung angegebenen Implementierung angewendet GPTQMODEL -Bibliothek (Lizenziert unter Apache 2.0). Die Integration ist unkompliziert. Wenn Sie neugierig sind, wie es in Pytorch implementiert ist, ist die Codebasis kompakt, sauber und leicht zu befolgen:

  • Die EORA -Implementierung von GPTQModel: eora.py

EORA benötigt einen Kalibrierungsdatensatz. Im Idealfall sollte dieser Datensatz den vorgesehenen Anwendungsfall des Modells widerspiegeln. Da wir in diesem Zusammenhang jedoch keine spezifische Zielaufgabe haben und die allgemeinen Funktionen des Modells bewahren möchten, habe ich 1.024 nach dem Zufallsprinzip aus dem Stichproben verwendet C4 -Datensatz (lizenziert unter odc-by).

Ein weiterer Schlüsselparameter ist der Lora -Rang, der die Wirksamkeit des EORA -Adapters stark beeinflusst. Der optimale Wert hängt von der Modellarchitektur, der Zielaufgabe und den Kalibrierungsdaten ab. Ein höherer Rang kann eine bessere Leistung erzielen, aber es besteht die Gefahr, dass sich die Kalibrierungsset übertreffen. Es erhöht auch die Größe des Adapters und kontraproduktiv, wenn das Gesamtziel der Quantisierung darin besteht, die Speicherverwendung zu verringern. Umgekehrt hält ein niedrigerer Rang den Adapter leicht, erfasst jedoch möglicherweise nicht genügend Informationen, um Quantisierungsfehler effektiv auszugleichen.

In meinen Experimenten habe ich Lora -Ränge von 32, 64 und 256 getestet.

Im Folgenden finden Sie den Code, mit dem der EORA -Adapter mit GPTQModel erstellt wurde:

from gptqmodel import GPTQModel
from gptqmodel.adapter.adapter import Lora
from datasets import load_dataset

calibration_dataset = load_dataset(
      "allenai/c4",
      data_files="en/c4-train.00001-of-01024.json.gz",
      break up="practice", download_mode="force_redownload"
    ).choose(vary(1024))("textual content")

eora_adapter_path = "Qwen3-32B-autoround-2bit-gptq-r256"
model_path = "kaitchup/Qwen3-32B-autoround-2bit-gptq"
eora = Lora(
    path=eora_adapter_path,
    rank=256,
)

GPTQModel.adapter.generate(
        adapter=eora,
        model_id_or_path="Qwen/Qwen3-32B",
        quantized_model_id_or_path=model_path,
        calibration_dataset=calibration_dataset,
        calibration_dataset_concat_size=0,
        auto_gc=False)

Verwenden einer Nvidia A100 GPU auf Runpod (Empfehlungsverbindung)Es dauerte ungefähr 4 Stunden, um den EORA-Adapter für das Modell QWEN3-32B-AUTOROUT-2BIT-GPTQ zu generieren.

Alle für diese Modelle erstellten EORA -Adapter sind öffentlich verfügbar (Apache 2.0 -Lizenz):

Bewertung von EORA-Adaptern für 2-Bit-LLMs

Bewerten wir die Wirkung der EORA -Adapter. Verbessern sie die Genauigkeit der 2-Bit-Modelle?

Bild des Autors

Es funktioniert!

Die Verbesserungen sind besonders für QWEN3-14B und QWEN3-32B bemerkenswert. Zum Beispiel führte die Anwendung von EORA auf QWEN3-32B, das mit einer Gruppengröße von 128 auf 2-Bit quantisiert wurde, zu einem Genauigkeitsgewinn von quick 7,5 Punkten. Die Erhöhung des LORA -Ranges von 32 auf 64 führte ebenfalls zu Verbesserungen, was die Auswirkungen des Ranges auf die Leistung hervorhob.

EORA ist auch bei größeren Modellen wie QWEN2.5-72B wirksam, obwohl die Gewinne bescheidener sind. Adapter mit niedrigerer Rang zeigten bei diesem Modell wenig bis gar keinen Nutzen; Erst als ich den Rang auf 256 erhöhte, erschienen erhebliche Verbesserungen.

Gedächtnisverbrauch von Eora

Die Verwendung des EORA -Adapters während der Inferenz führt zu einem folgenden Anstieg des Speicherverbrauchs:

Bild des Autors

Der Overhead ist im Allgemeinen vernachlässigbar. Zum Beispiel für 2-Bit-QWEN3-14B fügen die Adapter nur 257 MB und 514 MB zur Gesamtmodellgröße hinzu, wobei die Ränge von 32 und 64 eine größere Ränge verwenden. Die Verwendung eines EORA-Adapters wird fragwürdig, da der Gesamtspeicherkonsum den Gedächtnisverbrauch desselben Modells, das bei einer höheren Präzision quantisiert wurde, übertreffen kann. Beispielsweise ist 2-Bit QWEN2.5 72B mit einem EORA-Adapter von Rang 256 größer als 3-Bit-QWEN2.5 72B.

Hinweis: Diese Schätzung enthält nur den Speicher, der von den Parametern des Adapters verbraucht wird. Zur Vollständigkeit könnten wir auch den Speicher berücksichtigen, der von Adapteraktivierungen während der Inferenz verwendet wird. Diese sind jedoch im Vergleich zu anderen Tensoren (wie der Aufmerksamkeit des Modells und der MLP -Schichten) jedoch extrem klein und können mit Sicherheit als vernachlässigbar angesehen werden.

Abschluss

Eora funktioniert. Wir haben bestätigt, dass es sich um eine einfache und dennoch effektive Methode handelt, um Quantisierungsfehler selbst bei 2-Bit-Präzision zu kompensieren. Es ist intuitiv, Trainingfrei und liefert sinnvolle Leistungsgewinne. Das heißt, es gibt einige Kompromisse zu berücksichtigen:

  • Rangsuche: Das Finden des optimalen Lora -Ranges erfordert Experimente. Es ist schwierig, im Voraus vorherzusagen, ob ein Rang von 32 ausreicht oder ob ein höherer Rang wie 256 zu Überanpassungen führt. Der optimale Wert hängt von Modell, Kalibrierungsdaten und Zielaufgabe ab.
  • Erhöhter Gedächtnisverbrauch: Das Ziel der Quantisierung ist es, die Speicherverwendung zu reduzieren, häufig für stark eingeschränkte Umgebungen. Während EORA-Adapter in niedrigeren Rängen relativ leicht sind, erhöhen sie den Speicherverbrauch, insbesondere in höheren Rängen, leicht und verringert die Gesamteffizienz der 2-Bit-Quantisierung.

Mit Blick auf die Zukunft zeigt Nvidias Papier auch, dass EORA-Adapter für Qlora-Feinabstimmungen hervorragende Ausgangspunkte darstellen. Mit anderen Worten, wenn Sie vorhaben, ein 2-Bit-Modell mit QLORA zu optimieren, kann die Initialisierung eines EORA-adaptierten Modells zu besseren Ergebnissen mit weniger Trainingsaufwand führen. Ich habe letztes Jahr über Feinabstimmungsadapter für GPTQ-Modell in meinem Publication geschrieben:

Qlora mit Autoround: billiger und bessere LLM-Feinabstimmung auf Ihrer GPU

Der Hauptunterschied besteht darin, dass wir den EORA -Adapter, anstatt den Adapter von Grund auf neu zu initialisieren. Dieser Adapter wird fein abgestimmt.

Referenzen

(1) DETTMERS et al., Qlora: Effiziente Finetuning quantisierter LLMs (2023), Arxiv

(2) Badri und Shaji, In Richtung 1-Bit-Modelle für maschinelles Lernen (2024), Mobius Labs ‚Weblog

(3) Liu et al., EORA: Trainingsfreie Kompensation für komprimierte LLM mit Eigenschaften mit niedriger Rang-Näherung (2024), Arxiv

Von admin

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert