Embeddings: de um inteiro sem sentido a um vetor que sabe que rei e rainha são parentes
A tabela de consulta onde o significado nasce, e a amarração que a liga à saída do modelo.
Caiu aqui pelo LinkedIn? Este é o capítulo 02 do curso GPT-1 e GPT-2, desmontados. Dá para ler solto; se quiser o começo, é o capítulo 00.
Para o modelo, gato é 4899 e cachorro é 5257. Alimentar isso numa rede neural é um erro conceitual grave. Esses números são etiquetas de armário, não medidas. O armário 5257 não é maior nem mais quente que o 4899. Mas uma rede neural só sabe fazer aritmética: se recebe os dois inteiros, vai calcular diferenças e médias e extrair relações que não existem. A solução foi dar coordenadas às palavras. 768 coordenadas, no caso do GPT-2 small. E é nesse espaço que 'rei' e 'rainha' viram parentes.
Os três pontos
- A matriz de embedding é uma tabela: linha 4899 é o vetor de gato. Ela é aprendida junto com o resto.
- Existe um segundo embedding, o de posição, porque a atenção sozinha não sabe a ordem das palavras.
- Weight tying: a mesma matriz que traduz token em vetor traduz vetor de volta em token. Isso economiza 38 milhões de parâmetros no GPT-2 small.
Da apostila, o começo
De um inteiro sem sentido a um vetor de 768 números que sabe que "rei" e "rainha" são parentes.
Saímos da apostila 01 com uma lista de inteiros. Digamos que gato = 4899 e cachorro = 5257. Esses números são etiquetas de armário, não medidas. O armário 5257 não é "maior" nem "mais quente" que o 4899. Se o vocabulário fosse embaralhado, gato seria 12 e cachorro seria 40 001, e nada mudaria.
Mas uma rede neural só sabe fazer aritmética. Se ela recebe 4899 e 5257, ela vai inevitavelmente calcular diferenças, médias, produtos — e vai extrair relações que não existem. Alimentar IDs crus numa rede é um erro conceitual grave.
O jeito clássico de dizer "esta é a categoria 4899, e as categorias não têm ordem" é o vetor one-hot: um vetor de 50 257 posições, todas zero, exceto um 1 na posição 4899.
O que a apostila cobre · 8 seções · 9 min
- O problema: inteiros não têm significado
- A ideia: dar coordenadas às palavras
- Na prática: a matriz é uma tabela de consulta
- O segundo embedding: posição
- Juntando: a entrada real do modelo
- A amarração final: weight tying
- O código
- No laboratório
Todos os capítulos do curso · GPT-1 e GPT-2, desmontados
- 00 · Os sete fósseis: por que GPT-1, GPT-2 e RoBERTa são um corte histórico, não uma lista
- Glossário · Glossário do curso: o que token, camada e modelo querem dizer em IA, e no resto da TI
- 01 · Por que o GPT-2 não enxerga letras nem palavras, e o que isso custa em português
- 02 · Embeddings: de um inteiro sem sentido a um vetor que sabe que rei e rainha são parentes
- 03 · Atenção: a única operação que substituiu vinte anos de redes recorrentes
- 04 · Doze cabeças em vez de uma, e a única linha de código que separa o GPT do RoBERTa
- 05 · Por que o GPT-2 precisa de 48 andares para responder, e o que acontece dentro de cada um
- 06 · O que a escala realmente compra: de 124 milhões a 1,5 bilhão, medido
- 07 · Temperature, top-k e top-p: a decisão que muda mais o texto do que trocar de modelo
- 08 · Perplexidade: o único número que diz o que o modelo aprendeu, sem anedotas
- 09 · GPT-1 para GPT-2: mesmo tamanho, metade da perplexidade. Quatro decisões explicam
- 10 · RoBERTa: quando o avanço é treinar melhor o que já existia
- 11 · Encoder vs decoder: uma linha de código e todas as consequências que descem dela
- 12 · O detector: como um modelo de linguagem vira classificador, e por que esse não deve decidir nada
- 13 · Lendo o código original do GPT-2: 174 linhas contra tudo o que você aprendeu
- 14 · Servindo modelos: da chamada de função ao servidor HTTP, e o que a produção faz a mais
- 15 · O guia do laboratório: cada comando, cada script, e tudo o que foi medido
- 16 · O teto deste caminho: o argumento de LeCun, lido de dentro do GPT-2

Escreve o curso do GPT-2 e conduz o experimento Antevisão, medindo cada rodada antes de publicar o número. Os posts no LinkedIn começam aqui e terminam nas apostilas.
Seguir no LinkedIn →