AI Guides

DeepSeek V4 Flash 0731 IQ2 vs IQ3: Which Quant Should You Download?

Two complete quants, 354 executed case-seed evaluations, one unchanged six-A40 host—and a result too close to justify pretending we tested the whole download ladder.

Read this boundary first: Kingy completed and locally verified 177-run base suites for UD-IQ2_M and UD-IQ3_XXS. That is 354 executed evaluations: 318 decision-included rows plus 36 separately quarantined multilingual marker diagnostics. UD-Q8_K_XL received a generation-free load-only smoke. Locally verifiable scored runs were not recovered for UD-IQ1_S, UD-Q4_K_XL or UD-Q8_K_XL, so this article does not rank them by quality and does not claim a five-quant winner.

The short answer

If you are choosing between the two quants we actually measured, download UD-IQ2_M first. Its 90.927GB payload is 13.281GB smaller than UD-IQ3_XXS, while the larger quant led by only two points on a 426-point decision rubric: 320 versus 318. That 0.47-percentage-point gap is not persuasive evidence of a stable quality tier.

IQ3’s small advantage came from tool-call scoring, where it earned 234/300 to IQ2’s 231/300. IQ2 answered one more exact reasoning item, 67/90 versus 66/90. Both scored 20/30 on strict JSON, and neither produced a scorable Python or TypeScript patch in any of three seeds. The result is a task split, not a clean ranking.

Smaller measured defaultUD-IQ2_M
90.927GB; 318/426 decision points.
Larger measured alternativeUD-IQ3_XXS
104.208GB; 320/426 decision points.
Still unrankedIQ1_S · Q4_K_XL · Q8_K_XL
No locally verified scored comparison.

This is a narrow recommendation for one pinned runtime and host, not a declaration that IQ2 is the best DeepSeek V4 Flash quant everywhere. If your decision is primarily about platform fit, use Kingy’s separate guide to DeepSeek V4 Flash 0731 local hardware requirements. If you are still choosing the model, see Kimi K3 versus DeepSeek V4 Flash 0731.

What was tested—and what was not

The frozen plan selected five representative downloads from Unsloth’s 13-label repository: UD-IQ1_S, UD-IQ2_M, UD-IQ3_XXS, UD-Q4_K_XL and UD-Q8_K_XL. Their 20 shards total 594,638,870,752 bytes. The execution protocol kept one verified payload at a time on a 300GB volume.

Quant Exact payload Shards Locally verified evidence Quality status
UD-IQ1_S 82,539,237,792 bytes
82.539GB
3 No completed scored manifest recovered Unranked
UD-IQ2_M 90,926,928,288 bytes
90.927GB
3 177/177 complete; 3,162 manifest-listed files verified Measured
UD-IQ3_XXS 104,207,848,032 bytes
104.208GB
4 177/177 complete; 3,164 manifest-listed files verified Measured
UD-Q4_K_XL 155,095,241,120 bytes
155.095GB
5 No completed scored manifest recovered Unranked
UD-Q8_K_XL 161,869,615,520 bytes
161.870GB
5 26-file load-only smoke manifest verified; no generation Unranked

“Unranked” means the local evidence cannot support a task-quality conclusion. It does not mean the quant is worse.

The 59-case base suite was repeated at seeds 731, 1731 and 2731. Per quant, it contained one Python patch, one TypeScript patch, one strict-JSON task, 20 tool-use cases, 30 exact-answer reasoning problems and six multilingual prompts. That produced 177 executed case-seed rows per quant.

The decision denominator was narrower: 159 rows and 426 available rubric points per quant. The 18 multilingual rows were retained as a literal/canonical-marker diagnostic but excluded from the composite, recommendation, ranking and headline. The scorer can reject valid localized formatting or an unlisted synonym, so it does not establish multilingual factual preservation, multilingual degradation or general translation fluency.

The measured IQ2 versus IQ3 result

Decision task Maximum UD-IQ2_M UD-IQ3_XXS Observed split
Python patch 3 0 0 All attempts exhausted the output cap without a scorable unified diff
TypeScript patch 3 0 0 All attempts exhausted the output cap without a scorable unified diff
Strict JSON 30 20 20 Tie; two exact passes each
Tool calling 300 231 234 IQ3 +3 points
Exact-answer reasoning 90 67 66 IQ2 +1 point
Decision total 426 318 (74.65%) 320 (75.12%) IQ3 +2 points / +0.47 percentage points

This is a rubric-weighted descriptive aggregate, not a universal intelligence score. Multilingual diagnostic rows are excluded.

The most important result is not the two-point lead. It is the absence of a decisive separation. A 13.281GB payload increase bought three additional tool points and lost one reasoning point under this suite. Both quants tied on JSON and both failed the tiny patch sample. The evidence cannot show that IQ3’s extra 14.6% of download bytes creates a repeatable capability tier.

