T5 (Text-to-Text Transfer Transformer) (RO)
T5 (Text-to-Text Transfer Transformer) — este o familie de modele lingvistice mari, dezvoltată de cercetătorii Google AI și prezentată în 2019[1]. Inovația cheie a T5 este un framework unificat «text-to-text», care tratează orice sarcină de procesare a limbajului natural (NLP) ca o problemă de transformare a unei secvențe de text în alta. Aceasta a permis utilizarea unui singur model, a unei singure funcții de pierdere și a unei singure proceduri de antrenare pentru o gamă largă de sarcini, cum ar fi traducerea, rezumarea, răspunsul la întrebări și clasificarea[2].
Modelul se bazează pe arhitectura standard de transformer «encoder-decoder», ceea ce o diferențiază de modelele de tip BERT (doar encoder) și GPT (doar decoder). Lucrarea privind T5 a fost concepută ca o cercetare empirică la scară largă pentru a studia și compara sistematic diverse tehnici de transfer learning în NLP, și nu ca o creare a unei metode fundamental noi[1].
Paradigma «Text-to-Text»
Ideea centrală a T5 constă în faptul că toate sarcinile sunt formulate într-un format unificat. Modelul primește text la intrare și generează tot text la ieșire. Pentru ca modelul să poată distinge sarcinile care îi sunt prezentate, la secvența de intrare se adaugă un special prefix-instrucțiune textual[2].
- Traducere: `translate English to German: That is good.` → `Das ist gut.`
- Clasificarea tonalității: `sst2 sentence: a very exciting film.` → `positive`
- Rezumare: `summarize: [text lung al articolului]` → `[rezumat scurt]`
Această abordare simplifică radical procesul de utilizare a modelului, eliminând necesitatea dezvoltării unor «capete» specifice (task-specific heads) pentru fiecare sarcină în parte, ceea ce era caracteristic arhitecturilor precum BERT[3].
Arhitectură și scalare
Arhitectura encoder-decoder
T5 utilizează arhitectura standard de transformer, compusă din două părți[1]:
- Encoder: Procesează întreaga secvență de intrare simultan, creând o reprezentare contextualizată bogată. Ca și în BERT, encoder-ul T5 este bidirecțional.
- Decoder: Generează textul de ieșire token cu token (autoregresiv), utilizând reprezentarea obținută de la encoder.
Această structură hibridă permite lui T5 să rezolve eficient atât sarcini de înțelegere a limbajului, cât și sarcini de generare a textului[4].
Îmbunătățiri cheie
Arhitectura T5 include mai multe modificări față de modelul original de transformer:
- Embedding-uri poziționale relative: În locul embedding-urilor sinusoidale absolute, T5 folosește o formă simplificată, dar eficientă de codare pozițională relativă, în care la logit-urile de atenție se adaugă un bias scalar antrenabil, dependent doar de distanța relativă dintre token-uri[1].
- Normalizare a straturilor modificată (Layer Norm): Normalizarea este plasată în afara conexiunii reziduale (residual connection), iar deplasarea aditivă (bias) este eliminată din ea pentru a crește stabilitatea antrenării.
Dimensiunile modelului
În lucrarea originală, modelul a fost prezentat în mai multe configurații, diferind prin numărul de parametri, ceea ce a permis studierea sistematică a influenței scalei[5]:
- T5-Small: ~60 milioane de parametri
- T5-Base: ~220 milioane de parametri
- T5-Large: ~770 milioane de parametri
- T5-3B: ~3 miliarde de parametri
- T5-11B: ~11 miliarde de parametri
Cercetarea a arătat că creșterea scalei modelului este una dintre cele mai fiabile metode de îmbunătățire a performanței sale[1].
Preantrenare: dataset-ul C4 și sarcina Span Corruption
Sarcina Span Corruption
Pentru preantrenarea T5 a fost aleasă sarcina de reducere a zgomotului (denoising), și anume varianta sa specifică numită coruperea fragmentelor (span corruption)[6]. Metoda funcționează astfel:
- În textul de intrare se maschează aleatoriu 15% dintre token-uri.
- Spre deosebire de metoda MLM din BERT, unde se maschează token-uri individuale, în T5 se maschează fragmente continue întregi (spans).
- Fiecare fragment corupt este înlocuit cu un singur token-mască unic (de exemplu, `<X>`, `<Y>`).
- Modelul este antrenat să genereze la ieșire secvența de fragmente eliminate, separate de măștile corespunzătoare.
Această abordare obligă modelul să prezică secvențe întregi de text, ceea ce s-a dovedit a fi o sarcină de preantrenare mai eficientă decât modelarea lingvistică simplă[1].
Dataset-ul C4 (Colossal Clean Crawled Corpus)
Pentru a valorifica potențialul transfer learning-ului, cercetătorii au creat un set de date textuale vast și de înaltă calitate, C4, cu un volum de aproximativ 750 GB[2]. Acesta a fost obținut prin curățarea și filtrarea la scară largă a corpusului web disponibil public Common Crawl[7]. Procesul de curățare a inclus eliminarea duplicatelor, a textului șablon ("Lorem ipsum"), a propozițiilor incomplete, precum și filtrarea limbajului obscen[8].
Critici aduse dataset-ului C4
În ciuda scopului declarat de a crea un corpus «curat», procesul de filtrare al C4 a fost criticat pentru distorsiuni sistemice. Cercetările au arătat că filtrul de limbaj obscen elimina disproporționat textele legate de comunitățile LGBTQ+, precum și textele în engleza afro-americană (AAE)[8]. În plus, în dataset a fost descoperită o cantitate semnificativă de conținut ofensator și protejat prin drepturi de autor. Aceste probleme ilustrează dificultatea creării unor seturi de date obiectiv «de calitate» și modul în care deciziile tehnice de filtrare pot conduce la distorsiuni sociale neintenționate.
Rezultate și performanță
La momentul publicării, T5 a stabilit noi recorduri de performanță (state-of-the-art) pe numeroase benchmark-uri, inclusiv GLUE, SuperGLUE, SQuAD și sarcini de rezumare[2]. În particular, modelul T5-11B a atins pe SuperGLUE un rezultat apropiat de nivelul uman, demonstrând capacitatea de a face față sarcinilor ce necesită raționament logic complex[9]. Aceste rezultate au confirmat ipoteza centrală a cercetării: combinația unui framework unificat, a unei scale mari și a unui set de date de calitate reprezintă o strategie extrem de puternică pentru obținerea unor rezultate de vârf în NLP.
Evoluția și variantele T5
Abordarea T5 a servit drept bază pentru numeroase modele ulterioare:
- mT5: Versiunea multilingvă a T5, antrenată pe corpusul mC4, acoperind 101 limbi[10].
- ByT5: O versiune experimentală care renunță complet la tokenizare și lucrează direct cu octeți bruți UTF-8. Aceasta o face rezistentă la greșeli de scriere și permite procesarea oricărei limbi «din cutie»[11].
- Switch Transformer: O versiune scalabilă a T5, care a introdus arhitectura Mixture-of-Experts (MoE), permițând creșterea numărului de parametri până la trilioane, menținând în același timp costuri computaționale rezonabile[12].
- FLAN-T5: Aceasta nu este o arhitectură nouă, ci T5 standard care a trecut printr-o etapă suplimentară de fine-tuning pe sute de sarcini formulate sub formă de instrucțiuni (instruction tuning). Aceasta a îmbunătățit semnificativ capacitatea sa de generalizare la sarcini noi, nevăzute, în regim zero-shot (fără exemple)[13].
- UL2: Un model care dezvoltă ideile T5 și care folosește un nou obiectiv de preantrenare numit Mixture of Denoisers, combinând diverse scheme de mascare a textului pentru îmbunătățirea universalității[14].
Referințe
- Depozitul oficial T5 pe GitHub
- Articolul de pe blogul Google Research despre cercetarea T5
Literatură
- Vaswani, A. et al. (2017). Attention Is All You Need. arXiv:1706.03762.
- Raffel, C. et al. (2020). Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer. arXiv:1910.10683.
- Xue, L. et al. (2021). mT5: A Massively Multilingual Pre-trained Text-to-Text Transformer. arXiv:2010.11934.
- Dodge, J. et al. (2021). Documenting Large Webtext Corpora: A Case Study on the Colossal Clean Crawled Corpus. arXiv:2104.08758.
- Fedus, W. et al. (2021). Switch Transformers: Scaling to Trillion Parameter Models with Simple and Efficient Sparsity. arXiv:2101.03961.
- Ni, J. et al. (2021). Sentence-T5: Scalable Sentence Encoders from Pre-trained Text-to-Text Models. arXiv:2108.08877.
- Guo, M. et al. (2021). LongT5: Efficient Text-To-Text Transformer for Long Sequences. arXiv:2112.07916.
- Xue, L. et al. (2022). ByT5: Towards a Token-Free Future with Pre-trained Byte-to-Byte Models. arXiv:2105.13626.
- Tay, Y. et al. (2022). UL2: Unifying Language Learning Paradigms. arXiv:2205.05131.
- Chung, H. W. et al. (2022). Scaling Instruction-Finetuned Language Models. arXiv:2210.11416.
- Longpre, S. et al. (2023). The Flan Collection: Designing Data and Methods for Effective Instruction Tuning. arXiv:2301.13688.
Note
- ↑ 1.0 1.1 1.2 1.3 1.4 1.5 Raffel, Colin; Shazeer, Noam; Roberts, Adam; et al. «Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer». Journal of Machine Learning Research. [1]
- ↑ 2.0 2.1 2.2 2.3 «Exploring Transfer Learning with T5: the Text-To-Text Transfer Transformer». Google Research Blog. [2]
- ↑ «A Detailed Look At Google's T5 Model in NLP». DhiWise Blog. [3]
- ↑ «T5 (Text-to-Text Transfer Transformer)». GeeksforGeeks. [4]
- ↑ «T5». Hugging Face Transformers Documentation. [5]
- ↑ «T5 (language model)». In Wikipedia. [6]
- ↑ «C4 Dataset». Papers With Code. [7]
- ↑ 8.0 8.1 Dodge, J.; Sap, M.; Marasović, A.; et al. «Documenting Large Webtext Corpora: A Case Study on the Colossal Clean Crawled Corpus». arXiv. [8]
- ↑ «Google T5 algorithm scores 88.9 on SuperGLUE languge benchmark, compared to 89.8 human baseline». Reddit, r/linguistics. [9]
- ↑ Xue, Linting; Constant, Noah; Roberts, Adam; et al. «mT5: A massively multilingual pre-trained text-to-text transformer». arXiv. [10]
- ↑ Xue, Linting; Barua, Aditya; Constant, Noah; et al. «ByT5: Towards a token-free future with pre-trained byte-to-byte models». arXiv. [11]
- ↑ Fedus, William; Zoph, Barret; Shazeer, Noam. «Switch Transformers: Scaling to Trillion Parameter Models with Simple and Efficient Sparsity». arXiv. [12]
- ↑ Chung, Hyung Won; et al. «Scaling Instruction-Finetuned Language Models». arXiv. [13]
- ↑ Tay, Yi; Dehghani, Mostafa; Tran, Vinh; et al. «UL2: Unifying Language Learning Paradigms». arXiv. [14]