CompactifAI: comprimere gli LLM con reti tensoriali quantum-inspired

Un gruppo di fisici propone di rimpicciolire i modelli linguistici non tagliando neuroni, ma le correlazioni tra i loro pesi, con le reti tensoriali della fisica quantistica. Su LlaMA-2 7B rivendicano il 93% di memoria in meno con 2-3 punti di accuratezza persi. Con i limiti del caso.

Ogni volta che salvate una foto in JPEG buttate via qualcosa, e va bene così. L’algoritmo sfrutta un fatto banale: i pixel vicini si somigliano. Il cielo azzurro non cambia da un punto al millimetro successivo, e allora conviene descrivere la struttura di quella somiglianza invece di conservare ogni singolo puntino. Il file pesa dieci volte meno e l’occhio quasi non se ne accorge. La ridondanza, si scopre, non stava nei pixel: stava nelle loro correlazioni. Un gruppo di fisici della spagnola Multiverse Computing, guidato da Román Orús, sostiene che i grandi modelli linguistici nascondano lo stesso tipo di ridondanza — e che finora l’abbiamo cercata nel posto sbagliato.

Perché comprimere

La taglia dei modelli è diventata un problema fisico, non solo economico. Il paper cita una cifra che circola dal 2023: l’addestramento di GPT-3 sarebbe costato, per la sola bolletta elettrica, un ordine di grandezza intorno ai 100 milioni di dollari, con i costi che raddoppierebbero ogni dieci mesi. Che il numero preciso sia contestabile o meno, la direzione è quella: modelli sempre più grandi chiedono energia, memoria e data center. E finché un modello vive solo nel cloud di qualcun altro, non può girare sul vostro portatile, nell’ospedale che non vuole mandare i dati fuori, sul telefono in modalità aereo.

Da qui l’interesse per la compressione: prendere un modello addestrato e renderlo più piccolo senza rovinarlo. Non è un tema nuovo, e il paper è onesto nel dirlo.

Due modi di rimpicciolire un modello

Le tecniche esistenti, spiegano gli autori, si dividono in due famiglie che condividono un’assunzione. La prima famiglia riduce il numero di neuroni: il pruning pota i pesi meno utili, la distillation addestra un modello piccolo a imitare uno grande, le approssimazioni a basso rango semplificano le matrici. La seconda famiglia — la quantizzazione — lascia i neuroni al loro posto ma descrive ogni peso con meno cifre: da 32 bit a 8, a 4. Meno precisione per numero, stesso numero di numeri.

Entrambe funzionano, in pratica. Ma poggiano sull’idea che la strada giusta sia tagliare neuroni o tagliare bit. Il paper mette in dubbio proprio questo: se durante l’addestramento l’accuratezza cresce con la dimensione del modello, perché mai buttare via neuroni dovrebbe essere la mossa ottimale? Sono metodi, scrivono, piuttosto «a forza bruta», in cui l’errore introdotto dalla compressione è difficile da controllare e prevedere. La proposta è cambiare oggetto: non i neuroni, non i bit, ma lo spazio delle correlazioni tra i pesi.

Le reti tensoriali, ovvero comprimere le correlazioni

Qui entra la fisica. Le reti tensoriali nascono per descrivere sistemi quantistici di molte particelle, dove la descrizione ingenua esplode: aggiungete una particella e lo spazio degli stati raddoppia. I fisici hanno imparato che gli stati fisicamente rilevanti vivono però in un angolo minuscolo di quell’immensità, e hanno inventato strutture — tra cui i Matrix Product Operator (MPO) — che catturano proprio la struttura delle correlazioni con pochi numeri. «Quantum-inspired» significa esattamente questo: si usa la matematica dei sistemi quantistici, senza bisogno di alcun computer quantistico. Il calcolo resta classico.

CompactifAI applica il trucco ai due tipi di blocco che compongono ogni decoder di LlaMA: i livelli di self-attention e i percettroni multi-strato (MLP). La matrice dei pesi di uno di questi livelli viene «tensorizzata»: si rimodella e si spezza, tramite una serie di decomposizioni ai valori singolari (SVD) in cascata, in una catena di tensori più piccoli — l’MPO. A ogni SVD si tengono solo i $\chi$ valori singolari più grandi. Il parametro $\chi$, la cosiddetta bond dimension, è la manopola della compressione.

