notizia

Sono attivati ​​solo i parametri 3.8B e le prestazioni sono paragonabili allo stesso modello 7B!È possibile utilizzare l'ottimizzazione della formazione di Microsoft

2024-07-18

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

  • Crecy proviene dal Tempio Aofei
    Qubit |. Account pubblico QbitAI

È necessario attivare solo il 60% dei parametri, può raggiungere prestazioni paragonabili al modello denso completamente attivato.

Un nuovo studio di Microsoft Research Asia implementa il modelloAttivazione completamente scarsa, riducendo notevolmente il costo del ragionamento.

E ha una vasta gamma di applicazioni, sia che si tratti di formazione da zero, formazione continua o perfezionamento, può fornire un supporto efficace.



Il metodo si chiamaQ-Sparsi, raggiunge la scarsità del modello a livello di neurone ed è più granulare rispetto ad altri metodi. Con lo stesso ragionamento generale, sia le prestazioni che il tasso di scarsità sono migliori.

Nel nome Q si riferisce alla quantizzazione, il che significa che oltre ai modelli ordinari, ancheCompatibile con le tecniche di quantificazione, adatto per modelli di vari metodi di quantificazione.

L'autore ha inoltre affermato che se Q-Sparse viene combinato con la tecnologia di quantificazione del modello, è possibile ottenere una maggiore riduzione dei costi e un miglioramento dell'efficienza.

Inoltre, durante lo studio di Q-Sparse, il team ha anche condotto un’esplorazione approfondita della relazione tra dimensione dei parametri, tasso di scarsità e prestazioni del modello, e ha scoperto“Legge di scala” per l'ottimizzazione dell'inferenza del modello

Alcuni netizen credono che questa tecnologia sia davvero buona e migliore di ReLU.



Altri hanno attivato la modalità desiderio, dicendo che sarebbe fantastico se il ROCm (di AMD) potesse supportare questa tecnologia più velocemente di Nvidia.



Implementare la sparsificazione utilizzando la funzione Top-K

L'operazione principale eseguita da Q-Sparse èApplicare la funzione di sparsificazione Top-K al tensore di input

Nello specifico, l'architettura Transformer utilizza strati lineari nn.Linear (moltiplicazione di matrice) per la proiezione sia nello strato di attenzione che nello strato di feedforward, che può essere espresso come Y=X·W^T. (dove X è il tensore di input, W rappresenta il suo peso e Y è il tensore di output)

In Q-Sparse, per un tensore di attivazione dell'input X, il suo valore assoluto |X| viene prima calcolato e ordinato.Trova gli elementi K con il valore assoluto maggiore tra loro

K ecco un iperparametro preimpostato che determina il grado di sparsificazione.

Q-Sparse creerà quindi un tensore maschera binario M con la stessa forma di X. Per le posizioni corrispondenti agli elementi K con i valori assoluti più grandi in una serie è 0 |

Quindi, eseguire l'operazione del prodotto Hadamard (moltiplicazione per elemento) sul tensore di input X e sul tensore maschera M per ottenere il tensore sparso.X_sparso

Durante il processo di propagazione in avanti, il tensore sparso X_sparse sostituirà il tensore di input originale X per partecipare ai calcoli successivi (come la moltiplicazione di matrici).

Poiché la maggior parte degli elementi in X_sparse sono stati impostati su zero, la quantità di calcolo e i requisiti di larghezza di banda della memoria possono essere ridotti in modo significativo.



Durante la backpropagation, Q-Sparse utilizzastimatore passante(Straight-Through Estimator, STE) per calcolare il gradiente della funzione Top-K.

Nei metodi di addestramento tradizionali, di solito è necessario calcolare il gradiente della funzione di perdita sui parametri di rete e utilizzare il metodo della discesa del gradiente per aggiornare i parametri per minimizzare la perdita.

Tuttavia, quando nella rete sono presenti alcune operazioni non differenziabili come la quantizzazione e Top-K, il calcolo del gradiente incontrerà problemi, poiché il gradiente di output di queste operazioni rispetto all'input è 0 nella maggior parte dei punti, con conseguente incapacità per propagare efficacemente il gradiente.

STE evita il problema del gradiente evanescente passando direttamente il gradiente al tensore prima della sparsificazione.

Nella propagazione all'indietro generale, il gradiente della funzione di perdita da L a x è ∂L/∂x=∂L/∂y⋅∂y/∂x, ma non può essere calcolato direttamente perché non è differenziabile.

La soluzione di STE è calcolare solo il gradiente della funzione di perdita sul tensore sparso y, e poi copiarlo direttamente nel tensore originale x, cioè utilizzare direttamente ∂L/∂y come stima di ∂L/∂x.


△Confronto gradiente con/senza STE

Per il livello feedforward, Q-Sparse utilizzaFunzione ReLU al quadratoInvece della convenzionale funzione di attivazione ReLU, l'operazione quadrata può migliorare ulteriormente la scarsità dell'attivazione (⊙ rappresenta il prodotto Hadamard).



Inoltre, per adattarsi al modello di quantizzazione, Q-Sparse quantizzerà prima il tensore di input prima di applicare la sparsezza Top-K per garantire che l'operazione di sparsezza sia compatibile con la rappresentazione di quantizzazione. La sua funzione è espressa come segue:



Tra questi, ε è una piccola costante utilizzata per evitare che il denominatore sia zero.

