Commit ·
ba2f0e7
0
Parent(s):
Duplicate from canada-quant/DeepSeek-V4-Flash-W4A16-FP8-MTP
Browse filesCo-authored-by: Paul Cozzolino <pastapaul@users.noreply.huggingface.co>
- .gitattributes +35 -0
- README.md +428 -0
- config.json +1163 -0
- generation_config.json +9 -0
- model-00001-of-00004.safetensors +3 -0
- model-00002-of-00004.safetensors +3 -0
- model-00003-of-00004.safetensors +3 -0
- model-00004-of-00004.safetensors +3 -0
- model.safetensors.index.json +0 -0
- recipe.yaml +61 -0
- tokenizer.json +0 -0
- tokenizer_config.json +14 -0
.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 |
+
}
|