Accelera con BERT: modelli di ottimizzazione NLP
Pubblicato: 2022-03-11Accelerare la PNL con BERT: risultati di prim'ordine con 100 volte meno dati
Ci sono due difficoltà principali quando si costruiscono modelli di classificazione dell'elaborazione del linguaggio naturale (NLP) di deep learning.
- Raccolta dati (ottenere migliaia o milioni di punti dati classificati)
- Architettura e formazione di deep learning
La nostra capacità di costruire modelli complessi di deep learning in grado di comprendere la complessità del linguaggio ha in genere richiesto anni di esperienza in questi domini. Più difficile è il tuo problema, più diversificata è la tua produzione, più tempo devi dedicare a ciascuno di questi passaggi.
La raccolta dei dati è onerosa, dispendiosa in termini di tempo, costosa ed è il fattore limitante numero uno per i progetti di PNL di successo. La preparazione dei dati, la creazione di pipeline resilienti, la scelta tra centinaia di potenziali opzioni di preparazione e la preparazione del modello possono richiedere facilmente mesi di impegno anche con ingegneri di machine learning di talento. Infine, la formazione e l'ottimizzazione dei modelli di deep learning richiedono una combinazione di comprensione intuitiva, competenza tecnica e capacità di affrontare un problema.
In questo articolo tratteremo
- Tendenze nel deep learning per la PNL: come il transfer learning sta rendendo open source modelli di livello mondiale
- Introduzione a BERT: un'introduzione allo "strumento" NLP più potente fino ad oggi: rappresentazioni encoder bidirezionali da trasformatori (BERT)
- Come funziona BERT e perché cambierà il modo in cui le aziende eseguono i progetti di PNL
Tendenze nell'apprendimento profondo
Naturalmente, l'ottimizzazione di questo processo è iniziata con una precisione sempre maggiore. Le reti LSTM (memoria a lungo termine) hanno rivoluzionato molte attività NLP, ma erano (e sono) incredibilmente affamate di dati. L'ottimizzazione e l'addestramento di questi modelli può richiedere giorni o settimane su macchine grandi e costose. Infine, l'implementazione di questi modelli di grandi dimensioni nella produzione è costosa e ingombrante.
Per ridurre questi fattori che creano complessità, il campo della visione artificiale fa uso da tempo del transfer learning. Il trasferimento di apprendimento è la capacità di utilizzare un modello addestrato per un'attività diversa ma simile per accelerare la tua soluzione su una nuova. Ci vuole molto meno sforzo per riqualificare un modello che può già classificare gli alberi che per addestrare un nuovo modello a riconoscere i cespugli da zero.
Immagina uno scenario in cui qualcuno non ha mai visto un cespuglio ma ha visto molti alberi nella sua vita. Troverai molto più facile spiegare loro che aspetto ha un cespuglio in termini di ciò che sanno degli alberi piuttosto che descrivere un cespuglio da zero. Il transfer learning è un modo molto umano di apprendere, quindi ha senso intuitivo che funzioni nelle attività di deep learning.
BERT significa che hai bisogno di meno dati, meno tempo di formazione e ottieni più valore per il business. La qualità dei prodotti NLP che qualsiasi azienda può realizzare è diventata di prim'ordine.
In Comes BERT
BERT utilizza quelli che vengono chiamati trasformatori ed è progettato per produrre codifiche di frasi. In sostanza, BERT è un modello linguistico basato su uno specifico modello di deep learning. È costruito appositamente per fornire una rappresentazione contestuale, numerica, di una frase o di una stringa di frasi. Quella rappresentazione digitale è l'input per un modello superficiale e semplice. Non solo, ma i risultati sono generalmente superiori e richiedono una frazione dei dati di input per un'attività che deve ancora essere risolta.
Immagina di poter dedicare una giornata alla raccolta di dati invece di un anno e di poter costruire modelli attorno a set di dati che altrimenti non avresti mai abbastanza dati per creare un modello LSTM. Il numero di attività di NLP che sarebbero aperte per un'azienda che, in precedenza, non poteva permettersi il tempo di sviluppo e le competenze richieste è sbalorditivo.
Come funziona BERT
Nella PNL tradizionale, il punto di partenza per l'addestramento del modello sono i vettori di parole. I vettori di parole sono un elenco di numeri [0.55, 0.24, 0.90, …] che tentano di rappresentare numericamente il significato di quella parola. Con una rappresentazione numerica, possiamo usare queste parole nell'addestramento di modelli complessi e, con vettori di parole di grandi dimensioni, possiamo incorporare informazioni sulle parole nei nostri modelli.
BERT fa qualcosa di simile (in effetti, il suo punto di partenza sono i vettori di parole), ma crea una rappresentazione numerica di un'intera frase (o frasi) di input.
Rispetto ai modelli LSTM, BERT fa molte cose in modo diverso.
- Legge tutte le parole contemporaneamente anziché da sinistra a destra o da destra a sinistra
- Il 15% delle parole vengono selezionate casualmente per essere "mascherate" (letteralmente sostituite con il token [MASK]) durante il tempo di allenamento
- Il 10% delle parole selezionate casualmente rimane invariato
- Il 10% delle parole mascherate viene sostituito con parole casuali
- (a) e (b) lavorano insieme per costringere il modello a predire ogni parola della frase (i modelli sono pigri)
- BERT quindi tenta di prevedere tutte le parole nella frase e solo le parole mascherate contribuiscono alla funzione di perdita, comprese le parole invariate e sostituite casualmente
- Il modello è stato perfezionato sulla previsione della frase successiva. In questo passaggio, il modello cerca di determinare se una determinata frase è la frase successiva nel testo
La convergenza è lenta e BERT impiega molto tempo per allenarsi. Tuttavia, apprende molto meglio le relazioni contestuali nel testo. I vettori di parole sono rappresentazioni molto superficiali che limitano la complessità che possono modellare: BERT non ha questa limitazione.

