English· Español· Deutsch· Nederlands· Français· 日本語· ქართული· 繁體中文· 简体中文· Português· Русский· العربية· हिन्दी· Italiano· 한국어· Polski· Svenska· Türkçe· Українська· Tiếng Việt· Bahasa Indonesia

un

invitado
1 / ?

Distancia Semántica como Distancia Euclidiana [BLOCK_TYPE SECTION/STEP]

Un Espacio Vectorial de Alta Dimensionalidad
[BLOCK_TYPE SECTION/STEP]

Cada token en el vocabulario de 8449 tokens de ANDREA-120M se mapea a un punto en R^768. La matriz de embeddings de tokens tiene forma 8449 x 768: 8449 filas, una por token del vocabulario; 768 columnas, una por dimensión de embedding. [BLOCK_TYPE SECTION/STEP]

[BLOCK_TYPE SECTION/STEP]

Geometría de los Paneles de ANDREA


Tres propiedades hacen que esto sea un espacio vectorial

1. Suma. v_a + v_b pertenece a R^768. La suma de dos embeddings es un vector válido.

2. Multiplicación por escalar. alpha * v pertenece a R^768 para cualquier escalar real alpha. Estira o contrae en la misma dirección.

3. Linealidad. alpha v_a + beta v_b pertenece a R^768. Las combinaciones lineales permanecen dentro del espacio.


Estas propiedades nos proporcionan herramientas geométricas: distancia, ángulo, proyección, base, ortogonalidad.


Distancia como Similitud Semántica

La similitud coseno de dos embeddings mide el ángulo entre ellos: cos(theta) = (v_a . v_b) / (||v_a|| * ||v_b||). Rango: -1 (opuestos) a +1 (paralelos).


Patrón empírico tras el entrenamiento: los tokens con contextos similares producen embeddings con alta similitud coseno. ANDREA-120M coloca parakeet y monkey cerca (ambos biológicos, ambas especies, ambas categorías existentes o extintas). Coloca Fourier y transform cerca (contexto de procesamiento de señales). Coloca parakeet y Fourier lejos (ortogonalidad entre dominios).


¿Por qué R^768 y no R^384?

ANDREA-12M usó d_model = 384. ANDREA-120M lo duplicó a 768. La duplicación importa: un espacio de 384 dimensiones tiene menos 'ángulos' disponibles, y la desambiguación entre dominios se resiente. Duplicar la capacidad da al modelo espacio para resolver bank (río) frente a bank (financiero) en distintas cuencas del espacio de embeddings sin que una colapse en la otra.


Actualizaciones de embeddings como traducción vectorial

Cada paso de gradiente añade delta_v a v_token. Geométricamente: pequeñas traslaciones en R^768 desplazan la posición de cada token hacia vecindarios que reducen la pérdida. Tras 200K pasos, cada token migra desde su inicialización aleatoria hasta una ubicación aprendida.

Cálculo de una distancia

Tres embeddings entrenados (simplificados a R^3 para operaciones aritméticas):


- v(parakeet) = (1.0, 0.5, 0.0)

- v(monkey) = (1.2, 0.3, 0.1)

- v(Fourier) = (0.0, 0.0, 1.5)

(a) Calcula la distancia euclidiana ||v(parakeet) - v(monkey)||. (b) Calcula ||v(parakeet) - v(Fourier)||. (c) Indica qué dos tokens se agrupan y da una razón geométrica citando los números reales.

Proyección sobre un subespacio de consulta

Qué calcula la atención

Para un token en la posición t, la atención calcula:


softmax(Q K^T / sqrt(d_k)) V


Donde Q es la consulta (la pregunta de este token), K son las claves (el identificador de cada token anterior), V son los valores (el contenido de cada token anterior). La salida mezcla V ponderado por cuánto se relaciona la consulta con cada clave.


Lectura geométrica

Piensa en K como una lista de vectores en R^d_k. Cada fila es la clave de un token anterior. Q es un vector en R^d_k: la pregunta de este token.


Q K^T proyecta cada clave sobre Q. El producto punto q . k_i mide cuánto se alinea k_i con la dirección de q. Proyección larga = clave fuertemente relevante para la consulta. Proyección corta = clave apenas relevante.


softmax normaliza las proyecciones en pesos que suman 1. La suma ponderada de V es un único vector: una mezcla del contenido pasado, ponderada por su relevancia respecto a la consulta actual.


Atención Multi-Cabeza como Proyección en Múltiples Subespacios

ANDREA-120M utiliza 12 cabezas de atención. d_model = 768; d_k = 768 / 12 = 64. Cada cabeza proyecta en un subespacio diferente de 64 dimensiones dentro de R^768. Doce cabezas proporcionan doce vistas independientes de la misma secuencia: una cabeza puede seguir el rol gramatical, otra la similitud semántica, otra las referencias de largo alcance.


