Transformer e Mecanismos de Atenção

O Paper Original

Attention Is All You Need (2017)

  • Autores: Ashish Vaswani et al. (Google Brain)
  • arXiv: 1706.03762
  • Contribuição: Arquitetura Transformer pura — elimina RNNs/CNNs; self-attention multi-head; permite paralelismo total no treino
  • Resultado: 28.4 BLEU em WMT14 En-De; treino 3.5 dias em 8 P100s

Variantes de Atenção

Multi-Query Attention (MQA)

  • Paper: Noam Shazeer (2019)
  • Problema: KV cache cresce com o número de cabeças — gargalo de memória
  • Solução: Uma única cabeça K e V compartilhada; múltiplas cabeças Q
  • Speedup: Redução significativa do KV cache; trade-off leve de qualidade

Grouped-Query Attention (GQA)

  • arXiv: 2305.13245
  • Solução: Número intermediário de grupos K/V (entre 1 e full); recupera qualidade do MHA com velocidade próxima ao MQA
  • Speedup: 10.6× em LLaMA-2-7B a 8K contexto com mínima perda de qualidade
  • Adotado por: Llama 3, Qwen 2+, Mistral, DeepSeek-V3

Multi-Head Latent Attention (MLA)

  • arXiv: 2502.07864 (TransMLA), 2502.14837
  • Inovação: Projeta Q, K, V para espaço latente compacto; reduz KV cache via projeção de baixa dimensão
  • Desempenho: 93% de compressão do KV cache; 1.4× speedup para modelos menores
  • Pioneiro: DeepSeek-V2/V3 — usa MLA como diferencial arquitetural
  • DeepSeek-V4 abandonou MLA em favor de Hybrid CSA+HCA (próxima entrada).

NSA — Native Sparse Attention (DeepSeek, 2025)

  • arXiv: 2502.11089 · Venue: ACL 2025 (Long)
  • Autores: Yuan, Gao, Dai, Luo et al. (DeepSeek-AI + Peking University)
  • Premissa: Sparse attention pós-treino (H2O, SnapKV, etc.) corta KV cache mas raramente acelera o treino. NSA é hardware-aligned + nativamente treinável end-to-end.
  • Estratégia hierárquica dinâmica com 3 ramos paralelos por token:
    1. Coarse-grained token compression — comprime blocos largos para preservar contexto global
    2. Fine-grained token selection — seleciona top-k tokens individuais para precisão local
    3. Sliding window — preserva dependências locais imediatas
  • Resultado: modelo pré-treinado com NSA iguala ou supera Full Attention em benchmarks gerais, long-context e instruction reasoning. Speedups substanciais em 64k tokens em decodingforwardbackward.
  • Importância para o compendium: Predecessor direto do CSA (Compressed Sparse Attention) usado no DeepSeek-V4 — V4 cita "DeepSeek-AI 2025" para a estratégia DSA aplicada dentro do CSA. NSA estabeleceu o padrão "compression + selection" que CSA refinou e HCA estendeu.

Hybrid CSA + HCA (DeepSeek-V4)

  • Paper: DeepSeek-V4 §2.3 (24042026)
  • Compressed Sparse Attention (CSA): comprime cada m tokens em 1 KV entry via softmax-gate aprendido com positional bias; depois aplica DeepSeek Sparse Attention (DSA) — um lightning indexer (queries low-rank em FP4 + ReLU) seleciona top-k blocos por query.
  • Heavily Compressed Attention (HCA): mesmo esquema de compressão com fator m' ≫ m, mas dense (sem sparse selection); intercalada com camadas CSA.
  • Atenção complementar: sliding-window branch (n_win KVs uncompressed recentes), attention sink learnable, partial RoPE (só nos últimos 64 dims).
  • Resultado em 1M tokens: ~27% dos FLOPs de single-token e ~10% do KV cache vs DeepSeek-V3.2; ~2% do baseline BF16 GQA8 — viabiliza 1M de contexto em hardware corrente.
  • Detalhes complementares em 03-modelos/open-source.md (seção DeepSeek-V4) e em 05-inferencia/kv-cache.md (Heterogeneous KV Cache).

