NVFP4: recuperare l’accuratezza dei modelli a 4 bit con la distillazione

Comprimere un modello a quattro bit fa risparmiare memoria e calcolo, ma spesso ne intacca l'accuratezza. Un report tecnico di NVIDIA mostra che conviene non riaddestrarlo, ma fargli imitare la versione a piena precisione.

Immaginate di dover riprodurre un quadro avendo a disposizione una scatola di sedici pastelli, e nient’altro. Ogni sfumatura dell’originale — le mille gradazioni di un cielo al tramonto — dovete costringerla ad appoggiarsi al colore più vicino tra quei sedici. Il disegno resta riconoscibile, ma qualcosa si perde: le transizioni morbide diventano scalini. Se il quadro è un grande murale, l’occhio perdona; se è una miniatura fitta di dettagli, la povertà della tavolozza si vede tutta.

È più o meno quello che succede quando si quantizza una rete neurale. I numeri che compongono un modello linguistico — miliardi di pesi — vengono di norma memorizzati con sedici bit ciascuno, un formato chiamato BF16. Ridurli a quattro bit significa costringere ogni numero ad appoggiarsi a uno di appena $2^4 = 16$ valori possibili. Il vantaggio è concreto: meno memoria, più velocità. Il rischio è quello dei sedici pastelli. Un report tecnico di NVIDIA, uscito a gennaio 2026, affronta proprio la parte fastidiosa della storia: come rimettere a fuoco la miniatura dopo averla ridipinta con la tavolozza povera.

Perché quattro bit

Il formato di cui parla il paper si chiama NVFP4, ed è una virgola mobile a quattro bit pensata per le GPU NVIDIA di ultima generazione. Rispetto a FP8 — lo standard a otto bit già diffuso — promette da due a tre volte il throughput aritmetico e circa 1,8 volte meno memoria occupata. La differenza rispetto a un altro formato a quattro bit, MXFP4, sta nei dettagli dello scaling. NVFP4 raggruppa i numeri in blocchi da 16 anziché da 32, e usa due livelli di riscalatura: un fattore locale in formato FP8 (E4M3) per ogni blocco, più un fattore globale in FP32 per l’intero tensore. Tornando all’analogia: non solo avete sedici pastelli, ma per ogni piccola porzione del disegno potete «ritararli» con una tinta locale, e una tinta d’insieme copre tutta la tela. Questo recupera parecchia della finezza persa.

Il punto onesto è che questa finezza non basta sempre. Con la quantizzazione post-addestramento (PTQ) — che comprime il modello già addestrato senza toccarlo oltre, calibrando i fattori di scala su pochi dati campione — NVFP4 se la cava bene sui modelli molto grandi: nel report, un modello da 253 miliardi di parametri e DeepSeek R1 (671 miliardi) restano a un soffio dall’originale anche a quattro bit. Ma sui modelli piccoli il calo diventa non trascurabile. E c’è un fatto controintuitivo: gli algoritmi PTQ più sofisticati, quelli che di solito domano i valori anomali, con NVFP4 spesso non migliorano affatto rispetto alla versione base, perché il blocco piccolo da 16 elementi neutralizza le loro tecniche. Per i modelli piccoli, insomma, serve qualcosa di più.

Reimparare o imitare

La strada classica per recuperare accuratezza dopo la quantizzazione si chiama quantization-aware training (QAT): si riaddestra il modello compresso sullo stesso compito e con gli stessi dati dell’originale, minimizzando la solita funzione di costo — la cross-entropy sulla parola successiva, cioè quanto il modello sbaglia a prevedere il token corretto. Formalmente si minimizza qualcosa come $-\sum_{y} \mathbf{1}[y=y^{*}]\,\log p_{\text{student}}(y\mid x)$, dove il modello viene premiato solo per aver messo probabilità alta sulla risposta «giusta» dell’etichetta.

