Arquitetura Transformer
Arquitetura Transformer é uma arquitetura de rede neural introduzida em 2017 por pesquisadores do Google no artigo "Attention Is All You Need"[1]. Ela revolucionou o campo do processamento de linguagem natural (PLN) e se tornou a base para a maioria dos grandes modelos de linguagem (LLMs) modernos, como BERT, GPT e Gemini. A inovação principal do Transformer é o mecanismo de autoatenção (self‑attention), que permite ao modelo ponderar a importância de diferentes partes dos dados de entrada e processar sequências em paralelo, abandonando a recorrência característica das RNNs e LSTMs.
Contexto Histórico e Pré-requisitos
Até 2017, as arquiteturas dominantes para o processamento de dados sequenciais, como texto, eram as redes neurais recorrentes (RNNs) e sua variante aprimorada, as redes de memória de longo e curto prazo (LSTMs).
Problemas das RNNs/LSTMs abordados pelo Transformer
- Limitações do processamento sequencial: RNNs e LSTMs processam dados token por token, o que impede o paralelismo intra-sequencial e torna o treinamento lento em grandes volumes de dados.
- Problema do desaparecimento e da explosão de gradientes: Em sequências longas, os gradientes propagados para trás através de muitos passos podem diminuir ou aumentar drasticamente, dificultando o aprendizado de dependências de longo prazo.
- Dependências de longo prazo: A informação do início de uma sequência pode se perder até o seu final.
A abordagem do Transformer consiste em um abandono completo da recorrência em favor do mecanismo de atenção. Ele garante um comprimento de caminho de dependência constante entre quaisquer posições (), facilitando a modelagem de dependências de longa distância, embora a implementação básica da autoatenção tenha uma complexidade computacional quadrática em relação ao comprimento da sequência ()[1][2]. O problema do desaparecimento/explosão de gradientes não é "eliminado", mas sim mitigado através de conexões residuais, LayerNorm e do regime de treinamento; em implementações modernas, a variante Pre‑LayerNorm (Pre‑LN) é frequentemente utilizada por ser mais estável durante o treinamento[3].
Arquitetura e Componentes Principais
A arquitetura original do Transformer consiste em duas partes principais: o codificador e o decodificador. Ambos os componentes são pilhas de camadas idênticas ( no artigo original)[1].
- Estrutura da camada do codificador: (1) autoatenção multi-cabeça (MHA), (2) FFN posicional (position-wise); cada subcamada é envolvida por uma conexão residual e LayerNorm[1].
- Estrutura da camada do decodificador: (1) autoatenção mascarada (uma máscara causal impede o acesso a posições futuras), (2) atenção cruzada (cross‑attention) com as saídas do codificador, (3) FFN — também com conexões residuais e LayerNorm[1].
Mecanismo de Atenção e Autoatenção (Self‑Attention)
O mecanismo de atenção calcula uma soma ponderada dos vetores de valor (Value), onde os pesos são determinados pelo grau de compatibilidade das chaves (Key) com as consultas (Query). No Transformer, é utilizada a Atenção de Produto Escalar Escalonado (Scaled Dot‑Product Attention):
Onde é a dimensionalidade das chaves/consultas; a divisão por evita a saturação da função softmax[1]. Quando , e são gerados a partir da mesma sequência, o mecanismo é chamado de autoatenção (self‑attention).
Atenção Multi-Cabeça (Multi‑Head Attention)
Em vez de um único conjunto de matrizes , são utilizadas "cabeças" de atenção paralelas. Cada cabeça projeta para subespaços de menor dimensão, calcula a atenção de forma independente e, em seguida, os resultados são concatenados e projetados[1]:
Variantes para acelerar a inferência:
- MQA (Multi‑Query Attention): todas as cabeças compartilham uma única chave/valor → reduz significativamente o volume e o tráfego do cache KV durante a decodificação[4].
- GQA (Grouped‑Query Attention): um compromisso entre MHA e MQA — vários grupos de cabeças compartilham K/V; a qualidade é próxima da MHA com a velocidade da MQA[5].
Codificação Posicional (Positional Encoding)
Como a autoatenção é invariante à ordem dos tokens, as codificações posicionais são adicionadas aos embeddings de entrada.
- Codificações sinusoidais originais (PE) de[1]:
- Variantes relativas/rotacionais modernas:
FFNs Posição-a-Posição, Residuais e Normalização
Cada camada do codificador e do decodificador, além da atenção, contém uma FFN posição-a-posição (position-wise):
Em torno de cada subcamada, são utilizadas conexões residuais (residual connections) e Normalização de Camada (Layer Normalization): . No artigo original, foi aplicada a variante Post‑LN[1]; em LLMs modernos, a Pre‑LN é frequentemente usada para maior estabilidade no treinamento e menor dependência de um longo aquecimento (warm-up)[3].
Evolução e Variantes Modernas
Os métodos anteriores, baseados em redes neurais recorrentes (RNNs) e suas variantes avançadas como as LSTMs, processavam o texto sequencialmente, um token de cada vez. Embora essa abordagem correspondesse intuitivamente à estrutura da linguagem, ela criava uma limitação significativa: dificultava os cálculos paralelos e complicava a detecção de dependências entre elementos distantes no texto. Em 2017, um grupo de pesquisadores do Google apresentou um artigo intitulado "Attention Is All You Need". Nele, descreveram uma nova arquitetura — o "Transformer". Este modelo foi o primeiro a abandonar completamente o uso de redes neurais recorrentes, substituindo-as por um mecanismo de "atenção" (attention). A principal inovação foi que o mecanismo de atenção permitia ao Transformer avaliar a importância de cada palavra na sequência de entrada para gerar a palavra correspondente na saída. Além disso, o modelo podia processar todas as palavras simultaneamente. Essa capacidade de processamento paralelo tornou possível treinar modelos muito maiores em volumes de dados enormes. Como resultado, surgiram os modernos grandes modelos de linguagem (LLMs).
A arquitetura Transformer serviu de base para uma infinidade de modelos, que podem ser divididos convencionalmente em três classes.
1. Modelos Somente-Codificador (Encoder‑only)
- Exemplo: BERT (e RoBERTa, ALBERT)[8].
- Princípio: pré-treinamento na tarefa de modelagem de linguagem mascarada (MLM) com contexto bidirecional.
- Aplicação: tarefas de compreensão (classificação, NER, etc.).
2. Modelos Somente-Decodificador (Decoder‑only)
- Exemplo: a série GPT (GPT‑1/2/3)[9][10], LLaMA[11], Claude.
- Princípio: modelagem de linguagem causal (CLM) — predição do próximo token; uma máscara causal é aplicada à atenção[1].
- Aplicação: geração de texto, diálogos, código.
3. Modelos Codificador-Decodificador (Encoder‑decoder)
- Exemplo: o Transformer original, T5, BART[1][12].
- Princípio: o codificador constrói uma representação da entrada, e o decodificador gera a saída usando atenção cruzada (cross-attention) com as características do codificador[1].
- Aplicação: tarefas seq2seq (tradução, sumarização, etc.).
4. Arquiteturas Multimodais e Alternativas
- Vision Transformer (ViT) — adaptação para imagens (divisão em patches)[13]; Swin Transformer — um modelo hierárquico com janelas deslocadas (shifted windows)[14].
- Alternativas para sequências longas:
Técnicas de Treinamento e Otimização
A eficácia do Transformer está intimamente ligada às técnicas de treinamento e à infraestrutura.
- Estratégias de pré-treinamento: CLM e MLM; também objetivos contrastivos e de remoção de ruído (denoising) (ELECTRA, T5)[12].
- Técnicas de ajuste fino (Fine‑tuning):
- Ajuste fino completo de todos os parâmetros.
- Ajuste Fino Eficiente em Parâmetros (PEFT): LoRA introduz adaptadores de baixo ranque (low-rank) enquanto os pesos base permanecem congelados[18].
- Alinhamento de comportamento: RLHF — Aprendizagem por Reforço com Feedback Humano[19].
- Otimizações de sistema para inferência: PagedAttention/vLLM aumentam a taxa de transferência (throughput) de serviço através do gerenciamento paginado do cache KV; é especialmente útil para sequências longas e grandes lotes (batches)[20].
Ligações externas
Literatura
- Vaswani, A., Shazeer, N., Parmar, N., et al. (2017). Attention Is All You Need. NeurIPS. arXiv:1706.03762.
- Devlin, J., Chang, M.‑W., Lee, K., Toutanova, K. (2019). BERT: Pre‑training of Deep Bidirectional Transformers for Language Understanding. arXiv:1810.04805.
- Radford, A., Narasimhan, K., Salimans, T., Sutskever, I. (2018). Improving Language Understanding by Generative Pre‑Training. OpenAI Technical Report.
- Brown, T. B., Mann, B., Ryder, N., et al. (2020). Language Models Are Few‑Shot Learners. NeurIPS. arXiv:2005.14165.
- Raffel, C., Shazeer, N., Roberts, A., et al. (2019). Exploring the Limits of Transfer Learning with a Unified Text‑to‑Text Transformer. arXiv:1910.10683.
- Dosovitskiy, A., Beyer, L., Kolesnikov, A., et al. (2020). An Image is Worth 16×16 Words: Transformers for Image Recognition at Scale. arXiv:2010.11929.
- Liu, Z., Lin, Y., Cao, Y., et al. (2021). Swin Transformer: Hierarchical Vision Transformer using Shifted Windows. arXiv:2103.14030.
- Tay, Y., Dehghani, M., Bahri, D., Metzler, D. (2020). Efficient Transformers: A Survey. arXiv:2009.06732.
- Xiong, R., Yang, Y., He, D., et al. (2020). On Layer Normalization in the Transformer Architecture. ICML. arXiv:2002.04745.
- Su, J., Lu, Y., Pan, S., et al. (2021). RoFormer: Rotary Position Embedding. arXiv:2104.09864.
- Press, O., Smith, N. A., Lewis, M. (2021). Train Short, Test Long: Attention with Linear Biases (ALiBi). arXiv:2108.12409.
- Shazeer, N. (2019). Fast Transformer Decoding: One Write‑Head is All You Need (MQA). arXiv:1911.02150.
- Ainslie, J., Lee‑Thorp, J., de Jong, M., et al. (2023). GQA: Training Generalized Multi‑Query Transformer Models from Multi‑Head Checkpoints. EMNLP. arXiv:2305.13245.
- Kwon, W., Li, Z., Zhuang, S., et al. (2023). Efficient Memory Management for LLM Serving with PagedAttention (vLLM). arXiv:2309.06180.
- Touvron, H., Lavril, T., Izacard, G., et al. (2023). LLaMA: Open and Efficient Foundation Language Models. arXiv:2302.13971.
- Gu, A., Dao, T. (2023). Mamba: Linear‑Time Sequence Modeling with Selective State Spaces. arXiv:2312.00752.
- Peng, B., et al. (2023). RWKV: Reinventing RNNs for the Transformer Era. arXiv:2305.13048.
- Lieber, O., Lenz, B., Bata, H., et al. (2024). Jamba: A Hybrid Transformer‑Mamba Language Model. arXiv:2403.19887.
- Hu, E. J., Shen, Y., Wallis, P., et al. (2021). LoRA: Low‑Rank Adaptation of Large Language Models. arXiv:2106.09685.
- Ouyang, L., Wu, J., Jiang, X., et al. (2022). Training language models to follow instructions with human feedback. OpenReview.
Notas
- ↑ 1.00 1.01 1.02 1.03 1.04 1.05 1.06 1.07 1.08 1.09 1.10 1.11 Vaswani, A., Shazeer, N., Parmar, N., et al. (2017). Attention Is All You Need. NeurIPS. arXiv:1706.03762.
- ↑ Tay, Y., Dehghani, M., Bahri, D., Metzler, D. (2020). Efficient Transformers: A Survey. arXiv:2009.06732.
- ↑ 3.0 3.1 Xiong, R., Yang, Y., He, D., et al. (2020). On Layer Normalization in the Transformer Architecture. ICML. arXiv:2002.04745.
- ↑ Shazeer, N. (2019). Fast Transformer Decoding: One Write‑Head is All You Need. arXiv:1911.02150.
- ↑ Ainslie, J., Lee‑Thorp, J., de Jong, M., et al. (2023). GQA: Training Generalized Multi‑Query Transformer Models from Multi‑Head Checkpoints. EMNLP. arXiv:2305.13245.
- ↑ Su, J., Lu, Y., Pan, S., et al. (2021). RoFormer: Rotary Position Embedding. arXiv:2104.09864.
- ↑ Press, O., Smith, N. A., Lewis, M. (2021). Train Short, Test Long: Attention with Linear Biases (ALiBi). arXiv:2108.12409.
- ↑ Devlin, J., Chang, M.‑W., Lee, K., Toutanova, K. (2019). BERT: Pre‑training of Deep Bidirectional Transformers for Language Understanding. arXiv:1810.04805.
- ↑ Radford, A., Narasimhan, K., Salimans, T., Sutskever, I. (2018). Improving Language Understanding by Generative Pre‑Training. OpenAI.
- ↑ Brown, T. B., Mann, B., Ryder, N., et al. (2020). Language Models Are Few‑Shot Learners. NeurIPS. arXiv:2005.14165.
- ↑ Touvron, H., Lavril, T., Izacard, G., et al. (2023). LLaMA: Open and Efficient Foundation Language Models. arXiv:2302.13971.
- ↑ 12.0 12.1 Raffel, C., Shazeer, N., Roberts, A., et al. (2019). Exploring the Limits of Transfer Learning with a Unified Text‑to‑Text Transformer. JMLR. arXiv:1910.10683.
- ↑ Dosovitskiy, A., Beyer, L., Kolesnikov, A., et al. (2020). An Image is Worth 16×16 Words: Transformers for Image Recognition at Scale. ICLR. arXiv:2010.11929.
- ↑ Liu, Z., Lin, Y., Cao, Y., et al. (2021). Swin Transformer: Hierarchical Vision Transformer using Shifted Windows. ICCV. arXiv:2103.14030.
- ↑ Gu, A., Dao, T. (2023). Mamba: Linear‑Time Sequence Modeling with Selective State Spaces. arXiv:2312.00752.
- ↑ Peng, B., et al. (2023). RWKV: Reinventing RNNs for the Transformer Era. arXiv:2305.13048.
- ↑ Lieber, O., Lenz, B., Bata, H., et al. (2024). Jamba: A Hybrid Transformer‑Mamba Language Model. arXiv:2403.19887.
- ↑ Hu, E. J., Shen, Y., Wallis, P., et al. (2021). LoRA: Low‑Rank Adaptation of Large Language Models. arXiv:2106.09685.
- ↑ Ouyang, L., Wu, J., Jiang, X., et al. (2022). Training language models to follow instructions with human feedback. OpenReview.
- ↑ Kwon, W., Li, Z., Zhuang, S., et al. (2023). Efficient Memory Management for LLM Serving with PagedAttention. arXiv:2309.06180.