MSA — MiniMax Sparse Attention (MiniMax-M3, jun/2026)

  • Modelo: MiniMax-M3 (01062026) — ver 03-modelos/open-source.md (seção MiniMax).
  • Premissa de design: atenção esparsa por seleção de blocos KV — para cada query seleciona dinamicamente um subconjunto de blocos KV em vez de atender a toda a sequência. Descrita pela MiniMax como "arquitetura de atenção esparsa limpa e facilmente extensível".
  • Diferença vs. a linha DeepSeek: ao contrário de MLA (que comprime QKV num espaço latente) e de CSA/DSA (que comprimem blocos antes de selecionar), o MSA opera sobre KV não-comprimido — seleciona blocos KV em precisão cheia, evitando a perda de precisão da compressão em contexto longo. É o ponto "selection sem compression" do espaço de design, complementar ao "compression + selection" do NSA→CSA.
  • Resultado em 1M tokens: compute por token ≈ 1/20 do da geração anterior (M2); prefill >9× mais rápido (9.7×) e decoding >15× mais rápido (15.6×) vs. M2 no mesmo contexto.
  • Status do compendium: relatório técnico e pesos prometidos para liberação ~10 dias após o lançamento (não publicados na data de registro). Números acima são da nota oficial da MiniMax; confirmar contagem de heads/blocos quando o tech report sair.

FlashAttention 123

  • Problema: Atenção padrão é limitada pela largura de banda de memória (O(n²) em memória)
  • Solução: Algoritmo IO-aware; calcula atenção em blocos — evita materializar a matriz completa na HBM
  • FlashAttention 1 (Dao et al., 2022) — arXiv:2205.14135 — base
  • FlashAttention 2 (2023) — melhor paralelismo, melhor ocupação das GPUs
  • FlashAttention 3 (2024) — otimizado para Hopper (H100); pipelining assíncrono; 75% das FLOPS teóricas
  • Integrado em: PyTorch, vLLM, SGLang, TensorRT-LLM, todos os principais frameworks

Encodificação Posicional

RoPE — Rotary Positional Embedding

  • arXiv: 2104.09864
  • Mecanismo: Codifica posição relativa via matrizes de rotação no espaço complexo
  • Vantagem: Naturalmente relativo; decaimento suave da atenção com distância
  • Adotado por: Llama (123/4), Qwen, Mistral, DeepSeek, GPT-NeoX, PaLM

ALiBi — Attention with Linear Biases

  • arXiv: 2108.12409
  • Mecanismo: Penalidade de viés linear na atenção baseada em distância relativa; sem embedding de posição
  • Vantagem: Extrapolação para contextos maiores que o treinado

Positional Interpolation (PI)

  • Mecanismo: Comprime índices de posição dentro da janela de treino (escalonamento)
  • Extensão: Permite extrapolar contexto 2-4× sem retreino

YaRN (Yet Another RoPE Extension)

  • arXiv: 2309.00071 | ICLR 2024
  • Mecanismo: Escalonamento por partes das frequências + temperatura; NTK-by-parts interpolation
  • Eficiência: 10× menos tokens, 2.5× menos steps vs métodos anteriores
  • Extensão: 128K+ tokens em LLaMA-2 com 400-600 steps de fine-tuning

LongRoPE

  • arXiv: 2402.13753 | ICML 2024
  • Extensão: 2M tokens com apenas 1K steps de fine-tuning
  • Integrado em: Microsoft Phi-3

Arquiteturas de Mistura de Especialistas (MoE)

Sparsely-Gated MoE (2017)

  • arXiv: 1701.06538
  • Autores: Shazeer et al. (Google)
  • Mecanismo: Rede de gating seleciona top-k especialistas por token; apenas k ativos por forward pass
  • Impacto: Aumenta capacidade 1000× com overhead mínimo de compute

Switch Transformer (2021)

  • arXiv: 2101.03961
  • Simplificação: top-1 routing (apenas 1 especialista) — mais estável, menos comunicação
  • Treinado em: T5 11B → 1T parâmetros com mesmo FLOP

Mixtral 8×7B8×22B (Mistral, 20232024)

  • Arquitetura: MoE com 8 especialistas, 2 ativos por token (~12.9B de compute efetivo por token)
  • Licença: Apache 2.0

DeepSeek MoE Architecture

  • Inovação: Fine-grained experts + shared experts; permite maior especialização com roteamento mais eficiente
  • Usado em: DeepSeek-V2, V3, R1 (671B total, 37B ativos)

Tokenização

BPE (Byte Pair Encoding)

  • Origem: Philip Gage (1994) para compressão; adaptado por Sennrich et al. (2015) para NLP
  • Mecanismo: Combina pares de bytes mais frequentes iterativamente
  • Usado por: GPT-234, Llama, Qwen, DeepSeek, maioria dos LLMs modernos

SentencePiece

  • Paper: Kudo & Richardson (2018)
  • Diferencial: Agnóstico de idioma; trata input como bytes brutos sem pré-processamento de linguagem
  • GitHub: github.comgooglesentencepiece

WordPiece

  • Origem: BERT (Devlin et al., 2018)
  • Diferença do BPE: Maximiza probabilidade do corpus ao selecionar vocab em vez de frequência

Tiktoken

  • Origem: OpenAI
  • Usado por: GPT-3.544o — vocabulário de 100K tokens
  • Nota: Codificação eficiente para código (reduz tokens por whitespace/indentação)