Carregando
0x50Lição 6 de 16

Compreenda os controles de inferência e geração

Transforme logits em escolhas com temperatura, top-k e top-p e entenda latência, custo e streaming.

22 min Questionário com 6 perguntas 2 exercícios de código
Ao final desta lição, você saberá
  • Explique a decodificação e amostragem gananciosas
  • Preveja o efeito da temperatura, top-k e top-p
  • Razão sobre tokens, latência e custo

Em cada etapa, o modelo gera logits para cada token. Como você escolhe entre eles é a estratégia de decodificação:

  • Ganancioso: pegue sempre o token mais provável. Repetível, mas pode ficar preso em texto sem graça ou repetitivo.
  • Amostragem: sorteie um token segundo as probabilidades calculadas.
  • Temperatura divide os logits antes do softmax: abaixo de 1 concentra a distribuição nos tokens mais prováveis; acima de 1 distribui a probabilidade entre mais tokens.
  • Top-k mantém apenas os k tokens mais prováveis. Top-p (amostragem de núcleo, Holtzman et al., 2019) mantém o menor conjunto de tokens principais cujas probabilidades somam p - adaptando-se à confiança do modelo.

Experimente

Até 15 XP

Laboratório de amostragem

Estas são as pontuações de um modelo para o próximo token. Gere 100 amostras com temperatura 1; depois compare com 0 (escolha gulosa), 0,3 e 2. Ajuste top-p para 0,9 e observe como os tokens menos prováveis deixam de ser considerados.

A capital da França é ▁

  1. “ Paris”
    78.5%
  2. “ uma”
    9.6%
  3. “ a”
    5.8%
  4. “ conhecida”
    3.9%
  5. “ Lyon”
    1.2%
  6. “ não”
    0.6%
  7. “ Berlim”
    0.3%

Os tokens riscados foram removidos por top-k ou top-p; as probabilidades restantes são reescaladas para somar 100%.

Tokens são tempo e dinheiro

A inferência tem duas fases: prefill lê todo o prompt em paralelo (rápido por token) e, em seguida, decode produz a saída, um token por vez (cada um precisa de uma passagem completa pelo modelo). Portanto, latência ≈ tempo para o primeiro token + tokens de saída ÷ tokens por segundo, e os provedores cobram tokens de saída mais altos do que tokens de entrada.

Streaming mostra os tokens à medida que são gerados. A resposta parece mais rápida, mesmo que o tempo total seja o mesmo. Cache de prompts reutiliza o prefixo processado de prompts repetidos, reduzindo custos e tempo para o primeiro token.

latency.py
first_token_seconds = 0.4
output_tokens, tokens_per_second = 600, 60
print(first_token_seconds + output_tokens / tokens_per_second, "seconds")
Saída
10.4 seconds

Principais conclusões

  • Greedy escolhe o token superior; a amostragem baseia-se na distribuição.

  • A temperatura aumenta ou diminui; top-k e top-p cortam a cauda improvável.

  • Os tokens de saída dominam a latência e o custo; ajuda para streaming e cache.

Quiz da aula

6 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

Softmax com temperatura (numpy)

+25 XP

A linha 1 contém logits; a linha 2 mantém as temperaturas. Para cada temperatura, imprima T=t: p1 p2 ... - o softmax de logits/t, cada um com 3 casas decimais.

  • Três temperaturas
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

Filtragem de núcleo (topo-p)

+25 XP

A linha 1 é pág. Cada linha a seguir é token probability. Classifique por probabilidade (a mais alta primeiro), mantenha os tokens até que seu total em execução atinja pelo menos p, renormalize e imprima cada token mantido como token probability (3 decimais).

  • p = 0,8 precisa de três tokens
  • p = 0,5 mantém um
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…