Ir para o conteúdo

Embedding

Um embedding é um mapa aprendido de coisas que não têm geometria própria — ids de tokens, categorias, usuários, imagens, frases — para vetores cuja geometria quer dizer algo; por extensão, a palavra também nomeia o vetor que sai desse mapa. O curso de ML do Google resume em uma linha: um embedding é uma representação vetorial dos dados num espaço de embeddings, obtida projetando dados de muitas dimensões num espaço de menos dimensões em que itens parecidos ficam perto1. Duas coisas fazem de um vetor um embedding (e não uma lista qualquer de números): ele foi aprendido e a distância nele foi feita para ser usada — para similaridade, para busca ou como entrada do próximo modelo.

A palavra cobre três objetos que o curso encontra nesta ordem:

O que é Onde no curso
Um embedding de lookup uma linha aprendida por símbolo discreto: uma tabela \(E \in \mathbb R^{V \times d}\) tipos de features, a camada de embedding
Um embedding contextual o vetor de um token depois que a rede leu os vizinhos atenção, o bloco
Um embedding agrupado um vetor para uma entrada inteira — uma frase, uma imagem — vindo de um encoder treinado para que o cosseno meça similaridade CLIP, transfer learning

Todo embedding vive num espaço latente; a página de espaço latente olha esses espaços pelo outro lado, a partir dos modelos que os constroem.

De um id a um vetor que se pode buscar

De um id de token a um vetor que se pode buscar, em sete estações: o id, um vetor one-hot, uma linha da tabela de embeddings, a posição somada, o vetor contextual depois do Transformer, um vetor agrupado e normalizado por frase e uma busca por cosseno no espaço de embeddings. 1 · IDum nome 3797“␣cat” 2 · ONE-HOT50.257 posições … 3 · LOOKUPuma linha de E 768 4 · + POSIÇÃOx = E[i] + P E[i] + P x 5 · CONTEXTOdepois dos blocos “banco da praça” “fui ao banco” 6 · POOLINGum vetor, ‖v‖ = 1 7 · BUSCAo mais próximo por cosseno consulta MATRYOSHKA 3072 → 256

Os embeddings de cada capítulo

Capítulo O embedding Tamanho no curso
Dados · tipos de features um vetor aprendido por categoria, em vez do one-hot 40.000 SKUs → 32
Atenção · tokens ainda nenhum: um id é um nome, 4 não é o dobro de 2 GPT-2: 50.257 ids
Atenção · embeddings a tabela \(E\), mais a posição \(P\) 50.257 × 768 e 1024 × 768 no GPT-2
Transformers · bloco contextual: cada bloco soma uma correção a cada linha \(n \times d\) em todo bloco
Transformers · saída o unembedding: uma direção por token, muitas vezes amarrada a \(E\) 768 × 50.257
Vision Transformers um embedding de patch: \(P^2C\) pixels → \(d\) 768 → 768 no ViT-B/16
Transfer Learning a saída de um encoder congelado, lida por uma sonda linear 768 no DistilBERT
CLIP um vetor unitário por imagem e por legenda, num espaço comum 512 no ViT-B/32
Stable Diffusion os embeddings dos tokens do prompt, lidos pela cross-attention 77 × 768
Avaliação de modelos generativos BERTScore, MAUVE e CLIPScore comparam no espaço de embeddings —
Avaliação de LLMs a metade de recuperação de um sistema RAG —
JEPA embeddings como alvo de uma previsão um vetor por patch

Todas as técnicas num mapa só

Todas as técnicas que esta página cita, em cinco famílias. Clique numa caixa para ver o que ela é, com um link para o capítulo ou para a seção desta página que a trata; Avançar segue sete fios, do vetor one-hot até o que um embedding entrega.

Um mapa de todas as técnicas de embedding da página, em cinco famílias, com as ligações entre elas.

Como um embedding de lookup aprende

A camada de embedding é a camada mais barata de rodar e a mais diferente de treinar. Multiplicar um one-hot por \(E\) só escolhe uma linha, então o gradiente só chega às linhas dos tokens do lote: num passo sobre alguns milhares de tokens a maioria das linhas recebe exatamente zero. Tokens frequentes são atualizados a cada passo, os raros poucas vezes por época; um token raro aprende devagar. Para categorias de dados tabulares a página de tipos de features acrescenta uma nota prática: as regras publicadas para a dimensão (\(k^{1/4}\), \(1.6\,k^{0.56}\)) discordam entre si, então comece perto de 16 ou 32 e ajuste.

A geometria de um espaço de embeddings

  • O cosseno é a distância. Em vetores unitários \(\|a - b\|^2 = 2 - 2\cos(a, b)\), então vizinho mais próximo e maior cosseno são a mesma busca. É por isso que o CLIP e todo encoder de busca normalizam.
  • Direções saem baratas. Duas direções aleatórias em \(d\) dimensões têm cosseno de média zero e dispersão \(1/\sqrt d\); com \(d = 1000\), 99% dos pares têm \(|\cos| < 0.082\) (A4 · Tudo fica ortogonal). Uma rede pode então guardar mais features do que dimensões, cada uma como uma direção quase ortogonal — a superposição2. Autoencoders esparsos treinados no residual stream de um LLM de produção recuperam milhões dessas direções, cerca de 34 milhões no maior experimento3.
  • Conceitos são (muitas vezes) direções. O word2vec mostrou que relações são deslocamentos de vetores: "King − Man + Woman" cai perto de "Queen" e os deslocamentos acertaram quase 40% de um conjunto de analogias sintáticas4. A hipótese da representação linear torna isso preciso para LLMs e a liga às duas ferramentas que o curso usa: sondas lineares leem um conceito e somar a direção conduz o modelo5.
  • Numa tabela treinada nenhuma coluna se lê sozinha. O que uma coordenada quer dizer está espalhado por muitas; o sentido mora em direções e distâncias, não em eixos.

