K-Means is eenvoudig. Het snel maken op GPU is dat niet. Flash-KMeans is een IO-bewuste implementatie van exacte k-means die het algoritme heroverweegt rond moderne GPU-flessenhalzen. Door de geheugenflessenhalzen direct aan te pakken, bereikt Flash-KMeans: - 30x versnelling ten opzichte van cuML - 200x versnelling ten opzichte van FAISS Met hetzelfde exacte algoritme, gewoon ontworpen voor de hardware van vandaag. Op het miljoen-niveau kan Flash-KMeans een k-means iteratie in milliseconden voltooien. Hier is waarom dit vandaag de dag belangrijk is: K-means is altijd een offline primitief geweest. Iets dat je één keer uitvoert om gegevens voor te verwerken en verder te gaan. Deze versnellingen veranderen dat. ↳ Vector databases zoals FAISS gebruiken k-means om zoekindices te bouwen. Snellere k-means betekent dat je dynamisch kunt herindexeren terwijl de gegevens veranderen, niet batchgewijs 's nachts. ↳ LLM-kwantisatiemethoden hebben k-means nodig om optimale gewichtcodeboeken per laag herhaaldelijk te vinden. Wat uren kostte, kan nu minuten duren. ↳ MoE-modellen hebben snelle tokenroutering nodig tijdens de inferentietijd. Milliseconde k-means maakt het haalbaar om dit binnen de inferentielus uit te voeren, niet alleen in de voorverwerking. De 200x ten opzichte van FAISS is het getal om te internaliseren. FAISS is de industriestandaard. De meeste productiesystemen voor vectorzoekopdrachten zijn hierop gebaseerd. Link naar het paper en de code in de volgende tweet!