Essencial

Seq2seq, encoder-decoder e o gargalo

Forçar uma fonte inteira por um único vetor fixo cria ao mesmo tempo um limite de capacidade e um caminho de gradiente de centenas de passos — duas falhas separadas que uma única ideia, attention, removeu de uma vez.

Atualizada em

01 · Conceito

Conceito

Traduza uma frase alemã de quarenta palavras para o inglês. As palavras não aparecem na mesma ordem, uma língua marca uma distinção que a outra não marca, e o artigo inglês correto para um substantivo perto do fim depende de uma desinência de caso perto do começo. As duas sequências variam de comprimento, e seus comprimentos diferem entre si. Que arquitetura dá conta disso?

A resposta de 2014 separa o trabalho em dois. Um encoder lê a fonte e constrói uma representação. Um decoder autorregressivo gera o alvo um token por vez, condicionado nessa representação e no que ele já produziu. O padrão cobre muito mais que tradução — transcrição, sumarização, geração estruturada — e a separação encoder-decoder segue sendo uma das ideias mais duráveis da área.

Na versão recorrente, o encoder atualiza um hidden state ao longo de cada token da fonte, e seu estado final, ou uma transformação dele, vira a representação fixa da fonte inteira. O decoder inicializa a partir dessa representação, consome um token de início de sequência, prevê uma distribuição sobre o primeiro token do alvo e realimenta a própria escolha até aparecer um token de fim. Os comprimentos de fonte e alvo não precisam coincidir; o modelo aprende alinhamento apenas indiretamente, pelo objetivo de treino. A cross-entropy pontua cada posição do alvo e máscaras excluem o padding, com a entrada do decoder contendo o token de início seguido de todo o alvo menos o último, enquanto os rótulos contêm o alvo seguido do seu marcador de fim.

Teacher forcing fornece o token anterior verdadeiro do alvo durante o treino, o que estabiliza a otimização e permite preparar todas as entradas do decoder de antemão. Na inferência a continuação verdadeira não existe, então o decoder condiciona nas próprias escolhas e um erro cedo muda toda entrada posterior. Beam search e sampling mudam como esse espaço é explorado; eles não restauram informação da fonte que nunca entrou na representação.

O que nos leva à interface em si. Repare onde a fonte inteira precisa caber: um vetor, produzido antes de o decoding começar, inalterado pelo resto da geração. Tudo o que o decoder vier a precisar sobre a fonte — cada nome, cada negação, cada número, a ordem das orações — tem de estar lá dentro. Esse é o gargalo do vetor fixo, e ele falha de duas formas separadas que vale manter distintas, porque têm sintomas diferentes e apenas uma delas tem correção óbvia.

A primeira falha é capacidade, e a lição 3.1 já mostrou como contá-la. Um vetor limitado comporta um número limitado de bits; uma fonte longa ou densa em informação tem mais; algo se perde, e o modelo escolhe o quê sem saber o que o decoder vai pedir.

A segunda falha é atribuição de crédito, e é fácil de deixar passar. Trace a rota de um token inicial da fonte até uma loss tardia do alvo. O gradiente precisa viajar para a frente por cada passo restante do encoder até chegar ao estado final, e depois por cada passo do decoder até chegar à loss — não há outro caminho, porque o estado final é o único canal. Para uma fonte de quarenta tokens e um alvo de quarenta e cinco, isso dá cerca de oitenta e cinco transições recorrentes. Aplique diretamente a aritmética da lição 3.3: com retenção por passo de 0.990.99 o fator sobrevivente é 0.99850.430.99^{85}\approx0.43, o que é aceitável, mas com 0.950.950.95850.0130.95^{85}\approx0.013, e o primeiro token da fonte fica efetivamente intreinável contra um erro tardio do alvo. Células com gates esticaram isso; não removeram.

Aqui vem o desvio clássico, e a área genuinamente o tomou antes de achar a resposta real. A qualidade cai em fontes longas, então você alarga o estado do encoder — um vetor de resumo maior deveria comportar mais. Ajuda um pouco, custa parâmetros, e a curva de degradação mantém o formato. Aí você tenta um encoder bidirecional, que de fato melhora as representações porque a fonte inteira fica disponível nas duas direções. Aí camadas empilhadas. Aí, num resultado memorável da época, inverter a ordem dos tokens da fonte, o que encurta a distância entre as primeiras palavras da fonte e as primeiras palavras do alvo e melhorou a tradução de forma mensurável. Cada uma dessas é uma melhoria real e cada uma deixa a interface intacta: um resumo, calculado uma vez, servindo a todos os passos de saída. A inversão em particular é o sinal denunciador — ela melhora resultados embaralhando quais dependências são curtas, o que só faz sentido se o comprimento do caminho for a restrição que aperta.

