Veni AI
Aprendizado Profundo

Arquitetura Transformer e Mecanismo de Atenção: Análise Técnica

Uma análise abrangente dos detalhes técnicos da arquitetura Transformer, do mecanismo de autoatenção, da atenção multi-head e das estruturas que formam a base dos LLMs modernos.

Veni AI Technical Team14 Ocak 20255 dk okuma
Arquitetura Transformer e Mecanismo de Atenção: Análise Técnica

Arquitetura Transformer e Mecanismo de Atenção: Análise Técnica

Introduzida pela Google no artigo de 2017 "Attention Is All You Need", a arquitetura Transformer forma a espinha dorsal da inteligência artificial moderna. Todos os principais modelos de linguagem, como GPT, Claude e Gemini, são construídos sobre essa arquitetura.

Antes dos Transformers: Limitações de RNN e LSTM

Antes da era dos transformers, tarefas de PLN dependiam de Redes Neurais Recorrentes (RNN) e redes Long Short-Term Memory (LSTM):

Problemas de RNN/LSTM:

  • Requisito de processamento sequencial → Paralelização é impossível.
  • Desvanecimento/explosão de gradientes em sequências longas.
  • Dificuldade em aprender dependências de longo alcance.
  • Tempos de treinamento muito longos.

Mecanismo de Self-Attention

Self-attention é um mecanismo que calcula a relação entre cada elemento em uma sequência e todos os outros elementos.

Formulação Matemática

Attention(Q, K, V) = softmax(QK^T / √d_k) × V

Parâmetros:

  • Q (Query): O vetor de consulta.
  • K (Key): O vetor-chave a ser comparado.
  • V (Value): O vetor de informação real.
  • d_k: A dimensão do vetor Key.

Cálculo Passo a Passo

  1. Projeção: Entrada → matrizes Q, K, V
1Q = X × W_Q 2K = X × W_K 3V = X × W_V
  1. Scores de Atenção: Produto escalar de Q e K
scores = Q × K^T
  1. Escalonamento: Divisão por √d_k para estabilidade do gradiente
scaled_scores = scores / √d_k
  1. Softmax: Conversão em uma distribuição de probabilidade
attention_weights = softmax(scaled_scores)
  1. Soma Ponderada: Multiplicação com Value
output = attention_weights × V

Multi-Head Attention

Em vez de um único head de atenção, múltiplos heads paralelos são utilizados:

1MultiHead(Q, K, V) = Concat(head_1, ..., head_h) × W_O 2 3where head_i = Attention(QW_Q^i, KW_K^i, VW_V^i)

Vantagens do Multi-Head Attention

  • Aprendizado em diferentes subespaços de representação.
  • Captura de vários tipos de relações contextuais.
  • Extração de características mais rica.

Configurações Típicas:

  • GPT-3: 96 heads de atenção, d_model = 12288.
  • GPT-4: Estimado acima de 120 heads.

Positional Encoding

Como Transformers processam dados em paralelo, informações posicionais são adicionadas para preservar o contexto sequencial:

Positional Encoding Sinusoidal

PE(pos, 2i) = sin(pos / 10000^(2i/d_model)) PE(pos, 2i+1) = cos(pos / 10000^(2i/d_model))

Rotary Positional Embedding (RoPE)

Um método mais avançado usado em modelos modernos:

f(x, pos) = x × e^(i × pos × θ)

Vantagens do RoPE:

  • Codifica naturalmente informações de posição relativa.
  • Melhor capacidade de extrapolação para sequências longas.
  • Usado em modelos como GPT-NeoX, LLaMA e Mistral.

Feed-Forward Network

Uma camada MLP que segue cada camada de atenção:

FFN(x) = GELU(xW_1 + b_1)W_2 + b_2

Dimensões Típicas:

  • d_model = 4096.
  • d_ff = 4 × d_model = 16384.

Funções de Ativação

  • ReLU: Clássica e simples.
  • GELU: Preferida em modelos tipo GPT.
  • SwiGLU: Usada em modelos LLaMA e PaLM.

Layer Normalization

Crucial para a estabilidade do treinamento:

Pre-LN vs Post-LN

Post-LN (Original):

x = x + Attention(LayerNorm(x))

Pre-LN (Moderno):

x = LayerNorm(x + Attention(x))

Pre-LN oferece treinamento mais estável e se tornou o padrão da indústria atualmente.

Arquiteturas Encoder vs Decoder

Encoder-Only (estilo BERT)

  • Atenção bidirecional.
  • Usado para Classificação, NER e similaridade semântica.
  • Masked Language Modeling.

Decoder-Only (estilo GPT)

  • Atenção causal/autoregressiva.
  • Usado para geração de texto e chat.
  • Previsão do próximo token.

Encoder-Decoder (T5, BART)

  • Tarefas sequência para sequência.
  • Tradução e sumarização.

Causal Masking

Mascaramento de tokens futuros em modelos decoders:

mask = triu(ones(seq_len, seq_len), diagonal=1) masked_scores = scores + mask × (-inf)

Isso garante que o modelo só observe tokens anteriores durante a geração.

Otimização de KV-Cache

Para evitar cálculos redundantes durante a inferência:

1Step 1: Calculate K_1, V_1 → save to cache 2Step 2: Calculate K_2, V_2 → K = [K_1, K_2], V = [V_1, V_2] 3Step n: Calculate only for the new token, retrieve old values from cache

Economia de Memória: O(n²) → O(n) para etapas de processamento.

Flash Attention

Uma implementação de atenção eficiente em memória:

Problemas da Atenção Padrão:

  • Uso de memória O(n²).
  • Gargalo de HBM (high bandwidth memory).

Solução Flash Attention:

  • Tiling: Divisão da atenção em blocos.
  • Online Softmax: Cálculo incremental.
  • I/O Aware: Otimização da hierarquia de memória da GPU.

Resultado: Aceleração de 2-4x, economia de 5-20% de memória.

Variantes de Atenção Esparsa

Reduzindo a complexidade da atenção para contextos longos:

Atenção Local

Foco apenas em tokens próximos.

Atenção Dilatada

Aplicação de atenção em intervalos específicos.

Padrão Longformer

Combinação de atenção Local + Global.

Variantes Modernas de Transformers

ModeloCaracterísticaTamanho de Contexto
GPT-4MoE, long context128K
Claude 3Constitutional AI200K
Gemini 1.5Sparse MoE1M
MistralSliding window32K

Conclusão

A arquitetura Transformer é o bloco de construção fundamental da IA moderna. Seu mecanismo de self-attention, capacidade de processamento paralelo e habilidade de aprender dependências de longo alcance tornaram essa arquitetura revolucionária.

Na Veni AI, utilizamos de forma eficaz modelos baseados em transformers em nossas soluções corporativas. Entre em contato conosco para consultoria técnica.

İlgili Makaleler