Ultralytics YOLO27: Entre na lista de espera.
Licenciar o YOLO
Voltar ao glossário da Ultralytics

Nucleus Sampling

A amostragem top-p (núcleo) extrai cada token do menor conjunto cuja probabilidade acumulada alcança p, fazendo com que o conjunto se adapte à confiança do modelo, ao contrário de top-k.

A amostragem de núcleo, também chamada amostragem top-p, é um método de descodificação que escolhe cada token seguinte do menor conjunto de candidatos cuja probabilidade combinada atinge um limiar p e, em seguida, faz uma amostragem desse conjunto. Ari Holtzman e colegas da Universidade de Washington e do Allen Institute for AI apresentaram o método em 2019 no artigo The Curious Case of Neural Text Degeneration. Trabalhando com o GPT-2 Large, mostraram que a descodificação gulosa e a pesquisa em feixe fazem com que os modelos de linguagem caiam em ciclos insípidos e repetitivos, enquanto a amostragem de toda a distribuição produz texto incoerente; demonstraram também que eliminar a cauda pouco fiável da distribuição produzia texto cuja perplexidade e variedade eram as mais próximas da escrita humana. Atualmente, top-p é uma configuração padrão nas APIs de geração de texto de praticamente todos os grandes modelos de linguagem.

Como o núcleo é escolhido#

Em cada passo, o modelo de linguagem atribui uma pontuação a cada token do seu vocabulário, e o softmax converte essas pontuações em probabilidades. Em seguida, a amostragem de núcleo ordena os tokens do mais para o menos provável, soma as respetivas probabilidades por essa ordem até o total acumulado atingir p, descarta tudo o que estiver fora desse conjunto, renormaliza os tokens restantes para que as probabilidades somem um e seleciona um único token por amostragem.

Considera quatro candidatos com probabilidades 0,50, 0,25, 0,15 e 0,10 e define p como 0,8. Os dois primeiros somam 0,75, abaixo do limite, então o terceiro é incluído e o núcleo passa a cobrir 0,90. O quarto token é descartado, e os três restantes são selecionados com probabilidades de aproximadamente 0,56, 0,28 e 0,17 após a renormalização.

A característica definidora é que o núcleo redimensiona-se a cada etapa. Depois de "A capital da França é", um token concentra quase toda a probabilidade, e o núcleo se reduz a uma única palavra. No início de uma história, a probabilidade se distribui entre centenas de palavras plausíveis, e o núcleo se amplia para incluí-las. Um número fixo de candidatos não consegue se adaptar dessa forma.

O mesmo procedimento em PyTorch, para um passo de descodificação num vocabulário de seis tokens:

import torch

# Probabilidades do próximo token para um vocabulário de 6 tokens
probs = torch.tensor([0.10, 0.40, 0.04, 0.25, 0.06, 0.15])
top_p = 0.75

# Ordenar e, em seguida, manter os tokens até que o total acumulado alcance top_p
sorted_probs, order = probs.sort(descending=True)
cumulative = sorted_probs.cumsum(dim=0)
keep = cumulative - sorted_probs < top_p  # o token que ultrapassa top_p permanece

# Renormalizar o núcleo e selecionar por amostragem o próximo ID de token
nucleus = sorted_probs * keep
next_token = order[torch.multinomial(nucleus / nucleus.sum(), num_samples=1)]
print(order[keep].tolist(), next_token.item())

A saída lista o núcleo, os IDs de token 1, 3 e 5, que juntos concentram 0,80 da probabilidade, e, em seguida, o ID selecionado. Os tokens 0, 2 e 4 nunca podem ser escolhidos nesta etapa, e executar o script novamente seleciona um dos três restantes proporcionalmente às suas probabilidades.

Top-p versus decodificação gulosa, top-k e temperatura#

  • Decodificação gulosa sempre escolhe o token mais provável. É determinística e funciona para respostas factuais curtas, mas saídas longas tendem a entrar em ciclos.
  • Amostragem top-k mantém um número fixo de candidatos. Com k definido como 50, mesmo uma etapa confiante ainda seleciona entre 50 tokens, incluindo opções sem sentido, enquanto uma etapa incerta pode descartar opções razoáveis. O top-p substitui a quantidade fixa por uma proporção fixa da probabilidade.
  • Temperatura divide as pontuações do modelo antes da softmax. Valores abaixo de 1 tornam a distribuição mais concentrada nas opções mais prováveis, e valores acima de 1 a tornam mais uniforme. Como o top-p é aplicado depois da temperatura, aumentá-la também amplia o núcleo.
  • Amostragem min-p mantém todos os tokens cuja probabilidade é pelo menos uma fração definida da probabilidade do token mais provável, pelo que o limiar também acompanha a confiança do modelo. Hugging Face Transformers, vLLM e llama.cpp disponibilizam-na juntamente com top-p.

