Vectron: dejé de pedirles que lo imaginaran Por qué construí un mapa 3D navegable del significado de un LLM, y por qué medir dónde miente es la otra mitad del proyecto Transcripción de la versión narrada (7 min). Narrada con voz sintética (Larry). El texto es de Esteban Rey — kilowatto.com. --- Vectron: dejé de pedirles que lo imaginaran. Por qué construí un mapa 3D navegable del significado de un LLM, y por qué medir dónde miente es la otra mitad del proyecto. Doy un curso de inteligencia artificial casi todos los meses, que consta de cuatro sesiones de hora y media cada una. En algún punto de la primera sesión siempre llego al mismo lugar, donde le pido a la audiencia que se imagine un modelo de lenguaje, no como una base de datos tradicional, de tablas y filas, sino como algo más parecido a un espacio. El problema es que yo no controlo esa imaginación, ya que cada persona en el salón se construye una metáfora distinta, y varias de esas metáforas están mal. Lo noté rápido, cuando en vez de pedirles que se lo imaginaran, se los mostraba, aunque fuera con un dibujo improvisado en el pizarrón, la sesión cambiaba. De ahí, con el tiempo, creció un sistema completamente didáctico, que es Vectron. Qué es, sin metáforas. Vectron es un mapa 3D público del significado, disponible en vectron.kilowatto.com. Cada partícula del cubo representa una palabra real de un corpus que consta de 20,473 conceptos, y su posición se determina a partir de un embedding real de 1,024 dimensiones generado por bge-m3, de Workers AI, que se comprime a 3 coordenadas mediante PCA. No se trata de una maqueta ni de una animación pregrabada. Cuando escribes una frase, se tokeniza de verdad utilizando el mismo BPE, cl100k_base, que emplea un modelo real. Si fijas una partícula, sus vecinos se determinan a partir de una búsqueda vectorial real en Cloudflare Vectorize, en las 1,024 dimensiones completas, no solo en las 3 que se visualizan en pantalla. Cuando comparas dos conceptos, el coseno que se muestra es el coseno real. La pila completa está compuesta por Workers, Vectorize, D1, R2 y Workers AI, con el frontend desarrollado en Three.js sobre WebGPU, lo que permite renderizar 20,473 partículas en una sola llamada de dibujo, y un corpus que crece automáticamente cada 30 minutos a través de cron. Por qué no lo dejé como curiosidad de fin de semana. Llevo más de 25 años en tecnología, la mayoría del tiempo construyendo empresas, como Ignia Cloud, mis inversiones y el Yucatech Festival. Vectron no nació de esa misma ambición. Nació exactamente del mismo lugar que la frustración del salón de clases, donde si algo se puede mostrar en vez de describir, hay que mostrarlo bien, aunque eso signifique meterse a fondo en shaders, PCA y renderizado GPU en vez de dejarlo como un experimento de fin de semana. Enseñar también dónde miente. La parte del proyecto de la que estoy más orgulloso no es la que se ve bonita, sino la que mide, con números reales sobre el corpus, cuánto le puedes creer a lo que estás viendo. Lo que Vectron mide sobre sí mismo es que los 3 ejes visibles retienen apenas 11.69% de la varianza real, mientras que 16 componentes completos no llegan al 26%. Además, alrededor de 31% de los vecinos que la pantalla sugiere son inventados por la proyección, con una trustworthiness de 0.694 a k=10. El coseno entre dos palabras sin ninguna relación es 0.412, lo que indica que el cero no existe. También hay concentración real, ya que un concepto aparece en 77 listas de vecinos, lo que supera la media de 10. De estos datos se deriva la decisión de diseño más importante del producto, que es que la promesa se ata a la consulta que tú haces, no a la posición en la que caen los puntos. Las líneas que conectan conceptos son el canal honesto, que se basa en el coseno real en 1,024 dimensiones, mientras que la posición es el canal deshonesto, que solo explica el 11.69% de la varianza. Por eso, conservamos las líneas, pero con correcciones, como un tope de cuántas se dibujan, un grosor proporcional al coseno real, una etiqueta que declara qué preguntaste y líneas cortadas cuando la relación no es recíproca. El momento en que supe que iba a funcionar. No fue cuando terminé el renderizado, ni cuando el corpus llegó a su meta de 20,473 conceptos. Fue en un curso, mostrándoselo a mis alumnos, cuando fijaron una palabra y vieron a sus vecinos reales encenderse en el espacio. Esa cara de “ahhh, ya entiendo” que llevaba años persiguiendo con dibujos en el pizarrón, por fin la vi en tiempo real, sin que yo tuviera que explicar nada más. Lo que sigue. Vectron no se queda en un solo nivel. Hay una versión para quien nunca ha tocado un modelo de lenguaje, sin jerga, con 300 conceptos curados en lugar de los 20,473 completos, porque menos elementos producen más aprendizaje real. Luego, hay una versión intermedia con tokens, embeddings y un laboratorio de fallos, y también hay una versión avanzada para quien quiere el instrumento completo, con la matemática sin editar y control del corpus. Separar por nivel de pericia, en vez de por dificultad, es lo que distingue a un novato que mira rasgos superficiales de un experto que mira principios profundos. El proyecto se sigue corrigiendo a sí mismo. Cuando una de las seis auditorías que se realizaron, con más de 190 referencias verificadas, encontró que el corpus no probaba nada sobre bilingüismo real, se corrigió el protocolo correcto y se descubrió que el español acertaba 50.7% de las veces, mientras que el inglés acertaba 100% de las veces, lo que mostraba un hueco entre idiomas. Después de la corrección, embebiendo ambas formas, el porcentaje de acierto del español aumentó a 99.3%. La idea real detrás de Vectron es ser una herramienta educativa sobre inteligencia artificial que se aplica a sí misma el mismo escrutinio que enseña a la gente a exigirle a cualquier IA. La herramienta se encuentra en vectron.kilowatto.com, donde se puede entrenar y jugar con ella para evaluar cómo explica conceptos que antes solo se pedía imaginar.