notizia

70 volte la massima compressione!Non importa quanti checkpoint hai su un modello di grandi dimensioni, non avrai paura.

2024-08-05

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

La rubrica AIxiv è una rubrica in cui Machine Heart pubblica contenuti accademici e tecnici. Negli ultimi anni, la rubrica Heart of the Machine AIxiv ha ricevuto più di 2.000 segnalazioni, riguardanti i migliori laboratori delle principali università e aziende di tutto il mondo, promuovendo efficacemente gli scambi accademici e la divulgazione. Se hai un lavoro eccellente che desideri condividere, non esitare a contribuire o contattarci per segnalarlo. E-mail di presentazione: [email protected] [email protected];

Gli autori di questo articolo provengono tutti dal Noah Laboratory di Huawei. Il primo autore è Li Wenshuo e gli autori corrispondenti sono Wang Yunhe e Chen Xinghao. Negli ultimi anni, team pertinenti hanno pubblicato una serie di lavori rappresentativi in ​​occasione di conferenze importanti come ICML, CVPR, NeurIPS, ICCV ed ECCV. Hanno prodotto risultati ricchi in campi come modelli linguistici di grandi dimensioni efficienti e modelli visivi, e hanno collaborato rinomate università e istituti di ricerca scientifica la cooperazione istituzionale è ampia.

In quanto meritato "re del traffico" nell'attuale settore dell'intelligenza artificiale e nel mondo accademico, i modelli di grandi dimensioni hanno attratto un gran numero di studiosi e aziende a investire risorse nella ricerca e nella formazione. Man mano che la scala cresce, i problemi di sistema e di ingegneria sono diventati problemi inevitabili nell'addestramento di modelli di grandi dimensioni. Ad esempio, durante l'addestramento di 54 giorni di Llama3.1, il sistema si è bloccato 466 volte, con una media di una volta ogni 2,78 ore!



Quindi sono necessari frequenti controlli di stoccaggio. Ma anche la memorizzazione dei checkpoint è di per sé un grande progetto.



Meta ha compiuto molti sforzi per accelerare i tempi dei checkpoint di archiviazione e aumentare la frequenza di archiviazione per combattere i frequenti guasti del sistema. Ma l'archiviazione frequente comporta anche un notevole sovraccarico delle risorse di archiviazione. Il suo cluster di formazione è dotato di un SSD da 240 PB per affrontare questa sfida. Il solo costo dello storage è di 100 milioni di yuan!

È nato il metodo ExCP di Huawei Noah. Per gestire l'enorme sovraccarico causato dallo storage, è stata proposta la tecnologia di checkpoint di compressione estrema, che può comprimere il modello senza perdite 70 volte, riducendo significativamente il sovraccarico di storage durante l'addestramento.





Il codice è ora open source e rilasciato sotto il framework Apache 2.0. Alcuni partner nel problema hanno riprodotto con successo i risultati.



  • Indirizzo dell'articolo: https://arxiv.org/abs/2406.11257
  • Indirizzo del magazzino: https://github.com/Gaffey/ExCP

Il metodo è anche molto innovativo. Nell'articolo vengono menzionati due concetti importanti: uno è utilizzare le informazioni residue dei checkpoint nell'addestramento per ottenere un rapporto di potatura più elevato attraverso la scarsità di informazioni sulle serie temporali, l'altro è ottimizzare i filtri e i pesi vengono combinati per la compressione per ottenere un tasso di compressione complessivamente elevato.



metodo specifico

1. Residui del checkpoint

Durante il processo di addestramento, i parametri correnti possono essere considerati come il peso memorizzato nel checkpoint precedente più la somma degli aggiornamenti del gradiente nelle iterazioni successive. Questa parte è relativamente scarsa e contiene meno informazioni, quindi questo residuo viene compresso, una compressione migliore è possibile ottenere il rapporto Al contrario, la quantità di moto memorizzata nell'ottimizzatore è la media mobile del primo e del secondo momento del gradiente. Per il primo momento, il parametro predefinito della media mobile è 0,9, che varia da centinaia a migliaia. non c'è molta correlazione con il contenuto memorizzato nell'ultimo checkpoint, quindi l'ottimizzatore comprime direttamente il proprio valore anziché il residuo.Il checkpoint finale da comprimere è espresso come



