T5 (Text-to-Text Transfer Transformer) (PL)
T5 (Text-to-Text Transfer Transformer) — to rodzina dużych modeli językowych opracowana przez badaczy Google AI i przedstawiona w 2019 roku[1]. Kluczową innowacją T5 jest ujednolicony framework „text-to-text\", który traktuje każde zadanie przetwarzania języka naturalnego (NLP) jako problem przekształcenia jednej sekwencji tekstowej w drugą. Umożliwiło to zastosowanie jednego modelu, funkcji straty i procedury uczenia do szerokiego spektrum zadań, takich jak tłumaczenie, sumaryzacja, odpowiadanie na pytania i klasyfikacja[2].
Model oparty jest na standardowej architekturze transformera „enkoder-dekoder", co odróżnia go od modeli typu BERT (wyłącznie enkoder) i GPT (wyłącznie dekoder). Praca nad T5 została pomyślana jako zakrojone na szeroką skalę empiryczne badanie służące systematycznemu poznaniu i porównaniu różnych metod transfer learningu w NLP, a nie jako stworzenie zasadniczo nowej metody[1].
Paradygmat „Text-to-Text\"
Centralna idea T5 polega na tym, że wszystkie zadania są formułowane w jednolitym formacie. Model otrzymuje na wejściu tekst i generuje na wyjściu również tekst. Aby model mógł rozróżniać postawione przed nim zadania, do sekwencji wejściowej dodawany jest specjalny tekstowy prefiks-instrukcja[2].
- Tłumaczenie: `translate English to German: That is good.` → `Das ist gut.`
- Klasyfikacja wydźwięku: `sst2 sentence: a very exciting film.` → `positive`
- Sumaryzacja: `summarize: [długi tekst artykułu]` → `[streszczenie]`
Podejście to radykalnie upraszcza proces stosowania modelu, eliminując konieczność opracowywania specyficznych „głowic" (task-specific heads) dla każdego osobnego zadania, co było charakterystyczne dla architektur takich jak BERT[3].
Architektura i skalowanie
Architektura enkoder-dekoder
T5 wykorzystuje standardową architekturę transformera składającą się z dwóch części[1]:
- Enkoder: Przetwarza całą sekwencję wejściową jednocześnie, tworząc bogate skontekstualizowane reprezentacje. Podobnie jak w BERT, enkoder T5 jest dwukierunkowy.
- Dekoder: Generuje tekst wyjściowy token po tokenie (autoregresywnie), wykorzystując reprezentację uzyskaną od enkodera.
Ta hybrydowa struktura pozwala T5 efektywnie rozwiązywać zarówno zadania rozumienia języka, jak i zadania generowania tekstu[4].
Kluczowe ulepszenia
Architektura T5 zawiera kilka zmian w porównaniu z oryginalnym modelem transformera:
- Relatywne pozycyjne embeddingi: Zamiast absolutnych sinusoidalnych embeddingów T5 stosuje uproszczoną, lecz skuteczną formę relatywnego kodowania pozycji, gdzie do logitów uwagi dodawane jest uczące się skalarne przesunięcie (bias) zależne wyłącznie od względnej odległości między tokenami[1].
- Zmodyfikowana normalizacja warstw (Layer Norm): Normalizacja jest wyniesiona poza połączenie resztkowe (residual connection), a addytywne przesunięcie (bias) zostało z niej usunięte w celu poprawy stabilności uczenia.
Rozmiary modelu
W oryginalnej pracy model został przedstawiony w kilku konfiguracjach różniących się liczbą parametrów, co pozwoliło systematycznie zbadać wpływ skali[5]:
- T5-Small: ~60 milionów parametrów
- T5-Base: ~220 milionów parametrów
- T5-Large: ~770 milionów parametrów
- T5-3B: ~3 miliardy parametrów
- T5-11B: ~11 miliardów parametrów
Badanie wykazało, że zwiększanie skali modelu jest jednym z najbardziej niezawodnych sposobów poprawy jego wydajności[1].
Pretrening: dataset C4 i zadanie Span Corruption
Zadanie Span Corruption
Do wstępnego uczenia T5 wybrano zadanie odszumiania (denoising), a konkretnie jego specyficzny wariant noszący nazwę uszkadzania fragmentów (span corruption)[6]. Metoda działa następująco:
- We wchodzącym tekście losowo maskowane jest 15% tokenów.
- W odróżnieniu od metody MLM w BERT, gdzie maskowane są pojedyncze tokeny, w T5 maskowane są całe ciągłe fragmenty (spans).
- Każdy uszkodzony fragment zastępowany jest jednym unikalnym tokenem-maską (np. `<X>`, `<Y>`).
- Model jest uczony generowania na wyjściu sekwencji usuniętych fragmentów oddzielonych odpowiednimi maskami.
Podejście to zmusza model do przewidywania całych sekwencji tekstu, co okazało się bardziej efektywnym zadaniem do pretreningu niż proste modelowanie językowe[1].
Dataset C4 (Colossal Clean Crawled Corpus)
Aby wykorzystać potencjał transfer learningu, badacze stworzyli ogromny i starannie oczyszczony zbiór danych tekstowych C4 o objętości około 750 GB[2]. Powstał on w wyniku zakrojonego na szeroką skalę czyszczenia i filtrowania publicznie dostępnego korpusu sieciowego Common Crawl[7]. Proces czyszczenia obejmował usuwanie duplikatów, tekstu szablonowego („Lorem ipsum"), niekompletnych zdań, a także filtrowanie wulgaryzmów[8].
Krytyka datasetu C4
Pomimo deklarowanego celu stworzenia „czystego" korpusu, proces filtrowania C4 spotkał się z krytyką za systemowe uprzedzenia. Badania wykazały, że filtr wulgaryzmów nieproporcjonalnie usuwał teksty związane ze społecznościami LGBTQ+, a także teksty w afroamerykańskiej odmianie języka angielskiego (AAE)[8]. Ponadto w datasecie wykryto znaczną ilość obraźliwych i chronionych prawem autorskim treści. Problemy te ilustrują trudność tworzenia obiektywnie „wysokiej jakości" zbiorów danych oraz to, w jaki sposób techniczne decyzje filtrujące mogą prowadzić do niezamierzonych uprzedzeń społecznych.
Wyniki i wydajność
W chwili publikacji T5 ustanowiło nowe rekordy wydajności (state-of-the-art) na wielu benchmarkach, w tym GLUE, SuperGLUE, SQuAD i zadaniach sumaryzacji[2]. W szczególności model T5-11B osiągnął na SuperGLUE wynik zbliżony do poziomu ludzkiego, demonstrując zdolność do radzenia sobie z zadaniami wymagającymi złożonego wnioskowania logicznego[9]. Wyniki te potwierdziły centralną hipotezę badania: kombinacja ujednoliconego frameworku, dużej skali i wysokiej jakości zbioru danych stanowi niezwykle skuteczną strategię osiągania czołowych wyników w NLP.
Ewolucja i warianty T5
Podejście T5 stało się podstawą dla wielu kolejnych modeli:
- mT5: Wielojęzyczna wersja T5 wytrenowana na korpusie mC4 obejmującym 101 języków[10].
- ByT5: Eksperymentalna wersja, która całkowicie rezygnuje z tokenizacji i pracuje bezpośrednio na surowych bajtach UTF-8. Czyni ją to odporną na literówki i pozwala przetwarzać dowolny język „od razu po wyjęciu z pudełka"[11].
- Switch Transformer: Skalowalna wersja T5, która wprowadziła architekturę Mixture-of-Experts (MoE), co pozwoliło zwiększyć liczbę parametrów do bilionów przy zachowaniu rozsądnych kosztów obliczeniowych[12].
- FLAN-T5: To nie jest nowa architektura, lecz standardowy T5, który przeszedł dodatkowy etap fine-tuningu na setkach zadań sformułowanych w postaci instrukcji (instruction tuning). Znacząco poprawiło to jego zdolność do uogólniania na nowe, niewidziane wcześniej zadania w trybie zero-shot (bez przykładów)[13].
- UL2: Model rozwijający idee T5, który wykorzystuje nowy cel pretreningu o nazwie Mixture of Denoisers, łącząc różne schematy maskowania tekstu w celu poprawy uniwersalności[14].
Odnośniki
- Oficjalne repozytorium T5 na GitHub
- Artykuł na blogu Google Research o badaniu 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.
Przypisy
- ↑ 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]