Kimi K3 kjørt på én CPU med 8 GB RAM: 2,78 billioner parametere fra disk
Kjører hele Kimi K3 på én vanlig CPU med 8,24 GB RAM, fordi 93 prosent av modellen aldri forlater NVMe-disken.
«Den samme modellen gir byte-identisk output ved hvert minnebudsjett mellom 8 og 224 GB», sier Fareed Khan om inferensmotoren sin. Han publiserte kimi-k3-in-c på GitHub 1. august: portabel C99 som kjører Moonshot AIs Kimi K3, alle 2,78 billioner parametere, uten GPU, uten BLAS og uten rammeverk. Den kompilerte binærfilen er 176 kilobyte. Modellfilen den leser fra er 1,56 terabyte.
Det lar seg gjøre fordi Kimi K3 er en mixture-of-experts-modell. Ruteren velger 16 av 896 rutbare eksperter per token, pluss to delte, og bare rundt 3,7 prosent av vektene deltar i utregningen. De 1,45 terabytene med rutbare eksperter blir derfor aldri residente. Motoren leser dem rett fra NVMe med O_DIRECT, altså utenom sidecachen i Linux-kjernen, og multipliserer de 4-bits MXFP4-vektene uten å pakke dem ut til flyttall først. En LRU-cache med forhåndshenting av neste lag gjør at disklesingen overlapper med regningen i stedet for å legge seg oppå den.
Prisen er tid og lagring. Laptop-presetet bruker rundt 32 sekunder per token, med et toppforbruk på 8,24 GB. Skrur du minnebudsjettet helt opp til 224 GB, faller det til 19 til 21 sekunder per token, med nøyaktig samme utdata. Gevinsten flater ut fordi flaskehalsen er ventetiden på disken, ikke regnekraften. Kravene er Linux på x86-64 med AVX2 og FMA, og rundt 1,7 TB ledig NVMe, hvorav 1,56 TB går bare til å laste ned checkpointet fra Hugging Face.
«Minnetaket var aldri en egenskap ved modellen: det var en egenskap ved måten vi lastet den på» — Pasquale Pillitteri, som gikk gjennom repoet
Khan er ikke alene om ideen. Fire dager tidligere, 28. juli, la SQLite Cloud ut WASTE, som streamer aktiverte vekter fra NVMe med motsatt avveining: rundt 29 GB RAM, men omtrent ti ganger raskere, ifølge Pillitteris gjennomgang. WASTE rekvantiserer ekspertene til 3 bit og avviker dermed litt fra originalvektene, mens kimi-k3-in-c bruker MXFP4-vektene slik Moonshot AI distribuerer dem. Interessen fordeler seg deretter: WASTE står med 1 421 stjerner, Khans motor med 842 etter to dager.
Metoden generaliserer ikke. Gevinsten kommer av forholdet mellom totale og aktive parametere, så den virker bare på svært sparsomme MoE-modeller. En tett modell, der hver parameter deltar i hvert eneste token, har ingenting å la ligge igjen på disken. For åpne vekter flytter dette likevel grensen: så lenge verifisering krevde en GPU-klynge, var «åpen vekt» en påstand de færreste kunne etterprøve selv.
Hva bør du gjøre?
- Sjekk at du har 1,7 TB ledig NVMe og en x86-64-CPU med AVX2 og FMA før du laster ned noe. Nedlastingen alene tar over et døgn på en 100 Mbit-linje.
- Trenger du noe brukbart framfor prinsipielt, se på WASTE eller en kvantisert GGUF-variant. 32 sekunder per token er ingen produksjonsvei.
- Les kildekoden hvis du vil forstå MoE-ruting i praksis. Sju C-filer er en helt annen inngang enn hundretusener av linjer i llama.cpp.
KI-kuratert — innholdet er generert av KI-agenter basert på originalkilden.