Huawei stellt SINQ vor: Open-Source-Quantisierung für effiziente LLMs

9 Min. Lesezeit
Huawei stellt SINQ vor: Open-Source-Quantisierung für effiziente LLMs

Warum SINQ für den täglichen Einsatz von LLMs wichtig ist

Große Sprachmodelle benötigen viel Speicher. Deshalb erfordert der Betrieb fortschrittlicher Modelle oft leistungsstarke Rechenzentrums-GPUs und teure Cloud-Knoten. Das Computing Systems Lab von Huawei in Zürich hat SINQ vorgestellt, ein neues Quantisierungsverfahren, das diese Gleichung verändern soll. Der Ansatz namens Sinkhorn Normalized Quantization zielt auf einen geringeren Speicherbedarf bei minimalen Einbußen bei der Ausgabequalität ab und wird unter der Apache-2.0-Lizenz als Open Source veröffentlicht. Das Team beschreibt SINQ als schnell, kalibrierungsfrei und einfach in bestehende Modell-Workflows integrierbar.

Inhalt
  1. Warum SINQ für den täglichen Einsatz von LLMs wichtig ist
  2. Wie sich SINQ von bisherigen Quantisierungsverfahren unterscheidet
  3. Speichereinsparungen, Geschwindigkeit und Qualität in Tests
  4. Auswirkungen auf Hardware und Cloud-Kosten
  5. Was Entwickler heute nutzen können
  6. Technische Eckpunkte erklärt
  7. Duale Achsenskalierung
  8. Sinkhorn-Knopp-Normalisierung
  9. Kalibrierungsfreies Design
  10. Grenzen und praktische Überlegungen
  11. Warum das über ein einzelnes Unternehmen hinaus wichtig ist
  12. Wichtige Punkte

Bei der Quantisierung wird die Zahl der Bits verringert, mit denen Modellgewichte dargestellt werden. Der Wechsel von 16-Bit- oder 8-Bit-Gleitkommazahlen zu 4-Bit-Ganzzahlen kann den Speicherbedarf um mehr als die Hälfte senken. Diese Einsparung ist ohne Qualitätseinbußen schwer zu erreichen, insbesondere unterhalb von 8 Bit. SINQ verspricht, auch bei niedriger Präzision eine hohe Qualität zu erhalten, selbst bei 4 Bit und in manchen Fällen bei 3 Bit, und dabei schneller anwendbar zu sein als viele bekannte Verfahren.

Bei den von den Autoren getesteten Modellen und Architekturen senkt SINQ den Speicherbedarf um etwa 60 bis 70 Prozent. Durch diese Größenordnung der Einsparung passen viele Modelle auf eine einzelne Consumer-GPU, etwa eine Nvidia GeForce RTX 4090 mit 24 GB Speicher, statt Enterprise-GPUs wie A100 oder H100 zu benötigen. Für Cloud-Workloads können günstigere Instanzen lang laufende Inferenzaufgaben übernehmen, was über die Zeit Einsparungen von Tausenden Dollar bedeuten kann. Für Forschungslabore, Start-ups und lokale Enthusiasten sinkt die Hürde, leistungsfähige Modelle auf einer Workstation auszuführen.

Anzeige

Wie sich SINQ von bisherigen Quantisierungsverfahren unterscheidet

Die meisten in der Praxis eingesetzten LLM-Quantisierungsverfahren quantisieren nur die Gewichte. Gewichte sind die erlernten Parameter in jeder Schicht und machen den Großteil der Modellgröße aus. Auch Aktivierungsquantisierung ist möglich, erhöht aber oft die Komplexität und kann die Laufzeit beeinflussen. Viele verbreitete Ansätze nehmen während einer Einrichtungsphase, der sogenannten Kalibrierung, zusätzlichen Rechenaufwand in Kauf, um Skalierungsfaktoren zu ermitteln, die den durch die Quantisierung verursachten Fehler minimieren. Bei dieser Kalibrierung werden Stichprobendaten und zusätzliche Durchläufe des Modells verwendet. Das kann die Qualität verbessern, kostet aber Zeit, erfordert eine sorgfältige Auswahl von Prompts und macht die Pipelines komplexer.

