T5

Материал из Systems analysis wiki
Перейти к навигации Перейти к поиску

T5 (Text-to-Text Transfer Transformer) — это семейство больших языковых моделей, разработанное исследователями Google AI и представленное в 2019 году[1]. Ключевая инновация T5 — это унифицированный фреймворк «text-to-text», который рассматривает любую задачу обработки естественного языка (NLP) как проблему преобразования одной текстовой последовательности в другую. Это позволило использовать единую модель, функцию потерь и процедуру обучения для широкого спектра задач, таких как перевод, суммаризация, ответы на вопросы и классификация[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`
  • Суммаризация: `summarize: [длинный текст статьи]` → `[краткое изложение]`

Этот подход радикально упрощает процесс применения модели, устраняя необходимость в разработке специфических «голов» (task-specific heads) для каждой отдельной задачи, что было характерно для архитектур вроде BERT[3].

Архитектура и масштабирование

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

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

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

Эта гибридная структура позволяет T5 эффективно решать как задачи на понимание языка, так и задачи на генерацию текста[4].

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

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

  • Относительные позиционные эмбеддинги: Вместо абсолютных синусоидальных эмбеддингов 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) на множестве бенчмарков, включая GLUE, SuperGLUE, SQuAD и задачи суммиризации[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, которая прошла дополнительный этап дообучения на сотнях задач, сформулированных в виде инструкций (instruction tuning). Это значительно повысило её способность к обобщению на новые, невиданные задачи в режиме zero-shot (без примеров)[13].
  • UL2: Модель, развивающая идеи T5, которая использует новый предобучающий объектив под названием Mixture of Denoisers, комбинируя различные схемы маскировки текста для улучшения универсальности[14].

Ссылки

Литература

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