L'IA di domani
IT

← Torna al quaderno

Approfondimento · Folio IV

Calcolare con meno bit

Ogni numero di un modello è memorizzato con una certa precisione, come un righello graduato in millimetri o in centimetri. Per anni i modelli hanno usato 16 o 32 bit per numero. Si scopre che spesso possono accontentarsi di 8, di 4, perfino di meno di 2.

Promettente aggiornato il

I

L'idea, in breve

I pesi di un modello sono numeri. Memorizzarli con meno bit è come arrotondare: si perde un po' di dettaglio, ma ogni numero occupa meno spazio, si legge più in fretta e si moltiplica con circuiti più piccoli.

Il vero guadagno sta meno nel calcolo che nello spostamento: come mostra la figura dell'energia nella pagina principale, leggere un numero dalla memoria costa centinaia di volte più che calcolarci. Dimezzare i bit dimezza quella bolletta.

II

Come funziona

Il trucco è la scala a blocchi: i numeri sono raggruppati in piccoli pacchetti che condividono una scala comune, così pochi bit bastano a descrivere ciascuno rispetto ai vicini. Le parti più delicate (primi e ultimi strati, somme) restano a precisione più alta.

Ci sono due strade: comprimere dopo l'addestramento (rapido, ma la qualità crolla a precisione molto bassa) oppure addestrare direttamente a bassa precisione, perché il modello impari a convivere con l'arrotondamento fin dall'inizio.

Fonte: Horowitz, Computing's Energy Problem (ISSCC 2014)

Fig. I — Stesso modello, meno bit

Memoria necessaria per conservare 1 miliardo di pesi

  1. 32 bit4 GB
  2. 16 bit2 GB
  3. 8 bit1 GB
  4. 4 bit0,5 GB
  5. 1,58 bit≈ 0,2 GB

Con tre valori, la moltiplicazione sparisce:

+1sommare il numero0ignorarlo−1sottrarlo

Schema illustrativo: mostra l'idea, non misurazioni.

Ogni volta che si dimezza la precisione si dimezza la memoria da leggere, quindi l'energia spesa per spostarla. Con solo −1, 0 o +1, una moltiplicazione diventa un'addizione, una sottrazione o niente del tutto.
III

Tre gradini verso il basso

Accertato

8 bit: DeepSeek-V3 (2024)

Prima convalida dell'addestramento a 8 bit su un modello gigante: la maggior parte dei calcoli matriciali di DeepSeek-V3 è fatta in FP8, con una scalatura fine. L'errore di addestramento resta entro lo 0,25 % dal riferimento a 16 bit. È una delle ragioni del suo basso costo di addestramento.

Fonte: DeepSeek-AI, DeepSeek-V3 Technical Report (2024)

Promettente

4 bit: NVFP4 (2025)

NVIDIA ha addestrato un modello da 12 miliardi di parametri su 10 000 miliardi di parole a 4 bit, il più lungo addestramento di questo tipo pubblicato. Su MMLU-Pro: 62,58 % contro 62,62 % a 8 bit. Sui chip recenti, i 4 bit calcolano da 2 a 3 volte più in fretta degli 8 bit con metà memoria. Circa il 16 % degli strati resta a precisione più alta, e il codice è un po' più debole.

Fonte: NVIDIA, Pretraining Large Language Models with NVFP4 (2025)

Promettente

1,58 bit: BitNet b1.58 (2024)

Ogni peso vale −1, 0 o +1. Da 3 miliardi di parametri eguaglia un modello a 16 bit addestrato sugli stessi dati, essendo 2,71 volte più veloce e usando 3,55 volte meno memoria; a 70 miliardi, 4,1 volte più veloce. Energia di calcolo stimata per i prodotti di matrici: 71 volte meno.

Fonte: Ma et al., The Era of 1-bit LLMs: BitNet b1.58 (2024)

IV

I limiti

Nessuna scorciatoia per i modelli esistenti: i pesi ternari vanno imparati fin dall'inizio; arrotondare così tanto un modello esistente lo rompe. L'hardware è in ritardo: i guadagni di BitNet sono pienamente reali solo su chip progettati per esso. Compiti fragili: il codice e il calcolo preciso soffrono per primi. E più dati un modello ha visto, più dettagli fini portano i suoi pesi, il che lascia meno margine per arrotondare.

VI

Cosa vorremmo provare

Prendere uno stesso modello aperto a 16, 8 e 4 bit e porre alle tre versioni le stesse domande sugli articoli di OrigoTech. La nostra scommessa: i fatti (date, cifre) si degradano prima del ragionamento. Se è così, è un argomento per conservare i fatti fuori dai pesi.

Torna su