Ir al contenido

¿Qué es la Temperatura en un LLM?

Comparación visual del efecto de diferentes valores de temperatura en la distribución

La temperatura es un número que se aplica en la fórmula de softmax para controlar cuánto riesgo toma el modelo al elegir la siguiente palabra.

Temperatura baja: El modelo casi siempre elige el token más probable. El texto es predecible y repetitivo.

Temperatura alta: El modelo reparte más la probabilidad entre tokens menos probables. El texto es más variado pero también más impredecible y a veces incoherente.

La mecánica es simple: divides los logits por un número antes de aplicar softmax.

Antes de aplicar softmax, cada logit se divide por la temperatura T:

softmax(logit_i / T)

Si T es 1, no cambia nada. Si T es menor que 1, los logits se hacen más grandes en términos relativos, lo que concentra más la probabilidad en el token ganador. Si T es mayor que 1, los logits se hacen más pequeños en términos relativos, lo que aplana la distribución.

Imagina tres tokens con estos logits: 5.0, 2.0, 1.0.

Con temperatura 1.0 (sin cambio):

Logits: 5.0, 2.0, 1.0
Softmax: 0.936, 0.047, 0.017

El modelo elige el primer token el 93.6% de las veces. Casi no hay variación.

Con temperatura 2.0 (más aleatoriedad):

Logits divididos por 2: 2.5, 1.0, 0.5
Softmax: 0.705, 0.157, 0.095

Ahora el primer token baja al 70.5% y los otros suben. Hay más posibilidades de que salga algo diferente.

Con temperatura 0.5 (menos aleatoriedad):

Logits divididos por 0.5: 10.0, 4.0, 2.0
Softmax: 0.997, 0.002, 0.0003

El primer token sube al 99.7%. Prácticamente no hay elección. El modelo siempre dice lo mismo.

Estos valores vienen de la documentación oficial de cada proveedor:

OpenAI: Temperatura entre 0.0 y 2.0. Valor por defecto: 1.0.

Anthropic: Temperatura entre 0.0 y 1.0. Valor por defecto: 1.0.

Google Gemini: Temperatura entre 0.0 y 2.0. Valor por defecto: 1.0.

Con temperatura 0, el modelo siempre elige el token con mayor probabilidad. En teoría esto debería ser completamente determinista: la misma entrada siempre produce la misma salida.

En la práctica no es exactamente así. Hay pequeñas variaciones causadas por la forma en que el hardware ejecuta los cálculos en paralelo. Pero la variación es mínima. Para la mayoría de casos prácticos, temperatura 0 produce resultados consistentes.

Estas son las recomendaciones de las documentaciones oficiales de los proveedores:

Temperatura baja (0.0 - 0.3): Tareas que requieren precisión factual. Documentación técnica, respuestas a preguntas concretas, generación de código, clasificación de texto.

Temperatura media (0.4 - 0.7): Tareas que necesitan equilibrio entre coherencia y variedad. Chatbots de atención al cliente, resumen de textos, respuestas conversacionales.

Temperatura alta (0.8 - 1.5): Tareas creativas. Escritura de ficción, generación de ideas, brainstorming, poesía.

Un estudio académico de Renze publicado en 2024 evaluó GPT-3.5, GPT-4 y modelos Llama 2 con cinco técnicas distintas de prompting. Los cambios de temperatura entre 0.0 y 1.0 no tuvieron un impacto estadísticamente significativo en el rendimiento para tareas de resolución de problemas de opción múltiple.

Esto no significa que la temperatura no tenga efecto. Significa que para tareas de razonamiento con respuesta correcta definida, el modelo acierta o falla independientemente de la temperatura. Donde la temperatura marca diferencia real es en la diversidad y creatividad de las respuestas abiertas.

La temperatura no es un parámetro mágico. Es un divisor que se aplica antes de softmax para ensanchar o estrechar la distribución de probabilidades. Si entiendes cómo funciona softmax, entiendes exactamente qué hace la temperatura.

import math
logits = [5.0, 2.0, 1.0]
for temp in [0.5, 1.0, 2.0]:
ajustados = [l / temp for l in logits]
exps = [math.exp(x) for x in ajustados]
total = sum(exps)
probs = [e / total for e in exps]
print(f"Temperatura {temp}: {[round(p, 4) for p in probs]}")

Ejecuta este código y comprueba los números. Son verificables.

Ajusta la temperatura en nuestro simulador interactivo y observa en tiempo real cómo cambia la distribución de probabilidades. Puedes ver el efecto inmediato en los porcentajes de cada token posible.

  • Temperatura baja produce texto repetitivo y predecible.
  • Temperatura alta introduce variación pero también errores y frases sin sentido.
  • El mismo prompt con distinta temperatura da resultados muy diferentes.

Subir la temperatura esperando mejorar la precisión. La temperatura controla variación, no calidad. Subirla no hace que el modelo sepa más.