Quantizzazione di Modelli Linguistici di Grandi Dimensioni per la Generazione di Codice: Una Replica Differenziata
Quantizing Large Language Models for Code Generation: A Differentiated Replication
March 10, 2025
Autori: Alessandro Giagnorio, Antonio Mastropaolo, Saima Afrin, Massimiliano Di Penta, Gabriele Bavota
cs.AI
Abstract
I modelli linguistici di grandi dimensioni (LLM) hanno dimostrato una capacità impressionante nella generazione di codice e, in particolare, nell'implementazione automatica di requisiti descritti in linguaggio naturale. L'efficacia degli LLM generalmente aumenta con le loro dimensioni: maggiore è il numero di parametri addestrabili dell'LLM, migliore è la sua capacità di implementare codice. Tuttavia, quando si tratta di distribuire generatori di codice basati su LLM, gli LLM più grandi presentano sfide significative legate al loro impatto in termini di memoria (e, di conseguenza, di emissioni di carbonio). Un lavoro precedente di Wei et al. ha proposto di sfruttare tecniche di quantizzazione per ridurre l'impatto in memoria dei generatori di codice basati su LLM senza degradarne sostanzialmente l'efficacia. In breve, hanno studiato LLM con fino a 16 miliardi di parametri, quantizzandone la precisione da 32 bit in virgola mobile fino a 8 bit interi, dimostrando un impatto limitato sulle prestazioni nella generazione di codice. Considerando il rapido ritmo con cui le capacità degli LLM e le tecniche di quantizzazione stanno evolvendo, in questo lavoro presentiamo una replica differenziata del lavoro di Wei et al., in cui consideriamo (i) da un lato, LLM più recenti e di dimensioni maggiori, con fino a 34 miliardi di parametri; (ii) i più recenti progressi nelle tecniche di quantizzazione dei modelli, che consentono di spingere la compressione al livello estremo di 2 bit per parametro del modello; e (iii) diversi tipi di dataset di calibrazione per guidare il processo di quantizzazione, inclusi quelli specifici per il codice. La nostra valutazione empirica rivela che la nuova frontiera per la quantizzazione degli LLM è la precisione a 4 bit, che comporta una riduzione media dell'impatto in memoria del 70% rispetto al modello originale, senza osservare alcuna significativa diminuzione delle prestazioni. Inoltre, quando la quantizzazione diventa ancora più estrema (3 e 2 bit), un dataset di calibrazione specifico per il codice aiuta a limitare la perdita di prestazioni.
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.