Skip to content

English · Español

Fase 13 — Embeddings y espacios de representación

Requiere: 11 — Teoría de tokenización + implementación de BPE · 12 — El corpus: diseñando el dataset microscópico Enseña: embeddings · cbow · cosine-similarity · dimensionality · representation-geometry Salta a cualquier capítulo desde el índice de referencia de fases.

Mapa del capítulo

Pre-escrito según A12. La teoría y los enunciados de los labs son borradores estables; las soluciones se escriben justo a tiempo al abrir la fase.

🇪🇸 "El significado es geometría." Las embeddings son coordenadas aprendidas: tokens que aparecen en contextos parecidos quedan cerca en el espacio. Aquí las construimos a mano sobre minigrad/minitorch y las entrenamos con CBOW sobre el corpus de verbos de la Fase 12 — sin transformers.

Anclas: LYNX_CORTEX.md §4 / FASE 13, LYNX_CORTEX_ADDENDUM.md §A13 (alcance de gramática verbal en inglés), §A12 (pre-escritura).


Objetivo

Borja escribe un módulo de embedding lookup construido a mano y entrena embeddings minúsculas tipo CBOW sobre el corpus de gramática verbal de la Fase 12 (~600 formas: 20 verbos × 5 tiempos × 3 personas × inglés + español). El artefacto destacado de la fase es un scatter UMAP 2D del vocabulario entrenado, comiteado, en el que:

  • Las cinco formas de tiempo del mismo verbo se agrupan juntas (p. ej., work, works, worked, worked, will work forman una nube pequeña, distinta de eat, eats, ate, eaten, will eat).
  • Las formas pareadas en inglés y español quedan próximas entre sí (work / trabajar, worked / trabajó).
  • Emerge un eje de tiempo verbal — las formas de pasado son separables de las de futuro por una dirección en la proyección 2D.

Si esa geometría no emerge, el corpus, el tokenizer o el entrenamiento tienen un bug — la visualización es un diagnóstico, no decoración.

Qué construyes aquí

  • Una comprensión funcional de por qué las embeddings densas baten al one-hot para el aprendizaje aguas abajo.
  • Un módulo Embedding construido a mano usando el autograd de las Fases ⅞.
  • Una tabla de embeddings CBOW entrenada sobre el corpus de la Fase 12.
  • Una proyección UMAP 2D + heatmap de similitud coseno que muestran la geometría.

Qué NO cubre esta fase

  • Self-attention del transformer. Fase 15. Aquí embeddings estáticas; representaciones contextuales más tarde.
  • Pooling de subpalabras para secuencias de longitud variable. Fase 15 / Fase 17.
  • Embeddings de la librería transformers (AutoModel.embeddings). Prohibido por CLAUDE.md §0.4 hasta la Fase 24.
  • Embeddings preentrenadas (GloVe, fastText). Fuera de alcance — entrenamos desde nuestro propio corpus.
  • Embeddings de frase / sentence-BERT. Fase 29 (RAG / recuperación).
  • Bases de datos vectoriales. Fase 29.
  • Negative sampling, softmax jerárquico. Mencionados en teoría; no implementados (nuestro vocabulario es lo bastante pequeño para softmax completo).

El alcance de la Fase 13 es embeddings de tokens estáticas, construidas a mano, entrenadas sobre el corpus de formas verbales de la Fase 12, con una visualización que demuestra que el corpus dio forma a la geometría. Nada más.

Orden de lectura

  1. theory/00-motivation.md — por qué densas > one-hot para cualquier aprendizaje aguas abajo.
  2. theory/01-embedding-as-lookup.mdE[i] = one_hot(i) @ E. La identidad lookup-es-matmul.
  3. theory/02-cbow-skipgram.md — la familia Word2Vec a nivel panorámico + el objetivo CBOW que implementamos.
  4. theory/03-similarity-and-visualization.md — coseno vs Euclídea; PCA vs UMAP; qué se puede leer en una proyección 2D (y qué no).
  5. lab/00-implement-embedding-module.md — escribe src/minimodel/embedding.py. Forward + gradiente + save/load.
  6. lab/01-train-cbow.md — entrena embeddings minúsculas sobre el corpus de la Fase 12. Hiperparámetros: d = 32, window = 4, epochs = 20.
  7. lab/02-visualize-and-probe.md — UMAP a 2D, comparación coseno-vs-Euclídea, sondeo del eje de tiempo verbal.

solutions/ está vacío durante la pre-escritura — se rellena al abrir la fase.

Definición de hecho (DoD)

Resumen (ver PHASE_13_PLAN.md para la lista completa en la raíz del repo):

  • src/minimodel/embedding.py limpio con mypy --strict; los tests cubren lookup, flujo de gradiente, save/load.
  • Embeddings entrenadas sobre el corpus de la Fase 12 comiteadas como .npy + metadatos JSON.
  • El scatter UMAP 2D muestra clustering interpretable por tiempo / verbo / idioma.
  • Los rankings coseno y euclídeo de los 10 vecinos más cercanos de work difieren — comparación comiteada.
  • Heatmap de similitud coseno de las formas infinitivas de los 20 verbos comiteado.

Siguiente: theory/00-motivation.md

Lecturas recomendadas

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