Chiosa
IT
Machine Learning

Le soglie di arrotondamento condivise accelerano l’addestramento se l’errore viene corretto

Efficient Quantization Training with Stochastic Rounding via Structured Subspace Randomness · arXiv:2610.36587

3 min
Aggiornato
Overview of INT8 (S8) quantization training with S3R and its structured error correction S3R-EC. On the VPU, S3R broadcasts a compact seed 𝐮t∈[0,1]B×S×1, one threshold per token, to 𝐑t=Φ⁡(𝐮t) inside…
Overview of INT8 (S8) quantization training with S3R and its structured error correction S3R-EC. On the VPU, S3R broadcasts a compact seed 𝐮t∈[0,1]B×S×1, one threshold per token, to 𝐑t=Φ⁡(𝐮t) inside the vector registers, so 𝐑t is never materialized. In the backward pass, the…Fig. 1 · Efficient Quantization Training with Stochastic Rounding via Structured Subspace Randomness · Zeyu Wang et al. · CC BY 4.0

In parole semplici

Con l’addestramento a 8 bit, arrotondare casualmente i valori dei gradienti può preservare gli aggiornamenti piccoli. Ma generare un numero casuale per ogni valore può rallentare l’acceleratore.

Structured Subspace Stochastic Rounding (S3R) riutilizza una soglia casuale per i valori di ciascun token. La sua correzione degli errori rimuove la parte condivisa dell’errore di arrotondamento.

In un addestramento di un modello linguistico con 12 livelli, S3R corretto ha concluso con una validation loss vicina a quella dell’arrotondamento indipendente, ma tre esecuzioni non bastano a chiarire la piccola differenza.

La ricerca

L’addestramento a bassa precisione può ridurre i calcoli, ma generare una soglia casuale indipendente per ogni valore del gradiente può costare molto sugli acceleratori.

Resta da capire se condividere le soglie possa ridurre questo costo conservando la qualità dell’addestramento ottenuta con l’arrotondamento indipendente.

Structured Subspace Stochastic Rounding (S3R) condivide le soglie casuali per ridurre il lavoro di arrotondamento; S3R-EC corregge l’errore condiviso.

S3R riduce il lavoro con i numeri casuali condividendo le soglie tra i valori dei gradienti, ma questa condivisione correla i loro errori di arrotondamento. Gli autori lo abbinano a S3R-EC, che sottrae dai gradienti l’errore strutturato noto prima dell’ottimizzazione.

In un addestramento C4 con un modello di 12 livelli, la validation loss finale media di S3R-EC a due vie è stata 4.919, vicina a 4.929 con arrotondamento indipendente; tre seed non hanno permesso di distinguere questa differenza.

Le misurazioni dei passi completi hanno inoltre rilevato che S3R-EC è più veloce sia di BF16 sia dell’arrotondamento indipendente nei tre modelli densi testati su TPU v5p.

Il confronto della qualità riguarda un solo carico di addestramento C4 con 12 livelli e tre seed per configurazione.

Gli autori affermano che il confronto può rilevare differenze di circa 0.05 unità di validation loss o superiori; non può quindi determinare se S3R corretto e arrotondamento indipendente differiscano di meno.

Cosa mostrano le prove

  • Il costo dell’arrotondamento casuale

    Structured Subspace Stochastic Rounding (S3R) riduce il costo dei numeri casuali usati per arrotondare i gradienti durante l’addestramento di transformer a bassa precisione. L’arrotondamento stocastico indipendente usa una soglia casuale distinta per ogni valore del gradiente.

    Sugli acceleratori in cui la generazione casuale usa le unità vettoriali, questo lavoro può rallentare l’addestramento anche quando le operazioni sulle matrici sfruttano hardware dedicato più veloce.

  • Come vengono condivise le soglie

    S3R quantizza una volta il gradiente proveniente dal livello successivo per entrambi i prodotti tra matrici del passaggio all’indietro e condivide una soglia casuale tra i valori della dimensione nascosta di ciascun token.

    Ogni valore resta non distorto, ma quelli che condividono una soglia possono avere errori di arrotondamento correlati. Il metodo riduce le estrazioni casuali scambiando errori indipendenti con questa struttura condivisa.

  • Dove la condivisione aggiunge errore

    L’analisi degli autori individua l’errore aggiunto nel gradiente delle attivazioni, che viene passato ai livelli precedenti. Nel caso della condivisione per token, l’analisi rileva che l’errore sul gradiente dei pesi mantiene la varianza dell’arrotondamento indipendente, mentre le correlazioni tra errori dei canali aumentano la varianza del gradiente delle attivazioni.

    Questo spiega perché correggere soltanto il gradiente dei pesi lascerebbe intatto l’errore in ingresso.

  • La correzione riporta la qualità vicino al riferimento

    In un modello Llama-style con 12 livelli, addestrato su C4 in inglese per 2,000 passi, S3R per token senza correzione ha ottenuto una validation loss finale media di 5.055 su tre seed, contro 4.929 con arrotondamento indipendente.

    S3R-EC a due vie ha avuto una media di 4.919. I ricercatori hanno usato il miglior learning rate per ogni configurazione, selezionato sul seed 0, mantenendo invariati modello, dati, passi e ottimizzatore AdamW.

  • Velocità nei passi completi testati

    Nei tempi dei passi completi su TPU v5p, S3R-EC a due vie è stato da 1.24 a 1.32 volte più veloce di BF16 e circa 1.11 volte più veloce dell’arrotondamento indipendente, nei tre modelli densi testati. Questi valori usano i tempi mediani di 20 passi dopo 12 passi di riscaldamento.

    Insieme, i risultati sulla qualità e sulla velocità sostengono il metodo nei carichi valutati; il confronto della qualità resta limitato dalla risoluzione offerta dai tre seed.

Dettagli

Paper successivoFlashSO(2) accelera gli strati che preservano la simmetria con l’emulazione intera