Il cuore matematico è la vecchia, affidabile decomposizione ai valori singolari, troncata:

$$W \;\approx\; \sum_{k=1}^{\chi} \sigma_k \, \mathbf{u}_k \mathbf{v}_k^{\top}, \qquad \sigma_1 \ge \sigma_2 \ge \dots \ge 0$$

I valori singolari $\sigma_k$ misurano quanta informazione porta ciascuna direzione; tenendo solo i primi $\chi$ e scartando gli altri, si buttano via le correlazioni più deboli e si conservano quelle che descrivono davvero il sistema. È lo stesso spirito del JPEG: un cambio di coordinate che concentra l’informazione in pochi numeri, poi si tiene la testa della lista. Il vantaggio è che l’errore è governato proprio dai $\sigma_k$ scartati, quindi $\chi$ è una manopola vera: più piccolo, più compressione e più errore. E soprattutto il costo di memorizzare l’MPO cresce in modo polinomiale in $\chi$, contro il costo esponenziale nel numero di neuroni della matrice piena.

Da matrice densa a rete tensoriale (MPO) matrice dei pesi W un livello: milioni di numeri reshape + SVD in cascata tieni i χ valori più grandi χ χ χ MPO: catena di tensori piccoli memoria polinomiale in χ, non esponenziale χ è la manopola: più piccolo, più correlazioni si buttano via — più compressione, più errore

La matrice piena di un livello viene spezzata in una catena di tensori piccoli connessi da indici di dimensione χ. Troncare χ significa scartare le correlazioni più deboli tra i pesi. È qui, e non nel numero di neuroni, che CompactifAI taglia.

Due dettagli rendono il metodo praticabile. Il primo è la profilazione di sensibilità dei livelli: prima di comprimere, si misura quali livelli tollerano meglio il taglio. Gli autori trovano che i livelli più profondi sono i più comprimibili — un risultato che rima con un’osservazione recente e indipendente sulla «irragionevole inefficacia dei livelli profondi» nei modelli linguistici. Il secondo è il healing: dopo aver troncato gli MPO livello per livello, il modello viene riaddestrato brevemente. La troncatura locale non tiene conto di come i livelli interagiscono tra loro, e questo riaddestramento — meno di una singola epoca su dataset di chat generici come Ultrachat, Alpaca e OpenHermes — ricuce lo strappo. Costa poco proprio perché il modello compresso ha molti meno parametri da muovere.

I numeri, senza arrotondare

Il banco di prova è LlaMA-2 7B, il più piccolo dei modelli «large» di Meta: 7 miliardi di parametri, preaddestrato su oltre 2000 miliardi di token, contesto da 4096. Gli autori ne producono versioni compresse combinando tensorizzazione e quantizzazione. Il modello originale in float-32 occupa 27,1 GB. La versione all’88% (solo tensorizzazione, in float-16) scende a 4,1 GB e a 2,1 miliardi di parametri. Aggiungendo quantizzazione a 4 bit sui livelli non tensorizzati si arriva alla versione al 93%: 2,1 GB, sempre 2,1 miliardi di parametri. In memoria, un modello grande un dodicesimo dell’originale.

LlaMA-2 7B: prima e dopo (compressione 93%) Originale 27,1 GB 7 mld parametri float-32 CompactifAI + quantizzazione 93% compresso 2,1 GB 2,1 mld param. mix fp16 / int-4 −93% memoria −70% parametri training 2× più veloce inferenza +25% accuratezza: −2/3 punti sui benchmark, ma GSM8K (matematica) perde ~5 punti

