QMoE: Praktische Kompression von Modellen mit Billionen Parametern auf unter 1 Bit
QMoE: Practical Sub-1-Bit Compression of Trillion-Parameter Models
October 25, 2023
Autoren: Elias Frantar, Dan Alistarh
cs.AI
Zusammenfassung
Mixture-of-Experts (MoE)-Architekturen bieten eine allgemeine Lösung für die hohen Inferenzkosten großer Sprachmodelle (LLMs) durch sparsames Routing, wodurch schnellere und genauere Modelle ermöglicht werden, allerdings auf Kosten einer enormen Anzahl von Parametern. Beispielsweise verfügt das SwitchTransformer-c2048-Modell über 1,6 Billionen Parameter und benötigt 3,2 TB Beschleunigerspeicher, um effizient zu laufen, was die praktische Bereitstellung herausfordernd und kostspielig macht. In diesem Artikel präsentieren wir eine Lösung für dieses Speicherproblem in Form eines neuen Kompressions- und Ausführungsframeworks namens QMoE. Konkret besteht QMoE aus einem skalierbaren Algorithmus, der Billionen-Parameter-MoEs präzise auf weniger als 1 Bit pro Parameter komprimiert, in einem benutzerdefinierten Format, das gemeinsam mit speziellen GPU-Decodierkernen entwickelt wurde, um eine effiziente End-to-End-komprimierte Inferenz mit geringen Laufzeitüberhängen im Vergleich zur unkomprimierten Ausführung zu ermöglichen. Genauer gesagt kann QMoE das 1,6-Billionen-Parameter-Modell SwitchTransformer-c2048 auf weniger als 160 GB (20-fache Kompression, 0,8 Bits pro Parameter) komprimieren, bei nur geringem Genauigkeitsverlust, in weniger als einem Tag auf einer einzelnen GPU. Dies ermöglicht erstmals die Ausführung eines Billionen-Parameter-Modells auf erschwinglicher Standardhardware, wie einem einzelnen Server mit 4x NVIDIA A6000 oder 8x NVIDIA 3090 GPUs, bei weniger als 5 % Laufzeitüberhang im Vergleich zur idealen unkomprimierten Inferenz. Der Quellcode und die komprimierten Modelle sind unter github.com/IST-DASLab/qmoe verfügbar.
English
Mixture-of-Experts (MoE) architectures offer a general solution to the high
inference costs of large language models (LLMs) via sparse routing, bringing
faster and more accurate models, at the cost of massive parameter counts. For
example, the SwitchTransformer-c2048 model has 1.6 trillion parameters,
requiring 3.2TB of accelerator memory to run efficiently, which makes practical
deployment challenging and expensive. In this paper, we present a solution to
this memory problem, in form of a new compression and execution framework
called QMoE. Specifically, QMoE consists of a scalable algorithm which
accurately compresses trillion-parameter MoEs to less than 1 bit per parameter,
in a custom format co-designed with bespoke GPU decoding kernels to facilitate
efficient end-to-end compressed inference, with minor runtime overheads
relative to uncompressed execution. Concretely, QMoE can compress the 1.6
trillion parameter SwitchTransformer-c2048 model to less than 160GB (20x
compression, 0.8 bits per parameter) at only minor accuracy loss, in less than
a day on a single GPU. This enables, for the first time, the execution of a
trillion-parameter model on affordable commodity hardware, like a single server
with 4x NVIDIA A6000 or 8x NVIDIA 3090 GPUs, at less than 5% runtime overhead
relative to ideal uncompressed inference. The source code and compressed models
are available at github.com/IST-DASLab/qmoe.