[ad_1]
Quando una conversazione uomo-intelligenza artificiale prevede molti cicli di dialogo continuo, i potenti modelli di apprendimento automatico del linguaggio che guidano i chatbot come ChatGPT a volte iniziano a collassare, causando un rapido deterioramento delle prestazioni dei bot.
Un team di ricercatori del MIT e di altri paesi ha individuato una causa sorprendente di questo problema e ha sviluppato una soluzione semplice che consente a un chatbot di mantenere una conversazione continua senza bloccarsi o rallentare.
Il loro metodo prevede una modifica alla cache dei valori-chiave (che è come una memoria di conversazione) al centro di molti modelli linguistici di grandi dimensioni. In alcuni metodi, quando questa cache deve contenere più informazioni di quante ne abbia la capacità, i primi dati vengono eliminati. Ciò può causare il fallimento del modello.
Garantendo che questi primi dati rimangano in memoria, il metodo dei ricercatori consente a un chatbot di continuare a chattare indipendentemente dalla durata della conversazione.
Il metodo, chiamato StreamingLLM, consente a un modello di rimanere efficiente anche quando una conversazione si estende per più di 4 milioni di parole. Rispetto a un altro metodo che evita i crash ricalcolando costantemente parte delle conversazioni passate, StreamingLLM ha funzionato più di 22 volte più velocemente.
Ciò potrebbe consentire a un chatbot di condurre lunghe conversazioni durante la giornata lavorativa senza la necessità di essere continuamente riavviato, abilitando efficienti assistenti IA per attività come copywriting, modifica o generazione di codice.
“Ora, con questo metodo, possiamo implementare in modo persistente questi grandi modelli linguistici. Creando un chatbot con cui possiamo sempre chattare e che può sempre risponderci in base alle nostre conversazioni recenti, potremmo utilizzare questi chatbot in alcune nuove applicazioni”, afferma Guangxuan Xiao, uno studente laureato in ingegneria elettrica e informatica (EECS). e autore principale di un articolo su StreamingLLM.
I coautori di Xiao includono il suo consulente, Song Han, professore associato in EECS, membro del MIT-IBM Watson AI Lab e un illustre scienziato di NVIDIA; così come Yuandong Tian, ricercatore presso Meta AI; Beidi Chen, assistente professore alla Carnegie Mellon University; e l’autore senior Mike Lewis, ricercatore presso Meta AI. Il lavoro sarà presentato alla Conferenza Internazionale sulle Rappresentazioni dell’Apprendimento.
Un fenomeno sconcertante
I modelli linguistici di grandi dimensioni codificano i dati, come le parole in una query utente, in rappresentazioni chiamate token. Molti modelli utilizzano quello che è noto come meccanismo di attenzione che utilizza questi token per generare nuovo testo.
In genere, un chatbot AI scrive un nuovo testo in base al testo che ha appena visto, quindi archivia i token recenti in memoria, chiamata KV Cache, da utilizzare in seguito. Il meccanismo dell’attenzione costruisce una griglia che include tutti i token nella cache, una “mappa dell’attenzione” che delinea la forza con cui ogni token, o parola, si collega a ciascun altro token.
Comprendere queste relazioni è una caratteristica che consente a modelli linguistici di grandi dimensioni di generare testo simile a quello umano.
Ma quando la cache diventa molto grande, la mappa dell’attenzione può diventare ancora più massiccia, rallentando il calcolo.
Inoltre, se la codifica del contenuto richiede più token di quelli che la cache può contenere, le prestazioni del modello diminuiscono. Ad esempio, un modello popolare può memorizzare 4.096 token, ma in un documento accademico ce ne sono circa 10.000.
Per aggirare questi problemi, i ricercatori utilizzano una “cache scorrevole” che elimina i token più vecchi per aggiungerne di nuovi. Tuttavia, le prestazioni del modello spesso crollano non appena il primo token viene eliminato, riducendo rapidamente la qualità delle parole appena generate.
In questo nuovo articolo, i ricercatori si sono resi conto che se mantengono il primo token nella cache scorrevole, il modello manterrà le sue prestazioni anche quando viene superata la dimensione della cache.
Ma questo non aveva alcun senso. La prima parola in un romanzo probabilmente non ha nulla a che fare con l’ultima parola, quindi perché la prima parola dovrebbe essere così importante affinché il modello generi la parola più nuova?
Nel loro nuovo articolo, i ricercatori hanno scoperto anche la causa di questo fenomeno.
L’attenzione diminuisce
Alcuni modelli utilizzano un’operazione Softmax nel loro meccanismo di attenzione, che assegna un punteggio a ciascun token che rappresenta quanto è correlato l’uno all’altro token. L’operazione Softmax richiede che tutti i punteggi di attenzione siano sommati a 1. Poiché la maggior parte dei token non sono fortemente correlati, i loro punteggi di attenzione sono molto bassi. Il modello scarica l’eventuale punteggio di attenzione rimanente nel primo token.
I ricercatori chiamano questo primo token un “dissipatore di attenzione”.
“Abbiamo bisogno di un pozzo di attenzione e il modello decide di utilizzare il primo token come pozzo di attenzione perché è visibile a livello globale: ogni altro token può vederlo. Abbiamo scoperto che dobbiamo sempre mantenere l’attenzione nella cache per mantenere la dinamica del modello”, afferma Han.
Durante la creazione di StreamingLLM, i ricercatori hanno scoperto che avere quattro token di attenzione all’inizio della cache scorrevole porta a prestazioni ottimali.
Hanno anche scoperto che la codifica posizionale di ciascun token deve rimanere la stessa, anche quando vengono aggiunti nuovi token e altri vengono eliminati. Se il token 5 viene eliminato, il token 6 deve rimanere codificato come 6, anche se ora è il quinto token nella cache.
Combinando queste due idee, hanno consentito a StreamingLLM di mantenere una conversazione continua, superando al tempo stesso le prestazioni di un metodo popolare che utilizza il ricalcolo.
Ad esempio, quando la cache ha 256 token, il metodo di ricalcolo impiega 63 millisecondi per decodificare un nuovo token, mentre StreamingLLM impiega 31 millisecondi. Tuttavia, se la dimensione della cache aumenta fino a 4.096 token, il ricalcolo richiede 1.411 millisecondi per un nuovo token, mentre StreamingLLM richiede solo 65 millisecondi.
“L’approccio innovativo di StreamingLLM, incentrato sul meccanismo di assorbimento dell’attenzione, garantisce un utilizzo e prestazioni stabili della memoria, anche durante l’elaborazione di testi fino a 4 milioni di token di lunghezza”, afferma Yang You, un giovane professore presidenziale di informatica presso l’Università Nazionale di Singapore, che non era coinvolto in questo lavoro. “Questa capacità non è solo impressionante; è trasformativo e consente di applicare StreamingLLM a un’ampia gamma di applicazioni IA. Le prestazioni e la versatilità di StreamingLLM la rendono una tecnologia altamente promettente, pronta a rivoluzionare il modo in cui affrontiamo le applicazioni di generazione basate sull’intelligenza artificiale”.
Tianqi Chen, assistente professore nei dipartimenti di apprendimento automatico e informatica della Carnegie Mellon University, anch’egli non coinvolto in questa ricerca, è d’accordo, affermando che “lo streaming LLM consente l’estensione graduale della durata della conversazione di modelli linguistici di grandi dimensioni. Lo abbiamo utilizzato per consentire l’implementazione dei modelli Mistral sugli iPhone con grande successo”.
I ricercatori hanno anche esplorato l’uso dei dissipatori di attenzione durante l’addestramento del modello anteponendo diversi token segnaposto in tutti i campioni di addestramento.
Hanno scoperto che l’addestramento con i livelli di attenzione consentiti a un modello di mantenere le prestazioni con un solo livello di attenzione nella cache, anziché i quattro normalmente necessari per stabilizzare le prestazioni di un modello pre-addestrato.
Tuttavia, sebbene StreamingLLM consenta a un modello di condurre una conversazione continua, il modello non può ricordare le parole che non sono archiviate nella cache. In futuro, i ricercatori intendono affrontare questa limitazione studiando metodi per recuperare i token che sono stati sfrattati o consentire al modello di memorizzare conversazioni precedenti.
StreamingLLM è stato incorporato nella grande libreria di ottimizzazione dei modelli linguistici di NVIDIA, TensorRT-LLM.
Questo lavoro è finanziato, in parte, dal MIT-IBM Watson AI Lab, dal MIT Science Hub e dalla National Science Foundation degli Stati Uniti.
[ad_2]
Source link