EfficientQAT: Effizientes Training unter Berücksichtigung der Quantisierung für große Sprachmodelle
EfficientQAT: Efficient Quantization-Aware Training for Large Language Models
July 10, 2024
Autoren: Mengzhao Chen, Wenqi Shao, Peng Xu, Jiahao Wang, Peng Gao, Kaipeng Zhang, Yu Qiao, Ping Luo
cs.AI
Zusammenfassung
Große Sprachmodelle (LLMs) sind integraler Bestandteil der modernen natürlichen Sprachverarbeitung und künstlichen Intelligenz. Sie stehen jedoch vor Herausforderungen bei der Verwaltung ihrer erheblichen Speicheranforderungen. Obwohl das Training mit Quantisierungsbewusstsein (QAT) eine Lösung bietet, indem der Speicherverbrauch durch Niedrigbit-Repräsentationen mit minimalem Genauigkeitsverlust reduziert wird, erfordert es erhebliche Schulungsressourcen, um Modellgewichte und Quantisierungsparameter zu optimieren. Um dies zu bewältigen, schlagen wir Efficient Quantization-Aware Training (EfficientQAT) vor, eine neuartige Quantisierungstechnik zur Komprimierung von LLMs. EfficientQAT umfasst zwei aufeinanderfolgende Phasen: Blockweises Training aller Parameter (Block-AP) und End-to-End-Training der Quantisierungsparameter (E2E-QP). Block-AP führt sequenziell ein Training mit Quantisierungsbewusstsein für alle Parameter in jedem Transformerblock mit blockweiser Rekonstruktion durch und gewährleistet Effizienz, indem das gesamte LLM vermieden wird. Mit dem quantisierten Modell initialisiert, trainiert E2E-QP dann nur die Quantisierungsparameter (Schrittweiten) end-to-end und verbessert die Effizienz mit einem festen quantisierten Grundgerüst und reduzierter Anzahl an trainierbaren Parametern. Umfangreiche Experimente zeigen, dass EfficientQAT im Vergleich zu früheren Quantisierungsmethoden bei einer Vielzahl von Modellen, einschließlich Basis-LLMs, anweisungsgesteuerten LLMs und multimodalen LLMs, mit Skalen von 7B bis 70B Parametern bei verschiedenen Quantisierungsbits überlegen ist. Beispielsweise erreicht EfficientQAT ein 2-Bit-Llama-2-70B-Modell auf einer einzelnen A100-80GB-GPU in 41 Stunden, mit weniger als 3\% Genauigkeitsverlust im Vergleich zur vollen Präzision (69,48 vs. 72,41). Bemerkenswert ist, dass dieses INT2-quantisierte 70B-Modell einen Genauigkeitsgewinn von 1,67 gegenüber dem Llama-2-13B-Modell erzielt (69,48 vs. 67,81), während es weniger Speicher benötigt (19,2GB vs. 24,2GB). Der Code ist verfügbar unter https://github.com/OpenGVLab/EfficientQAT.
English
Large language models (LLMs) are integral to modern natural language
processing and artificial intelligence. However, they face challenges in
managing their significant memory requirements. Although quantization-aware
training (QAT) offers a solution by reducing memory consumption through low-bit
representations with minimal accuracy loss, it demands substantial training
resources to optimize model weights and quantization parameters. To address
this, we propose Efficient Quantization-Aware Training (EfficientQAT), a novel
quantization technique for compressing LLMs. EfficientQAT involves two
consecutive phases: Block-wise training of all parameters (Block-AP) and
end-to-end training of quantization parameters (E2E-QP). Block-AP sequentially
conducts quantization-aware training for all parameters in each transformer
block with block-wise reconstruction, maintaining efficiency by avoiding
training the entire LLM. Initialized with quantized model, E2E-QP then trains
only quantization parameters (step sizes) end-to-end, enhancing efficiency with
a fixed quantized backbone and reduced trainable parameter count. Extensive
experiments demonstrate that EfficientQAT outperforms previous quantization
methods across a range of models, including base LLMs, instruction-tuned LLMs,
and multimodal LLMs, with scales from 7B to 70B parameters at various
quantization bits. For instance, EfficientQAT obtains a 2-bit Llama-2-70B model
on a single A100-80GB GPU in 41 hours, with less than 3\% accuracy degradation
compared to the full precision (69.48 vs. 72.41). Notably, this INT2 quantized
70B model obtains a 1.67 accuracy gain over the Llama-2-13B model (69.48 vs.
67.81) while requiring less memory (19.2GB vs. 24.2GB). Code is available at
https://github.com/OpenGVLab/EfficientQAT.Summary
AI-Generated Summary