T5 (Text-to-Text Transfer Transformer) (CS)

From Systems analysis Wiki
Jump to navigation Jump to search

T5 (Text-to-Text Transfer Transformer) — je rodina velkých jazykových modelů vyvinutá výzkumníky Google AI a představená v roce 2019[1]. Klíčovou inovací T5 je unifikovaný framework „text-to-text", který přistupuje k jakékoli úloze zpracování přirozeného jazyka (NLP) jako k problému převodu jedné textové sekvence na druhou. To umožnilo využívat jediný model, jednu ztrátovou funkci a jediný postup trénování pro široké spektrum úloh, jako je překlad, sumarizace, odpovídání na otázky a klasifikace[2].

Model je založen na standardní architektuře transformeru „encoder-decoder", což jej odlišuje od modelů typu BERT (pouze encoder) a GPT (pouze decoder). Práce na T5 byla koncipována jako rozsáhlý empirický výzkum pro systematické studium a porovnání různých metod přenosového učení v NLP, nikoli jako vytvoření zásadně nové metody[1].

Paradigma „Text-to-Text"

Ústřední myšlenka T5 spočívá v tom, že všechny úlohy jsou formulovány v jednotném formátu. Model dostává na vstupu text a generuje na výstupu rovněž text. Aby model dokázal rozlišit zadané úlohy, je ke vstupní sekvenci přidána speciální textová instrukce ve formě prefixu[2].

  • Překlad: `translate English to German: That is good.` → `Das ist gut.`
  • Klasifikace sentimentu: `sst2 sentence: a very exciting film.` → `positive`
  • Sumarizace: `summarize: [dlouhý text článku]` → `[stručné shrnutí]`

Tento přístup radikálně zjednodušuje proces použití modelu, odstraňuje nutnost vývoje specifických „hlav" (task-specific heads) pro každou jednotlivou úlohu, což bylo typické pro architektury jako BERT[3].

Architektura a škálování

Architektura encoder-decoder

T5 využívá standardní architekturu transformeru skládající se ze dvou částí[1]:

  • Encoder: Zpracovává celou vstupní sekvenci najednou a vytváří bohaté kontextualizované reprezentace. Stejně jako v BERT je encoder T5 obousměrný.
  • Decoder: Generuje výstupní text token po tokenu (autoregresivně) s využitím reprezentace získané od encoderu.

Tato hybridní struktura umožňuje T5 efektivně řešit jak úlohy porozumění jazyku, tak úlohy generování textu[4].

Klíčová vylepšení

Architektura T5 zahrnuje několik změn oproti původnímu modelu transformeru:

  • Relativní poziční embedding: Místo absolutních sinusoidálních embeddingů využívá T5 zjednodušenou, avšak účinnou formu relativního kódování pozice, kde jsou k logitům pozornosti přidávány trénovatelné skalární posuny (bias) závisející pouze na relativní vzdálenosti mezi tokeny[1].
  • Upravená normalizace vrstev (Layer Norm): Normalizace je přesunuta mimo reziduální spojení (residual connection) a je z ní odstraněn aditivní posun (bias) pro zvýšení stability trénování.

Velikosti modelu

V původní práci byl model představen v několika konfiguracích lišících se počtem parametrů, což umožnilo systematicky studovat vliv škálování[5]:

  • T5-Small: ~60 milionů parametrů
  • T5-Base: ~220 milionů parametrů
  • T5-Large: ~770 milionů parametrů
  • T5-3B: ~3 miliardy parametrů
  • T5-11B: ~11 miliard parametrů

Výzkum ukázal, že zvyšování velikosti modelu je jedním z nejspolehlivějších způsobů, jak zlepšit jeho výkonnost[1].

Předtrénování: dataset C4 a úloha Span Corruption

Úloha Span Corruption

Pro předtrénování T5 byla zvolena úloha odšumování (denoising), konkrétně její specifická varianta nazývaná poškozování fragmentů (span corruption)[6]. Metoda funguje následovně:

  1. Ve vstupním textu je náhodně maskováno 15 % tokenů.
  2. Na rozdíl od metody MLM v BERT, kde jsou maskovány jednotlivé tokeny, jsou v T5 maskovány celé souvislé fragmenty (spans).
  3. Každý poškozený fragment je nahrazen jedním unikátním maskovacím tokenem (např. `<X>`, `<Y>`).
  4. Model je trénován generovat na výstupu sekvenci odstraněných fragmentů oddělených příslušnými maskami.

Tento přístup nutí model předpovídat celé sekvence textu, což se ukázalo jako účinnější předtréninkový úkol než prosté jazykové modelování[1].

Dataset C4 (Colossal Clean Crawled Corpus)

