notizia

Cosa succede se condivido/salto il livello Transformer?Le ultime ricerche rivelano il suo meccanismo di flusso di informazioni

2024-07-26

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

Il vento dell'ovest proviene dal Tempio Aofei
Qubit |. Account pubblico QbitAI

Il meccanismo del flusso di informazioni in Transformer è stato rivelato dalle ultime ricerche:

Sono necessari tutti gli strati? Lo strato intermedio sta facendo la stessa cosa? L'ordine degli strati è importante?

Sesalta alcuni strati, ad esempio, cosa accadrà se l'output del livello 4 è collegato al livello 6.Mescola casualmente l'ordine degli strati, che ne dici di 4-6-5-7, per esempio.

Un recente studio chiamato "Transformer Layers as Painters" è diventato popolare ed è stato completato da un gruppo di ricerca delle startup AI Sakana AI ed Emergence AI.



Sono partiti dal principio di funzionamento interno del Transformer e sono giunti alle conclusioni sui problemi di cui sopra attraverso una serie di esperimenti. Il team ha affermato che una profonda comprensione di questi principi può non solo migliorare l'efficienza dell'utilizzo del modello esistente, ma anche aiutare a migliorare l'architettura e a sviluppare nuove varianti.

A Lucas Beyer, ricercatore di Google DeepMind e autore di ViT, è piaciuto subito dopo averlo letto:

Ottimo riassunto! Sebbene alcuni esperimenti siano stati mostrati in studi precedenti, mi piacciono i nuovi dettagli che hai aggiunto, in particolare evidenziando che i compiti di tipo "ragionamento" sono più influenzati rispetto ad altri compiti!



Anche molti studiosi e ingegneri hanno espresso forti raccomandazioni.

È una buona scommessa che alcune di queste intuizioni verranno eventualmente utilizzate per migliorare Transformer.



Gli esperimenti hanno confermato ancora una volta che: copiare i livelli è utile per attività creative, ma è generalmente inefficace per attività di ragionamento; cambiare l’ordine dei livelli non funziona meglio nello strato intermedio, ma richiede comunque aggiustamenti.



Quindi, quali esperimenti ha condotto il gruppo di ricerca in questo studio? A quali domande è stata data risposta?

Selezione e benchmarking del modello sperimentale

Diamo prima un'occhiata alla configurazione sperimentale~

Sperimenta dentrosolo decoderEsolo codificatoreeseguita sul modello.

Tra questi sceglie il modello solo decoderLama2, studia principalmente Llama2-7B con 32 strati e 7 miliardi di parametri. L'esperimento esteso include anche modelli 13B (40 strati) e 70B (80 strati).

Sceglie il modello solo encoderBERT, con 24 strati e 340 milioni di parametri.

I ricercatori hanno utilizzato punti di controllo pre-addestramento standard per questi modelli. In tutti gli esperimenti, il modello è stato congelato e, ad eccezione della valutazione di BERT, che includeva una fase di messa a punto standard, i parametri del modello non sono stati modificati tramite messa a punto o altri metodi.

In termini di test di benchmark, Llama2 utilizza i seguenti benchmark standard: ARC (domande del test di scienze), HellaSwag (domande di buon senso), GSM8K (domande di matematica), WinoGrande (ragionamento basato sul buon senso), LAMBADA (previsione del vocabolario). Tra questi, LAMBADA viene utilizzato per misurare la confusione, che è il più vicino alla previsione del token originale utilizzata durante l'addestramento.

Per la valutazione delle prestazioni di Llama2 viene fornita la mediana normalizzata dei benchmark, quantificando la prestazione da 0 a 1 (prestazione ottimale del modello).

Per BERT viene adottato il benchmark GLUE e vengono seguite le sue metriche di valutazione, compreso il punteggio medio non normalizzato del benchmark. Si noti che la valutazione BERT standard include una fase di messa a punto, adattando così il modello. In appendice i ricercatori mostrano anche un risultato di valutazione in cui è possibile adattare solo la testa del modello.

La motivazione per l’esperimento originariamente derivava da questa domanda:

