L’aspetto del BERT modello ha portato a progressi significativi nella PNL. Derivando la sua architettura da TrasformatoreBERT raggiunge risultati all’avanguardia su vari compiti a valle: modellazione del linguaggio, previsione della frase successiva, risposta alle domande, tagging NER, ecc.
Nonostante le eccellenti prestazioni di BERT, i ricercatori hanno comunque continuato a sperimentare la sua configurazione nella speranza di ottenere parametri ancora migliori. Fortunatamente, ci sono riusciti e hanno presentato un nuovo modello chiamato Roberta — Approccio BERT fortemente ottimizzato.
In questo articolo faremo riferimento al funzionario Carta Roberta che contiene informazioni approfondite sul modello. In parole semplici, RoBERTa consiste in numerosi miglioramenti indipendenti rispetto al modello BERT originale: tutti gli altri principi, inclusa l’architettura, rimangono gli stessi. Tutti i progressi saranno trattati e spiegati in questo articolo.
Dall’architettura del BERT ricordiamo che durante il pretraining BERT esegue la modellazione del linguaggio cercando di prevedere una certa percentuale di token mascherati. Il problema con l’implementazione originale è il fatto che i token scelti per il mascheramento di una determinata sequenza di testo in batch diversi talvolta sono gli stessi.
Più precisamente, il dataset di training viene duplicato 10 volte, quindi ogni sequenza viene mascherata solo in 10 modi diversi. Tenendo presente che BERT esegue 40 epoche di addestramento, ciascuna sequenza con lo stesso mascheramento viene passata a BERT quattro volte. Come hanno scoperto i ricercatori, è leggermente meglio utilizzare il mascheramento dinamico, nel senso che il mascheramento viene generato in modo univoco ogni volta che una sequenza viene passata a BERT. Nel complesso, ciò si traduce in dati meno duplicati durante l’addestramento, offrendo l’opportunità a un modello di funzionare con dati e modelli di mascheramento più diversi.
Gli autori dell’articolo hanno condotto una ricerca per trovare un modo ottimale per modellare il compito di previsione della frase successiva. Di conseguenza, hanno trovato diversi spunti preziosi:
- La rimozione della perdita di previsione della frase successiva determina prestazioni leggermente migliori.
- Il passaggio di singole frasi naturali nell’input BERT danneggia le prestazioni, rispetto al passaggio di sequenze costituite da più frasi. Una delle ipotesi più probabili che spiegano questo fenomeno è la difficoltà per un modello di apprendere dipendenze a lungo raggio basandosi solo su singole frasi.
- È più vantaggioso costruire sequenze di input campionando contigue frasi da un singolo documento anziché da più documenti. Normalmente, le sequenze sono sempre costruite da frasi complete contigue di un singolo documento in modo che la lunghezza totale sia al massimo di 512 token. Il problema sorge quando arriviamo alla fine di un documento. A questo proposito, i ricercatori hanno confrontato se valesse la pena interrompere il campionamento delle frasi per tali sequenze o campionare ulteriormente le prime frasi del documento successivo (e aggiungere un corrispondente separatore tra i documenti). I risultati hanno mostrato che la prima opzione è migliore.
Alla fine, per l’implementazione finale di RoBERTa, gli autori hanno scelto di mantenere i primi due aspetti e di omettere il terzo. Nonostante il miglioramento osservato dietro la terza intuizione, i ricercatori non hanno proceduto con essa perché altrimenti avrebbe reso più problematico il confronto tra le implementazioni precedenti. Ciò accade perché raggiungere il confine del documento e fermarsi lì significa che una sequenza di input conterrà meno di 512 token. Per avere un numero simile di token in tutti i batch, in questi casi la dimensione del batch deve essere aumentata. Ciò porta a dimensioni variabili dei lotti e a confronti più complessi che i ricercatori volevano evitare.
I recenti progressi nella PNL hanno mostrato che l’aumento della dimensione del batch con l’appropriata diminuzione del tasso di apprendimento e del numero di fasi di addestramento tende solitamente a migliorare le prestazioni del modello.
Come promemoria, il modello base BERT è stato addestrato su una dimensione batch di 256 sequenze per un milione di passaggi. Gli autori hanno provato ad addestrare BERT su batch di dimensioni pari a 2K e 8K e quest’ultimo valore è stato scelto per addestrare RoBERTa. Il numero corrispondente di fasi di addestramento e il valore del tasso di apprendimento sono diventati rispettivamente 31K e 1e-3.
È anche importante tenere presente che l’aumento delle dimensioni del batch si traduce in una più semplice parallelizzazione attraverso una tecnica speciale chiamata “accumulo del gradiente”.
Nella PNL esistono tre tipi principali di tokenizzazione del testo:
- Tokenizzazione a livello di carattere
- Tokenizzazione a livello di sottoparola
- Tokenizzazione a livello di parola
Il BERT originale utilizza una tokenizzazione a livello di sottoparola con una dimensione del vocabolario di 30K che viene appresa dopo la preelaborazione dell’input e utilizzando diverse euristiche. RoBERTa utilizza byte invece di caratteri Unicode come base per le sottoparole ed espande la dimensione del vocabolario fino a 50K senza alcuna preelaborazione o tokenizzazione dell’input. Ciò si traduce in parametri aggiuntivi di 15 milioni e 20 milioni rispettivamente per i modelli BERT base e BERT grandi. La versione di codifica introdotta in RoBERTa mostra risultati leggermente peggiori rispetto a prima.
Tuttavia, nella crescita delle dimensioni del vocabolario in RoBERTa è possibile codificare quasi ogni parola o sottoparola senza utilizzare il token sconosciuto, rispetto a BERT. Ciò offre un notevole vantaggio a RoBERTa poiché il modello ora può comprendere più pienamente testi complessi contenenti parole rare.
A parte ciò, RoBERTa applica tutti e quattro gli aspetti sopra descritti con gli stessi parametri di architettura di BERT large. Il numero totale di parametri di RoBERTa è 355M.
RoBERTa è preaddestrato su una combinazione di cinque enormi set di dati per un totale di 160 GB di dati di testo. In confronto, BERT large è preaddestrato solo su 13 GB di dati. Infine, gli autori aumentano il numero di passaggi di training da 100.000 a 500.000.
Di conseguenza, RoBERTa supera BERT large su XLNet large sui benchmark più popolari.
Analogamente a BERT, i ricercatori hanno sviluppato due versioni di RoBERTa. La maggior parte degli iperparametri nelle versioni Base e Large sono gli stessi. La figura seguente mostra le principali differenze:
Il processo di messa a punto in RoBERTa è simile a quello di BERT.
In questo articolo abbiamo esaminato una versione migliorata di BERT che modifica la procedura di formazione originale introducendo i seguenti aspetti:
- mascheramento dinamico
- omettendo l’obiettivo di previsione della frase successiva
- formazione su frasi più lunghe
- aumento della dimensione del vocabolario
- formazione più lunga con batch di dati più grandi
Il modello RoBERTa risultante sembra essere superiore ai suoi antenati rispetto ai parametri di riferimento più importanti. Nonostante una configurazione più complessa, RoBERTa aggiunge solo 15 milioni di parametri aggiuntivi mantenendo una velocità di inferenza paragonabile a BERT.
Tutte le immagini, se non diversamente specificato, sono dell’autore
Fonte: towardsdatascience.com