Geométricamente: cada cabeza define un subespacio orientado de 64 dimensiones (una 'ventana') a través del cual observa el pasado.


La Máscara Causal

Los modelos decoder-only añaden una máscara causal: cada entrada de Q K^T por encima de la diagonal se establece en -infinito antes del softmax. Geométricamente: la proyección sobre cualquier token futuro recibe peso cero. El token t solo puede ver los tokens 0 a t.


Por qué importa: el entrenamiento y la inferencia se vuelven simétricos. La misma pasada hacia adelante, las mismas proyecciones enmascaradas, sin lógica especial de generación.


Escalado por sqrt(d_k)

Sin escalado, los productos punto crecen con d_k. Los productos punto grandes empujan el softmax hacia regiones one-hot (un peso cerca de 1, el resto cerca de 0). Dividir por sqrt(d_k) mantiene las proyecciones en una escala de varianza unitaria, preservando la nitidez del softmax en un amplio rango de valores de d_k.


Geométricamente: sqrt(d_k) normaliza las longitudes de las proyecciones para que el softmax vea magnitudes comparables independientemente de la dimensión del subespacio.

Leyendo una Proyección

Tres claves y una consulta en R^4 (simplificado para aritmética):


- q = (1, 0, 1, 0)

- k_1 = (1, 0, 0, 0) [token pasado 1]

- k_2 = (0, 0, 1, 0) [token pasado 2]

- k_3 = (0, 1, 0, 1) [token pasado 3]


d_k = 4, por lo que sqrt(d_k) = 2.

(a) Calcula q . k_i para i = 1, 2, 3 (productos punto). (b) Divide cada uno por sqrt(d_k) = 2 para obtener las puntuaciones escaladas. (c) Sin calcular explícitamente el softmax, indica qué clave recibiría el MAYOR peso de atención y da una razón geométrica.

Descenso de Gradiente como Trayectoria en el Terreno

Una Superficie en 120M+1 Dimensiones

Cada configuración de pesos de ANDREA-120M es un punto en R^120,000,000. La pérdida L(w) asigna a cada punto un número real: la pérdida de entrenamiento en esa configuración. En conjunto, los valores de pérdida trazan una superficie de (120M+1) dimensiones sobre el espacio de parámetros.


Geométricamente imposible de visualizar directamente. Conceptualmente: un terreno. Montañas (pérdida alta), valles (pérdida baja), puntos de silla, mesetas, crestas, cuencas.


Gradiente como Pendiente Local

grad L(w) es un vector en R^120M que apunta en la dirección de mayor AUMENTO de L. Negándolo: -grad L(w) apunta hacia abajo con la mayor pendiente.


Un paso de AdamW desplaza w en la dirección negativa del gradiente (con escalado adaptativo de m y v). Geométricamente: un pequeño paso a lo largo de la superficie, cuesta abajo, con tamaño de paso controlado por lr.


Cuenca mala de v1

v1 dio su primer paso con LR = pico (0.0003) sobre pesos recién inicializados. Imagen geométrica: w_0 se encuentra en una región de curvatura muy irregular (la inicialización aleatoria tiene alta curvatura en muchas direcciones), y un paso con LR pico aterriza en la cuenca equivocada. Los pasos posteriores no pueden escapar. El modelo queda atrapado produciendo 'region region region' porque esa cuenca tiene la pérdida más baja que el modelo puede encontrar desde donde aterrizó.


Trayectoria de calentamiento de v2

v2 da 2000 pasos pequeños con LR que aumenta gradualmente desde 0 hasta el pico. Imagen geométrica: w_0 primero migra suavemente a lo largo de direcciones suaves (donde la curvatura es baja). Para el paso 2000, w se ha movido a una región más navegable; el LR pico puede entonces impulsarlo hacia una cuenca mejor sin pasarse.

<translated content> [BLOCK_TYPE SECTION/STEP]

El calentamiento es un protocolo de inicialización consciente de la geometría: deja que el modelo encuentre un vecindario local seguro antes de exigirlo al máximo. [BLOCK_TYPE SECTION/STEP]

<translated content> [BLOCK_TYPE SECTION/STEP]

Cuencas anchas vs estrechas
[BLOCK_TYPE SECTION/STEP]

En el paso 112K, ANDREA-120M se encuentra en una cuenca. Pregunta: ¿qué tan ancha es? [BLOCK_TYPE SECTION/STEP]

<translated content> [BLOCK_TYPE SECTION/STEP]

Cuenca ancha = muchas configuraciones de pesos vecinas también logran una baja pérdida de entrenamiento. La generalización suele ser buena (el ancho de la cuenca predice el rendimiento en prueba; véase la lección PAC-Bayes, Capítulo 3). [BLOCK_TYPE SECTION/STEP]

