Replies: 6 comments
-
|
If faster streamed 1T is your goal, would you mind testing with #2101's I am not sure if adding In my own testing, I don't think one should drop below N=6, the quality loss isn't really worth it, especially with quantization. Though YMMV. |
Beta Was this translation helpful? Give feedback.
-
|
The
If you just re-enable it, you are basically getting lucky that it did not crash. If it did not crash, the inference result may or may not have anything to do with the expected result. |
Beta Was this translation helpful? Give feedback.
-
|
Thanks both, that clears it up. Confirmed on our end.
(TG is the mean of 2 sweep-bench runs, On |
Beta Was this translation helpful? Give feedback.
-
|
If you do wish to do a re-run for the expert prefetching, it would be helpful to know more about the hardware you're using (cpu, drive, etc..) and the command you use before I can recommend anything. |
Beta Was this translation helpful? Give feedback.
-
|
Sure, here's the setup. Hardware is a dual-socket Intel Xeon Platinum 8260 (Cascade Lake, 24 cores / 48 threads per socket, 96 The run is CPU-only ( The baseline is the same line without |
Beta Was this translation helpful? Give feedback.
-
|
Considering you don't have offloading (and are using unique hardware), I'm not sure how much prefetching will improve your performance. You can try experimenting with
Though, if none of these really help for you I think its just a hardware setup problem. The feature is useful in hybrid setups because prefetching occurs on the CPU while the GPU is busy computing the current batch, making page cache warming practically free. On CPU-only you don't really have idle headroom, so the prefetch threads are likely competing with your computing threads for the same cores and memory bandwidth rather than overlapping with anything. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
We run large MoE from Optane on a box with 376 GiB RAM, CPU only. Kimi-K2.7 (~378 GiB) does not fit, so its routed experts stream per token while the fixed weights (attention, shared expert, dense, output) and the KV cache stay resident. Cutting active experts looked like the obvious speed lever, so we tried
-ser. (We also tested GLM-5.2 IQ4_XS at ~337 GiB, which fits in RAM, so we only force-streamed it with a memory cgroup where noted.) Two things we are unsure about.-serseems to be a no-op on current main. Output and timings are identical with and without it. Various fused ops around expert selection #840 moved expert selection to the fusedggml_top_kpath and theggml_top_k_threshcall inllm_build_moe_ffnlooks left commented out, so the flag parses but the graph appears unchanged. Intentional, or did we misread it?When we patched it back on to test the idea, it did not pan out. We restored the thresh path and guarded two ops that do not skip the
-1dropped-expert sentinel (add_idgpt-oss,mul_multi_addGemma4). Then we measured top-1 token agreement on a private 2026 codebase (n=24 chunks), not wikitext, where dropping experts had looked misleadingly free:Even the mildest setting cost ~7-10 points, on both what looks like a peaked router (Kimi) and a flatter one (GLM). On speed, for the model that genuinely streams (Kimi at 378 GiB, over our 376 GiB RAM), the mild settings bought only ~+8-19% TG (roughly 1.5 to 1.8 tok/s). We could get more, around 2.2x at the aggressive keep-2 setting, but only there, where agreement fell to ~55% and the code clearly degraded. For our goal of faster streamed 1T without hurting code quality, the safe settings barely helped, and the ones that were actually fast weren't safe.
Could easily be us:
-serwrong?Happy to share the commands, the harness, and the raw numbers if that helps.
Beta Was this translation helpful? Give feedback.
All reactions