# Arquitetura Transformer

> Ponderar relações entre posições de uma sequência

- Data: 2017
- Época: Época moderna
- Domínio: [Eletricidade e eletrónica](https://lastcodex.org/pt/domains/electricity/)
- Etapa: V (Era elétrica)
- Dificuldade: 5/5
- URL: https://lastcodex.org/pt/inventions/transformer-network/

O Transformer é uma arquitetura de rede neuronal publicada em 2017 por Ashish Vaswani e os seus coautores. Processa sequências através de atenção, transformações numéricas e informação de posição; o modelo original inclui um codificador e um descodificador, estudados sobretudo para a tradução automática.

![Arquitetura Transformer · Ponderar relações entre posições de uma sequência](https://lastcodex.org/_astro/plate.2HFQaqM0_2jG6ls.webp)

## Legenda

1. Representações e posições de entrada
2. Codificador com autoatenção
3. Saídas anteriores e posições
4. Descodificador com autoatenção mascarada
5. Atenção às saídas do codificador
6. Projeção e probabilidades de saída

## O que é

Um Transformer transforma uma sequência de representações numéricas noutra sequência. Para o texto, as unidades processadas, ou tokens, recebem vetores: listas de números que a rede modifica. Na arquitetura de tradução publicada em 2017, o codificador processa a entrada e o descodificador constrói a saída a partir dos elementos já disponíveis.

A rede aprende parâmetros com exemplos de treino. Depois de fixados os parâmetros, uma entrada determina um cálculo; a produção de texto depende também da forma de escolher as saídas. As redes neuronais, a tradução automática e os mecanismos de atenção já tinham uma história quando surgiu esta combinação. O seu contributo diz respeito a uma arquitetura precisa de processamento de sequências.

## Como funciona

![Esquema frontal de uma consulta que compara duas chaves e depois combina os valores associados](https://lastcodex.org/_astro/v1.BfUbmeAM_1XWpFb.webp)
_Em cada par, a chave fica à esquerda e o valor à direita. Os valores ponderados combinam-se na saída._

A atenção forma consultas, chaves e valores a partir das representações. O produto escalar da consulta com cada chave dá uma pontuação, dividida pela raiz quadrada da dimensão das chaves. O softmax calcula as exponenciais e divide-as pela sua soma. Os pesos obtidos permitem somar os valores ponderados. Uma consulta pode assim reunir informação proveniente de várias posições.

Na autoatenção, consultas, chaves e valores provêm da mesma sequência, através de projeções aprendidas distintas. Várias cabeças trabalham com projeções diferentes; as suas saídas são concatenadas e transformadas. O codificador relaciona as posições de entrada. O descodificador mascara as posições futuras da saída e consulta também as representações do codificador através de uma atenção separada.

A arquitetura inclui redes aplicadas a cada posição, ligações residuais que adicionam a entrada de uma subcamada ao seu resultado e normalizações. A informação de posição completa os vetores, porque as comparações de conteúdo, por si só, não fornecem a ordem da sequência. O modelo base descreve seis camadas de codificador, seis de descodificador e oito cabeças nas suas subcamadas de atenção com várias cabeças.

Na atenção entre codificador e descodificador, as consultas vêm do descodificador, enquanto as chaves e os valores vêm da saída do codificador. No modelo original, a normalização segue cada soma residual. Estas operações repetem-se em cada camada, cujos pesos aprendidos podem ser diferentes.

Durante o treino, os elementos conhecidos da saída esperada são deslocados antes de entrarem no descodificador. A máscara impede cada posição de usar elementos futuros, mesmo quando se calculam várias posições em conjunto. Durante a geração, o descodificador recebe os elementos já produzidos e calcula as probabilidades do elemento seguinte.

## Como fazer

Um [computador](/pt/inventions/computer/) e uma calculadora chegam para experimentar uma operação de atenção. Escolha uma dimensão de chave igual a 1, uma consulta igual a 1, duas chaves `ln(3)` e 0, e dois valores 2 e 6. Aqui, `ln` significa logaritmo natural. Os números são escolhidos para o cálculo, sem treino prévio.

![Uma matriz quadrada de três linhas e três colunas com as casas acima da diagonal tracejadas](https://lastcodex.org/_astro/v2.DjNEX4xZ_ZTeg0j.webp)
_Uma máscara causal bloqueia as posições futuras acima da diagonal: as linhas são consultas e as colunas são chaves._

As pontuações são `ln(3)` e 0, pois a raiz quadrada de 1 é 1. As suas exponenciais valem 3 e 1, cuja soma é 4. Os pesos são, portanto, 3/4 e 1/4. A saída vale `(3/4 × 2) + (1/4 × 6) = 3`. O peso maior não elimina automaticamente a outra contribuição.

Repita o cálculo proibindo a segunda chave. Atribua à sua pontuação menos infinito antes do softmax: a sua exponencial passa a valer 0. Os pesos tornam-se 1 e 0 e a saída vale 2. Numa sequência, esta regra impede uma posição de consultar elementos seguintes. Uma máscara triangular mantém acessíveis a posição atual e as anteriores.

Treinar uma rede completa exige definir as representações, todas as camadas, os dados, o objetivo de aprendizagem e os ajustes dos parâmetros.

## História e evolução

Bahdanau, Cho e Bengio propuseram em 2014 um mecanismo de alinhamento aprendido para tradução neuronal, apresentado na ICLR em 2015. O seu descodificador podia ponderar diferentes partes da frase de origem. A autoatenção também foi explorada antes do Transformer, como reconhece o artigo de 2017.

A 12 de junho de 2017, Vaswani e sete coautores depositaram Attention Is All You Need no arXiv. Construíram um codificador e um descodificador sem recorrência nem convolução para relacionar posições. O cálculo das representações permitia maior paralelismo, enquanto a geração autorregressiva continuava a produzir elementos sucessivamente.

Desenvolvimentos posteriores utilizam codificadores, descodificadores ou ambos para outras tarefas. Estas variantes alteram utilizações e treino. A arquitetura publicada em 2017 continua a ser o ponto de partida da família Transformer.

## Dados essenciais

- Publicação inicial no arXiv: 2017
- Camadas do codificador e descodificador originais: 6 + 6
- Cabeças de atenção do modelo base: 8

## Requer

- [Computador](https://lastcodex.org/pt/inventions/computer/): Uma máquina com o programa na memória (1948)

## Fontes

- [Attention Is All You Need, version 1, 12 juin 2017](https://arxiv.org/pdf/1706.03762v1), Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Łukasz Kaiser, Illia Polosukhin ; arXiv
- [The Transformer Architecture, Dive into Deep Learning, §11.7](https://d2l.ai/chapter_attention-mechanisms-and-transformers/transformer.html), Aston Zhang, Zachary C. Lipton, Mu Li, Alexander J. Smola ; Dive into Deep Learning
- [Attention Scoring Functions, Dive into Deep Learning, §11.3](https://d2l.ai/chapter_attention-mechanisms-and-transformers/attention-scoring-functions.html), Aston Zhang, Zachary C. Lipton, Mu Li, Alexander J. Smola ; Dive into Deep Learning
- [Neural Machine Translation by Jointly Learning to Align and Translate](https://arxiv.org/abs/1409.0473), Dzmitry Bahdanau, Kyunghyun Cho, Yoshua Bengio ; arXiv
- [Attention Is All You Need, notice et historique des versions](https://arxiv.org/abs/1706.03762), arXiv, métadonnées de la contribution Vaswani et al.

Factos verificados em 2026-11-01.

---

The Last Codex · https://lastcodex.org/pt/inventions/transformer-network/ · © The Last Codex. Textos, pranchas e figuras: CC BY-NC-ND 4.0.
