Pular para o conteúdo

Aula 4 de 6 · 6 min · +100 XP

Como um LLM gera uma resposta, um token por vez?

Um modelo de linguagem escreve a resposta um token por vez. A cada passo, ele dá uma nota a cada próximo token possível, transforma as notas em chances e sorteia um, então os tokens prováveis ganham quase sempre. O token entra no texto e o ciclo se repete até sair um token de parada. A temperatura deixa o sorteio mais seguro ou mais ousado.

▶ Pratique

Por que isso importa

Cada resposta que você lê foi sorteada token por token de uma lista de chances. Saber disso explica por que as respostas vão aparecendo, por que variam e como um único botão muda o tom.

Em 6 minutos você vai conseguir

  • Modelos de linguagem escrevem dando nota a cada próximo token, sorteando um e repetindo.
  • Respostas diferentes à mesma pergunta vêm de sorteios diferentes, não de uma mudança de opinião.
  • Para fatos e contas, ajustes estáveis ajudam; para ideias, ajustes mais quentes trazem variedade.

O que você vai praticar

  1. O ciclo de geração

    Você manda uma pergunta ao Vireo. Coloque em ordem os passos para escrever a resposta.

    1. Sua mensagem é dividida em tokens
    2. O modelo dá nota a cada próximo token possível
    3. As notas viram chances, moldadas pela temperatura
    4. Um token é sorteado e entra no texto
    5. O ciclo se repete até sair um token de parada
  2. Opere a máquina de gerar

    Aperte Próximo token e veja a roleta sortear cada palavra. Depois ajuste os botões para cada missão e teste. As chances são inventadas para mostrar a ideia.

    1. A resposta de uma conta precisa ser confiável: o número certo, toda vez.

      Você: Quanto é 7 × 8?

      Próximo token · chances

      1. “7 × 8” 70% · “Sete vezes oito” 22% · “O resultado” 8%
      2. “é” 90% · “dá” 8% · “resulta em” 2%
      3. “56” 84% · “54” 7% · “58” 5% · “65” 3% · “roxo” 1%
      4. “.” 90% · “!” 10%

      ✓ Com temperatura baixa, o token favorito ganha quase todo sorteio, então as três respostas dizem 56. Para fatos, contas e código, frio é o que você quer.

    2. Brainstorm: o clube de robótica quer vários nomes diferentes de equipe para votar.

      Você: Sugira um nome para nossa equipe de robótica.

      Próximo token · chances

      1. “Os” 100%
      2. “Robôs” 50% · “Gigantes” 20% · “Foguetes” 14% · “Pixels” 10% · “Raios” 6%
      3. “Elétricos” 55% · “de Aço” 20% · “Voadores” 12% · “Turbo” 9% · “Magnéticos” 4%

      ✓ Chances mais quentes dão uma chance real às palavras menos prováveis, então cada sorteio traz um nome novo. Para ideias, variedade é o objetivo.

    3. O começo de uma história deve surpreender o leitor, mas ainda precisa fazer sentido.

      Você: Comece uma história curta sobre um farol.

      Próximo token · chances

      1. “O faroleiro” 100%
      2. “achou” 48% · “ouviu” 26% · “pintou” 18% · “o” 5% · “comeu” 3%
      3. “uma” 66% · “uma velha” 20% · “certa” 10% · “glorp” 4%
      4. “mensagem” 40% · “baleia” 25% · “porta” 20% · “meia” 10% · “de de” 5%
      5. “na neblina.” 50% · “embaixo da escada.” 28% · “numa garrafa.” 17% · “banana banana” 5%

      ✓ Temperatura alta para surpreender, top-k 3 para só as três palavras mais prováveis de cada passo poderem sair. Criativo, e a cauda de bobagens fica de fora.

  3. O que isso significa para você

    1. Você faz a mesma pergunta duas vezes ao Vireo e recebe duas redações diferentes. O que aconteceu?

      • Cada token foi sorteado de novo a partir das chances (Resposta)
      • O Vireo aprendeu algo novo entre as duas perguntas
    2. Por que uma resposta longa aparece na tela palavra por palavra?

      • Cada token só é gerado depois do anterior (Resposta)
      • É uma animação para o app parecer simpático
    3. Uma desenvolvedora põe a temperatura em 0 numa ferramenta que preenche a declaração de imposto de renda. Boa ideia?

      • Sim: o token favorito ganha sempre, então as respostas são estáveis (Resposta)
      • Não: temperatura 0 desliga o modelo

Lembre-se

Uma resposta é sorteada um token por vez de uma lista de chances. Temperatura baixa é estável, temperatura alta é criativa.

Uma resposta é sorteada um token por vez a partir de chances. Temperatura baixa é confiável, alta é criativa, e o top-k corta as bobagens.

Fatos principais

  • O transformer, a arquitetura por trás dos grandes modelos de linguagem atuais, gera a saída um token por vez, devolvendo cada token novo como entrada para o próximo. · Fonte: Vaswani et al., Attention Is All You Need, Google, 2017
  • Pesquisadores descobriram que escolher sempre a palavra mais provável tende a gerar texto sem graça e repetitivo, e propuseram a amostragem por núcleo (top-p), que sorteia só do menor conjunto de tokens que cobre a maior parte das chances. · Fonte: Holtzman et al., The Curious Case of Neural Text Degeneration, ICLR 2020
  • A amostragem top-k, sortear só entre os k tokens mais prováveis, foi usada para gerar histórias mais variadas que a decodificação padrão. · Fonte: Fan, Lewis and Dauphin, Hierarchical Neural Story Generation, ACL 2018
  • A temperatura divide as notas brutas do modelo antes de elas virarem chances: abaixo de 1 o favorito fica mais forte, acima de 1 as chances se igualam.

Atualizado:

Perguntas frequentes

O que é temperatura num LLM?

Temperatura é um ajuste que remodela as chances antes de cada token ser sorteado. Valores baixos fazem o token mais provável ganhar quase sempre, para respostas estáveis. Valores altos achatam as chances, e as respostas ficam mais variadas e, se exagerar, menos sensatas.

Por que chatbots de IA dão respostas diferentes para a mesma pergunta?

Os chatbots em geral sorteiam cada token de uma lista de chances em vez de pegar sempre o primeiro. Um sorteio diferente no começo da resposta leva a outras palavras e, às vezes, a outra resposta.

O que é amostragem top-k?

A amostragem top-k deixa o modelo sortear só entre os k próximos tokens mais prováveis. Ela mantém alguma variedade e corta a longa cauda de tokens improváveis, muitas vezes sem sentido.

Como um LLM sabe quando parar de escrever?

No treino, ele aprendeu um token de parada especial que marca o fim de uma resposta. Quando esse token é sorteado, ou um limite de tamanho é atingido, a geração termina.

Termos relacionados