Il report propone e mette alla prova un’alternativa: la quantization-aware distillation (QAD). L’idea, presa in prestito dalla distillazione della conoscenza, è di non riaddestrare affatto il modello sul compito, ma di fargli imitare la sua stessa versione a piena precisione. Il modello BF16 originale diventa l’insegnante; il modello a quattro bit è lo studente che deve riprodurne le uscite. Non solo la risposta finale, ma l’intera distribuzione di probabilità su tutto il vocabolario — quel ventaglio sfumato di «questa parola al 60%, quest’altra al 25%, quest’altra ancora al 10%» che racchiude tutta l’esitazione e il sapere del modello grande. La misura di quanto studente e insegnante divergano è la divergenza di Kullback-Leibler:

$$\mathcal{L}_{\text{QAD}} = D_{\text{KL}}\!\left(p_{\text{teacher}}\,\|\,p_{\text{student}}\right) = \sum_{y\in V} p_{\text{teacher}}(y\mid x)\,\log\frac{p_{\text{teacher}}(y\mid x)}{p_{\text{student}}(y\mid x)}$$

La differenza tra i due approcci sembra sottile ma è la chiave di tutto. Il report la fotografa con un esperimento pulito. Su un modello da 49 miliardi di parametri, allenato con appena 0,3 miliardi di token e valutato su cinquemila esempi tenuti da parte, il QAT raggiunge esattamente la stessa cross-entropy del modello BF16 originale (0,408 contro 0,408): a prima vista un recupero perfetto. Ma se si misura la divergenza KL dall’insegnante, la storia cambia: il QAT ha divergenza 0,311, il QAD appena 0,004. Tradotto: il QAT impara a rispondere bene alle etichette, ma nel farlo sposta silenziosamente la distribuzione del modello, comportandosi come una fase di addestramento in più. Il QAD, invece, ricalca fedelmente il comportamento originale.

Recuperare un modello a 4 bit: reimparare (QAT) o imitare l’insegnante (QAD) Insegnante piena precisione (BF16) la distribuzione da riprodurre profilo dell’insegnante (riferimento) Etichette dei token cross-entropy Studente QAT reimpara dalle etichette distribuzione spostata · KL vs BF16 = 0,311 Studente QAD imita l’insegnante distribuzione allineata · KL vs BF16 = 0,004 distillazione · KL

Il QAT reimpara dalle etichette dei token e finisce per spostare la distribuzione del modello. Il QAD fa imitare allo studente l’intera distribuzione dell’insegnante: le barre ricalcano il profilo di riferimento. I due valori di divergenza KL sono quelli misurati nel report su un modello da 49 miliardi di parametri.

I numeri

La differenza teorica diventa sostanza sui benchmark, e soprattutto sui modelli addestrati con le pipeline complesse di oggi — supervised fine-tuning, reinforcement learning, fusione di modelli — dove riprodurre da capo ogni fase per il QAT è impraticabile. Sui modelli in cui domina il fine-tuning supervisionato il vantaggio del QAD è netto ma misurato: su Llama Nemotron Super V1 recupera su AIME25 (il benchmark di matematica da gara) 45,6 punti contro i 41,5 del QAT, con un riferimento BF16 di 46,0; su Nemotron Nano V2 arriva a 71,5 su AIME25 (BF16: 71,1) mentre il QAT scende a 67,1.

È sui modelli plasmati dal reinforcement learning che la storia diventa istruttiva. Qui il QAT non solo non aiuta: fa danni. Su AceReason Nemotron, un modello da 7 miliardi specializzato in matematica e codice, la versione QAT crolla su AIME25 a 46,1 punti — sotto persino la semplice PTQ (58,7) — mentre il QAD risale a 62,0, a un passo dai 63,5 dell’originale. Il motivo, spiega il report, è proprio quello fotografato prima: riaddestrare sui dati (fossero anche i dati di partenza) rischia di cancellare le capacità che il reinforcement learning aveva scolpito nel modello. Il QAD non riaddestra nulla, si limita a far combaciare le distribuzioni, e così non rompe niente.

Il QAT impara a rispondere bene alle etichette, ma nel farlo diventa una fase di addestramento in più. Il QAD non insegna nulla di nuovo: chiede solo di somigliare all’originale.

Robusto fino a sembrare un trucco

