Skip to content

English · Español

00 — Por qué las embeddings densas baten al one-hot

🇪🇸 Una representación one-hot es honesta — el token es su identidad — pero geométricamente plana. Las embeddings densas convierten esa identidad en coordenadas aprendidas, donde "cerca" significa "se comporta parecido en mi corpus". Para los verbos de §A13, eso debería significar: tiempos cerca de tiempos, personas cerca de personas, pares EN/ES cerca entre sí.

El planteamiento

El corpus de la Fase 12 tokeniza los 20 verbos × 5 tiempos × 3 personas × 2 idiomas ≈ 600 formas verbales (más puntuación, tokens especiales, pronombres comunes). Necesitamos una forma de que el modelo use estos tokens — para alimentarlos al transformer en la Fase 17.

La representación más honesta es one-hot: cada token recibe un índice único \(i \in \{0, 1, \ldots, V-1\}\) y un vector indicador \(x \in \{0, 1\}^V\) con un \(1\) en la posición \(i\). Matemáticamente limpio. Prácticamente inservible. ¿Por qué?

Tres razones por las que el one-hot pierde

1. Geometría: todos los tokens son equidistantes

En el espacio one-hot, cada par de tokens distintos tiene la misma distancia:

\[\|e_i - e_j\|_2 = \sqrt{2} \quad \text{for all } i \neq j\]

Así que work y worked están exactamente igual de lejos que work y comma. La geometría no contiene ninguna información sobre qué tokens son parecidos. Un modelo tendría que aprender la similitud desde cero cada vez.

2. Coste paramétrico: las capas lineales son enormes

Una capa lineal que consume entrada one-hot tiene matriz de pesos de forma \(W \in \mathbb{R}^{V \times d}\). Para nuestro \(V = 64, d_\text{model} = 64\), son 4096 parámetros — manejable. Pero para GPT-2 (\(V = 50257, d = 768\)), son 38,5M parámetros solo para la primera proyección. El one-hot no escala.

El truco embedding-como-lookup (siguiente archivo) colapsa esto: \(W^\top \cdot \text{one\_hot}(i) = W[i, :]\). La matemática es la misma, pero nunca materializamos el vector one-hot — simplemente indexamos en \(W\).

3. Sin estructura transferible

Supón que el modelo aprende que work debe activar ciertas attention heads de una forma concreta. Con one-hot, ese conocimiento es solo sobre el índice 14 (o el que tenga work). El modelo no tiene ninguna capacidad de generalizar a worked (índice 22, pongamos) — son ortogonales en el espacio one-hot.

Con embeddings densas, el modelo puede aprender \(E[\text{work}] \approx E[\text{worked}]\) — y entonces cualquier cosa que aprenda sobre uno se transfiere al otro.

Qué te dan las embeddings densas

Una embedding densa es un vector aprendido \(E[i] \in \mathbb{R}^d\) para cada id de token \(i\). Las embeddings de todo el vocabulario forman una matriz \(E \in \mathbb{R}^{V \times d}\). El entrenamiento ajusta \(E\) de modo que:

  • Tokens que aparecen en contextos parecidos tienen vectores parecidos. Esta es la hipótesis distribucional (Harris 1954, "conocerás una palabra por la compañía que mantiene"). Para nosotros: work y walk aparecen en huecos parecidos de las frases, así que deberían acabar cerca en \(E\).
  • Puede emerger estructura composicional. El resultado famoso: \(E[\text{king}] - E[\text{man}] + E[\text{woman}] \approx E[\text{queen}]\) (Mikolov et al. 2013). Para nosotros, esperaríamos: \(E[\text{works}] - E[\text{work}] + E[\text{walk}] \approx E[\text{walks}]\) (la dirección "3ª persona del singular"). Esto no está garantizado y lo testearemos en el lab 02.
  • Puede aparecer alineamiento crosslingüe "gratis". Si work y trabajar aparecen en contextos plantillados similares en el corpus (cosa que ocurre, por la construcción de la Fase 12), sus embeddings deberían converger. El UMAP 2D debería mostrar pares EN/ES cerca entre sí.

Qué deberías esperar ver (el artefacto destacado)

Tras entrenar CBOW durante 20 epochs sobre el corpus de la Fase 12 con \(d = 32\), proyecta a 2D con UMAP. Después mira:

  1. Las 5 formas de tiempo de cada verbo se agrupan. Una nube pequeña por verbo.
  2. Entre verbos, el centro de la nube varía por identidad del verbo — el clúster de work y el de eat son separables.
  3. Una dirección "pasado" es visible. Todas las formas de pasado están desplazadas en una dirección consistente respecto a sus infinitivos.
  4. Los pares inglés/español quedan próximos. work y trabajar están cerca, worked y trabajó están cerca.

Si no ves (1) y (2), el corpus o el entrenamiento tienen un bug. (3) y (4) son aspiracionales — son los tests significativos de si la geometría codifica estructura lingüística.

Qué NO enseñarán las embeddings al modelo

Una sobreafirmación común: "las embeddings codifican significado." Codifican similitud distribucional en el corpus de entrenamiento. Eso es un proxy del significado, útil pero no la cosa en sí. Nuestro corpus es microscópico; las embeddings no capturarán matices de significado como "intencionalidad" o "telicidad" que sí importan a la teoría lingüística. Capturarán: tiempo, persona, identidad del verbo, idioma. Eso basta para el tutor de la Fase 32.

Conviene mantener esta humildad. Cuando leas "GPT-4 entiende X" en la prensa, la afirmación técnica es: "las embeddings + attention de GPT-4 codifican regularidades estadísticas sobre X que bastan para el test que usamos." Una afirmación más débil y honesta.

Qué NO cubre este archivo

  • El objetivo de entrenamiento CBOW. Archivo 02.
  • Por qué \(d = 32\) en concreto. Mención breve en el archivo 02; discusión completa en PHASE_13_PLAN.md §2.
  • Internos de UMAP. UMAP es aquí una herramienta de caja negra. El archivo 03 cita el paper.

Siguiente: 01-embedding-as-lookup.md