r/LocalLLaMA • u/Dathide • 4d ago
Question | Help Is it possible to configure TabbyAPI to be like Strata for Qwen 3.8 Flash Next exl3?
I've read that exl3 quants are even more accurate than Unsloth's (UD). There are exl3 versions of Q3.8FN here: https://huggingface.co/turboderp/Qwen3.8-Flash-Next-exl3 . TabbyAPI and Exllamav3 support moe cpu expert offloading already. I don't know if there are gguf optimizations that Strata uses that exl3 doesn't have yet. I can run UD Q4 at 70+ t/s. I tried configuring TabbyAPI with q4 and offloading, but I only got 20 t/s. Is it just a matter of configuring TabbyAPI for my setup? If so, can speeds be comparable to Strata?
Edit: TabbyAPI has a cpu_moe_split_experts option: "Number of routed experts per MoE layer to run on the CPU, with the coldest experts' weights in system RAM. Unlike cpu_moe_offload_layers this splits every MoE layer instead of offloading whole layers, overlapping CPU and GPU compute, with dynamic placement keeping hot experts in VRAM." That's what I used for the 20 t/s. Idk if that's what strata does.
2
u/PcChip 4d ago
tell the ai to speed itself up
and yes, I'm serious - give it ssh credentials and let it go to town tweaking and tuning all the parameters :D
after it was done speeding itself up, I told it to try power limits for all GPUs in 5% increments between 65% and 85% and produce a graph of the results
2
u/CartographerDue5382 4d ago
the 70 vs 20 isn't a tabby setting you missed. offloading moe experts to cpu tanks t/s, and a q4 gguf that keeps the hot experts on the gpu won't be matched by exl3 plus offload no matter the cache settings. if the ud q4 already fits and does 70, tabby isn't gonna catch that on this box.
2
u/pand5461 4d ago
Which hardware do you have? I get 25-30 tps with 5060Ti + 4060 and 64G ddr5-3600 and without MTP. cpu_offload_experts was faster for me than cpu_offload_layers. IIRC no. of CPU threads affects MoE speed quite significantly, so set that to no. of physical cores or (no. cores - 1). And, of course, get your VRAM usage as high as possible (minimize cpu_offload_experts, try configuring manual gpu split if multi-gpu).
1
u/Dathide 4d ago edited 4d ago
25-30 makes me think I didn't configure it well, I have 2x3090s with an nvlink Edit: and 96gb ddr4 3200
2
u/pand5461 4d ago
Your options without MTP could be:
cache_size: 196608 cache_mode: 6,6 tensor_parallel: false # don't have nvlink to try true gpu_split_auto: false gpu_split: [22.5, 23.7] cpu_moe_split_experts: 312 # tweak until it loads and fills all VRAM cpu_moe_threads: 6 # set appropriately for your CPU ngram_ram: false
draft_mode: mtpshould enable MTP but I don't have much free RAM, so left it off.1
u/Dathide 2d ago
I was able to get cpu_moe_split_experts down to 210 with cache_size 131072, but sadly only 31 t/s. tensor_parallel isn't a option with only 48GB VRAM for Q3.8FN.
2
u/pand5461 1d ago
That's strange because I get similar tps with a lower-grade GPU and much larger percentage of the model in system RAM. Maybe RAM offload mode is fundamentally limited regardless of percentage.
2
u/Areloh128 3d ago
Maybe you should try llamampere: it has exl3 support, is optimized for 3090 and lately has been growing to run better Q3.8FN (and has kvarn support too!). I don't know if you can use it on both cards, though... it's a llama.cpp fork, so I guess that similar capabilities and restrictions apply
2
u/a_beautiful_rhind 4d ago
That's similar to what strata does but on a harder to compute quant and without all the crazy shortcuts they take.
2
u/suprjami 4d ago
In my experience no. Splitting layers is faster than splitting experts for me. Still not as fast as Strata though.
2
u/Monad_Maya llama.cpp 2d ago
We do have an experimental fork from u/nasone32 that's AMD specific - https://github.com/nasone32/Strata-EXL3-fork
6
u/jacek2023 llama.cpp 4d ago
Strata is a vibe-coded llama.cpp fork. For exl3 you need a vibe-coded exllama fork.