| --- |
| license: mit |
| library_name: gguf |
| pipeline_tag: text-generation |
| base_model: deepseek-ai/DeepSeek-V4-Flash |
| base_model_relation: quantized |
| quantized_by: antirez |
| language: |
| - en |
| tags: |
| - gguf |
| - quantized |
| - deepseek |
| - deepseek-v4 |
| - deepseek-v4-flash |
| - moe |
| - mixture-of-experts |
| - 2-bit |
| - 4-bit |
| - iq2_xxs |
| - q2_k |
| - q4_k |
| - ds4 |
| - apple-silicon |
| - metal |
| --- |
| |
| # DeepSeek V4 Flash — GGUF for ds4 |
|
|
| This quants are specific for the DS4 inference engine. They may work with other inference engines or not (they should, but not the MTP model which requires a specific loader). |
|
|
| https://github.com/antirez/ds4 |
|
|
| ## Files |
|
|
| | File | Size | Routed experts (`ffn_{gate,up,down}_exps`) | Everything else | |
| |---|---:|---|---| |
| | `DeepSeek-V4-Flash-IQ2XXS-w2Q2K-AProjQ8-SExpQ8-OutQ8-chat-v2.gguf` | 80.8 GiB | `IQ2_XXS` (gate, up) + `Q2_K` (down) | `Q8_0` attn proj / shared experts / output, `F16` router + embed + indexer + compressor + HC, `F32` norms / sinks / bias | |
| | `DeepSeek-V4-Flash-Q4KExperts-F16HC-F16Compressor-F16Indexer-Q8Attn-Q8Shared-Q8Out-chat-v2.gguf` | 153.3 GiB | `Q4_K` (all three) | same as above | |
| | `DeepSeek-V4-Flash-MTP-Q4K-Q8_0-F32.gguf` | 3.6 GiB | MTP / speculative-decoding support (optional, not standalone). | | |
|
|
| Use **q2** on 128 GB Mac machines, **q4** on machines with ≥ 256 GB RAM, pair either with **MTP** for optional speculative decoding. |
|
|
| ## Quantization recipe |
|
|
| The filename is the spec. In detail, for the **q2** file: |
|
|
| | Tensor class | Quant | Notes | |
| |---|---|---| |
| | `blk.*.ffn_gate_exps`, `blk.*.ffn_up_exps` | **`IQ2_XXS`** | routed-expert up/gate | |
| | `blk.*.ffn_down_exps` | **`Q2_K`** | routed-expert down (K-quant for quality) | |
| | `blk.*.ffn_{gate,up,down}_shexp` | `Q8_0` | shared experts | |
| | `blk.*.attn_q_a`, `attn_q_b`, `attn_kv`, `attn_output_a`, `attn_output_b` | `Q8_0` | all attention projections (MLA + low-rank output) | |
| | `output.weight` | `Q8_0` | output head | |
| | `token_embd.weight` | `F16` | input embedding | |
| | `blk.*.ffn_gate_inp` (router) | `F16` | learned router | |
| | `blk.*.exp_probs_b` (router bias), `blk.*.attn_sinks`, all `*_norm.weight` | `F32` | | |
| | `blk.*.ffn_gate_tid2eid` | `I32` | hash-routing tables (first 3 layers only) | |
| | `blk.*.attn_compressor_*`, `blk.*.indexer_*`, `blk.*.hc_*`, `blk.*.output_hc_*` | `F16` / `F32` | DSv4-specific auxiliary blocks | |
|
|
| For the **q4** file, only the three routed-expert classes change to `Q4_K`. Everything else is byte-for-byte identical to the q2 recipe. |
|
|
| The motivation behind the asymmetry: the routed experts are the majority of the parameter count but each individual expert handles only a fraction of tokens, so aggressive quantization on them costs less in average quality than the same treatment of router, projections, or shared experts. Keeping the decision-making components at `Q8_0` preserves model behavior; crushing the experts buys the size. |
|
|
| ## Usage |
|
|
| ```bash |
| git clone https://github.com/antirez/ds4 |
| cd ds4 |
| ./download_model.sh q2 # 128 GB RAM machines |
| ./download_model.sh q4 # >= 256 GB RAM machines |
| ./download_model.sh mtp # optional MTP / speculative decoding |
| make |
| |
| ./ds4 -p "Explain Redis streams in one paragraph." |
| ./ds4-server --ctx 100000 --kv-disk-dir /tmp/ds4-kv --kv-disk-space-mb 8192 |
| ``` |
|
|
| The `download_model.sh` script fetches from this repository, resumes partial downloads, and points `./ds4flash.gguf` at the selected variant. |
|
|
| ## License |
|
|
| MIT. The base model copyright is held by DeepSeek; the GGUFs are redistributed under the base model's release terms. |
|
|