La maggior parte delle aziende può utilizzare i modelli pre-addestrati che utilizzavano più GPU e impiegavano giorni per la formazione per la propria applicazione. Ci sono pochi casi in cui i modelli BERT esistenti non possono essere utilizzati sul posto o adattati a un caso d'uso specifico. BERT consente a un team di accelerare le soluzioni di dieci volte. Si può passare all'identificazione di una soluzione aziendale, alla creazione di un proof of concept e, infine, allo spostamento di quel concetto in produzione in una frazione del tempo.
Implementazione di BERT e confronto del valore aziendale
Poiché questo articolo si concentra sull'applicazione commerciale e ingegneristica della creazione di un prodotto reale, creeremo e formeremo due modelli per comprendere meglio il valore comparativo.
- BERT: La pipeline BERT più semplice. Elaboriamo il testo in modo standard, produciamo le codifiche delle frasi BERT e inseriamo quelle codifiche delle frasi in una rete neurale superficiale
- LSTM: l'architettura standard Embed - Encode - Attend - Predict (nella foto sopra)
L'obiettivo? Prevedere l'origine dei film in base alla loro trama da IMDB. Il nostro set di dati copre film americani, australiani, britannici, canadesi, giapponesi, cinesi, sudcoreani e russi oltre ad altri sedici film per un totale di 24 origini. Abbiamo poco meno di 35.000 esempi di formazione totali.
Ecco un frammento di esempio da una trama.
Migliaia di anni fa, Steppenwolf e le sue legioni di Parademon tentano di conquistare la Terra con le energie combinate di tre Mother Box. Vengono sventati da un esercito unificato che include gli dei dell'Olimpo, le Amazzoni, gli Atlantidei, l'umanità e il Corpo delle Lanterne Verdi. Dopo aver respinto l'esercito di Steppenwolf, le Mother Box vengono separate e nascoste in luoghi del pianeta. Nel presente, l'umanità è in lutto per Superman, la cui morte fa riattivare le Scatole Madre e il ritorno di Steppenwolf sulla Terra nel tentativo di riguadagnare il favore del suo maestro, Darkseid. Steppenwolf mira a raccogliere gli artefatti per formare "The Unity", che distruggerà l'ecologia della Terra e la terraformerà a immagine di...
Se non l'avessi indovinato, questa è la trama di Justice League, un film americano.
I risultati
Abbiamo addestrato un insieme diversificato di parametri per capire come i risultati hanno risposto a quantità variabili di dati e dimensioni del modello. Come abbiamo detto, il valore aggiunto più significativo di BERT è la necessità di molti meno dati.
Per il modello LSTM, abbiamo addestrato il modello più grande possibile sulla nostra GPU e variato le dimensioni del vocabolario e la lunghezza delle parole per trovare il modello più performante. Per il modello BERT, non avevamo altro che un singolo strato.
Abbiamo corretto il nostro set di test su tutti questi campioni, quindi otteniamo costantemente lo stesso set di allenamento.
In questo compito, il modello addestrato utilizzando le codifiche delle frasi BERT raggiunge un impressionante punteggio F1 di 0,84 dopo soli 1000 campioni. La rete LSTM non supera mai 0,60. Ancora più impressionante, l'addestramento dei modelli BERT ha richiesto in media 1/20 del tempo rispetto alla preparazione dei modelli LSTM.
Conclusione
In base a qualsiasi parametro, questi risultati indicano una rivoluzione nella PNL. Utilizzando 100 volte meno dati e 20 volte meno tempo di formazione, abbiamo ottenuto risultati di prim'ordine. La possibilità di addestrare modelli di alta qualità in secondi o minuti anziché in ore o giorni apre la PNL in aree in cui prima non era possibile.
BERT ha molti più usi di quello in questo post. Ci sono modelli multilingue. Può essere utilizzato per risolvere molte diverse attività di NLP, sia individualmente come in questo post o utilizzando simultaneamente più output. Le codifiche delle frasi BERT sono destinate a diventare una pietra miliare di molti progetti di PNL in futuro.
Il codice dietro questo post è disponibile su Github. Incoraggio anche i lettori a dare un'occhiata a Bert-as-a-service, che è stata una pietra angolare nella costruzione delle codifiche delle frasi BERT per questo post.