Como a temperatura e top-p controlam ambas a aleatoriedade, a recomendação habitual é ajustar uma ou outra, em vez de ambas ao mesmo tempo. Muitos motores de inferência também permitem combinar top-k e top-p, sendo que top-k impõe um limite máximo ao número de candidatos.

Como escolher um valor de top-p#

Um valor top-p de 1.0 desativa o filtro, e os valores predefinidos habituais situam-se entre 0.9 e 1.0. Top-p apenas altera as probabilidades do próprio modelo, pelo que a exatidão factual depende de fundamentar o prompt, por exemplo com geração aumentada por recuperação, que reduz as alucinações ao fornecer ao modelo os factos necessários. Valores mais elevados acrescentam variedade à geração de ideias, aos diálogos de chatbots e à escrita criativa. Valores mais baixos, como 0.5, tornam as saídas mais previsíveis e repetitivas, o que é adequado à extração de dados, a prompts de classificação e ao código; a descodificação condicionada vai mais longe, mascarando todos os tokens que violem um formato obrigatório.

A mesma configuração controla a geração de linguagem em pipelines de visão. Quando uma deteção de Ultralytics YOLO26 desencadeia uma descrição da cena gerada por um modelo de visão-linguagem, a interface LLM da Ultralytics passa argumentos do pedido, como top_p, diretamente para a API do fornecedor; assim, um valor baixo, como 0.5, mantém semelhantes as descrições de fotogramas parecidos.

Explore as soluções

Visão computacional no desporto

Visão computacional no desporto

Descubra como o Ultralytics YOLO impulsiona a visão computacional no esporte com rastreamento de jogadores e bolas, análise de desempenho, insights para treinadores e reabilitação de atletas.
Saiba mais
Visão computacional para imagens aéreas

Visão computacional para imagens aéreas

Transforma imagens de drones e aéreas em informações em tempo real para a agricultura, a aquacultura, a conservação e a análise geoespacial com Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Aplica visão computacional na indústria aeroespacial com Ultralytics YOLO para inspecionar aeronaves, detetar objetos estranhos na pista (FOD), apoiar operações aeroportuárias em terra e detetar defeitos em materiais compósitos.
Saiba mais
Visão computacional na segurança

Visão computacional na segurança

Protege todas as instalações com os modelos Ultralytics YOLO. A IA visual permite monitorizar perímetros, detetar ameaças, reconhecer matrículas e melhorar a segurança no local de trabalho.
Saiba mais
Visão computacional na robótica

Visão computacional na robótica

Potencia máquinas mais inteligentes com os modelos Ultralytics YOLO. A IA visual na robótica permite navegação autónoma, perceção, rastreamento de objetos e controlo em tempo real.
Saiba mais
Visão computacional na logística

Visão computacional na logística

Otimize a logística com os modelos Ultralytics YOLO. A IA de visão permite inspecionar pacotes, fazer triagem, rastrear veículos e monitorar a segurança em tempo real nos armazéns.
Saiba mais
Visão computacional no varejo

Visão computacional no varejo

Reinvente o varejo com os modelos Ultralytics YOLO. A IA de visão permite rastrear o estoque, monitorar prateleiras, gerenciar filas e obter insights mais inteligentes sobre clientes.
Saiba mais
Visão computacional na área da saúde

Visão computacional na área da saúde

Desenvolva soluções de saúde com os modelos Ultralytics YOLO. A IA de visão na área da saúde permite obter imagens médicas mais rapidamente, diagnósticos mais inteligentes e monitoramento de pacientes.
Saiba mais
Visão computacional na manufatura

Visão computacional na manufatura

Otimize a manufatura com modelos Ultralytics YOLO. A IA visual impulsiona o controle de qualidade, a detecção de defeitos, a conformidade com o uso de EPI e a automação da linha de montagem.
Saiba mais
Visão computacional no setor automotivo

Visão computacional no setor automotivo

Aplique visão computacional no setor automotivo com modelos Ultralytics YOLO. A IA visual aumenta a segurança viária, aprimora a assistência ao condutor e viabiliza a automação de veículos para estradas mais inteligentes.
Saiba mais
Visão computacional na agricultura

Visão computacional na agricultura

Leve a IA de visão à agricultura inteligente com os modelos Ultralytics YOLO. Aprimore o monitoramento de plantações, o rastreamento de animais e a agricultura de precisão para obter safras maiores e mais inteligentes.
Saiba mais

Vamos construir juntos o futuro da IA!

Comece sua jornada rumo ao futuro do aprendizado de máquina