Ricercatori di Stanford presentano Sophia un ottimizzatore di secondo ordine scalabile per la fase di pre-addestramento dei modelli di linguaggio.

Ricercatori di Stanford presentano Sophia, un ottimizzatore di secondo ordine per pre-addestramento di modelli di linguaggio.

Dato l’elevato costo iniziale per addestrare un modello di linguaggio, qualsiasi miglioramento non banale al processo di ottimizzazione ridurrebbe drasticamente il tempo e il denaro necessari per completare il processo di addestramento. Adam e le sue varianti erano lo stato dell’arte per molto tempo, mentre gli ottimizzatori di secondo ordine (basati sul Hessiano) venivano raramente utilizzati a causa del loro maggiore overhead per passo.

Viene proposta una stima leggera dell’Hessiano diagonale come precondizionatore per l’ottimizzatore di secondo ordine Sophia, Second-order Clipped Stochastic Optimization, proposto dai ricercatori. Sophia è un ottimizzatore innovativo che può risolvere LLM due volte più velocemente di Adam. Dopo l’aggiornamento, viene eseguito un taglio elemento per elemento, che viene trovato prendendo la media dei gradienti e dividendo per la media dell’Hessiano stimato. Il taglio limita le dimensioni dell’aggiornamento nel caso peggiore e mitiga l’effetto della non convessità e dei rapidi cambiamenti dell’Hessiano della traiettoria. Aggiungere alcune nuove righe di codice potrebbe ridurre il budget di $2M nell’intervallo di $1M (ipotizzando l’applicazione delle leggi di ridimensionamento).

Il tempo medio per passo e l’overhead di memoria sono bassi perché Sophia stima solo l’Hessiano diagonale ogni poche iterazioni. Sophia raddoppia la velocità di Adam in termini di numero di passi, calcolo totale e tempo sul clock mentre modella il linguaggio con modelli GPT-2 che variano in dimensione da 125 milioni a 770 milioni. I ricercatori dimostrano che Sophia può gestire grandi variazioni di parametri che sono alla base dei compiti di modellazione del linguaggio. Il limite di tempo di esecuzione è indipendente dal numero di condizione della perdita.

Caratteristiche chiave

  • Sophia è facile da implementare con PyTorch, in quanto richiede una stima leggera dell’Hessiano diagonale come precondizione sul gradiente (vedi pseudocodice nella prima immagine) prima di tagliare individualmente gli elementi.
  • Sophia aiuta anche con la stabilità pre-allenamento. Meno spesso rispetto ad Adam e Lion, viene indotto il taglio del gradiente. Il trucco di riparametrizzazione, in cui la temperatura focalizzata varia con l’indice di layer, non è necessario.
  • Sophia garantisce una riduzione coerente della perdita in tutte le dimensioni dei parametri penalizzando gli aggiornamenti più pesantemente nelle dimensioni affilate (con grande Hessiano) rispetto alle dimensioni piatte (con piccolo Hessiano). Nello spazio bidimensionale, Adam converge più lentamente.

Aspetti importanti di questo progetto

  • Questo dimostra che anche con risorse limitate, gli accademici possono esaminare il pre-addestramento LLM e sviluppare algoritmi nuovi ed efficaci.
  • Oltre a rivedere materiale di corsi di ottimizzazione precedenti, i ricercatori hanno ampiamente utilizzato il ragionamento teorico durante il processo di studio.

Nel codice previsto per il rilascio domani, i ricercatori hanno utilizzato una versione leggermente modificata della definizione comunemente accettata di LR. Sebbene più ordinata per la digitazione, la definizione di LR nell’articolo potrebbe essere migliore per il codice informatico.