SINQ verfolgt einen anderen Ansatz. Es führt zwei miteinander verknüpfte Ideen ein, die dafür sorgen sollen, dass die Gewichtsverteilung vor der Rundung auf niedrige Präzision gut ausgeglichen ist. Erstens wendet die duale Achsenskalierung separate Skalierungsvektoren auf die Zeilen und Spalten einer Gewichtsmatrix an. Das ermöglicht eine feinere Steuerung als ein einzelner Skalierungsfaktor pro Tensor oder Kanal. Der Fehler wird so verteilt, dass sich Ausreißer und lokale Ungleichgewichte weniger stark auswirken.

Zweitens verwendet SINQ ein von der Sinkhorn-Knopp-Normalisierung inspiriertes Verfahren. Der Algorithmus wechselt zwischen einfachen Normalisierungsschritten, um die Statistiken von Zeilen und Spalten auszugleichen. Bei SINQ normalisiert das Verfahren die Standardabweichungen von Zeilen und Spalten, damit kein Teil der Gewichtsmatrix übermäßig ins Gewicht fällt. Dieser Ausgleich verbessert das Verhalten der Gewichte bei der Quantisierung und verringert den Gesamtfehler, ohne teure Kalibrierungsdaten für jede einzelne Schicht zu benötigen.

Anzeige

Speichereinsparungen, Geschwindigkeit und Qualität in Tests

Die Autoren berichten von konstanten Speichereinsparungen zwischen 60 und 70 Prozent gegenüber Gewichten in voller Präzision. Die Genauigkeit bleibt bei einer Reihe unterschiedlicher Architekturen nahe am ursprünglichen Modell. In der Praxis kann dadurch ein Modell, das bisher mehr als 60 GB Speicher benötigte, mit etwa 20 GB auskommen. Auf handelsüblichen GPUs kann dieser Unterschied darüber entscheiden, ob ein Modell überhaupt in den Speicher passt oder auf den langsameren Arbeitsspeicher des Hosts ausgelagert wird.

Die Quantisierungsgeschwindigkeit ist sowohl in der Forschung als auch in der Produktion wichtig. In den berichteten Tests quantisiert SINQ Modelle ungefähr doppelt so schnell wie HQQ und mehr als 30-mal so schnell wie AWQ. Für Teams, die Modelle iterativ weiterentwickeln, kann dieser Zeitgewinn die mehrstündige Vorverarbeitung zu einem schnelleren Schritt machen, der in einen Entwicklungszyklus passt.

Die Qualität wird anhand von Kennzahlen wie Perplexität und Flip-Rate erfasst. Die Perplexität misst, wie gut ein Sprachmodell Text vorhersagt. Die Flip-Rate zählt, wie oft sich die Top-Tokens nach der Quantisierung ändern. Über verschiedene Benchmarks hinweg senkt SINQ die Perplexität im Vergleich zu anderen kalibrierungsfreien Referenzverfahren und verringert die Flip-Rate, was auf stabilere Ausgaben hindeutet. Das Verfahren funktioniert auch mit nicht uniformen Quantisierungsschemata und lässt sich mit einer Kalibrierung kombinieren, wenn ein Projekt die Genauigkeit weiter steigern möchte.

Anzeige

Auswirkungen auf Hardware und Cloud-Kosten

Die Kosten für Inferenz hängen vom Speicherbedarf ab. Passt ein Modell auf eine einzelne GPU, sind keine teuren Modellparallel-Setups und kein zusätzlicher Netzwerkaufwand nötig. Durch die Einsparungen mit SINQ passen viele mittelgroße bis große Modelle auf eine einzelne Consumer-Karte mit viel Speicher. Betreiber, die bisher auf A100- oder H100-Knoten angewiesen waren, können durch den Einsatz günstigerer GPUs ihre monatlichen Kosten senken und leistungsstarke Hardware für das Training freimachen.

Cloud-Nutzer können kleinere GPU-Instanzen wählen oder mehr Modelle parallel auf einem Knoten ausführen. Bei lang laufenden Aufgaben wie Chat-Assistenten oder Retrieval-Augmented-Generation-Diensten können günstigere GPUs über Wochen und Monate hinweg Tausende Dollar einsparen. Auch kleinere On-Premises-Cluster werden für Teams attraktiv, die ihre Daten lieber im eigenen Haus behalten möchten.

Ein weiterer Vorteil betrifft Latenz und Energieverbrauch. Weniger Geräte, weniger Aufrufe zwischen Knoten und weniger Speicherverkehr zwischen Host und Gerät können die Antwortzeiten und den Stromverbrauch senken. Insgesamt entsteht so ein schlankerer Serving-Stack mit weniger Komponenten.

