SinclairSchneider pastapaul commited on
Commit
ba2f0e7
·
0 Parent(s):

Duplicate from canada-quant/DeepSeek-V4-Flash-W4A16-FP8-MTP

Browse files

Co-authored-by: Paul Cozzolino <pastapaul@users.noreply.huggingface.co>

.gitattributes ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ *.7z filter=lfs diff=lfs merge=lfs -text
2
+ *.arrow filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bz2 filter=lfs diff=lfs merge=lfs -text
5
+ *.ckpt filter=lfs diff=lfs merge=lfs -text
6
+ *.ftz filter=lfs diff=lfs merge=lfs -text
7
+ *.gz filter=lfs diff=lfs merge=lfs -text
8
+ *.h5 filter=lfs diff=lfs merge=lfs -text
9
+ *.joblib filter=lfs diff=lfs merge=lfs -text
10
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
+ *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
+ *.model filter=lfs diff=lfs merge=lfs -text
13
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
14
+ *.npy filter=lfs diff=lfs merge=lfs -text
15
+ *.npz filter=lfs diff=lfs merge=lfs -text
16
+ *.onnx filter=lfs diff=lfs merge=lfs -text
17
+ *.ot filter=lfs diff=lfs merge=lfs -text
18
+ *.parquet filter=lfs diff=lfs merge=lfs -text
19
+ *.pb filter=lfs diff=lfs merge=lfs -text
20
+ *.pickle filter=lfs diff=lfs merge=lfs -text
21
+ *.pkl filter=lfs diff=lfs merge=lfs -text
22
+ *.pt filter=lfs diff=lfs merge=lfs -text
23
+ *.pth filter=lfs diff=lfs merge=lfs -text
24
+ *.rar filter=lfs diff=lfs merge=lfs -text
25
+ *.safetensors filter=lfs diff=lfs merge=lfs -text
26
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
+ *.tar.* filter=lfs diff=lfs merge=lfs -text
28
+ *.tar filter=lfs diff=lfs merge=lfs -text
29
+ *.tflite filter=lfs diff=lfs merge=lfs -text
30
+ *.tgz filter=lfs diff=lfs merge=lfs -text
31
+ *.wasm filter=lfs diff=lfs merge=lfs -text
32
+ *.xz filter=lfs diff=lfs merge=lfs -text
33
+ *.zip filter=lfs diff=lfs merge=lfs -text
34
+ *.zst filter=lfs diff=lfs merge=lfs -text
35
+ *tfevents* filter=lfs diff=lfs merge=lfs -text
README.md ADDED
@@ -0,0 +1,428 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: mit
3
+ base_model: deepseek-ai/DeepSeek-V4-Flash
4
+ base_model_relation: quantized
5
+ language:
6
+ - en
7
+ - zh
8
+ library_name: vllm
9
+ pipeline_tag: text-generation
10
+ tags:
11
+ - deepseek
12
+ - deepseek_v4
13
+ - compressed-tensors
14
+ - w4a16
15
+ - gptq
16
+ - fp8
17
+ - mtp
18
+ - speculative-decoding
19
+ - mixture-of-experts
20
+ - moe
21
+ - vllm
22
+ ---
23
+
24
+ # canada-quant/DeepSeek-V4-Flash-W4A16-FP8-MTP
25
+
26
+ W4A16 INT4 routed experts + FP8 block 128×128 attention + **BF16 Multi-Token Prediction (MTP) draft head retained** — the first DeepSeek-V4-Flash quantization that ships a working MTP block, giving ~1.5× speculative decoding (spec-decode) speedup at bs=1 with no quality cost. Extends the [W4A16-FP8 predecessor](https://huggingface.co/canada-quant/DeepSeek-V4-Flash-W4A16-FP8) by patching the `transformers` calibration path so the MTP block survives the load.
27
+
28
+ ## TL;DR
29
+
30
+ | | |
31
+ |---|---|
32
+ | **Recommended hardware** | RTX PRO 6000 Blackwell at **TP=2 (2 GPUs/replica)** or **TP=4 (4 GPUs/replica)** — both validated · or 8× H200 TP=2 |
33
+ | **Quality** | GSM8K 93.71% (8-shot strict); HumanEval 84.76% pass@1; MMLU 86.88% |
34
+ | **Throughput** | RTX PRO 6000 **98.83 @ TP=2** / **107.32 @ TP=4** at bs=1; 88.35 on H200 TP=2 |
35
+ | **MTP acceptance** | 89% calibrated workload / 70% on random prompts at bs=1 k=1 |
36
+ | **Spec-decode speedup** | **1.49× at bs=1, k=1** (TPOT 6.02 ms vs 8.93 ms, same artifact) |
37
+ | **Differentiator** | First V4-Flash W4A16 quant where MTP survives the calibration load; `transformers` 5.8.1 silently strips MTP keys by default |
38
+
39
+ ## Family / related artifacts
40
+
41
+ | Repo | Role | Relation to this artifact |
42
+ |---|---|---|
43
+ | [`canada-quant/DeepSeek-V4-Flash-W4A16-FP8`](https://huggingface.co/canada-quant/DeepSeek-V4-Flash-W4A16-FP8) | predecessor | Same W4A16 + FP8 recipe; MTP dropped at load (the bug this artifact fixes) |
44
+ | [`canada-quant/DeepSeek-V4-Flash-NVFP4-FP8-MTP`](https://huggingface.co/canada-quant/DeepSeek-V4-Flash-NVFP4-FP8-MTP) | sibling | Same MTP-retention pattern; NVFP4 routed experts instead of W4A16 (Blackwell-native) |
45
+ | [`canada-quant/DeepSeek-V4-Pro-NVFP4-FP8-MTP`](https://huggingface.co/canada-quant/DeepSeek-V4-Pro-NVFP4-FP8-MTP) | larger sibling | V4-Pro at NVFP4 + MTP, B300-only deployment |
46
+ | [`RedHatAI/DeepSeek-V4-Flash-NVFP4-FP8`](https://huggingface.co/RedHatAI/DeepSeek-V4-Flash-NVFP4-FP8) | upstream reference | Original NVFP4 recipe (no MTP — same silent-drop bug) |
47
+
48
+ ## Why this exists
49
+
50
+ The [W4A16-FP8 predecessor](https://huggingface.co/canada-quant/DeepSeek-V4-Flash-W4A16-FP8) and [`RedHatAI/DeepSeek-V4-Flash-NVFP4-FP8`](https://huggingface.co/RedHatAI/DeepSeek-V4-Flash-NVFP4-FP8) both **drop the MTP block** because `transformers` 5.8.1's `DeepseekV4PreTrainedModel` declares:
51
+
52
+ ```python
53
+ _keys_to_ignore_on_load_unexpected = [r"(^|\.)mtp\..*"]
54
+ ```
55
+
56
+ which silently filters every `mtp.*` tensor at `from_pretrained` time — without warning, without error. Calibration pipelines that go through `from_pretrained` produce quantized main weights paired with an absent MTP block; serving falls back to plain decode, losing the ~1.5–2× spec-decode speedup that V4-Flash's architecture provides.
57
+
58
+ This artifact bypasses the silent drop, runs the full 8-rank GPTQ calibration on a 768-sample corpus against the main routed experts, preserves the MTP block unquantized in BF16, and produces a serving artifact where speculative decoding actually fires.
59
+
60
+ ## Architecture & precision
61
+
62
+ ### Base model
63
+
64
+ | Property | Value |
65
+ |---|---|
66
+ | Total parameters | ~284 B (~13 B active per token) |
67
+ | Decoder layers | 43 |
68
+ | Routed experts / layer | 256 (top-K = 6) |
69
+ | Hidden size | 4096 |
70
+ | Base BF16 size | ~543 GB |
71
+ | Quantized size | **159 GB** (+3 GB vs predecessor for the BF16 MTP block) |
72
+
73
+ ### Component precisions
74
+
75
+ | Component | Format | Method |
76
+ |---|---|---|
77
+ | Routed experts (256 × 43 layers × 3 projections) | W4A16 INT4, group_size=128, symmetric | GPTQ via llm-compressor, 768 calibration samples |
78
+ | Attention path (`wq_a`, `wq_b`, `wkv`, `wo_a`, `wo_b`, indexer, compressor) | FP8_BLOCK 128×128 | Dynamic scales, `scale_fmt=ue8m0` |
79
+ | **MTP block (`mtp.0.*`)** | **BF16** | **Excluded from quantization, preserved verbatim** |
80
+ | HC plumbing (`hc_attn_*`, `hc_ffn_*`, `hc_head_*`), `attn_sink`, `ffn.gate.bias`, indexer/compressor `ape` | FP32 | Restored post-save from BF16 source (see [Upstream contributions](#upstream-contributions-filed-during-this-work)) |
81
+ | `head.weight` (LM head) | FP32 | Upcast from BF16 to match sibling artifact's MTP loader path |
82
+ | Embeddings (`embed.weight`, `mtp.0.emb.tok_emb.weight`) | BF16 | Source dtype preserved |
83
+
84
+ ## Hardware validated
85
+
86
+ | Platform | SM | HBM/GPU | Interconnect | TP | Role |
87
+ |---|---|---|---|---|---|
88
+ | 8× NVIDIA H200 SXM5 | 9.0a | 141 GB HBM3e | NVLink | 2 (4× replicas) | Calibration + initial benchmarks (`p5en.48xlarge`) |
89
+ | 4× NVIDIA RTX PRO 6000 Blackwell Server Edition | 12.0, sm_120 | 96 GB HBM | PCIe | **TP=2 (2 GPUs, 2 replicas on a 4-GPU box) or TP=4 (4 GPUs, 1 replica)** | Workstation Blackwell deployment + $/token sweet spot |
90
+
91
+ Same artifact, no weight changes between SKUs. Both validated cuda graphs ON.
92
+
93
+ ## Benchmarks
94
+
95
+ All numbers from the same artifact, vLLM HEAD `50d9dd902` + 4 patches cherry-picked (PRs #43248 / #43288 / #43290 / #43319).
96
+
97
+ ### Quality
98
+
99
+ Sampling: greedy, temperature 0. Methodology disclosed per row.
100
+
101
+ | Benchmark | Setting | This artifact | Predecessor (W4A16-FP8, no MTP) | RedHat (NVFP4-FP8, no MTP) | Delta |
102
+ |---|---|---|---|---|---|
103
+ | GSM8K | 8-shot, strict-match | **93.71% ± 0.67** | 95.07% (RTX PRO 6000) / 95.45% (Spark) | 91.0% (self-reported) | -1.28 pts vs predecessor (within 1 SE) |
104
+ | GSM8K | 8-shot, flexible-extract | 93.63% ± 0.67 | 95.37% (Spark) | — | within SE |
105
+ | MMLU | 5-shot | **86.88% ± 0.27** | 87.27% (H200) | — | -0.39 pts (within SE) |
106
+ | MMLU-Pro | 5-shot, 12k prompts, custom-extract | **71.28% ± 0.40** | — | — | sibling NVFP4-FP8-MTP scored 81.13% on B300 — expected gap given W4A16 has more quant noise than NVFP4 on knowledge-heavy harder benchmarks |
107
+ | HumanEval | 0-shot pass@1, `--confirm_run_unsafe_code` | **84.76% ± 2.82** | 80.49% (corrected, see predecessor card "Changes") | — | +4.27 pts vs corrected predecessor number |
108
+ | AIME 2024 | 30 problems, thinking=high, c=4, max_tokens=64K | **29/30 (96.7%)** ✓ verified 2026-05-29 in fresh Docker (TP=4 RTX PRO 6000) | — | — | the prior 30.0% number was a scoring artifact (see footnote); proper chat-template thinking=high + max_tokens at the model-len cap (so reasoning isn't truncated) returns the right answer. TP=2 same config: 27/30 (90.0%). |
109
+ | GSM8K-50 chat-mode cross-check (RTX PRO 6000 TP=4, 2026-05-24 post-shipping-fix) | greedy, no thinking, concurrency=1 | **44/50 = 88.0%** | — | — | matches Card B sibling's 88% strict TP=2 / 90% strict TP=4 on the same hardware — confirms dequant'd artifact preserves quality |
110
+ | IFEval prompt-strict | chat-template, no thinking | **TBD**² | — | — | not yet measured cleanly on this build |
111
+ | chat-smoke (quick / quality / coding) | harness | 4/4 · 4/4 · 2/2 | 4/4 · 4/4 · 2/2 | — | match |
112
+ | toolcall15 | 1 round, 30 points | 24/30 (80%) | 26/30 (87%) | — | -2 pts — see [Honest limitations](#honest-limitations) |
113
+
114
+ ¹ The prior 30.0% AIME number was an lm-eval-harness `aime24` task artifact — completions-mode prompt (no chat template), `exact_match` scorer on a thinking-mode model whose answers are wrapped in `<think>…</think>` + `\boxed{N}`. The scorer matched the literal answer string and missed virtually every correct response. A 1-shot smoke under proper chat-templated thinking=high methodology returned **2024-II-4: pred=33, exp=33, correct** in 2072 completion tokens — model behavior is correct. Full 30-problem re-bench attempted 2026-05-24 on this RTX PRO 6000 box hit a reproducible CUDA illegal memory access (`Worker_TP2: torch.AcceleratorError`) under any concurrent thinking-mode load (cuda graphs and `--enforce-eager` both crash; concurrency=4 dies at ~11 min, concurrency=8 dies at ~90 s). Single-shot inference works. Re-bench deferred to H200 with `jasl/vllm@ds4-sm120-experimental@abad5dc71` (the build the original Card D H200 numbers used).
115
+
116
+ ² IFEval re-bench attempted 2026-05-24 hit the same RTX PRO 6000 stability issue. Deferred alongside AIME.
117
+
118
+ ### Throughput
119
+
120
+ `vllm bench serve` random 256-in / 256-out, MTP-spec `num_speculative_tokens=1` (k=1 cap on this build — see [Honest limitations](#honest-limitations)), cuda graphs ON.
121
+
122
+ | Hardware | TP | bs=1 output tok/s | bs=1 TPOT median | bs=4 output tok/s | bs=16 output tok/s | MTP acceptance @ bs=1 |
123
+ |---|---|---|---|---|---|---|
124
+ | 8× H200 | 2 (per replica) | 88.35 | **6.02 ms** | 138.80 | 367.13 | 89% calibrated / 70% random |
125
+ | 4× RTX PRO 6000 box | TP=2 (per replica, 2 replicas fit) | **98.83** | 8.55 ms | 219.53 | 482.61 | 71% |
126
+ | 4× RTX PRO 6000 box | TP=4 (single replica) | **107.32** | 7.77 ms | 221.52 | **584.04** | 68% |
127
+
128
+ Per-replica, RTX PRO 6000 wins output throughput at every batch size; H200 still wins per-token TPOT median.
129
+
130
+ ### MTP draft-token acceptance per workload
131
+
132
+ Same artifact, bs=1, k=1.
133
+
134
+ | Workload | Prompts | Accepted / emitted | Acceptance |
135
+ |---|---|---|---|
136
+ | Random 256-token prompts (200 samples) | random | 21024 / 30058 | **69.94%** |
137
+ | Code, raw completion (15 short signature+docstring prompts) | code-raw | 1847 / 1988 | **92.91%** |
138
+ | Chat-templated prose (15 prompts) | chat-prose | 1946 / 2376 | **81.90%** |
139
+ | Raw natural language (15 continuation prompts) | nl-raw | 1745 / 2086 | **83.65%** |
140
+
141
+ Spec-decode wins at low concurrency (single-user interactive). At bs≥4 the verifier is already filling its batch lane, so extra verifier passes add overhead without saving wall-clock — matches the sibling artifact's framing of bs=1 as the headline operating point.
142
+
143
+ ### Cost per output token (node-level)
144
+
145
+ Boxes priced for cloud-rented hardware. Single-replica numbers measured; multi-replica totals are linear extrapolation.
146
+
147
+ | Box | Replicas | bs=1 total tok/s | bs=16 total tok/s | $/h | $/(1000 tok/h) at bs=1 |
148
+ |---|---|---|---|---|---|
149
+ | `p5en.48xlarge` (8× H200) | 4× TP=2 | ~353 | ~1468 | $98 | **$278** |
150
+ | `g7e.24xlarge` (4× RTX PRO 6000) | 2× TP=2 | ~198 | ~965 | $19.92 | **$101** |
151
+ | `g7e.24xlarge` (4× RTX PRO 6000) | 1× TP=4 | 107.32 | 584.04 | $19.92 | $186 |
152
+
153
+ **At bs=1 (interactive), RTX PRO 6000 2×TP=2 is ~2.7× cheaper than H200 4×TP=2.** At bs=16 the gap narrows because H200's per-replica throughput scales better with batch — H200 wins absolute throughput when you can fill it; RTX wins on $/token unless you genuinely need >1500 tok/s aggregate output.
154
+
155
+ ### Cross-validation: 2026-05-29 fresh Docker on RTX PRO 6000 ✓
156
+
157
+ > **Hardware coverage:** all numbers below are from **RTX PRO 6000 Blackwell Server Edition (SM 12.0a)** on a Brev `g7e.24xlarge`. The image is **expected to work on Workstation Edition (same SM 12.0a, same Marlin native cubins, same model + serve path)** but we have not directly verified it ourselves. Reference TP=2 Workstation numbers from jasl's bench harness ([`baselines/20260512_sm120_deployment_1c20f1a6d`](https://github.com/jasl/vllm-ds4-sm120-harness/tree/main/baselines/20260512_sm120_deployment_1c20f1a6d)) confirm the underlying stack runs on Workstation. Expect a 5-15% throughput delta from clock/memory-bandwidth differences. If anything misbehaves on Workstation Edition, open an issue at [the repo](https://github.com/canada-quant/dsv4-flash-w4a16-fp8-mtp).
158
+
159
+ Full bench matrix on `canada-quant/dsv4-w4a16-rtxpro6000:v1` (the [HF-published Docker image](https://huggingface.co/datasets/canada-quant/dsv4-flash-w4a16-rtxpro6000-image), built from `jasl/vllm@27fd665b` + canada-quant BF16-MTP cherry-pick + Marlin MoE `c_tmp`/workspace patches). All AIME runs at `max_tokens = max_model_len - 500 = 65036` so reasoning runs to natural stop:
160
+
161
+ | AIME-2024 thinking-mode sweep (c=4, n=30) | TP=2 (max_num_seqs=4) | TP=4 (max_num_seqs=16) |
162
+ |---|---|---|
163
+ | chat (no think) | 18/30 · MTP 95.78% · 53m | 19/30 · MTP 93.06% · 5m |
164
+ | **thinking-high** | **27/30 · MTP 91.97% · 152m** | **29/30 · MTP 91.01% · 13m** |
165
+ | thinking-max | 24/30 · MTP 92.52% · 177m | 27/30 · MTP 91.68% · 26m |
166
+
167
+ | AIME-2024 single-shot reference (c=1, thinking-high, n=30) | TP=2 | TP=4 |
168
+ |---|---|---|
169
+ | c=1 high | 27/30 · MTP 91.68% · 48m | **28/30 · MTP 90.76% · 41m** |
170
+
171
+ | GSM8K (n=50, 8-shot) | TP=2 | TP=4 |
172
+ |---|---|---|
173
+ | flexible-extract | 45/50 (90.0%) | 43/50 (86.0%) |
174
+ | strict-match | 42/50 (84.0%) | 40/50 (80.0%) |
175
+
176
+ | Throughput random 256/256 (single replica, MTP on) | TP=2 tok/s @ TPOT p50 | TP=4 tok/s @ TPOT p50 |
177
+ |---|---|---|
178
+ | bs=1 | 95.2 @ 8.05 ms | **108.1 @ 7.32 ms** |
179
+ | bs=4 | 40.6 @ 83.18 ms | 104.3 @ 11.31 ms |
180
+ | bs=8 | 45.7 @ 79.02 ms | **433.2 @ 16.44 ms** (sweet spot) |
181
+ | bs=16 | 34.9 (capped by max_num_seqs=4) | 164.3 (scheduler thrash) |
182
+
183
+ | Throughput random 1024/1024 | TP=2 | TP=4 |
184
+ |---|---|---|
185
+ | bs=1 | 30.7 tok/s | 138.1 tok/s |
186
+ | bs=4 | 45.1 tok/s | 363.7 tok/s |
187
+
188
+ **Headlines from this run:**
189
+
190
+ - **Zero CUDA illegal-memory-access** in 240 AIME thinking-mode problems across c=4 chat/high/max + c=1 high on both TP=2 and TP=4 = the Marlin MoE concurrent-decode race is fixed by the `c_tmp` clamp removal in PR [vllm#43730](https://github.com/vllm-project/vllm/pull/43730) (which is baked into the v3 image via `jasl/vllm@27fd665b`).
191
+ - **TP=4 is 7-12× faster** than TP=2 at AIME (chat 53m→5m, high 152m→13m, max 177m→26m). MoE expert sharding across 4 GPUs decisively wins.
192
+ - **Thinking-max regresses correctness AND triples wall** (TP=4: high 29/30 in 13m vs max 27/30 in 26m). The artifact's sweet spot is `reasoning_effort=high`.
193
+ - **MTP holds 91-93%** across all thinking modes and TP configs — the BF16-retained draft head is doing its job everywhere.
194
+
195
+ Raw JSON + per-bench logs in the [reproduction repo](https://github.com/canada-quant/dsv4-flash-w4a16-fp8-mtp/tree/main/benchmarks/rtxpro6000_docker_v3).
196
+
197
+ #### Tuning attempts that DID NOT win on TP=4 Server (documenting so you don't repeat them)
198
+
199
+ We A/B-tested adopting jasl's TP=2 Workstation env tunings at TP=4 Server — none of them transferred. Stick with the v3 image defaults:
200
+
201
+ | Change from defaults | Result | Why |
202
+ |---|---|---|
203
+ | `num_speculative_tokens=2` (jasl's `deepseek_mtp` k=2 default) | **−86% bs=8** (433 → 60 tok/s) | k=2 doubles main-model forward cost; at TP=4 the all-reduce overhead exceeds the ~1.5 tokens-per-draft acceptance gain that's net-positive at TP=2 |
204
+ | `--enable-expert-parallel` (jasl recommends) | similarly bad combined with k=2 | TP=4 all-to-all expert-gather is expensive |
205
+ | `VLLM_TRITON_MLA_SPARSE_QUERY_CHUNK_SIZE=512` + `..._TOPK_CHUNK_SIZE=512` (jasl's chunk-size tunings) | **CUDA illegal memory access at cudagraph capture** | Tuned for SM 12.0a c128a Workstation single-request prefill; exceed safe limits at TP=4 Server |
206
+ | `--no-enable-flashinfer-autotune` (jasl recommends) | **−74% bs=8** (433 → 111 tok/s) | Triton block-FP8 autotune is load-bearing at TP=4 — disabling locks in default tile sizes that don't match the 4-GPU shape |
207
+ | `--gpu-memory-utilization 0.985` (jasl recommends) | crash potential combined with sparse-MLA env | 0.95 is the safe value the v3 image ships with at TP=4 |
208
+
209
+ The image's defaults are the optimal config for TP=4 RTX PRO 6000 Server Edition as of 2026-05-29. If you're deploying on **TP=2 Workstation Edition**, jasl's reference config ([`sm120_tp2_serve.env.example`](https://github.com/jasl/vllm-ds4-sm120-harness/blob/main/configs/sm120_tp2_serve.env.example)) is the right starting point — it was tuned on that exact hardware.
210
+
211
+ ## Quick start
212
+
213
+ ### RTX PRO 6000 Blackwell — Docker (recommended)
214
+
215
+ The pre-built [`canada-quant/dsv4-w4a16-rtxpro6000:v1`](https://huggingface.co/datasets/canada-quant/dsv4-flash-w4a16-rtxpro6000-image)
216
+ image bakes the full 13-layer recipe (`jasl/vllm@27fd665b` + canada-quant BF16
217
+ MTP cherry-pick + Marlin MoE c_tmp/workspace patches + `cute.arch.fmin` shim).
218
+ ~3-5 min from `docker load` to a working endpoint on a g7e.24xlarge.
219
+
220
+ ```bash
221
+ # 1. Pull the image tarball (~14 GB compressed)
222
+ hf download canada-quant/dsv4-flash-w4a16-rtxpro6000-image \
223
+ --include "*.tar.gz" --local-dir .
224
+ docker load < dsv4-w4a16-rtxpro6000-v1.tar.gz
225
+
226
+ # 2. Cache the W4A16 model onto NVMe (~159 GB, ~1-2 min via xet on Brev)
227
+ HF_HOME=/opt/dlami/nvme/hf-cache hf download \
228
+ canada-quant/DeepSeek-V4-Flash-W4A16-FP8-MTP
229
+
230
+ # 3. Pull the serve helper
231
+ git clone https://github.com/canada-quant/dsv4-flash-w4a16-fp8-mtp.git
232
+ cd dsv4-flash-w4a16-fp8-mtp
233
+
234
+ # 4. Serve TP=2 (or TP=4 with --gpus all -e TP=4 -e MAX_NUM_SEQS=16)
235
+ docker run -d --gpus '"device=0,1"' --name dsv4-w4a16-serve \
236
+ --shm-size=16g --ipc=host -p 8000:8000 \
237
+ -v /opt/dlami/nvme/hf-cache:/root/.cache/huggingface \
238
+ -v $(pwd)/scripts:/workspace/scripts:ro \
239
+ -e TP=2 -e MAX_NUM_SEQS=4 -e MAX_MODEL_LEN=65536 -e GPU_MEM_UTIL=0.95 \
240
+ canada-quant/dsv4-w4a16-rtxpro6000:v1 \
241
+ bash /workspace/scripts/serve_rtx6000pro_w4a16.sh
242
+
243
+ # 5. Wait for /v1/models (~3-5 min model load + cudagraph capture)
244
+ until curl -sf http://127.0.0.1:8000/v1/models >/dev/null; do sleep 5; done
245
+
246
+ # 6. Run the full bench matrix (AIME chat/high/max + GSM8K + throughput)
247
+ docker exec dsv4-w4a16-serve bash -c \
248
+ "TAG=tp2_64k MAX_MODEL_LEN=65536 bash /workspace/scripts/bench_matrix.sh"
249
+ ```
250
+
251
+ ### RTX PRO 6000 Blackwell — from-source install (advanced)
252
+
253
+ ```bash
254
+ # 1. Bootstrap vLLM (~25 min for source build)
255
+ git clone https://github.com/canada-quant/dsv4-flash-w4a16-fp8-mtp.git
256
+ cd dsv4-flash-w4a16-fp8-mtp
257
+ bash scripts/bootstrap_rtx6000pro.sh
258
+
259
+ # 2. Extra pins
260
+ source ~/venv-serve/bin/activate
261
+ pip install --quiet "flashinfer-python==0.6.8.post1" "flashinfer-cubin==0.6.8.post1" \
262
+ "numba==0.65.0" "tilelang==0.1.9" "apache-tvm-ffi==0.1.9" "fastsafetensors>=0.2.2"
263
+
264
+ # 3. Apply patches
265
+ python scripts/patch_v4_forcausal_packed_mapping.py "$(python -c 'import vllm; print(vllm.__path__[0])')"
266
+ python scripts/patch_mtp_packed_mapping.py "$(python -c 'import vllm; print(vllm.__path__[0])')"
267
+ python scripts/patch_nvidia_attn_scale.py "$(python -c 'import vllm; print(vllm.__path__[0])')"
268
+ bash scripts/patch_wo_a_bf16_path.sh "$(python -c 'import vllm; print(vllm.__path__[0])')"
269
+
270
+ # 4. Download artifact (159 GiB) — already dequant'd in-artifact as of 2026-05-24,
271
+ # no local preprocessing step required.
272
+ hf download canada-quant/DeepSeek-V4-Flash-W4A16-FP8-MTP \
273
+ --local-dir /scratch/weights/w4a16-fp8-mtp-gptq
274
+
275
+ # 5. Serve TP=2 (or TP=4 with 0,1,2,3)
276
+ CUDA_VISIBLE_DEVICES=0,1 bash scripts/serve_rtx6000pro.sh \
277
+ /scratch/weights/w4a16-fp8-mtp-gptq 8000 2
278
+ ```
279
+
280
+ **Required runtime env vars on SM 12.x (already set inside `serve_rtx6000pro.sh` but worth knowing):**
281
+
282
+ ```bash
283
+ export VLLM_TRITON_MLA_SPARSE=1
284
+ export VLLM_TRITON_MLA_SPARSE_HEAD_BLOCK_SIZE=4
285
+ export VLLM_USE_FLASHINFER_SAMPLER=0
286
+ ```
287
+
288
+ Without `VLLM_TRITON_MLA_SPARSE_HEAD_BLOCK_SIZE=4` the sparse-MLA Triton kernel can crash during warmup with `RuntimeError: Triton Error [CUDA]: an illegal memory access` in `_dequantize_and_gather_k_kernel`. The FlashInfer sampler is also broken on `TORCH_CUDA_ARCH_LIST=12.0a` — fall back to PyTorch-native via `VLLM_USE_FLASHINFER_SAMPLER=0`.
289
+
290
+ ### H200
291
+
292
+ ```bash
293
+ vllm serve canada-quant/DeepSeek-V4-Flash-W4A16-FP8-MTP \
294
+ --tensor-parallel-size 2 \
295
+ --kv-cache-dtype fp8 --block-size 256 \
296
+ --max-model-len 4096 \
297
+ --gpu-memory-utilization 0.80 \
298
+ --no-enable-prefix-caching \
299
+ --tokenizer-mode deepseek_v4 \
300
+ --tool-call-parser deepseek_v4 --enable-auto-tool-choice \
301
+ --reasoning-parser deepseek_v4 \
302
+ --speculative-config '{"method":"mtp","num_speculative_tokens":1}' \
303
+ --trust-remote-code
304
+ ```
305
+
306
+ ## Quantization recipe
307
+
308
+ | Property | Value |
309
+ |---|---|
310
+ | Dataset | `HuggingFaceH4/ultrachat_200k` (V4 chat template) |
311
+ | Samples | 768 |
312
+ | Max sequence length | 512 |
313
+ | Per-rank batch size | 4 |
314
+ | Calibration hardware | 8× NVIDIA H200 (`p5en.48xlarge`) |
315
+ | Walltime | ~15.4h (15.09h oneshot + ~16 min save) |
316
+ | Per-subgraph cadence | ~20 min/subgraph × 44 subgraphs (43 MoE + 1 MTP no-op) |
317
+
318
+ Calibration recipe identical to the [W4A16-FP8 predecessor](https://huggingface.co/canada-quant/DeepSeek-V4-Flash-W4A16-FP8) with one change: the modeling class is patched to remove `mtp.*` from `_keys_to_ignore_on_load_unexpected` before `from_pretrained`, so the MTP block survives the load and is written back to the artifact at BF16.
319
+
320
+ ## vLLM build
321
+
322
+ ### Common patches (all platforms)
323
+
324
+ | PR | Purpose | Status |
325
+ |---|---|---|
326
+ | [`vllm-project/vllm#43248`](https://github.com/vllm-project/vllm/pull/43248) | `bool()` wrap on `is_static_input_scheme` | open |
327
+ | [`vllm-project/vllm#43288`](https://github.com/vllm-project/vllm/pull/43288) | `.get("scale_fmt", "ue8m0")` on missing key + BF16 `getattr` follow-up | open |
328
+ | [`vllm-project/vllm#43290`](https://github.com/vllm-project/vllm/pull/43290) | `weight_scale_inv`-or-`weight_scale` fallback (attention) | open |
329
+ | [`vllm-project/vllm#43319`](https://github.com/vllm-project/vllm/pull/43319) | MTP-quant-detect from safetensors header + BF16 `wo_a` fallback path | open |
330
+
331
+ ### RTX PRO 6000 Blackwell (SM 12.0) only
332
+
333
+ | Patch | Purpose |
334
+ |---|---|
335
+ | `packed_modules_mapping` on `DeepseekV4ForCausalLM` + `DeepSeekV4MTP` | Required as of `ds4-sm120-experimental@abad5dc71` |
336
+ | BF16 `wo_a` path for MTP block | Static `weight.dtype == bfloat16` check (dynamo-safe) |
337
+ | `--disable-custom-all-reduce` | No NVLink between RTX PRO 6000 boards |
338
+ | CMakeLists `USE_SABI 3.11` removal | For Python 3.10 |
339
+
340
+ (Previously this list also required a `compressor/indexer FP8 → BF16 dequant preprocess` step run against the local artifact. As of 2026-05-24 the dequant is baked into the published artifact — see [Changes](#changes).)
341
+
342
+ H200 deployments need only the four common patches.
343
+
344
+ ## Honest limitations
345
+
346
+ 1. **k=1 cap on spec-decode** — current vLLM build limits `num_speculative_tokens` to 1 due to DeepGemm kernel assertion `next_n == 1 or next_n == 2` in `smxx_fp8_fp4_paged_mqa_logits.hpp:233`. vLLM passes `next_n = num_speculative_tokens + 1`, so practical k is 1. The `FLASHINFER_MLA_SPARSE` attention backend hits the same kernel-side assertion. With the assertion relaxed, expect bs=1 speedup to rise from 1.49× to ~1.85× (matching sibling NVFP4 artifact's k=2 published number).
347
+ 2. **Concurrent thinking-mode workloads on RTX PRO 6000 produce token-corrupted output** — under concurrency ≥ 2 with thinking=high (long-decode workloads like AIME), the Marlin W4A16 MoE decode kernel on SM 12.0 produces token-stream corruption (CJK / Cyrillic / garbled ASCII spliced into the model's reasoning trace). The same hardware + same vLLM build serving the **NVFP4 sibling** ([`canada-quant/DeepSeek-V4-Flash-NVFP4-FP8-MTP`](https://huggingface.co/canada-quant/DeepSeek-V4-Flash-NVFP4-FP8-MTP) via `flashinfer_trtllm` MoE) is essentially clean on the same workload (1/30 vs 14/30 corrupted at c=4 thinking). The bug is **specific to the W4A16 + Marlin MoE decode path on SM 12.0**. Investigation isolated through 7 controlled tests (sparse-MLA topk-chunk size, MTP-off, matmul_decode-off, eager-mode, concurrency sweep, NVFP4 vs W4A16 path comparison). **Workaround on RTX PRO 6000:** for batched thinking-mode workloads, serve the NVFP4 sibling artifact instead. For sequential (c=1) thinking-mode or any batched chat-mode (no thinking), this W4A16-MTP artifact works cleanly (GSM8K-20 chat-mode sequential = 20/20 = 100%, MTP draft acceptance 92.46%). Full debug log + reproducible benches: [`docs/findings/sm12x_token_corruption_2026_05_24.md`](https://github.com/canada-quant/dsv4-flash-w4a16-fp8-mtp/blob/main/docs/findings/sm12x_token_corruption_2026_05_24.md). Filed upstream as [`jasl/vllm#12`](https://github.com/jasl/vllm/issues/12).
348
+ 3. **toolcall15 -2 pts vs predecessor** — model-routing regressions on chain-completion (TC-07 stopped mid-chain to ask a clarifying question) and multi-tool extraction (TC-06 returned both translations as content text instead of routing two `translate` calls). Quality-wise the model completes the underlying intent; the harness scores tool-call-protocol fidelity, not task completion. Not a parser issue (confirmed by replay through `--tool-call-parser deepseek_v4`).
349
+ 4. **GSM8K -1.3 pts** vs predecessor's 8-shot strict-match — within one SE, but technically below. Likely calibration-set sensitivity rather than recipe drift (recipe is identical, hardware differs).
350
+ 5. **NVFP4 native kernels on RTX PRO 6000 not auto-selected** — even though `csrc/quantization/fp4/nvfp4_scaled_mm_sm120_kernels.cu` exists in upstream vLLM, the backend selector doesn't pick it ([`vllm-project/vllm#31085`](https://github.com/vllm-project/vllm/issues/31085)). Until that lands, the sibling NVFP4 artifact on this hardware would route through Marlin too. This artifact's W4A16 path is the tested choice for RTX PRO 6000.
351
+
352
+ ## Reproduction
353
+
354
+ Full pipeline at [`canada-quant/dsv4-flash-w4a16-fp8-mtp`](https://github.com/canada-quant/dsv4-flash-w4a16-fp8-mtp). From a fresh 8× H200 box:
355
+
356
+ ```bash
357
+ # Phase 0 — bootstrap (venv-calib + venv-serve + vendor + apply patches)
358
+ bash scripts/bootstrap_p5en_h200.sh
359
+
360
+ # Phase 1 — download upstream + dequant to BF16-MTP source (~30 min, ~660 GB)
361
+ bash scripts/phase1_dequant.sh
362
+
363
+ # Phase 2 — GPTQ calibration (8 ranks, ~15h wall)
364
+ bash scripts/run_phase2.sh
365
+
366
+ # Phase 3 — postprocess (rename + config patch + FP32 restore + MTP aliases)
367
+ bash scripts/postprocess_phase2.sh
368
+
369
+ # Phase 4 — verify
370
+ python scripts/verify_option_y.py /scratch/weights/w4a16-fp8-mtp-gptq
371
+
372
+ # Phase 5 — serve (see Quick start above for serve command)
373
+ ```
374
+
375
+ ## Upstream contributions filed during this work
376
+
377
+ | Contribution | Description | Status |
378
+ |---|---|---|
379
+ | transformers — `save_pretrained` silent FP32 → BF16 downcast | 417 tensors specified as FP32 in DeepSeek's release spec (HC plumbing, gate bias, attn_sink, indexer/compressor `ape`) are silently written as BF16 by `save_pretrained` when model `torch_dtype` is BF16. Workaround: postprocess restore from BF16 source via [`scripts/fixup_artifact.py`](https://github.com/canada-quant/dsv4-flash-w4a16-fp8-mtp/blob/main/scripts/fixup_artifact.py). Upstream filing pending | local |
380
+ | vLLM — MTP loader silently skips top-level `head.weight` + `embed.weight` | `DeepSeekV4MTP.load_weights` calls `name.replace("mtp.0.", "")` which no-ops on non-`mtp.0.*` keys; `get_spec_layer_idx` returns None → loop skips. `head.weight` and `embed.weight` never reach `shared_head.head` / `embed_tokens` → uninitialized → **0% MTP acceptance with no load-time error**. Workaround: postprocess injects `mtp.0.head.weight` and `mtp.0.emb.tok_emb.weight` as duplicates. Upstream filing pending | local |
381
+ | vLLM — DeepGemm `paged_mqa_logits` asserts on `num_speculative_tokens > 1` | `smxx_fp8_fp4_paged_mqa_logits.hpp:233` enforces `next_n == 1 or next_n == 2`. With `next_n = k+1`, practical k cap is 1. Caps spec-decode speedup at 1.49× vs sibling's published 2.03× at k=2 | upstream (DeepGemm) — filing pending |
382
+ | [`vllm-project/vllm#43248`](https://github.com/vllm-project/vllm/pull/43248) | `bool()` wrap on `is_static_input_scheme` | open |
383
+ | [`vllm-project/vllm#43288`](https://github.com/vllm-project/vllm/pull/43288) | `scale_fmt` defensive `.get()` + BF16 `getattr` wrap | open |
384
+ | [`vllm-project/vllm#43290`](https://github.com/vllm-project/vllm/pull/43290) | `weight_scale_inv`-or-`weight_scale` fallback | open |
385
+ | [`vllm-project/vllm#43319`](https://github.com/vllm-project/vllm/pull/43319) | MTP-quant-detect from safetensors header + BF16 `wo_a` fallback path | open |
386
+
387
+ ## Changes
388
+
389
+ | Date | Change |
390
+ |---|---|
391
+ | 2026-05-22 | Initial release on H200 (`jasl/vllm@ds4-sm120-experimental@abad5dc71`). GSM8K 93.71% strict, MMLU 86.88%, HumanEval 84.76%, MTP acceptance 89% on calibrated workload / 70% on random prompts |
392
+ | 2026-05-24 (morning) | RTX PRO 6000 Blackwell (SM 12.0) added. TP=2 and TP=4 both validated, chat-smoke 4/4 PASS, MTP acceptance 68-72%, MTP-on per-replica throughput 98.83 tok/s @ TP=2 / 107.32 @ TP=4. Per-replica throughput beats H200 at every batch size. `vllm-project/vllm#41511` (Marlin TP > 2 bug) did **not** fire on this build |
393
+ | 2026-05-24 (afternoon) | **Shipping-bug fix.** Artifact previously shipped FP8_BLOCK compressor/indexer with `.weight_scale` keys; current upstream/preview-dev vLLM constructs those modules as plain BF16 (`quant_config=None`), so the artifact failed to load with `KeyError: 'layers.10.attn.mla_attn.compressor.fused_wkv_wgate.weight_scale'`. 166 compressor/indexer weights dequantized in-place (FP8 + BF16 scale → BF16, mathematically lossless) and re-uploaded. Artifact now loads cleanly on modern vLLM on both RTX PRO 6000 and H200 without local preprocessing. H200 historical numbers above remain valid: the original H200 build supported FP8 compressor; modern vLLM serving the new BF16-compressor format produces equivalent outputs (verified post-fix on RTX PRO 6000 TP=4: GSM8K-50 chat-mode 44/50 = 88.0%, matches sibling Card B's 88% strict TP=2 / 90% strict TP=4 on this hardware). |
394
+ | 2026-05-24 (afternoon) | **AIME 2024 methodology correction.** Prior 30.0% `exact_match` was an lm-eval-harness `aime24` task artifact (completions-mode prompt, no chat template, exact-string scorer on a thinking model whose answers are `\boxed{N}`). 1-shot smoke under chat-templated thinking=high returns the correct integer. Full re-bench blocked by the RTX PRO 6000 concurrent-thinking CUDA crash (see Honest limitations); deferred to H200. Prior 30.0% struck through in Quality table. |
395
+ | 2026-05-24 (evening) | **Root-cause investigation of the RTX PRO 6000 concurrent-thinking issue.** Updated to `jasl/vllm@a937d4b28` (Stabilize SM12x sparse MLA long prefill) — server no longer crashes under concurrent thinking-mode load, but produces **token-stream corruption** on ~50% of long generations at c=4. Tested workarounds (`VLLM_TRITON_MLA_SPARSE_TOPK_CHUNK_SIZE=256`, `VLLM_TRITON_MLA_SPARSE_MATMUL_DECODE=0`, MTP-off, eager-mode, concurrency sweep) — none reduce corruption; all increase crash rate. **Diagnostic comparison:** same hardware + same build + same workload on Card B (NVFP4 + flashinfer_trtllm MoE) = **1/30 corrupted** vs Card D (W4A16 + Marlin MoE) = **14/30 corrupted**. Bug isolated to **W4A16 + Marlin MoE decode path on SM 12.0**. Production-config verified on Card D: GSM8K-20 chat-mode sequential = 20/20 = 100%, MTP draft acceptance 92.46%. Full debug log: [`docs/findings/sm12x_token_corruption_2026_05_24.md`](https://github.com/canada-quant/dsv4-flash-w4a16-fp8-mtp/blob/main/docs/findings/sm12x_token_corruption_2026_05_24.md). Filed upstream: [`jasl/vllm#12`](https://github.com/jasl/vllm/issues/12). |
396
+ | 2026-05-25 | **Applied [`vllm-project/vllm#40923`](https://github.com/vllm-project/vllm/pull/40923) "Marlin MoE: include SM 12.x in default arch list" + clean rebuild.** PR #40923's description matches our symptom verbatim ("V4-Flash MoE decode emits gibberish on RTX 50-series GB10/DGX Spark... driver JIT-promotes 8.0+PTX fallback"). After applying the patch (12.0a;12.1a for CUDA 12.9) and forcing a full Marlin MoE source regen + rebuild: **AIME c=4 thinking corruption dropped from 14/30 → 0/30**, but the underlying kernel race surfaced as a different failure mode — `CUDA error: an illegal memory access was encountered` in Worker_TP*, with 29/30 errors and 1/30 completing correctly. **PR #40923 is necessary but not sufficient**: native SM 12.0a Marlin MoE cubins eliminate the JIT-PTX corruption, but a second race in the W4A16 Marlin MoE decode path under concurrent thinking-mode on SM 12.0 still crashes the worker. NVFP4 sibling [`canada-quant/DeepSeek-V4-Flash-NVFP4-FP8-MTP`](https://huggingface.co/canada-quant/DeepSeek-V4-Flash-NVFP4-FP8-MTP) remains the recommendation for batched thinking-mode on this hardware. 1-shot smoke + sequential workloads still clean. PR #40923 status: OPEN, member-approved 2026-04-27 by Harry-Chen, blocked on core-maintainer SM120 policy review; canada-quant repro will be posted as additional evidence. |
397
+
398
+ ## Files in the artifact
399
+
400
+ - 4 sharded `model-*.safetensors` files + `model.safetensors.index.json` (159 GB total)
401
+ - `config.json` — vLLM-compatible quantization_config with MTP block excluded
402
+ - `tokenizer.json`, `tokenizer_config.json`, `generation_config.json`, `chat_template.jinja` — upstream DSV4-Flash
403
+ - `recipe.yaml` — the llm-compressor GPTQ recipe
404
+ - `README.md` — this file
405
+
406
+ ## Citation
407
+
408
+ ```bibtex
409
+ @misc{canada-quant-dsv4-flash-w4a16-fp8-mtp-2026,
410
+ title = {DeepSeek-V4-Flash W4A16-FP8 with BF16 MTP retained for vLLM speculative decoding},
411
+ author = {Canada Quant},
412
+ year = {2026},
413
+ publisher = {Hugging Face},
414
+ url = {https://huggingface.co/canada-quant/DeepSeek-V4-Flash-W4A16-FP8-MTP}
415
+ }
416
+ ```
417
+
418
+ ## License
419
+
420
+ MIT, inherited from upstream `deepseek-ai/DeepSeek-V4-Flash`. Review at the upstream repo before commercial deployment.
421
+
422
+ ## Acknowledgments
423
+
424
+ - **DeepSeek** for the base model + MTP architecture + inference reference.
425
+ - **jasl** ([`jasl/vllm`](https://github.com/jasl/vllm) and [`jasl/vllm-ds4-sm120-harness`](https://github.com/jasl/vllm-ds4-sm120-harness)) for the vLLM build pins (`ds4-sm120-experimental` for H200; `ds4-sm120-preview-dev` for RTX PRO 6000 SM 12.0) and the benchmark harness.
426
+ - **[`canada-quant/DeepSeek-V4-Flash-W4A16-FP8`](https://huggingface.co/canada-quant/DeepSeek-V4-Flash-W4A16-FP8)** (predecessor) for the proven recipe topology this artifact extends with MTP.
427
+ - **[`canada-quant/DeepSeek-V4-Flash-NVFP4-FP8-MTP`](https://huggingface.co/canada-quant/DeepSeek-V4-Flash-NVFP4-FP8-MTP)** (sibling) for the alias-injection pattern and MTP acceptance methodology.
428
+ - vLLM, llm-compressor, compressed-tensors, FlashInfer maintainers.
config.json ADDED
@@ -0,0 +1,1163 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "architectures": [
3
+ "DeepseekV4ForCausalLM"
4
+ ],
5
+ "attention_bias": false,
6
+ "attention_dropout": 0.0,
7
+ "bos_token_id": 0,
8
+ "compress_rates": {
9
+ "compressed_sparse_attention": 4,
10
+ "heavily_compressed_attention": 128
11
+ },
12
+ "compress_rope_theta": 160000,
13
+ "dtype": "bfloat16",
14
+ "eos_token_id": 1,
15
+ "expert_dtype": "bf16",
16
+ "hc_eps": 1e-06,
17
+ "hc_mult": 4,
18
+ "hc_sinkhorn_iters": 20,
19
+ "head_dim": 512,
20
+ "hidden_act": "silu",
21
+ "hidden_size": 4096,
22
+ "index_head_dim": 128,
23
+ "index_n_heads": 64,
24
+ "index_topk": 512,
25
+ "initializer_range": 0.02,
26
+ "layer_types": [
27
+ "sliding_attention",
28
+ "sliding_attention",
29
+ "compressed_sparse_attention",
30
+ "heavily_compressed_attention",
31
+ "compressed_sparse_attention",
32
+ "heavily_compressed_attention",
33
+ "compressed_sparse_attention",
34
+ "heavily_compressed_attention",
35
+ "compressed_sparse_attention",
36
+ "heavily_compressed_attention",
37
+ "compressed_sparse_attention",
38
+ "heavily_compressed_attention",
39
+ "compressed_sparse_attention",
40
+ "heavily_compressed_attention",
41
+ "compressed_sparse_attention",
42
+ "heavily_compressed_attention",
43
+ "compressed_sparse_attention",
44
+ "heavily_compressed_attention",
45
+ "compressed_sparse_attention",
46
+ "heavily_compressed_attention",
47
+ "compressed_sparse_attention",
48
+ "heavily_compressed_attention",
49
+ "compressed_sparse_attention",
50
+ "heavily_compressed_attention",
51
+ "compressed_sparse_attention",
52
+ "heavily_compressed_attention",
53
+ "compressed_sparse_attention",
54
+ "heavily_compressed_attention",
55
+ "compressed_sparse_attention",
56
+ "heavily_compressed_attention",
57
+ "compressed_sparse_attention",
58
+ "heavily_compressed_attention",
59
+ "compressed_sparse_attention",
60
+ "heavily_compressed_attention",
61
+ "compressed_sparse_attention",
62
+ "heavily_compressed_attention",
63
+ "compressed_sparse_attention",
64
+ "heavily_compressed_attention",
65
+ "compressed_sparse_attention",
66
+ "heavily_compressed_attention",
67
+ "compressed_sparse_attention",
68
+ "heavily_compressed_attention",
69
+ "compressed_sparse_attention"
70
+ ],
71
+ "max_position_embeddings": 1048576,
72
+ "mlp_bias": false,
73
+ "mlp_layer_types": [
74
+ "hash_moe",
75
+ "hash_moe",
76
+ "hash_moe",
77
+ "moe",
78
+ "moe",
79
+ "moe",
80
+ "moe",
81
+ "moe",
82
+ "moe",
83
+ "moe",
84
+ "moe",
85
+ "moe",
86
+ "moe",
87
+ "moe",
88
+ "moe",
89
+ "moe",
90
+ "moe",
91
+ "moe",
92
+ "moe",
93
+ "moe",
94
+ "moe",
95
+ "moe",
96
+ "moe",
97
+ "moe",
98
+ "moe",
99
+ "moe",
100
+ "moe",
101
+ "moe",
102
+ "moe",
103
+ "moe",
104
+ "moe",
105
+ "moe",
106
+ "moe",
107
+ "moe",
108
+ "moe",
109
+ "moe",
110
+ "moe",
111
+ "moe",
112
+ "moe",
113
+ "moe",
114
+ "moe",
115
+ "moe",
116
+ "moe"
117
+ ],
118
+ "model_type": "deepseek_v4",
119
+ "moe_intermediate_size": 2048,
120
+ "n_routed_experts": 256,
121
+ "n_shared_experts": 1,
122
+ "norm_topk_prob": true,
123
+ "num_attention_heads": 64,
124
+ "num_experts_per_tok": 6,
125
+ "num_hidden_layers": 43,
126
+ "num_key_value_heads": 1,
127
+ "num_nextn_predict_layers": 1,
128
+ "o_groups": 8,
129
+ "o_lora_rank": 1024,
130
+ "output_router_logits": false,
131
+ "pad_token_id": null,
132
+ "partial_rotary_factor": 0.125,
133
+ "q_lora_rank": 1024,
134
+ "qk_rope_head_dim": 64,
135
+ "quantization_config": {
136
+ "config_groups": {
137
+ "group_0": {
138
+ "format": "float-quantized",
139
+ "input_activations": {
140
+ "actorder": null,
141
+ "block_structure": null,
142
+ "dynamic": true,
143
+ "group_size": 128,
144
+ "num_bits": 8,
145
+ "observer": null,
146
+ "observer_kwargs": {},
147
+ "scale_dtype": null,
148
+ "strategy": "group",
149
+ "symmetric": true,
150
+ "type": "float",
151
+ "zp_dtype": null
152
+ },
153
+ "output_activations": null,
154
+ "targets": [
155
+ "re:.*attn\\.(wq_a|wq_b|wkv|wo_a|wo_b|fused_wqa_wkv|q_a_proj|q_b_proj|kv_proj|o_a_proj|o_b_proj)$"
156
+ ],
157
+ "weights": {
158
+ "actorder": null,
159
+ "block_structure": [
160
+ 128,
161
+ 128
162
+ ],
163
+ "dynamic": false,
164
+ "group_size": null,
165
+ "num_bits": 8,
166
+ "observer": "memoryless_minmax",
167
+ "observer_kwargs": {},
168
+ "scale_dtype": null,
169
+ "strategy": "block",
170
+ "symmetric": true,
171
+ "type": "float",
172
+ "zp_dtype": null
173
+ }
174
+ },
175
+ "group_1": {
176
+ "format": "pack-quantized",
177
+ "input_activations": null,
178
+ "output_activations": null,
179
+ "targets": [
180
+ "re:.*experts\\.\\d+\\.(w1|w2|w3|gate_proj|up_proj|down_proj|gate_up_proj)$"
181
+ ],
182
+ "weights": {
183
+ "actorder": "static",
184
+ "block_structure": null,
185
+ "dynamic": false,
186
+ "group_size": 128,
187
+ "num_bits": 4,
188
+ "observer": "memoryless_minmax",
189
+ "observer_kwargs": {},
190
+ "scale_dtype": null,
191
+ "strategy": "group",
192
+ "symmetric": true,
193
+ "type": "int",
194
+ "zp_dtype": null
195
+ }
196
+ }
197
+ },
198
+ "format": "mixed-precision",
199
+ "global_compression_ratio": null,
200
+ "ignore": [
201
+ "layers.0.ffn.shared_experts.w1",
202
+ "layers.0.ffn.shared_experts.w2",
203
+ "layers.0.ffn.shared_experts.w3",
204
+ "layers.1.ffn.shared_experts.w1",
205
+ "layers.1.ffn.shared_experts.w2",
206
+ "layers.1.ffn.shared_experts.w3",
207
+ "layers.2.ffn.shared_experts.w1",
208
+ "layers.2.ffn.shared_experts.w2",
209
+ "layers.2.ffn.shared_experts.w3",
210
+ "layers.3.ffn.shared_experts.w1",
211
+ "layers.3.ffn.shared_experts.w2",
212
+ "layers.3.ffn.shared_experts.w3",
213
+ "layers.4.ffn.shared_experts.w1",
214
+ "layers.4.ffn.shared_experts.w2",
215
+ "layers.4.ffn.shared_experts.w3",
216
+ "layers.5.ffn.shared_experts.w1",
217
+ "layers.5.ffn.shared_experts.w2",
218
+ "layers.5.ffn.shared_experts.w3",
219
+ "layers.6.ffn.shared_experts.w1",
220
+ "layers.6.ffn.shared_experts.w2",
221
+ "layers.6.ffn.shared_experts.w3",
222
+ "layers.7.ffn.shared_experts.w1",
223
+ "layers.7.ffn.shared_experts.w2",
224
+ "layers.7.ffn.shared_experts.w3",
225
+ "layers.8.ffn.shared_experts.w1",
226
+ "layers.8.ffn.shared_experts.w2",
227
+ "layers.8.ffn.shared_experts.w3",
228
+ "layers.9.ffn.shared_experts.w1",
229
+ "layers.9.ffn.shared_experts.w2",
230
+ "layers.9.ffn.shared_experts.w3",
231
+ "layers.10.ffn.shared_experts.w1",
232
+ "layers.10.ffn.shared_experts.w2",
233
+ "layers.10.ffn.shared_experts.w3",
234
+ "layers.11.ffn.shared_experts.w1",
235
+ "layers.11.ffn.shared_experts.w2",
236
+ "layers.11.ffn.shared_experts.w3",
237
+ "layers.12.ffn.shared_experts.w1",
238
+ "layers.12.ffn.shared_experts.w2",
239
+ "layers.12.ffn.shared_experts.w3",
240
+ "layers.13.ffn.shared_experts.w1",
241
+ "layers.13.ffn.shared_experts.w2",
242
+ "layers.13.ffn.shared_experts.w3",
243
+ "layers.14.ffn.shared_experts.w1",
244
+ "layers.14.ffn.shared_experts.w2",
245
+ "layers.14.ffn.shared_experts.w3",
246
+ "layers.15.ffn.shared_experts.w1",
247
+ "layers.15.ffn.shared_experts.w2",
248
+ "layers.15.ffn.shared_experts.w3",
249
+ "layers.16.ffn.shared_experts.w1",
250
+ "layers.16.ffn.shared_experts.w2",
251
+ "layers.16.ffn.shared_experts.w3",
252
+ "layers.17.ffn.shared_experts.w1",
253
+ "layers.17.ffn.shared_experts.w2",
254
+ "layers.17.ffn.shared_experts.w3",
255
+ "layers.18.ffn.shared_experts.w1",
256
+ "layers.18.ffn.shared_experts.w2",
257
+ "layers.18.ffn.shared_experts.w3",
258
+ "layers.19.ffn.shared_experts.w1",
259
+ "layers.19.ffn.shared_experts.w2",
260
+ "layers.19.ffn.shared_experts.w3",
261
+ "layers.20.ffn.shared_experts.w1",
262
+ "layers.20.ffn.shared_experts.w2",
263
+ "layers.20.ffn.shared_experts.w3",
264
+ "layers.21.ffn.shared_experts.w1",
265
+ "layers.21.ffn.shared_experts.w2",
266
+ "layers.21.ffn.shared_experts.w3",
267
+ "layers.22.ffn.shared_experts.w1",
268
+ "layers.22.ffn.shared_experts.w2",
269
+ "layers.22.ffn.shared_experts.w3",
270
+ "layers.23.ffn.shared_experts.w1",
271
+ "layers.23.ffn.shared_experts.w2",
272
+ "layers.23.ffn.shared_experts.w3",
273
+ "layers.24.ffn.shared_experts.w1",
274
+ "layers.24.ffn.shared_experts.w2",
275
+ "layers.24.ffn.shared_experts.w3",
276
+ "layers.25.ffn.shared_experts.w1",
277
+ "layers.25.ffn.shared_experts.w2",
278
+ "layers.25.ffn.shared_experts.w3",
279
+ "layers.26.ffn.shared_experts.w1",
280
+ "layers.26.ffn.shared_experts.w2",
281
+ "layers.26.ffn.shared_experts.w3",
282
+ "layers.27.ffn.shared_experts.w1",
283
+ "layers.27.ffn.shared_experts.w2",
284
+ "layers.27.ffn.shared_experts.w3",
285
+ "layers.28.ffn.shared_experts.w1",
286
+ "layers.28.ffn.shared_experts.w2",
287
+ "layers.28.ffn.shared_experts.w3",
288
+ "layers.29.ffn.shared_experts.w1",
289
+ "layers.29.ffn.shared_experts.w2",
290
+ "layers.29.ffn.shared_experts.w3",
291
+ "layers.30.ffn.shared_experts.w1",
292
+ "layers.30.ffn.shared_experts.w2",
293
+ "layers.30.ffn.shared_experts.w3",
294
+ "layers.31.ffn.shared_experts.w1",
295
+ "layers.31.ffn.shared_experts.w2",
296
+ "layers.31.ffn.shared_experts.w3",
297
+ "layers.32.ffn.shared_experts.w1",
298
+ "layers.32.ffn.shared_experts.w2",
299
+ "layers.32.ffn.shared_experts.w3",
300
+ "layers.33.ffn.shared_experts.w1",
301
+ "layers.33.ffn.shared_experts.w2",
302
+ "layers.33.ffn.shared_experts.w3",
303
+ "layers.34.ffn.shared_experts.w1",
304
+ "layers.34.ffn.shared_experts.w2",
305
+ "layers.34.ffn.shared_experts.w3",
306
+ "layers.35.ffn.shared_experts.w1",
307
+ "layers.35.ffn.shared_experts.w2",
308
+ "layers.35.ffn.shared_experts.w3",
309
+ "layers.36.ffn.shared_experts.w1",
310
+ "layers.36.ffn.shared_experts.w2",
311
+ "layers.36.ffn.shared_experts.w3",
312
+ "layers.37.ffn.shared_experts.w1",
313
+ "layers.37.ffn.shared_experts.w2",
314
+ "layers.37.ffn.shared_experts.w3",
315
+ "layers.38.ffn.shared_experts.w1",
316
+ "layers.38.ffn.shared_experts.w2",
317
+ "layers.38.ffn.shared_experts.w3",
318
+ "layers.39.ffn.shared_experts.w1",
319
+ "layers.39.ffn.shared_experts.w2",
320
+ "layers.39.ffn.shared_experts.w3",
321
+ "layers.40.ffn.shared_experts.w1",
322
+ "layers.40.ffn.shared_experts.w2",
323
+ "layers.40.ffn.shared_experts.w3",
324
+ "layers.41.ffn.shared_experts.w1",
325
+ "layers.41.ffn.shared_experts.w2",
326
+ "layers.41.ffn.shared_experts.w3",
327
+ "layers.42.ffn.shared_experts.w1",
328
+ "layers.42.ffn.shared_experts.w2",
329
+ "layers.42.ffn.shared_experts.w3",
330
+ "re:^layers\\.43\\.",
331
+ "re:^model\\.layers\\.43\\.",
332
+ "lm_head",
333
+ "layers.0.attn.compressor.wgate",
334
+ "layers.0.attn.compressor.wkv",
335
+ "layers.0.attn.compressor.fused_wkv_wgate",
336
+ "layers.0.attn.compressor.gate_proj",
337
+ "layers.0.attn.compressor.kv_proj",
338
+ "layers.0.attn.indexer.weights_proj",
339
+ "layers.0.attn.indexer.wq_b",
340
+ "layers.0.attn.indexer.q_b_proj",
341
+ "layers.0.attn.indexer.compressor.wgate",
342
+ "layers.0.attn.indexer.compressor.wkv",
343
+ "layers.0.attn.indexer.compressor.gate_proj",
344
+ "layers.0.attn.indexer.compressor.kv_proj",
345
+ "layers.1.attn.compressor.wgate",
346
+ "layers.1.attn.compressor.wkv",
347
+ "layers.1.attn.compressor.fused_wkv_wgate",
348
+ "layers.1.attn.compressor.gate_proj",
349
+ "layers.1.attn.compressor.kv_proj",
350
+ "layers.1.attn.indexer.weights_proj",
351
+ "layers.1.attn.indexer.wq_b",
352
+ "layers.1.attn.indexer.q_b_proj",
353
+ "layers.1.attn.indexer.compressor.wgate",
354
+ "layers.1.attn.indexer.compressor.wkv",
355
+ "layers.1.attn.indexer.compressor.gate_proj",
356
+ "layers.1.attn.indexer.compressor.kv_proj",
357
+ "layers.2.attn.compressor.wgate",
358
+ "layers.2.attn.compressor.wkv",
359
+ "layers.2.attn.compressor.fused_wkv_wgate",
360
+ "layers.2.attn.compressor.gate_proj",
361
+ "layers.2.attn.compressor.kv_proj",
362
+ "layers.2.attn.indexer.weights_proj",
363
+ "layers.2.attn.indexer.wq_b",
364
+ "layers.2.attn.indexer.q_b_proj",
365
+ "layers.2.attn.indexer.compressor.wgate",
366
+ "layers.2.attn.indexer.compressor.wkv",
367
+ "layers.2.attn.indexer.compressor.gate_proj",
368
+ "layers.2.attn.indexer.compressor.kv_proj",
369
+ "layers.3.attn.compressor.wgate",
370
+ "layers.3.attn.compressor.wkv",
371
+ "layers.3.attn.compressor.fused_wkv_wgate",
372
+ "layers.3.attn.compressor.gate_proj",
373
+ "layers.3.attn.compressor.kv_proj",
374
+ "layers.3.attn.indexer.weights_proj",
375
+ "layers.3.attn.indexer.wq_b",
376
+ "layers.3.attn.indexer.q_b_proj",
377
+ "layers.3.attn.indexer.compressor.wgate",
378
+ "layers.3.attn.indexer.compressor.wkv",
379
+ "layers.3.attn.indexer.compressor.gate_proj",
380
+ "layers.3.attn.indexer.compressor.kv_proj",
381
+ "layers.4.attn.compressor.wgate",
382
+ "layers.4.attn.compressor.wkv",
383
+ "layers.4.attn.compressor.fused_wkv_wgate",
384
+ "layers.4.attn.compressor.gate_proj",
385
+ "layers.4.attn.compressor.kv_proj",
386
+ "layers.4.attn.indexer.weights_proj",
387
+ "layers.4.attn.indexer.wq_b",
388
+ "layers.4.attn.indexer.q_b_proj",
389
+ "layers.4.attn.indexer.compressor.wgate",
390
+ "layers.4.attn.indexer.compressor.wkv",
391
+ "layers.4.attn.indexer.compressor.gate_proj",
392
+ "layers.4.attn.indexer.compressor.kv_proj",
393
+ "layers.5.attn.compressor.wgate",
394
+ "layers.5.attn.compressor.wkv",
395
+ "layers.5.attn.compressor.fused_wkv_wgate",
396
+ "layers.5.attn.compressor.gate_proj",
397
+ "layers.5.attn.compressor.kv_proj",
398
+ "layers.5.attn.indexer.weights_proj",
399
+ "layers.5.attn.indexer.wq_b",
400
+ "layers.5.attn.indexer.q_b_proj",
401
+ "layers.5.attn.indexer.compressor.wgate",
402
+ "layers.5.attn.indexer.compressor.wkv",
403
+ "layers.5.attn.indexer.compressor.gate_proj",
404
+ "layers.5.attn.indexer.compressor.kv_proj",
405
+ "layers.6.attn.compressor.wgate",
406
+ "layers.6.attn.compressor.wkv",
407
+ "layers.6.attn.compressor.fused_wkv_wgate",
408
+ "layers.6.attn.compressor.gate_proj",
409
+ "layers.6.attn.compressor.kv_proj",
410
+ "layers.6.attn.indexer.weights_proj",
411
+ "layers.6.attn.indexer.wq_b",
412
+ "layers.6.attn.indexer.q_b_proj",
413
+ "layers.6.attn.indexer.compressor.wgate",
414
+ "layers.6.attn.indexer.compressor.wkv",
415
+ "layers.6.attn.indexer.compressor.gate_proj",
416
+ "layers.6.attn.indexer.compressor.kv_proj",
417
+ "layers.7.attn.compressor.wgate",
418
+ "layers.7.attn.compressor.wkv",
419
+ "layers.7.attn.compressor.fused_wkv_wgate",
420
+ "layers.7.attn.compressor.gate_proj",
421
+ "layers.7.attn.compressor.kv_proj",
422
+ "layers.7.attn.indexer.weights_proj",
423
+ "layers.7.attn.indexer.wq_b",
424
+ "layers.7.attn.indexer.q_b_proj",
425
+ "layers.7.attn.indexer.compressor.wgate",
426
+ "layers.7.attn.indexer.compressor.wkv",
427
+ "layers.7.attn.indexer.compressor.gate_proj",
428
+ "layers.7.attn.indexer.compressor.kv_proj",
429
+ "layers.8.attn.compressor.wgate",
430
+ "layers.8.attn.compressor.wkv",
431
+ "layers.8.attn.compressor.fused_wkv_wgate",
432
+ "layers.8.attn.compressor.gate_proj",
433
+ "layers.8.attn.compressor.kv_proj",
434
+ "layers.8.attn.indexer.weights_proj",
435
+ "layers.8.attn.indexer.wq_b",
436
+ "layers.8.attn.indexer.q_b_proj",
437
+ "layers.8.attn.indexer.compressor.wgate",
438
+ "layers.8.attn.indexer.compressor.wkv",
439
+ "layers.8.attn.indexer.compressor.gate_proj",
440
+ "layers.8.attn.indexer.compressor.kv_proj",
441
+ "layers.9.attn.compressor.wgate",
442
+ "layers.9.attn.compressor.wkv",
443
+ "layers.9.attn.compressor.fused_wkv_wgate",
444
+ "layers.9.attn.compressor.gate_proj",
445
+ "layers.9.attn.compressor.kv_proj",
446
+ "layers.9.attn.indexer.weights_proj",
447
+ "layers.9.attn.indexer.wq_b",
448
+ "layers.9.attn.indexer.q_b_proj",
449
+ "layers.9.attn.indexer.compressor.wgate",
450
+ "layers.9.attn.indexer.compressor.wkv",
451
+ "layers.9.attn.indexer.compressor.gate_proj",
452
+ "layers.9.attn.indexer.compressor.kv_proj",
453
+ "layers.10.attn.compressor.wgate",
454
+ "layers.10.attn.compressor.wkv",
455
+ "layers.10.attn.compressor.fused_wkv_wgate",
456
+ "layers.10.attn.compressor.gate_proj",
457
+ "layers.10.attn.compressor.kv_proj",
458
+ "layers.10.attn.indexer.weights_proj",
459
+ "layers.10.attn.indexer.wq_b",
460
+ "layers.10.attn.indexer.q_b_proj",
461
+ "layers.10.attn.indexer.compressor.wgate",
462
+ "layers.10.attn.indexer.compressor.wkv",
463
+ "layers.10.attn.indexer.compressor.gate_proj",
464
+ "layers.10.attn.indexer.compressor.kv_proj",
465
+ "layers.11.attn.compressor.wgate",
466
+ "layers.11.attn.compressor.wkv",
467
+ "layers.11.attn.compressor.fused_wkv_wgate",
468
+ "layers.11.attn.compressor.gate_proj",
469
+ "layers.11.attn.compressor.kv_proj",
470
+ "layers.11.attn.indexer.weights_proj",
471
+ "layers.11.attn.indexer.wq_b",
472
+ "layers.11.attn.indexer.q_b_proj",
473
+ "layers.11.attn.indexer.compressor.wgate",
474
+ "layers.11.attn.indexer.compressor.wkv",
475
+ "layers.11.attn.indexer.compressor.gate_proj",
476
+ "layers.11.attn.indexer.compressor.kv_proj",
477
+ "layers.12.attn.compressor.wgate",
478
+ "layers.12.attn.compressor.wkv",
479
+ "layers.12.attn.compressor.fused_wkv_wgate",
480
+ "layers.12.attn.compressor.gate_proj",
481
+ "layers.12.attn.compressor.kv_proj",
482
+ "layers.12.attn.indexer.weights_proj",
483
+ "layers.12.attn.indexer.wq_b",
484
+ "layers.12.attn.indexer.q_b_proj",
485
+ "layers.12.attn.indexer.compressor.wgate",
486
+ "layers.12.attn.indexer.compressor.wkv",
487
+ "layers.12.attn.indexer.compressor.gate_proj",
488
+ "layers.12.attn.indexer.compressor.kv_proj",
489
+ "layers.13.attn.compressor.wgate",
490
+ "layers.13.attn.compressor.wkv",
491
+ "layers.13.attn.compressor.fused_wkv_wgate",
492
+ "layers.13.attn.compressor.gate_proj",
493
+ "layers.13.attn.compressor.kv_proj",
494
+ "layers.13.attn.indexer.weights_proj",
495
+ "layers.13.attn.indexer.wq_b",
496
+ "layers.13.attn.indexer.q_b_proj",
497
+ "layers.13.attn.indexer.compressor.wgate",
498
+ "layers.13.attn.indexer.compressor.wkv",
499
+ "layers.13.attn.indexer.compressor.gate_proj",
500
+ "layers.13.attn.indexer.compressor.kv_proj",
501
+ "layers.14.attn.compressor.wgate",
502
+ "layers.14.attn.compressor.wkv",
503
+ "layers.14.attn.compressor.fused_wkv_wgate",
504
+ "layers.14.attn.compressor.gate_proj",
505
+ "layers.14.attn.compressor.kv_proj",
506
+ "layers.14.attn.indexer.weights_proj",
507
+ "layers.14.attn.indexer.wq_b",
508
+ "layers.14.attn.indexer.q_b_proj",
509
+ "layers.14.attn.indexer.compressor.wgate",
510
+ "layers.14.attn.indexer.compressor.wkv",
511
+ "layers.14.attn.indexer.compressor.gate_proj",
512
+ "layers.14.attn.indexer.compressor.kv_proj",
513
+ "layers.15.attn.compressor.wgate",
514
+ "layers.15.attn.compressor.wkv",
515
+ "layers.15.attn.compressor.fused_wkv_wgate",
516
+ "layers.15.attn.compressor.gate_proj",
517
+ "layers.15.attn.compressor.kv_proj",
518
+ "layers.15.attn.indexer.weights_proj",
519
+ "layers.15.attn.indexer.wq_b",
520
+ "layers.15.attn.indexer.q_b_proj",
521
+ "layers.15.attn.indexer.compressor.wgate",
522
+ "layers.15.attn.indexer.compressor.wkv",
523
+ "layers.15.attn.indexer.compressor.gate_proj",
524
+ "layers.15.attn.indexer.compressor.kv_proj",
525
+ "layers.16.attn.compressor.wgate",
526
+ "layers.16.attn.compressor.wkv",
527
+ "layers.16.attn.compressor.fused_wkv_wgate",
528
+ "layers.16.attn.compressor.gate_proj",
529
+ "layers.16.attn.compressor.kv_proj",
530
+ "layers.16.attn.indexer.weights_proj",
531
+ "layers.16.attn.indexer.wq_b",
532
+ "layers.16.attn.indexer.q_b_proj",
533
+ "layers.16.attn.indexer.compressor.wgate",
534
+ "layers.16.attn.indexer.compressor.wkv",
535
+ "layers.16.attn.indexer.compressor.gate_proj",
536
+ "layers.16.attn.indexer.compressor.kv_proj",
537
+ "layers.17.attn.compressor.wgate",
538
+ "layers.17.attn.compressor.wkv",
539
+ "layers.17.attn.compressor.fused_wkv_wgate",
540
+ "layers.17.attn.compressor.gate_proj",
541
+ "layers.17.attn.compressor.kv_proj",
542
+ "layers.17.attn.indexer.weights_proj",
543
+ "layers.17.attn.indexer.wq_b",
544
+ "layers.17.attn.indexer.q_b_proj",
545
+ "layers.17.attn.indexer.compressor.wgate",
546
+ "layers.17.attn.indexer.compressor.wkv",
547
+ "layers.17.attn.indexer.compressor.gate_proj",
548
+ "layers.17.attn.indexer.compressor.kv_proj",
549
+ "layers.18.attn.compressor.wgate",
550
+ "layers.18.attn.compressor.wkv",
551
+ "layers.18.attn.compressor.fused_wkv_wgate",
552
+ "layers.18.attn.compressor.gate_proj",
553
+ "layers.18.attn.compressor.kv_proj",
554
+ "layers.18.attn.indexer.weights_proj",
555
+ "layers.18.attn.indexer.wq_b",
556
+ "layers.18.attn.indexer.q_b_proj",
557
+ "layers.18.attn.indexer.compressor.wgate",
558
+ "layers.18.attn.indexer.compressor.wkv",
559
+ "layers.18.attn.indexer.compressor.gate_proj",
560
+ "layers.18.attn.indexer.compressor.kv_proj",
561
+ "layers.19.attn.compressor.wgate",
562
+ "layers.19.attn.compressor.wkv",
563
+ "layers.19.attn.compressor.fused_wkv_wgate",
564
+ "layers.19.attn.compressor.gate_proj",
565
+ "layers.19.attn.compressor.kv_proj",
566
+ "layers.19.attn.indexer.weights_proj",
567
+ "layers.19.attn.indexer.wq_b",
568
+ "layers.19.attn.indexer.q_b_proj",
569
+ "layers.19.attn.indexer.compressor.wgate",
570
+ "layers.19.attn.indexer.compressor.wkv",
571
+ "layers.19.attn.indexer.compressor.gate_proj",
572
+ "layers.19.attn.indexer.compressor.kv_proj",
573
+ "layers.20.attn.compressor.wgate",
574
+ "layers.20.attn.compressor.wkv",
575
+ "layers.20.attn.compressor.fused_wkv_wgate",
576
+ "layers.20.attn.compressor.gate_proj",
577
+ "layers.20.attn.compressor.kv_proj",
578
+ "layers.20.attn.indexer.weights_proj",
579
+ "layers.20.attn.indexer.wq_b",
580
+ "layers.20.attn.indexer.q_b_proj",
581
+ "layers.20.attn.indexer.compressor.wgate",
582
+ "layers.20.attn.indexer.compressor.wkv",
583
+ "layers.20.attn.indexer.compressor.gate_proj",
584
+ "layers.20.attn.indexer.compressor.kv_proj",
585
+ "layers.21.attn.compressor.wgate",
586
+ "layers.21.attn.compressor.wkv",
587
+ "layers.21.attn.compressor.fused_wkv_wgate",
588
+ "layers.21.attn.compressor.gate_proj",
589
+ "layers.21.attn.compressor.kv_proj",
590
+ "layers.21.attn.indexer.weights_proj",
591
+ "layers.21.attn.indexer.wq_b",
592
+ "layers.21.attn.indexer.q_b_proj",
593
+ "layers.21.attn.indexer.compressor.wgate",
594
+ "layers.21.attn.indexer.compressor.wkv",
595
+ "layers.21.attn.indexer.compressor.gate_proj",
596
+ "layers.21.attn.indexer.compressor.kv_proj",
597
+ "layers.22.attn.compressor.wgate",
598
+ "layers.22.attn.compressor.wkv",
599
+ "layers.22.attn.compressor.fused_wkv_wgate",
600
+ "layers.22.attn.compressor.gate_proj",
601
+ "layers.22.attn.compressor.kv_proj",
602
+ "layers.22.attn.indexer.weights_proj",
603
+ "layers.22.attn.indexer.wq_b",
604
+ "layers.22.attn.indexer.q_b_proj",
605
+ "layers.22.attn.indexer.compressor.wgate",
606
+ "layers.22.attn.indexer.compressor.wkv",
607
+ "layers.22.attn.indexer.compressor.gate_proj",
608
+ "layers.22.attn.indexer.compressor.kv_proj",
609
+ "layers.23.attn.compressor.wgate",
610
+ "layers.23.attn.compressor.wkv",
611
+ "layers.23.attn.compressor.fused_wkv_wgate",
612
+ "layers.23.attn.compressor.gate_proj",
613
+ "layers.23.attn.compressor.kv_proj",
614
+ "layers.23.attn.indexer.weights_proj",
615
+ "layers.23.attn.indexer.wq_b",
616
+ "layers.23.attn.indexer.q_b_proj",
617
+ "layers.23.attn.indexer.compressor.wgate",
618
+ "layers.23.attn.indexer.compressor.wkv",
619
+ "layers.23.attn.indexer.compressor.gate_proj",
620
+ "layers.23.attn.indexer.compressor.kv_proj",
621
+ "layers.24.attn.compressor.wgate",
622
+ "layers.24.attn.compressor.wkv",
623
+ "layers.24.attn.compressor.fused_wkv_wgate",
624
+ "layers.24.attn.compressor.gate_proj",
625
+ "layers.24.attn.compressor.kv_proj",
626
+ "layers.24.attn.indexer.weights_proj",
627
+ "layers.24.attn.indexer.wq_b",
628
+ "layers.24.attn.indexer.q_b_proj",
629
+ "layers.24.attn.indexer.compressor.wgate",
630
+ "layers.24.attn.indexer.compressor.wkv",
631
+ "layers.24.attn.indexer.compressor.gate_proj",
632
+ "layers.24.attn.indexer.compressor.kv_proj",
633
+ "layers.25.attn.compressor.wgate",
634
+ "layers.25.attn.compressor.wkv",
635
+ "layers.25.attn.compressor.fused_wkv_wgate",
636
+ "layers.25.attn.compressor.gate_proj",
637
+ "layers.25.attn.compressor.kv_proj",
638
+ "layers.25.attn.indexer.weights_proj",
639
+ "layers.25.attn.indexer.wq_b",
640
+ "layers.25.attn.indexer.q_b_proj",
641
+ "layers.25.attn.indexer.compressor.wgate",
642
+ "layers.25.attn.indexer.compressor.wkv",
643
+ "layers.25.attn.indexer.compressor.gate_proj",
644
+ "layers.25.attn.indexer.compressor.kv_proj",
645
+ "layers.26.attn.compressor.wgate",
646
+ "layers.26.attn.compressor.wkv",
647
+ "layers.26.attn.compressor.fused_wkv_wgate",
648
+ "layers.26.attn.compressor.gate_proj",
649
+ "layers.26.attn.compressor.kv_proj",
650
+ "layers.26.attn.indexer.weights_proj",
651
+ "layers.26.attn.indexer.wq_b",
652
+ "layers.26.attn.indexer.q_b_proj",
653
+ "layers.26.attn.indexer.compressor.wgate",
654
+ "layers.26.attn.indexer.compressor.wkv",
655
+ "layers.26.attn.indexer.compressor.gate_proj",
656
+ "layers.26.attn.indexer.compressor.kv_proj",
657
+ "layers.27.attn.compressor.wgate",
658
+ "layers.27.attn.compressor.wkv",
659
+ "layers.27.attn.compressor.fused_wkv_wgate",
660
+ "layers.27.attn.compressor.gate_proj",
661
+ "layers.27.attn.compressor.kv_proj",
662
+ "layers.27.attn.indexer.weights_proj",
663
+ "layers.27.attn.indexer.wq_b",
664
+ "layers.27.attn.indexer.q_b_proj",
665
+ "layers.27.attn.indexer.compressor.wgate",
666
+ "layers.27.attn.indexer.compressor.wkv",
667
+ "layers.27.attn.indexer.compressor.gate_proj",
668
+ "layers.27.attn.indexer.compressor.kv_proj",
669
+ "layers.28.attn.compressor.wgate",
670
+ "layers.28.attn.compressor.wkv",
671
+ "layers.28.attn.compressor.fused_wkv_wgate",
672
+ "layers.28.attn.compressor.gate_proj",
673
+ "layers.28.attn.compressor.kv_proj",
674
+ "layers.28.attn.indexer.weights_proj",
675
+ "layers.28.attn.indexer.wq_b",
676
+ "layers.28.attn.indexer.q_b_proj",
677
+ "layers.28.attn.indexer.compressor.wgate",
678
+ "layers.28.attn.indexer.compressor.wkv",
679
+ "layers.28.attn.indexer.compressor.gate_proj",
680
+ "layers.28.attn.indexer.compressor.kv_proj",
681
+ "layers.29.attn.compressor.wgate",
682
+ "layers.29.attn.compressor.wkv",
683
+ "layers.29.attn.compressor.fused_wkv_wgate",
684
+ "layers.29.attn.compressor.gate_proj",
685
+ "layers.29.attn.compressor.kv_proj",
686
+ "layers.29.attn.indexer.weights_proj",
687
+ "layers.29.attn.indexer.wq_b",
688
+ "layers.29.attn.indexer.q_b_proj",
689
+ "layers.29.attn.indexer.compressor.wgate",
690
+ "layers.29.attn.indexer.compressor.wkv",
691
+ "layers.29.attn.indexer.compressor.gate_proj",
692
+ "layers.29.attn.indexer.compressor.kv_proj",
693
+ "layers.30.attn.compressor.wgate",
694
+ "layers.30.attn.compressor.wkv",
695
+ "layers.30.attn.compressor.fused_wkv_wgate",
696
+ "layers.30.attn.compressor.gate_proj",
697
+ "layers.30.attn.compressor.kv_proj",
698
+ "layers.30.attn.indexer.weights_proj",
699
+ "layers.30.attn.indexer.wq_b",
700
+ "layers.30.attn.indexer.q_b_proj",
701
+ "layers.30.attn.indexer.compressor.wgate",
702
+ "layers.30.attn.indexer.compressor.wkv",
703
+ "layers.30.attn.indexer.compressor.gate_proj",
704
+ "layers.30.attn.indexer.compressor.kv_proj",
705
+ "layers.31.attn.compressor.wgate",
706
+ "layers.31.attn.compressor.wkv",
707
+ "layers.31.attn.compressor.fused_wkv_wgate",
708
+ "layers.31.attn.compressor.gate_proj",
709
+ "layers.31.attn.compressor.kv_proj",
710
+ "layers.31.attn.indexer.weights_proj",
711
+ "layers.31.attn.indexer.wq_b",
712
+ "layers.31.attn.indexer.q_b_proj",
713
+ "layers.31.attn.indexer.compressor.wgate",
714
+ "layers.31.attn.indexer.compressor.wkv",
715
+ "layers.31.attn.indexer.compressor.gate_proj",
716
+ "layers.31.attn.indexer.compressor.kv_proj",
717
+ "layers.32.attn.compressor.wgate",
718
+ "layers.32.attn.compressor.wkv",
719
+ "layers.32.attn.compressor.fused_wkv_wgate",
720
+ "layers.32.attn.compressor.gate_proj",
721
+ "layers.32.attn.compressor.kv_proj",
722
+ "layers.32.attn.indexer.weights_proj",
723
+ "layers.32.attn.indexer.wq_b",
724
+ "layers.32.attn.indexer.q_b_proj",
725
+ "layers.32.attn.indexer.compressor.wgate",
726
+ "layers.32.attn.indexer.compressor.wkv",
727
+ "layers.32.attn.indexer.compressor.gate_proj",
728
+ "layers.32.attn.indexer.compressor.kv_proj",
729
+ "layers.33.attn.compressor.wgate",
730
+ "layers.33.attn.compressor.wkv",
731
+ "layers.33.attn.compressor.fused_wkv_wgate",
732
+ "layers.33.attn.compressor.gate_proj",
733
+ "layers.33.attn.compressor.kv_proj",
734
+ "layers.33.attn.indexer.weights_proj",
735
+ "layers.33.attn.indexer.wq_b",
736
+ "layers.33.attn.indexer.q_b_proj",
737
+ "layers.33.attn.indexer.compressor.wgate",
738
+ "layers.33.attn.indexer.compressor.wkv",
739
+ "layers.33.attn.indexer.compressor.gate_proj",
740
+ "layers.33.attn.indexer.compressor.kv_proj",
741
+ "layers.34.attn.compressor.wgate",
742
+ "layers.34.attn.compressor.wkv",
743
+ "layers.34.attn.compressor.fused_wkv_wgate",
744
+ "layers.34.attn.compressor.gate_proj",
745
+ "layers.34.attn.compressor.kv_proj",
746
+ "layers.34.attn.indexer.weights_proj",
747
+ "layers.34.attn.indexer.wq_b",
748
+ "layers.34.attn.indexer.q_b_proj",
749
+ "layers.34.attn.indexer.compressor.wgate",
750
+ "layers.34.attn.indexer.compressor.wkv",
751
+ "layers.34.attn.indexer.compressor.gate_proj",
752
+ "layers.34.attn.indexer.compressor.kv_proj",
753
+ "layers.35.attn.compressor.wgate",
754
+ "layers.35.attn.compressor.wkv",
755
+ "layers.35.attn.compressor.fused_wkv_wgate",
756
+ "layers.35.attn.compressor.gate_proj",
757
+ "layers.35.attn.compressor.kv_proj",
758
+ "layers.35.attn.indexer.weights_proj",
759
+ "layers.35.attn.indexer.wq_b",
760
+ "layers.35.attn.indexer.q_b_proj",
761
+ "layers.35.attn.indexer.compressor.wgate",
762
+ "layers.35.attn.indexer.compressor.wkv",
763
+ "layers.35.attn.indexer.compressor.gate_proj",
764
+ "layers.35.attn.indexer.compressor.kv_proj",
765
+ "layers.36.attn.compressor.wgate",
766
+ "layers.36.attn.compressor.wkv",
767
+ "layers.36.attn.compressor.fused_wkv_wgate",
768
+ "layers.36.attn.compressor.gate_proj",
769
+ "layers.36.attn.compressor.kv_proj",
770
+ "layers.36.attn.indexer.weights_proj",
771
+ "layers.36.attn.indexer.wq_b",
772
+ "layers.36.attn.indexer.q_b_proj",
773
+ "layers.36.attn.indexer.compressor.wgate",
774
+ "layers.36.attn.indexer.compressor.wkv",
775
+ "layers.36.attn.indexer.compressor.gate_proj",
776
+ "layers.36.attn.indexer.compressor.kv_proj",
777
+ "layers.37.attn.compressor.wgate",
778
+ "layers.37.attn.compressor.wkv",
779
+ "layers.37.attn.compressor.fused_wkv_wgate",
780
+ "layers.37.attn.compressor.gate_proj",
781
+ "layers.37.attn.compressor.kv_proj",
782
+ "layers.37.attn.indexer.weights_proj",
783
+ "layers.37.attn.indexer.wq_b",
784
+ "layers.37.attn.indexer.q_b_proj",
785
+ "layers.37.attn.indexer.compressor.wgate",
786
+ "layers.37.attn.indexer.compressor.wkv",
787
+ "layers.37.attn.indexer.compressor.gate_proj",
788
+ "layers.37.attn.indexer.compressor.kv_proj",
789
+ "layers.38.attn.compressor.wgate",
790
+ "layers.38.attn.compressor.wkv",
791
+ "layers.38.attn.compressor.fused_wkv_wgate",
792
+ "layers.38.attn.compressor.gate_proj",
793
+ "layers.38.attn.compressor.kv_proj",
794
+ "layers.38.attn.indexer.weights_proj",
795
+ "layers.38.attn.indexer.wq_b",
796
+ "layers.38.attn.indexer.q_b_proj",
797
+ "layers.38.attn.indexer.compressor.wgate",
798
+ "layers.38.attn.indexer.compressor.wkv",
799
+ "layers.38.attn.indexer.compressor.gate_proj",
800
+ "layers.38.attn.indexer.compressor.kv_proj",
801
+ "layers.39.attn.compressor.wgate",
802
+ "layers.39.attn.compressor.wkv",
803
+ "layers.39.attn.compressor.fused_wkv_wgate",
804
+ "layers.39.attn.compressor.gate_proj",
805
+ "layers.39.attn.compressor.kv_proj",
806
+ "layers.39.attn.indexer.weights_proj",
807
+ "layers.39.attn.indexer.wq_b",
808
+ "layers.39.attn.indexer.q_b_proj",
809
+ "layers.39.attn.indexer.compressor.wgate",
810
+ "layers.39.attn.indexer.compressor.wkv",
811
+ "layers.39.attn.indexer.compressor.gate_proj",
812
+ "layers.39.attn.indexer.compressor.kv_proj",
813
+ "layers.40.attn.compressor.wgate",
814
+ "layers.40.attn.compressor.wkv",
815
+ "layers.40.attn.compressor.fused_wkv_wgate",
816
+ "layers.40.attn.compressor.gate_proj",
817
+ "layers.40.attn.compressor.kv_proj",
818
+ "layers.40.attn.indexer.weights_proj",
819
+ "layers.40.attn.indexer.wq_b",
820
+ "layers.40.attn.indexer.q_b_proj",
821
+ "layers.40.attn.indexer.compressor.wgate",
822
+ "layers.40.attn.indexer.compressor.wkv",
823
+ "layers.40.attn.indexer.compressor.gate_proj",
824
+ "layers.40.attn.indexer.compressor.kv_proj",
825
+ "layers.41.attn.compressor.wgate",
826
+ "layers.41.attn.compressor.wkv",
827
+ "layers.41.attn.compressor.fused_wkv_wgate",
828
+ "layers.41.attn.compressor.gate_proj",
829
+ "layers.41.attn.compressor.kv_proj",
830
+ "layers.41.attn.indexer.weights_proj",
831
+ "layers.41.attn.indexer.wq_b",
832
+ "layers.41.attn.indexer.q_b_proj",
833
+ "layers.41.attn.indexer.compressor.wgate",
834
+ "layers.41.attn.indexer.compressor.wkv",
835
+ "layers.41.attn.indexer.compressor.gate_proj",
836
+ "layers.41.attn.indexer.compressor.kv_proj",
837
+ "layers.42.attn.compressor.wgate",
838
+ "layers.42.attn.compressor.wkv",
839
+ "layers.42.attn.compressor.fused_wkv_wgate",
840
+ "layers.42.attn.compressor.gate_proj",
841
+ "layers.42.attn.compressor.kv_proj",
842
+ "layers.42.attn.indexer.weights_proj",
843
+ "layers.42.attn.indexer.wq_b",
844
+ "layers.42.attn.indexer.q_b_proj",
845
+ "layers.42.attn.indexer.compressor.wgate",
846
+ "layers.42.attn.indexer.compressor.wkv",
847
+ "layers.42.attn.indexer.compressor.gate_proj",
848
+ "layers.42.attn.indexer.compressor.kv_proj",
849
+ "layers.43.attn.compressor.wgate",
850
+ "layers.43.attn.compressor.wkv",
851
+ "layers.43.attn.compressor.fused_wkv_wgate",
852
+ "layers.43.attn.compressor.gate_proj",
853
+ "layers.43.attn.compressor.kv_proj",
854
+ "layers.43.attn.indexer.weights_proj",
855
+ "layers.43.attn.indexer.wq_b",
856
+ "layers.43.attn.indexer.q_b_proj",
857
+ "layers.43.attn.indexer.compressor.wgate",
858
+ "layers.43.attn.indexer.compressor.wkv",
859
+ "layers.43.attn.indexer.compressor.gate_proj",
860
+ "layers.43.attn.indexer.compressor.kv_proj",
861
+ "layers.44.attn.compressor.wgate",
862
+ "layers.44.attn.compressor.wkv",
863
+ "layers.44.attn.compressor.fused_wkv_wgate",
864
+ "layers.44.attn.compressor.gate_proj",
865
+ "layers.44.attn.compressor.kv_proj",
866
+ "layers.44.attn.indexer.weights_proj",
867
+ "layers.44.attn.indexer.wq_b",
868
+ "layers.44.attn.indexer.q_b_proj",
869
+ "layers.44.attn.indexer.compressor.wgate",
870
+ "layers.44.attn.indexer.compressor.wkv",
871
+ "layers.44.attn.indexer.compressor.gate_proj",
872
+ "layers.44.attn.indexer.compressor.kv_proj",
873
+ "layers.45.attn.compressor.wgate",
874
+ "layers.45.attn.compressor.wkv",
875
+ "layers.45.attn.compressor.fused_wkv_wgate",
876
+ "layers.45.attn.compressor.gate_proj",
877
+ "layers.45.attn.compressor.kv_proj",
878
+ "layers.45.attn.indexer.weights_proj",
879
+ "layers.45.attn.indexer.wq_b",
880
+ "layers.45.attn.indexer.q_b_proj",
881
+ "layers.45.attn.indexer.compressor.wgate",
882
+ "layers.45.attn.indexer.compressor.wkv",
883
+ "layers.45.attn.indexer.compressor.gate_proj",
884
+ "layers.45.attn.indexer.compressor.kv_proj",
885
+ "layers.46.attn.compressor.wgate",
886
+ "layers.46.attn.compressor.wkv",
887
+ "layers.46.attn.compressor.fused_wkv_wgate",
888
+ "layers.46.attn.compressor.gate_proj",
889
+ "layers.46.attn.compressor.kv_proj",
890
+ "layers.46.attn.indexer.weights_proj",
891
+ "layers.46.attn.indexer.wq_b",
892
+ "layers.46.attn.indexer.q_b_proj",
893
+ "layers.46.attn.indexer.compressor.wgate",
894
+ "layers.46.attn.indexer.compressor.wkv",
895
+ "layers.46.attn.indexer.compressor.gate_proj",
896
+ "layers.46.attn.indexer.compressor.kv_proj",
897
+ "layers.47.attn.compressor.wgate",
898
+ "layers.47.attn.compressor.wkv",
899
+ "layers.47.attn.compressor.fused_wkv_wgate",
900
+ "layers.47.attn.compressor.gate_proj",
901
+ "layers.47.attn.compressor.kv_proj",
902
+ "layers.47.attn.indexer.weights_proj",
903
+ "layers.47.attn.indexer.wq_b",
904
+ "layers.47.attn.indexer.q_b_proj",
905
+ "layers.47.attn.indexer.compressor.wgate",
906
+ "layers.47.attn.indexer.compressor.wkv",
907
+ "layers.47.attn.indexer.compressor.gate_proj",
908
+ "layers.47.attn.indexer.compressor.kv_proj",
909
+ "layers.48.attn.compressor.wgate",
910
+ "layers.48.attn.compressor.wkv",
911
+ "layers.48.attn.compressor.fused_wkv_wgate",
912
+ "layers.48.attn.compressor.gate_proj",
913
+ "layers.48.attn.compressor.kv_proj",
914
+ "layers.48.attn.indexer.weights_proj",
915
+ "layers.48.attn.indexer.wq_b",
916
+ "layers.48.attn.indexer.q_b_proj",
917
+ "layers.48.attn.indexer.compressor.wgate",
918
+ "layers.48.attn.indexer.compressor.wkv",
919
+ "layers.48.attn.indexer.compressor.gate_proj",
920
+ "layers.48.attn.indexer.compressor.kv_proj",
921
+ "layers.49.attn.compressor.wgate",
922
+ "layers.49.attn.compressor.wkv",
923
+ "layers.49.attn.compressor.fused_wkv_wgate",
924
+ "layers.49.attn.compressor.gate_proj",
925
+ "layers.49.attn.compressor.kv_proj",
926
+ "layers.49.attn.indexer.weights_proj",
927
+ "layers.49.attn.indexer.wq_b",
928
+ "layers.49.attn.indexer.q_b_proj",
929
+ "layers.49.attn.indexer.compressor.wgate",
930
+ "layers.49.attn.indexer.compressor.wkv",
931
+ "layers.49.attn.indexer.compressor.gate_proj",
932
+ "layers.49.attn.indexer.compressor.kv_proj",
933
+ "layers.50.attn.compressor.wgate",
934
+ "layers.50.attn.compressor.wkv",
935
+ "layers.50.attn.compressor.fused_wkv_wgate",
936
+ "layers.50.attn.compressor.gate_proj",
937
+ "layers.50.attn.compressor.kv_proj",
938
+ "layers.50.attn.indexer.weights_proj",
939
+ "layers.50.attn.indexer.wq_b",
940
+ "layers.50.attn.indexer.q_b_proj",
941
+ "layers.50.attn.indexer.compressor.wgate",
942
+ "layers.50.attn.indexer.compressor.wkv",
943
+ "layers.50.attn.indexer.compressor.gate_proj",
944
+ "layers.50.attn.indexer.compressor.kv_proj",
945
+ "layers.51.attn.compressor.wgate",
946
+ "layers.51.attn.compressor.wkv",
947
+ "layers.51.attn.compressor.fused_wkv_wgate",
948
+ "layers.51.attn.compressor.gate_proj",
949
+ "layers.51.attn.compressor.kv_proj",
950
+ "layers.51.attn.indexer.weights_proj",
951
+ "layers.51.attn.indexer.wq_b",
952
+ "layers.51.attn.indexer.q_b_proj",
953
+ "layers.51.attn.indexer.compressor.wgate",
954
+ "layers.51.attn.indexer.compressor.wkv",
955
+ "layers.51.attn.indexer.compressor.gate_proj",
956
+ "layers.51.attn.indexer.compressor.kv_proj",
957
+ "layers.52.attn.compressor.wgate",
958
+ "layers.52.attn.compressor.wkv",
959
+ "layers.52.attn.compressor.fused_wkv_wgate",
960
+ "layers.52.attn.compressor.gate_proj",
961
+ "layers.52.attn.compressor.kv_proj",
962
+ "layers.52.attn.indexer.weights_proj",
963
+ "layers.52.attn.indexer.wq_b",
964
+ "layers.52.attn.indexer.q_b_proj",
965
+ "layers.52.attn.indexer.compressor.wgate",
966
+ "layers.52.attn.indexer.compressor.wkv",
967
+ "layers.52.attn.indexer.compressor.gate_proj",
968
+ "layers.52.attn.indexer.compressor.kv_proj",
969
+ "layers.53.attn.compressor.wgate",
970
+ "layers.53.attn.compressor.wkv",
971
+ "layers.53.attn.compressor.fused_wkv_wgate",
972
+ "layers.53.attn.compressor.gate_proj",
973
+ "layers.53.attn.compressor.kv_proj",
974
+ "layers.53.attn.indexer.weights_proj",
975
+ "layers.53.attn.indexer.wq_b",
976
+ "layers.53.attn.indexer.q_b_proj",
977
+ "layers.53.attn.indexer.compressor.wgate",
978
+ "layers.53.attn.indexer.compressor.wkv",
979
+ "layers.53.attn.indexer.compressor.gate_proj",
980
+ "layers.53.attn.indexer.compressor.kv_proj",
981
+ "layers.54.attn.compressor.wgate",
982
+ "layers.54.attn.compressor.wkv",
983
+ "layers.54.attn.compressor.fused_wkv_wgate",
984
+ "layers.54.attn.compressor.gate_proj",
985
+ "layers.54.attn.compressor.kv_proj",
986
+ "layers.54.attn.indexer.weights_proj",
987
+ "layers.54.attn.indexer.wq_b",
988
+ "layers.54.attn.indexer.q_b_proj",
989
+ "layers.54.attn.indexer.compressor.wgate",
990
+ "layers.54.attn.indexer.compressor.wkv",
991
+ "layers.54.attn.indexer.compressor.gate_proj",
992
+ "layers.54.attn.indexer.compressor.kv_proj",
993
+ "layers.55.attn.compressor.wgate",
994
+ "layers.55.attn.compressor.wkv",
995
+ "layers.55.attn.compressor.fused_wkv_wgate",
996
+ "layers.55.attn.compressor.gate_proj",
997
+ "layers.55.attn.compressor.kv_proj",
998
+ "layers.55.attn.indexer.weights_proj",
999
+ "layers.55.attn.indexer.wq_b",
1000
+ "layers.55.attn.indexer.q_b_proj",
1001
+ "layers.55.attn.indexer.compressor.wgate",
1002
+ "layers.55.attn.indexer.compressor.wkv",
1003
+ "layers.55.attn.indexer.compressor.gate_proj",
1004
+ "layers.55.attn.indexer.compressor.kv_proj",
1005
+ "layers.56.attn.compressor.wgate",
1006
+ "layers.56.attn.compressor.wkv",
1007
+ "layers.56.attn.compressor.fused_wkv_wgate",
1008
+ "layers.56.attn.compressor.gate_proj",
1009
+ "layers.56.attn.compressor.kv_proj",
1010
+ "layers.56.attn.indexer.weights_proj",
1011
+ "layers.56.attn.indexer.wq_b",
1012
+ "layers.56.attn.indexer.q_b_proj",
1013
+ "layers.56.attn.indexer.compressor.wgate",
1014
+ "layers.56.attn.indexer.compressor.wkv",
1015
+ "layers.56.attn.indexer.compressor.gate_proj",
1016
+ "layers.56.attn.indexer.compressor.kv_proj",
1017
+ "layers.57.attn.compressor.wgate",
1018
+ "layers.57.attn.compressor.wkv",
1019
+ "layers.57.attn.compressor.fused_wkv_wgate",
1020
+ "layers.57.attn.compressor.gate_proj",
1021
+ "layers.57.attn.compressor.kv_proj",
1022
+ "layers.57.attn.indexer.weights_proj",
1023
+ "layers.57.attn.indexer.wq_b",
1024
+ "layers.57.attn.indexer.q_b_proj",
1025
+ "layers.57.attn.indexer.compressor.wgate",
1026
+ "layers.57.attn.indexer.compressor.wkv",
1027
+ "layers.57.attn.indexer.compressor.gate_proj",
1028
+ "layers.57.attn.indexer.compressor.kv_proj",
1029
+ "layers.58.attn.compressor.wgate",
1030
+ "layers.58.attn.compressor.wkv",
1031
+ "layers.58.attn.compressor.fused_wkv_wgate",
1032
+ "layers.58.attn.compressor.gate_proj",
1033
+ "layers.58.attn.compressor.kv_proj",
1034
+ "layers.58.attn.indexer.weights_proj",
1035
+ "layers.58.attn.indexer.wq_b",
1036
+ "layers.58.attn.indexer.q_b_proj",
1037
+ "layers.58.attn.indexer.compressor.wgate",
1038
+ "layers.58.attn.indexer.compressor.wkv",
1039
+ "layers.58.attn.indexer.compressor.gate_proj",
1040
+ "layers.58.attn.indexer.compressor.kv_proj",
1041
+ "layers.59.attn.compressor.wgate",
1042
+ "layers.59.attn.compressor.wkv",
1043
+ "layers.59.attn.compressor.fused_wkv_wgate",
1044
+ "layers.59.attn.compressor.gate_proj",
1045
+ "layers.59.attn.compressor.kv_proj",
1046
+ "layers.59.attn.indexer.weights_proj",
1047
+ "layers.59.attn.indexer.wq_b",
1048
+ "layers.59.attn.indexer.q_b_proj",
1049
+ "layers.59.attn.indexer.compressor.wgate",
1050
+ "layers.59.attn.indexer.compressor.wkv",
1051
+ "layers.59.attn.indexer.compressor.gate_proj",
1052
+ "layers.59.attn.indexer.compressor.kv_proj",
1053
+ "layers.60.attn.compressor.wgate",
1054
+ "layers.60.attn.compressor.wkv",
1055
+ "layers.60.attn.compressor.fused_wkv_wgate",
1056
+ "layers.60.attn.compressor.gate_proj",
1057
+ "layers.60.attn.compressor.kv_proj",
1058
+ "layers.60.attn.indexer.weights_proj",
1059
+ "layers.60.attn.indexer.wq_b",
1060
+ "layers.60.attn.indexer.q_b_proj",
1061
+ "layers.60.attn.indexer.compressor.wgate",
1062
+ "layers.60.attn.indexer.compressor.wkv",
1063
+ "layers.60.attn.indexer.compressor.gate_proj",
1064
+ "layers.60.attn.indexer.compressor.kv_proj"
1065
+ ],
1066
+ "kv_cache_scheme": null,
1067
+ "quant_method": "compressed-tensors",
1068
+ "quantization_status": "compressed",
1069
+ "sparsity_config": {},
1070
+ "transform_config": {},
1071
+ "version": "0.15.1.a20260515",
1072
+ "scale_fmt": "ue8m0"
1073
+ },
1074
+ "rms_norm_eps": 1e-06,
1075
+ "rope_parameters": {
1076
+ "compress": {
1077
+ "attention_factor": 1.0,
1078
+ "beta_fast": 32,
1079
+ "beta_slow": 1,
1080
+ "factor": 16,
1081
+ "original_max_position_embeddings": 65536,
1082
+ "partial_rotary_factor": 0.125,
1083
+ "rope_theta": 160000,
1084
+ "rope_type": "yarn",
1085
+ "type": "yarn"
1086
+ },
1087
+ "main": {
1088
+ "partial_rotary_factor": 0.125,
1089
+ "rope_theta": 10000,
1090
+ "rope_type": "default"
1091
+ },
1092
+ "partial_rotary_factor": 0.125,
1093
+ "rope_theta": 10000,
1094
+ "rope_type": "default"
1095
+ },
1096
+ "rope_theta": 10000,
1097
+ "routed_scaling_factor": 1.5,
1098
+ "router_aux_loss_coef": 0.001,
1099
+ "router_jitter_noise": 0.0,
1100
+ "scoring_func": "sqrtsoftplus",
1101
+ "sliding_window": 128,
1102
+ "swiglu_limit": 10.0,
1103
+ "tie_word_embeddings": false,
1104
+ "topk_method": "noaux_tc",
1105
+ "transformers_version": "5.8.1",
1106
+ "use_cache": true,
1107
+ "vocab_size": 129280,
1108
+ "compress_ratios": [
1109
+ 0,
1110
+ 0,
1111
+ 4,
1112
+ 128,
1113
+ 4,
1114
+ 128,
1115
+ 4,
1116
+ 128,
1117
+ 4,
1118
+ 128,
1119
+ 4,
1120
+ 128,
1121
+ 4,
1122
+ 128,
1123
+ 4,
1124
+ 128,
1125
+ 4,
1126
+ 128,
1127
+ 4,
1128
+ 128,
1129
+ 4,
1130
+ 128,
1131
+ 4,
1132
+ 128,
1133
+ 4,
1134
+ 128,
1135
+ 4,
1136
+ 128,
1137
+ 4,
1138
+ 128,
1139
+ 4,
1140
+ 128,
1141
+ 4,
1142
+ 128,
1143
+ 4,
1144
+ 128,
1145
+ 4,
1146
+ 128,
1147
+ 4,
1148
+ 128,
1149
+ 4,
1150
+ 128,
1151
+ 4,
1152
+ 0
1153
+ ],
1154
+ "num_hash_layers": 3,
1155
+ "rope_scaling": {
1156
+ "beta_fast": 32,
1157
+ "beta_slow": 1,
1158
+ "factor": 16,
1159
+ "original_max_position_embeddings": 65536,
1160
+ "type": "yarn"
1161
+ },
1162
+ "torch_dtype": "bfloat16"
1163
+ }
generation_config.json ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_from_model_config": true,
3
+ "bos_token_id": 0,
4
+ "do_sample": true,
5
+ "eos_token_id": 1,
6
+ "temperature": 1.0,
7
+ "top_p": 1.0,
8
+ "transformers_version": "5.8.1"
9
+ }
model-00001-of-00004.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:60e60fb974e48f8a1e20745bbbbd4336650e980ad0fba6a561e683a1e83424b0
3
+ size 51194922826
model-00002-of-00004.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:26a130e128f6aaefd1673dd0ead54f685a0ca70597f81e550c2c8b21068a88c9
3
+ size 50169748020
model-00003-of-00004.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:35eb79583b4577d630a269561ad53c010408dd8152a05c6e49b339047dbe909b
3
+ size 50164611144
model-00004-of-00004.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4ee5ea80eac352f436fd93a358a02947724aa5785d5315fa73751241173bb0ed
3
+ size 18814174990
model.safetensors.index.json ADDED
The diff for this file is too large to render. See raw diff
 
recipe.yaml ADDED
@@ -0,0 +1,61 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ default_stage:
2
+ default_modifiers:
3
+ GPTQModifier:
4
+ config_groups:
5
+ attention:
6
+ targets: ['re:^model\.layers\.\d+\.self_attn\.(q_a_proj|q_b_proj|kv_proj|o_a_proj|o_b_proj)$',
7
+ 're:^model\.layers\.\d+\.self_attn\.compressor\.(gate_proj|kv_proj)$', 're:^model\.layers\.\d+\.self_attn\.compressor\.indexer\.(gate_proj|kv_proj|q_b_proj|weights_proj)$']
8
+ weights:
9
+ num_bits: 8
10
+ type: float
11
+ symmetric: true
12
+ group_size: null
13
+ strategy: block
14
+ block_structure: [128, 128]
15
+ dynamic: false
16
+ actorder: null
17
+ scale_dtype: null
18
+ zp_dtype: null
19
+ observer: memoryless_minmax
20
+ observer_kwargs: {}
21
+ input_activations:
22
+ num_bits: 8
23
+ type: float
24
+ symmetric: true
25
+ group_size: 128
26
+ strategy: group
27
+ block_structure: null
28
+ dynamic: true
29
+ actorder: null
30
+ scale_dtype: null
31
+ zp_dtype: null
32
+ observer: null
33
+ observer_kwargs: {}
34
+ output_activations: null
35
+ format: null
36
+ experts:
37
+ targets: ['re:^model\.layers\.\d+\.mlp\.experts\.\d+\.(gate_proj|up_proj|down_proj)$']
38
+ weights:
39
+ num_bits: 4
40
+ type: int
41
+ symmetric: true
42
+ group_size: 128
43
+ strategy: group
44
+ block_structure: null
45
+ dynamic: false
46
+ actorder: !!python/object/apply:compressed_tensors.quantization.quant_args.ActivationOrdering [
47
+ static]
48
+ scale_dtype: null
49
+ zp_dtype: null
50
+ observer: memoryless_minmax
51
+ observer_kwargs: {}
52
+ input_activations: null
53
+ output_activations: null
54
+ format: null
55
+ targets: [Linear]
56
+ ignore: [lm_head, 're:.*mtp\..*']
57
+ bypass_divisibility_checks: false
58
+ block_size: 128
59
+ dampening_frac: 0.1
60
+ actorder: static
61
+ offload_hessians: true
tokenizer.json ADDED
The diff for this file is too large to render. See raw diff
 
tokenizer_config.json ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "backend": "tokenizers",
3
+ "bos_token": "<|begin▁of▁sentence|>",
4
+ "clean_up_tokenization_spaces": false,
5
+ "eos_token": "<|end▁of▁sentence|>",
6
+ "is_local": true,
7
+ "legacy": true,
8
+ "local_files_only": false,
9
+ "model_max_length": 1048576,
10
+ "pad_token": "<|end▁of▁sentence|>",
11
+ "sp_model_kwargs": {},
12
+ "tokenizer_class": "TokenizersBackend",
13
+ "unk_token": null
14
+ }