El encoder usa atención bidireccional — cada token puede atender a todos los demás tokens en ambas direcciones. El decoder usa atención causal (solo puede ver tokens anteriores) más atención cruzada que mira la salida del encoder.
Los modelos decoder-only (GPT, Claude, Llama) ganaron por simplicidad y escalamiento. Una sola pila de Transformer es más fácil de escalar, entrenar y servir. La desventaja teórica — que el decoder solo puede ver tokens anteriores — resulta ser menos importante en la práctica cuando tienes suficientes parámetros y datos.
BERT y sus descendientes (RoBERTa, DeBERTa) siguen siendo dominantes para embeddings, clasificación y búsqueda. La atención bidireccional produce representaciones de texto superiores cuando no necesitas generar texto. Si tu tarea es "entender este texto" en lugar de "generar texto nuevo", encoder-only probablemente sigue siendo la mejor opción.