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.
- 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 XPLaborató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 é ▁
- “ Paris”78.5%
- “ uma”9.6%
- “ a”5.8%
- “ conhecida”3.9%
- “ Lyon”1.2%
- “ não”0.6%
- “ 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.
first_token_seconds = 0.4
output_tokens, tokens_per_second = 600, 60
print(first_token_seconds + output_tokens / tokens_per_second, "seconds")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.
Softmax com temperatura (numpy)
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
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.
Filtragem de núcleo (topo-p)
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
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…