Il trucco per far entrare LLaMa nella tua tasca incontra OmniQuant, un metodo di intelligenza artificiale che unisce l’efficienza e le prestazioni delle LLM.

LLaMa incontra OmniQuant, un metodo di intelligenza artificiale che unisce efficienza e prestazioni delle LLM.

I modelli di linguaggio di grandi dimensioni (LLM), come il famigerato ChatGPT, hanno raggiunto prestazioni impressionanti in una varietà di compiti di elaborazione del linguaggio naturale, come la traduzione automatica, la sintesi del testo e la risposta alle domande. Hanno cambiato il modo in cui comunichiamo con i computer e il modo in cui svolgiamo i nostri compiti.

I LLM sono emersi come entità trasformative, spingendo i limiti della comprensione e della generazione del linguaggio naturale. Tra questi, ChatGPT si distingue come un esempio notevole, rappresentando una classe di LLM progettati per interagire con gli utenti in contesti di conversazione. Questi modelli sono il risultato di un addestramento estensivo su dataset di testo estremamente ampi. Ciò conferisce loro la capacità di comprendere e generare testo simile a quello umano.

Tuttavia, questi modelli richiedono molte risorse computazionali e di memoria, il che limita la loro applicazione pratica. Come suggerisce il nome, questi modelli sono grandi; quando diciamo grandi, intendiamo proprio così. Il più recente LLM open source, LLaMa2 di Meta, contiene circa 70 miliardi di parametri.

Ridurre questi requisiti è un passo importante per renderli più pratici. La quantizzazione è una tecnica promettente per ridurre il costo computazionale e di memoria dei LLM. Ci sono due modi principali per effettuare la quantizzazione: la quantizzazione successiva all’addestramento (PTQ) e l’addestramento consapevole della quantizzazione (QAT). Sebbene il QAT offra un’accuratezza competitiva, è proibitivamente costoso in termini di calcolo e tempo. Pertanto, il PTQ è diventato il metodo preferito per molti sforzi di quantizzazione.

Le tecniche di PTQ esistenti, come la quantizzazione solo dei pesi e la quantizzazione dei pesi e delle attivazioni, hanno ottenuto significative riduzioni del consumo di memoria e del costo computazionale. Tuttavia, tendono ad avere difficoltà con la quantizzazione a basso numero di bit, che è fondamentale per un’implementazione efficiente. Questa degradazione delle prestazioni nella quantizzazione a basso numero di bit è principalmente dovuta alla dipendenza da parametri di quantizzazione realizzati manualmente, che portano a risultati non ottimali.

Incontriamo OmniQuant. Si tratta di una nuova tecnica di quantizzazione per i LLM che raggiunge prestazioni all’avanguardia in vari scenari di quantizzazione, in particolare nelle impostazioni a basso numero di bit, preservando al contempo l’efficienza di tempo e dati del PTQ.

Caratteristiche di OmniQuant sulla famiglia LLaMa. Fonte: https://arxiv.org/pdf/2308.13137.pdf

OmniQuant adotta un approccio unico congelando i pesi originali a piena precisione e incorporando un insieme limitato di parametri di quantizzazione apprendibili. A differenza del QAT, che comporta un’ottimizzazione dei pesi complicata, OmniQuant si concentra su singoli layer in un processo di quantizzazione sequenziale. Ciò consente un’ottimizzazione efficiente utilizzando algoritmi semplici.

OmniQuant è composto da due componenti cruciali: Clipping dei pesi apprendibile (LWC) e Trasformazione equivalente apprendibile (LET). LWC ottimizza la soglia di troncamento, modulando i valori estremi dei pesi, mentre LET affronta i valori anomali delle attivazioni apprendendo trasformazioni equivalenti all’interno di un encoder di trasformatori. Queste componenti rendono i pesi e le attivazioni a piena precisione più adatti alla quantizzazione.

La flessibilità di OmniQuant si manifesta attraverso la sua versatilità, adattandosi sia alla quantizzazione solo dei pesi che alla quantizzazione dei pesi e delle attivazioni. La parte migliore è che OmniQuant non comporta un ulteriore onere computazionale o parametri per il modello quantizzato, poiché i parametri di quantizzazione possono essere fusi nei pesi quantizzati.

Panoramica di OmniQuant. Fonte: https://arxiv.org/pdf/2308.13137.pdf

Al posto di ottimizzare congiuntamente tutti i parametri dell’LLM, OmniQuant quantifica in modo sequenziale i parametri di uno strato prima di passare al successivo. Ciò consente ad OmniQuant di essere ottimizzato efficientemente utilizzando un semplice algoritmo di discesa del gradiente stocastico (SGD).

Si tratta di un modello pratico in quanto è abbastanza facile da implementare anche su una singola GPU. È possibile addestrare il proprio LLM in 16 ore, il che li rende davvero accessibili in varie applicazioni reali. Inoltre, non si sacrifica la performance poiché OmniQuant supera i precedenti metodi basati su PTQ.

Tuttavia, è ancora un metodo relativamente nuovo e ci sono alcune limitazioni alle sue prestazioni. Ad esempio, talvolta può produrre risultati leggermente peggiori rispetto ai modelli a piena precisione. Tuttavia, questo è un inconveniente minore di OmniQuant in quanto è comunque una tecnica promettente per il deployment efficiente degli LLM.