T5 (Text-to-Text Transfer Transformer) (PT)
T5 (Text-to-Text Transfer Transformer) é uma família de grandes modelos de linguagem, desenvolvida por pesquisadores do Google AI e apresentada em 2019[1]. A inovação principal do T5 é um framework unificado "text-to-text", que trata qualquer tarefa de processamento de linguagem natural (PLN) como um problema de transformar uma sequência de texto em outra. Isso permitiu o uso de um único modelo, função de perda e procedimento de treinamento para uma ampla gama de tarefas, como tradução, sumarização, resposta a perguntas e classificação[2].
O modelo é baseado na arquitetura transformer padrão "encoder-decoder", o que o diferencia de modelos como o BERT (apenas encoder) e o GPT (apenas decoder). O trabalho no T5 foi concebido como um estudo empírico em larga escala para explorar e comparar sistematicamente várias técnicas de aprendizado por transferência em PLN, em vez da criação de um método fundamentalmente novo[1].
Paradigma "Text-to-Text"
A ideia central do T5 é que todas as tarefas são formuladas em um formato unificado. O modelo recebe um texto como entrada e também gera um texto como saída. Para que o modelo possa distinguir as tarefas que lhe são atribuídas, um prefixo de instrução textual especial é adicionado à sequência de entrada[2].
- Tradução: `translate English to German: That is good.` → `Das ist gut.`
- Classificação de sentimento: `sst2 sentence: a very exciting film.` → `positive`
- Sumarização: `summarize: [longo texto do artigo]` → `[breve resumo]`
Essa abordagem simplifica radicalmente o processo de aplicação do modelo, eliminando a necessidade de desenvolver "cabeças" específicas para cada tarefa (task-specific heads), o que era característico de arquiteturas como o BERT[3].
Arquitetura e Escala
Arquitetura Encoder-Decoder
O T5 utiliza uma arquitetura transformer padrão, composta por duas partes[1]:
- Encoder: Processa toda a sequência de entrada simultaneamente, criando uma representação rica e contextualizada. Assim como no BERT, o encoder do T5 é bidirecional.
- Decoder: Gera o texto de saída token por token (de forma autorregressiva), utilizando a representação obtida do encoder.
Essa estrutura híbrida permite que o T5 resolva eficientemente tanto tarefas de compreensão de linguagem quanto tarefas de geração de texto[4].
Principais Melhorias
A arquitetura T5 inclui várias modificações em comparação com o modelo transformer original:
- Embeddings posicionais relativos: Em vez de embeddings sinusoidais absolutos, o T5 utiliza uma forma simplificada, mas eficaz, de codificação de posição relativa, onde um deslocamento escalar treinável (bias) é adicionado aos logits de atenção, dependendo apenas da distância relativa entre os tokens[1].
- Normalização de camada (Layer Norm) modificada: A normalização é movida para fora da conexão residual (residual connection), e o deslocamento aditivo (bias) é removido para aumentar a estabilidade do treinamento.
Escalas do Modelo
No trabalho original, o modelo foi apresentado em várias configurações, diferenciadas pelo número de parâmetros, o que permitiu um estudo sistemático do impacto da escala[5]:
- T5-Small: ~60 milhões de parâmetros
- T5-Base: ~220 milhões de parâmetros
- T5-Large: ~770 milhões de parâmetros
- T5-3B: ~3 bilhões de parâmetros
- T5-11B: ~11 bilhões de parâmetros
O estudo mostrou que aumentar a escala do modelo é uma das formas mais confiáveis de melhorar seu desempenho[1].
Pré-treinamento: Dataset C4 e a Tarefa de Span Corruption
Tarefa de Span Corruption
Para o pré-treinamento do T5, foi escolhida uma tarefa de remoção de ruído (denoising), especificamente uma variante chamada corrupção de trechos (span corruption)[6]. O método funciona da seguinte forma:
- No texto de entrada, 15% dos tokens são mascarados aleatoriamente.
- Diferente do método MLM no BERT, onde tokens individuais são mascarados, no T5, trechos contínuos inteiros (spans) são mascarados.
- Cada trecho corrompido é substituído por um token de máscara único (por exemplo, `<X>`, `<Y>`).
- O modelo é treinado para gerar na saída a sequência dos trechos removidos, separados pelas máscaras correspondentes.
Essa abordagem força o modelo a prever sequências inteiras de texto, o que se revelou uma tarefa de pré-treinamento mais eficaz do que a simples modelagem de linguagem[1].
Dataset C4 (Colossal Clean Crawled Corpus)
Para realizar o potencial do aprendizado por transferência, os pesquisadores criaram um conjunto de dados de texto enorme e de alta qualidade chamado C4, com cerca de 750 GB[2]. Ele foi obtido a partir da limpeza e filtragem em larga escala do corpus da web publicamente disponível Common Crawl[7]. O processo de limpeza incluiu a remoção de duplicatas, texto de modelo ("Lorem ipsum"), sentenças incompletas, bem como a filtragem de linguagem imprópria[8].
Críticas ao Dataset C4
Apesar do objetivo declarado de criar um corpus "limpo", o processo de filtragem do C4 foi criticado por vieses sistêmicos. Estudos mostraram que o filtro de linguagem imprópria removeu desproporcionalmente textos relacionados a comunidades LGBTQ+, bem como textos em inglês afro-americano (AAE)[8]. Além disso, foi encontrada no dataset uma quantidade significativa de conteúdo ofensivo e protegido por direitos autorais. Esses problemas ilustram a complexidade de criar conjuntos de dados objetivamente de "qualidade" e como as decisões técnicas de filtragem podem levar a vieses sociais não intencionais.
Resultados e Desempenho
Na época de sua publicação, o T5 estabeleceu novos recordes de desempenho (state-of-the-art) em vários benchmarks, incluindo GLUE, SuperGLUE, SQuAD e tarefas de sumarização[2]. Em particular, o modelo T5-11B alcançou no SuperGLUE um resultado próximo ao nível humano, demonstrando a capacidade de lidar com tarefas que exigem raciocínio lógico complexo[9]. Esses resultados confirmaram a hipótese central da pesquisa: a combinação de um framework unificado, grande escala e um conjunto de dados de alta qualidade é uma estratégia extremamente poderosa para alcançar resultados de ponta em PLN.
Evolução e Variantes do T5
A abordagem do T5 serviu como base para muitos modelos subsequentes:
- mT5: Uma versão multilíngue do T5, treinada no corpus mC4, que abrange 101 idiomas[10].
- ByT5: Uma versão experimental que abandona completamente a tokenização e opera diretamente com bytes brutos UTF-8. Isso a torna robusta a erros de digitação e permite processar qualquer idioma "out-of-the-box"[11].
- Switch Transformer: Uma versão escalável do T5 que introduziu a arquitetura Mixture-of-Experts (MoE), permitindo aumentar o número de parâmetros para trilhões, mantendo custos computacionais razoáveis[12].
- FLAN-T5: Não é uma nova arquitetura, mas um T5 padrão que passou por uma etapa adicional de ajuste fino em centenas de tarefas formuladas como instruções (instruction tuning). Isso aumentou significativamente sua capacidade de generalizar para tarefas novas e inéditas no modo zero-shot (sem exemplos)[13].
- UL2: Um modelo que desenvolve as ideias do T5, utilizando um novo objetivo de pré-treinamento chamado Mixture of Denoisers, combinando diferentes esquemas de mascaramento de texto para melhorar a universalidade[14].
Links
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.
Notas
- ↑ 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]