<translated content>

Cuenca estrecha = solo un conjunto reducido de pesos logra una pérdida baja. La generalización suele verse afectada.


El pulido v3 en el paso 112,619 desplazó el modelo a lo largo de la superficie (sin reiniciar) hacia una cuenca más amplia mediante perturbación curricular: se cambió la función de pérdida (diferente bandit, diferente mezcla de entrenamiento) y SGD encontró una región plana cercana bajo la nueva política.


El Acantilado Zombi

La pérdida anómala de 0.13 en el paso 112,080 fue un ACANTILADO: una región estrecha y abrupta donde un patrón de entrada específico (subcadena memorizada de repo-docs) alcanza una pérdida casi nula. El modelo cayó de la cuenca más amplia a un canal estrecho. La exclusión estricta de repo-docs en polish-pivot rellenó ese canal, por lo que SGD ya no pudo encontrarlo.

Leyendo el Terreno

Tres configuraciones de pesos después de un pivot de pulido. (a) Configuración A: pérdida de entrenamiento 2.0, y el 95 % de las pequeñas perturbaciones dentro de distancia 0.1 siguen produciendo pérdida < 2.2. (b) Configuración B: pérdida de entrenamiento 2.0, y solo el 5 % de las pequeñas perturbaciones dentro de distancia 0.1 siguen produciendo pérdida < 2.2. (c) Configuración C: pérdida de entrenamiento 0.13 en una entrada específica, pero pérdida 8.0 en promedio en otras entradas. Clasifica cada una como CUENCA ANCHA, CUENCA ESTRECHA o ACANTILADO, y da una razón geométrica en una frase.

Mezcla curricular como un paseo en un simplex discreto

Qué es un simplex

Un simplex n-dimensional (específicamente el simplex estándar (n-1)-dimensional) es el conjunto de n-tuplas (w_1, w_2, ..., w_n) donde cada w_i >= 0 y sum(w_i) = 1.


Para n = 2: un segmento de línea desde (1, 0) hasta (0, 1). Para n = 3: un triángulo con vértices (1, 0, 0), (0, 1, 0), (0, 0, 1). Para n = 16 (lista completa de fuentes de ANDREA): un simplex de 15 dimensiones dentro de R^16. [BLOCK_TYPE SECTION/STEP]

[BLOCK_TYPE SECTION/STEP]

Pesos del Bandido como Coordenadas del Simplex
[BLOCK_TYPE SECTION/STEP]

El bandido de ANDREA produce un vector de pesos w sobre las fuentes de datos en cada fase. Cada componente w_i es la probabilidad de muestrear la fuente i. Las probabilidades son no negativas y suman 1: cada vector de pesos vive en el simplex. [BLOCK_TYPE SECTION/STEP]

[BLOCK_TYPE SECTION/STEP]

Vértices = estrategias puras (muestrear solo una fuente). Interior = estrategias mixtas (muestrear múltiples fuentes, cada una con probabilidad positiva). Aristas = mezclas de solo dos fuentes. [BLOCK_TYPE SECTION/STEP]

[BLOCK_TYPE SECTION/STEP]

Pisos de Fuentes como Región Restringida

ANDREA impone pesos mínimos: hermes3-general con un piso de 0.7 (post-pulido). Esto delimita una sub-región del simplex: solo son alcanzables los vectores de peso con w_hermes3-general >= 0.7.


Geométricamente: el piso corta el simplex con un hiperplano. La región alcanzable es la parte del simplex que queda del lado correcto de cada hiperplano de piso.


Límites superiores como la otra restricción

ANDREA también impone pesos máximos: dictionary con un límite superior de 0.25 (post-pulido). Cada límite superior es otro hiperplano, y la región alcanzable debe quedar del lado correcto de cada hiperplano de límite superior.


Excluir una fuente por completo (límite superior = 0.0) es el límite superior más fuerte posible: la coordenada se fija en cero, reduciendo el simplex efectivo en una dimensión.


Transiciones de fase como caminatas en el simplex
[BLOCK_TYPE SECTION/STEP]

Cada transición de fase (cada 7-42 pasos) produce un nuevo vector de pesos. Cada nuevo vector es un punto en el simplex. En más de 200K pasos, el bandido traza un camino largo a través de la región alcanzable del simplex. [BLOCK_TYPE SECTION/STEP]


Fases aleatorias = teletransportarse a un punto aleatorio uniforme dentro de la región alcanzable. [BLOCK_TYPE SECTION/STEP]

Fases controladas por el bandido = avanzar hacia el vértice UCB-óptimo consistente con los pisos y techos. [BLOCK_TYPE SECTION/STEP]