È possibile combinare in qualche modo più livelli in un unico livello, possibilmente più grande?Si ipotizza che forse a causa dell'utilizzo di connessioni residue durante l'allenamento, lo strato intermedio della rete neuralePuò essere utilizzato uno spazio di rappresentazione comune.(Questo non è vero per i percettroni multistrato standard, che non dispongono di alcun meccanismo per promuovere la rappresentazione comune o la coerenza della disposizione tra gli strati)

Se i livelli possono condividere uno spazio di rappresentazione, ciò avrà un impatto importante sui calcoli delle condizioni successive o sull'aggiunta dinamica di nuove conoscenze al modello Transformer preaddestrato e alle applicazioni a valle.

8 domande importanti su Transformer
I layer utilizzano lo stesso spazio di rappresentazione?

Per determinare se diversi strati condividono lo stesso spazio di rappresentazione, i ricercatori hanno esaminato quello dei TransformerSalta livelli specifici o modifica l'ordine dei livelli adiacentidi robustezza.

Ad esempio, nel modello Llama2-7B, modifica il flusso di output dall'ordine normale di "Livello 4 -> Livello 5 -> Livello 6" a "Livello 4 -> Livello 6", saltando Livello 5. Cosa succederà?

Oppure cosa succede se l'output del livello 4 viene inviato al livello 6, quindi l'output del livello 6 viene inviato al livello 5 e quindi al livello 7?

Come mostrato nella figura seguente, l'esperimento ha rilevato che, ad eccezione del primo e dell'ultimo strato,Llama2-7B mostra una buona robustezza saltando o modificando la sequenza dei livelli

