I ricercatori di Google hanno sviluppato una tecnica chiamata Infini-attention, che consente agli LLM di gestire testi infinitamente lunghi senza aumentare i requisiti di calcolo e di memoria.
L'architettura Transformer di un LLM è ciò che gli consente di prestare attenzione a tutti i token di un prompt. Le complesse moltiplicazioni di punti e matrici che esegue sono di complessità quadratica.
Ciò significa che il raddoppio dei token nel prompt richiede una quantità di memoria e di potenza di elaborazione quattro volte superiore. Questo è il motivo per cui è così impegnativo creare LLM con Finestre contestuali di grandi dimensioni senza che i requisiti di memoria e di calcolo salgano alle stelle.
In un LLM "standard", le informazioni all'inizio del contenuto del prompt vengono perse quando il prompt diventa più grande della finestra di contesto. Il sistema di Google carta di ricerca spiega come Infini-attention possa conservare i dati oltre la finestra di contesto.
Google presenta Leave No Context Behind: Trasformatori di contesto infinito efficienti con Infini-attenzione
Il modello 1B, messo a punto su istanze di passkey di lunghezza fino a 5K, risolve il problema della lunghezza di 1M.https://t.co/zyHMt3inhi pic.twitter.com/ySYEMET9Ef
- Aran Komatsuzaki (@arankomatsuzaki) 11 aprile 2024
Come funziona Infini-attention?
Infini-attention combina tecniche di memoria compressiva con meccanismi di attenzione modificati, in modo che le informazioni rilevanti più vecchie non vadano perse.
Quando la richiesta di input cresce oltre la lunghezza del contesto del modello, la memoria compressiva memorizza le informazioni in un formato compresso anziché scartarle.
In questo modo è possibile memorizzare le informazioni più vecchie, meno rilevanti nell'immediato, senza che i requisiti di memoria e di calcolo crescano indefinitamente con l'aumentare degli input.
Invece di cercare di conservare tutte le informazioni più vecchie, la memoria compressiva di Infini-attention pesa e riassume le informazioni ritenute rilevanti e degne di essere conservate.
Infini-attention riprende quindi un meccanismo di attenzione "vanilla", ma riutilizza gli stati del valore chiave (KV) di ogni segmento successivo del modello, invece di scartarli.
Ecco un diagramma che mostra la differenza tra Infini-attention e un altro modello di contesto esteso Transformer XL.
Il risultato è un LLM che presta attenzione locale ai dati di input recenti, ma che porta con sé anche dati storici compressi e continuamente distillati, ai quali può applicare un'attenzione a lungo termine.
L'articolo sottolinea che "questa sottile ma fondamentale modifica del livello di attenzione consente ai LLM di elaborare contesti infinitamente lunghi con risorse di memoria e di calcolo limitate".
Quanto è buono?
Google ha condotto test di benchmarking utilizzando modelli Infini-attention più piccoli, a 1B e 8B parametri. Questi sono stati confrontati con altri modelli di contesto esteso come Transformer-XL e Memorizing Transformers.
L'Infini-Transformer ha ottenuto punteggi di perplessità significativamente più bassi rispetto agli altri modelli durante l'elaborazione di contenuti a contesto lungo. Un punteggio di perplessità più basso significa che il modello è più sicuro delle sue previsioni di output.
Nei test di "recupero della chiave d'accesso", i modelli Infini-attention hanno trovato costantemente il numero casuale nascosto in un testo fino a 1 milione di token.
Altri modelli riescono spesso a recuperare la chiave di accesso verso la fine dell'input, ma faticano a trovarla nel mezzo o all'inizio di un contenuto lungo. Infini-attention non ha avuto problemi con questo test.
I test di benchmarking sono molto tecnici, ma in breve si può dire che Infini-attention ha superato i modelli di base nella sintesi e nella gestione di sequenze lunghe, mantenendo il contesto per periodi prolungati.
È significativo che abbia mantenuto questa capacità di conservazione superiore pur richiedendo una memoria 114 volte inferiore.
I risultati del benchmark convincono i ricercatori che Infini-attention può essere scalato per gestire sequenze di input estremamente lunghe, mantenendo le risorse di memoria e di calcolo limitate.
La natura plug-and-play di Infini-attention consente di utilizzarlo per il pre-addestramento continuo e la messa a punto dei modelli Transformer esistenti. In questo modo si potrebbero estendere efficacemente le finestre di contesto senza richiedere una riqualificazione completa del modello.
Le finestre contestuali continueranno a crescere, ma questo approccio dimostra che una memoria efficiente potrebbe essere una soluzione migliore di una grande libreria.