Sui cinque compiti misurati — comprensione linguistica (MMLU), ragionamento di senso comune (HellaSwag), comprensione del testo (BoolQ), conoscenza del mondo (TriviaQA) e matematica (GSM8K) — l’accuratezza del modello al 93% resta vicina all’originale. Su MMLU scende da 46,41 a 44,16, su HellaSwag da 80,55 a 76,54, su BoolQ da 79,76 a 76,77. Il paper sintetizza il tutto in un «calo del 2-3%», ottenuto con il 70% di parametri in meno. In più, i modelli tensorizzati risultano il 50% più veloci in addestramento (metà del tempo, su otto GPU NVIDIA A10g) e oltre il 25% più veloci in inferenza, perché con meno parametri c’è meno traffico tra CPU e GPU. Curiosamente, la sola quantizzazione a 4 bit rallenta l’inferenza del 13%, perché certe operazioni quantizzate non girano bene sulle GPU attuali.

C’è però un dato che il «2-3%» arrotonda via, e vale la pena guardarlo in faccia: su GSM8K, il compito di matematica, il modello al 93% cade da 23,05 a 17,74. Sono oltre cinque punti, quasi un quarto in meno in valore relativo. La compressione morde di più proprio dove serve il ragionamento in più passi. È il tipo di dettaglio che la voce di sintesi tende a nascondere e che invece racconta dove sta il prezzo vero.

Cosa il paper non dice, e chi lo firma

Serve qualche cautela, e in parte la suggerisce il paper stesso. I risultati arrivano su un solo modello, LlaMA-2 7B; non è detto che scalino identici su modelli molto più grandi o su architetture diverse. L’healing è indispensabile — senza riaddestramento la troncatura locale non è ottimale — e qui è durato meno di un’epoca: gli autori dicono che con più fine-tuning si farebbe meglio, ma è una promessa, non una misura. I benchmark sono cinque, e su alcuni la base di partenza è già bassa (TriviaQA sta intorno al 19%), il che rende i confronti percentuali meno leggibili. I dati, infine, sono disponibili «su richiesta ragionevole agli autori»: non un rilascio aperto.

E poi c’è la questione dell’etichetta. CompactifAI è il prodotto commerciale di Multiverse Computing, l’azienda che firma il paper: non è un difetto, ma va tenuto presente quando si legge una rivendicazione così netta («va molto oltre ciò che è ottenibile oggi»). Anche «quantum-inspired» merita disincanto: nessun computer quantistico è coinvolto, sono reti tensoriali classiche, matematica presa in prestito dalla fisica dei molti corpi. È un’idea solida e ben motivata; l’aggettivo è, in parte, marketing.

Perché conta

Al netto delle cautele, la tesi di fondo è interessante e va oltre il singolo metodo: se si può togliere il 70% dei parametri di un modello perdendo pochi punti, allora quei parametri erano in buona parte ridondanti. I modelli linguistici, scrivono gli autori con una battuta che vale la citazione, sono «pesantemente sovraparametrizzati — qualcosa che l’intelligenza naturale non fa di certo». Comprimere le correlazioni invece dei neuroni è un modo più controllabile e trasparente di scoprirlo: la bond dimension dà una manopola con un errore leggibile, non un taglio alla cieca.

La posta in gioco è pratica. Modelli più piccoli consumano meno energia e possono girare in locale, senza spedire i dati nel server di qualcun altro — negli ospedali, nelle aziende che non possono usare il cloud, sui dispositivi personali. È la parola che il paper usa in chiusura, «democratizzazione», e per una volta non suona vuota: se il collo di bottiglia della grande AI è la sua taglia, ogni modo credibile di ridurla senza buttare via la sostanza sposta un po’ di potere verso chi non possiede un data center. Che il metodo migliore sia proprio questo, o che regga su modelli da centinaia di miliardi di parametri, lo diranno i prossimi lavori. L’intuizione — cercare la ridondanza dove sta davvero, nelle correlazioni — resta buona indipendentemente da chi la venda.

Il paper

Andrei Tomut, Saeed S. Jahromi, Abhijoy Sarkar, Uygar Kurt, Sukhbinder Singh, … Samuel Mugel, Román Orús, CompactifAI: Extreme Compression of Large Language Models using Quantum-Inspired Tensor Networks, Multiverse Computing, 2024. Disponibile su arXiv: arxiv.org/abs/2401.14109 (v2, 13 maggio 2024).

I commenti sono riservati agli iscritti.

Accedi per commentare