Encoder, Decoder e Encoder-Decoder¶
O Transformer original era um encoder-decoder. Em até cinco anos após sua publicação, a área já havia dividido aquela arquitetura única em três famílias — encoder-only, decoder-only e encoder-decoder — e um desses ramos, a linhagem decoder-only, passou a dominar a modelagem de linguagem em escala de fronteira. Este capítulo percorre essa tricotomia: estabelece a taxonomia clássica, acompanha o ramo encoder-only desde o BERT em 2018 até o ModernBERT em 2024, situa o T5 e o enquadramento text-to-text no lado encoder-decoder e encerra com a pergunta que entregamos ao Capítulo 8 — por que o decoder-only venceu.
O argumento tem dois fios. O primeiro é taxonômico: cada família arquitetural se associa naturalmente a um objetivo auto-supervisionado diferente, e a escolha do objetivo determina aquilo em que o modelo resultante será bom. O segundo é histórico: o BERT foi projetado em 2018 com os componentes que eram padrão na época — embeddings posicionais absolutos aprendíveis, post-LayerNorm, GeLU, WordPiece, attention bidirecional completa. Nos anos seguintes, cada um desses componentes foi substituído ou refinado em outras partes da pilha arquitetural. O ModernBERT é o que um Transformer encoder-only se torna depois que oito anos de atualizações acumuladas no nível dos componentes são reincorporadas.
Três paradigmas arquiteturais¶
A taxonomia agora é padrão. Os modelos encoder-only — BERT, RoBERTa, ModernBERT — produzem representações contextuais de uma sequência de entrada em uma única passagem bidirecional; cada posição atende a todas as outras posições, e a saída é uma sequência de vetores destinada a alimentar classificadores ou recuperadores downstream [src_001, src_003]. Os modelos decoder-only — a linhagem GPT e seus sucessores — produzem uma distribuição sobre o próximo token em cada posição sob uma máscara causal, de modo que cada posição atende apenas a si mesma e a tokens anteriores; cobrimos essa família em detalhe no Capítulo 8 [src_002, src_010]. Os modelos encoder-decoder — o Transformer original de Vaswani, o T5 — combinam os dois: um encoder produz representações contextuais da entrada, e um decoder gera uma sequência de saída de forma autorregressiva enquanto faz cross-attention sobre a saída do encoder [src_001, src_002, src_003]. O próprio artigo do BERT batiza as duas metades com o que se tornaram seus rótulos canônicos — um "Transformer encoder" para a versão bidirecional e um "Transformer decoder" para a versão que enxerga apenas o contexto à esquerda [src_014].
🔗 Conexão
O contraste bidirecional / causal apoia-se sobre o maquinário de
máscaras de attention apresentado no Capítulo 1.
cross-attention é o acoplamento encoder-decoder cuja mecânica é
coberta em §"Encoder-decoder: o caminho do T5" mais abaixo.
🎯 Intuição
A tricotomia é mais fácil de ler a partir do que cada família consegue ver em cada posição:
- Encoder-only: cada posição vê todas as outras posições (contexto bidirecional completo).
- Decoder-only: cada posição vê apenas a si mesma e às posições anteriores (máscara causal triangular inferior).
- Encoder-decoder: uma passagem do encoder lê a entrada de forma bidirecional, e em seguida o decoder gera da esquerda para a direita olhando para a saída do encoder via cross-attention.
A visibilidade em cada posição é o que determina qual loss o padrão de attention da arquitetura efetivamente torna tratável.
Cada paradigma se alinha a um objetivo auto-supervisionado diferente. Os modelos encoder-only se associam a objetivos de denoising — prever os tokens mascarados dado seu contexto bidirecional. Os modelos decoder-only se associam à predição do próximo token da esquerda para a direita, que é exatamente o que a máscara causal torna tratável. Os modelos encoder-decoder se associam ao denoising sequence-to-sequence — corromper a entrada e gerar o original a partir da representação do encoder. A arquitetura e o objetivo não são escolhas independentes; uma implica a outra.
No restante deste capítulo usamos \(T\) para o comprimento da sequência, \(B\) para o tamanho do batch, \(D\) para a dimensão oculta, \(h\) para o número de attention heads, \(d_h = D / h\) para a dimensão por head, \(V\) para o tamanho do vocabulário e \(L\) para o número de layers do Transformer. Esses são os mesmos símbolos usados no Capítulo 1.
💡 Resultado-chave
Cada arquitetura se associa ao objetivo cuja loss seu padrão de attention efetivamente torna tratável.
BERT: o encoder bidirecional¶
O BERT é uma pilha de \(L\) layers de encoder Transformer — self-attention bidirecional mais uma FFN posição a posição — treinado para preencher tokens mascarados. A arquitetura é convencional; a contribuição que importou foi o objetivo de pretraining, que tornou o contexto bidirecional tratável para aprendizado auto-supervisionado em escala [src_014].
🔗 Conexão
A "self-attention bidirecional" sobre a qual o bloco do BERT roda é o padrão de attention completo (sem máscara) apresentado no Capítulo 1; o contraste com a máscara causal triangular inferior usada pela linhagem GPT abaixo apoia-se no mesmo maquinário.
A representação de entrada é a soma de três embeddings aprendidos por token. Para um token na posição \(i\) no segmento \(s \in \{A, B\}\), o embedding de entrada é
onde \(\mathbf{w}_{x_i}\) é o embedding de token WordPiece (WordPiece é um subword tokeniser — predecessor do BPE — que quebra palavras raras em pedaços menores extraídos de um vocabulário aprendido), \(\mathbf{s}_s\) é o embedding de segmento (um de dois vetores aprendidos que indicam a qual sentença o token pertence em um par), e \(\mathbf{p}_i\) é o embedding posicional absoluto aprendível — um vetor treinável separado para cada posição até um comprimento máximo fixo [src_014]. Voltaremos ao termo posicional em breve, porque essa única decisão de projeto é a coisa mais visível que a área substituiu ao seguir adiante. O vocabulário do BERT é WordPiece com 30.000 tokens, e o comprimento máximo de sequência é 512 [src_014].
Dois tokens reservados dão forma ao formato. O primeiro token de cada
sequência é [CLS], cujo estado oculto final é tomado como representação
agregada da entrada para tarefas de classificação; pares de sentenças são
unidos por um token [SEP] e distinguidos pelo embedding de segmento
[src_014].
O primeiro objetivo de pretraining é Masked Language Modeling (MLM). No
treinamento, 15% dos tokens WordPiece são selecionados para masking. Dos
tokens selecionados, 80% são substituídos pelo token especial [MASK],
10% são substituídos por um token aleatório do vocabulário e os 10%
restantes são deixados inalterados; o modelo é treinado para prever o
token original em cada posição selecionada [src_014]. Escrevendo
\(\mathcal{M}\) para o conjunto de posições mascaradas e \(x_{-\mathcal{M}}\)
para a entrada com essas posições substituídas segundo a regra 80/10/10,
a perda do MLM é
🤔 Pause e pense
A divisão 80/10/10 é incomum. Antes de seguir, você consegue dizer
o que daria errado se o BERT simplesmente substituísse cada
posição selecionada por [MASK]?
(Não olhe adiante — escreva a resposta ou diga em voz alta.)
🎯 Intuição
O modelo vê a sentença com buracos perfurados nela, e é avaliado por
quão bem preenche cada buraco. A divisão 80/10/10 é o que determina
como esses buracos parecem: às vezes um [MASK] literal, às vezes
uma palavra aleatória errada, às vezes o token original deixado no
lugar. Calcula-se a média do log-loss por buraco.
onde o modelo produz \(P(x_i \mid x_{-\mathcal{M}})\) em cada posição
mascarada passando o estado oculto da última camada pela matriz de
embedding de tokens transposta e por um softmax sobre o vocabulário
[src_014]. A divisão 80/10/10 não é apenas um detalhe. Substituir cada
posição mascarada por [MASK] criaria uma incompatibilidade entre
treino e teste, já que [MASK] nunca aparece no fine-tuning ou na
inferência; as frações aleatória e inalterada forçam o modelo a continuar
produzindo representações úteis para tokens que parecem não estar
mascarados.
🔗 Conexão
O MLM tem um análogo cross-modal limpo: a família masked- autoencoder (MAE) para visão dissecada no Capítulo 6 substitui tokens mascarados por patches de imagem mascarados e reconstrói o conteúdo retido a partir do contexto visível — a mesma ideia de denoising transposta de texto para imagens.
O segundo objetivo de pretraining é Next Sentence Prediction (NSP). Para
50% dos pares de treino, a sentença B genuinamente segue a sentença A no
corpus de origem; para os outros 50%, a sentença B é amostrada
aleatoriamente de outro lugar. Um classificador binário sobre o estado
oculto final de [CLS] prevê se B segue A [src_014]. O artigo original do
BERT relata que NSP ajuda em Question Answering e Natural Language
Inference, e o inclui na receita recomendada de pretraining [src_014].
🔄 Recapitulação
- Complete a equação. Quais três embeddings aprendíveis são somados em cada posição para formar o embedding de entrada \(\mathbf{e}_i\) do BERT, e o que cada um representa?
- Explique o porquê. Por que a regra 80/10/10 de substituição
de máscaras substitui alguns tokens selecionados por palavras
aleatórias e deixa outros inalterados, em vez de substituir cada
posição selecionada por
[MASK]? - Preveja. Suponha que um modelo sucessor descartasse o objetivo NSP por completo. Quais das escolhas de projeto do BERT você esperaria que se tornassem maquinário desperdiçado, e quais continuariam a pagar pelo seu custo?
O folclore do NSP¶
Um ano depois, o RoBERTa desmontou a receita do BERT hiperparâmetro por
hiperparâmetro e perguntou quais escolhas de projeto realmente se
pagavam. A descoberta principal para os nossos fins: o NSP não. Na
ablação do RoBERTa, configurações que descartam o NSP e alimentam o
modelo com sentenças contíguas amostradas de um único documento
(DOC-SENTENCES) ou através das fronteiras de documento
(FULL-SENTENCES) igualam ou levemente superam as pontuações em tarefas
downstream em comparação ao baseline com NSP retido [src_015]. A leitura
clínica é que o resultado positivo do NSP no BERT foi confundido pelo
formato de entrada usado na ablação do NSP, e não pelo termo de perda em si.
O RoBERTa vai além. A mesma arquitetura encoder, treinada por mais tempo, em mais dados, com batches maiores e dynamic masking (re-amostragem das posições mascaradas a cada época, em contraste com as máscaras pré- computadas em tempo de pré-processamento do BERT) — e sem NSP — iguala ou supera os modelos pós-BERT que haviam sido publicados no ano intermediário [src_015]. A conclusão é dupla. Arquiteturalmente, o NSP era uma alegação portante que não se sustentou. Metodologicamente, o BERT original estava significativamente subtreinado, e uma fração substancial do gap entre o BERT-2018 e os "sucessores do BERT" era atribuível a compute e dados, e não a inovação arquitetural. As duas lições reaparecem ao longo do restante do livro.
🔗 Conexão
"O BERT estava significativamente subtreinado" é exatamente o conteúdo empírico do argumento de alocação compute-óptima que o Capítulo 9 desenvolve como as leis de escala da Chinchilla.
⚠️ Armadilha
O resultado positivo do NSP no BERT foi confundido pela escolha de formato de entrada na ablação do NSP (segment-pair vs. contíguo no documento), e não pelo termo de perda em si. Ler o artigo original como "NSP ajuda" sem ler a ablação do RoBERTa inverte a lição.
O folclore do absoluto aprendível¶
O mesmo padrão aparece no positional encoding do BERT, em um pavio mais longo. Embeddings posicionais absolutos aprendíveis — um vetor treinável separado para cada posição até um comprimento máximo fixo — eram um default razoável em 2018 e foram herdados de modelos sequenciais anteriores. Têm dois limites práticos que se tornaram rígidos à medida que as janelas de contexto cresceram. Primeiro, são presos a um comprimento máximo fixo: um modelo treinado com 512 vetores posicionais não tem nada significativo para colocar na posição 513. Segundo, não extrapolam bem: o embedding na posição 500 e na posição 501 são vetores aprendidos independentes, sem viés indutivo embutido de que devessem codificar informação relativa similar [src_002, src_016].
A substituição, coberta no Capítulo 2, é a RoPE — rotary position encoding — que codifica posição como uma rotação aplicada a vetores de query e key em pares de dimensões. RoPE tem a propriedade desejável de que o produto interno entre queries e keys rotacionados depende apenas do seu deslocamento relativo, o que confere um viés de posição relativa embutido sem um termo aditivo extra [src_002, src_016]. ALiBi, um esquema concorrente que adiciona uma penalidade linear aprendida aos scores de attention em função da distância, ocupa o mesmo nicho. Ambos os esquemas generalizam para comprimentos além do que foi visto no treinamento, com escolhas adequadas de frequência base ou esquema de extensão [src_002].
🔗 Conexão
O Capítulo 2 cobre a RoPE em detalhe — incluindo por que a frequência base define o comprimento de onda da rotação mais lenta, por que a ALiBi ocupa o mesmo nicho, e como os "esquemas de extensão" YaRN / NTK-aware permitem que a mesma codificação generalize além do comprimento de contexto de treinamento.
ModernBERT: o BERT que envelheceu bem¶
O ModernBERT, lançado no fim de 2024, é a arquitetura encoder-only reconstruída com os componentes que se tornaram padrão nos anos intermediários [src_016]. A alegação principal, explicitada no artigo do ModernBERT, não é que o projeto do BERT tenha ficado ruim. É que os defaults da área se moveram, e um modelo encoder-only que adota esses defaults é mais rápido, com contexto mais longo e mais forte em avaliações downstream do que o original.
A matriz de decisão é a maneira mais limpa de ler o espaço de projeto.
| Dimensão | BERT (2018) | ModernBERT (2024) |
|---|---|---|
| Positional encoding | Absoluto aprendível (somado aos embeddings de entrada) | RoPE aplicada a Q/K, com frequências base separadas para layers globais e locais |
| Normalização | Post-LayerNorm | Pre-LayerNorm; termos de bias removidos; LayerNorm extra após a layer de embedding |
| Ativação da FFN | GeLU | GeGLU (uma variante Gated-Linear-Unit do GeLU) |
| Objetivo de pretraining | MLM (15% de mask) + NSP | MLM apenas, com taxa de mask maior, de 30% |
| Padrão de attention | Bidirecional completo, em cada layer | Alternado: attention local de janela deslizante (128 tokens) na maioria dos layers; attention global a cada terceiro layer |
| Comprimento máximo de sequência | 512 tokens | 8192 tokens nativamente (estendido a partir de 1024 durante o treinamento) |
| Tokenizador | WordPiece, \(V = 30{,}000\) | BPE OLMo modificado, \(V = 50{,}368\) (múltiplo de 64 para tiling de GPU) |
| Termos de bias | Presentes em layers lineares e LayerNorm | Removidos das layers lineares (exceto a layer linear final do decoder) e dos LayerNorms |
| Dados de pretraining | Aproximadamente 3,3 bilhões de tokens (BooksCorpus + Wikipedia) | 2 trilhões de tokens de texto multidomínio, incluindo código |
| Implementação de attention | Era pré-FlashAttention | FlashAttention-3 (global), FlashAttention-2 (local), com unpadding |
Referências para a coluna do BERT: [src_014]. Referências para a coluna do ModernBERT: [src_016]. Unpadding na última linha é o truque da era FlashAttention de pular o cômputo sobre tokens de padding, remodelando um batch com padding em uma única sequência concatenada, com a forma original recuperada na saída.
Comentário por componente¶
Algumas dessas merecem comentário breve, porque codificam mudanças arquiteturais mais amplas na área.
A passagem de post-LayerNorm para pre-LayerNorm é uma história de estabilidade. Com post-LN, o LayerNorm é aplicado depois da soma residual, e em profundidade essa configuração é notoriamente frágil durante o treinamento. Pre-LN aplica a normalização antes da transformação não linear de cada sub-layer, deixando o residual stream intocado, o que é mais estável para pilhas profundas [src_016]. Tratamos disso em detalhe no Capítulo 3.
🔗 Conexão
O Capítulo 3 trata a transição post-LN → pre-LN, o upgrade GeLU → GeGLU, e o contraste de gating versus não-gating (com a fórmula da GLU \(\mathrm{GLU}(x) = (xW_1 + b_1) \odot \sigma(xW_2 + b_2)\)) diretamente; os comentários breves aqui apenas sinalizam quais dimensões o Cap.3 cobre.
A passagem de GeLU para GeGLU é a mesma transição de gating versus não-gating que aparece no lado decoder como SwiGLU; a FFN ganha um gate aprendido que multiplica a ativação, ao custo de expandir a projeção por um fator (gerenciado ajustando-se a dimensão intermediária da FFN) [src_016]. O artigo do ModernBERT escolhe especificamente GeGLU; SwiGLU é a escolha típica para a família moderna decoder-only que o Capítulo 8 disseca.
O padrão alternado de attention local-global é o delta arquitetural substantivo. A maioria dos layers do ModernBERT usa attention local com janela deslizante de 128 tokens; a cada terceiro layer há um layer de attention global, que mistura informação por toda a sequência. Isso mantém o cômputo de attention mais próximo de linear no comprimento da sequência, preservando a mistura de longo alcance que torna úteis os contextos de 8192 tokens [src_016]. Os dois modos de attention usam frequências base de RoPE diferentes porque seus alcances efetivos de posição relativa diferem.
A mudança na taxa de mask — 15% no BERT, 30% no ModernBERT — é pequena na tabela mas digna de nota. A taxa de mask mais alta dá mais supervisão por sequência de treinamento, e o artigo do ModernBERT a considera preferível empiricamente; a taxa original de 15% foi ela mesma uma escolha de hiperparâmetro, e não um ótimo derivado [src_016, src_014]. NSP é descartado, como prenunciado pelo RoBERTa.
O enquadramento importa. O ModernBERT não inventou nenhum desses componentes; ele consolidou melhorias que haviam sido validadas em outros lugares — no RoBERTa, na linhagem decoder-only, em trabalhos sobre FlashAttention — e mostrou que elas se compõem em uma melhoria de Pareto sobre o projeto encoder de 2018 (melhor em todos os eixos simultaneamente — velocidade, comprimento de contexto e acurácia em tarefas downstream — sem trade-off) [src_016].
💡 Resultado-chave
O ModernBERT não inventou nenhum componente isolado; ele compôs oito anos de atualizações da era decoder-side e FlashAttention dentro do stack encoder-only e mostrou que elas geram uma melhoria de Pareto sobre o projeto de 2018.
🔄 Recapitulação
- Compare. No positional encoding e no padrão de attention, o que mudou entre o BERT-2018 e o ModernBERT-2024, e o que permaneceu igual?
- Explique o porquê. Por que a mudança de post-LayerNorm para pre-LayerNorm é uma história de estabilidade, e por que isso importa mais em profundidade?
- Preveja. Suponha que o ModernBERT substituísse seu padrão alternado local-global por sliding-window local em todos os layers. Qual de seus benefícios principais você esperaria perder primeiro?
Encoder-decoder: o caminho do T5¶
O terceiro ramo é o encoder-decoder, a arquitetura do Transformer original. T5 — Text-to-Text Transfer Transformer — é a sua instanciação canônica de 2020 [src_002, src_003]. Duas ideias importam.
A primeira é um enquadramento unificado text-to-text. T5 trata cada tarefa de NLP — classificação, question answering, tradução, sumarização — como um problema text-to-text. A entrada é um prompt textual que inclui um prefixo de tarefa; a saída é uma resposta textual; o mesmo modelo encoder-decoder lida com todas elas [src_003]. Esse enquadramento acaba antecipando o paradigma de modelo único com prompting que os modelos decoder-only mais tarde levaram à conclusão lógica em escala, mas o T5 o implementa com um backbone encoder-decoder.
A segunda é o objetivo de pretraining de span corruption. Em vez de mascarar tokens individuais (estilo BERT) ou prever o próximo token (estilo GPT), o T5 mascara spans contíguos da entrada — comprimento médio em torno de três tokens — substituindo cada span mascarado por um único token sentinela. O decoder é treinado para gerar uma sequência que lista cada sentinela seguida pelos tokens originais do span correspondente [src_003, src_002]. O encoder vê uma entrada corrompida; o decoder reconstrói o que foi removido. Esse objetivo fica entre os extremos do BERT e do GPT: é denoising como o BERT, mas pede geração autorregressiva como o GPT.
🤔 Pause e pense
Considere a entrada the cat sat on the mat. Suponha que os spans selecionados para masking sejam cat (comprimento 1) e on the (comprimento 2). Antes de ler o exemplo trabalhado abaixo, você consegue escrever como devem ficar a entrada do encoder e o alvo do decoder, incluindo onde vão os tokens sentinela? (Não olhe adiante — escreva primeiro.)
🎯 Intuição
Um exemplo concreto torna a transformação visível. Considere a entrada the cat sat on the mat. Suponha dois spans selecionados: sat (um token) e the mat (dois tokens). Cada span mascarado é substituído por um sentinela novo:
- Entrada do encoder: the cat
<X>on<Y> - Alvo do decoder:
<X>sat<Y>the mat<Z>
O decoder gera a reconstrução prefixada por sentinelas de forma
autorregressiva, e o <Z> final marca o fim da sequência. Os
sentinelas são o que permite que uma única saída de comprimento
variável descreva múltiplos buracos de comprimento variável.
A avaliação honesta em 2026 é que o T5 era excelente em 2020, e a área ainda assim migrou para longe dele. Em 2022, modelos decoder-only com in-context learning haviam efetivamente subsumido a maioria dos casos de uso do T5 — tradução, sumarização, classificação — sem necessitar do aparato de pretraining encoder-decoder. O caminho de inferência também é mais simples no decoder-only: um único KV-cache de causal-attention, sem passagem do encoder para gerenciar separadamente. Não relitigamos isso aqui; a próxima seção esboça o porquê em três linhas, e o Capítulo 8 preenche os detalhes arquiteturais.
🔗 Conexão
cross-attention — o acoplamento encoder-decoder invocado pela
primeira vez em §"Três paradigmas arquiteturais" — é o mecanismo
cuja mecânica a descrição de span corruption acima utiliza; o
KV-cache referenciado na sentença de fechamento é dissecado no
Capítulo 4,
onde é o objeto de memória central da decodificação autorregressiva.
Por que o decoder-only venceu¶
Três razões, todas emergindo no início dos anos 2020, explicam a migração para o decoder-only como o default para a modelagem de linguagem de propósito geral. O argumento empírico para essa escolha arquitetural foi construído em uma comparação direta controlada por Wang et al. (2022), que cruzaram três arquiteturas (causal decoder-only, non-causal decoder-only — um prefix-LM com attention bidirecional sobre um prefixo e cauda de geração com causal-attention, coberto como variante no Capítulo 8 — e encoder-decoder) com dois objetivos de pretraining (modelagem autorregressiva de linguagem e masked language modelling / span corruption); após pretraining puramente não supervisionado, a combinação causal decoder-only + autoregressive-LM produziu a generalização zero-shot mais forte, o que é a âncora empírica por trás da aposta arquitetural no estilo GPT [src_051].
Primeiro, prompting zero-shot e in-context learning emergiram como propriedades de modelos decoder-only escalados além de um limiar crítico. A demonstração do GPT-3 mostrou que um modelo decoder-only suficientemente grande, treinado puramente com predição do próximo token, podia executar uma ampla gama de tarefas no momento da inferência condicionando-se a poucos exemplos no prompt, sem atualizações de parâmetros [src_037]. Tratamos disso no Capítulo 8, porque é o comportamento qualitativo que torna a pilha moderna decoder-only digna de se montar.
🔗 Conexão
O Capítulo 8 disseca a pilha moderna decoder-only — incluindo como o prompting zero-shot e o in-context learning emergem com a escala, e os sucessores por componente (RMSNorm, SwiGLU, GQA, KV-cache) que a §"Olhando adiante" de fechamento prenuncia.
Segundo, pretraining em uma única etapa. Modelos decoder-only são treinados com um único objetivo de modelagem causal de linguagem em uma única passagem direta autorregressiva; o pretraining encoder-decoder exige coreografar duas redes, um objetivo explícito de corrupção e reconstrução, e um caminho de cross-attention. Com compute constante, a receita mais simples escala de forma mais limpa.
Terceiro, simplicidade operacional na inferência. Um modelo decoder-only serve um prompt fluindo tokens a partir de uma única pilha causal com um único KV-cache; sem passagem do encoder para gerenciar, sem estado separado do decoder além do próprio KV-cache. Desempacotamos o pipeline de inferência no Capítulo 8.
💡 Resultado-chave
A comparação controlada de Wang et al., somada à emergência de zero-shot/ICL, somada à simplicidade operacional na inferência, explica em conjunto por que a combinação causal-LM com decoder-only se tornou o default de fronteira — mas apenas para geração de propósito geral.
O enquadramento não deve ser triunfalista. Decoder-only é o default correto em escala de fronteira para geração de propósito geral; não é um veredito universal. Modelos encoder-only permanecem genuinamente competitivos — frequentemente dominantes — em recuperação, classificação e tarefas de embedding em que o contexto bidirecional é o ponto e a geração não é necessária, e em que latência e custo de servir importam [src_016]. O ModernBERT foi projetado precisamente para essas tarefas, e compete contra baselines encoder-only, não contra modelos de linguagem decoder-only de fronteira. Modelos encoder-decoder mantêm um nicho em tradução e em tarefas de geração estruturada nas quais entrada e saída são claramente separadas e a bidirecionalidade do encoder é útil.
🔄 Recapitulação
- Complete. Das três razões dadas para a ascensão do decoder-only (zero-shot/ICL, pretraining em uma única etapa, simplicidade na inferência), qual delas a comparação controlada de Wang et al. efetivamente ancora empiricamente?
- Compare. Nomeie uma tarefa em que encoder-only ainda é o default correto e uma em que encoder-decoder mantém um nicho, com uma razão de uma linha para cada.
- Preveja. Suponha que uma comparação controlada da era de 2024 fosse refeita com a receita de pretraining atual (compute muito maior, dados pós-2022). Qual das três razões você esperaria que ganhasse força e qual você esperaria que enfraquecesse?
Olhando adiante¶
O Capítulo 8 toma o ramo decoder-only e disseca como é por dentro um modelo de fronteira de 2024-2025 — Llama-3, DeepSeek-V3, as famílias Qwen e Gemma. Os componentes apresentados de passagem aqui (RoPE em §7.4, GeGLU e pre-LayerNorm na tabela do ModernBERT, padrões alternados de attention) reaparecem lá em suas encarnações do lado decoder: RoPE em Q e K, RMSNorm em vez de LayerNorm, SwiGLU em vez de GeGLU, GQA para a variante de attention e um pipeline de inferência que coloca o KV-cache em primeiro plano como objeto central de memória. O mesmo movimento histórico que produziu o ModernBERT — manter o diagrama de blocos original, substituir cada componente pelo seu sucessor de oito anos depois — é o movimento que produziu o LLM moderno decoder-only. O próximo capítulo mostra o que surge quando se faz isso na linhagem GPT.
Referências¶
- src_001 — Bishop, C. M. & Bishop, H. Deep Learning: Foundations and Concepts. Springer, 2024. https://www.bishopbook.com/
- src_002 — Xiao, T. & Zhu, J. Foundations of Large Language Models. arXiv:2501.09223v2, 2025. https://arxiv.org/pdf/2501.09223
- src_003 — Jurafsky, D. & Martin, J. H. Speech and Language Processing, 3rd ed. (rolling, January 2026 release). https://web.stanford.edu/~jurafsky/slp3/
- src_010 — Raschka, S. Build a Large Language Model (From Scratch). Manning, 2024. https://github.com/rasbt/LLMs-from-scratch
- src_014 — Devlin, J., Chang, M.-W., Lee, K. & Toutanova, K. BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. arXiv:1810.04805, 2018. https://arxiv.org/pdf/1810.04805
- src_015 — Liu, Y., Ott, M., Goyal, N., Du, J., Joshi, M., Chen, D., Levy, O., Lewis, M., Zettlemoyer, L. & Stoyanov, V. RoBERTa: A Robustly Optimized BERT Pretraining Approach. arXiv:1907.11692,
- https://arxiv.org/pdf/1907.11692
- src_016 — Warner, B., Chaffin, A., Clavié, B., Weller, O., Hallström, O., Taghadouini, S., Gallagher, A., Biswas, R., Ladhak, F., Aarsen, T., Cooper, N., Adams, G., Howard, J. & Poli, I. Smarter, Better, Faster, Longer: A Modern Bidirectional Encoder for Fast, Memory Efficient, and Long Context Finetuning and Inference (ModernBERT). arXiv:2412.13663, 2024. https://arxiv.org/pdf/2412.13663
- src_037 — Brown, T. et al. Language Models are Few-Shot Learners. arXiv:2005.14165, 2020. (Cited via Chapter 8; introduced here for the in-context-learning argument.)
- src_051 — Thomas Wang, Adam Roberts, Daniel Hesslow, Teven Le Scao, Hyung Won Chung, Iz Beltagy, Julien Launay, and Colin Raffel. What Language Model Architecture and Pretraining Objective Works Best for Zero-Shot Generalization? In Proceedings of the 39th International Conference on Machine Learning (ICML 2022), 2022. https://arxiv.org/pdf/2204.05832