T5 (2019): tutto è un problema testo-a-testo

Tradurre, riassumere, classificare, dare un voto di somiglianza: compiti diversi, di solito modelli diversi. Nel 2019 un gruppo di Google prova a farli passare tutti dalla stessa porta — testo in ingresso, testo in uscita — e ci costruisce sopra il più metodico degli esperimenti sul transfer learning.

In un’officina attrezzata bene c’è un banco di lavoro al centro e attorno una parete di utensili diversi: uno per stringere, uno per tagliare, uno per misurare. Ogni compito, il suo attrezzo. Per anni l’elaborazione del linguaggio naturale ha funzionato così: un’architettura per tradurre, una per classificare, una per rispondere a domande, ognuna con la sua testa finale su misura. Nel 2019 un gruppo di ricercatori di Google prova a ribaltare l’idea. E se ci fosse un solo attrezzo, e a cambiare fosse solo come gli descrivi il lavoro? Il modello si chiama T5, e la sua tesi sta in una frase: qualunque problema di linguaggio si può scrivere come testo in ingresso che diventa testo in uscita.

GPT, BERT e T5 come tre modi di studiare la lingua, e cosa succede oltre il testo: nel libro.

Leggi «Le famiglie di modelli, e oltre il testo» nel libro →

Un solo formato per ogni compito

La difficoltà, prima di T5, non era addestrare un modello a fare una cosa. Era che ogni cosa aveva una forma diversa. La traduzione produce una frase; la classificazione produce un’etichetta scelta da un insieme chiuso; una domanda su un testo produce una porzione di quel testo; un giudizio di somiglianza tra due frasi produce un numero. Quattro output di natura diversa richiedono quattro modi diversi di attaccare lo strato finale della rete, quattro funzioni di perdita, quattro pezzi di codice da mantenere.

La mossa di T5 è dichiarare che tutti questi output sono, semplicemente, testo. L’etichetta «positivo» è la stringa positivo. La risposta a una domanda è la stringa che la contiene. E — qui sta il salto meno ovvio — anche un punteggio di somiglianza da 0 a 5 diventa la stringa 4.2, che il modello genera carattere per carattere come genererebbe una parola qualsiasi. Un compito di regressione trattato come generazione di testo suona quasi come un imbroglio, e invece funziona. Il modello non produce mai un numero: produce le cifre che lo scrivono.

Il trucco dell’etichetta

Se l’output è sempre testo, come fa il modello a sapere quale lavoro deve svolgere? Con un’etichetta incollata davanti all’ingresso. Prima della frase da tradurre si scrive translate English to German:; prima della coppia di cui misurare la somiglianza si scrive stsb:; prima del documento da riassumere, summarize:. È lo stesso identico modello, gli stessi identici pesi: cambia solo il prefisso, come dire all’operaio «questa volta stringi» invece di «questa volta taglia». La conoscenza di come si stringe o si taglia è già dentro l’attrezzo.

translate En→De: That is good cola: he go home stsb: gatto / gattino summarize: …articolo lungo… T5 un solo modello testo → testo Das ist gut not acceptable 4.2 riassunto breve

Quattro compiti di natura diversa — traduzione, accettabilità grammaticale, somiglianza (un numero!), riassunto — entrano nello stesso modello con un prefisso che li nomina ed escono tutti come stringhe. Il punteggio 4.2 è generato carattere per carattere: anche la regressione diventa testo.

C4, un oceano di testo ripulito

Un modello che impara a leggere e scrivere ha bisogno di leggere tantissimo. Per il pre-addestramento gli autori costruiscono un corpus apposito, il Colossal Clean Crawled Corpus, abbreviato in C4: circa 750 gigabyte di testo inglese estratto da Common Crawl, l’enorme archivio pubblico di pagine web. La parola importante è «clean». Il web grezzo è pieno di spazzatura: menu di navigazione, avvisi sui cookie, righe di codice, testo duplicato mille volte, frasi senza senso. Gli autori applicano una serie di filtri euristici — tenere solo righe che finiscono con punteggiatura, buttare le pagine troppo corte, rimuovere i duplicati, scartare quello che non è inglese — trasformando un magazzino di rottami in materiale utilizzabile.

