Le hiciste la misma pregunta al modelo dos veces. Obtuviste dos respuestas completamente diferentes. Una fue útil. Otra fue un sinsentido.
Esto no es aleatorio, es una configuración. La temperatura y el top-p controlan cómo un modelo elige la siguiente palabra. Si los configuras mal, obtienes inconsistencia. Si los configuras bien, obtienes un comportamiento reproducible.
Qué hace realmente la Temperatura
La temperatura controla la confianza con la que actúa el modelo. Piénsalo como un dial de «qué tan arriesgado quiere ser el modelo».
Cada LLM funciona de la misma manera en tiempo de generación: calcula una puntuación de probabilidad para cada palabra posible siguiente. Una palabra podría tener un 45% de probabilidad, otra un 23%, otra un 12%. Luego elige una.
La temperatura remodela esas probabilidades antes de que el modelo elija.
- Temperatura = 0: Siempre elige la palabra de mayor probabilidad. Determinista. Misma entrada, misma salida, cada vez. Úsalo para extracción de datos, clasificación, salidas estructuradas.
- Temperatura = 1: Usa las probabilidades tal cual. Equilibrado. A menudo es el valor predeterminado. Suficientemente creativo, suficientemente consistente.
- Temperatura = 2+: Achatada las probabilidades. Las palabras de baja probabilidad se vuelven más probables. Alta variabilidad. Úsalo solo para lluvia de ideas o escritura creativa.
Esto es lo que importa: la temperatura 0 te da consistencia. La temperatura superior a 1 te da variedad a costa de la predictibilidad. En sistemas de producción, casi siempre querrás una temperatura entre 0 y 0.7.
Top-P: El Límite que Corrige las Colas Largas
Top-p (muestreo de núcleo) resuelve un problema diferente al de la temperatura.
La temperatura cambia la confianza del modelo. Top-p controla qué palabras el modelo tiene permitido considerar.
Si top-p = 0.9, el modelo solo considera las palabras que componen el 90% superior de la masa de probabilidad. Ignora la cola larga de palabras extrañas y de baja probabilidad.
¿Por qué esto importa? La temperatura por sí sola no evita salidas malas. Si la temperatura es 1 y el modelo calcula probabilidades como esta:
Palabra A: 40%
Palabra B: 35%
Palabra C: 15%
Palabra D: 5%
Palabra E: 3%
Palabra F: 2%
Aún así podría elegir la Palabra E o F a veces. Agregar top-p = 0.9 corta todo por debajo del 90% de probabilidad acumulada, por lo que las palabras D, E, F se eliminan de la consideración por completo.
Usa top-p para eliminar salidas sin sentido sin sacrificar variedad útil. Un top-p entre 0.8 y 0.95 funciona bien para la mayoría de los casos de uso.
Cuándo Usar Cada Configuración
Extracción estructurada (JSON, CSV, clasificación): Temperatura = 0, top-p = 1. Quieres la única mejor respuesta, de manera consistente.
# Prompt para extraer datos
Usuario: "Extrae el nombre del cliente, la fecha del pedido y el total de esta factura. Devuelve solo en JSON."
Invocar con:
- temperatura: 0
- top_p: 1
Chat o preguntas y respuestas: Temperatura = 0.7, top-p = 0.9. Suficientemente consistente para mantenerse en tema, lo suficientemente variado para sentirse natural.
# Ejemplo en Python usando la API de Claude
import anthropic
client = anthropic.Anthropic()
mensaje = client.messages.create(
model="claude-3-5-sonnet-20241022",
max_tokens=1024,
temperature=0.7,
top_p=0.9,
mensajes=[
{"role": "user", "content": "Explica por qué mis solicitudes de API están fallando por tiempo de espera."}
]
)
print(mensaje.content[0].text)
Lluvia de ideas o trabajo creativo: Temperatura = 1.0 a 1.5, top-p = 0.95. Quieres variación sin caos completo.
Calificación o evaluación: Temperatura = 0, top-p = 1. La consistencia en la puntuación importa más que nada.
El Verdadero Problema: Efectos de Interacción
La temperatura y el top-p interactúan. No son diales independientes.
Si estableces la temperatura = 0.1 (muy conservadora) pero top-p = 0.5 (corte agresivo), el corte apenas importa; el modelo ya era conservador. Si estableces temperatura = 2 y top-p = 0.99, estás luchando contra ti mismo.
Empieza con un dial. Primero la temperatura, generalmente. Si sigues obteniendo salidas sin sentido después de bajar la temperatura a 0.3 o menos, agrega top-p = 0.85.
En la práctica: temperatura de 0 a 0.7 + top-p de 0.9 a 1 maneja el 95% de los casos de uso de producción. Cualquier cosa más allá suele ser un ajuste excesivo.
Prueba tus Configuraciones Hoy
Elige un prompt que uses regularmente. Ejecútalo 10 veces con temperatura = 0. Cuenta cuántas veces obtienes la misma salida.
Luego ejecútalo 10 veces con temperatura = 1 sin cambiar nada más. Observa la diferencia. Esta es la brecha entre consistencia y variabilidad.
Ahora encuentra la temperatura que te da un 80% de consistencia de salida con una calidad de salida aceptable para tu caso de uso. Esa es tu línea base. Agrega top-p si aún ves basura ocasional.
Registra las configuraciones. Úsalas. Si depuras la calidad de la salida más tarde, sabrás exactamente qué cambiaste y por qué.