Quantizzazione e co. Riduzione dei tempi di inferenza su LLM del 80%

Quantizzazione e molto altro riduzione dell'80% dei tempi di inferenza su LLM

Fonte: https://www.pexels.com/photo/cropland-in-autumn-18684338/

La quantizzazione è una tecnica utilizzata per una serie di diversi algoritmi, ma ha guadagnato popolarità con l’abbondante influenza relativamente recente dei Modelli di Linguaggio Ampi (LLMs). In questo articolo, mi propongo di fornire informazioni sulla quantizzazione dei LLM e l’effetto che questa tecnica può avere sull’esecuzione di questi modelli localmente. Descriverò una strategia diversa dalla quantizzazione che può ridurre ulteriormente i requisiti computazionali per l’esecuzione di questi modelli. Spiegherò anche perché queste tecniche potrebbero interessarti e ti mostrerò alcuni benchmark con esempi di codice per capire quanto efficaci siano queste tecniche. Tratterò brevemente anche i requisiti/raccomandazioni hardware e gli strumenti moderni disponibili per raggiungere i tuoi obiettivi di LLM sulla tua macchina. In un articolo successivo, ho intenzione di fornire istruzioni passo passo e codice per il fine-tuning del tuo proprio LLM, quindi tieni d’occhio ciò che verrà pubblicato.

TL;DR – attraverso la quantizzazione del nostro LLM e la modifica del dtype dei tensori, siamo in grado di eseguire le inferenze su un LLM con il doppio dei parametri riducendo anche il tempo di esecuzione dell’80%.

Come sempre, se desideri discutere di qualcosa di cui parlato qui, ti prego di contattarmi.

Tutte le opinioni in questo articolo sono personali. Questo articolo non è sponsorizzato.

Cos’è la quantizzazione (dei LLM)?

La quantizzazione ci consente di ridurre le dimensioni delle nostre reti neurali convertendo i pesi e i bias della rete dal loro formato di punto mobile originale (ad esempio 32 bit) a un formato di precisione inferiore (ad esempio 8 bit). Il formato di punto mobile originale può variare a seconda di diversi fattori, come l’architettura del modello e i processi di addestramento. Lo scopo ultimo della quantizzazione è ridurre le dimensioni del nostro modello, riducendo così la memoria e i requisiti computazionali per l’esecuzione delle inferenze e l’addestramento del modello. La quantizzazione può diventare molto complessa se si prova a quantizzare i modelli da soli. Questo avviene principalmente per la mancanza di supporto hardware da parte di determinati fornitori. Fortunatamente, questo problema può essere bypassato utilizzando specifici servizi e software di terze parti.

Personalmente, ho dovuto superare molte difficoltà per quantizzare LLM come il Llama-2 di Meta sul mio Mac. Questo è principalmente dovuto alla mancanza di supporto per librerie standard (o qualsiasi cosa con kernel CUDA personalizzati). Strumenti di terze parti come…