Volver a la Galería de Conceptos
Modelos & Representación
Maestría IA — AI Wiki
Sampling (Top-P & Top-K)
Técnicas de truncamiento de la distribución de probabilidad para filtrar tokens irrelevantes.
Top-PTop-KNucleus SamplingDecoding Strategy
Definición Técnica & Formal
El muestreo (Sampling) restringe el conjunto de candidatos a evaluar para el siguiente token. Top-K selecciona únicamente los K tokens más probables (ej. K=40). Top-P (Nucleus Sampling) ordena las probabilidades de mayor a menor y acumula tokens hasta sumar un umbral P (ej. P=0.90), cortando la cola larga de palabras incoherentes.
Puntos Clave & Aplicaciones
Top-P se adapta dinámicamente: si el modelo está muy seguro, el conjunto Nucleus es pequeño; si hay incertidumbre, se expande.
Evita alucinaciones causadas por tokens de baja probabilidad en la cola larga.
Suele combinarse con la Temperatura para afinar la salida del modelo.
Intuición Visual para Mente Gráfica
"Elegir candidatos para un equipo: Top-K selecciona a los 10 mejores del ranking; Top-P selecciona a todos los jugadores que acumuladamente representen el 90% del talento total."
💡 Tip: Puedes presionar el botón "Dibujar / Apuntes" en la barra superior para hacer anotaciones gráficas sobre este diagrama.Demostración Visual e Interactiva
Interactúa con los controles para simular dinámicamente el funcionamiento de Sampling (Top-P & Top-K).
Creativo / Storytelling
Filtra tokens hasta sumar 90% de probabilidad acumulada.
Distribución de Probabilidades para la frase "El resultado es: [...]"
"42"
94%
"100"
4%
"azul"
1%
"banana"
0%
Ejemplo de Código & Demostración
python
def top_p_sampling(probs, p=0.9):
sorted_indices = np.argsort(probs)[::-1]
sorted_probs = probs[sorted_indices]
cumulative_probs = np.cumsum(sorted_probs)
# Eliminar tokens con probabilidad acumulada por encima del umbral p
cutoff = np.searchsorted(cumulative_probs, p) + 1
selected_indices = sorted_indices[:cutoff]
return selected_indices
probs = np.array([0.5, 0.25, 0.15, 0.05, 0.03, 0.02])
nucleus = top_p_sampling(probs, p=0.9)
print("Índices candidatos en Nucleus Top-P:", nucleus)💡 Algoritmo Nucleus Sampling (Top-P) filtrando tokens de la cola larga.