2. Compressione articolare Momentum ottimizzatore di peso

Il lavoro esistente relativo alla compressione del modello generalmente si concentra solo sulle prestazioni di inferenza del modello o sulla dimensione del checkpoint di archiviazione finale del modello, ma non presta attenzione al sovraccarico dello spazio di archiviazione del modello durante l'intero processo di addestramento. Pertanto, il lavoro esistente comprime solo i pesi, ignorando che ottimizzatori comuni come Adam immagazzinano effettivamente una quantità di moto pari al doppio del numero di pesi. Da un lato, questo lavoro li comprime insieme, migliorando significativamente il rapporto di compressione complessivo; dall'altro, utilizza anche la correlazione tra i pesi e la quantità di moto dell'ottimizzatore per migliorare ulteriormente il rapporto di compressione dell'altro.

Potatura del peso: poiché il peso della potatura è il valore residuo, il momento di secondo ordine del momento dell'ottimizzatore può rappresentare approssimativamente l'ampiezza del cambiamento del valore residuo del peso nell'ultimo periodo di tempo, quindi il momento del secondo ordine del momento dell'ottimizzatore può essere utilizzato come indicatore. Determinare il rapporto di potatura di diversi strati.La strategia di potatura è mostrata nella formula seguente



Nella formula, W e rappresentano rispettivamente il peso e il momento secondo.



Potatura del momento dell'ottimizzatore: per la potatura del momento, è possibile utilizzare il momento del primo ordine come indicatore per eseguire la potatura. Nel documento è presente una breve prova della convergenza.Allo stesso tempo, se il peso di una posizione è stato ridotto, anche il momento di ottimizzazione della posizione corrispondente dovrebbe essere elaborato simultaneamente, quindi la strategia di potatura è quella mostrata nella seguente formula



Nella formula, rappresenta il momento del primo ordine.

3. Processo di compressione generale

Il processo di compressione complessivo è mostrato nell'algoritmo 1. Le fasi di calcolo del peso residuo/compressione congiunta/quantizzazione non uniforme/compressione di codifica vengono eseguite in sequenza per ottenere il risultato di compressione finale.



Il processo di recupero del file completo del punto di controllo è come mostrato nell'algoritmo 2. Dopo la decompressione, il risultato in virgola mobile viene prima recuperato dal libro dei codici e dal pedice memorizzati dopo una quantizzazione non uniforme, quindi confrontato con il peso della linea di base (il controllo precedente Il peso originale del punto o il peso di ricostruzione recuperato) vengono sommati per ottenere la scheda completa del checkpoint. Il processo di ripristino dei file dei checkpoint nell'intero processo di training è come mostrato nell'algoritmo 3. Dopo aver completato il training, vengono salvati solo i seed casuali dei pesi di inizializzazione e i risultati di compressione archiviati in ciascun checkpoint, quindi i checkpoint vengono ripristinati in sequenza per ottenere la sequenza completa di checkpoint da cui è possibile selezionare uno o più checkpoint per riprendere l'addestramento/test, ecc.

Risultati sperimentali

L'articolo non valuta solo modelli linguistici di grandi dimensioni, ma questo metodo può anche ottenere buoni risultati su modelli visivi più ampi come ViT-L32.



Dall'esperimento di ablazione si può anche vedere che l'uso del metodo della potatura residua riduce notevolmente la perdita causata dalla potatura.



L'articolo fornisce anche esempi di domande e risposte per modelli linguistici di grandi dimensioni prima e dopo la compressione. Si può vedere che la compressione stessa non causa danni alla capacità di domande e risposte del modello.