Anzeige

Was Entwickler heute nutzen können

SINQ ist unter der Apache-2.0-Lizenz als Open Source verfügbar. Die Veröffentlichung umfasst den Implementierungscode, Anleitungen zur Quantisierung von Modellen aus beliebten Hubs sowie Werkzeuge zum Speichern und erneuten Laden quantisierter Gewichte. Das Paket bietet Funktionen zur Evaluierung, mit denen Teams vor dem Einsatz Perplexität und Flip-Rate messen können. Außerdem stellt es Parameter bereit, die Entwickler für unterschiedliche Hardware und Genauigkeitsanforderungen anpassen können.

Die Autoren kündigen an, vorquantisierte Modelle zu veröffentlichen und die Integration in das Hugging-Face-Transformers-Ökosystem anzustreben. Das würde die Einführung erleichtern, da Entwickler einen quantisierten Checkpoint mit vertrauten APIs laden könnten. Teams mit eigenen Inferenz-Stacks können zunächst die Gewichte quantisieren und die Ergebnisse anschließend in ihre Laufzeitumgebung einbinden, sofern deren Kernel 4-Bit- oder 3-Bit-Speicherformate unterstützen.

Technische Eckpunkte erklärt

SINQ ist als unkomplizierter Schritt in einer Modellvorbereitungspipeline konzipiert. Ziel ist es, Gewichtsmatrizen so aufzubereiten, dass eine Darstellung mit niedriger Präzision die für die Inferenz wichtige Struktur bewahrt, und die aufbereiteten Gewichte anschließend in kompakte Ganzzahlformate zu überführen.

Duale Achsenskalierung

Bei der herkömmlichen Skalierung pro Tensor oder Kanal wird ein einzelner Faktor in eine Richtung angewendet. Die duale Achsenskalierung wendet auf jede Gewichtsmatrix einen Vektor über die Zeilen und einen weiteren über die Spalten an. Diese Trennung ist hilfreich, wenn einige Zeilen Ausreißer enthalten oder bestimmte Spalten eine größere Varianz aufweisen. Indem beide Richtungen normalisiert werden, verteilt das Verfahren den Quantisierungsfehler gleichmäßiger über die Matrix. Das Ergebnis sind weniger starke Fehlerspitzen und eine bessere Bewahrung der relativen Gewichtsmagnituden.

Sinkhorn-Knopp-Normalisierung

Sinkhorn-Knopp ist ein klassisches iteratives Verfahren, das einfache Normalisierungsschritte abwechselt, bis ein ausgeglichener Zustand erreicht ist. Bei SINQ geht es nicht um eine doppelt stochastische Matrix, sondern um ausgeglichene Standardabweichungen in den Zeilen und Spalten. Der Algorithmus skaliert Zeilen und Spalten wiederholt neu, um ihre Standardabweichungen an Zielwerte anzugleichen. Sobald die Matrix auf diese Weise ausgeglichen ist, arbeitet die Quantisierung mit einer Gewichtsverteilung mit weniger Extremwerten, wodurch Rundungsfehler abnehmen. Das Verfahren ist schnell, verursacht im Vergleich zu längeren Kalibrierungsdurchläufen nur geringen Mehraufwand und kommt ohne Kalibrierungsdatensatz aus.

Kalibrierungsfreies Design

Für Kalibrierungsphasen muss eine Prompt-Auswahl getroffen, das Modell zur Erfassung von Statistiken ausgeführt und anschließend müssen Skalierungsfaktoren berechnet werden. Das erschwert den Ablauf und kann die Ergebnisse verzerren, wenn die Kalibrierungsdaten nicht dem produktiven Einsatz entsprechen. SINQ überspringt diesen Schritt und arbeitet direkt mit den Gewichtsstatistiken. Für viele Teams vereinfacht der Wegfall der Kalibrierung die Automatisierung und sorgt für bessere Reproduzierbarkeit. Wenn ein Projekt dennoch eine Kalibrierung nutzen möchte, lässt sich SINQs Aufbereitung mit einer anschließenden Kalibrierungssuche kombinieren, um die Genauigkeit weiter zu steigern.

Grenzen und praktische Überlegungen

