A embedding layer é apenas uma matriz E de forma (vocab_size, model_dim). Para o token ID i, o embedding é E[i] — uma simples consulta de linha, sem computação. Mas esses embeddings são aprendidos durante o treinamento: tokens que aparecem em contextos similares obtêm embeddings similares. O exemplo clássico: os embeddings para "king" − "man" + "woman" ≈ "queen", mostrando que o espaço de embedding captura relações semânticas.
Muitos modelos compartilham (vinculam) a matriz de embedding com a camada de saída (o "unembedding" ou "cabeça do modelo de linguagem"). A camada de saída converte estados ocultos de volta em probabilidades de vocabulário computando um produto escalar com o embedding de cada token. Vincular essas camadas significa que o mesmo embedding tanto representa um token na entrada quanto o prediz na saída, economizando parâmetros e frequentemente melhorando a qualidade. A maioria dos LLMs modernos usa embeddings compartilhados.
A representação completa da entrada é tipicamente: token_embedding + positional_encoding. O token embedding captura o que o token significa. O positional encoding captura onde ele aparece na sequência. Em modelos com embeddings posicionais aprendidos (BERT), essa é uma segunda tabela de embedding indexada pela posição. Em modelos com RoPE (LLaMA), informação posicional é injetada de forma diferente (rotacionando vetores Q e K), e a embedding layer lida apenas com a identidade do token.