Pular para o conteúdo
HARPYA Começando Voltar ao site →

Como uma máquina aprende a falar · artigo 1 de 10

O truque é um só: adivinhar a próxima palavra

Carlos Frederico Domínguez · 12 de outubro de 2026

Um modelo de linguagem não sabe que Paris é a capital da França. Ele sabe que, depois de "a capital da França é", o token mais provável é Paris. A distância entre essas duas frases parece pequena e explica quase tudo o que esses sistemas fazem de impressionante e de errado.

Todo o treinamento de base de um modelo como o GPT, o Claude ou o Llama se apoia num único objetivo: dada uma sequência de texto, prever o pedaço seguinte. Não há uma lista de fatos, nem regras gramaticais, nem um humano marcando o que é verdade. Há texto, trilhões de pedaços dele, e a mesma pergunta repetida até a exaustão: e agora, o que vem?

Não é memória. É previsão. O que chamamos de conhecimento do modelo é o resíduo que sobra quando a previsão fica boa o bastante.

O mecanismo cabe em quatro passos. O texto é quebrado em tokens, que são pedaços de palavra, não palavras inteiras, e cada token vira um número de identificação num vocabulário fixo de dezenas de milhares de entradas. O modelo lê a sequência de tokens até certo ponto e produz, para cada entrada desse vocabulário, um número que mede a aposta naquele token como continuação. Uma função chamada softmax converte esses números em probabilidades que somam exatamente um. Esse vetor de probabilidades é toda a opinião do modelo sobre o que vem a seguir.

Figura 1. Texto vira tokens, tokens viram inteiros "a capital da França é" tokenizador (BPE), treinado antes do modelo a 64 ␣capital 9145 ␣da 1077 ␣Fran 29418 ça 3120 ␣é 715 6 tokens para 5 palavras. O símbolo ␣ marca o espaço que o tokenizador cola ao início do pedaço.
Divisão ilustrativa. O corte real depende do tokenizador de cada modelo: "França" pode sair inteira ou em dois pedaços, e os números de identificação variam de um vocabulário para outro. O que não varia é o princípio: o modelo nunca recebe letras nem palavras, recebe uma sequência de inteiros, cada um apontando para uma entrada de um vocabulário fixo.
Figura 2. Cada inteiro aponta para um vetor: o embedding token id embedding: 4.096 números, mostrados 5 Paris 12050 0,21 −0,74 0,33 0,08 … −0,19 Lyon 31977 0,19 −0,70 0,29 0,12 … −0,22 banana 20841 −0,63 0,15 −0,41 0,77 … 0,36 padrão parecido padrão oposto Azul: valor positivo. Laranja: negativo. Intensidade proporcional ao módulo. Valores ilustrativos.
Nenhum desses números significa algo sozinho. O que significa é o padrão: Paris e Lyon receberam, ao longo do treinamento, empurrões parecidos, porque apareceram em contextos parecidos, e seus vetores ficaram parecidos. Banana recebeu empurrões de outro tipo de texto. A dimensão 4.096 é típica de um modelo de alguns bilhões de parâmetros. Modelos menores usam centenas, os maiores passam de dez mil.

O treinamento compara essa opinião com o que de fato veio. O token seguinte é escondido, o modelo aposta, e a perda mede quanta probabilidade ele deu ao token certo. A fórmula é o logaritmo negativo dessa probabilidade, a chamada entropia cruzada. Se o modelo deu 90% a Paris e Paris era o gabarito, a perda é pequena. Se deu 0,1%, a perda é grande. A perda só olha para o token certo. Os outros são afetados por tabela, porque as probabilidades somam um: subir Paris obriga a descer o resto.

Figura 3. A saída do modelo: uma distribuição sobre o vocabulário inteiro p(próximo token | "a capital da França é") Paris 0,87 Lyon 0,04 Marselha 0,02 Berlim 0,01 outros ≈ 0,06 somados em 99.995 tokens banana 0,0001 soma = 1, sempre
Valores ilustrativos. A perda do treinamento olha só para a barra do gabarito. Com Paris em 0,87, a perda é −ln(0,87) ≈ 0,14. Se o modelo tivesse dado 0,001 a Paris, a perda seria ≈ 6,9. O gradiente empurra os pesos para encolher esse número, e como a soma é fixa em um, subir Paris desce todas as outras barras um pouco.

Com a perda calculada, entra o cálculo. A retropropagação computa a derivada da perda em relação a cada um dos bilhões de parâmetros do modelo, e cada parâmetro é deslocado um passo minúsculo na direção que reduz a perda. O tamanho do passo é a taxa de aprendizado. Isso se repete para cada token de cada documento, trilhões de vezes, e o modelo pronto é a soma de todos esses empurrões.

O detalhe que separa esse treinamento de quase tudo o que se chamava inteligência artificial antes é a origem do gabarito. Ninguém rotulou nada. O gabarito de cada previsão é o token seguinte do próprio documento. O texto se rotula sozinho pelo simples fato de ser sequencial, e é isso que a expressão aprendizado autossupervisionado quer dizer. É também por isso que dá para treinar com a internet inteira: não há limite de gente para anotar.

Na hora de usar, o processo roda ao contrário. O modelo recebe o começo de um texto, produz a distribuição, um token é escolhido dela, o mais provável ou um sorteado com peso, esse token é anexado ao texto e tudo recomeça. Chama-se geração autorregressiva. Cada palavra que você lê de um modelo foi escolhida assim, uma de cada vez, olhando para tudo o que veio antes.

