GPTQ o bitsandbytes quale metodo di quantizzazione utilizzare per LLM – Esempi con Llama 2

GPTQ o bitsandbytes quale metodo di quantizzazione per LLM - Esempi con Llama 2

Quantizzazione di modelli di linguaggio di grandi dimensioni per una messa a punto economica e inferenza sul tuo computer

Immagine dell'autore - Realizzata con un'illustrazione di Pixabay

Man mano che i modelli di linguaggio di grandi dimensioni (LLM) diventano sempre più grandi con sempre più parametri, vengono proposte anche nuove tecniche per ridurre il loro utilizzo di memoria.

Uno dei metodi più efficaci per ridurre la dimensione del modello in memoria è la quantizzazione. La quantizzazione può essere vista come una tecnica di compressione per i LLM. In pratica, l’obiettivo principale della quantizzazione è ridurre la precisione dei pesi del LLM, di solito da 16 bit a 8 bit, 4 bit o anche 3 bit, con una riduzione minima delle prestazioni.

Ci sono due metodi di quantizzazione popolari per i LLM: GPTQ e bitsandbytes.

In questo articolo, discuto quali sono le principali differenze tra questi due approcci. Entrambi hanno i loro vantaggi e svantaggi che li rendono adatti a casi d’uso diversi. Presento un confronto del loro utilizzo di memoria e della velocità di inferenza utilizzando Llama 2. Discuto anche le loro prestazioni basate su esperimenti di lavori precedenti.

Nota: Se vuoi saperne di più sulla quantizzazione, ti consiglio di leggere questa eccellente introduzione di Maxime Labonne:

Introduzione alla quantizzazione dei pesi

Riduzione delle dimensioni dei modelli di linguaggio di grandi dimensioni con quantizzazione a 8 bit

towardsdatascience.com

GPTQ: Quantizzazione post-training per una memorizzazione leggera e un’elaborazione veloce

GPTQ (Frantar et al., 2023) è stato applicato per la prima volta a modelli pronti per il rilascio. In altre parole, una volta che il modello è completamente messo a punto, GPTQ viene applicato per ridurne la dimensione.

GPTQ può ridurre la precisione dei pesi a 4 bit o 3 bit. In pratica, GPTQ viene principalmente utilizzato per la quantizzazione a 4 bit. Si è dimostrato che 3 bit sono molto instabili (Dettmers e Zettlemoyer, 2023).

Quantizza senza caricare l’intero modello in memoria. Invece, GPTQ carica e quantizza il modulo LLM per modulo. La quantizzazione richiede anche un piccolo campione di dati per la calibrazione, che può richiedere più di…