Vale a dire, lo strato intermedio condivide uno spazio di rappresentazione, e lo strato intermedio e lo "strato esterno" (il primo e l'ultimo strato) hanno spazi di rappresentazione indipendenti.



Per confermare ulteriormente questa ipotesi, i ricercatori hanno misurato la somiglianza media del coseno tra le attivazioni dello stato nascosto di diversi strati in diversi modelli (Llama2-7B, Llama2-13B e BERT-Large) e li hanno confrontati attraverso i benchmark.

La Figura 3 seguente mostraCoerenza tra tutti gli strati intermedi . Ad esempio, l'attivazione del quarto strato in basso è molto simile all'attivazione del quarto strato in alto. Per il Llama2-13B a ​​40 strati, puoi vedere che gli strati possono essere divisi in 4-5 gruppi in base alla somiglianza: strato 0, strati 1-3, lo strato intermedio e poi l'ultimo o gli ultimi due strati.



Ciò suggerisce che il modello potrebbeEsistono tre diversi spazi di rappresentazione per gli strati "inizio", "intermedio" e "fine". . I ricercatori hanno anche scoperto che il numero di “strati iniziali” sembrava aumentare con il numero totale di strati nel modello.

Inoltre, un’elevata somiglianza del coseno può dimostrare che esiste uno spazio di rappresentazione condiviso, mentre una bassa somiglianza è più indicativa che questi spazi non siano condivisi. I dati di Llama2-7B nella Figura 3 sopra sono altamente coerenti con i risultati delle prestazioni mostrati nella Figura 2, il che dimostra ulteriormente:

Almeno lo spazio di rappresentanza al livello intermedio è condiviso.

Sono necessari tutti gli strati?

Per verificare ulteriormente che lo spazio di rappresentazione dello strato intermedio sia realmente condiviso, i ricercatori hanno anche condottoEsperimento di salto dei livelli(Non è stata eseguita alcuna messa a punto durante gli esperimenti).

Nello specifico, l'output dello strato Nesimo viene passato direttamente all'ingresso dello strato N+Mesimo (M>1), "saltando" così lo strato M-1, come mostrato nella figura seguente.



Originariamente lo strato N+M veniva addestrato solo sull'input dello strato N+M-1, quindi ora può comprendere l'attivazione dello strato N?

In questo tipo di esperimento, i ricercatori eseguono normalmente il primo strato e l'ultimo strato N-1, saltando o modificando gli strati da N+1 a TN (T è il numero totale di strati nel modello).

Come mostrato nella Figura 4 di seguito, in più test benchmark, Llama2-7B e BERT-LargeLe prestazioni stanno gradualmente diminuendo (La figura mostra il graduale aumento del numero di strati saltati da sinistra a destra). Questo risultato ha rivelato:

Non tutti i livelli sono necessari e l'omissione di almeno alcuni dei livelli intermedi non avrà un impatto significativo sulle prestazioni complessive.



I livelli intermedi svolgono tutti la stessa funzione?

Gli strati intermedi sono ridondanti se condividono uno spazio di rappresentazione comune?

Per rispondere a questa domanda, i ricercatori hanno rifatto il precedente esperimento "salta", ma questa volta invece di saltare lo strato intermedio,Sostituiti i pesi di tutti gli strati intermedi con i pesi dello strato centrale,Come mostrato di seguito.

Infatti, sul layer centrale vengono eseguiti T-2N+1 tempi, dove T è il numero totale di layer del modello (Llama2-7B è di 32 layer, BERT-Large è di 24 layer).



Nel test benchmark risultante, all'aumentare del numero di strati sostituiti,Le prestazioni del modello peggiorano rapidamente . E il degrado delle prestazioni è molto più grave del semplice salto di alcuni strati, questo tipo di sostituzione del peso è estremamente dannoso.



Perciò,Non è ridondante che gli strati intermedi svolgano ciascuno funzioni diverse. La condivisione dei pesi tra gli strati intermedi può avere conseguenze disastrose.

L'ordine degli strati è importante?

Gli esperimenti di cui sopra mostrano che sebbene lo strato intermedio condivida lo spazio di rappresentazione, esegue operazioni diverse su questo spazio. Quindi è importante l’ordine di queste operazioni? I ricercatori hanno condotto due serie di esperimenti.

Innanzitutto, lo strato intermedio viene addestrato secondoordine inverso eseguito in ordine (ordine inverso). Passa l'output dello strato TN allo strato TN-1 e così via fino allo strato N, quindi passa l'output di quello strato allo strato TN finale.

Come mostrato di seguito:



Il secondo esperimento,disposizione casualeGli strati intermedi vengono ordinati e calcolata la media di 10 risultati seed casuali.

I risultati sono quelli mostrati di seguito. In entrambi i casi, i modelli mostranoDegrado lento delle prestazioni





Di seguito è riportato uno spoiler di un risultato sperimentale. Che si tratti di ordine inverso o casuale, le prestazioni del modello sono migliori rispetto al salto diretto di questi livelli, indicando che anche se i livelli vengono eseguiti su input in ordine non di addestramento, possono comunque produrre. uscita effettiva.

Quindi, l’ordine dei livelli è importante? La conclusione è:

La regolazione dell'ordine dei livelli ha un certo impatto sulle prestazioni e sia l'ordine casuale che l'ordine inverso mostrano un certo degrado delle prestazioni.

Vale la pena notare che l'ordine casuale funziona meglio dell'ordine inverso. Potrebbe essere perché l'ordine inverso è completamente opposto all'ordine durante l'addestramento, e qualsiasi ordine casuale mantiene almeno una certa coerenza sequenziale (ovvero, uno strato i è sempre dopo un altro strato j, dove i>j).

Questi livelli possono essere eseguiti in parallelo?

Se la presenza dei layer, cioè il fatto che non vengano saltati, è più importante dell’ordine in cui vengono eseguiti, è possibile considerareEsegui questi livelli in modo indipendente e quindi combina i loro risultati ? Come mostrato di seguito.



I ricercatori hanno condotto un esperimento in cui invece di saltare gli strati da N a TN, hanno eseguito questi strati intermedi in parallelo e poi hanno passato i risultati medi agli strati N finali.

I risultati sono mostrati nella figura seguente Ad eccezione del benchmark del problema di matematica GSM8K, tutti i benchmark mostrano un lento degrado delle prestazioni.

È interessante notare cheI livelli paralleli funzionano meglio rispetto al salto dei livelli, ma non così bene come l'esecuzione dei livelli in ordine inverso.



In sintesi, è possibile eseguire questi livelli in parallelo? la risposta è:Sì, ad eccezione dei benchmark ricchi di matematica.

Per alcune attività, l’ordine conta di più?

La maggior parte delle varianti (inclusi ordine inverso, salta e parallelo) mostrano il degrado delle prestazioni più rapido nei benchmark GSM8K con ragionamento astratto o ragionamento matematico.

Ciò può essere spiegato dal fatto che i compiti di ragionamento graduale sono più sensibili ai cambiamenti nell'ordine dei livelli rispetto ai compiti "semantici" come Winogrande o HellaSwag.

Questo perché i compiti di ragionamento richiedono una combinazione di informazioni strutturali e semantiche, mentre compiti come HellaSwag possono essere completati solo con la semantica.

Attraverso gli esperimenti, i ricercatori hanno concluso:I compiti matematici e di ragionamento si basano più sull'ordine che sui compiti "semantici".

L'iterazione aiuta con i livelli paralleli?

Se il meccanismo di funzionamento interno di Transformer viene paragonato al processo di pittura di un quadro: la tela (input) viene passata tra alcuni pittori, alcuni pittori sono specializzati nel dipingere uccelli, e alcuni sono più bravi a dipingere ruote... Ogni pittore a sua volta disegna da un altro Il pittore prende tra le mani la tela e decide se aggiungerla al dipinto o passarla direttamente al pittore successivo (utilizzando i collegamenti residui).

È concepibile che alcuni strati "completino" il dipinto solo quando ricevono input appropriati. Ad esempio, un artista che "disegna ruote" è più propenso a disegnarle se vede prima la carrozzeria di un'auto.

Nel Transformer, alcuni strati possono contribuire al passaggio in avanti solo quando ricevono l'input appropriato, anziché far passare l'input direttamente attraverso la connessione residua.

Considerandolo in questo modo, rispetto all'esecuzione del livello parallelo una sola volta,Esecuzione iterativa di strati paralleliDovrebbe migliorare le prestazioni.

I ricercatori hanno testato questo aspetto restituendo l'output medio degli strati paralleli allo stesso strato e fissando il numero di iterazioni, come mostrato di seguito:



Nella Figura 9 di seguito, i ricercatori mostrano i risultati dell'iterazione del livello parallelo 3 volte. Questo metodo è significativamente migliore rispetto all'esecuzione del livello parallelo una sola volta.



L'unica eccezione è quando il livello iniziale N è 15 per Llama2-7B o 11 per BERT. In questo caso, l'effetto di parallelizzare il ciclo 3 volte equivale a ripetere solo lo strato intermedio 3 volte e lo strato parallelo in questo momento equivale al modello completo.

I ricercatori hanno anche ripetuto l’esperimento con un numero diverso di iterazioni.

La figura seguente mostra come cambiano le prestazioni di Llama2-7B con il numero di strati paralleli M e il numero di iterazioni.



Il numero ottimale di iterazioni per ogni M è indicato dal riquadro rosso. Ad eccezione di M=29 e M=31 (quasi tutti gli strati sono parallelizzati), il numero ottimale di iterazioni è approssimativamente linearmente proporzionale al numero di strati paralleli.

Quindi la conclusione è:L'iterazione aiuta con i livelli paralleli e il numero ottimale di iterazioni è proporzionale al numero di livelli paralleli.

Quali varianti danneggiano meno le prestazioni?

Infine, i ricercatori hanno confrontato tutte le diverse varianti dell’esperimento sullo stesso grafico.

I risultati mostrano che,Ripeti il ​​singolo strato(Come accennato in precedenza, sostituire gli strati intermedi con un numero uguale di strati più centrali)L'effetto peggiore, le prestazioni scendono rapidamente al livello di base casuale.



Il parallelismo iterativo e il degrado delle prestazioni sequenziali dei livelli casuali sono minimi, tra cui il parallelismo iterativo offre le migliori prestazioni in BERT e Llama2-7B.



Ulteriori risultati sperimentali sono stati aggiunti all'appendice dell'articolo e i familiari interessati possono controllare l'articolo originale.

Link al documento: https://arxiv.org/abs/2407.09298v1
Link di riferimento: https://x.com/A_K_Nain/status/1812684597248831912