Pro realizaci potenciálu přenosového učení vytvořili výzkumníci rozsáhlý a kvalitně vyčištěný soubor textových dat C4 o objemu přibližně 750 GB[2]. Byl získán rozsáhlým čištěním a filtrováním veřejně dostupného webového korpusu Common Crawl[7]. Proces čištění zahrnoval odstraňování duplicit, šablonových textů („Lorem ipsum"), neúplných vět a také filtrování nevhodného lexika[8].

Kritika datasetu C4

Navzdory deklarovanému cíli vytvořit „čistý" korpus byl proces filtrování C4 podroben kritice za systémové odchylky. Výzkumy ukázaly, že filtr nevhodného lexika nepřiměřeně odstraňoval texty spojené s LGBTQ+ komunitami a také texty v afroamerickém angličtině (AAE)[8]. Kromě toho bylo v datasetu nalezeno značné množství urážlivého a autorskými právy chráněného obsahu. Tyto problémy ilustrují složitost vytváření objektivně „kvalitních" datasetů a to, jak technická rozhodnutí při filtrování mohou vést k nezamýšleným společenským odchylkám.

Výsledky a výkonnost

V době publikace dosáhlo T5 nových rekordů výkonnosti (state-of-the-art) na řadě benchmarků, včetně GLUE, SuperGLUE, SQuAD a úloh sumarizace[2]. Model T5-11B dosáhl na benchmarku SuperGLUE výsledku blízkého lidské úrovni, čímž prokázal schopnost zvládat úlohy vyžadující složené logické uvažování[9]. Tyto výsledky potvrdily ústřední hypotézu výzkumu: kombinace unifikovaného frameworku, velkého rozsahu a kvalitního datasetu je mimořádně účinnou strategií pro dosažení špičkových výsledků v NLP.

Vývoj a varianty T5

Přístup T5 posloužil jako základ pro řadu následujících modelů:

  • mT5: Vícejazyčná verze T5 trénovaná na korpusu mC4 pokrývajícím 101 jazyků[10].
  • ByT5: Experimentální verze, která zcela upouští od tokenizace a pracuje přímo s nezpracovanými bajty UTF-8. To ji činí odolnou vůči překlepům a umožňuje zpracovávat jakýkoli jazyk „z krabice"[11].
  • Switch Transformer: Škálovatelná verze T5 zavádějící architekturu Mixture-of-Experts (MoE), která umožnila zvýšit počet parametrů na biliony při zachování přiměřených výpočetních nákladů[12].
  • FLAN-T5: Nejde o novou architekturu, ale o standardní T5, která prošla dodatečnou fází dotrénování na stovkách úloh formulovaných ve formě instrukcí (instruction tuning). To výrazně zlepšilo její schopnost zobecňovat na nové, dosud neviděné úlohy v režimu zero-shot (bez příkladů)[13].
  • UL2: Model rozvíjející myšlenky T5, který využívá nový předtréninkový cíl zvaný Mixture of Denoisers, kombinující různá schémata maskování textu pro zlepšení univerzálnosti[14].

Odkazy

  • Oficiální repozitář T5 na GitHubu
  • Článek na blogu Google Research o výzkumu T5

Literatura

  • 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.

Poznámky

  1. 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. 2.0 2.1 2.2 2.3 «Exploring Transfer Learning with T5: the Text-To-Text Transfer Transformer». Google Research Blog. [2]
  3. «A Detailed Look At Google's T5 Model in NLP». DhiWise Blog. [3]
  4. «T5 (Text-to-Text Transfer Transformer)». GeeksforGeeks. [4]
  5. «T5». Hugging Face Transformers Documentation. [5]
  6. «T5 (language model)». In Wikipedia. [6]
  7. «C4 Dataset». Papers With Code. [7]
  8. 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]
  9. «Google T5 algorithm scores 88.9 on SuperGLUE languge benchmark, compared to 89.8 human baseline». Reddit, r/linguistics. [9]
  10. Xue, Linting; Constant, Noah; Roberts, Adam; et al. «mT5: A massively multilingual pre-trained text-to-text transformer». arXiv. [10]
  11. Xue, Linting; Barua, Aditya; Constant, Noah; et al. «ByT5: Towards a token-free future with pre-trained byte-to-byte models». arXiv. [11]
  12. Fedus, William; Zoph, Barret; Shazeer, Noam. «Switch Transformers: Scaling to Trillion Parameter Models with Simple and Efficient Sparsity». arXiv. [12]
  13. Chung, Hyung Won; et al. «Scaling Instruction-Finetuned Language Models». arXiv. [13]
  14. Tay, Yi; Dehghani, Mostafa; Tran, Vinh; et al. «UL2: Unifying Language Learning Paradigms». arXiv. [14]