Un gruppo di ricerca formato da ByteDance, Princeton University, Tsinghua University, UCLA e Hyperbolic Labs ha sviluppato Falcon, un nuovo framework di Fast Weight Attention progettato per migliorare il modo in cui i modelli di intelligenza artificiale ricorrenti aggiornano la propria memoria interna mentre elaborano nuove informazioni. Il lavoro interviene su un problema specifico dei sistemi che, a differenza dei tradizionali grandi modelli linguistici con pesi fissi dopo l’addestramento, continuano a modificare uno stato interno durante l’inferenza. Architetture come Mamba e DeltaNet comprimono infatti le informazioni passate all’interno di una memoria di dimensioni fisse e la aggiornano progressivamente man mano che arrivano nuovi dati, così da gestire sequenze lunghe con costi inferiori rispetto all’attenzione completa dei transformer.
Il limite individuato riguarda il cosiddetto temporal alignment, cioè l’allineamento temporale tra il momento in cui il modello utilizza le informazioni già disponibili per effettuare una previsione e quello in cui inserisce le nuove informazioni nella propria memoria. Nei meccanismi tradizionali queste due operazioni possono risultare disallineate, con il rischio che l’aggiornamento della memoria non rispetti correttamente la sequenza causale con cui i dati vengono elaborati. Falcon modifica quindi l’ordine delle operazioni adottando una logica di tipo read-after-write, nella quale la memoria viene aggiornata secondo una sequenza più coerente con il flusso temporale delle informazioni. Il modello utilizza le conoscenze precedenti, integra il nuovo contenuto e aggiorna quindi lo stato interno che verrà impiegato nei passaggi successivi.
La memoria interna viene trattata in questo modo non come un semplice deposito statico di informazioni, ma come un insieme di fast weights, cioè pesi temporanei che possono essere modificati dinamicamente durante l’elaborazione della sequenza. L’obiettivo è consentire al modello di adattare rapidamente il proprio stato interno senza modificare permanentemente i parametri appresi durante l’addestramento. Si tratta quindi di una memoria attiva soltanto durante l’elaborazione dell’input corrente e distinta dalla memoria a lungo termine incorporata nei pesi permanenti del modello.
Il framework comprende diverse varianti costruite sulla base del metodo utilizzato per normalizzare e aggiornare i fast weights. Falcon-1 utilizza una formulazione basata su NLMS, mentre Falcon-2 estende l’aggiornamento a livello per-channel. Falcon-3 introduce invece un meccanismo basato su mini-batch con sliding window. A queste versioni si aggiungono le rispettive varianti Falcon-1A, Falcon-2A e Falcon-3A, che utilizzano una formulazione alternativa basata sul prodotto interno. L’architettura supporta inoltre tre diverse modalità di calcolo: ricorrente, mask parallel e chunk parallel, così da poter bilanciare velocità di esecuzione e utilizzo della memoria a seconda della configurazione scelta.
Le prestazioni sono state valutate addestrando modelli compresi tra circa 124 e 130 milioni di parametri sul dataset FineWeb-Edu, utilizzando un volume complessivo di 50 miliardi di token. Nei test di language modeling Falcon ha ottenuto risultati migliori sia rispetto ai transformer tradizionali sia rispetto ad altri modelli ricorrenti. La variante Falcon-1.3 ha raggiunto una validation perplexity di 17,10, contro 17,32 di Gated DeltaNet e 17,38 del transformer utilizzato come riferimento. Poiché la perplexity misura la capacità del modello di prevedere il token successivo e valori inferiori indicano una previsione più accurata, il risultato mostra un miglioramento diretto nella modellazione del linguaggio.
La differenza è risultata ancora più evidente nelle prove progettate per misurare la capacità di conservare informazioni all’interno di contesti più lunghi rispetto a quelli utilizzati durante l’addestramento. I modelli sono stati addestrati a eseguire somme con numeri composti da una fino a 32 cifre e successivamente testati su operazioni con numeri da 33 fino a 48 cifre. In questa condizione Falcon-3A.3 ha ottenuto un’accuratezza media dell’87,2%, mentre il transformer si è fermato al 65,8%. Nel caso più difficile, rappresentato dalle addizioni con numeri di 48 cifre, Falcon ha mantenuto un’accuratezza del 69%, contro il 49% del transformer, con un vantaggio di 20 punti percentuali.
I risultati indicano che la modifica del meccanismo di aggiornamento della memoria consente al modello di controllare con maggiore precisione quali informazioni mantenere e quali eliminare durante l’elaborazione di sequenze lunghe. Falcon non aumenta quindi semplicemente la quantità di memoria disponibile, ma interviene sulla modalità con cui essa viene aggiornata e utilizzata nel tempo, cercando di mantenere l’allineamento causale tra gli input e le successive modifiche dello stato interno.
La memoria gestita da Falcon rimane comunque una memoria temporanea utilizzata durante l’inferenza e non corrisponde a un sistema capace di memorizzare permanentemente nuove informazioni nei parametri del modello. Il framework è stato finora valutato principalmente su modelli di dimensioni relativamente contenute e il passaggio successivo indicato dai ricercatori riguarda la verifica della stessa architettura su grandi modelli linguistici destinati all’impiego commerciale.
Questo articolo è stato redatto con il supporto di strumenti di intelligenza artificiale (AI)
