← Volver a Aprende con CDIA

¿Qué es la IA generativa?Top-p (nucleus sampling)

IntermedioInteligencia Artificial6 min de lectura

Top-p (nucleus sampling)

Considerar solo las palabras más probables que juntas cubren una probabilidad p: un recorte adaptativo de la cola de opciones.

Top-p (o nucleus sampling, muestreo del núcleo) le dice al modelo: "considera solo las palabras más probables cuya probabilidad acumulada llegue a ". Es una forma adaptativa de descartar la larga cola de opciones absurdas.

El problema que resuelve

En cada paso, un LLM asigna algo de probabilidad a miles de tokens. La mayoría son ridículos, pero si dejamos que participen, tarde o temprano el muestreo elige uno y arruina el texto. Necesitamos recortar la cola. Top-p lo hace de manera inteligente.

Cómo funciona

  1. Ordena los tokens de mayor a menor probabilidad.
  2. Ve acumulando probabilidad desde el más alto.
  3. Se queda con el conjunto más pequeño cuya suma alcanza el umbral (el "núcleo").
  4. Renormaliza ese conjunto y muestrea solo dentro de él.

Formalmente, se elige el menor conjunto tal que:

Con , por ejemplo, el modelo considera justo las palabras que juntas cubren el 90 % de la probabilidad, y descarta el 10 % restante de la cola.

En código

Los cuatro pasos (ordenar, acumular, cortar, renormalizar) se ven claros en numpy:

import numpy as np

def top_p(probs, p=0.9):
    orden = np.argsort(probs)[::-1]       # índices de mayor a menor probabilidad
    acum = np.cumsum(probs[orden])
    corte = np.searchsorted(acum, p) + 1  # tamaño del núcleo que alcanza p
    nucleo = orden[:corte]
    filtradas = np.zeros_like(probs)
    filtradas[nucleo] = probs[nucleo]
    return filtradas / filtradas.sum()    # renormaliza dentro del núcleo

probs = np.array([0.5, 0.25, 0.15, 0.07, 0.03])
print(top_p(probs, 0.9))  # descarta la cola menos probable

En la práctica, este recorte también es solo un argumento: top_p=0.9.

Lo clave: es adaptativo

Aquí está la gracia frente a top-k. El tamaño del núcleo cambia según el contexto:

  • Cuando el modelo está muy seguro (una palabra concentra casi toda la probabilidad), el núcleo puede ser de 1 o 2 tokens.
  • Cuando está indeciso (muchas palabras plausibles), el núcleo se agranda para no cortar opciones válidas.

Así, top-p se ajusta solo a la "confianza" del modelo en cada paso.

Valores típicos

  • : sin recorte, todos los tokens participan.
  • : el rango habitual; elimina la cola sin ahogar la creatividad.
  • bajo (0.5): muy restrictivo, texto más seguro y repetitivo.

Un consejo práctico frecuente: ajusta o temperatura o top-p, no ambos al extremo a la vez, para no perder el control del comportamiento.

Para llevar

Top-p (nucleus sampling) se queda con el conjunto mínimo de palabras que cubren una probabilidad acumulada , adaptando su tamaño a la certeza del modelo. Es hoy el método de muestreo más usado. En la próxima lección veremos su primo de tamaño fijo: top-k.