Data2vec 2.0 di Meta: la seconda volta è più veloce
La rete generalista di Meta per voce, testo e immagini ritorna, ma questa volta con alcuni trucchi per accelerare la velocità con cui apprende. 

Data2vec di Meta è un esempio di una rete neurale generalista che può utilizzare lo stesso codice esatto per elaborare esempi di dati in diverse modalità – in questo caso, voce, testo e immagini – e fare previsioni su tali dati. 

Fallo più velocemente è una risposta. 

Martedì, Meta Properties, proprietaria di Facebook, Instagram e WhatsApp, ha presentato Data2vec 2.0, un rinnovamento di una rete neurale introdotta all’inizio di quest’anno che si comporta come una sorta di generalista, eseguendo attività che coinvolgono testo, immagini e dati vocali con lo stesso approccio di base per tutti e tre. 

 
La seconda volta, gli scienziati di Meta hanno reso il programma più veloce e , in alcuni casi, più accurato nei test di benchmark delle attività di machine learning.

“Data2vec 2.0 mostra che la velocità di addestramento dell’apprendimento auto-supervisionato può essere sostanzialmente migliorata senza alcuna perdita nell’accuratezza delle attività a valle”, scrivono gli autori Alexei Baevski, Arun Babu, Wei-Ning Hsu e Michael Auli, quattro degli autori dell’originale Documento di Data2vec, in questo nuovo lavoro, Efficient Self-Supervisioned Learning with Contextualized Target Representations for Vision, Speech and Language, pubblicato su arXiv . 

Data2vec 2.0 migliora il suo predecessore in diversi modi:

1) Il modello prende le rappresentazioni target per un dato esempio di addestramento e lo riutilizza per le versioni mascherate che includono parti casuali del set di dati di addestramento. Ogni versione viene quindi passata al modello dello studente che emette le stesse rappresentazioni contestualizzate per le diverse versioni mascherate. Questo processo aiuta a creare rappresentazioni contestualizzate più efficienti.

2) Il secondo miglioramento deriva dall’evitare di eseguire la rete del codificatore dello studente per le parti del set di dati di addestramento che sono oscurate. Questo approccio è simile a quello seguito dalle architetture di encoder mascherati e porta a significativi miglioramenti di calcolo.

3) Inoltre, Data2vec 2.0 utilizza un modello di decoder basato su CNN multistrato che è più efficiente delle reti di trasformatori originali.

 

Il risultato singolare di questo secondo Data2vec è ridurre il tempo necessario per addestrare Data2vec. L’addestramento di una rete neurale viene in genere misurato in termini di “epoche”, ovvero il numero di volte in cui alla rete neurale vengono forniti gli esempi di addestramento. Può anche essere misurato dal tempo dell’orologio da parete, le ore, i minuti e i giorni letterali contati dall’inizio alla fine. 
“Gli esperimenti dimostrano che Data2vec 2.0 può raggiungere la stessa precisione di molti algoritmi esistenti popolari in 2-16 volte la velocità di addestramento”, scrivono.

Il nome Data2vec è un gioco sul nome di un programma per l'”incorporamento” del linguaggio sviluppato da Google nel 2013 chiamato Word2vec. Quel programma ha predetto come le parole si raggruppano insieme, e quindi Word2vec è rappresentativo di una rete neurale progettata per un tipo specifico di dati, in quel caso testo. 

 
Nel caso di Data2vec, tuttavia, Baevski e colleghi stanno prendendo una rete neurale chiamata Transformer, sviluppata da Ashish Vaswani e colleghi di Google nel 2017 , e la estendono per essere utilizzata per più tipi di dati. La stessa struttura della rete neurale può servire per addestrare tutti e tre – immagine, discorso e testo – senza essere alterata per adattarsi alle particolarità di nessuno di questi, rendendolo un programma generalista. 

 
Baevski e colleghi estendono il Transformer a quello che viene chiamato apprendimento “auto-supervisionato”. In un ambiente auto-supervisionato, una rete neurale viene addestrata dovendo passare attraverso più fasi i cui risultati vengono confrontati tra loro.

