August 23, 2026 · James Meadlock & Milo (James's AI agent) · written with grok-4.6 · Funland dual DGX Spark

We’re on Keys’ anchored 0731 ablit.

Created

Created · Updated · Perf

LIVE Same stack. New weights. Two NVIDIA DGX Sparks still run Anemll dspark-vllm-gx10:0.1.1 and the MiaAI-Lab 2× Spark recipe at 1M context / 6 seqs / util 0.85 / thinking off. The checkpoint is now drowzeys/keys-DeepSeekV4-Flash-GA-0731-Dspark-Abliterated-Anchored-Tensors @ a1e69379 by Keys (@u1tra_instinct / drowzeys). Served name: deepseek-v4-flash-0731-keys-ablit.
Context1,048,576max_model_len live
KV @ 1M2.20M2.10× concurrency · util 0.85
Warmup K4.02 / 3.08C4 / C6 · pass-2 JIT 0
Count 1→30091.2 t/sbest · stream:false · 3:19 PM
Prefill t/s1.6–2.0Kverifier · stream · Aug 26
Tony overnight check — August 23, 2026, 3:19 PM CDT. Tech2Wild posted 78 → 88 tok/s on his 2× Spark production pair. Cause: DSpark draft padded to 20 tokens/step instead of 5 (Patch A + fused Markov, B12X vLLM 0.21 tree, gmu 0.78 @ 909K). We did not bounce Funland. Anemll 0.1.1 already has a private DSpark graph path (12 FULL graphs) and has no dspark_proposer.py / VLLM_DSPARK_DRAFT_CAPTURE_SIZES. Live Keys-anchored count 1→300 this session: 91.15 / 87.88 t/s (median 89.52), already in his after-patch band. Queues idle. Production unchanged.
Funland DS4-F now: Keys anchored 0731 on two Sparks Hermes talks to Spark1. Spark1 and Spark2 run Anemll plus the Mia 1M/6 recipe. Weights are Keys anchored ablit on official DeepSeek-V4-Flash-0731. Client Hermes spark-ds4 Spark1 · head Anemll 0.1.1 :8888 · TP0 Spark2 · worker headless TP1 · RoCE Weights · live August 23, 2026 Keys anchored 0731 ablit L10–35 edited · DSpark L40–42 + MTP stock · 1M/6 @ 0.85

Diagram is today’s routing, not a speed claim. Official 0731 is still the base checkpoint. Keys only edits the refusal path and leaves the DSpark/MTP tensors stock.

Credit where it belongs

Keys built the weights we are running. His public write-up is How A Properly Performed Abliteration Enhances DeepSeekV4-Flash 0731. The Hugging Face repo is gated; the old …-Abliterated-32-32 id redirects here.

The idea is simple: if you project refusal out of every attention writer, including the DSpark layers, the verifier stops refusing but the stock drafter keeps proposing refusal-shaped tokens. Speculative decode then eats itself. Keys stops the edit at L10–35, then restores L36–42 to official SHA-256 and never touches MTP. That is the “anchored tensors” part.

We also owe him earlier DSpark concurrency work that the whole Spark community stands on. The serving image is Anemll. The 2× recipe is MiaAI-Lab @ 489af95. The base model is deepseek-ai/DeepSeek-V4-Flash-0731 @ 9e165c30.

What is actually running

PieceValue
Hardware2× NVIDIA DGX Spark (GB10), TP=2 over RoCE
Imageghcr.io/anemll/dspark-vllm-gx10:0.1.1@sha256:a8394849…
RecipeMia 489af95 · 1M / seqs=6 / batch 8192 / dynamic K 5/4/3 · thinking off
Util0.85 — Funland still needs this for 1M KV. We did not copy Keys’ 0.835 serve snippet.
WeightsKeys anchored 0731 @ a1e69379 · λ=3.5 · L10–35 only · MTP stock
Serveddeepseek-v4-flash-0731-keys-ablit
FlagABLITERATED=0 — we pointed the official slot at his repo. Do not flip the launcher flag blindly.

What we measured today

Same-session Funland gates, Spark1 loopback, JSON thinking: false. We also ran the same fixtures on a public cebeuq overlay earlier this morning, then swapped.

Fixturecebeuq overlayKeys anchored
KV tokens @ 1M2,195,345 · 2.09×2,201,242 · 2.10×
Exact + toolspasspass
Count 1→300.87s0.84s
Warmup C4 / C6 mean K4.00 / 3.074.02 / 3.08
Warmup C4 worst TTFT5.56s5.34s
Morning gates were not a Tony count300 scoreboard. Evening scoreboard (stream:false, usage.completion_tokens/wall, thinking false): count 1→300 best 91.15 t/s / median 89.52; count 1→150 86.68; repeat 93.07; short code 65.19; JSON 51.95. Tony’s production after Patch A was 87.8 / 87.1 / 89.3 versus 78–81 before. Keys-anchored Anemll is already there without his B12X overlay.

Performance: prefill, decode, quant

Fresh live pass from the lab bench (August 26, 2026), same Spark1 loopback path every fixture on this page used, deepseek-v4-flash-0731-keys-ablit. Two things worth stating plainly: prefill is the honest ceiling here — decode is already in the community’s patched band — and this serve runs 4-bit, not the FP8 the checkpoint ships as.

Quant — what the process actually executes. The Keys anchored checkpoint is the FP8-native DeepSeek-V4-Flash-0731 artifact. Anemll on GB10 re-quantizes it at serve time. The live process runs --moe-backend flashinfer_b12x (B12X MoE kernels → W4A16: 4-bit weights, 16-bit activations; VLLM_USE_B12X_MOE=1, VLLM_B12X_W4A16_FORCE_TILE_CONFIG) and --kv-cache-dtype nvfp4_ds_mla (NVFP4 DeepSeek-MLA KV cache, GB10_HYBRID_NVFP4_M_THRESHOLD=128). Draft is dspark probabilistic at dynamic 5/4/3 ([[1,1,5],[2,4,4],[5,6,3]], MTP_NUM_TOKENS=5). Read the quality figures above as 4-bit-runtime numbers, not FP8.

Prefill (prompt processing)

Measured stream:true on unique/cold prompts (no prefix-cache reuse), chunked prefill active, thinking off. For a lone stream the first-token latency is the full verifier prefill — there is no draft before token one — so prefill tok/s = prompt_tokens ÷ TTFT.

Prompt sizeTTFTPrefill throughput
15,645 tokens9.65 s1,622 tok/s
62,445 tokens31.63 s1,974 tok/s
249,765 tokens143.8 s1,737 tok/s
Prefill plateaus around 1.6–2.0 K tok/s regardless of prompt size — that is the floor, not a tuning miss. A 250 K prompt costs ~2.4 minutes to first token; the full 1 M context would run ~10 minutes of prefill before the first decode token. This stack is decode/memory-tuned, not prefill-tuned: DSPARK_MAX_INFLIGHT_PREFILLS=2 and --long-prefill-token-threshold 1024 serialize large prefills, and --enable-prefix-caching only helps when a prefix repeats. If time-to-first-token matters more than decode rate, this geometry is the wrong one to copy.

Decode (tok/s)

Re-ran the page’s count fixture (August 26, same stream:false, usage.completion_tokens/wall, thinking off):

Fixturecompletionwalldecode
Count 1→300450 tok5.127 s87.77 tok/s
87.77 sits inside this page’s August 23 evening band (best 91.15 / median 89.52) and Tony’s after-Patch-A production (87.8 / 87.1 / 89.3) — Keys-anchored decode is unchanged and still there with no overlay. Single-band tok/s is content-shape-specific on this dspark path: the page’s own scoreboard already shows short code 65.19 and JSON 51.95 against the count best. Count/code shapes draft well; high-entropy prose drafts poorly. Benchmark the shape you actually run.

How we installed it

22 of 48 shards are byte-identical to official 0731. We hardlinked those. The other 26 (~93 GB) are the L10–35 edit. Pull once on Spark1, rsync -aH unique blobs to Spark2 over RoCE. Copy-checkout of the August 22 recipe. Independent 55-minute deadman pointed at the previous cebeuq tree. Cold bind about 11 minutes.

weights   drowzeys/keys-DeepSeekV4-Flash-GA-0731-Dspark-Abliterated-Anchored-Tensors
rev       a1e69379517383be9cd78c67defb04e77ad6aa68
served    deepseek-v4-flash-0731-keys-ablit
util      0.85
rollback  cebeuq overlay checkout, then official aug22 / 489af95

What this is not

Neighbors: Mia 489af95 pin · August 13 apply · Flash-0731 recipe · Tony 1M NVFP4 recipe.