Embeddings de texto para busca

Fora deste curso, "embedding" quer dizer quase sempre um modelo de embedding de texto: um encoder que transforma uma frase ou um documento inteiro num vetor, de modo que uma busca vira uma consulta ao vizinho mais próximo.

Ano Modelo O que mudou
2019 Sentence-BERT6 um BERT siamês cujos vetores de frase se comparam por cosseno, em vez de rodar o BERT em cada par
2020 DPR7 um dual encoder para perguntas e trechos que superou a busca por palavras-chave BM25 por 9 a 19 pontos de acerto no top-20
2022 E58 pré-treino contrastivo em pares de texto fracamente rotulados; o primeiro modelo a superar o BM25 sem rótulos no BEIR
2022 Matryoshka9 a informação útil fica nas primeiras coordenadas, então o vetor pode ser cortado
2024 text-embedding-310 3.072 números que podem ser cortados para 256 e ainda superam os 1.536 do modelo anterior no MTEB

Eles são comparados no MTEB11 e, desde 2025, no MMTEB, com mais de 500 tarefas em mais de 1.000 línguas; lá o melhor modelo público era um encoder de 560 milhões de parâmetros, não um LLM12. Num sistema com recuperação esta é a metade de busca. É por isso que a página de avaliação de LLMs a mede separadamente.

O que um embedding entrega

Um embedding não é um resumo anonimizado. O Vec2Text reconstrói exatamente 92% de frases de 32 tokens da Wikipédia a partir dos embeddings delas13: guardar vetores em vez de texto num banco vetorial não é, por si só, uma medida de privacidade. No sentido oposto, modelos diferentes estão convergindo para geometrias parecidas — conforme modelos de visão e de linguagem crescem, eles medem distâncias entre exemplos de jeitos cada vez mais parecidos — e é isso que a hipótese da representação platônica se propõe a explicar14.

Pontos principais

  1. Um embedding é um vetor aprendido cujas distâncias foram feitas para ser usadas. A palavra nomeia o mapa e o vetor.
  2. Três tipos: uma linha de lookup por símbolo, um vetor contextual depois que a rede leu os vizinhos, um vetor agrupado por entrada. O curso os encontra nessa ordem.
  3. Uma tabela de lookup aprende por um gradiente esparso: só as linhas do lote se movem e os símbolos raros aprendem devagar.
  4. A geometria é a do cosseno na esfera; direções saem baratas, então os modelos guardam mais features do que dimensões; muitos conceitos são direções.
  5. Modelos de embedding de texto transformam busca em geometria; o MTEB os mede e o treino Matryoshka deixa que sejam cortados.
  6. Um embedding vaza a maior parte da entrada: ele pode ser invertido.

  1. Google for Developers. Machine Learning Crash Course — Embeddings: embedding space and static embeddings. ↩

  2. Elhage, N., et al. (2022). Toy Models of Superposition — Transformer Circuits Thread. ↩

  3. Templeton, A., Conerly, T., et al. (2024). Scaling Monosemanticity: Extracting Interpretable Features from Claude 3 Sonnet — Transformer Circuits Thread. ↩

  4. Mikolov, T., Yih, W., & Zweig, G. (2013). Linguistic Regularities in Continuous Space Word Representations — NAACL-HLT. ↩

  5. Park, K., Choe, Y. J., & Veitch, V. (2024). The Linear Representation Hypothesis and the Geometry of Large Language Models — ICML. ↩

  6. Reimers, N., & Gurevych, I. (2019). Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks — EMNLP-IJCNLP. ↩

  7. Karpukhin, V., et al. (2020). Dense Passage Retrieval for Open-Domain Question Answering — EMNLP. ↩

  8. Wang, L., et al. (2022). Text Embeddings by Weakly-Supervised Contrastive Pre-training — E5. ↩

  9. Kusupati, A., et al. (2022). Matryoshka Representation Learning — NeurIPS. ↩

  10. OpenAI (25 jan. 2024). New embedding models and API updates — text-embedding-3-small e -large, com o parâmetro dimensions. Veja também o resumo da Pinecone. ↩

  11. Muennighoff, N., Tazi, N., Magne, L., & Reimers, N. (2023). MTEB: Massive Text Embedding Benchmark — EACL. ↩

  12. Enevoldsen, K., et al. (2025). MMTEB: Massive Multilingual Text Embedding Benchmark — ICLR. ↩

  13. Morris, J. X., Kuleshov, V., Shmatikov, V., & Rush, A. M. (2023). Text Embeddings Reveal (Almost) As Much As Text — EMNLP. ↩

  14. Huh, M., Cheung, B., Wang, T., & Isola, P. (2024). The Platonic Representation Hypothesis — ICML. ↩