Die meisten berichteten Verbesserungen betreffen die Quantisierung der Gewichte. Aktivierungen und der Key-Value-Cache benötigen während der Generierung weiterhin Speicher, insbesondere bei langen Prompts und umfangreichen Ausgaben. Einige Laufzeitumgebungen bieten Aktivierungsquantisierung und eine Komprimierung des KV-Caches an, doch auch diese Schritte bringen eigene Kompromisse mit sich. Teams sollten den Speicherbedarf und die Latenz des gesamten Ablaufs messen und nicht nur die Modellgröße auf dem Datenträger.

Die Unterstützung durch die Laufzeitumgebung ist entscheidend. Damit sich bei der Inferenz Geschwindigkeitsvorteile zeigen, müssen die Kernel gepackte 4-Bit- oder 3-Bit-Gewichte effizient auslesen können. Beliebte Engines wie llama.cpp, TensorRT LLM, vLLM und andere entwickeln sich schnell weiter. Dennoch ist nicht jede Kombination aus Präzision, Attention-Kernel und GPU-Architektur gleichermaßen ausgereift. Bevor ein Dienst produktiv eingesetzt wird, sollten Durchsatz, Latenz und Stabilität mit der genauen Konfiguration getestet werden, einschließlich Batch-Größe und Kontextlänge.

Sehr niedrige Präzision kann bestimmte Aufgaben beeinträchtigen. Codegenerierung, Tool-Nutzung und strukturierte Ausgaben reagieren möglicherweise empfindlicher als einfache Chat-Unterhaltungen. Kennzahlen wie die Perplexität sind hilfreich, doch Tests für den Produktiveinsatz sollten auch die Aufgabengenauigkeit, den Antwortstil und Sicherheitsprüfungen umfassen. Wenn ein Anwendungsfall die Grenzen ausreizt, können gemischte Präzision oder eine gezielt höhere Präzision für empfindliche Schichten die Qualität bewahren und zugleich einen Großteil der Speichereinsparung erhalten.

Warum das über ein einzelnes Unternehmen hinaus wichtig ist

Quantisierung ist zu einer Grundlage für den praktischen Einsatz von LLMs geworden. Ein schnelles, kalibrierungsfreies und bei niedriger Präzision wirksames Open-Source-Verfahren hilft dem gesamten Ökosystem. Ein geringerer Speicherbedarf erleichtert Bildungseinrichtungen, zivilgesellschaftlichen Projekten und kleinen Unternehmen den Zugang zu leistungsfähigen Modellen. Der Ansatz entlastet zudem knappe High-End-GPUs und macht Kapazitäten für Training und Forschung frei.

Der Wettbewerb bei Inferenzwerkzeugen nimmt Fahrt auf. Verfahren wie SINQ lassen sich mit effizienten Attention-Kerneln, paginierten KV-Caches und optimierten Schedulern kombinieren, um mehr Tokens pro Sekunde und Dollar zu erzeugen. Das Ergebnis ist nicht nur ein günstigerer Betrieb. Teams erhalten auch mehr Auswahlmöglichkeiten, wenn ihnen Datenschutz, lokaler Betrieb und Kontrolle über ihren Stack wichtig sind.

Wichtige Punkte

  • Huaweis SINQ ist ein Open-Source-Quantisierungsverfahren für LLM-Gewichte und wird unter der Apache-2.0-Lizenz veröffentlicht
  • SINQ senkt den Speicherbedarf laut Angaben um 60 bis 70 Prozent und erzielt bei 4 Bit sowie in manchen Fällen bei 3 Bit eine hohe Qualität
  • Das Verfahren kommt ohne Kalibrierung aus und soll sich einfach in bestehende Workflows integrieren lassen
  • SINQ nutzt duale Achsenskalierung und eine an Sinkhorn-Knopp angelehnte Normalisierung, um Gewichtsmatrizen auszugleichen
  • Die Quantisierung ist den berichteten Tests zufolge etwa doppelt so schnell wie HQQ und mehr als 30-mal so schnell wie AWQ
  • Die Qualitätskennzahlen verbessern sich gegenüber kalibrierungsfreien Referenzverfahren; Perplexität und Flip-Rate sinken
  • Modelle, die bisher mehr als 60 GB benötigten, können mit etwa 20 GB auskommen. Das ermöglicht den Betrieb auf einer einzelnen Consumer-GPU wie der RTX 4090
  • Geplant sind die Integration in Hugging Face Transformers und die Veröffentlichung vorquantisierter Modelle
Diesen Artikel teilen

Das könnte Ihnen auch gefallen