4 ms·
I created a patch for llama.cpp to store on disk instead of deleting the kv cache as well as the checkpoints... there is this bug on llama.cpp if you have more
by xlayn 4mo ago
I created a patch for llama.cpp to store on disk instead of deleting the kv cache as well as the checkpoints... there is this bug on llama.cpp if you have more than one instance going on of chats... and that causes the kv cache to be lost between changes of chat...
And I can tell you, using Qwen3.627B after one day of use you can have 120-200Gb of chats on disk.
And yes it's way way faster, even if you get it from a spinning disk it's still faster than re-computing the whole thing...
I guess for a 300B parameter or more and couple million users with the price of storage increasing as part of ramagedon this is also not viable...
- zozbot234 4mo agoQwen 27B maxes out at a 16GB context. A nice thing about DeepSeek V4, especially Flash, is that its context size stays tiny even at 1M tokens! Which in turn opens up wide batching on common consumer platforms.
- lostmsu 4mo agoDeepSeek V4 Flash is 160GB while Qwen 27B is about 27GB. You can't even run DS Flash on consumer platforms, let alone batch it.
- zozbot234 4mo agoThese are the sizes of model weights, not the KV cache. The former are a sparse (for MoE models) read workload that can be streamed from SSD.
- lostmsu 4mo agoYou can't batch MoE
- zozbot234 4mo agoYou need wider batches to get effective reuse of experts in any given layer, but you absolutely can. DeepSeek V4 has tiny KV caches that make this quite feasible. When targeting consumer platforms that only have a limited amount of compute headroom to begin with, the approach is quite reasonable.
- lostmsu 4mo agoSounds like you're talking out of your butt instead of doing the math.
- zozbot234 4mo agoWhat do you mean by doing the math? If you repeatedly sample n_active experts out of n_total, why wouldn't you expect to get some meaningful probability of reuse/overlap once your batch grows past size 5 or so (for the sparsest MoE models in common use)? And you only need enough reuse to fill the compute headroom which is quite small on consumer platforms (we won't have huge TOPS numbers for the typical integrated GPU in Strix Halo or even the upcoming RTX Spark). Plus if you're a single user running multiple streams in parallel the choice of experts will be highly biased leading to more reuse.
- lostmsu 4mo agoYeah, that's what talking out of your butt is literally. "theoretical", no ballparks, ignorant assumptions about expert reuse.
- zozbot234 4mo agoThere's been some very rough experiments with batching on Apple Silicon (and that's not a highly suitable platform since the compute/thermals bottleneck hits sooner than elsewhere) that seem to be broadly consistent with what I argued, showing as much as 2x total decode throughput with an 8-wide batch. That's substantial in this context.