Carregando
0x00Lição 1 de 16

Entenda os tokens e a previsão do próximo token

Veja como o texto se transforma em tokens, como um modelo pontua o próximo token e como a perda e a perplexidade medem isso.

22 min Questionário com 7 perguntas 2 exercícios de código
Ao final desta lição, você saberá
  • Explique os tokens e por que eles não são palavras
  • Descreva a geração autoregressiva como previsão repetida do próximo token
  • Calcular perda de entropia cruzada e perplexidade

Um grande modelo de linguagem nunca vê letras ou palavras. O texto é primeiro dividido em tokens – palavras comuns, pedaços de palavras, pontuação, espaços – por um tokenizador como a codificação de pares de bytes (BPE). Cada token se torna um ID inteiro. Em inglês, um token equivale em média a cerca de ¾ de uma palavra, mas palavras raras, códigos e muitos outros idiomas precisam de mais tokens por palavra.

Todo o trabalho do modelo é uma pergunta, feita repetidamente: dados esses tokens, qual a probabilidade de cada próximo token possível? Ele gera uma pontuação (um logit) para cada token em seu vocabulário - geralmente 100.000 ou mais - que o softmax transforma em probabilidades. Para escrever uma resposta, ele escolhe um token, anexa-o e pergunta novamente. Esse loop é geração autorregressiva.

Experimente

Até 15 XP

Gere texto, um token por vez

Este é um pequeno modelo de próxima palavra treinado em algumas frases. Construa uma frase escolhendo cada palavra seguinte. Aviso: o modelo só sabe quais palavras seguiram quais em seu texto de treinamento - ele não tem ideia se o resultado é verdadeiro.

o

Depois de “o”, o texto de treinamento continua com… (escolha uma opção)

Medindo a previsão: perda e perplexidade

O treinamento mostra o texto real do modelo e verifica a probabilidade de cada próximo token real. A perda de entropia cruzada é a média de −ln⁡p-\ln p sobre esses tokens: uma estimativa correta e confiável (p = 0,9) custa 0,11; um ruim (p = 0,01) custa 4,6. O treinamento ajusta bilhões de pesos para diminuir esse número.

Perplexidade é elosse^{\text{loss}}. Lê-se como “quantas opções igualmente prováveis ​​o modelo escolheu, em média”: uma perplexidade de 3 significa que era tão incerto quanto escolher entre 3 tokens.

loss.py
import math
for probability in [0.9, 0.5, 0.01]:
    print(probability, round(-math.log(probability), 2))
Saída
0.9 0.11
0.5 0.69
0.01 4.61

Principais conclusões

  • O texto se torna tokens - geralmente pedaços de palavras - antes que o modelo o veja.

  • Um LLM prevê uma probabilidade para cada próximo token possível e depois repete.

  • A perda de entropia cruzada é a média −ln⁡p-\ln p dos tokens verdadeiros; perplexidade é elosse^{\text{loss}}.

Quiz da aula

7 perguntas · aprovação com 5 acertos · até 50 XP

Ao passar, você conclui a aula e mantém sua sequência. As perguntas erradas voltarão em sessões de revisão.

Pratique: escreva código em Python

Escreva código Python no editor e execute os testes com exemplos. O Python roda localmente no navegador usando WebAssembly.

Exercício 1

Probabilidades do próximo token a partir de contagens

+25 XP

A linha 1 é um texto de treinamento; a linha 2 é uma palavra. Conte quais palavras seguem essa palavra no texto e imprima as 3 primeiras como word probability (2 casas decimais), provavelmente primeiro, empatadas em ordem alfabética.

  • Depois de “o”
main.py
Carregando editor…

O Python é executado em um ambiente isolado no navegador, com limite de 60 segundos. O runtime é carregado pelo CDN do Pyodide; seu código permanece neste navegador.

Exercício 2

Perda e perplexidade

+25 XP

A entrada lista as probabilidades que um modelo deu para cada próximo token correto. Imprima loss=L perplexity=P, onde a perda é a média de −ln⁡p-\ln p (3 casas decimais) e a perplexidade é elosse^{\text{loss}} (2 casas decimais).

  • Um modelo misto
  • Um modelo confiante
main.py
Carregando editor…

O Python é executado em um ambiente isolado no navegador, com limite de 60 segundos. O runtime é carregado pelo CDN do Pyodide; seu código permanece neste navegador.

Dúvidas sobre esta lição

Travou em algum ponto? Pergunte. Descobriu algo? Compartilhe. Explicar também é uma ótima forma de aprender.

Carregando publicações…