Uma RNN processa uma sequência token por token, atualizando seu estado oculto a cada passo: h_t = f(h_{t-1}, x_t). O estado oculto é uma representação comprimida de tudo que foi visto até agora. O problema: conforme as sequências ficam maiores, o estado oculto precisa comprimir cada vez mais informação em um vetor de tamanho fixo, e os sinais de gradiente para tokens iniciais desaparecem durante a retropropagação (o "problema do gradiente que desaparece").
Long Short-Term Memory (LSTM, 1997) e Gated Recurrent Units (GRU, 2014) abordaram o gradiente que desaparece introduzindo gates — mecanismos aprendidos que controlam quais informações manter, atualizar ou esquecer. LSTMs têm um estado de célula separado que pode carregar informação inalterada ao longo de muitos passos, com gates controlando o acesso. GRUs simplificam LSTMs mesclando os estados de célula e oculto mantendo desempenho similar.
RNNs processam tokens sequencialmente — o token 5 não pode ser processado até que os tokens 1–4 estejam prontos. Isso as torna inerentemente lentas em hardware paralelo (GPUs). Transformers processam todos os tokens simultaneamente usando attention, tornando-os dramaticamente mais rápidos para treinar. Attention também conecta diretamente cada token a todos os outros, resolvendo o problema de dependências de longo alcance sem depender de um estado oculto comprimido. O trade-off: Transformers usam memória quadrática no comprimento da sequência, enquanto RNNs usam memória constante. É por isso que SSMs (Mamba) são interessantes — oferecem eficiência tipo RNN com desempenho tipo Transformer.