¿Qué es la Temperatura en un LLM?

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.
La mecánica exacta
Sección titulada «La mecánica exacta»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.
Ejemplo con números
Sección titulada «Ejemplo con números»Imagina tres tokens con estos logits: 5.0, 2.0, 1.0.
Con temperatura 1.0 (sin cambio):
Logits: 5.0, 2.0, 1.0Softmax: 0.936, 0.047, 0.017El 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.5Softmax: 0.705, 0.157, 0.095Ahora 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.0Softmax: 0.997, 0.002, 0.0003El primer token sube al 99.7%. Prácticamente no hay elección. El modelo siempre dice lo mismo.
Rangos reales de las APIs
Sección titulada «Rangos reales de las APIs»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.
Qué pasa con temperatura 0
Sección titulada «Qué pasa con temperatura 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.
Cuándo usar cada rango
Sección titulada «Cuándo usar cada rango»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.
Evidencia científica sobre temperatura
Sección titulada «Evidencia científica sobre temperatura»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 relación con softmax
Sección titulada «La relación con softmax»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.
Verifica los números
Sección titulada «Verifica los números»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.
Experimenta con Temperatura
Sección titulada «Experimenta con Temperatura»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.
Qué pasa en la práctica
Sección titulada «Qué pasa en la práctica»- 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.
Error común
Sección titulada «Error común»Subir la temperatura esperando mejorar la precisión. La temperatura controla variación, no calidad. Subirla no hace que el modelo sepa más.