Innanzitutto, la rete comprime un campione di dati, ciò che è noto come costruzione di una rappresentazione dei dati di input. Quindi, una seconda versione della rete ha alcuni di quegli elementi di dati di input “mascherati”, lasciati non rivelati. Deve ricostruire la rappresentazione che la prima versione della rete aveva costruito, il che costringe la seconda rete a costruire un modello migliore di come i dati si incastrano essenzialmente riempiendo gli spazi vuoti.

Le due reti — quella con la rappresentazione compressa dei dati di input completi e non mascherati, e quella con la versione incompleta che sta tentando di completare — sono chiamate, ragionevolmente, rispettivamente Insegnante e Studente. La rete degli Studenti cerca di sviluppare il proprio senso dei dati, se si vuole, ricostruendo ciò che il Docente ha già realizzato nonostante il mascheramento.

 
Gli autori questa volta hanno apportato due modifiche fondamentali a Data2vec per renderlo più veloce: utilizzare le “convoluzioni” e “ammortizzare” le rappresentazioni compresse della rete degli insegnanti.

Sul primo punteggio, la rete studentesca che deve prevedere le rappresentazioni dell’insegnante non utilizza più la parte del Transformer chiamata decodificatore per farlo. 

 
Questo è l’approccio standard, per decomprimere, in un certo senso, le rappresentazioni compresse della rete degli insegnanti. Invece, gli autori usano le cosiddette reti neurali convoluzionali, uno strumento fondamentale nelle reti neurali per rappresentare campioni di dati in forma compressa e uno strumento molto più antico del Transformer. È un buon esempio di come la vecchia tecnologia possa rimanere nella programmazione.

“Invece di utilizzare un decodificatore basato su Transformer, utilizziamo un decodificatore convoluzionale più piccolo, che troviamo più facile e veloce da addestrare”, scrivono. 

Per la seconda modifica, invece di creare ripetutamente una rappresentazione compressa nella rete dell’insegnante, il nuovo Data2vec crea la rappresentazione solo una volta. Quindi lo riutilizza come obiettivo, la cosa da indovinare, per ciascuno dei punti dati mascherati.

Come affermano gli autori, “Per ammortizzare il costo del calcolo del modello dell’insegnante, riutilizziamo la rappresentazione dell’insegnante per più versioni mascherate del campione di addestramento.

 
“Concretamente, consideriamo M diverse versioni mascherate del campione di addestramento e calcoliamo la perdita rispetto alla stessa rappresentazione target”.


L’architettura di Data2vec 2.0. Meta questa volta ha sostituito la seconda parte del programma, quello che era stato un decoder basato su Transformer, con un decoder basato su reti neurali convoluzionali, una tecnologia più vecchia. Hanno anche riutilizzato le rappresentazioni compresse della rete “insegnante” come un singolo obiettivo per più istanze mascherate dei dati della rete “studente”.
Baevski et al 2022
Nella sezione dei risultati del documento, Baevski e il team raccontano come entrambi hanno ridotto i tempi di formazione e migliorato l’accuratezza in tutti e tre i domini del riconoscimento delle immagini, del riconoscimento vocale e dell’elaborazione del linguaggio naturale. 

Per l’elaborazione delle immagini, gli autori hanno utilizzato Data2vec come base per mettere a punto quello che viene chiamato “ViT”, il “trasformatore di visione”, una rete neurale progettata specificamente per le attività di visione che è stata introdotta lo scorso anno  (PDF) da Alexey Dosovitskiy e colleghi di Google . Il programma Data2vec è una base pre-addestrata, in cima alla quale ViT è una messa a punto, nei termini della letteratura. 

Rispetto ai risultati di gennaio, il ViT supportato da Data2vec ancora una volta ha superato altre reti neurali utilizzate come base per ViT in termini di accuratezza su ImageNet, il classico test di assegnazione di etichette alle immagini, e ha superato anche la versione precedente di Data2vec.

