Controlando la Creatividad: Temperatura y Top-P

Guía técnica sobre los hiperparámetros que modulan la aleatoriedad y precisión de las respuestas de un modelo de lenguaje.

HiperparámetrosPrompt-EngineeringConfiguración-IA

Controlando la Creatividad: Temperatura y Top-P

Cuando interactuamos con un LLM, el modelo no siempre elige la palabra más probable. A menudo queremos que sea creativo (escribir un cuento) o extremadamente determinista (escribir código). Para esto se utilizan los parámetros de muestreo: Temperatura y Top-p.

La Temperatura (Temperature)

La temperatura es un valor, generalmente entre 0 y 2, que escala las probabilidades calculadas por la capa softmax del modelo antes del muestreo.

  • Temperatura Baja (e.g., 0.1 - 0.3): El modelo se vuelve determinista y conservador. Siempre elegirá la opción más probable. Ideal para extracción de datos, clasificación y programación.
  • Temperatura Alta (e.g., 0.8 - 1.5): Las probabilidades se "suavizan". Las palabras menos probables tienen más oportunidad de ser elegidas. Ideal para lluvia de ideas y escritura creativa.

Efecto Matemático

Si la palabra "Gato" tiene 0.6 de probabilidad y "Perro" 0.2:

  • Con Temp 0: "Gato" se elige el 100% de las veces.
  • Con Temp alta: La diferencia entre 0.6 y 0.2 se reduce, permitiendo que "Perro" sea elegido más frecuentemente.

Top-P (Nucleus Sampling)

Top-P es una alternativa o complemento a la temperatura que limita las opciones basándose en el porcentaje acumulado de probabilidad.

Si configuramos top_p = 0.9, el modelo solo considerará el conjunto de palabras cuyas probabilidades sumadas lleguen al 90%. Esto elimina la "cola larga" de palabras irrelevantes o extrañas que podrían arruinar la coherencia del texto.

Comparativa y Mejores Prácticas

TareaTemperaturaTop-P
Código / Datos0.01.0
Resúmenes0.31.0
Chat General0.70.9
Poesía / Arte1.21.0

Ejemplo de configuración en JSON para una API:

{
  "model": "gpt-4",
  "messages": [{"role": "user", "content": "Escribe un poema sobre Marte."}],
  "temperature": 0.8,
  "top_p": 0.95
}

Es recomendable no modificar ambos parámetros al mismo tiempo de forma drástica, ya que sus efectos se solapan. La práctica común es fijar top_p en 1.0 y ajustar la temperature, o viceversa.

🎯

Tarjeta práctica

Todo lo necesario para entender, aprender y aplicar este tema.

El control de la creatividad en los Modelos de Lenguaje (LLMs) no es magia, sino estadística pura basada en la gestión de probabilidades. Cuando un modelo genera texto, predice la siguiente palabra asignando una probabilidad a miles de candidatas. La Temperatura y el Top-P (o Nucleus Sampling) son los selectores que deciden qué tan 'arriesgada' será esa elección.

  • La Temperatura ($T$): Imagínala como el control de entropía. Una temperatura baja (0.1 - 0.3) concentra la probabilidad en la palabra más obvia, ideal para tareas técnicas o factuales. Una temperatura alta (0.8 - 1.2) aplana la curva, permitiendo que palabras menos probables tengan oportunidad de aparecer, fomentando la originalidad.
  • Top-P (Nucleus Sampling): En lugar de mirar todas las palabras, el modelo suma las probabilidades de las palabras más probables hasta llegar a un porcentaje $P$. Si $P=0.9$, solo se consideran las palabras que acumulan el 90% de la masa de probabilidad.

¿Por qué importa? Sin estos controles, los modelos serían o demasiado repetitivos o completamente incoherentes. Se aplican en:

  1. Extracción de datos: Donde se busca fidelidad absoluta (Baja temperatura).
  2. Redacción creativa: Donde se busca variedad léxica (Alta temperatura).
  3. Chatbots de soporte: Donde se requiere un equilibrio entre empatía y precisión.