T5 (language model)
T5 (Text-to-Text Transfer Transformer) — серия больших языковых моделей, разработанных Google AI и представленных в 2019 году[1]. Как и оригинальная архитектура Transformer[2], модели T5 реализуют архитектуру кодировщик-декодер, где входной текст обрабатывает энкодер, а декодер генерирует выходной текст.
Обычно модели T5 предварительно обучаются на огромных объёмах текстовых корпусов и кода, что позволяет им решать текстовые задачи, схожие с задачами обучения. Кроме того, возможна донастройка на другие задачи.
Модели T5 применяются в различных областях, включая чат-боты, системы машинного перевода, инструменты для автоматического реферирования, генерацию кода и робототехнику[3].
Общие сведения
| T5 | |
|---|---|
| Тип | Большая языковая модель, Трансформер (нейросети) |
| Автор | Google AI |
| Первый выпуск | 23 октября 2019 |
| Последняя версия | T5X https://github.com/google-research/t5x |
| Репозиторий | github.com/google-resear… |
| Лицензия | Apache-2.0 |
| Сайт | blog.research.google/202… |
Обучение
Оригинальные модели T5 были предварительно обучены на Colossal Clean Crawled Corpus (C4) — корпусе текстов и кода, собранных с интернета с помощью веб-скрейпинга. Такая предобработка позволяет моделям научиться обобщённому пониманию и генерации языка. Затем T5 могут быть дообучены («донастроены») на конкретные специализированные задачи.
Модели T5 обучались на множестве задач, представленных в общем виде: <входной текст> → <выходной текст>.
Примеры таких заданий:
- восстановление повреждённого текста:
Thank you <X> me to your party <Y> week.→<X> for inviting <Y> last <Z>, где<Z>означает конец вывода, а<X>и<Y>— заполнители («sentinels»), подставляемые моделью; - перевод:
translate English to German: That is good.→Das ist gut.; - определение грамматической допустимости предложения (например, CoLA):
The course is jumping well.→not acceptable.
Архитектура
Серия T5 включает несколько моделей разного размера и возможностей, все — архитектуры кодировщик-декодер. Модели различаются в основном по количеству параметров.
В оригинальной публикации[1] представлены следующие пять конфигураций:
| Название | Общее число параметров | ! Параметры энкодера | ! Параметры декодера | Число слоёв (nlayer) | Размерность эмбеддингов (dmodel) | Размерность feedforward (dff) | Размерность ключей/значений (dkv) | Число голов внимания (nhead) |
|---|---|---|---|---|---|---|---|---|
| Small | 76 956 160 | 35 330 816 | 41 625 344 | 6 | 512 | 2048 | 64 | 8 |
| Base | 247 577 856 | 109 628 544 | 137 949 312 | 12 | 768 | 3072 | 64 | 12 |
| Large | 770 567 168 | 334 939 648 | 435 627 520 | 24 | 1024 | 4096 | 64 | 16 |
| 3B | 2 884 497 408 | 1 240 909 824 | 1 643 587 584 | 24 | 1024 | 16384 | 128 | 32 |
| 11B | 11 340 220 416 | 4 864 791 552 | 6 475 428 864 | 24 | 1024 | 65536 | 128 | 128 |
*У энкодера и декодера одинаковое число слоёв. Например, T5-small имеет 6 слоёв энкодера и 6 слоёв декодера.
Объяснения столбцов:
- nlayer — число слоёв в энкодере/декодере (всегда совпадает);
- nhead — число голов внимания внутри одного блока;
- dmodel — размерность векторного представления токенов;
- dff — размерность внутреннего feed-forward слоя в каждом слое;
- dkv — размерность векторов «ключ» и «значение» в механизме внимания.
Отметим, что для моделей 3B и 11B не соблюдается равенство dmodel = dkv × nhead[5].
От стандартного Transformer архитектура T5 отличается рядом мелких изменений: применением layer normalization без аддитивного сдвига; вынесением layer norm за пределы остаточных связей; и использованием относительного позиционного кодирования[6].
Для всех моделей использовался токенизатор WordPiece, размер словаря — 32 000. Используется один и тот же токенизатор для входного и выходного текста. Он обучался на смеси данных на английском, немецком, французском и румынском языках из корпуса C4; соотношение — 10:1:1:1.
Варианты
На архитектуре T5 построены и другие модели, для обозначения которых нередко используются разные непоследовательные соглашения об именах. Основные разновидности приведены ниже (полный список опубликованных Google Brain вариантов см. на GitHub в репозитории T5X[7]):
Некоторые модели обучены «с нуля», другие доучены из ранее обученных моделей. Если не указано иное, модель обучена с нуля.
- T5 small, base, large, 3B, 11B (2019) — оригинальная серия[1].
- T5 1.1 small, base, large, XL, XXL — улучшенные версии T5. Число параметров примерно то же, но используется функция активации GEGLU[8] вместо ReLU, 3B и 11B переименованы соответственно в «XL» и «XXL», некоторые архитектурные параметры изменились:[7][9][10]
| Название | Общее число параметров | ! Параметры энкодера | ! Параметры декодера | Число слоёв | Размерность эмбеддингов | Размерность feedforward | Размерность ключей/значений | Число голов внимания |
|---|---|---|---|---|---|---|---|---|
| Small | 76 961 152 | 35 332 800 | 41 628 352 | 8 | 512 | 1024 | 64 | 6 |
| Base | 247 577 856 | 109 628 544 | 137 949 312 | 12 | 768 | 2048 | 64 | 12 |
| Large | 783 150 080 | 341 231 104 | 441 918 976 | 24 | 1024 | 2816 | 64 | 16 |
| XL | 2 849 757 184 | 1 223 527 424 | 1 626 229 760 | 24 | 2048 | 5120 | 64 | 32 |
| XXL | 11 135 332 352 | 4 762 310 656 | 6 373 021 696 | 24 | 4096 | 10240 | 64 | 64 |
- LM-adapted T5 (2021): серия моделей (от small до XXL), продолживших обучение оригинальной T5 на дополнительных 100 млрд токенов из C4[11].
- Switch Transformer (2021): вариант T5 с использованием архитектуры mixture-of-experts, где feed-forward слои заменены на ансамбль экспертных слоёв[12].[13]
- T0 (3B, 11B, 2021): модели, продолжающие LM-adapted T5 и дообученные напрямую на задачах по инструкциям (zero-shot)[14]. Разные версии использовали разный состав данных для финин-тюнинга[15].
- ByT5 (2021): побайтная версия T5, обученная на mC4 (многоязычный корпус); работает непосредственно с байтами UTF-8, без токенизации[16].
- Flan-T5-XL (2022): вариант, дообученный на FLAN (инструкционном датасете) из контрольной точки T5 XL[17].[18][19][20]
- T5X (2022): переписанная на JAX реализация исходного кода, а не отдельная модель[21]. Исходно T5 были реализованы на TensorFlow c использованием MeshTF[22].
- UL2 20B (2022): архитектурно совместимая модель с T5, масштабированная до 20 млрд параметров, обучалась на «миксе денойзеров» на том же корпусе[23]. Обучение этой модели случайно продолжалось месяц на TPU-кластере из-за забытой остановки обучения[24].
- Flan-UL2 20B (2022): UL2 20B, дополнительно дообученная на FLAN для задач инструкционного обучения[23].[19]
- Pile-T5 (2024): архитектурно эквивалентна T5, но использует токенизатор Llama, обучена на датасете The Pile и представлена в размерах base, large, XL, XXL[25].
Применение
Модель T5 строится по архитектуре кодировщик-декодер, поэтому может использоваться для задач, связанных с выполнением инструкций; энкодер воспринимает инструкции, а декодер автогенерирует ответ.
Кодировщик T5 может применяться отдельно (как BERT) для преобразования текстов в векторные представления. Например, модель Imagen от Google использует T5-XXL как текстовый энкодер, а вектора из него используются в качестве условий для диффузионной генерации изображений. Как ещё один пример, модель AuraFlow использует Pile-T5-XL[26].
Примечания
- ↑ 1 2 3 Raffel, Colin; Shazeer, Noam; Roberts, Adam; Lee, Katherine; Narang, Sharan; Matena, Michael; Zhou, Yanqi; Li, Wei; Liu, Peter J. (2020). “Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer”. Journal of Machine Learning Research. 21 (140): 1—67. arXiv:1910.10683. ISSN 1533-7928.
- ↑ Vaswani, Ashish; Shazeer, Noam; Parmar, Niki; Uszkoreit, Jakob; Jones, Llion; Gomez, Aidan N; Kaiser, Łukasz; Polosukhin, Illia (2017). “Attention is All You Need”. Advances in Neural Information Processing Systems. Curran Associates, Inc. 30.
- ↑ Jiang, Yunfan; Gupta, Agrim; Zhang, Zichen; Wang, Guanzhi; Dou, Yongqiang; Chen, Yanjun; Fei-Fei, Li; Anandkumar, Anima; et al. (6 октября 2022), VIMA: General Robot Manipulation with Multimodal Prompts, arΧiv:2210.03094 [cs.RO].
- ↑ 1 2 Zhang, Aston. 11.9. Large-Scale Pretraining with Transformers // Dive into deep learning / Aston Zhang, Zachary Lipton, Mu Li … [и др.]. — Cambridge New York Port Melbourne New Delhi Singapore : Cambridge University Press, 2024. — ISBN 978-1-009-38943-3.
- ↑ config.json · google-t5/t5-11b at main. huggingface.co (24 апреля 2020). Дата обращения: 17 сентября 2024. Архивировано 6 марта 2025 года.
- ↑ Shaw, Peter; Uszkoreit, Jakob & Vaswani, Ashish (12 апреля 2018), Self-Attention with Relative Position Representations
- ↑ 1 2 t5x/docs/models.md at main · google-research/t5x (англ.). GitHub. Дата обращения: 5 августа 2024. Архивировано 24 сентября 2025 года.
- ↑ Shazeer, Noam (12 февраля 2020), GLU Variants Improve Transformer
- ↑ config.json · google/t5-v1_1-xl at main. huggingface.co (19 ноября 2020). Дата обращения: 17 сентября 2024. Архивировано 12 февраля 2025 года.
- ↑ config.json · google/t5-v1_1-xxl at main. huggingface.co (19 ноября 2020). Дата обращения: 17 сентября 2024. Архивировано 17 сентября 2024 года.
- ↑ Lester, Brian; Al-Rfou, Rami & Constant, Noah (2 сентября 2021), The Power of Scale for Parameter-Efficient Prompt Tuning
- ↑ Fedus, William; Zoph, Barret & Shazeer, Noam (16 июня 2022), Switch Transformers: Scaling to Trillion Parameter Models with Simple and Efficient Sparsity
- ↑ SwitchTransformers. huggingface.co. Дата обращения: 5 августа 2024. Архивировано 20 мая 2025 года.
- ↑ Sanh, Victor; Webson, Albert; Raffel, Colin & Bach, Stephen H. (17 марта 2022), Multitask Prompted Training Enables Zero-Shot Task Generalization
- ↑ bigscience/T0 · Hugging Face. huggingface.co (4 марта 2024). Дата обращения: 21 августа 2024. Архивировано 6 августа 2025 года.
- ↑ Xue, Linting; Barua, Aditya; Constant, Noah; Al-Rfou, Rami; Narang, Sharan; Kale, Mihir; Roberts, Adam; Raffel, Colin (25 марта 2022). “ByT5: Towards a Token-Free Future with Pre-trained Byte-to-Byte Models”. Transactions of the Association for Computational Linguistics [англ.]. 10: 291—306. arXiv:2105.13626. DOI:10.1162/tacl_a_00461. ISSN 2307-387X.
- ↑ Chung, Hyung Won; Hou, Le; Longpre, Shayne; Zoph, Barret; Tay, Yi; Fedus, William; Li, Yunxuan; Wang, Xuezhi; Dehghani, Mostafa; Brahma, Siddhartha; Webson, Albert; Gu, Shixiang Shane; Dai, Zhuyun; Suzgun, Mirac; Chen, Xinyun (2024). “Scaling Instruction-Finetuned Language Models”. Journal of Machine Learning Research. 25 (70): 1—53. arXiv:2210.11416. ISSN 1533-7928.
- ↑ Longpre, Shayne; Hou, Le; Vu, Tu; Webson, Albert; Chung, Hyung Won; Tay, Yi; Zhou, Denny; Le, Quoc V.; Zoph, Barret; Wei, Jason; Roberts, Adam (3 июля 2023). “The Flan Collection: Designing Data and Methods for Effective Instruction Tuning”. Proceedings of the 40th International Conference on Machine Learning [англ.]. PMLR: 22631—22648. arXiv:2301.13688.
- ↑ 1 2 google-research/FLAN, Google Research, 3 августа 2024, <https://github.com/google-research/FLAN>. Проверено 5 августа 2024.
- ↑ google/flan-t5-xl · Hugging Face. huggingface.co (4 января 2024). Дата обращения: 5 августа 2024. Архивировано 10 мая 2025 года.
- ↑ Roberts, Adam; Chung, Hyung Won; Mishra, Gaurav; Levskaya, Anselm; Bradbury, James; Andor, Daniel; Narang, Sharan; Lester, Brian; Gaffney, Colin; Mohiuddin, Afroz; Hawthorne, Curtis; Lewkowycz, Aitor; Salcianu, Alex; Zee, Marc van; Austin, Jacob (2023). “Scaling Up Models and Data with t5x and seqio”. Journal of Machine Learning Research. 24 (377): 1—8. ISSN 1533-7928.
- ↑ google-research/text-to-text-transfer-transformer. Google Research (21 августа 2024). Дата обращения: 21 августа 2024. Архивировано 6 сентября 2025 года.
- ↑ 1 2 Tay, Yi; Dehghani, Mostafa; Tran, Vinh Q. & Garcia, Xavier (28 февраля 2023), UL2: Unifying Language Learning Paradigms
- ↑ Training great LLMs entirely from ground up in the wilderness as a startup (амер. англ.). Yi Tay. Дата обращения: 18 октября 2024. Архивировано 31 августа 2025 года.
- ↑ Sutawika, Lintang; Komatsuzaki, Aran; Raffel, Colin Pile-T5 (англ.). EleutherAI Blog (15 апреля 2024). Дата обращения: 5 мая 2024. Архивировано 31 марта 2025 года.
- ↑ AuraFlow. huggingface.co. Дата обращения: 23 августа 2024. Архивировано 4 июля 2025 года.
Ссылки
- T5 release — коллекция Google. huggingface.co (31 июля 2024). Дата обращения: 16 октября 2024.