The coding result deserves particular caution. Three seeds around one Python task and one TypeScript task are not a broad software-engineering benchmark. All 12 quant-by-task-by-seed attempts exhausted the 4,096-token output cap without producing visible unified-diff file headers, so neither quant produced a scorable patch. This establishes a completion-and-format failure in these fixtures; it does not establish whether a valid patch would have passed the hidden tests. For coding agents, fixture-specific completion behavior and hidden tests both matter more than an overall percentage.

Length caps and corruption checks

The harness applied nine deterministic checks to every output: invalid UTF-8, replacement characters, unexpected control characters, degenerate spaces, degenerate blank lines, repeated 20-token n-grams, repeated paragraphs, premature end-of-sequence and runaway generation.

IQ2 had 35 outputs with at least one failed check; IQ3 had 34. In both sets, 32 failures were the harness’s runaway-generation condition, mostly outputs that reached their configured token cap. IQ2 recorded three repeated-20-token-ngram failures and one premature-EOS failure; IQ3 recorded two repeated-ngram failures. These counts do not establish a stable failure order—the difference is one output—but they do show why a deployment should enforce token ceilings and repetition monitoring.

Speed and memory on one six-A40 host

The host was an unchanged Linux 6.8 system with six NVIDIA A40 GPUs. nvidia-smi exposed 46,068MiB per GPU, or 289,834,795,008 bytes in aggregate. The machine had 540,644,073,472 bytes of physical RAM, no swap and 96 logical CPUs; llama.cpp used 52 CPU threads. The runtime was llama.cpp b10219, commit c629da565c80b0b17fac6262acdca4d772e745d8.

Metric UD-IQ2_M UD-IQ3_XXS Boundary
Observed server start-to-ready 21.14s 22.92s Not a page-cache-controlled cold-load benchmark
Median first-token time 0.764s 0.826s Recorded request mix on this host
Median decode rate 34.89 tokens/s 34.17 tokens/s Server-reported across the completed run
Median prompt rate 336.59 tokens/s 308.80 tokens/s Prompt lengths vary by task
Peak six-GPU memory at one shared sample 108,185,780,224 bytes
103,174MiB
121,393,643,520 bytes
115,770MiB
Not a sum of independently timed per-GPU peaks
Peak process RSS 91,606,327,296 bytes 104,887,451,648 bytes Process telemetry from the server lifecycle
Swap delta 0 0 The host had no swap configured

The smaller quant was about 2% faster by median decode rate and used about 13.2GB less observed aggregate GPU memory. These are runtime×hardware results, not pure compression measurements.

IQ2’s speed edge is directionally consistent with its smaller payload, but the suite was designed for task behavior rather than controlled performance isolation. There were no page-cache-controlled cold/warm pairs, no independent repeated load protocol and no alternate hardware. Treat the figures as one-run deployment observations.

What the Q8 smoke established

Before scoring, the 161.870GB UD-Q8_K_XL payload completed a generation-free capacity smoke at a 32,768-token allocation. The recorded 39.8083 seconds runs from process start through the controlled server stop; it is not an exact cold-load or load-to-health latency. The server log recorded model loaded at its logger-relative 33.672702-second mark, while health was polled at roughly five-second intervals.

The largest same-timestamp aggregate GPU-used sample was 176,389,357,568 bytes. No generation request was sent, and the smoke did not record system-RAM telemetry. It establishes that this exact host/runtime combination could load the Q8 payload for the smoke—not stable 32K inference, quality, speed or long-context retrieval.

Why Q8 is only 6.8GB larger than Q4

DeepSeek V4 Flash is not a conventional BF16 checkpoint uniformly compressed to one, three, four or eight bits. The pinned official configuration describes a 43-layer mixture-of-experts model with 256 routed experts, six selected per token, native FP4 expert storage and an FP8 configuration elsewhere. DeepSeek reports 284B total parameters with 13B active per token.

Unsloth says the routed experts account for roughly 96% of the model and remain in native MXFP4. Its Q8 and Q4 recipes therefore differ mainly on the smaller non-expert remainder. That explains why UD-Q4_K_XL is 155.095GB and UD-Q8_K_XL is 161.870GB. The labels describe mixed tensor recipes, not uniform bits per parameter.

Unsloth’s published Wikitext-2, context-512 proxy reports Q8 as effectively identical to its converted target reference and Q4 as close. Those developer measurements are useful conversion evidence, but perplexity, KL divergence and top-token agreement are not substitutes for compiled patches, schema validation, correct tool sequences or retrieval at long context. Kingy did not recover scored Q4 or Q8 rows, so those developer claims remain outside this ranking.

Which quant should you download?

Choose UD-IQ2_M when the measured pair is your decision

IQ2 is the evidence-led default from this run. It saved exactly 13,280,919,744 bytes versus IQ3, decoded slightly faster and gave up only two decision points. That is a better measured size/behavior trade-off than paying 14.6% more download size for a 0.47-point percentage difference.

Choose UD-IQ3_XXS only for a specific reason

