Quantisierung großer Sprachmodelle für die Codegenerierung: Eine differenzierte Replikation
Quantizing Large Language Models for Code Generation: A Differentiated Replication
March 10, 2025
Autoren: Alessandro Giagnorio, Antonio Mastropaolo, Saima Afrin, Massimiliano Di Penta, Gabriele Bavota
cs.AI
Zusammenfassung
Große Sprachmodelle (LLMs) haben eine beeindruckende Fähigkeit bei der Code-Generierung gezeigt, insbesondere bei der automatischen Implementierung von Anforderungen, die in natürlicher Sprache beschrieben sind. Die Effektivität von LLMs steigt im Allgemeinen mit ihrer Größe: Je höher die Anzahl der trainierbaren Parameter eines LLMs, desto besser ist seine Fähigkeit, Code zu implementieren. Allerdings stellen größere LLMs erhebliche Herausforderungen in Bezug auf ihren Speicherbedarf (und damit auch ihren CO₂-Fußabdruck) dar, wenn es um den Einsatz von LLM-basierten Code-Generatoren geht. Eine frühere Arbeit von Wei et al. schlug vor, Quantisierungstechniken zu nutzen, um den Speicherbedarf von LLM-basierten Code-Generatoren zu reduzieren, ohne deren Effektivität wesentlich zu beeinträchtigen. Kurz gesagt untersuchten sie LLMs mit bis zu 16 Milliarden Parametern, indem sie deren Präzision von 32-Bit-Gleitkommazahlen auf 8-Bit-Ganzzahlen reduzierten und zeigten, dass dies nur begrenzte Auswirkungen auf die Code-Generierungsleistung hatte. Angesichts des rasanten Fortschritts bei den Fähigkeiten von LLMs und Quantisierungstechniken präsentieren wir in dieser Arbeit eine differenzierte Replikation der Arbeit von Wei et al., in der wir (i) neuere und größere Code-bezogene LLMs mit bis zu 34 Milliarden Parametern betrachten; (ii) die neuesten Fortschritte in der Modellquantisierung, die eine extreme Kompression auf 2 Bit pro Modellparameter ermöglichen; und (iii) verschiedene Arten von Kalibrierungsdatensätzen, einschließlich Code-spezifischer, zur Steuerung des Quantisierungsprozesses. Unsere empirische Auswertung zeigt, dass die neue Grenze für die Quantisierung von LLMs bei 4-Bit-Präzision liegt, was zu einer durchschnittlichen Reduzierung des Speicherbedarfs um 70 % im Vergleich zum Originalmodell führt, ohne dass ein signifikanter Leistungsabfall beobachtet wird. Darüber hinaus hilft ein Code-spezifischer Kalibrierungsdatensatz, den Leistungsverlust zu begrenzen, wenn die Quantisierung noch extremer wird (3 und 2 Bit).
English
Large Language Models (LLMs) have shown an impressive capability in code
generation and, specifically, to automatically implement requirements described
in natural language. The LLM effectiveness generally increases with its size:
The higher the number of LLM's trainable parameters the better its ability to
implement code. However, when it comes to deploying LLM-based code generators,
larger LLMs pose significant challenges related to their memory (and,
consequently, carbon) footprint. A previous work by Wei et al. proposed to
leverage quantization techniques to reduce the memory footprint of LLM-based
code generators without substantially degrading their effectiveness. In short,
they studied LLMs featuring up to 16B parameters, quantizing their precision
from floating point 32 bits down to int 8 bits and showing their limited impact
on code generation performance. Given the fast pace at which LLM capabilities
and quantization techniques are evolving, in this work we present a
differentiated replication of the work by Wei et al. in which we consider (i)
on the one side, more recent and larger code-related LLMs, of up to 34B
parameters; (ii) the latest advancements in model quantization techniques,
which allow pushing the compression to the extreme quantization level of 2 bits
per model parameter and; (iii) different types of calibration datasets to guide
the quantization process, including code-specific ones. Our empirical
evaluation reveals that the new frontier for LLM quantization is 4-bit
precision, resulting in an average memory footprint reduction of 70% compared
to the original model without observing any significant decrease in
performance. Additionally, when the quantization becomes even more extreme (3
and 2 bits), a code-specific calibration dataset helps to limit the loss of
performance.Summary
AI-Generated Summary