K-Means er enkelt. Å gjøre det raskt på GPU er ikke det. Flash-KMeans er en IO-bevisst implementering av eksakte k-means som tenker nytt om algoritmen rundt moderne GPU-flaskehalser. Ved å angripe minneflaskehalsene direkte, oppnår Flash-KMeans: - 30x hastighetsøkning over cuML - 200x hastighetsøkning over FAISS Bruker nøyaktig samme algoritme, bare utviklet for dagens maskinvare. På millionskala kan Flash-KMeans fullføre en k-means iterasjon på millisekunder. Her er hvorfor dette er viktig i dag: K-means har alltid vært en offline-primitiv. Noe du kjører én gang for å forhåndsbehandle data og gå videre. Disse hastighetsøkningene endrer det. ↳ Vektordatabaser som FAISS bruker k-means for å bygge søkeindekser. Raskere k-means betyr at du kan re-indeksere dynamisk etter hvert som data endres, ikke batche det over natten. ↳ LLM-kvantiseringsmetoder trenger k-means for å finne kodebøker for optimal vekt, per lag, gjentatte ganger. Det som tar timer, kan nå ta minutter. ↳ MoE-modeller trenger rask token-ruting ved inferenstidspunkt. Millisekund k-means gjør det mulig å kjøre dette inne i inferenssløyfen, ikke bare i forbehandling. 200x over FAISS er tallet man bør internalisere. FAISS er bransjestandarden. De fleste produksjonsvektorsøkesystemer ligger oppå den. Lenke til artikkelen og koden i neste tweet!