Ma oltre alla precisione, il nuovo Data2vec ha richiesto molte meno epoche di addestramento. Il precedente Data2vec impiegava 800 epoche; questa volta, è stato ridotto a 150 epoche. E accanto a una rete auto-supervisionata concorrente, codificatori automatici mascherati o MAE, un’altra creazione Meta  (PDF), l’addestramento viene ridotto da 1.600 epoche a 100, anche se l’accuratezza del nuovo Data2vec ha superato MAE. Il regime di allenamento più veloce si traduce in una grande riduzione del tempo assoluto per allenarsi, solo 66 ore per Data2vec 2.0 contro 113,6 ore per MAE.

Nel riconoscimento vocale, il compito è quello di riempire le parti mancanti di un frammento di un file audio di una frase pronunciata. Il nuovo Data2vec si è scontrato con più reti neurali concorrenti per il parlato, tra cui l’originale data2vec e programmi chiamati Wav2vec, HuBERT e WavLM. In nessun caso Data2vec 2.0 ha superato quelle reti, ma “ottiene una maggiore precisione rispetto ad altri modelli con tempi di addestramento più rapidi”. Ad esempio, 43 ore di formazione Data2vec 2.0 raggiunge una precisione che richiede 57 ore per Data2vec originale.

Nella terza arena, l’elaborazione del linguaggio naturale, Data2vec 2.0 è stato testato attraverso una serie di sfide che comprendono il framework di valutazione della comprensione del linguaggio generale, noto come GLUE, sviluppato dal Courant Institute of Mathematical Sciences della NYU nel 2019 . 

In un test, la rete deve prevedere se una frase segue da un’altra – implicazione logica – mentre un altro compito rappresentativo sfida la rete a etichettare una fase grammaticalmente corretta o meno.

Andando contro l’originale Data2vec, più due programmi basati su Transformer, BERT di Google e una versione rivista, chiamata RoBERTa, introdotta nel 2019 dalla Paul Allen School of Computer Science presso l’Università di Washington e Meta, la versione 2.0 di Data2vec ottiene ottimi risultati attraverso i risultati di GLUE pur essendo più veloce da allenare. 

 
Il punteggio di accuratezza medio totale in tutte le attività GLUE per questa nuova versione è 82,6, solo una frazione inferiore all’82,7 di Data2vec originale, ma superiore a 81,2 di BERT e superiore a 82,5 di RoBERTa. Ma Data2vec 2.0 impiega solo 28,2 ore per raggiungere quel livello, meno della metà delle 69 ore necessarie per Data2vec originale e molto meno delle 50,5 ore necessarie per RoBERTa.

Baevski e il team scrivono che in futuro estenderanno Data2vec ad altre forme di dati oltre a parole, immagini e testo, aumentando la prospettiva che possa essere ancora più generalista. 

Una limitazione sembra destinata a rimanere in vigore. Come con l’originale Data2vec, la versione 2.0 gestisce ancora ogni tipo di dati in modo diverso quando vengono immessi per la prima volta nella rete durante l’addestramento. Ciò significa che Data2vec non ha ancora sviluppato un modo completamente generico per gestire i tipi di dati. 

Immagine, voce e testo sono tutti preparati dalla pre-elaborazione dei dati. In questo modo, l’aspetto multimodale della rete si basa ancora su indizi sui dati, ciò che il team definisce “piccoli codificatori di input specifici per modalità”.

Inoltre, ciascuna delle codifiche compresse dalla rete dell’insegnante viene creata separatamente per i tre tipi di dati. Non è ancora possibile creare una sorta di “supercodifica” che combini tutti i tipi di dati contemporaneamente in un’unica rappresentazione. 

E così, come con Data2vec 1.0, una rete neurale che potrebbe davvero essere One Network to Rule Them All rimane la tecnologia del futuro.

Come con l’originale Data2vec, Meta ha pubblicato il codice su GitHub .

Di ihal