In particolare, per pesi quantizzati a 1 bit, Q-Sparse utilizza la seguente funzione di quantizzazione, dove α è il valore assoluto medio del tensore di peso W.



I parametri di attivazione del 60% ottengono lo stesso effetto

Esperimenti comparativi mostrano che Q-Sparse è significativamente migliore del precedente metodo ReLU in termini di tasso di scarsità e prestazioni del modello.



Per quanto riguarda gli effetti specifici di Q-Sparse, l'autore ha valutato le sue prestazioni su tre compiti: allenamento iniziale, allenamento continuo e messa a punto.

Allenati da zeroIl modello utilizzato nell'esperimento è Llama. I risultati mostrano che sui modelli 700M e 7B, Q-Sparse utilizzando il 70% di top-K (ovvero il 40% del tasso di scarsità complessivo) può ottenere una perdita di allenamento paragonabile al denso. linea di base.



continuare la formazioneLo scopo è quello di disperdere il modello denso e l'oggetto sperimentale qui è Mistral-7B.

Di conseguenza, quando i parametri di attivazione erano 2,9B e 3,8B, i punteggi del modello in ARC, MMLU e altri set di dati non sono diminuiti in modo significativo.



esistereritocchiNell'esperimento, sia per i modelli Qwen-7B che per quelli Mistral-7B, Q-Sparse ha mostrato risultati simili all'addestramento continuo, utilizzando circa il 60% dei parametri di attivazione per ottenere prestazioni molto vicine al modello denso.



Questi risultati fanno sì che, a parità di prestazioni, rispetto ai modelli densi,I modelli di attivazione sparsi possono ridurre significativamente i parametri di attivazione durante l'inferenza, riducendo così il numero di FLOPS consumati.

Per il modello quantitativo, il team ha applicato Q-Sparse al modello BitNet b1.58 sviluppato autonomamente e ha condotto formazione e valutazione su più set di dati.

Si può vedere che su entrambe le scale di 700M e 7B, la velocità di convergenza e il valore della funzione di perdita finale del modello quantizzato che utilizza Q-Sparse sono paragonabili al modello quantizzato senza Q-Sparse (BitNet b1.58).

Ciò dimostra che Q-SparsePuò essere perfettamente integrato in modelli quantitativi, senza influenzare significativamente l’addestramento e la convergenza del modello.

In base a ciò, l'autore ritiene che la combinazione di Q-Sparse con la tecnologia di quantizzazione possa migliorare ulteriormente l'efficienza di modelli linguistici di grandi dimensioni nella fase di inferenza.



Scopri la nuova “Legge di Scaling” per l'ottimizzazione dell'inferenza

Oltre a valutare le prestazioni di questi modelli quando si utilizza l'attivazione sparsa, l'autore ha anche esplorato la relazione tra prestazioni del modello, scala e tasso di scarsità, e ha fatto alcune nuove scoperte.

Legge di dimensionamento delle prestazioni dei modelli di attivazione sparsa: l'autore ha scoperto che, analogamente ai modelli densi, anche le prestazioni dei modelli di attivazione sparse seguono una relazione di dimensionamento della legge di potenza.

Nello specifico, dato il tasso di scarsità S, il valore della funzione di perdita L(N,S) del modello quando converge può essere approssimato dalla seguente formula:



Tra questi, N è il numero di parametri del modello; E è una costante che rappresenta la perdita del modello all'infinito A(S) è un fattore di scala relativo al tasso di scarsità S;

Questa legge di scala mostra che,diluirescarsoLe prestazioni dei modelli di attivazione migliorano all'aumentare delle dimensioni del modello, ma il tasso di miglioramento rallenta gradualmente



Allo stesso tempo, l’autore ha scoperto che anche le prestazioni del modello saranno influenzate dal tasso di scarsità.

Come accennato nella sezione sulla relazione tra scala dei parametri e prestazioni, A(S) è un fattore di scala relativo al tasso di scarsità S, che può essere approssimato dalla seguente formula:



dove B e C sono costanti e β è un parametro che controlla il tasso di decadimento esponenziale.

Questa formula mostra che quando il tasso di scarsità S aumenta (il modello diventa più sparso), significaTassi di scarsità più elevati portano a un degrado delle prestazioni, il tasso di declino è esponenziale.



Sulla base dei risultati di cui sopra, l'autore ha derivato un tasso di scarsità ottimale S* per l'inferenza, che può minimizzare il valore della funzione di perdita del modello quando il budget (operazioni in virgola mobile durante l'inferenza) è certo.

Per il modello a precisione completa (FP32), il tasso di scarsità ottimale è di circa il 45,58% mentre il tasso di sparsità ottimale per il modello a bassa precisione (come 1,58 bit) è più elevato, circa il 61,25%;



Gli autori hanno osservato che all’aumentare delle dimensioni del modello, il divario prestazionale tra i modelli di attivazione sparsa e i modelli densi si riduce gradualmente.

Ciò può essere spiegato dalla legge di scala: quando la dimensione del modello N tende all'infinito, il valore della funzione di perdita del modello di attivazione sparsa tende a L(∞,S)=E, mentre il valore della funzione di perdita del modello denso tende a L (∞,0 )=E.

Ciò significa che su scale estremamente grandi, è possibile che i modelli di attivazione sparsa raggiungano prestazioni paragonabili ai modelli densi, fornendo un riferimento utile per la progettazione e l’addestramento di modelli di attivazione sparsa su larga scala.

Indirizzo del documento: https://arxiv.org/abs/2407.10969