Resta explicar por que Paris vence Lyon, e por que Lyon vence banana, sem que exista nenhum lugar onde esses três estejam ordenados.

Paris vence por frequência. Em milhões de documentos, depois de "a capital da França é" veio Paris, e cada ocorrência foi um empurrão a favor. Banana perde por ausência: nunca apareceu nesse contexto, e os empurrões que recebeu vieram de receitas e feiras, que moram longe. O caso interessante é Lyon, que raramente foi o gabarito nessa posição exata e ainda assim recebe mais probabilidade que banana.

A razão é que o modelo não consegue decorar. Ele tem bilhões de parâmetros para trilhões de tokens vistos, e precisa reaproveitar os mesmos parâmetros para contextos diferentes. Tudo o que é dito sobre a França, sobre cidades, sobre capitais, passa por representações internas compartilhadas. Lyon aparece no corpus cercada de França, cidade, rio, gastronomia, e acaba representada perto de Paris nesse espaço interno. Quando o contexto pede uma cidade francesa, Lyon herda uma parte da aposta por vizinhança, não por ter sido a resposta certa. É generalização, e é a mesma propriedade que permite ao modelo completar frases que nunca viu.

Figura 4. Distância é ângulo: o espaço vetorial projetado em duas dimensões dimensão 1 (de 4.096) dimensão 2 cidades francesas frutas Bordeaux Marselha manga maçã banana Lyon Paris contexto: "a capital da França é" θ ≈ 7° θ ≈ 88° cosseno com o contexto Pariscos 7° ≈ 0,99 Lyoncos 22° ≈ 0,93 bananacos 88° ≈ 0,03 Projeção ilustrativa. Vetores reais têm milhares de dimensões e cossenos menores, com a mesma ordem.
Num banco vetorial, a pergunta também vira um vetor e o banco devolve os vizinhos de menor ângulo, ou de menor distância euclidiana, que para vetores normalizados dá a mesma ordem. Paris vence por estar quase alinhada ao contexto. Lyon fica perto por morar no mesmo bairro, o das cidades francesas, mesmo sem nunca ter sido a resposta. Banana está quase perpendicular: similaridade perto de zero. É essa geometria que o produto escalar da última camada do modelo mede antes do softmax, e é a mesma geometria que uma busca semântica usa para encontrar o trecho certo entre milhões de documentos.

Há uma forma mais rigorosa de dizer isso. A entropia cruzada, medida em bits, é o número de bits que um compressor construído sobre o modelo gastaria para codificar aquele texto, a menos de uma sobra fixa e pequena. Prever bem e comprimir bem são a mesma tarefa, não uma analogia. Para comprimir "a capital da França é Paris" em milhões de documentos distintos, a solução mais barata em parâmetros é codificar a regularidade uma vez e reutilizá-la. Vista de fora, essa regularidade codificada parece saber. Ninguém ensinou o fato. O fato emergiu porque era a forma mais econômica de errar menos.

Isso muda o que significa o modelo conter um fato. Não há uma linha num banco de dados dizendo que Paris é a capital da França. Há uma configuração de bilhões de números que, diante daquele contexto, concentra a probabilidade em Paris. O fato está diluído, espalhado e misturado com todos os outros. Apagar ou corrigir um fato não é apagar uma linha, e esse será o assunto do sétimo artigo desta série.

O limite está escrito no próprio objetivo. As probabilidades somam um, sempre. Não existe no treinamento de base uma opção chamada "não sei". Quando a continuação correta é rara no corpus, ou não está nele, a massa de probabilidade não desaparece: vai para o que for mais plausível naquela vizinhança, uma data que soa certa, um nome que combina com a profissão, um número com a ordem de grandeza típica. O modelo entrega essa resposta com a mesma fluência com que entrega Paris, porque fluência é a única coisa que ele otimizou. A resposta confiantemente errada vem do mesmo mecanismo que produz Paris, operando onde faltava dado.

A consequência prática é uma regra de proporção. O modelo conhece o mundo na medida em que o mundo escreveu sobre ele. Fatos muito documentados saem sólidos. Fatos raros, recentes, locais ou em línguas com pouco texto saem como palpites com aparência de resposta. É por isso que existe a técnica chamada RAG, recuperação de documentos na hora da pergunta: em vez de confiar na memória estatística, coloca-se o trecho relevante dentro do contexto, e o gabarito volta a estar na frente do modelo em vez de diluído nos pesos.

Uma ressalva de escopo. O que você usa no dia a dia não é esse preditor cru. Sobre ele vêm camadas posteriores de treinamento que o ensinam a seguir instruções, recusar certas coisas e se comportar como assistente. Essas camadas mudam o comportamento, não a base, e serão tratadas no oitavo artigo. Por baixo de qualquer assistente há um preditor de próximo token, e tudo o que ele faz de bom ou de ruim passa por essa origem.

Fica uma simplificação a corrigir. Este artigo falou em palavra por conveniência. O modelo nunca vê palavras. Vê tokens, pedaços escolhidos por um algoritmo treinado antes do modelo e congelado para sempre, e essa escolha, feita por frequência e sem qualquer noção de gramática, decide o que o modelo conta bem, o que lê caro e por que o português custa mais que o inglês. É o assunto do próximo artigo.

Como citar: Carlos Frederico Domínguez (2026). O truque é um só: adivinhar a próxima palavra. Como uma máquina aprende a falar, artigo 1. Harpya. https://www.harpya.org/comecando/proxima-palavra/. Texto em markdown: proxima-palavra.md. Licença CC BY 4.0.