Finally! 🎉

#1
by agikeen - opened

Finally got the Unsloth-quantized DeepSeek-V4-Flash! Huge thanks to the team — amazing work as always. 🦥🚀

Unsloth AI org

Not finalized yet, please wait for our announcement :)

Hey guys it's finally here and ready to run!! We found DeepSeek-V4 issues in llama.cpp that caused gibberish after the 2nd turn. The cause was broken prompt caching. To run correctly, please use the latest llama.cpp version.
We also improved the DeepSeek-V4 chat jinja template, and tested over 4000 conversations to be equivalent with the official baseline.

Guide: https://unsloth.ai/docs/models/deepseek-v4
GGUF: https://huggingface.co/unsloth/DeepSeek-V4-Flash-GGUF

You can run DeepSeek-V4-Flash with all our fixes and Thinking toggles via Unsloth Studio:
deepseek-v4-flash in unsloth studio

llama.cpp added DeepSeek V4 support in #24162 - we noticed that when using any GGUF from any provider, multi turn conversations would not function well when compared to DS4's Hugging Face baseline. llama.cpp uses --ctx-checkpoints N which allowed it to do prefix caching to save inference costs. Instead of re-processing every prompt again on the 2nd, nth ask, we can use KV caching. However we found DS4 needed --ctx-checkpoints 0 or else you will get gibberish. Please use the latest version of llama.cpp to get fixes.

Engine Score Calculation Tool selection Parallel Tools Multi Turn tools Nested tools
Official code 15/15 3 3 3 3 3
Any provider 4/15 1 2 0 0 1
After our fix 15/15 3 2 3 3 3

Thanks guys and feel free to support our Tweet, Linkedin post or Reddit post

CC: @Roland26 @adeebaldkheel @scorpionshoes @Maternion @Linukso1D @ParadigmComplex @agikeen @elpirater312 @maglat @JermemyHaschal @QyrouNnet-AI @Nooalt @agikeen

Hey hey @danielhanchen ,

I am a bit curious and need advice. (My setup is 8 RTX3090s)
Before official llama.cpp received the fixes I ran your Q8 GGUF with following llama.cpp fork https://github.com/fairydreaming/llama.cpp.git

With that fork, I am able to let it run Q8 GGUF at 350k context with -b 2048 -ub256

Now I tried to run the same Q8 GGUF with the latest llama.cpp official release I get OOM with the same startup command. I have to lower the context to 100k to get it running.

This is my startup command I use with llama fork is as follows.

./build/bin/llama-server
-m /mnt/extra/models/deepseek4flash/DeepSeek-V4-Flash-UD-Q8_K_XL-00001-of-00005.gguf
--host 0.0.0.0
--port 8788
--alias MainLLM
-ngl 99
-fa on
--no-mmap
--jinja
--ctx-checkpoints 0
-c 250000
-b 2048
-ub 256
--cache-type-k q8_0
--cache-type-v q8_0
--parallel 1

Sign up or log in to comment