llama.cpp osaa nyt ajaa Kimi-K3.1-Pro-mallia, mutta toistaiseksi vain tekstiä
llama.cpp:n versiolla b12180 Kimi-K3.1-Pro-mallia voi ajaa omalla laitteistolla. Tuki koskee toistaiseksi vain tekstiä.
llama.cpp-projekti julkaisi version b12180 GitHubissa 6. marraskuuta. llama.cpp on avoimen lähdekoodin ohjelma, jolla kielimalleja voi ajaa omalla laitteistolla. llama.cpp:n muunnin jättää Kimi-K3.1-Prosta pois kuvia käsittelevän osan ja kuvaprojektorin. Versiotiedotteen mukaan malli on siksi toistaiseksi pelkkä tekstimalli.
Muutoksen kuvauksen mukaan K3.1 rakentuu edeltäjänsä Kimi K3:n pohjalle, mutta täyttä huomiota laskevat MLA-kerrokset on korvattu harvaa huomiota käyttävillä DSA-kerroksilla. Harvassa huomiossa kevyt indeksoija pisteyttää aiemmat tokenit, ja malli laskee huomion vain parhaat pisteet saaneille.
Tässä painoversiossa indeksoija on 24:ssä mallin 93 kerroksesta, ja se valitsee 2 048 tokenia. Muut osat ovat ennallaan, esimerkiksi lineaarista huomiota käyttävät KDA-kerrokset. Siksi llama.cpp käyttää K3:n laskentaa ja lisää siihen indeksoijan.
Indeksoijan valinta toteutetaan koko välimuistin kattavana maskina. Valittuja rivejä ei poimita erikseen. Näin malli voi käyttää llama.cpp:n valmista harvaa flash attention -laskentaa. Jos laskenta ei kulje sitä kautta, tulos pysyy oikeana, mutta huomio lasketaan silti koko välimuistista.
MoE-mallissa jokaista tokenia käsittelee vain osa mallin osaverkoista eli asiantuntijoista. K3.1:n reititetyt asiantuntijat pysyvät samassa 4-bittisessä MXFP4-muodossa kuin K3:ssa, eikä niitä pureta tarkempaan muotoon. Indeksoijan kolmeen tensoriin ei sovelleta tensorikohtaisia kvantisointisääntöjä, koska tokenien valinta on herkkä niiden tarkkuudelle.
Muutoksen tekijä testasi tukea mallin 8 kerroksen osalla, ei koko mallilla. Vertailukohtana oli mallin Hugging Face -painoversio. Tekijän mukaan 38 tensoria täsmäsi tarkasti, ja indeksoijan metatiedot vastasivat mallin asetuksia.
Valintaa verrattiin myös täyteen huomioon perpleksiteetillä. Perpleksiteetti mittaa, kuinka hyvin malli ennustaa tekstiä. Kun valittavia tokeneita oli enemmän kuin kontekstissa, tulos oli sama kuin täydellä huomiolla. Kun määrä pakotettiin kontekstia pienemmäksi, tulokset erosivat.
Valmiit ohjelmatiedostot ovat jaossa GitHubissa macOS:lle, Linuxille, Windowsille ja Androidille, muun muassa CPU-, CUDA-, Vulkan- ja ROCm-versioina. Mallin Hugging Face -painot pitää ensin muuntaa llama.cpp:n muuntimella.
Lue lisää: Mallit