English · Español
02 — Matemáticas de las métricas: derivaciones detrás de cada fórmula¶
🇪🇸 Cuatro derivaciones cortas. Saber de dónde viene cada métrica te permite saber cuándo no aplica.
1. Perplejidad a partir de cross-entropy¶
Dado un modelo \(p_\theta(y | x)\) y una secuencia de tokens held-out \(y_1, \ldots, y_N\) con contextos \(x_1, \ldots, x_N\), la cross-entropy por token es:
Equivalentemente, la log-verosimilitud media negativa. La perplejidad es la exponencial:
Derivación del "factor de ramificación efectivo"¶
Para una distribución uniforme sobre \(V\) tokens: \(\log p = -\log V\), así que \(\bar{\mathcal{L}} = \log V\) y \(\text{PPL} = V\).
Para el modelo: \(\text{PPL}\) es el tamaño de la distribución uniforme sobre la que el modelo está efectivamente eligiendo. Un modelo con PPL 7 está "tan incierto como un aleatorio uniforme sobre 7 tokens".
Comparar perplejidades¶
Dos modelos sobre el mismo test set son directamente comparables. Dos modelos sobre test sets distintos no lo son, incluso aunque ambos compartan vocabulario, porque la PPL depende de la distribución de los datos. En particular, la PPL sólo en EN no es comparable a la PPL sólo en ES aunque el modelo sea bilingüe — los idiomas tienen distinta entropía intrínseca sobre el alcance §A13.
Los informes de la Fase 20 siempre identifican el hash del test set y el split por idioma para que las PPL sean comparables sin ambigüedad.
2. Estimador insesgado de pass@k¶
Dado un modelo y un prompt, muestrea \(n\) salidas a temperatura \(T\). Sea \(c\) el número de muestras correctas. El estimador ingenuo \(c/n\) es insesgado para \(\text{pass@}1\) pero sesgado por debajo para \(\text{pass@}k\) cuando \(k > 1\).
El estimador insesgado de Chen et al. 2021:
Por qué es insesgado: imagina extraer \(k\) muestras de tus \(n\). La probabilidad de que todas las \(k\) sean incorrectas es \(\binom{n-c}{k} / \binom{n}{k}\) (elegir \(k\) de las \(n-c\) incorrectas). Uno menos eso es la probabilidad de que al menos una de las \(k\) sea correcta.
Para \(n \to \infty\) a tasa de corrección fija \(p = c/n\): $\(\widehat{\text{pass@}k} \to 1 - (1-p)^k\)$
lo cual encaja con la intuición binomial.
Implementación¶
def pass_at_k(n: int, c: int, k: int) -> float:
if n - c < k:
return 1.0
return 1.0 - math.comb(n - c, k) / math.comb(n, k)
Numéricamente estable para los tamaños que usamos (n=20, k=10, c=0..n). Para n mucho mayor, usa la forma con log-Gamma.
Cuándo pass@k es apropiado¶
- La tarea permite múltiples intentos (frases alternativas, paráfrasis).
- El juez / verificador es automático y barato.
- El modelo se muestrea a temperatura moderada-alta para diversidad.
Cuándo no es apropiado: tareas de clasificación (donde sólo obtienes una respuesta), despliegues de producción que no toleran gimnasia "best of k". Para la Fase 20, pass@k es una señal de sanity sobre el sub-eval de completado libre, no un titular.
3. ECE: Expected Calibration Error¶
Para clasificación con clase predicha \(\hat y_i\) y confianza predicha \(\hat p_i\):
- Pon las muestras en \(M\) bins de igual anchura por confianza (valor por defecto \(M=10\): el bin 1 es \([0, 0.1)\), el bin 10 es \([0.9, 1.0]\)).
- Para cada bin \(B_m\):
- \(\text{acc}(B_m) = \frac{1}{|B_m|}\sum_{i \in B_m} \mathbb{1}[\hat y_i = y_i]\)
- \(\text{conf}(B_m) = \frac{1}{|B_m|}\sum_{i \in B_m} \hat p_i\)
- \(\text{ECE} = \sum_m \frac{|B_m|}{N} |\text{acc}(B_m) - \text{conf}(B_m)|\)
Interpretación geométrica¶
Dibuja \((\text{conf}(B_m), \text{acc}(B_m))\) como puntos en el cuadrado unidad. La línea diagonal \(y = x\) es "perfectamente calibrado". ECE es la distancia vertical ponderada de cada punto a la diagonal, ponderada por la población del bin.
Ejemplo resuelto¶
Tres bins. Bin 1: 10 muestras, confianza media 0.55, accuracy 0.4. Bin 2: 30 muestras, confianza media 0.75, accuracy 0.7. Bin 3: 60 muestras, confianza media 0.95, accuracy 0.83.
Así que el modelo está, en promedio, desviado 10 puntos porcentuales.
Sensibilidad a \(M\)¶
Pocos bins (M pequeño) → grueso, con posibilidad de no detectar miscalibración en regiones estrechas. Muchos bins → fino pero ruidoso si N es pequeño. La combinación "\(M=10\) + N=60-100" tiene ~6-10 muestras/bin, que es el mínimo para estimaciones estables. Los informes de la Fase 20 anotan el número de bins.
Para \(N\) muy pequeño, usa el ECE adaptativo, que emplea bins de igual población en vez de igual anchura. No implementado en la Fase 20; objetivo extendido.
4. Brier score¶
Para clasificación binaria con probabilidad predicha \(p_i\) de la clase positiva y etiqueta \(y_i \in \{0, 1\}\):
Menor = mejor. Rango \([0, 1]\). Predicción perfecta: 0. Aleatorio puro (predicir 0.5 siempre): 0.25.
Descomposición¶
Brier se descompone en tres componentes (Murphy 1973):
- Fiabilidad (término de calibración): como ECE pero al cuadrado. Menor = más calibrado.
- Resolución: cuánto varían las predicciones del modelo según el ground truth. Mayor = más discriminante.
- Incertidumbre: pérdida irreducible por desbalanceo de clases. Independiente del modelo.
Un modelo puede tener Brier bajo por estar calibrado, por ser discriminante o por trabajar en una tarea de baja incertidumbre. La descomposición te dice cuál.
La Fase 20 reporta Brier junto a ECE; la descomposición es un objetivo extendido en lab/02-calibration-and-adversarial.md.
Brier multiclase¶
Para tres clases (correct, incorrect, ambiguous):
donde \(C=3\) y \(p_{i,c}\) es la probabilidad predicha de la clase \(c\) para la muestra \(i\). Promedia sobre los \(C\) scores Brier binarios; a veces se divide por 2 (la convención "Brier" vs "half-Brier"). La Fase 20 usa la versión sin la /2.
5. Métricas de la matriz de confusión¶
La matriz es:
(sólo se muestran las diagonales por brevedad; C = correct, I = incorrect, A = ambiguous)
A partir de ella:
- Precisión por clase: de todas las predicciones de la clase \(c\), ¿cuántas eran realmente \(c\)? \(P_c = \text{TP}_c / \sum_i M[i, c]\).
- Recall por clase: de todos los ejemplos verdaderos de la clase \(c\), ¿cuántos predijimos? \(R_c = \text{TP}_c / \sum_j M[c, j]\).
- F1 por clase: \(F1_c = 2 P_c R_c / (P_c + R_c)\).
La Fase 20 reporta precisión y recall por clase en una tabla; F1 se menciona pero no es el titular porque la compresión por media armónica suele ocultar el trade-off real P/R.
La celda más diagnóstica para nuestra tarea es (true=incorrect, predicted=correct) — el modelo no detecta un error. Para un agente tutor, este es el peligro: confirmar silenciosamente gramática incorrecta a un aprendiz.
6. Significancia, brevemente¶
Al comparar dos checkpoints, ¿son significativas las diferencias en accuracy? Con \(N = 60\) probes, el error estándar binomial a \(p = 0.8\) es:
Así que diferencias menores de ~5 puntos porcentuales caen dentro del ruido. Los informes de la Fase 20 incluyen una columna de intervalo de confianza (intervalo de Wilson, no la aproximación normal porque es mejor en los valores de frontera).
Intervalo de Wilson para la proporción \(p\) con \(N\) muestras al 95 % de confianza:
donde \(z = 1.96\) para el 95 %.
Para \(N=60, p=0.8\): \([0.68, 0.88]\). Comparar este checkpoint con uno a \(p=0.85\) (con CI solapados) no es una victoria significativa.
El informe de la Fase 20 marca diferencias como "significativas" o "dentro del ruido" usando la heurística del solapamiento de CIs de Wilson.
Recapitulación en un párrafo¶
La PPL es \(e^{\text{CE}}\); pass@k usa el estimador binomial insesgado de Chen; ECE bineta las predicciones por confianza y mide la desviación vertical ponderada respecto a la diagonal de calibración perfecta; Brier eleva al cuadrado el error predicción-etiqueta y se descompone en términos de calibración + resolución + incertidumbre. Las métricas por clase de la matriz de confusión dan precisión / recall / F1 con intervalos de Wilson para la significancia. Cada fórmula son unas pocas líneas y unas pocas decisiones de convención (el número de bins, la temperatura, la ponderación de clases); las elecciones se documentan por informe para que las comparaciones sigan siendo válidas.
Siguiente: theory/03-probe-construction.md.