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

From Systems analysis Wiki
Jump to navigation Jump to search

T5 (Text-to-Text Transfer Transformer) — това е семейство от големи езикови модели, разработено от изследователи на Google AI и представено през 2019 година[1]. Ключовата иновация на T5 е унифицираният фреймворк «text-to-text», който разглежда всяка задача по обработка на естествен език (NLP) като проблем за преобразуване на една текстова последователност в друга. Това позволи използването на единен модел, функция на загубата и процедура за обучение за широк спектър от задачи, като превод, суmaризация, отговори на въпроси и класификация[2].

Моделът се основава на стандартната архитектура на трансформер „енкодер-декодер", което го отличава от модели от типа BERT (само енкодер) и GPT (само декодер). Работата върху T5 е замислена като мащабно емпирично изследване за систематично проучване и сравнение на различни методики за трансферно обучение в NLP, а не като създаване на принципно нов метод[1].

Парадигма „Text-to-Text"

Централната идея на T5 се състои в това, че всички задачи се формулират в единен формат. Моделът получава на входа текст и генерира на изхода също текст. За да може моделът да разграничава поставените пред него задачи, към входната последователност се добавя специален текстов префикс-инструкция[2].

  • Превод: `translate English to German: That is good.` → `Das ist gut.`
  • Класификация на тоналността: `sst2 sentence: a very exciting film.` → `positive`
  • Суmaризация: `summarize: [дълъг текст на статия]` → `[кратко изложение]`

Този подход радикално опростява процеса на прилагане на модела, като елиминира необходимостта от разработване на специфични „глави" (task-specific heads) за всяка отделна задача, което беше характерно за архитектури като BERT[3].

Архитектура и мащабиране

Архитектура енкодер-декодер

T5 използва стандартна архитектура на трансформер, състояща се от две части[1]:

  • Енкодер: Обработва цялата входна последователност едновременно, създавайки богато контекстуализирано представяне. Както при BERT, енкодерът на T5 е двупосочен.
  • Декодер: Генерира изходния текст токен по токен (авторегресивно), използвайки представянето, получено от енкодера.

Тази хибридна структура позволява на T5 ефективно да решава както задачи за разбиране на езика, така и задачи за генериране на текст[4].

Ключови усъвършенствания

Архитектурата на T5 включва няколко промени в сравнение с оригиналния трансформер:

  • Относителни позиционни embedding-и: Вместо абсолютни синусоидални embedding-и, T5 използва опростена, но ефективна форма на относително позиционно кодиране, при която към логитите на вниманието се добавя обучаемо скаларно отместване (bias), зависещо само от относителното разстояние между токените[1].
  • Модифицирана нормализация на слоевете (Layer Norm): Нормализацията е изнесена извън остатъчната връзка (residual connection) и от нея е премахнато адитивното отместване (bias) за повишаване на стабилността при обучение.

Мащаби на модела

В оригиналната работа моделът е представен в няколко конфигурации, различаващи се по брой параметри, което позволи систематично да се изследва влиянието на мащаба[5]:

  • T5-Small: ~60 милиона параметра
  • T5-Base: ~220 милиона параметра
  • T5-Large: ~770 милиона параметра
  • T5-3B: ~3 милиарда параметра
  • T5-11B: ~11 милиарда параметра

Изследването показа, че увеличаването на мащаба на модела е един от най-надеждните начини за повишаване на неговата производителност[1].

Предварително обучение: датасет C4 и задачата Span Corruption

Задачата Span Corruption

За предварително обучение на T5 е избрана задача за шумопотискане (denoising), а именно нейният специфичен вариант, наречен повреждане на фрагменти (span corruption)[6]. Методът работи по следния начин:

  1. Във входния текст случайно се маскират 15% от токените.
  2. За разлика от метода MLM в BERT, където се маскират отделни токени, в T5 се маскират цели непрекъснати фрагменти (spans).
  3. Всеки повреден фрагмент се заменя с един уникален токен-маска (например `<X>`, `<Y>`).
  4. Моделът се обучава да генерира на изхода последователност от изтритите фрагменти, разделени от съответните маски.

Този подход принуждава модела да предсказва цели текстови последователности, което се оказа по-ефективна задача за предварително обучение, отколкото простото езиково моделиране[1].

Датасет C4 (Colossal Clean Crawled Corpus)

За реализиране на потенциала на трансферното обучение изследователите създадоха огромен и качествено почистен набор от текстови данни C4, с обем около 750 ГБ[2]. Той е получен чрез мащабно почистване и филтриране на общодостъпния уеб корпус Common Crawl[7]. Процесът на почистване включваше премахване на дубликати, шаблонен текст („Lorem ipsum"), непълни изречения, както и филтриране на нецензурна лексика[8].

Критика на датасета C4

Въпреки заявената цел за създаване на „чист" корпус, процесът на филтриране на C4 бе подложен на критика заради системни отклонения. Изследванията показаха, че филтърът за нецензурна лексика непропорционално премахваше текстове, свързани с ЛГБТК+ общности, а също и текстове на афроамерикански английски (AAE)[8]. Освен това в датасета беше открито значително количество обидно и защитено с авторски права съдържание. Тези проблеми илюстрират сложността при създаването на обективно „качествени" набори от данни и начина, по който технически решения за филтриране могат да водят до непреднамерени социални отклонения.

Резултати и производителност

Към момента на публикуване T5 постави нови рекорди на производителност (state-of-the-art) на множество benchmark-ове, включително GLUE, SuperGLUE, SQuAD и задачи за суmaризация[2]. По-специално, моделът T5-11B постигна на SuperGLUE резултат, близък до човешкото ниво, демонстрирайки способност да се справя със задачи, изискващи сложно логическо извеждане[9]. Тези резултати потвърдиха централната хипотеза на изследването: комбинацията от унифициран фреймворк, голям мащаб и качествен набор от данни е изключително мощна стратегия за постигане на водещи резултати в NLP.

Еволюция и варианти на T5

Подходът на T5 послужи като основа за множество следващи модели:

  • mT5: Многоезична версия на T5, обучена на корпуса mC4, обхващащ 101 езика[10].
  • ByT5: Експериментална версия, която напълно се отказва от токенизацията и работи директно със сурови байтове UTF-8. Това я прави устойчива на печатни грешки и позволява обработка на всеки език „от кутията"[11].
  • Switch Transformer: Мащабируема версия на T5, въвела архитектурата Mixture-of-Experts (MoE), което позволи увеличаване на броя на параметрите до трилиони при запазване на разумни изчислителни разходи[12].
  • FLAN-T5: Това не е нова архитектура, а стандартен T5, преминал допълнителен етап на fine-tuning върху стотици задачи, формулирани под формата на инструкции (instruction tuning). Това значително повиши способността му за обобщение към нови, непознати задачи в режим zero-shot (без примери)[13].
  • UL2: Модел, развиващ идеите на T5, който използва нов предобучаващ обектив, наречен Mixture of Denoisers, комбинирайки различни схеми за маскиране на текст с цел подобряване на универсалността[14].

Препратки

  • Официално хранилище на T5 в GitHub
  • Статия в блога на Google Research за изследването на T5

Литература

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

Бележки

  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]