IQ3 is defensible if its three extra tool-call points matter to your workload and the extra 13.3GB is irrelevant. Validate that hypothesis with your own tools, schemas and multi-turn traces. This run does not show a broad IQ3 quality tier, and it showed no coding-patch advantage.

Treat IQ1, Q4 and Q8 as unranked

IQ1 is still the smallest capacity candidate, Q4 remains the near-Q8-size alternative and Q8 carries the strongest developer conversion-fidelity claim. But the local evidence cannot tell you how their task behavior compares. Do not place them above or below IQ2/IQ3 using the missing rows.

The public evidence appendix preserves all 354 row-level scores, corruption checks, performance records, visible final model outputs and file hashes. It deliberately excludes hidden answer-key material and private reasoning text.

Reproducibility details

  • GGUF repository: unsloth/DeepSeek-V4-Flash-0731-GGUF at 109848da….
  • Official model reference: deepseek-ai/DeepSeek-V4-Flash-0731 at 7872f01b….
  • Runtime: llama.cpp b10219, commit c629da565c80b0b17fac6262acdca4d772e745d8.
  • Inference: split-mode layer, all layers requested for GPU offload, 32,768-token allocation, flash attention on, F16 K/V cache, batch and micro-batch 2,048, 52 threads, context shift off, warmup disabled.
  • Sampling: temperature 1.0; top-p 0.95 for agentic tasks and 1.0 otherwise; min-p 0; top-k 0; seeds 731, 1731 and 2731; reasoning effort high.
  • Plan ID: cd6b4c0a2a9329ff395278dcc2733641212a0a70d6d9dca3660bb670f734f760.
  • Tokenizer fingerprint: 48a40b21662bbb768d0231a919d54babdce0ad90f70a9361b278cfe51d529b5a.

The 12 shards used for the complete IQ2 and IQ3 runs and the Q8 smoke were SHA-256 verified on the benchmark host before loading. The local emergency pull then rechecked every manifest-listed evidence/result file: 3,162 for IQ2, 3,164 for IQ3 and 26 for the Q8 smoke. The appendix identifies those manifests and their hashes.

Limitations

  • This is a complete two-quant comparison, not the planned five-quant comparison. IQ1, Q4 and Q8 quality scoring is unavailable and excluded.
  • Long-context retrieval was NOT RUN at every rung, including 32K. Maximum stable context and the 128K/384K/1,048,576-token ladder were not tested.
  • No native-model or official-endpoint reference ran on the same task suite.
  • No page-cache-controlled cold/warm load experiment was performed.
  • The other eight repository labels and 96GB/128GB hardware classes were not empirically tested.
  • The multilingual scorer is a literal-marker diagnostic. Multilingual factual preservation, multilingual degradation and general translation fluency are NOT ESTABLISHED.
  • The manual IQ3 coherence control used a different request path and settings from the scored suite. It ruled out one immediate corruption signature only; it was not an exact scored-path validation.
  • Results belong to this quant×runtime×hardware combination. Runtime kernels, templates, parsers and sampling can change behavior.

Final verdict

Download UD-IQ2_M if you want the best supported size/behavior trade-off from the evidence Kingy actually completed. It was 13.281GB smaller, slightly faster and effectively tied with IQ3 on the decision rubric. Download IQ3 only when you can name a workload-specific reason—most plausibly its small tool-call advantage—and can validate that advantage yourself.

Do not convert missing data into a five-quant ranking. IQ1 may be the only payload that fits your machine; Q8 may be the best conversion-fidelity target; Q4 may fit where Q8 does not. None of those capacity or developer-proxy arguments is a Kingy task-quality result.

The useful conclusion is narrower and stronger: between the two measured downloads, more bytes did not buy a decisive behavior gain.

FAQ

What is the best tested DeepSeek V4 Flash 0731 quant?

Among the two quants with complete locally verified scored runs, UD-IQ2_M is the practical default. IQ3 led the rubric by only two points out of 426 while requiring 13.281GB more payload.

Did Kingy test five quants?

No. The plan covered five, but publishable scored evidence is complete only for IQ2 and IQ3. Q8 completed a load-only smoke. IQ1, Q4 and Q8 are unranked for quality.

Was IQ3 better at tool use?

It scored 234/300 versus IQ2’s 231/300. That three-point edge was partly offset by IQ2’s one-point reasoning edge. Validate tool behavior on your schemas before treating the difference as durable.

Which one was faster?

IQ2’s median decode rate was 34.89 tokens/s versus 34.17 for IQ3 on the same six-A40 host. The run was not a page-cache-controlled performance benchmark, so treat the roughly 2% difference as an observed result, not a universal speed ratio.

Can Q8 run at 32K context?

The Q8 payload loaded in a generation-free smoke with a 32K allocation. No generation or retrieval ran, so stable 32K inference was not established.

Where are the row-level results?

Download the versioned evidence appendix. It contains 354 row records, visible final outputs, scores, performance, corruption checks and cryptographic hashes, with hidden keys and private reasoning excluded.

Sources