Nucleus Sampling
Scopri come il campionamento a nucleo (top-p) seleziona i token per la generazione di testo con l'intelligenza artificiale e confrontalo con top-k, la decodifica greedy e la temperatura per regolare la diversità dell'output.
Il campionamento del nucleo, chiamato anche campionamento top-p, è un modo per scegliere il token successivo durante la generazione di testo basata sull'intelligenza artificiale. Invece di scegliere sempre il token più probabile, il modello crea una rosa ristretta le cui probabilità sommate raggiungono almeno una soglia scelta, per poi campionare casualmente da tale rosa ristretta. La rosa ristretta cambia a ogni previsione: può essere piccola quando una continuazione è ovvia e più grande quando diverse continuazioni sono plausibili.
Come funziona il campionamento del nucleo#
Un modello linguistico assegna una probabilità a ogni possibile token successivo. Queste probabilità vengono comunemente calcolate dai punteggi di output del modello usando softmax, che fa in modo che i valori sommino a uno. Il campionamento del nucleo ordina i token dal più al meno probabile, li include fino a quando la loro probabilità cumulativa raggiunge la soglia p, esclude il resto ed effettua il campionamento dai token inclusi. Qui, p rappresenta la massa di probabilità, non la probabilità di un singolo token individuale. La documentazione su softmax di PyTorch spiega la conversione di probabilità, mentre la guida alla decodifica di IBM descrive il cutoff cumulativo. (docs.pytorch.org)
Supponiamo che quattro possibili token successivi abbiano probabilità di 0,50, 0,25, 0,15 e 0,10. Con top_p=0.80, i primi due totalizzano solo 0,75, quindi viene incluso anche il terzo, portando la rosa ristretta a 0,90. Il quarto è escluso. Il modello effettua quindi il campionamento tra i primi tre in proporzione alle loro probabilità dopo la normalizzazione; non assegna a ciascuno una probabilità uguale. Il cutoff può superare p perché il token che lo attraversa rimane nella rosa ristretta. La spiegazione di top-p di Google Cloud descrive la stessa regola di selezione dei token. (cloud.google.com)
Questa selezione avviene di nuovo dopo ogni token generato. Man mano che la frase si sviluppa, il modello calcola una nuova distribuzione e di conseguenza un nuovo nucleo.
Top-p vs Top-k, decodifica avida e temperatura#
Queste impostazioni influenzano diverse parti della generazione:
- Il campionamento top-k mantiene un numero fisso di candidati, come i cinque token più probabili. Top-p mantiene un numero di candidati sufficiente a raggiungere una soglia di probabilità, quindi la sua rosa ristretta non ha una dimensione fissa.
- La decodifica avida seleziona sempre l'unico token più probabile. È prevedibile ma non offre alcuna delle variazioni che il campionamento consente.
- La temperatura cambia l'intensità con cui il modello favorisce i token ad alta probabilità prima della selezione. Temperature più basse concentrano la probabilità sulle scelte principali; temperature più alte la distribuiscono più ampiamente. Top-p imposta invece un cutoff cumulativo sulla distribuzione risultante.
Le implementazioni possono combinare questi controlli, ma la loro interazione rende i risultati più difficili da interpretare. Quando si sperimenta, è bene modificare un'impostazione alla volta. Il riferimento dei parametri delle Chat Completions di OpenAI descrive top_p e consiglia di regolare tale parametro o la temperatura anziché entrambi contemporaneamente. (platform.openai.com)
Dove conta nella pratica#
In un chatbot di assistenza clienti, il campionamento del nucleo può consentire diverse formulazioni naturali di una risposta di routine senza attingere a ogni continuazione improbabile. Ad esempio, un assistente che spiega una politica di reso potrebbe variare la sua frase iniziale preservando i dettagli della politica forniti nel prompt. Il campionamento non verifica tali dettagli: una risposta fluida può comunque essere errata, quindi i controlli fattuali e un adeguato ancoraggio rimangono necessari.
Nella didascalia di immagini, un modello di visione-linguaggio può avere diversi modi ragionevoli per descrivere la stessa scena di strada. Top-p può variare la formulazione delle didascalie filtrando al contempo le scelte di token a bassa probabilità. Una pipeline visiva potrebbe prima utilizzare Ultralytics YOLO26 per il rilevamento di oggetti, per poi fornire gli oggetti rilevati come contesto a un generatore di didascalie. La fase di rilevamento di YOLO non utilizza il campionamento del nucleo per scegliere le etichette degli oggetti; l'impostazione si applica alla fase di generazione del testo a valle. Il tutorial sulla didascalia di immagini di TensorFlow illustra come l'input visivo e un decoder di testo si integrano. (ibm.com)
Prova di Top-p in un flusso di lavoro documentato#
L'interfaccia LLM di Ultralytics accetta argomenti di richiesta per un endpoint di modello linguistico compatibile. Dopo aver installato ultralytics[llm] e impostato OPENAI_API_KEY, questo esempio richiede una risposta breve con top_p=0.9:
from ultralytics import LLM
# Use an endpoint that supports the top_p request argument.
llm = LLM("gpt-4.1-mini", api="chat.completions")
prompt = "Describe a city bus in one friendly sentence."
response = llm(prompt, top_p=0.9)
message = response.choices[0].message
print(message.content)Il codice lascia la selezione dei token al fornitore del modello linguistico. Eseguirlo di nuovo potrebbe produrre una formulazione diversa, ma top_p=0.9 non è una promessa che ogni risposta sarà diversa. Verificare i parametri supportati del modello selezionato prima di applicare la stessa impostazione altrove.
Scelta di un'impostazione utile#
Iniziare con il valore predefinito del modello, quindi confrontare gli output su prompt rappresentativi. Abbassare top_p se le risposte vagano verso formulazioni improbabili; prendere in considerazione un valore più alto se sono ripetitive senza necessità. Giudicare il risultato in base al compito, e non solo in base alla varietà. Per risposte o didascalie destinate ai clienti, esaminare l'accuratezza fattuale e la presenza di dettagli importanti. Una rosa ristretta più angusta può ridurre alcune continuazioni insolite, ma non può rendere vere affermazioni prive di riscontro. La guida di IBM sulla generazione di output accurati tratta allo stesso modo le scelte di decodifica come una sola parte di un flusso di lavoro di generazione fondato. (ibm.com)