È un lavoro poco spettacolare e molto sottovalutato. La qualità del corpus di partenza condiziona tutto ciò che viene dopo, e C4 è diventato un mattone di infrastruttura riutilizzato da decine di modelli successivi. A volte il contributo più duraturo di un articolo non è l’idea brillante ma la pulizia paziente del cortile.

Un paper che è soprattutto un esperimento

Qui vale la pena essere precisi su cosa sia davvero questo articolo. Il titolo — Exploring the Limits of Transfer Learning — non promette un modello, promette un’esplorazione. Il formato testo-a-testo non è il fine, è lo strumento: siccome tutti i compiti hanno la stessa forma, si possono confrontare in modo pulito scelte progettuali che di solito si studiano una alla volta. Gli autori fanno esattamente questo, in modo quasi ossessivo.

Mettono a confronto architetture diverse (l’encoder-decoder classico contro varianti a solo decoder), obiettivi di pre-addestramento, strategie di corruzione del testo, quantità di dati. L’obiettivo che risulta migliore è la span corruption: invece di mascherare singole parole come faceva BERT, si cancellano interi tratti contigui di testo, ciascuno sostituito da un unico segnaposto, e il modello deve rigenerarli. È il gioco del cloze allargato da una parola a un pezzo di frase. Da questa griglia di esperimenti esce una ricetta, e la ricetta viene poi portata su scala grande: la versione maggiore di T5 arriva a 11 miliardi di parametri e ottiene risultati di riferimento su una batteria di test di comprensione, domande e risposte e riassunto.

Il contributo di T5 non è «abbiamo costruito il modello più grande», è «abbiamo reso confrontabili scelte che prima si potevano solo intuire» — un formato comune trasforma opinioni in misure.

Perché ti riguarda

L’idea del testo-a-testo è così entrata nell’acqua che beviamo che è difficile vederla. Quando dai istruzioni a un assistente conversazionale — «traduci questo», «riassumi in tre righe», «estrai le date da questo testo» — stai usando la stessa logica: un unico modello, il compito specificato in linguaggio naturale nell’ingresso, la risposta come testo. La differenza è che oggi il prefisso non è più una parola chiave rigida come summarize: ma una frase intera, e il modello ha imparato a interpretarla da solo. Ma la forma concettuale — descrivi il lavoro a parole, ricevi il risultato a parole — è la stessa che T5 ha reso sistematica.

Per chi lavora con questi strumenti c’è una lezione operativa. Se un problema ti sembra strano da incastrare in un modello di linguaggio, prova a riscriverlo come una coppia stringa-in, stringa-out. Classificare un ticket di assistenza è generare la parola della categoria. Estrarre un campo da un documento è generare il valore di quel campo. Molti problemi apparentemente diversi collassano nella stessa forma, e riconoscerlo è metà del lavoro. T5 lo ha mostrato con un esperimento paziente; a te resta come abitudine mentale.

Il paper originale

Colin Raffel, Noam Shazeer, Adam Roberts, Katherine Lee, Sharan Narang, Michael Matena, Yanqi Zhou, Wei Li, Peter J. Liu (Google), Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer, 2019, poi pubblicato nel Journal of Machine Learning Research. Preprint su arXiv: arxiv.org/abs/1910.10683. I dettagli riportati qui — il formato testo-a-testo con prefissi per ogni compito, il corpus C4 di circa 750 GB estratto e ripulito da Common Crawl, l’obiettivo di span corruption e la versione da 11 miliardi di parametri — provengono dall’articolo stesso.

I commenti sono riservati agli iscritti.

Accedi per commentare