La parte più sorprendente riguarda i dati. Se lo studente deve solo imitare l’insegnante, il contenuto di ciò che gli si dà in pasto conta molto meno di quanto ci si aspetterebbe. Il report lo verifica su AceReason con una serie di ablazioni oneste. Addestrare il QAD con soli dati di matematica recupera comunque le prestazioni sul codice, e viceversa: distillato con solo codice, il modello ritrova la matematica (71,0 su AIME24, contro i 71,7 con i dati completi). Le distribuzioni dell’insegnante, evidentemente, portano con sé una conoscenza implicita anche dei domini che i dati di ingresso non toccano.

Si spinge oltre. Alimentando il QAD con testo generato dal modello a partire da un singolo token iniziale, i risultati reggono. Perfino con sequenze di token completamente casuali il modello non si rompe, restando allineato al livello della PTQ. E c’è un dettaglio quasi paradossale: usare tutti i campioni generati, comprese le soluzioni sbagliate, funziona meglio che filtrare solo quelle corrette — perché anche gli errori dicono qualcosa su come l’insegnante distribuisce le sue probabilità. Il tutto con quantità di dati modeste rispetto all’addestramento originale: 0,3 miliardi di token per il modello da 49 miliardi, 0,8 per AceReason, fino ai 6 miliardi del Nano 9B.

I limiti, dichiarati

Vale la pena tenere i piedi per terra, come fa del resto il report stesso. Primo: il QAD non è la scorciatoia gratuita che è la PTQ. Richiede il modello insegnante a piena precisione e un ciclo di addestramento vero, con learning rate da scegliere con cura (il paper consiglia tra $10^{-6}$ e $10^{-5}$, e mostra che sbagliarli degrada o fa divergere il tutto). Secondo: non è per tutti i modelli. Sui modelli molto grandi la semplice PTQ basta già, e sui modelli a singola fase di fine-tuning anche il QAT tiene botta; il QAD dà il meglio nella fascia intermedia e sui modelli passati per il reinforcement learning. Terzo: un insegnante più grande non aiuta — distillare il Nano 9B da un modello da 12B rende meno che usare come insegnante sé stesso. E per le architetture ibride Mamba-Transformer serve comunque tenere a piena precisione alcuni strati di attenzione, altrimenti la base di partenza peggiora.

C’è poi l’onestà di contesto. Non è un articolo peer-reviewed ma un report tecnico di NVIDIA, che descrive un formato legato all’hardware NVIDIA (le GPU Blackwell) e lo valida in larga parte su modelli della stessa NVIDIA, la famiglia Nemotron. L’idea di distillare modelli quantizzati, del resto, non è nuova: il paper lo riconosce e cita precedenti che risalgono all’epoca delle reti convoluzionali. Il contributo qui non è l’invenzione, ma la dimostrazione sistematica che una ricetta semplice — divergenza KL, insegnante uguale a sé stesso, pochi dati — regge sui modelli linguistici complessi di oggi dove le alternative si inceppano. A favore della verificabilità gioca il fatto che checkpoint e codice (per Megatron-LM, NeMo e HuggingFace Transformers) sono pubblici.

La posta in gioco

Dietro la sigla NVFP4 e le tabelle di benchmark c’è una questione molto concreta: quanto costa far girare un modello. Dimezzare la memoria e triplicare il throughput significa modelli che stanno su hardware più piccolo, rispondono più in fretta e consumano meno energia. Il freno, finora, era il prezzo in accuratezza da pagare sui modelli non giganteschi — proprio quelli che più spesso si vogliono mettere in produzione. Se recuperare quel divario costa una manciata di miliardi di token e nessuna riscrittura della pipeline di addestramento, la quantizzazione a quattro bit smette di essere un compromesso da specialisti e diventa un’opzione di default. La miniatura, ridipinta con sedici pastelli, torna a somigliare all’originale abbastanza da non farci più caso.

Il paper

Meng Xin, Sweta Priyadarshi, Jingyu Xin et al. (con Huizi Mao come referente), Quantization-Aware Distillation for NVFP4 Inference Accuracy Recovery, report tecnico NVIDIA, gennaio 2026. Checkpoint NVFP4 e codice (versioni Megatron-LM, NeMo e HuggingFace Transformers) sono resi disponibili dagli autori.

I commenti sono riservati agli iscritti.

Accedi per commentare