llama.cpp kan nu köra Kimi-K3.1-Pro, men än så länge bara text
Med version b12180 av llama.cpp kan Kimi-K3.1-Pro köras på egen hårdvara. Stödet gäller än så länge bara text.
Projektet llama.cpp publicerade version b12180 på GitHub den 6 november 2026. llama.cpp är ett program med öppen källkod för att köra språkmodeller på egen hårdvara. Konverteraren i llama.cpp utelämnar bildprojektorn och den del av Kimi-K3.1-Pro som hanterar bilder. Därför är modellen än så länge en ren textmodell, står det i versionsmeddelandet.
Enligt beskrivningen av ändringen bygger K3.1 på föregångaren Kimi K3. Skillnaden är att MLA-lagren som beräknar full attention har ersatts av DSA-lager som använder gles attention. Med gles attention poängsätter en lätt indexerare tidigare token, och modellen beräknar attention bara för dem som fått högst poäng.
I den här viktversionen finns indexeraren i 24 av modellens 93 lager, och den väljer 2 048 token. Övriga delar är oförändrade, till exempel KDA-lagren som använder linjär attention. Därför använder llama.cpp beräkningen från K3 och lägger till indexeraren.
Indexerarens urval genomförs som en mask över hela cachen. De valda raderna plockas inte ut separat. På så sätt kan modellen använda den befintliga glesa flash attention-beräkningen i llama.cpp. Om beräkningen inte går den vägen blir resultatet fortfarande korrekt, men attention beräknas ändå över hela cachen.
I en MoE-modell bearbetas varje token av bara en del av modellens delnätverk, så kallade experter. De routade experterna i K3.1 behåller samma 4-bitarsformat, MXFP4, som i K3 och packas inte upp till ett mer exakt format. Tensorspecifika kvantiseringsregler tillämpas inte på indexerarens tre tensorer, eftersom urvalet av token är känsligt för deras precision.
Ändringens författare testade stödet på ett utsnitt med 8 av modellens lager, inte på hela modellen. Som jämförelse användes modellens viktversion på Hugging Face. Enligt författaren stämde 38 tensorer exakt, och indexerarens metadata motsvarade modellens inställningar.
Urvalet jämfördes också med full attention genom perplexitet. Perplexitet mäter hur väl modellen förutsäger text. När antalet token att välja var större än kontexten blev resultatet detsamma som med full attention. När antalet tvingades under kontextens längd skilde sig resultaten åt.
Färdiga programfiler finns på GitHub för macOS, Linux, Windows och Android, bland annat i versioner för CPU, CUDA, Vulkan och ROCm. Modellvikterna från Hugging Face måste först konverteras med konverteraren i llama.cpp.
Läs mer: Modeller