K-Means es simple. Hacerlo rápido en GPU no lo es. Flash-KMeans es una implementación consciente de IO del k-means exacto que repiensa el algoritmo en torno a los cuellos de botella modernos de la GPU. Al atacar directamente los cuellos de botella de memoria, Flash-KMeans logra: - 30x de aceleración sobre cuML - 200x de aceleración sobre FAISS Usando el mismo algoritmo exacto, solo que diseñado para el hardware de hoy. A la escala de un millón, Flash-KMeans puede completar una iteración de k-means en milisegundos. Aquí está por qué esto importa hoy: El k-means siempre ha sido un primitivo offline. Algo que ejecutas una vez para preprocesar datos y seguir adelante. Estas aceleraciones cambian eso. ↳ Las bases de datos vectoriales como FAISS utilizan k-means para construir índices de búsqueda. Un k-means más rápido significa que puedes reindexar dinámicamente a medida que los datos cambian, no agruparlo durante la noche. ↳ Los métodos de cuantización de LLM necesitan k-means para encontrar libros de códigos de peso óptimos, por capa, repetidamente. Lo que antes tomaba horas ahora podría tomar minutos. ↳ Los modelos MoE necesitan enrutamiento rápido de tokens en el momento de la inferencia. Un k-means en milisegundos lo hace viable para ejecutarlo dentro del bucle de inferencia, no solo en el preprocesamiento. El 200x sobre FAISS es el número a internalizar. FAISS es el estándar de la industria. La mayoría de los sistemas de búsqueda vectorial en producción se basan en él. ¡Enlace al artículo y al código en el siguiente tweet!