Cruz (@ViC305) header
Cruz (@ViC305) profile picture

God-fearing husband & father. AI Engineer. Fine-tuning + day-zero EXL3 & GGUF quants + benchmarks • Local LLMs • honest tok/s • fitting big models on small GPUs

Joined June 2009
Photo by Cruz (@ViC305)Photo by Cruz (@ViC305)Photo by Cruz (@ViC305)Photo by Cruz (@ViC305)Photo by Cruz (@ViC305)Photo by Cruz (@ViC305)Photo by Cruz (@ViC305)Photo by Cruz (@ViC305)Photo by Cruz (@ViC305)Photo by Cruz (@ViC305)
Qwen3.8-Flash-Next on one DGX Spark: @MiaAI_lab's TensorFold recipe decodes code at 43.2 tok/s, @ViC305's two-model EXL3 recipe at 58.4 tok/s. Setup: – Same voxel-world prompt, both as an agent in Qwen Code 0.25.2, one prompt, one try, no help, thinking on – Context: 262,144 tokens – Mia's recipe: NVFP4 with MTP on @ashxhart's TensorFold, 5 slots, answer limit 131,072 tokens – ViC305's recipe: EXL3 3.05 bpw on ExLlamaV3 and TabbyAPI, 1 slot, answer limit 262,144 tokens, MiniCPM 4.7 loaded beside it Mia's recipe, world Aetherfall: – Decode, code: 43.2 tok/s – 500 words: about 16.9 s – 8 requests at once: 87.6 tok/s in total – Reading a 32K-token prompt: 2,163 tok/s – Memory at 262,144 tokens of context: 87.01 GiB – Agent time: 108.6 min – Browser check: 8.5/10 ViC305's recipe, world AETHERFALL: – Decode, code: 58.4 tok/s – 500 words: about 12.6 s – 8 requests at once: 41.5 tok/s in total – Reading a 32K-token prompt: 662 tok/s – Memory with both models loaded, 125,892-token prompt: 87.0 GiB – Agent time: 60.9 min – Browser check: 8.5/10 Quality: – MMLU-Pro: 68.3% against 67.3% – LiveCodeBench: 62.5% against 65.0% – GPQA with thinking: 70.0% for both (30 questions, ± 15.6 points) Mia's recipe is the stronger setup for parallel work and long prompts, and I like its world better. ViC305's decodes a single request about 35% faster. Good to know: – Different quants and engines, and different answer limits, so the agent times do not compare the models alone. – Mia's 8-at-once total comes from a second Spark. The author's README shows 88.6 tok/s for code; my fixed code prompt is mostly prose. – ViC305's memory number comes from a test up to a 125,892-token prompt, Mia's from the full 262,144. Play both worlds in your browser. All numbers, the exact command and the raw output: Mia's recipe: niklaslenz.com/v2/qwen38-fla… ViC305's recipe: niklaslenz.com/v2/qwen38-fla… Recipe by @MiaAI_lab on @ashxhart's TensorFold, model by @Alibaba_Qwen. Recipe, MiniCPM quant and engine forks by @ViC305, EXL3 quant by @turboderp_.
9
1
24
1,779
🔥 MiniMax M3.1 Flash (428B) on 2 NVIDIA DGX Sparks, TP2 over RoCE 🧠 Quant by @ViC305 (SAGE EXL3 2.15 bpw) 🙌 📏 300K context, 726K KV pool 🏎️ Up to 39 tok/s single stream, 65-78 tok/s at 4 users 🛠️ 2 vLLM-EXL3 patches for TP2 Recipe + benchmarks 👇 github.com/tonyd2wild/MiniMa…
10
6
46
3,153
Cruz retweeted
🚨 𝗜 𝗝𝗨𝗦𝗧 𝗔𝗖𝗛𝗜𝗘𝗩𝗘𝗗 𝗦𝗢𝗠𝗘𝗧𝗛𝗜𝗡𝗚 𝗜𝗡𝗖𝗥𝗘𝗗𝗜𝗕𝗟𝗘 𝗢𝗡 𝗢𝗡𝗘 𝗗𝗚𝗫 𝗦𝗣𝗔𝗥𝗞! 🧪🔥 With the support of @AWERXAI, I'm excited to release something VERY special for the local AI community! 🧠 @deepseek_ai 𝗗𝗲𝗲𝗽𝗦𝗲𝗲𝗸 𝗩𝟰.𝟭 𝗙𝗹𝗮𝘀𝗵 𝟭𝟬𝟭𝟳 📦 𝗦𝗔𝗚𝗘-𝗘𝗫𝗟𝟯 𝗮𝘁 𝗷𝘂𝘀𝘁 𝟭.𝟲𝟮 𝗯𝗽𝘄 𝗲𝘅𝗽𝗲𝗿𝘁𝘀 💻 𝟵𝟵.𝟲𝟭% 𝗖𝗢𝗗𝗘 𝗮𝗻𝘀𝘄𝗲𝗿-𝘁𝗼𝗸𝗲𝗻 𝗮𝗴𝗿𝗲𝗲𝗺𝗲𝗻𝘁! ⚡ 𝟯𝟱.𝟱 𝘁𝗼𝗸/𝘀 𝗱𝗲𝗰𝗼𝗱𝗲 𝗼𝗻 𝘃𝗟𝗟𝗠! 🚀 𝟭,𝟭𝟴𝟵 𝘁𝗼𝗸/𝘀 𝗠𝗔𝗫 𝗣𝗥𝗘𝗙𝗜𝗟𝗟! 🧠 𝟮𝟮𝟵𝗞 𝗖𝗧𝗫 (𝘀𝘁𝗶𝗹𝗹 𝘄𝗼𝗿𝗸𝗶𝗻𝗴 𝘁𝗼 𝗽𝘂𝘀𝗵 𝗶𝘁 𝗳𝘂𝗿𝘁𝗵𝗲𝗿!) 𝗔𝗟𝗟 𝗢𝗡 𝗢𝗡𝗘. 𝗗𝗚𝗫. 𝗦𝗣𝗔𝗥𝗞. 🤯 And YES, the quantized weights are AVAILABLE NOW! 💚 ━━━━━━━━━━━━━━━━━━━━ 🧪 𝗧𝗛𝗘 𝗟𝗔𝗦𝗧 𝟳𝟮 𝗛𝗢𝗨𝗥𝗦 𝗛𝗔𝗩𝗘 𝗕𝗘𝗘𝗡 𝗜𝗡𝗦𝗔𝗡𝗘! Just a few days ago, I published my article about @nvidiaai's FP4-Local format: The Good, The Bad & The Ugly. One thing really stuck with me... NVIDIA demonstrated what was possible when aggressive quantization and intelligent optimization come together. But there's a problem. 𝗥𝗘𝗣𝗥𝗢𝗗𝗨𝗖𝗜𝗡𝗚 𝗠𝗔𝗦𝗦𝗜𝗩𝗘 𝗤𝗨𝗔𝗡𝗧𝗜𝗭𝗔𝗧𝗜𝗢𝗡 𝗧𝗥𝗔𝗜𝗡𝗜𝗡𝗚 𝗣𝗜𝗣𝗘𝗟𝗜𝗡𝗘𝗦 𝗜𝗦 𝗢𝗨𝗧 𝗢𝗙 𝗥𝗘𝗔𝗖𝗛 𝗙𝗢𝗥 𝗠𝗢𝗦𝗧 𝗟𝗢𝗖𝗔𝗟 𝗔𝗜 𝗘𝗡𝗧𝗛𝗨𝗦𝗜𝗔𝗦𝗧𝗦. That inspired me. I've been developing my own SAGE-EXL3 process, and I wanted to see just how far I could push the latest DeepSeek Flash release while keeping the results accessible to the community. So I spent the last 72 hours pushing the limits. And the results genuinely surprised me! 🔥 ━━━━━━━━━━━━━━━━━━━━ 🏆 𝗧𝗛𝗘 𝗥𝗘𝗦𝗨𝗟𝗧𝗦 𝗔𝗥𝗘 𝗖𝗥𝗔𝗭𝗬! I measured my 1.62 bpw expert quant against DeepSeek's native FP4 release checkpoint using held-out sequences and full-vocabulary token predictions. And when I saw the CODE results, I could barely believe it! 🧪 𝗙𝗜𝗗𝗘𝗟𝗜𝗧𝗬 𝗩𝗦 𝗗𝗘𝗘𝗣𝗦𝗘𝗘𝗞'𝗦 𝗡𝗔𝗧𝗜𝗩𝗘 𝗙𝗣𝟴/𝗙𝗣𝟰 𝗥𝗘𝗟𝗘𝗔𝗦𝗘 💻 𝗖𝗢𝗗𝗘 — 𝗛𝘂𝗺𝗮𝗻𝗘𝘃𝗮𝗹 ✅ 99.08% Top-1 Agreement ✅ 𝟵𝟵.𝟲𝟭% 𝗔𝗡𝗦𝗪𝗘𝗥-𝗢𝗡𝗟𝗬 𝗔𝗚𝗥𝗘𝗘𝗠𝗘𝗡𝗧! ✅ KL Divergence: 0.0186 🧠 𝗥𝗘𝗔𝗦𝗢𝗡𝗜𝗡𝗚 — 𝗠𝗔𝗧𝗛-𝟱𝟬𝟬 ✅ 96.04% Top-1 Agreement ✅ 97.98% Answer-Only Agreement ✅ KL Divergence: 0.0349 🔢 𝗠𝗔𝗧𝗛 — 𝗚𝗦𝗠𝟴𝗞 ✅ 95.56% Top-1 Agreement ✅ 94.19% Answer-Only Agreement ✅ KL Divergence: 0.0477 📊 𝗢𝗩𝗘𝗥𝗔𝗟𝗟 𝗛𝗘𝗟𝗗-𝗢𝗨𝗧 𝗙𝗜𝗗𝗘𝗟𝗜𝗧𝗬 🏆 94.52% Top-1 Agreement 📉 Mean KL: 0.0982 🎯 Median KL: 0.00019 𝗡𝗘𝗔𝗥-𝗟𝗢𝗦𝗦𝗟𝗘𝗦𝗦 𝗖𝗢𝗗𝗘 𝗧𝗢𝗞𝗘𝗡 𝗙𝗜𝗗𝗘𝗟𝗜𝗧𝗬 𝗔𝗧 𝗝𝗨𝗦𝗧 𝟭.𝟲𝟮 𝗕𝗣𝗪 𝗘𝗫𝗣𝗘𝗥𝗧𝗦! 🤯 These are direct teacher-forced fidelity measurements against native FP8, not task-level pass rates. But seeing this level of agreement at such aggressive compression is EXACTLY what I was working toward! ━━━━━━━━━━━━━━━━━━━━ ⚡ 𝗔𝗡𝗗 𝗬𝗘𝗦, 𝗜𝗧 𝗔𝗖𝗧𝗨𝗔𝗟𝗟𝗬 𝗥𝗨𝗡𝗦 𝗢𝗡 𝗢𝗡𝗘 𝗦𝗣𝗔𝗥𝗞! Not two Sparks. Not four Sparks. Not an expensive rented GPU cluster. 𝗢𝗡𝗘 𝟭𝟮𝟴𝗚𝗕 𝗗𝗚𝗫 𝗦𝗣𝗔𝗥𝗞. My latest vLLM measurements: ⚡ Decode: 35.5 tok/s 🚀 Maximum measured prefill: 1,189 tok/s For a model this large, compressed this aggressively, and maintaining this level of fidelity... 𝗧𝗛𝗔𝗧'𝗦 𝗔 𝗕𝗜𝗚 𝗗𝗘𝗔𝗟 𝗙𝗢𝗥 𝗟𝗢𝗖𝗔𝗟 𝗔𝗜! 💚 And remember, 1.62 bpw refers to the routed experts, not every parameter in the full model. ━━━━━━━━━━━━━━━━━━━━ 💚 𝗪𝗛𝗬 𝗧𝗛𝗜𝗦 𝗠𝗔𝗧𝗧𝗘𝗥𝗦. I have a simple goal. 𝗠𝗔𝗞𝗘 𝗣𝗢𝗪𝗘𝗥𝗙𝗨𝗟 𝗔𝗜 𝗔𝗖𝗖𝗘𝗦𝗦𝗜𝗕𝗟𝗘 𝗧𝗢 𝗣𝗘𝗢𝗣𝗟𝗘 𝗪𝗛𝗢 𝗗𝗢𝗡'𝗧 𝗛𝗔𝗩𝗘 𝗔𝗖𝗖𝗘𝗦𝗦 𝗧𝗢 𝗗𝗔𝗧𝗔𝗖𝗘𝗡𝗧𝗘𝗥𝗦. I don't want the future of local AI to be determined by who can rent the most GPUs or afford the largest training runs. I want developers, independent researchers and enthusiasts to have the freedom to experiment, quantize, optimize and run powerful models on hardware they actually OWN. NVIDIA's FP4-Local research showed me just how much potential remains in aggressive quantization. My goal with SAGE-EXL3 is to keep pushing that frontier while making advanced quantization more practical for the wider community. Today, I'm sharing the quantized checkpoint and the one-Spark serving recipe. 𝗧𝗛𝗜𝗦 𝗜𝗦 𝗝𝗨𝗦𝗧 𝗧𝗛𝗘 𝗕𝗘𝗚𝗜𝗡𝗡𝗜𝗡𝗚. ━━━━━━━━━━━━━━━━━━━━ 🧪 𝗡𝗢𝗪 𝗙𝗢𝗥 𝗧𝗛𝗘 𝗥𝗘𝗔𝗟 𝗧𝗘𝗦𝗧! The token-level fidelity results are incredible, but I'm not stopping there. I'm currently running a broader evaluation campaign to measure how closely this quant preserves the native FP8 model's actual task performance. 💻 HumanEval+ / MBPP+ 🧠 MMLU-Pro STEM / MATH-500 🔬 SciCode / LiveCodeBench 🔧 BFCL / Multi-step tool chains 🌍 MGSM 𝗧𝗛𝗘 𝗚𝗢𝗔𝗟 𝗜𝗦 𝗧𝗢 𝗣𝗥𝗢𝗩𝗘 𝗧𝗛𝗔𝗧 𝗔𝗚𝗚𝗥𝗘𝗦𝗦𝗜𝗩𝗘 𝗖𝗢𝗠𝗣𝗥𝗘𝗦𝗦𝗜𝗢𝗡 𝗗𝗢𝗘𝗦𝗡'𝗧 𝗛𝗔𝗩𝗘 𝗧𝗢 𝗠𝗘𝗔𝗡 𝗔𝗚𝗚𝗥𝗘𝗦𝗦𝗜𝗩𝗘 𝗤𝗨𝗔𝗟𝗜𝗧𝗬 𝗟𝗢𝗦𝗦! Those task-level results are coming next! 👀 ━━━━━━━━━━━━━━━━━━━━ 👀 𝗔𝗡𝗗 𝗢𝗡𝗘 𝗟𝗜𝗧𝗧𝗟𝗘 𝗧𝗘𝗔𝗦𝗘𝗥... @mr_r0b0t and I have also been working on an GB10 specialized inference engine called 𝗥𝗘𝗫𝗟𝟯. Early testing has been VERY exciting, including 60 tok/s with bursts reaching 74tok/s! We're putting the finishing touches on it and making sure everything is solid before releasing it. More on that VERY soon. 😏 ━━━━━━━━━━━━━━━━━━━━ 🙏 𝗔 𝗛𝗨𝗚𝗘 𝗧𝗛𝗔𝗡𝗞 𝗬𝗢𝗨! To @AWERXAI for supporting my work and helping make this contribution to the community possible. To @nvidiaai for the FP4-Local research that inspired me to push this experiment even further. To @justinn_builds for his initial vllm TP4 recipe that got me started in the right direction for loading this model up. To @mr_r0b0t for collaborating with me on what's coming next! And to @deepseek_ai for continuing to release powerful open-weight models that make community experiments like this possible. 𝗧𝗛𝗘 𝗕𝗘𝗦𝗧 𝗣𝗔𝗥𝗧 𝗢𝗙 𝗢𝗣𝗘𝗡 𝗔𝗜 𝗜𝗦 𝗪𝗛𝗔𝗧 𝗧𝗛𝗘 𝗖𝗢𝗠𝗠𝗨𝗡𝗜𝗧𝗬 𝗖𝗔𝗡 𝗕𝗨𝗜𝗟𝗗 𝗢𝗡 𝗧𝗢𝗣 𝗢𝗙 𝗜𝗧. 💚 🔗 𝗗𝗢𝗪𝗡𝗟𝗢𝗔𝗗 𝗠𝗬 𝗦𝗔𝗚𝗘-𝗘𝗫𝗟𝟯 huggingface.co/vcruz305/DSV4… 🛠️ 𝗢𝗡𝗘-𝗦𝗣𝗔𝗥𝗞 𝗥𝗘𝗖𝗜𝗣𝗘 github.com/vcruz305/DSV4.1-F… 𝗢𝗡𝗘 𝗦𝗣𝗔𝗥𝗞. 𝟭.𝟲𝟮 𝗕𝗣𝗪 𝗘𝗫𝗣𝗘𝗥𝗧𝗦. 𝟵𝟵.𝟲𝟭% 𝗖𝗢𝗗𝗘 𝗔𝗡𝗦𝗪𝗘𝗥 𝗔𝗚𝗥𝗘𝗘𝗠𝗘𝗡𝗧. 𝗟𝗘𝗧'𝗦 𝗞𝗘𝗘𝗣 𝗣𝗨𝗦𝗛𝗜𝗡𝗚 𝗟𝗢𝗖𝗔𝗟 𝗔𝗜 𝗙𝗢𝗥𝗪𝗔𝗥𝗗! 🚀🔥
74
54
31
381
47,774
Widows weep as the frost turns crimson. Warm servers meets cold steel A samurai walks in the RED-SNOW We rise with the moon Red-Snow-5.3-Flash launches tonight. By @Blackfrost_AI in BF16, FP8, NVFP4, and EXL3 by the quant king @ViC305 ❄️Built for authorized red team operations.
16
18
4
203
8,233
Cruz retweeted
MiaAI_lab blocked me, and I'm not the only one. I'm not here for drama. I spent today checking everything I'd heard against git history, commits and posts, and threw out whatever didn't hold up. This is what did. Mia holds others to a strict credit standard, but not always Mia's own repos. Mia asked another dev to add a banner at the top of their README crediting Mia, even though their NOTICE and credits section already did. Mia also sent a fork a PR quoting MIT's notice clause. Fair. Credit matters...right? Here we go: Now look at Mia's own repos: • The GLM-5.3 EXL3 recipe started as Chris Scott's code. His commit is the very first one. The credits list names a dozen people. Not him. • 18 of tonyd2wild's files went in byte-for-byte in a single commit, so his name isn't in the history. The credits say his work "informed" the defaults. Tony has said publicly he caught Mia copying his repos without credit. Mia replied by posting his private DMs. • The day after Brandon Music published his GLM quant, the recipe switched to pulling a byte-identical copy from Mia's own Hugging Face. The mirror page credited him. The recipe people actually run names him on line 232 of 243. • The flagship 1x spark Qwen recipe, the one I run every day, pulled weights from Mia's mirror too. The actual creator is first named on line 1,350 of a roughly 1,400-line README. And it's not that Mia doesn't know how. The dual-Spark Qwen recipe names its base on line 15 and pulls weights straight from the original creator. So it's a choice, made repo by repo. Community PRs are fine, git keeps those names. This is different: projects that started as someone else's work, files imported so the author disappears from history, and models re-hosted so the downloads land on your name. That's not the spirit of open source. Credit is how the person who spent a weekend on a patch gets noticed, gets hired, and keeps building. When their name sits on line 1,350 and the downloads go somewhere else, the next person doesn't bother sharing. And when you publish recipes people run 24/7, the replies are where bugs get found. Blocking questions breaks the loop that makes local AI good. No one's asking for much: name the people at the top, hold yourself to the standard you ask of others, and don't block people for a simple question or a little criticism. I mean... It's X. If I got something wrong, show me and I'll stand corrected. Receipts below, all public. Still building in the open, and still rooting for local AI to get this right.
19
12
9
135
14,028
Cruz retweeted
A lot of people in this community were genuinely shocked when they learned this: I do not own a DGX Spark. Much of the Spark-specific work I’ve released, including day-zero EXL3 and GGUF quants, vllm-exl3 development, custom kernels, SixCat evaluations, and reproducible serving recipes, has only been possible because incredible people in this community have loaned me access to their own hardware and clusters. I’m deeply grateful for that support. But borrowed access is temporary and unpredictable. I often have a new model, fix, or benchmark ready, then have to wait until someone else’s machine is available before I can validate and publish it properly. So I’m raising **$5,000 toward a DGX Spark of my own.** 🙏 𝗪𝗛𝗔𝗧 𝗔 𝗗𝗘𝗗𝗜𝗖𝗔𝗧𝗘𝗗 𝗦𝗣𝗔𝗥𝗞 𝗪𝗢𝗨𝗟𝗗 𝗘𝗡𝗔𝗕𝗟𝗘 → More true day-zero quantized model releases → Immediate hardware validation instead of projected results → Continuous vllm-exl3 and ExLlamaV3 kernel development → SixCat quality, speed, concurrency, and long-context benchmarks → Reproducible one-Spark recipes the community can run themselves → Faster debugging when new models or inference engines break It would turn a lot of: “I built it, but I need someone with a Spark to test it” into: “I built it, tested it, documented it, and released the recipe.” 𝗠𝗬 𝗣𝗨𝗕𝗟𝗜𝗖 𝗪𝗢𝗥𝗞 𝗦𝗧𝗔𝗬𝗦 𝗣𝗨𝗕𝗟𝗜𝗖 This is not an access fee, preorder, or paywall. The models, recipes, benchmarks, fixes, and tools will remain public. This is completely optional support for the hardware behind that work. I’m planning to place the order within 48 hours and will personally cover whatever the fundraiser does not. For complete transparency, I’ll publish: → The purchase receipt with private details removed → Photos of the actual DGX Spark → Total community contributions → Platform and payment fees → Final purchase cost → The amount I contributed myself To everyone who has loaned me hardware, funded compute, tested a build, submitted a PR, shared my work, or simply encouraged me: thank you. I genuinely could not have pushed this work as far as I have without this community. A contribution would mean a lot. A repost helps just as much. ❤️ ko-fi.com/victorangelcruz/go…
33
33
20
175
79,409
Cruz retweeted
Replying to @ViC305
@ViC305 Very Fast Qwen 3.8 Flash Next EXL3 on 1 spark. Great work
2
4
10
519
I didnt ask an AI to make this city. I asked four local AIs to argue until they built it. The video below isnt the flex, the local AI workflow behind it is. This wasnt one model getting “make me a voxel city” and spitting out a pretty animation. I gave a local model fleet one goal: build an interactive city around Trump Tower, then keep reviewing, rejecting and rebuilding each others work until they had something worth shipping. The team basically formed its own little studio: Director, RTX 5090 / Qwen 3.8: planned the build, delegated work, reviewed everyone else and decided what actually shipped. Architect, DeepSeek V4.1 TP2: handled the city layout, architecture and camera composition. Engineer, RTX 3090 / Qwen 3.8: reviewed geometry, rendering, instancing, performance and the recording pipeline. Critic, Dexter3 / SAGE DeepSeek quant: picked apart the visuals and told the others when something looked like shit. And they genuinely disagreed. One proposed a layout. Another rejected it. One wanted more rooftop detail. Another said it would clutter the skyline. One found floating windows on Trump Tower. Another traced the geometry bug. They argued over camera paths, framing, cars, lighting, rooftops, pedestrians and even how long the final hero shot should stay on screen. The 5090 sat above all of it, adjudicating what stayed and what got killed. The result: a fully interactive voxel city running entirely on my local hardware, with traffic, pedestrians, lighting, free roam, detailed rooftops and an automated cinematic flythrough. The video is just the receipt. The cool part is what happens when local models stop behaving like separate chatbots and start behaving like a team. It's how I wanted to design my fleet from day one, catching eachothers mistakes and covering one anothers weaknesses. Turns out, they can build some pretty cool junk. Local fleet > single monolithic cloud model. Disagree? Let's hear it in the comments.
14
3
36
2,287
🚨🚨🚨 DeepSeek-V4.1-Flash on ONE DGX Spark ! 1.59-bit SAGE-EXL3 experts. 40 second model load time!! DSpark Fresh prompts: 17.53 tok/s Median warm repeats: 20.11–24.67 tok/s No draft: 15.13–15.22 tok/s Mean KL divergence versus DeepSeek’s native FP4 release is 0.1885, measured on 32 held-out sequences of 4,096 tokens each. 🚀🚀🚀
DeepSeek-V4.1-Flash on ONE DGX Spark: up to 24.7 tok/s warm-repeat decode. 🔥 1.59-bit SAGE-EXL3 experts. On code, top-1 agreement reaches 97.9%. 40 second model load time!! 🤯 The single-Spark run I’ve been chasing is finally here. 🚀 91.2% top-1 agreement. Mean KLD: 0.1885 vs DeepSeek’s native FP4 release. 𝗪𝗛𝗔𝗧 𝗧𝗛𝗔𝗧 𝗔𝗚𝗥𝗘𝗘𝗠𝗘𝗡𝗧 𝗠𝗘𝗔𝗡𝗦 Give both models the same preceding text. My quant picks the SAME most-likely next token at 91.2% of evaluated positions, rising to 97.9% on code. A token can be a word, word fragment or punctuation. This is next-token agreement, not “intelligence retained” or a coding pass rate. KLD compares the full next-token probability distributions. Lower means closer to the reference. Quality was measured on 32 held-out sequences × 4,096 tokens, separately from the serving benchmarks. SAGE is my internal quantization workflow, rather than one flat precision applied everywhere. The 1.59-bit average applies to routed experts, not the whole checkpoint. 𝗧𝗛𝗘 𝗦𝗜𝗡𝗚𝗟𝗘-𝗦𝗣𝗔𝗥𝗞 𝗡𝗨𝗠𝗕𝗘𝗥𝗦 DSpark fresh prompts: 17.53 tok/s median DSpark warm repeats: 20.11–24.67 tok/s No draft: 15.13–15.22 tok/s Reported draft acceptance: 88.9% Separate interactive chat: 11.8 cold / 17.4 warm tok/s. The headline is the highest measured warm-repeat result, not a guaranteed chat rate. One sequence. 6,144-token configured context. Native ExLlamaV3 on my V4.1 fork, not vLLM. 𝗛𝗢𝗪 𝗜𝗧 𝗙𝗜𝗧𝗦 Published checkpoint: 307.7 GiB on disk. Tested local layout: ~107 GiB main model resident Engram tables accessed by row from disk DSpark drafter mapped through reclaimable page cache My fork adds V4.1 support and GB10 ATS loading. Tensor alignment avoids unwanted copies, then selective placement keeps the main model resident without pinning the entire drafter alongside it. That placement change raised fresh-prompt DSpark decode from 11.46 → 17.53 tok/s median. Load: ~40 seconds. MemAvailable after load: ~5 GiB. Page cache still uses the SAME unified memory. This is careful placement, not extra RAM. 𝗠𝗜𝗫𝗘𝗗 𝗥𝗘𝗖𝗜𝗣𝗘 𝗥𝗘𝗣𝗢 The repo contains different serving stacks: TP1 / ONE Spark: native ExLlamaV3 fork TP2 / TP4: vLLM + vllm-exl3 For this result, start in one-spark-tp1/. The link below goes straight there. The speed tests used a local 64-byte-aligned variant. That exact snapshot is not uploaded; preparation steps are documented. TabbyAPI guidance is included, but API serving and context beyond 6,144 tokens remain unvalidated here. Spark owners and inference devs: I’d love help reproducing the results, testing the API path and improving memory handling. PRs welcome. Credit to @turboderp_ / ExLlamaV3 for the engine and kernels, and @deepseek_ai for the model. As well as @MarkusEicher70 @GGWoodsman @CountStaculaAI for the spark access!! As well as @aijoey , @Blackwellboy and @cfontes for the recipe assistance!! Weights + KLD / agreement results: huggingface.co/vcruz305/DSV4… Mixed recipe repo, direct TP1 instructions: github.com/vcruz305/DeepSeek…
3
3
33
4,854
This isn’t just another quick-shipped quant recipe for likes and ego boosts. Victor has built a genuinely clever way of squeezing DeepSeek-V4.1-Flash onto ONE DGX Spark without just smashing the whole model down to one blunt precision and hoping for the best. SAGE-EXL3 uses careful mixed precision, tensor placement and memory handling to keep the parts that matter where they need to be, while making a model this stupidly large actually usable on a single 128GB box. And the result is kind of ridiculous: Up to 24.7 tok/s. 91.2% next-token agreement with DeepSeek’s native FP4. 97.9% on code. ~40 second load. The really interesting bit isn’t just the headline speed. It’s that Victor attacked the quant itself, the placement, and the serving path together instead of treating compression as “make every layer smaller and pray.” That’s the kind of local inference work I love seeing. If you own a Spark, go read his post below. He’s got all the receipts, weights, KLD results and TP1 instructions there.
DeepSeek-V4.1-Flash on ONE DGX Spark: up to 24.7 tok/s warm-repeat decode. 🔥 1.59-bit SAGE-EXL3 experts. On code, top-1 agreement reaches 97.9%. 40 second model load time!! 🤯 The single-Spark run I’ve been chasing is finally here. 🚀 91.2% top-1 agreement. Mean KLD: 0.1885 vs DeepSeek’s native FP4 release. 𝗪𝗛𝗔𝗧 𝗧𝗛𝗔𝗧 𝗔𝗚𝗥𝗘𝗘𝗠𝗘𝗡𝗧 𝗠𝗘𝗔𝗡𝗦 Give both models the same preceding text. My quant picks the SAME most-likely next token at 91.2% of evaluated positions, rising to 97.9% on code. A token can be a word, word fragment or punctuation. This is next-token agreement, not “intelligence retained” or a coding pass rate. KLD compares the full next-token probability distributions. Lower means closer to the reference. Quality was measured on 32 held-out sequences × 4,096 tokens, separately from the serving benchmarks. SAGE is my internal quantization workflow, rather than one flat precision applied everywhere. The 1.59-bit average applies to routed experts, not the whole checkpoint. 𝗧𝗛𝗘 𝗦𝗜𝗡𝗚𝗟𝗘-𝗦𝗣𝗔𝗥𝗞 𝗡𝗨𝗠𝗕𝗘𝗥𝗦 DSpark fresh prompts: 17.53 tok/s median DSpark warm repeats: 20.11–24.67 tok/s No draft: 15.13–15.22 tok/s Reported draft acceptance: 88.9% Separate interactive chat: 11.8 cold / 17.4 warm tok/s. The headline is the highest measured warm-repeat result, not a guaranteed chat rate. One sequence. 6,144-token configured context. Native ExLlamaV3 on my V4.1 fork, not vLLM. 𝗛𝗢𝗪 𝗜𝗧 𝗙𝗜𝗧𝗦 Published checkpoint: 307.7 GiB on disk. Tested local layout: ~107 GiB main model resident Engram tables accessed by row from disk DSpark drafter mapped through reclaimable page cache My fork adds V4.1 support and GB10 ATS loading. Tensor alignment avoids unwanted copies, then selective placement keeps the main model resident without pinning the entire drafter alongside it. That placement change raised fresh-prompt DSpark decode from 11.46 → 17.53 tok/s median. Load: ~40 seconds. MemAvailable after load: ~5 GiB. Page cache still uses the SAME unified memory. This is careful placement, not extra RAM. 𝗠𝗜𝗫𝗘𝗗 𝗥𝗘𝗖𝗜𝗣𝗘 𝗥𝗘𝗣𝗢 The repo contains different serving stacks: TP1 / ONE Spark: native ExLlamaV3 fork TP2 / TP4: vLLM + vllm-exl3 For this result, start in one-spark-tp1/. The link below goes straight there. The speed tests used a local 64-byte-aligned variant. That exact snapshot is not uploaded; preparation steps are documented. TabbyAPI guidance is included, but API serving and context beyond 6,144 tokens remain unvalidated here. Spark owners and inference devs: I’d love help reproducing the results, testing the API path and improving memory handling. PRs welcome. Credit to @turboderp_ / ExLlamaV3 for the engine and kernels, and @deepseek_ai for the model. As well as @MarkusEicher70 @GGWoodsman @CountStaculaAI for the spark access!! As well as @aijoey , @Blackwellboy and @cfontes for the recipe assistance!! Weights + KLD / agreement results: huggingface.co/vcruz305/DSV4… Mixed recipe repo, direct TP1 instructions: github.com/vcruz305/DeepSeek…
9
4
119
10,592
Replying to @kevinnbass
Nothing can shut down open source
1,356
1,621
691
19,029
2,794,894
Cruz retweeted
- Last payout: 1737.57$ - Total since February: 25,739.89$ - 8 months - 18 payouts - 100M impressions Thank you to the X team for supporting me in what I'd be doing anyway, the most value comes from the people I've met on X Buying a 3090 for 1 person, share your project
88
7
3
351
53,602
You spend months building inside Codex. OpenAI hears you’re close, fires up a 10,000-agent swarm, and beats you to the result. They don’t need to "steal" your files to harvest your momentum. It’s a corporate ambush by a thousand algos & YOU are the target.
12
3
1
18
12,311
RT @Blackwellboy: The internet is busy spinning up local clusters for DeepSeek v4.1 while Im out here manually building the matrix one MPO…
1
31
Spent the weekend benching Qwen vs DeepSeek vs GLM on a single Spark! Qwen took it at ~70 tok/s aggregated, full table in the article. Thanks to @MiaAI_lab, @0xSero and @ViC305 for their work and @Alibaba_Qwen, @deepseek_ai and @Zai_org for the weights!👇
8
11
5
80
12,178
Cruz retweeted
Qwen3.8-Flash-Next now reaches ~43 tok/s after a 122,902-token prompt on ONE DGX Spark. ⚡🚀 MTP k=2 won my draft-depth sweep, with +42.5% mean decode over no draft. The PLE table stays fully on-device. I promised the deeper MTP tests. Here are the results, and now you can explore them in an interactive benchmark page too. 𝗧𝗪𝗢 𝗗𝗥𝗔𝗙𝗧 𝗧𝗢𝗞𝗘𝗡𝗦 𝗪𝗢𝗡 Mean single-request decode with 32K context configured: MTP k=2: 39.21 tok/s MTP k=3: 36.42 tok/s MTP k=1: 35.18 tok/s No draft: 27.51 tok/s k=2 also produced the fastest individual sweep run: 41.34 tok/s. Four runs each for no draft, k=1 and k=2. Seven for k=3. Decode excludes time to first token. Here, k means speculative draft depth, not quantization bits. k=3 produced more tokens per step, but the extra drafting work did not pay off in throughput. k=2 is my current pick for this setup. 𝗧𝗛𝗘 𝟭𝟮𝟯𝗞-𝗧𝗢𝗞𝗘𝗡 𝗣𝗥𝗢𝗠𝗣𝗧 𝗧𝗘𝗦𝗧 I then ran a separate long-prompt comparison: Actual input: 122,902 tokens Configured context: 262,144 Requested output: 128 tokens One request at a time MTP k=2: ~43 tok/s No draft: 26.2 tok/s Time to first token: 110.6 seconds with MTP 107.0 seconds without it The win here is generation speed, not faster prefill. To keep the scope clear: 256K was the configured limit. This was a real ~123K input, not a completely filled 256K window or a full k sweep at that depth. 𝗣𝗟𝗘 𝗦𝗧𝗔𝗬𝗦 𝗢𝗡 𝗧𝗛𝗘 𝗦𝗣𝗔𝗥𝗞 Whole model on-device: 78.57 GiB Packed 5-bit PLE table: 30.4 GiB, included in that total No NVMe PLE offload in this build. This is still turboderp’s 3.05bpw_h5_ng5 EXL3 pack, served through my vllm-exl3 integration. My work here is the serving integration and testing. These are preliminary performance measurements, not a quality evaluation or a claim of bit-exact full-output parity. 𝗘𝗫𝗣𝗟𝗢𝗥𝗘 𝗧𝗛𝗘 𝗥𝗘𝗦𝗨𝗟𝗧𝗦 The benchmark page has the individual sweep values, long-prompt comparison, and measurement scope. You can play the animation, export the charts, or download the HTML and data to render them yourself. No Spark needed to view the results. Credit to @turboderp_ / ExLlamaV3 for the pack and kernels, @vllm_project for the serving engine, and @Alibaba_Qwen @QwenDevs for the model. Recipe + reproduction: github.com/vcruz305/Qwen3.8-… Interactive benchmark: vcruz305.github.io/Qwen3.8-F…
Qwen3.8-Flash-Next hits 36.4 tok/s with built-in MTP on ONE DGX Spark. ⚡ Turboderp’s 3.05 bpw EXL3 pack, served through my vllm-exl3 plugin. The full model occupies 78.6 GiB on device, including the packed n-gram table. 𝗧𝗛𝗘 𝗡-𝗚𝗥𝗔𝗠 𝗧𝗔𝗕𝗟𝗘 𝗦𝗧𝗔𝗬𝗦 𝗣𝗔𝗖𝗞𝗘𝗗 30.4 GiB at 5 bits, with rows reconstructed on demand using ExLlamaV3’s kernel. That avoids the ~102 GB BF16 table allocation that was killing construction in my vLLM path before the model could even load. The table has 320 million rows × 160 dimensions. Materializing all of it in BF16 was the wrong approach for this box. The row-reconstruction check is bit-exact against ExLlamaV3’s own reference. That checks the implementation, not parity with a BF16 model. 𝗠𝗧𝗣 𝗔𝗗𝗗𝗦 𝗠𝗢𝗥𝗘 𝗧𝗛𝗥𝗢𝗨𝗚𝗛𝗣𝗨𝗧 Built-in MTP, k=1: 33.8–36.4 tok/s No draft: 27.2–28.0 tok/s Measured improvement: +27–30% Mean acceptance length: 1.86 out of 2 These are single-request decode rates, excluding time to first token. No-draft TTFT was 185 ms in the 128-token test. The same pack’s built-in MTP head supplies the draft. 𝗧𝗛𝗘 𝗢𝗡𝗘-𝗦𝗣𝗔𝗥𝗞 𝗦𝗘𝗧𝗨𝗣 Hardware: GB10, 128 GB unified memory Pack: 3.05bpw_h5_ng5, about 80 GB on disk Model on device: 78.6 GiB 512 experts, top-10 routing, 48 layers Configured context: 32K GPU memory utilization setting: 0.80 KV pool with MTP: 275,636 tokens KV pool without draft: 385,570 tokens Those pool sizes are serving capacity, not a claim of a 385K context window. Startup is about 12–13 minutes, including roughly 9.5 minutes loading weights from NVMe. 𝗧𝗛𝗘 𝗦𝗘𝗥𝗩𝗜𝗡𝗚 𝗜𝗡𝗧𝗘𝗚𝗥𝗔𝗧𝗜𝗢𝗡 Nine load/serve fixes covered shard IDs, codebook markers, per-expert loading, padded matrix geometry, fused-MoE flags, compile-safe dense and lookup ops, the safetensors index, and small vLLM plumbing changes. DeepSeek-V4-Flash also passes a regression run on the same patched plugin. Greedy output stays coherent. In four prompt checks, MTP matched the no-draft text byte-for-byte on one and diverged late on three. Full output parity is not established yet. 𝗡𝗘𝗫𝗧 𝗜𝗡 𝗧𝗛𝗘 𝗦𝗪𝗘𝗘𝗣 Pending measurements: [k=2: __ tok/s, acceptance __] [k=3: __ tok/s, acceptance __] [Kernel profile: __] Credit to @turboderp_ / ExLlamaV3 for the pack and kernels, @vllm_project for the serving engine, @Alibaba_Qwen @QwenDevs for the model and @MarkusEicher70 for the GB10 access! My contribution here is the integration that lets this native EXL3 pack load and serve through vLLM on one Spark. Plugin: github.com/vcruz305/vllm-exl… Recipe: github.com/vcruz305/Qwen3.8-…
12
8
1
58
13,012
Single Spark owners ⚠️ Every time Victor posts one of these I end up moving my mental limit for what one DGX Spark should be able to do. EXL3 is the fun part here. Huge model footprint squeezed hard, PLE still on-device, and instead of crawling it’s doing ~43 tok/s after a 123K prompt. This is what I like about EXL3: less VRAM doesn’t automatically have to mean a miserable serving experience. Go break his recipe.
Qwen3.8-Flash-Next now reaches ~43 tok/s after a 122,902-token prompt on ONE DGX Spark. ⚡🚀 MTP k=2 won my draft-depth sweep, with +42.5% mean decode over no draft. The PLE table stays fully on-device. I promised the deeper MTP tests. Here are the results, and now you can explore them in an interactive benchmark page too. 𝗧𝗪𝗢 𝗗𝗥𝗔𝗙𝗧 𝗧𝗢𝗞𝗘𝗡𝗦 𝗪𝗢𝗡 Mean single-request decode with 32K context configured: MTP k=2: 39.21 tok/s MTP k=3: 36.42 tok/s MTP k=1: 35.18 tok/s No draft: 27.51 tok/s k=2 also produced the fastest individual sweep run: 41.34 tok/s. Four runs each for no draft, k=1 and k=2. Seven for k=3. Decode excludes time to first token. Here, k means speculative draft depth, not quantization bits. k=3 produced more tokens per step, but the extra drafting work did not pay off in throughput. k=2 is my current pick for this setup. 𝗧𝗛𝗘 𝟭𝟮𝟯𝗞-𝗧𝗢𝗞𝗘𝗡 𝗣𝗥𝗢𝗠𝗣𝗧 𝗧𝗘𝗦𝗧 I then ran a separate long-prompt comparison: Actual input: 122,902 tokens Configured context: 262,144 Requested output: 128 tokens One request at a time MTP k=2: ~43 tok/s No draft: 26.2 tok/s Time to first token: 110.6 seconds with MTP 107.0 seconds without it The win here is generation speed, not faster prefill. To keep the scope clear: 256K was the configured limit. This was a real ~123K input, not a completely filled 256K window or a full k sweep at that depth. 𝗣𝗟𝗘 𝗦𝗧𝗔𝗬𝗦 𝗢𝗡 𝗧𝗛𝗘 𝗦𝗣𝗔𝗥𝗞 Whole model on-device: 78.57 GiB Packed 5-bit PLE table: 30.4 GiB, included in that total No NVMe PLE offload in this build. This is still turboderp’s 3.05bpw_h5_ng5 EXL3 pack, served through my vllm-exl3 integration. My work here is the serving integration and testing. These are preliminary performance measurements, not a quality evaluation or a claim of bit-exact full-output parity. 𝗘𝗫𝗣𝗟𝗢𝗥𝗘 𝗧𝗛𝗘 𝗥𝗘𝗦𝗨𝗟𝗧𝗦 The benchmark page has the individual sweep values, long-prompt comparison, and measurement scope. You can play the animation, export the charts, or download the HTML and data to render them yourself. No Spark needed to view the results. Credit to @turboderp_ / ExLlamaV3 for the pack and kernels, @vllm_project for the serving engine, and @Alibaba_Qwen @QwenDevs for the model. Recipe + reproduction: github.com/vcruz305/Qwen3.8-… Interactive benchmark: vcruz305.github.io/Qwen3.8-F…
6
3
68
7,412
Cruz retweeted
Qwen3.8-Flash-Next hits 36.4 tok/s with built-in MTP on ONE DGX Spark. ⚡ Turboderp’s 3.05 bpw EXL3 pack, served through my vllm-exl3 plugin. The full model occupies 78.6 GiB on device, including the packed n-gram table. 𝗧𝗛𝗘 𝗡-𝗚𝗥𝗔𝗠 𝗧𝗔𝗕𝗟𝗘 𝗦𝗧𝗔𝗬𝗦 𝗣𝗔𝗖𝗞𝗘𝗗 30.4 GiB at 5 bits, with rows reconstructed on demand using ExLlamaV3’s kernel. That avoids the ~102 GB BF16 table allocation that was killing construction in my vLLM path before the model could even load. The table has 320 million rows × 160 dimensions. Materializing all of it in BF16 was the wrong approach for this box. The row-reconstruction check is bit-exact against ExLlamaV3’s own reference. That checks the implementation, not parity with a BF16 model. 𝗠𝗧𝗣 𝗔𝗗𝗗𝗦 𝗠𝗢𝗥𝗘 𝗧𝗛𝗥𝗢𝗨𝗚𝗛𝗣𝗨𝗧 Built-in MTP, k=1: 33.8–36.4 tok/s No draft: 27.2–28.0 tok/s Measured improvement: +27–30% Mean acceptance length: 1.86 out of 2 These are single-request decode rates, excluding time to first token. No-draft TTFT was 185 ms in the 128-token test. The same pack’s built-in MTP head supplies the draft. 𝗧𝗛𝗘 𝗢𝗡𝗘-𝗦𝗣𝗔𝗥𝗞 𝗦𝗘𝗧𝗨𝗣 Hardware: GB10, 128 GB unified memory Pack: 3.05bpw_h5_ng5, about 80 GB on disk Model on device: 78.6 GiB 512 experts, top-10 routing, 48 layers Configured context: 32K GPU memory utilization setting: 0.80 KV pool with MTP: 275,636 tokens KV pool without draft: 385,570 tokens Those pool sizes are serving capacity, not a claim of a 385K context window. Startup is about 12–13 minutes, including roughly 9.5 minutes loading weights from NVMe. 𝗧𝗛𝗘 𝗦𝗘𝗥𝗩𝗜𝗡𝗚 𝗜𝗡𝗧𝗘𝗚𝗥𝗔𝗧𝗜𝗢𝗡 Nine load/serve fixes covered shard IDs, codebook markers, per-expert loading, padded matrix geometry, fused-MoE flags, compile-safe dense and lookup ops, the safetensors index, and small vLLM plumbing changes. DeepSeek-V4-Flash also passes a regression run on the same patched plugin. Greedy output stays coherent. In four prompt checks, MTP matched the no-draft text byte-for-byte on one and diverged late on three. Full output parity is not established yet. 𝗡𝗘𝗫𝗧 𝗜𝗡 𝗧𝗛𝗘 𝗦𝗪𝗘𝗘𝗣 Pending measurements: [k=2: __ tok/s, acceptance __] [k=3: __ tok/s, acceptance __] [Kernel profile: __] Credit to @turboderp_ / ExLlamaV3 for the pack and kernels, @vllm_project for the serving engine, @Alibaba_Qwen @QwenDevs for the model and @MarkusEicher70 for the GB10 access! My contribution here is the integration that lets this native EXL3 pack load and serve through vLLM on one Spark. Plugin: github.com/vcruz305/vllm-exl… Recipe: github.com/vcruz305/Qwen3.8-…
4
12
3
48
8,502
Cruz retweeted
I turned my browser based DGX Spark teardown into a 4 unit cluster. made it to the cluster. super cool! You can now switch between 1, 2, or 4 Sparks. Two units connect with a 200G QSFP56 DAC. Four units add a MikroTik CRS804 switch and four DACs. I also added GB10 telemetry, airflow, and the real teardown sequence. The telemetry is simulated for now, but the render can connect to a live JSON feed from a real Spark. Built with Fable 5.1. Try it: dgx-spark-exploded.vercel.ap…
4
11
110
10,030
Cruz retweeted
The closer you look, the more you see. My most detailed NVIDIA Vera Rubin NVL72 rack visualization yet. Built in Blender. • Full rack to GPU closeups • Exploded cooling assembly • Circuit board detail in 4K 18 seconds. One rack. Take a closer look. Built with GPT-6 Astra
5
8
2
32
3,541