A separação modular que o projeto introduziu ainda valia a pena manter. O encoder constrói representações da entrada observada, o decoder modela histórico do alvo e geração. Mas separação não garante nada sobre fidelidade: um decoder forte pode emitir texto fluente e gramatical na língua-alvo que omite ou inventa conteúdo da fonte, que é exatamente o modo de falha que um gargalo fixo encoraja. A avaliação portanto precisa de checagens de adequação e de análise de erros — omissões, repetições, substituições de entidades — e não de fluência nem de um único escore agregado de sobreposição.

Um experimento limpo sobre o gargalo mantém a complexidade do alvo fixa enquanto varia o comprimento da fonte de duas formas: acrescentando detalhe relevante e acrescentando enchimento irrelevante. Se a qualidade cai apenas quando os detalhes relevantes ficam numerosos ou distantes, a interface de compressão está implicada. Se o enchimento irrelevante causa colapso igual, suspeite de mascaramento ou de otimização. Inspecione os tipos de erro em vez do escore agregado, porque o ponto inteiro é a diferença entre um decoder que é fluente e um decoder que é informado.

02 · Analogia

Analogia

Uma intérprete ouve um discurso inteiro, escreve uma única ficha de anotação e então entra em outra sala para traduzir só a partir dessa ficha. Para uma frase curta, nomes e intenção talvez caibam. Para um discurso longo, datas, modificadores e ordem disputam o mesmo espaço. O decoder consegue escrever língua fluente a partir do próprio histórico, mas detalhe de origem que se perdeu não é recuperável de forma confiável. Attention muda o trabalho ao permitir que a intérprete consulte cada página das anotações originais enquanto fala.

03 · Explique de volta

Explique de volta

Descreva o treino e a inferência do encoder-decoder recorrente clássico, depois explique as duas falhas distintas que a interface de vetor fixo causa, por que alargar o vetor alivia apenas parcialmente a capacidade e por que não repara o caminho do gradiente nem a interface de resumo único.

Mínimo: 80 caracteres e 15 palavras. Seu texto fica somente neste navegador.

Aguardando sua explicação.

Comparar com uma resposta-modelo

O encoder consome a fonte e seu estado final vira um resumo fixo; o decoder inicializa a partir dele e gera o alvo de forma autorregressiva, treinado com teacher forcing e cross-entropy mascarada. A primeira falha é capacidade: todo detalhe da fonte de que qualquer passo futuro do decoder venha a precisar tem de sobreviver dentro de um único vetor limitado, e os detalhes competem entre si. A segunda é atribuição de crédito: o gradiente de uma posição tardia do alvo até um token inicial da fonte atravessa o decoder inteiro e o encoder inteiro, então com um fator de retenção por passo abaixo de um o sinal decai geometricamente ao longo desse comprimento somado. Alargar o vetor ataca só a primeira falha, e só por um fator constante, porque a interface continua exigindo que um único resumo sirva a todos os passos de saída.

04 · Teste seu entendimento

Teste seu entendimento

01A lição 3.3 mostrou que o sinal de longo alcance de uma LSTM decai como um produto de forget gates. Num modelo seq2seq com fonte de 40 tokens e alvo de 45 tokens, qual é o comprimento desse produto para o primeiro token da fonte?
Resposta e explicação

Cerca de 85 passos — o encoder inteiro mais o decoder inteiro, já que a única rota passa pelo estado final do encoder — Com retenção por passo de 0,99 sobra cerca de 43 por cento do sinal; com 0,95 sobra cerca de 1 por cento, e é por isso que fontes longas eram tão mais difíceis que as curtas.

02Por que o gargalo do vetor fixo não é resolvido tornando o vetor muito mais largo?
Resposta e explicação

A interface continua exigindo um único resumo, fixado antes de o decoding começar, para servir a todo passo do alvo, independentemente do que cada passo precise — Largura compra um fator constante de capacidade e não faz nada pelo caminho do gradiente nem pelo fato de que o resumo não pode ser especializado por passo de saída.

03O que condiciona o primeiro passo do decoder no seq2seq clássico?
Resposta e explicação

A representação final do encoder junto com um token de início — Esse estado final é o canal inteiro entre fonte e alvo neste projeto.

Conclua o teach-back e acerte o quiz para finalizar a aula.

◎ · Marcador de evidência

Fontes

  1. Ilya Sutskever, Oriol Vinyals e Quoc V. Le (2014). Sequence to Sequence Learning with Neural Networks.
  2. Qwen Team (2026). Qwen3.8-27B Model Card.