Perceiver AR generazione autoregressiva a lungo contesto a uso generale

'Perceiver AR' è un modello generativo autoregressivo ad ampio contesto.

Negli ultimi anni, i Transformers autoregressivi hanno portato una costante serie di avanzamenti nella modellazione generativa. Questi modelli generano ogni elemento di un campione – i pixel di un’immagine, i caratteri di un testo (tipicamente in “token”), i campioni di una forma d’onda audio, e così via – prevedendo un elemento dopo l’altro. Quando prevede il prossimo elemento, il modello può guardare indietro a quelli creati in precedenza.

Tuttavia, ogni livello di un Transformer diventa più costoso man mano che vengono utilizzati più elementi come input, e i professionisti possono permettersi di allenare solo Transformers profondi su sequenze lunghe non più di circa 2.048 elementi. E quindi, la maggior parte dei modelli basati su Transformer ignorano tutti gli elementi oltre il passato più recente (circa 1.500 parole o 1/6 di un’immagine piccola) quando fanno una previsione.

Al contrario, i nostri modelli Perceiver recentemente sviluppati forniscono eccellenti risultati su una varietà di compiti del mondo reale con fino a circa 100.000 elementi. I Perceiver utilizzano l’attenzione incrociata per codificare gli input in uno spazio latente, separando i requisiti computazionali dell’input dalla profondità del modello. I Perceiver spendono anche un costo fisso, indipendentemente dalle dimensioni dell’input, in quasi ogni livello.

Mentre la codifica nello spazio latente gestisce tutti gli elementi in un solo passaggio, la generazione autoregressiva assume che l’elaborazione avvenga un elemento alla volta. Per affrontare questo problema, Perceiver AR propone una soluzione semplice: allineare i latenti uno per uno con gli elementi finali dell’input e mascherare attentamente l’input in modo che i latenti vedano solo gli elementi precedenti.

Perceiver AR mappa una sequenza di input (P e r c e i v e r A R) in uno spazio latente ridotto tramite attenzione incrociata per produrre un latente per ogni token di destinazione (3 latenti mostrati, uno per i target A R <EOS>, per E nd O f S equence). Questi latenti vengono quindi elaborati da un insieme profondo di livelli di auto-attenzione. Perceiver AR può essere addestrato per la generazione autoregressiva end-to-end, facendo uso di sequenze di input molto lunghe.

Il risultato è un’architettura (mostrata sopra) che tiene conto di input fino a 50 volte più lunghi rispetto ai Transformers standard, pur essendo implementata in modo ampio (e essenzialmente allo stesso modo) dei Transformers che includono solo il decodificatore.

All'aumentare della lunghezza del contesto o delle dimensioni del modello, la quantità di calcolo necessaria per addestrare un modello cresce. Possiamo quantificare il budget di calcolo per diversi modelli misurando la loro velocità su hardware reale (passi al secondo su TPUv3), man mano che la lunghezza del contesto di input e le dimensioni del modello aumentano. A differenza di altri modelli generativi come Transformer o Transformer-XL, Perceiver AR separa la lunghezza del contesto di input dalla profondità del modello, consentendoci di implementare facilmente i modelli profondi necessari per modellare sequenze lunghe su TPU o GPU di ultima generazione.

Perceiver AR scala considerevolmente meglio in termini di dimensioni rispetto ai Transformers standard e ai modelli Transformer-XL a diverse lunghezze di sequenza in termini reali. Questa proprietà ci consente di costruire modelli di lungo contesto molto efficaci. Ad esempio, scopriamo che un Perceiver AR con 60 strati e una lunghezza di contesto di 8192 supera un Transformer-XL con 42 strati in un compito di generazione di lunghezza di un libro, mentre si esegue più velocemente in termini di tempo effettivo sul calendario.

Sui benchmark di generazione standard di immagini a lungo contesto (ImageNet 64×64), linguaggio (PG-19) e musica (MAESTRO), Perceiver AR produce risultati all’avanguardia. Aumentare il contesto di input separando la dimensione dell’input dal budget di calcolo porta a diversi risultati intriganti:

  • Il budget di calcolo può essere adattato al momento della valutazione, consentendoci di spendere meno e degradare gradualmente la qualità o di spendere di più per una generazione migliorata.
  • Un contesto più ampio consente a Perceiver AR di superare Transformer-XL, anche quando si spende lo stesso importo per il calcolo. Abbiamo riscontrato che un contesto più ampio porta a una migliore performance del modello anche a una scala accessibile (~1B parametri).
  • La qualità del campione di Perceiver AR mostra molta meno sensibilità all’ordine in cui genera gli elementi. Ciò rende Perceiver AR facile da applicare a situazioni che non hanno un ordine naturale da sinistra a destra, come i dati come le immagini, con una struttura che si estende su più dimensioni.

Utilizzando un dataset di musica per pianoforte, abbiamo addestrato Perceiver AR per generare nuovi brani musicali da zero. Poiché ogni nuova nota viene prevista in base alla sequenza completa delle note che sono venute prima, Perceiver AR è in grado di produrre brani con un alto livello di coerenza melodica, armonica e ritmica:

Scopri di più sull’utilizzo di Perceiver AR:

  • Scarica il codice JAX per addestrare Perceiver AR su Github
  • Leggi il nostro articolo su arXiv
  • Dai un’occhiata alla nostra presentazione spot a ICML 2022

Vedi il post del blog di Google Magenta con più musica!