English · Español
01 — Escalado por temperatura¶
🇪🇸 La temperatura es un único escalar que controla cuán "valiente" o "tímido" es el modelo. Bajo τ: el modelo se aferra a su token favorito. Alto τ: el modelo casi sortea de uniforme. La cara matemática: τ aplana o agudiza la softmax.
La fórmula¶
Dados logits \(z \in \mathbb{R}^V\) y temperatura \(\tau > 0\):
Todo se divide por \(\tau\) dentro del exponente. Nota: aplicar \(\tau\) fuera de la softmax (p. ej., \(q^{1/\tau} / \sum q^{1/\tau}\)) da una distribución distinta — misma forma pero distinta normalización. Quédate con la forma interna.
Los tres límites¶
\(\tau \to 0^+\) — colapso a argmax¶
A medida que \(\tau\) decrece, \(z_i / \tau\) crece en magnitud. Si \(z^* = \max_i z_i\) es el máximo único:
Así que greedy decoding es el límite τ → 0 del muestreo con temperatura. (Cuando hay empates, el límite es uniforme sobre los tokens empatados — un caso borde de medida cero en la práctica.)
\(\tau = 1\) — identidad¶
Cuando \(\tau = 1\), \(q_i = \text{softmax}(z)_i\) — la distribución nominal del modelo. Úsalo como referencia.
\(\tau \to \infty\) — uniforme¶
A medida que \(\tau\) crece, \(z_i / \tau \to 0\) para todo \(i\). Los exponentes tienden todos a 1, el normalizador tiende a \(V\), y:
— una distribución uniforme. Muestrear de \(\tau = \infty\) es lo mismo que elegir un token al azar.
Entropía como función de \(\tau\)¶
La entropía de \(q(\tau)\) es no-decreciente en \(\tau\):
con igualdad solo cuando los logits son constantes (ya uniformes).
Esbozo de la demostración¶
Calcula \(\partial H / \partial \tau\). Usando \(H(q) = -\sum_i q_i \log q_i\) y \(q_i = \exp(z_i/\tau) / Z\) donde \(Z = \sum_j \exp(z_j/\tau)\):
donde \(\langle z \rangle = \sum_j q_j z_j = \mathbb{E}_q[z]\). Entonces:
Usa \(\log q_i = z_i/\tau - \log Z\) y simplifica; los términos constantes desaparecen porque \(\sum_i (z_i - \langle z \rangle) q_i = 0\). El término restante es \(\frac{1}{\tau^3} \text{Var}_q[z] \ge 0\).
Así que \(\partial H / \partial \tau \ge 0\) con igualdad si y solo si todos los \(z_i\) son iguales.
(El lab 01 verifica esto empíricamente barriendo \(\tau\) sobre un vector de logits sintético y graficando \(H(q(\tau))\).)
Una nota sobre calibración¶
Un modelo perfectamente calibrado con \(\tau = 1\) tiene una confianza expresada igual a su accuracy empírica. Un modelo sobre-confiado (típico en redes neuronales; ver Fase 05 lab 03) pone demasiada masa en su mejor predicción. Bajar \(\tau\) ligeramente (p. ej., \(\tau = 0.9\)) a veces recupera calibración empíricamente; subir \(\tau\) ligeramente (p. ej., \(\tau = 1.1\)) a veces añade diversidad útil para un modelo infra-confiado.
Esto no es la misma operación que el escalado por temperatura usado para calibración en la Fase 05. Allí la temperatura se ajusta sobre un conjunto held-out para minimizar el CE de validación. Aquí es un mando de tiempo de ejecución para diversidad. Misma matemática, distinta motivación. No los confundas.
¿Y la repetición?¶
Un problema clásico del muestreo autorregresivo: el modelo puede caer en bucles repetitivos (I work. I work. I work...). Una solución habitual es la penalización por repetición: reducir el peso de los logits para tokens ya presentes en la secuencia generada:
con \(\rho > 1\) (típicamente \(\rho = 1.1\) a \(1.3\)).
Para nuestro corpus de verbos, la repetición es menos problemática porque las secuencias son cortas. No implementamos la penalización por repetición en el lab; la mencionamos solo en teoría.
Una trampa: temperatura aplicada a la etapa equivocada¶
Tres sitios donde uno podría aplicar \(\tau\):
softmax(z / τ)— la forma correcta. La temperatura escala los logits antes del softmax.softmax(z) ** (1/τ) / normalise— casi pero no exactamente lo mismo; produce una distribución distinta.- Muestrear de
softmax(z)y rechazar con probabilidad τ — sin sentido, pero te sorprendería.
Solo (1) está bien. El lab 00 te hará verificarlo calculando la entropía con \(\tau = 2\) vía (1) y (2) sobre los mismos logits y mostrando que difieren.
Lo que este archivo NO cubre¶
- Top-k / top-p. Siguiente archivo.
- Calibración vía temperatura como parámetro aprendido. La Fase 05 lab 03 lo cubre.
- Programaciones de temperatura adaptativas. Algunos samplers varían τ en función de la posición; fuera de alcance.
Siguiente: 02-top-k-and-top-p.md