Essencial
Positional encoding I: senoidal e aprendido
Como attention sozinha é equivariante a permutações, Transformers precisam de um sinal explícito que distinga posição e ordem — as respostas de 2017 foram carimbos senoidais e tabelas aprendidas.
Atualizada em
01 · Conceito
Conceito
Tudo o que foi construído nesta track até aqui tem um ponto cego, e ele é fácil de enunciar concretamente. Alimente a pilha de attention com os vetores de token de “cachorro morde pessoa” e depois com os mesmos três vetores reordenados como “pessoa morde cachorro”. Attention compara vetores por conteúdo: cada produto escalar query–key entre o mesmo par de vetores é idêntico nos dois casos, então as saídas são os mesmos vetores, apenas reordenados do mesmo jeito que as entradas foram. Essa equivariância a permutações significa que o modelo literalmente não consegue dizer quem mordeu quem. (O causal mask da lição 4.4 restringe quais pares interagem, o que quebra a simetria só parcialmente — ele diz quem vem antes, não a que distância nem onde.) A linguagem precisa de ordem; attention sozinha não a enxerga.
Tente a primeira correção óbvia: anexar a posição como um número extra, de modo que o token na posição 7 receba uma feature de valor 7. Ela falha duas vezes. O escalar solitário precisa sobreviver a projeções desenhadas para milhares de features de conteúdo, então é facilmente abafado; e sua magnitude cresce sem limite — a posição 100.000 tem uma feature 100.000 vezes maior que a da posição 1, arruinando as estatísticas cuidadosamente escaladas da lição 4.3. A correção que o artigo de 2017 escolheu: dar à posição um vetor de largura completa com entradas limitadas e estrutura em muitas escalas, e somá-lo ao embedding do token antes da primeira camada:
Como ambos os vetores têm largura , posição e conteúdo compartilham o residual stream, e toda projeção de todo head (lição 4.5) pode usar combinações dos dois.
O esquema senoidal define esse vetor por fórmula, pareando dimensões em frequências espaçadas geometricamente:
Um pequeno exemplo trabalhado com torna isso tangível. Para a posição : o par de dimensões usa frequência , dando e . O par usa frequência , dando e . O par rápido já oscilou de forma perceptível na posição 1; o par lento mal se moveu e vai levar centenas de posições para mudar de modo apreciável. A posição 2 dobra cada ângulo (, ), e assim por diante: cada posição recebe uma leitura distinta de relógio multivelocidade, com todas as entradas limitadas a . Posições próximas têm carimbos parecidos; posições distantes diferem nas dimensões lentas. Deslocamentos relativos são linearmente recuperáveis a partir dos pares seno–cosseno, uma propriedade que discretamente antecipa a próxima lição.
Um embedding de posição absoluta aprendido substitui a fórmula por uma tabela treinável: uma linha por posição suportada, consultada exatamente como um embedding de token. O BERT e a linhagem GPT usaram isso com sucesso — a otimização descobre qualquer geometria posicional que ajude a distribuição de treino, em vez de aceitar uma predeterminada.
O tradeoff não é “princípios versus aprendizado”. Uma tabela aprendida tem um comprimento máximo declarado e simplesmente não tem linha além dele; estender significa redimensionar e interpolar linhas que nunca foram treinadas. A fórmula senoidal produz um valor para qualquer posição inteira — mas um valor definido não é um valor útil.
Dois detalhes operacionais pesam na prática. A soma não obriga a rede a manter conteúdo e posição separáveis — eles ficam emaranhados num único vetor desde a primeira camada, e os Q, K e V de cada head herdam a mistura. E os índices de posição são um contrato: padding à esquerda, documentos empacotados e reinícios de fronteira mudam qual inteiro cada token recebe, então um descasamento entre a numeração de treino e a de inferência degrada a saída mesmo quando todos os shapes são válidos.
Uma forma útil de comparar esquemas é perguntar onde a posição entra. Esquemas absolutos — os dois sabores desta lição — a carimbam na entrada, atrelando a informação a um índice (“este é o token 37”) em vez de a uma distância (“este token está três atrás”), e deixando a rede inferir os deslocamentos a partir de dois carimbos absolutos. Esquemas relativos movem a posição para dentro do próprio cálculo de attention, onde deslocamentos vivem naturalmente.
Foi exatamente esse o caminho que a área tomou, e o modelo deste curso é a evidência: o Qwen3.8-27B não usa nenhum dos esquemas desta lição. Nenhum carimbo senoidal é somado aos seus embeddings e nenhuma tabela de posição absoluta aprendida existe nos seus pesos; a posição entra por rotações aplicadas a queries e keys dentro das suas camadas de attention — RoPE, com o toque extra de aplicação parcial e seções multimodais. Esse mecanismo é a próxima lição. Trate as tabelas senoidais e aprendidas como a baseline histórica que definiu o problema — quebrar a simetria de permutação com um sinal limitado e multiescala — cuja solução mais conhecida hoje mora em outro ponto do bloco.
02 · Analogia
Analogia
Imagine cartões soltos com as falas de uma peça. As palavras identificam o que cada ator diz, mas embaralhar os cartões muda a história. O encoding senoidal carimba em cada cartão vários ponteiros de relógio girando em velocidades diferentes; cartões próximos têm carimbos parecidos, e os ciclos longos distinguem regiões mais amplas. Embeddings aprendidos, em vez disso, dão a cada assento do roteiro seu próprio rótulo editável. Nos dois casos, conteúdo mais marca de posição restaura a ordem.
03 · Explique de volta
Explique de volta
Explique por que self-attention precisa de informação de posição e compare embeddings de posição absoluta senoidais e aprendidos.
Comparar com uma resposta-modelo
Sem informação de posição, permutar os vetores de token permuta as saídas de attention da mesma maneira, então a camada não consegue distinguir sequências que contêm os mesmos tokens em ordens diferentes. Encodings senoidais atribuem deterministicamente várias frequências de seno e cosseno a cada posição e podem ser calculados além das posições treinadas, embora a extrapolação não tenha comportamento garantido. Embeddings absolutos aprendidos otimizam um vetor por posição suportada, mas exigem uma tabela de tamanho fixo e não oferecem regra embutida fora dela. Ambos somam um vetor de posição ao embedding do token; modelos modernos como o Qwen3.8-27B não usam nenhum dos dois, codificando posição dentro da attention com rotações.
04 · Teste seu entendimento
Teste seu entendimento
Conclua o teach-back e acerte o quiz para finalizar a aula.
◎ · Marcador de evidência
Fontes
- Ashish Vaswani et al. (2017). Attention Is All You Need.
- Jacob Devlin, Ming-Wei Chang, Kenton Lee e Kristina Toutanova (2019). BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding.
- Qwen Team (2026). Qwen3.8-27B Model Card.