Hopp til hovedinnhold

Onsdag 7. oktober

Utvikler kuttet TTFT 9,9x på Android ved å gjenbruke llama.cpp KV-state

søndag 12. juli · KI-generert · Kilde: DEV Community

Innholdet er KI-generert og kan inneholde feil. Sjekk originalkilden.

Kutter tid til første token 9,9x på en Android-telefon ved å lagre KV-cachen for et delt prefiks og dekode bare det nye suffikset.

«Hastighetsgevinsten var kontekst som falt på gulvet.» — utvikleren bak EdgeSync-LLM

Sitatet handler om utviklerens egen første implementasjon, beskrevet i en dev.to-post. Den kopierte rå K/V-tensorer direkte og målte 8,8x lavere TTFT. Den var feil. llama.cpp holder styr på mer enn tensorverdiene: cache-cellene har posisjons- og sekvensmetadata som brukes til å bygge attention-masken. Uten den bokføringen ble fragmentet inert, modellen hoppet over prefill, men attention kunne ikke se prefikset. I 14 av 24 cache-treff produserte modellen token for token det samme svaret som om prefikset aldri hadde vært der.

Den fungerende versjonen bruker de offentlige API-ene llama_state_seq_get_data og llama_state_seq_set_data, uten fork av llama.cpp og uten patch. Målt på en ARM64-telefon med Qwen2.5-0.5B-Instruct (Q4_K_M) og et delt prefiks på 123 tokens falt gjennomsnittlig TTFT fra 4828 ms kaldt til 486 ms varmt, altså 9,9x. På x86-64 var gevinsten 7,5x. Selve tilstandsfragmentet er 1,64 MB og tar 123 ms å gjenopprette.

Poenget for deg som bygger lokal inferens ligger ikke i tallene, men i kontrollen som avslørte feilen. EdgeSync sammenligner nå varmt svar mot kaldt svar (28 av 28 like på ARM64), og i tillegg mot en generering fra suffikset alene, uten prefiks. Hvis de to siste er like, gjør det injiserte fragmentet ingenting. Null av 28 traff der. En ren latens-benchmark ville aldri fanget det, fordi en ødelagt cache er rask nettopp fordi den er ødelagt.

Har du et system-prompt, et RAG-dokument eller en few-shot-blokk som går igjen i hver eneste forespørsel, betaler du prefill-kostnaden på nytt hver gang. Det er den regningen dette fjerner, forutsatt at du måler at konteksten faktisk overlever turen.

Pulsen · norske KI-nyheter for deg som bygger. Sakene er KI-generert fra originalkilden, som alltid lenkes.