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.
Promettenteaggiornato 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.
Memoria necessaria per conservare 1 miliardo di pesi
32 bit4 GB
16 bit2 GB
8 bit1 GB
4 bit0,5 GB
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.
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.
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.
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.
V
Cosa cambia per le nostre ipotesi
Terzo fattore di H6: i bit per peso. Il parallelo con il nostro taccuino colpisce: un modello ternario conserva solo il verso di ogni connessione (a favore, contro, neutro), come se i dettagli fini non avessero posto nei pesi. È proprio la divisione che proponiamo: i grandi principi nel modello, i dettagli precisi in una memoria esterna.
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.