Pivote de pulido = redibujar la región alcanzable (nuevos pisos, nuevos techos, algunas fuentes excluidas), y la caminata continúa desde el nuevo punto de partida. [BLOCK_TYPE SECTION/STEP]


Por qué los vértices son peligrosos

Las fases de fuente pura (un w_i = 1, el resto = 0) se encuentran en los vértices del simplex. La diversidad es cero. El modelo se entrena únicamente en una distribución. El colapso parcial de v1 se atribuye en parte a que el bandit acampaba cerca del vértice repo-docs; las muestras reproducían exclusivamente la distribución de esa fuente.


Los floors evitan el acampado en vértices: un floor de 0.7 indica «nunca dejes que el peso de ninguna fuente baje de 0.7» (o el valor que corresponda para las fuentes prioritarias).

Recorriendo la región alcanzable

Tres fuentes: hermes3-general (H), gutenberg (G), dictionary (D). Restricciones: floor de H = 0.5, cap de D = 0.25. (Implícito: todos los pesos ≥ 0, suman 1, sin otras restricciones.)

(a) ¿Podría el bandit elegir (H=1.0, G=0, D=0)? ¿Por qué sí o por qué no? (b) ¿Podría elegir (H=0.5, G=0.5, D=0)? (c) ¿Podría elegir (H=0.5, G=0.25, D=0.25)? (d) Describe geométricamente cómo se ve la región alcanzable en este simplex de 3 fuentes.

Restricción de Dimensiones para los Primeros 20K Pasos

Qué hizo el Calentamiento del Currículo de v2

v2 estableció curriculum_warmup_sources en siete fuentes: hermes3-general, hermes3-creative, hermes3-roleplay, chat, smoltalk, oasst, gutenberg. Durante los primeros 20K pasos, SOLO esas siete fuentes contribuyeron. Después del paso 20K, se activó el flujo completo de 16 fuentes.


Lectura Geométrica

El simplex completo de 16 fuentes se encuentra en R^16. Restringirse a 7 fuentes colapsa 9 de las 16 coordenadas a cero. La caminata del bandit ocurre en un sub-simplex de 6 dimensiones (una menos que el número de fuentes, por la restricción de suma a 1).


Geométricamente: una SUBMANIFOLD del simplex completo. De menor dimensión, más suave, más fácil de navegar.


Por qué esto ayuda en el entrenamiento inicial

Al inicio del entrenamiento, el modelo aún no ha aprendido lenguaje coherente. Las fuentes diversas lo confunden: cada fuente tiene su propio estilo, su propia distribución de vocabulario, su propio patrón. Mezclar 16 fuentes al inicio aleatorio crea una distribución objetivo demasiado amplia que el modelo no puede ajustar.


Restringirse a 7 fuentes conversacionales/prosa genera un objetivo más uniforme. El modelo aprende primero una representación estable y luego se expande.


Trayectoria geométrica durante el entrenamiento

1. Pasos 0 a 20K (calentamiento). El recorrido se mantiene en el sub-símplex de 6-D. Patrones lingüísticos estables emergen en el modelo.

2. Pasos 20K a 112K (flujo completo). El recorrido se expande al símplex completo de 15-D. Emerge la amplitud de dominio.

3. Paso 112K en adelante (pulido). El recorrido se restringe nuevamente: se excluyen repo-docs y docstrings de repositorio, y se elevan los pisos conversacionales. Polígono más pequeño dentro del símplex completo; la calidad conversacional se consolida.


Por qué el pulido establece curriculum_warmup_steps = 0

El pulido comienza en el paso 112K. El modelo ya habla un lenguaje coherente. Restringirse ahora a un sub-símplex perdería amplitud sin ganar nada (el beneficio del calentamiento es para modelos recién inicializados). Establecer warmup_steps = 0 indica: permanecer en el símplex completo, pero con nuevos límites superiores e inferiores.


Tres Geometrías, Una Sola Ejecución de Entrenamiento

v2 warmup: sub-simplex de baja dimensión.

v2 firehose: simplex completo de 15-D.

v3 polish: simplex completo con polígono más pequeño (más restricciones).


Misma ejecución de 200K pasos, tres regímenes geométricos diferentes. Cada uno se ajustó para una fase distinta de madurez del modelo.

Leyendo el Submanifold

(a) v2 warmup utiliza 7 fuentes del conjunto completo de 16 fuentes. ¿Cuál es la dimensión del sub-simplex de warmup? Calcula y establece. (b) ANDREA-120M v3 polish excluye por hard los repo-docs y repo-docstrings (cap 0.0) pero permite de otro modo las 14 fuentes restantes. ¿Cuál es la dimensión del sub-simplex de polish? (c) Geométricamente, ¿qué significa establecer curriculum_warmup_steps = 0 en la configuración de polish?