Skip to content

English · Español

Fase 02 — Representación numérica

Requiere: 01 — Hardware y sustrato de cómputo Enseña: ieee-754 · floating-point · softmax-stability · log-sum-exp · precision · denormals Salta a cualquier capítulo desde el índice de referencia de fases.

Mapa del capítulo

Pre-escrito según A12; re-anclado a A13 (gramática de verbos en inglés). La teoría y los enunciados de los laboratorios son borradores estables; las soluciones aterrizan justo a tiempo al abrir la fase.

🇪🇸 La aritmética de coma flotante es un sistema de aproximación con reglas raras. Fase 2 te enseña esas reglas hasta que predices, sin ejecutar código, dónde habrá pérdida de precisión, overflow o NaN. Los ejemplos viven en el universo del modelo: conjugaciones verbales inglesas (§A13).


Objetivo

Interiorizar IEEE-754 con la profundidad suficiente para que Borja pueda:

  • Decodificar a mano un patrón de bits de un float de 32 bits en signo, exponente, mantisa y valor — incluidas probabilidades pequeñas como 1/600 (la distribución uniforme sobre el vocabulario de formas verbales de §A13).
  • Predecir, sin ejecutar código, qué expresiones desbordan (overflow), pierden por defecto (underflow), pierden precisión o producen NaN.
  • Re-derivar el truco -max del softmax y la suma de Kahan desde cero — ilustrado sobre un vector de logits de longitud 5 que clasifica un token como uno de los cinco tiempos verbales ingleses (infinitive / present / past / past-participle / future).
  • Cuantificar el error de redondeo de los ciclos fp32-a-int8, anticipando la inmersión profunda en cuantización de la Fase 26.

Esta es la base para la Fase 7 (autograd escalar), la Fase 18 (bucle de entrenamiento) y la Fase 26 (cuantización). Sáltatela y cada fase posterior arrastrará una fuga.

Orden de lectura

  1. theory/00-motivation.md — por qué una fase de precisión antes de cualquier álgebra lineal.
  2. theory/01-ieee754-anatomy.md — disposición de bits de fp64/fp32/fp16/bf16, denormales, valores especiales, redondeo.
  3. theory/02-softmax-stability.md — el truco -max, log-sum-exp, cross-entropy estable. La página de teoría más importante de esta fase.
  4. theory/03-summation-and-cancellation.md — cancelación catastrófica, suma de Kahan y Neumaier, cotas de error.
  5. theory/04-precision-zoo.md — BF16, TF32, FP8 E4M3/E5M2, INT8/INT4. Disposiciones de bits y compromisos. Anticipa la Fase 26.
  6. lab/00-bit-anatomy.md — decodificar floats a mano y por código, incluyendo el patrón de bits de 1/600.
  7. lab/01-softmax-stability.md — romper el softmax ingenuo sobre logits de tiempos verbales, y luego arreglarlo.
  8. lab/02-summation-experiments.md — medir Kahan vs ingenuo al sumar N = 10⁶ probabilidades por forma.
  9. lab/03-quantization-preview.md — redondear fp32 ↔ int8 sobre un array de logits y cuantificar la pérdida.

solutions/ está vacío durante la pre-escritura — se rellena al abrir la fase, después de que las decisiones de API de la fase anterior de Borja sean visibles.

Definición de hecho (DoD)

Ver PHASE_02_PLAN.md §6. En breve:

  • Cuatro directorios de experimentos con manifiestos + artefactos de salida commiteados.
  • Borja puede derivar a mano el truco -max y explicar por qué el softmax ingenuo desborda cuando un logit es ≳ 89.
  • Borja puede identificar, sin ejecutar código, qué expresiones aritméticas sobre la distribución del vocabulario verbal perderán precisión o darán NaN.

Lo que esta fase intencionadamente NO cubre

  • Gradientes a través de estas operaciones. Eso es la Fase 4 (cálculo) y la Fase 7 (autograd).
  • Un módulo src/minigrad/. La Fase 2 se queda en experiments/; las primitivas estables se andamian en la Fase 7, cuando un Value de autograd las consume por primera vez.
  • Cuantización real (calibración, redondeo con cota de error, escalas por canal). Anticipada en lab/03, pero la inmersión profunda es la Fase 26.
  • Coma flotante en GPU (tensor cores, operaciones nativas FP8). Fase 23+.
  • Aritmética de intervalos, números posit, unum, formatos DSP de coma fija. Fuera del alcance del currículo por completo.
  • Bibliotecas de multi-precisión (mpmath, gmpy2). Las usamos como oráculos fp64 solo para tests.

El alcance de la Fase 2 es entender el sustrato de coma flotante lo bastante bien como para predecir modos de fallo numérico. Nada más.

Lecturas recomendadas

Opcional — enriquece pero no es necesario para aprobar la fase.