Cómo los modelos de lenguaje almacenan miles de millones de conceptos en 12,000 dimensiones
(nickyoder.com)- En un espacio de embeddings de alta dimensión, es posible representar muchísimos conceptos aprovechando la cuasiortogonalidad (quasi-orthogonality) en lugar de la ortogonalidad perfecta
- El lema de Johnson-Lindenstrauss garantiza que datos arbitrarios de alta dimensión pueden proyectarse a una dimensión menor con una pérdida de información casi nula
- En el proceso de optimización, el diseño de la función de pérdida es importante, ya que una función de pérdida básica puede producir distribuciones de vectores ineficientes o sesgadas
- Los resultados experimentales muestran que la capacidad real del espacio de embeddings es mucho mayor de lo que se suponía teóricamente, y que pueden coexistir de forma natural desde millones hasta miles de millones de conceptos
- Estos hallazgos tienen un gran significado práctico en el trabajo aplicado de machine learning, como la representación de datos y la reducción de dimensionalidad en el diseño de embeddings
Introducción: la pregunta sobre la capacidad del espacio de embeddings en los modelos de lenguaje
En la reciente serie de videos sobre modelos Transformer de 3Blue1Brown, Grant Sanderson planteó una pregunta interesante: ¿cómo puede el espacio de embeddings de 12,288 dimensiones de GPT-3 contener cientos de millones de conceptos del mundo real?
Esta duda se conecta con la geometría de alta dimensión y con un resultado matemático conocido como el lema de Johnson-Lindenstrauss (JL)
Al explorarla, surgieron nuevas ideas sobre las propiedades fundamentales de los espacios vectoriales y la optimización, lo que incluso llevó a una colaboración con Grant
Cuasiortogonalidad de vectores y capacidad del espacio de embeddings
- En un espacio de N dimensiones solo existen N vectores completamente ortogonales
- En la práctica, si se permite una relación cuasiortogonal (quasi-orthogonal) que se desvíe un poco de los 90 grados exactos (por ejemplo, ángulos de 85 a 95 grados), la cantidad de vectores representables en el mismo espacio crece exponencialmente
- En el video de Grant se muestra una visualización donde 10,000 vectores unitarios en un espacio de 100 dimensiones se acomodan casi de forma ortogonal
- Sin embargo, al reproducir el mismo experimento, se descubrió una trampa sutil en el diseño de la función de pérdida de optimización
Problemas y patrones en la función de pérdida
- Función de pérdida básica:
loss = (dot_products.abs()).relu().sum() - Sobre la esfera unitaria real, esta función de pérdida presenta dos problemas
- Gradient Trap: cuando el ángulo del vector se acerca a 90 grados, el gradiente actúa con fuerza, pero cerca de 0 o 180 grados el gradiente se vuelve casi cero, bloqueando la mejora
- Solución del 99%: la técnica de optimización minimiza la pérdida total colocando cada vector ortogonal correctamente respecto a 9,900 de los 10,000 vectores, pero casi paralelo a otros 99 (es decir, copias de un vector de referencia)
- Vista en conjunto, esta solución es fundamentalmente distinta de lo esperado, por lo que hace falta una función de pérdida más refinada
- Por eso se cambió a una función de pérdida con penalización exponencial: loss = exp(20*dot_products.abs()**2).sum()
- Este enfoque produce resultados más cercanos a la distribución deseada (el ángulo máximo entre pares es de aproximadamente 76.5 grados)
Lema de Johnson-Lindenstrauss (JL): una garantía geométrica
- El lema JL garantiza que, incluso si un conjunto arbitrario de puntos de datos de alta dimensión se proyecta aleatoriamente a una dimensión menor, las distancias euclidianas se conservan casi intactas
- Para entre 1 y N puntos, un factor de error ε y una dimensión de proyección k:
(1-ε)||u-v||² ≤ ||f(u)-f(v)||² ≤ (1+ε)||u-v||² - La dimensión mínima requerida k es:
k ≥ (C/ε²) * log(N)
donde C es una constante que ajusta la probabilidad de éxito - En general, se toma un valor conservador de C entre 4 y 8, pero con métodos de proyección especiales (por ejemplo, Hadamard matrix, métodos de optimización) se puede llegar a un C más pequeño
Áreas de aplicación práctica
- Reducción de dimensionalidad:
- Ejemplo: transformar eficientemente las preferencias de clientes en comercio electrónico desde decenas de miles de dimensiones de productos a unos pocos miles
- Puede usarse para análisis en tiempo real y recomendaciones sobre datos de alta dimensión
- Análisis de los límites de capacidad del espacio de embeddings:
- En vez de ortogonalidad perfecta, el espacio expresa de manera natural un espectro de similitudes y diferencias entre conceptos
- Ejemplos reales de palabras: "archery", "fire", "gelatinous", "green", etc., cuyos significados físicos y abstractos se representan de forma superpuesta en un espacio de alta dimensión
Análisis experimental de la capacidad del embedding
- En resultados optimizados mediante transformaciones como Hadamard matrix, el valor de C fue de 2.5 a 4, y con optimización basada en GPU podría bajar mucho más
- Método experimental: proyectar secuencialmente N vectores estándar basis a un espacio de k dimensiones y optimizar repitiendo el proceso 50,000 veces
- Resultados observados:
- El valor de C sube hasta un máximo (~0.9) a medida que N aumenta, y luego desciende gradualmente
- Cuanto mayor es la proporción N/k, más baja C, llegando a menos de 0.2
- Esto se debe a la eficiencia del sphere packing en espacios de alta dimensión
- En la práctica, sugiere que hay margen para representar más conceptos que el límite superior teórico
Significado real para los embeddings de modelos de lenguaje
- Según la cantidad de dimensiones del embedding k, el ángulo de ortogonalidad aproximada F (90° - ángulo real) y el valor de C, la cantidad de conceptos que pueden almacenarse es:
Vectors ≈ 10^(k * F² / 1500)
- k=12,288, F=1(89°) → 10^8
- F=2(88°) → 10^32
- F=3(87°) → 10^73
- F=5(85°) → más de 10^200 vectores posibles
- Con solo 86° ya se supera el número de átomos en el universo observable (10^80)
- Es decir, los modelos de lenguaje reales preservan con riqueza millones de significados incluso con una cantidad de dimensiones relativamente baja
Aplicaciones prácticas y dirección futura
- Reducción eficiente de dimensionalidad:
- Mediante enfoques basados en proyección aleatoria combinados con transformaciones Hadamard, codificación BCH, etc., es posible reducir dimensiones en grandes volúmenes de datos y acelerar cálculos sin una optimización compleja
- Diseño del espacio de embeddings:
- Comprender la capacidad del espacio ayuda a explicar cómo modelos grandes de lenguaje como los Transformer pueden conservar simultáneamente relaciones semánticas incluso de conceptos sutiles como "Canadian" o "Muppet-like"
- En conclusión, los estándares actuales de embeddings (1,000 a 20,000 dimensiones) son suficientes para representar conocimiento humano; la clave está en aprender una distribución ideal dentro de ese espacio
Conclusión
- Lo que comenzó como una exploración de problemas sutiles de optimización en la función de pérdida terminó llevando a una comprensión más profunda de la geometría de alta dimensión y de la estructura fundamental del machine learning
- El lema JL, publicado en 1984, sigue proporcionando hoy una base central para los embeddings de machine learning, la representación de información y los principios de reducción de dimensionalidad
- Se agradece la colaboración de Grant Sanderson, el canal 3Blue1Brown y Suman Dev, compartiendo también el placer de esta experiencia de investigación y escritura
Lecturas adicionales
- Sphere Packings, Lattices and Groups – Conway & Sloane
- Database-friendly random projections: Johnson-Lindenstrauss with binary coins – Achlioptas
- Hadamard Matrices, Sequences, and Block Designs – Seberry & Yamada
Aún no hay comentarios.