📝 pt-br ~ 10 min read ~ ☕
Como LLMs Funcionam: A Jornada do Texto ao Token (e de Volta)
Share this post
“Ninguém entende realmente a IA moderna. Cada pequeno pedaço de texto produzido pelo ChatGPT é o resultado de centenas de bilhões de cálculos separados.”
Quando você digita “Qual é a capital da França?” no ChatGPT e recebe “Paris” como resposta, o que exatamente acontece entre esses dois momentos? A resposta envolve tokenização, vetores de embeddings, mecanismos de atenção, redes neurais profundas e amostragem probabilística. Vamos desmontar essa caixa preta, peça por peça.
O Pipeline Completo
Antes de mergulharmos nos detalhes, vamos ter uma visão geral do processo:
🔄 Pipeline Completo: Da Entrada à Saída
Cada pedaço de texto que você envia para um LLM passa por todas essas etapas. O modelo não “entende” texto da forma que humanos entendem — ele processa padrões numéricos. Vamos explorar cada etapa.
1. Tokenização: Quebrando o Texto
O primeiro passo é transformar texto legível em algo que o computador possa processar. Mas LLMs não trabalham com letras individuais nem com palavras completas — eles usam tokens.
🔤 Tokenização
2. Codificação One-Hot: Números para o Modelo
Computadores não entendem texto — apenas números. Cada token é convertido em um vetor onde apenas uma posição está “ligada”:
🎯 Codificação One-Hot
Esses vetores são extremamente esparsos (quase todos zeros). Se o vocabulário tem 100.000 tokens, cada vetor one-hot tem 99.999 zeros e apenas um único 1.
A matemática por trás
Se temos um vocabulário com tokens, um vetor one-hot para o token é:
Isso cria vetores de dimensão , que para modelos modernos significa vetores com 100.000+ dimensões onde apenas uma é não-zero.
3. Embeddings: Significado em Vetores Densos
Vetores one-hot são ineficientes e não capturam relacionamentos entre palavras. A matriz de embedding transforma cada vetor esparso em um vetor denso de números reais:
🌐 Matriz de Embeddings
Os embeddings do GPT-4 têm 12.288 dimensões. Cada token é representado por 12.288 números de ponto flutuante que capturam seu “significado” em relação a todos os outros tokens.
4. Atenção: “A Quem Devo Prestar Atenção?”
Aqui está o coração dos Transformers: o mecanismo de atenção. Cada token pode “olhar” para tokens anteriores e decidir quais são relevantes para o contexto atual:
👁️ Mecanismo de Atenção (Self-Attention)
Passe o mouse sobre um token para ver a quais tokens anteriores ele "presta atenção":
⚠️ Máscara causal: Os tokens só podem ver tokens anteriores (os "-" na matriz), não tokens futuros. Isso permite geração autorregressiva.
Self-Attention: A Matemática
Para cada token, calculamos três vetores através de matrizes aprendidas:
- Query (Q): “O que estou procurando?”
- Key (K): “O que eu ofereço?”
- Value (V): “Qual é meu conteúdo?”
A atenção é calculada como:
Onde é a dimensão dos vetores de key. A divisão por estabiliza os gradientes durante o treinamento.
Multi-Head Attention
Modelos reais usam múltiplas “cabeças” de atenção em paralelo, cada uma aprendendo a focar em diferentes tipos de relacionamentos:
- Uma cabeça pode aprender relações sintáticas (sujeito-verbo)
- Outra pode aprender referências pronominais
- Outra pode capturar padrões de longa distância
O GPT-4 usa 96 cabeças de atenção em cada uma de suas 96+ camadas!
5. MLP: Processamento Não-Linear
Após a atenção, cada token passa por um bloco MLP (Multi-Layer Perceptron):
🧠 Bloco MLP (Multi-Layer Perceptron)
O MLP expande a representação (tipicamente 4x), aplica uma função de ativação não-linear, e comprime de volta. Isso permite ao modelo:
- Armazenar conhecimento factual — neurônios específicos ativam para conceitos específicos
- Realizar transformações complexas — combinar informações de maneiras não-lineares
- Especializar-se — diferentes neurônios “aprendem” diferentes padrões
6. Camadas Empilhadas
Um transformer moderno empilha dezenas (ou centenas) de blocos Atenção + MLP:
Entrada → Embedding → [Atenção → MLP] × N → Saída| Modelo | Camadas | Parâmetros |
|---|---|---|
| GPT-2 | 12-48 | 117M - 1.5B |
| GPT-3 | 96 | 175B |
| GPT-4 | ~120 (estimado) | ~1.7T (estimado) |
| Claude 3.5 | Desconhecido | Desconhecido |
| Llama 3.1 | 80-128 | 8B - 405B |
Cada camada refina progressivamente a representação, de padrões superficiais (sintaxe) para conceitos abstratos (semântica, raciocínio).
7. Saída: De Vetores para Probabilidades
Após passar por todas as camadas, o vetor final é multiplicado por uma matriz de unembedding (o inverso do embedding), produzindo um logit para cada token do vocabulário:
Esses logits são convertidos em probabilidades via softmax:
🎲 Temperatura e Amostragem
Prompt: "A capital da França é ___"
Por Que LLMs Não São Determinísticos
Aqui está algo que confunde muita gente: se LLMs são baseados em matemática pura, por que dão respostas diferentes para o mesmo prompt?
🎰 Por Que LLMs Não São Determinísticos
Mesmo prompt: "Qual é a capital da França? Responda brevemente."
1. Amostragem probabilística: O modelo calcula probabilidades para cada token possível, mas sorteia o próximo token baseado nessas probabilidades (não escolhe sempre o mais provável).
2. Efeito cascata: Uma pequena diferença no primeiro token propagado muda todo o contexto para os tokens seguintes.
3. Paralelismo de GPU: Operações de ponto flutuante em GPUs podem ter pequenas variações devido à ordem de execução paralela.
Nota: Com temperatura=0 e seed fixa, o modelo pode ser determinístico, mas perde criatividade.
As Três Fontes de “Aleatoriedade”
-
Amostragem Probabilística: O modelo não escolhe sempre o token mais provável. Ele sorteia baseado na distribuição de probabilidades. Com temperatura > 0, tokens menos prováveis têm chance de serem escolhidos.
-
Efeito Cascata: Uma pequena diferença no primeiro token muda o contexto inteiro. “Paris, a” vs “Paris é” leva a continuações completamente diferentes.
-
Aritmética de Ponto Flutuante: GPUs executam operações em paralelo, e a ordem de execução pode variar. Somas de números de ponto flutuante não são comutativas em precisão finita: em floats!
Alucinação: Por Que LLMs “Inventam” Coisas
Esta é talvez a pergunta mais importante: por que modelos treinados em trilhões de tokens ainda “inventam” informações falsas?
👻 Alucinação: Por Que LLMs "Inventam" Coisas
A Raiz do Problema
LLMs são treinados para um único objetivo: prever o próximo token mais provável dado o contexto. Eles não são treinados para:
- Dizer “eu não sei”
- Verificar fatos
- Distinguir verdade de ficção
- Raciocinar sobre sua própria certeza
Quando você pergunta sobre algo que não estava nos dados de treinamento (ou estava de forma ambígua), o modelo faz o que foi treinado para fazer: continua gerando texto que parece plausível.
Por Que Parece Tão Convincente?
O modelo aprendeu padrões como:
- “O presidente de [país] foi [nome]”
- “A capital de [país] é [cidade]”
- “[Pessoa famosa] nasceu em [data]”
Quando encontra “O primeiro presidente de Gondwana foi ___”, ele preenche com algo que se encaixa no padrão, mesmo que Gondwana seja um supercontinente pré-histórico!
Grokking: Quando Modelos Realmente “Entendem”
Um fenômeno fascinante descoberto por acidente na OpenAI: grokking é quando um modelo subitamente generaliza após parecer ter apenas memorizado os dados.
🧩 Grokking: Quando Modelos "Entendem" de Verdade
Modelo inicializado com pesos aleatórios
A História do Grokking
Em 2021, um pesquisador da OpenAI saiu de férias e esqueceu um modelo treinando. Quando voltou, descobriu algo incrível:
- O modelo tinha atingido 100% de acurácia no treino após ~200 steps
- Por milhares de steps, a acurácia de teste ficou péssima (~20%)
- De repente, após ~7000 steps, a acurácia de teste saltou para 100%!
O Que Estava Acontecendo Internamente?
Pesquisadores analisaram as ativações internas e descobriram que o modelo estava silenciosamente construindo representações baseadas em senos e cossenos!
Para resolver aritmética modular (), o modelo aprendeu:
- Calcular e
- Calcular e
- Usar a identidade trigonométrica:
- Converter de volta para a resposta
O modelo redescobriu uma identidade matemática fundamental sem nunca ter sido ensinado trigonometria!
Implicações Profundas
Grokking sugere que:
-
Métricas de treino mentem: Performance perfeita no treino pode esconder que o modelo apenas memorizou.
-
Aprendizado real leva tempo: A generalização pode exigir muito mais passos que a memorização.
-
Estruturas internas importam: Não basta olhar as saídas — precisamos entender as representações internas.
-
Regularização ajuda: Weight decay e dropout aceleram grokking ao penalizar memorização.
O Manifold de 6 Dimensões do Claude
Uma descoberta recente da Anthropic ilustra o quão alienígenas são essas representações internas.
Pesquisadores investigaram como o Claude Haiku decide quando criar quebras de linha. Descobriram que o modelo representa a contagem de caracteres e a largura da linha em um manifold de 6 dimensões!
As representações formam hélices que giram uma em relação à outra nas camadas de atenção (um “QK twist”). Quando a contagem se aproxima da largura da linha, os pontos ficam próximos no espaço de embedding, ativando a geração de uma nova linha.
Conclusão: A Caixa Preta Transparente
LLMs são, ao mesmo tempo, uma das tecnologias mais impressionantes já criadas e uma das menos compreendidas. Sabemos o que fazem (prever o próximo token) e como fazem (transformers, atenção, MLPs), mas ainda não entendemos completamente por que funcionam tão bem.
Algumas reflexões finais:
-
Não são bases de dados: LLMs não “armazenam” fatos de forma recuperável. Eles codificam padrões estatísticos.
-
Não são determinísticos: A mesma pergunta pode gerar respostas diferentes devido a amostragem e variações computacionais.
-
Não sabem que não sabem: Foram treinados para sempre gerar o próximo token, nunca para dizer “eu não sei”.
-
São alienígenas: As representações internas que desenvolvem são funcionais mas frequentemente incompreensíveis.
À medida que modelos ficam maiores e mais capazes, entender suas mecânicas internas torna-se cada vez mais crítico — não apenas para melhorá-los, mas para garantir que sejam seguros e alinhados com valores humanos.
Referências e Leitura Adicional
- Grokking paper: Grokking: Generalization Beyond Overfitting on Small Algorithmic Datasets (OpenAI, 2022)
- Neel Nanda’s Analysis: A Mechanistic Interpretability Analysis of Grokking
- Anthropic Circuit Analysis: Scaling Monosemanticity
- Attention Is All You Need: O paper original dos Transformers
- Welch Labs: The Most Complex AI That We Fully Understand — a inspiração para este post
Este post foi inspirado pelo excelente vídeo do Welch Labs sobre grokking e interpretabilidade mecanística. Se você quer ir mais fundo, recomendo assistir o vídeo completo e explorar os papers linkados acima.