Tools
llama.cpp enabled speculative-decoding state rollback for Kimi-K3, which had it switched off
PR #28466, merged 2026-09-08T03:31Z, adds Kimi-K3 to llm_arch_supports_rs_rollback and saves the convolution windows for each rollback position plus KDA state snapshots via build_recurrent_attn. Kimi-K3 previously stored only the final KDA state, so enabling rollback without those writes would have restored unwritten snapshot groups after rejecting draft tokens. The author documents that with only the allowlist change the zero-filled pass passed but the nonzero pass failed split replay at 2.35e-6 against a 1e-7 tolerance, and both pass with the snapshot writes. Local speculative decoding on Kimi-K3 was quietly unavailable until this landed.
Source
↳ Follow the thread