kigimues helcig commited on
Commit
7333225
·
0 Parent(s):

Duplicate from ISTA-DASLab/DeepSeek-V4.1-Flash-1017-GSQ-RCO-GGUF

Browse files

Co-authored-by: Michael Helcig <helcig@users.noreply.huggingface.co>

Files changed (28) hide show
  1. .gitattributes +67 -0
  2. DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ1_M-00001-of-00006.gguf +3 -0
  3. DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ1_M-00002-of-00006.gguf +3 -0
  4. DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ1_M-00003-of-00006.gguf +3 -0
  5. DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ1_M-00004-of-00006.gguf +3 -0
  6. DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ1_M-00005-of-00006.gguf +3 -0
  7. DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XS-00001-of-00006.gguf +3 -0
  8. DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XS-00002-of-00006.gguf +3 -0
  9. DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XS-00003-of-00006.gguf +3 -0
  10. DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XS-00004-of-00006.gguf +3 -0
  11. DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XS-00005-of-00006.gguf +3 -0
  12. DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XXS-00001-of-00006.gguf +3 -0
  13. DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XXS-00002-of-00006.gguf +3 -0
  14. DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XXS-00003-of-00006.gguf +3 -0
  15. DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XXS-00004-of-00006.gguf +3 -0
  16. DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XXS-00005-of-00006.gguf +3 -0
  17. DeepSeek-V4.1-Flash-Engram-IQ4_NL.gguf +3 -0
  18. README.md +237 -0
  19. assets/banner.png +3 -0
  20. assets/banner.webp +3 -0
  21. assets/plots/DeepSeek-V4.1-Flash-1017-benchmarks_bars.png +3 -0
  22. chat_template.jinja +303 -0
  23. convert_ds41_upstream.py +849 -0
  24. exp_probs_b_vl.f32 +0 -0
  25. mmproj-DeepSeek-V4.1-Flash-1017-BF16.gguf +3 -0
  26. tensor-allocation/DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ1_M.rco-allocation.txt +1061 -0
  27. tensor-allocation/DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XS.rco-allocation.txt +1061 -0
  28. tensor-allocation/DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XXS.rco-allocation.txt +1061 -0
.gitattributes ADDED
@@ -0,0 +1,67 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
36
+ DeepSeek-V4.1-Flash-Engram-IQ4_NL.gguf filter=lfs diff=lfs merge=lfs -text
37
+ DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XXS-00001-of-00004.gguf filter=lfs diff=lfs merge=lfs -text
38
+ DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XXS-00002-of-00004.gguf filter=lfs diff=lfs merge=lfs -text
39
+ DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XXS-00003-of-00004.gguf filter=lfs diff=lfs merge=lfs -text
40
+ DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XXS-00004-of-00004.gguf filter=lfs diff=lfs merge=lfs -text
41
+ DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XS-00001-of-00004.gguf filter=lfs diff=lfs merge=lfs -text
42
+ DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XS-00002-of-00004.gguf filter=lfs diff=lfs merge=lfs -text
43
+ DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XS-00003-of-00004.gguf filter=lfs diff=lfs merge=lfs -text
44
+ DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XS-00004-of-00004.gguf filter=lfs diff=lfs merge=lfs -text
45
+ assets/banner.png filter=lfs diff=lfs merge=lfs -text
46
+ assets/plots/DeepSeek-V4.1-Flash-1017-benchmarks_bars.png filter=lfs diff=lfs merge=lfs -text
47
+ assets/banner.webp filter=lfs diff=lfs merge=lfs -text
48
+ DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ1_M-00001-of-00004.gguf filter=lfs diff=lfs merge=lfs -text
49
+ DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ1_M-00002-of-00004.gguf filter=lfs diff=lfs merge=lfs -text
50
+ DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ1_M-00003-of-00004.gguf filter=lfs diff=lfs merge=lfs -text
51
+ DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ1_M-00004-of-00004.gguf filter=lfs diff=lfs merge=lfs -text
52
+ mmproj-DeepSeek-V4.1-Flash-1017-BF16.gguf filter=lfs diff=lfs merge=lfs -text
53
+ DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ1_M-00001-of-00006.gguf filter=lfs diff=lfs merge=lfs -text
54
+ DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ1_M-00002-of-00006.gguf filter=lfs diff=lfs merge=lfs -text
55
+ DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ1_M-00003-of-00006.gguf filter=lfs diff=lfs merge=lfs -text
56
+ DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ1_M-00004-of-00006.gguf filter=lfs diff=lfs merge=lfs -text
57
+ DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ1_M-00005-of-00006.gguf filter=lfs diff=lfs merge=lfs -text
58
+ DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XXS-00001-of-00006.gguf filter=lfs diff=lfs merge=lfs -text
59
+ DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XXS-00002-of-00006.gguf filter=lfs diff=lfs merge=lfs -text
60
+ DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XXS-00003-of-00006.gguf filter=lfs diff=lfs merge=lfs -text
61
+ DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XXS-00004-of-00006.gguf filter=lfs diff=lfs merge=lfs -text
62
+ DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XXS-00005-of-00006.gguf filter=lfs diff=lfs merge=lfs -text
63
+ DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XS-00001-of-00006.gguf filter=lfs diff=lfs merge=lfs -text
64
+ DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XS-00002-of-00006.gguf filter=lfs diff=lfs merge=lfs -text
65
+ DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XS-00003-of-00006.gguf filter=lfs diff=lfs merge=lfs -text
66
+ DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XS-00004-of-00006.gguf filter=lfs diff=lfs merge=lfs -text
67
+ DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XS-00005-of-00006.gguf filter=lfs diff=lfs merge=lfs -text
DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ1_M-00001-of-00006.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3e8ddd11441edd4bc19bacaef5dbe38818af2cbdf0820fb70f1d2d851fcc192a
3
+ size 5780704
DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ1_M-00002-of-00006.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:be4ceb1caf1bed28e886860cf6a52adc8f5ca9eb0d2098ade39bb4179d48b323
3
+ size 39340012896
DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ1_M-00003-of-00006.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:758c66ba65236e8ce0820c21a7b6f9b2947681df8cc509f672a77722e8191b9a
3
+ size 38698805888
DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ1_M-00004-of-00006.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:04a5bea2b38eb576f49efc19c0a677768d6e2a8ea5772d72fb6cb79e1733a212
3
+ size 39707055008
DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ1_M-00005-of-00006.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:7c8dbee99890f05dbc420eba6f44393f5228d06248fe61e1ae8ed002449c7549
3
+ size 2969539840
DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XS-00001-of-00006.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0182a2a1f42d319a0dbc6e34aa82a063880c069fe3aafbbea86018f386e64e5f
3
+ size 5780704
DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XS-00002-of-00006.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5c88039fa640460a9fc3465a6dfcd162a4083dd738d55e5b52e025be14555a08
3
+ size 39581533600
DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XS-00003-of-00006.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0fddebfd05f0a36cfd107ba5dfd2547e64df61adbab39560a5a5f5521ca099a5
3
+ size 39417972640
DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XS-00004-of-00006.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c577a43c6e6e615838a1655a0b162541edeac6f36542f08c4a9593a70dcaf500
3
+ size 39079187648
DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XS-00005-of-00006.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:851d8605bf504962054d17ea8a0d9e2e0a228d085d396bd865a4de9f16d90fbd
3
+ size 37141423776
DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XXS-00001-of-00006.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f356f198561f56df36f7ab92d7238a926646d76de992c34f15bcb939a5f529b9
3
+ size 5780704
DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XXS-00002-of-00006.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:25af3785ccf925f54137e1ead4c481a8952315dc0b1af6519a99407f67bce8f3
3
+ size 39535781184
DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XXS-00003-of-00006.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8168d0998fc494def2e1952d83c131425a108660aae9d29190f5a8670ab62b48
3
+ size 39736712000
DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XXS-00004-of-00006.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9eb9b4de1968f150dfc207eb31c27be9cd9b5666a9a6246bde8a22b184b4bee0
3
+ size 39036908384
DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XXS-00005-of-00006.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:7e35f6b4e6fc46f6c4b152b593d84d683c5ece695ae6ad734f556198c041bec1
3
+ size 19923784832
DeepSeek-V4.1-Flash-Engram-IQ4_NL.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3dac4c54893ad7aa89103c0028500eadc78e74112cef3a2930a97e67dc9fb4f3
3
+ size 110595290816
README.md ADDED
@@ -0,0 +1,237 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ base_model: deepseek-ai/DeepSeek-V4.1-Flash-1017
3
+ base_model_relation: quantized
4
+ pipeline_tag: text-generation
5
+ library_name: gguf
6
+ license: mit
7
+ tags:
8
+ - gguf
9
+ - gsq
10
+ - rco
11
+ - quantization
12
+ - mixed-precision
13
+ - ist-daslab
14
+ - moe
15
+ - deepseek
16
+ ---
17
+
18
+ <div align="center">
19
+
20
+ <a href="https://github.com/IST-DASLab"><img src="assets/banner.webp" alt="DeepSeek-V4.1-Flash-1017, GSQ-RCO dynamic non-uniform GGUF" width="100%"/></a>
21
+
22
+ <br/>
23
+
24
+ # DeepSeek-V4.1-Flash-1017 &middot; GSQ-RCO GGUFs
25
+
26
+ **Non-uniform GGUF quantizations** of a 763B-parameter, 384-expert MoE, produced with **GSQ** and **RCO**.
27
+
28
+ [![arXiv: GSQ](https://img.shields.io/badge/arXiv-GSQ_2604.18556-b31b1b?logo=arxiv&logoColor=white)](https://arxiv.org/abs/2604.18556)
29
+ [![arXiv: RCO](https://img.shields.io/badge/arXiv-RCO_2605.00649-b31b1b?logo=arxiv&logoColor=white)](https://arxiv.org/abs/2605.00649)
30
+ [![GSQ code](https://img.shields.io/badge/code-GSQ-181717?logo=github&logoColor=white)](https://github.com/IST-DASLab/GSQ)
31
+ [![RCO code](https://img.shields.io/badge/code-RCO-181717?logo=github&logoColor=white)](https://github.com/IST-DASLab/RCO)
32
+ [![DASLab](https://img.shields.io/badge/DASLab-GitHub-101048?logo=github&logoColor=white)](https://github.com/IST-DASLab)
33
+ [![license](https://img.shields.io/badge/license-MIT-19a34a)](#license)
34
+
35
+ </div>
36
+
37
+ ![Base model vs GSQ-RCO quants on AIME25, GPQA-Diamond and LiveCodeBench v6](assets/plots/DeepSeek-V4.1-Flash-1017-benchmarks_bars.png)
38
+
39
+ > **Update, October 27, 2026.** The files now use llama.cpp's own DeepSeek-V4.1 layout and load in llama.cpp [b11870](https://github.com/ggml-org/llama.cpp/releases/tag/b11870) or newer, including images.
40
+ > - **Downloaded the earlier files?** You do not need to download the model again. Run [convert_ds41_upstream.py](./convert_ds41_upstream.py) on your model folder: it rewrites the files locally into exactly the current ones and fetches only 80 KB. See [Updating an existing download](#updating-an-existing-download).
41
+ > - **New download?** The shared Engram file is shard 6 of every build, so link it once per build you use (`<ID>` is `IQ1_M`, `IQ2_XXS` or `IQ2_XS`; see [llama.cpp](#llamacpp)):
42
+ >
43
+ > ```sh
44
+ > ln -s DeepSeek-V4.1-Flash-Engram-IQ4_NL.gguf DeepSeek-V4.1-Flash-1017-GSQ-RCO-<ID>-00006-of-00006.gguf
45
+ > ```
46
+
47
+ ---
48
+
49
+ ## Overview
50
+
51
+ This repository provides GGUF quantizations of **DeepSeek-V4.1-Flash-1017** at three sizes: **IQ1_M (1.75 bits per weight), IQ2_XXS (2.00) and IQ2_XS (2.25)**. In contrast to uniform quantization, which applies a single quantization type to all weight tensors, each model here assigns a separate quantization type to every tensor. The assignment is obtained by a gradient-based search that allocates precision according to per-tensor sensitivity, subject to a total size budget. The resulting files are standard GGUF.
52
+
53
+ DeepSeek-V4.1-Flash-1017 is a sparse mixture-of-experts model with **763.2B parameters**: **384 routed experts per layer**, of which 6 are active per token, and a 1M-token context window. The routed experts dominate the parameter count, so they also dominate the size budget, and the search spends most of its freedom there, assigning a quantization type **per layer** (not per expert, which GGUF cannot express).
54
+
55
+ With [Strata](https://github.com/Niko1221/Strata), every build runs on a **single GPU with 12 GB of VRAM**. See [Usage](#usage).
56
+
57
+ > **Method summary.** GSQ provides accurate low-bit scalar quantization of each tensor at a given quantization type; RCO assigns the per-tensor quantization types under a size budget. Together they yield a non-uniform GGUF at the requested size.
58
+
59
+ | Method | Description |
60
+ |---|---|
61
+ | **GSQ** (Gumbel-Softmax Quantization, [paper](https://arxiv.org/abs/2604.18556), [code](https://github.com/IST-DASLab/GSQ)) | Post-training scalar quantization that jointly learns the per-coordinate grid assignments and the per-group scales via a Gumbel-Softmax relaxation. GSQ closes most of the gap between scalar and vector quantization at 2 to 3 bits while remaining deployable in standard scalar formats such as GGUF. |
62
+ | **RCO** (Riemannian Constrained Optimization, [paper](https://arxiv.org/abs/2605.00649), [code](https://github.com/IST-DASLab/RCO)) | Assigns one of K quantization types to each of N tensors under a total size budget. The budget constraint is reformulated as a smooth Riemannian manifold in logit space, which permits gradient-based optimization directly on the task loss while enforcing the budget exactly, without constraint-specific hyperparameter tuning. |
63
+
64
+ Both methods were developed at the [Deep Algorithms and Systems Lab (DASLab)](https://github.com/IST-DASLab), Institute of Science and Technology Austria.
65
+
66
+ ---
67
+
68
+ ## Available files
69
+
70
+ Each build is a backbone GGUF in five shards, named after its quantization identifier: `DeepSeek-V4.1-Flash-1017-GSQ-RCO-<ID>-0000i-of-00006.gguf`, i = 1 to 5. Shard 1 holds the metadata only, shards 2 to 5 the transformer weights, **551.9B parameters**. The bpw is the average bit-width over these, which is what the search controls.
71
+
72
+ The **Engram file**, `DeepSeek-V4.1-Flash-Engram-IQ4_NL.gguf`, holds the model's two Engram lookup tables (196.6B parameters) at IQ4_NL, 4.50 bpw. It is identical for all builds, so it is stored once and needs to be downloaded only once, also when trying several builds. llama.cpp loads it as shard 6 of a build, so each build needs a link to it named `...-<ID>-00006-of-00006.gguf` (one command, see [llama.cpp](#llamacpp)). The tables are a lookup, not a matmul weight, so they are held at a fixed type in every build and excluded from the search. They are quantized in the evaluated models, not just the shipped ones.
73
+
74
+ | Build | bpw | Backbone | Engram | Total | Notes |
75
+ |---|---|---|---|---|---|
76
+ | `IQ1_M` | 1.75 | 120.72 GB | 110.60 GB | 231.32 GB | Smallest |
77
+ | `IQ2_XXS` | 2.00 | 138.24 GB | 110.60 GB | 248.84 GB | Recommended; closest to the base model |
78
+ | `IQ2_XS` | 2.25 | 155.23 GB | 110.60 GB | 265.83 GB | |
79
+
80
+ All three builds run on a single 12 GB GPU with [Strata](https://github.com/Niko1221/Strata).
81
+
82
+ The Engram column is the same shared file in every row. The vision projector, `mmproj-DeepSeek-V4.1-Flash-1017-BF16.gguf` (0.97 GB), also serves all builds. GB is 10<sup>9</sup> bytes.
83
+
84
+ The IQ2_XXS build is the stronger operating point: it matches the base model on all three benchmarks and so reaches **100.0%** of its task average (93.54). The IQ1_M build trades 1.2 points of task average for 17.5 GB less.
85
+
86
+ ### Memory requirements
87
+
88
+ <!-- TBD: confirm how Strata places the model on a 12 GB GPU (which tensors stay in VRAM, how much system RAM it needs) and fill in this section. -->
89
+
90
+ Only the backbone holds transformer weights. The Engram tables are read sparsely, one row per token, so they can stay memory-mapped on disk and do not need to occupy VRAM or RAM. With Strata, the backbone does not need to fit in VRAM either: every build runs on a **12 GB GPU**, with the rest of the model held in system memory. Keep the Engram file on an SSD so the paging stays cheap.
91
+
92
+ ---
93
+
94
+ ## Results
95
+
96
+ All models are evaluated against the base model **deepseek-ai/DeepSeek-V4.1-Flash-1017** as released (FP8 dense weights, FP4 routed experts). We report three reasoning and generation benchmarks: **AIME25**, **GPQA-Diamond**, and **LiveCodeBench v6**. Task average is the mean of the three; recovery is the task average relative to the base model.
97
+
98
+ All numbers in this card were measured at **reasoning effort 50**.
99
+
100
+ | Variant | bpw | AIME25↑ | GPQA-D↑ | LCB v6↑ | Task avg↑ | Recovery |
101
+ |---|---|---|---|---|---|---|
102
+ | Base (FP8 / FP4) | n/a | 100.00 | 90.91 | 89.71 | 93.54 | 100.0% |
103
+ | **GSQ-RCO IQ1_M** | 1.75 | **100.00** | 88.38 | 88.57 | 92.32 | 98.7% |
104
+ | **GSQ-RCO IQ2_XXS** | 2.00 | **100.00** | **90.91** | **89.71** | **93.54** | **100.0%** |
105
+ | **GSQ-RCO IQ2_XS** | 2.25 | **100.00** | 90.40 | **89.71** | 93.37 | 99.8% |
106
+
107
+ IQ2_XXS (2.00 bpw) keeps **100.0%** of the base model's task average: it matches the base model on AIME25 (100.00), GPQA-Diamond (90.91) and LiveCodeBench v6 (89.71). IQ2_XS (2.25 bpw) matches it on AIME25 and LiveCodeBench v6 and scores 90.40 on GPQA-Diamond, 99.8% overall. The smallest build, IQ1_M (1.75 bpw), also scores 100.00 on AIME25 and retains 98.7% overall.
108
+
109
+ ---
110
+
111
+ ## Usage
112
+
113
+ > **Runtime support.** llama.cpp supports DeepSeek-V4.1, including images, since release [b11870](https://github.com/ggml-org/llama.cpp/releases/tag/b11870) (October 25, 2026), and the files here use its layout since October 27, 2026. Downloads from before that date can be converted locally, see [Updating an existing download](#updating-an-existing-download). The GGUFs are also supported in [Strata](https://github.com/Niko1221/Strata).
114
+
115
+ <!-- TBD: confirm that Strata reads the six-shard layout of October 27, 2026. -->
116
+
117
+ ### Strata Engine
118
+
119
+ [Strata](https://github.com/Niko1221/Strata) runs these GGUFs on a **single NVIDIA GPU with 12 GB of VRAM**, with a one-click installer and an OpenAI-compatible endpoint on localhost. The builds were optimized together with Strata for local inference.
120
+
121
+ <!-- TBD: Strata command or model-selection steps for this repo. -->
122
+
123
+ ### llama.cpp
124
+
125
+ Requires llama.cpp [b11870](https://github.com/ggml-org/llama.cpp/releases/tag/b11870) or newer.
126
+
127
+ ```bash
128
+ # download one build and the shared Engram file (requires: pip install -U "huggingface_hub[cli]")
129
+ hf download ISTA-DASLab/DeepSeek-V4.1-Flash-1017-GSQ-RCO-GGUF \
130
+ --include "*IQ2_XXS*" "*Engram*" --local-dir .
131
+
132
+ # the Engram file is shard 6 of every build
133
+ ln -s DeepSeek-V4.1-Flash-Engram-IQ4_NL.gguf DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XXS-00006-of-00006.gguf
134
+
135
+ llama-cli -m DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XXS-00001-of-00006.gguf \
136
+ -p "Explain mixed-precision quantization." -ngl 99
137
+ ```
138
+ `-m` takes the first shard; llama.cpp opens shards 2 to 6 from the same directory. To try another build, download only its shards (`--include "*IQ1_M*"`) and add its link. On Windows, `mklink /H <link> DeepSeek-V4.1-Flash-Engram-IQ4_NL.gguf` makes the link; [convert_ds41_upstream.py](./convert_ds41_upstream.py), run on the folder, also creates missing links.
139
+
140
+ The Engram table stays memory-mapped on disk and is read one row per token (llama.cpp's default `--lazy-mode auto` does this for tensors over 4 GiB), so it needs neither VRAM nor RAM. See [Memory requirements](#memory-requirements).
141
+
142
+ ### Images
143
+
144
+ Download the vision projector and pass it with `--mmproj`:
145
+
146
+ ```bash
147
+ hf download ISTA-DASLab/DeepSeek-V4.1-Flash-1017-GSQ-RCO-GGUF \
148
+ --include "mmproj-*" --local-dir .
149
+
150
+ llama-server -m DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XXS-00001-of-00006.gguf \
151
+ --mmproj mmproj-DeepSeek-V4.1-Flash-1017-BF16.gguf -ngl 99
152
+ ```
153
+ With `llama-mtmd-cli`, also pass `--jinja` so that the chat template embedded in the GGUF is used.
154
+
155
+ ### Chat template and reasoning effort
156
+
157
+ The base repository ships no Jinja chat template; its prompt format is defined by DeepSeek's encoder, `encoding/encoding.py`. The GGUFs embed a template adapted from [Unsloth's DeepSeek-V4.1 release](https://huggingface.co/unsloth/DeepSeek-V4.1-Flash-1017-GGUF), checked against that encoder for text chat, tool use, and image formatting. Reasoning effort accepts an integer from 1 to 100 (also a numeric string), or `low`, `high`, `max` (50, 75, 100). The default effort is DeepSeek's `high` (75), and effort applies only in thinking mode. Structured image blocks, including images in tool results, retain their image placeholders. Image inference needs the vision projector, see [Images](#images).
158
+
159
+ ```bash
160
+ llama-server -m DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XXS-00001-of-00006.gguf -ngl 99 \
161
+ --reasoning on --reasoning-effort 50
162
+ ```
163
+ Effort 50 is the setting all results in this card were measured with. Per request, set `"reasoning_effort": "50"` in the chat completion body (a string, also for numbers). `--reasoning off` disables thinking.
164
+
165
+
166
+ ### Updating an existing download
167
+
168
+ Files downloaded before October 27, 2026 (four shards per build and a separate `DeepSeek-V4.1-Flash-Engram-IQ4_NL.gguf`) were written for an earlier llama.cpp branch and do not load in llama.cpp. [convert_ds41_upstream.py](./convert_ds41_upstream.py) turns them into the current files of this repository, byte for byte, without downloading the model again. It needs Python 3.8+ and no extra packages, and fetches only two small files of this repository (`chat_template.jinja` and `exp_probs_b_vl.f32`, 80 KB).
169
+
170
+ ```sh
171
+ cd /path/to/downloaded/model-folder
172
+ hf download ISTA-DASLab/DeepSeek-V4.1-Flash-1017-GSQ-RCO-GGUF convert_ds41_upstream.py --local-dir .
173
+ python3 convert_ds41_upstream.py .
174
+ ```
175
+
176
+ It converts every build in the folder and the mmproj, and writes the new backbone shards next to the old ones; every written tensor is read back and compared with its source. The Engram file is converted in place: only its header changes, its 110 GB of tables stay as they are, and the script adds the shard-6 links. The free space needed is the size of the new shards (121 to 155 GB per build). With `--delete-old`, the old shards of a build are deleted as soon as its new ones are verified, so space for one build suffices. The new first shards take the chat template from `chat_template.jinja`, so `patch_chat_template.py` is not needed.
177
+
178
+
179
+ ---
180
+
181
+ ## Quantization procedure
182
+
183
+ 1. **Per-tensor database.** Each weight tensor is quantized at every candidate GGUF quantization type with GSQ, yielding a searchable database of quantized tensor variants.
184
+ 2. **RCO search.** The budget-constrained Riemannian search assigns one quantization type per tensor such that the backbone's average bit-width meets the target.
185
+ 3. **Assembly.** The selected per-tensor variants are stitched into a standard GGUF file.
186
+
187
+ The dense tensors (attention, shared experts, embeddings, output head) and the routed-expert matrices draw on separate quantization ladders, because the routed experts sit at a much lower bit-width than the dense path at any given budget: the dense tensors choose among Q5_K, Q6_K and Q8_0, the routed experts among types from IQ1_S to IQ3_S. The search's teacher is the released checkpoint itself, with the routed experts in their native FP4, and its calibration data was generated by the model. <!-- TBD: per-build expert types and the searched tensor count. -->
188
+
189
+ Reference implementations: **GSQ** at [IST-DASLab/GSQ](https://github.com/IST-DASLab/GSQ) and **RCO** at [IST-DASLab/RCO](https://github.com/IST-DASLab/RCO).
190
+
191
+ ### Reproducibility artifacts
192
+
193
+ Each released build ships the files needed to audit how it was built:
194
+
195
+ | File | Contents |
196
+ |---|---|
197
+ | `tensor-allocation/DeepSeek-V4.1-Flash-1017-GSQ-RCO-<ID>.rco-allocation.txt` | The quantization type assigned to every tensor of that build (all six shards, 1043 tensors), with a quant-type histogram and the target and measured bit-width. This is the RCO search result, so the allocation can be inspected without opening the model. |
198
+ | `convert_ds41_upstream.py`, `chat_template.jinja`, `exp_probs_b_vl.f32` | The converter for downloads from before October 27, 2026 (see [Updating an existing download](#updating-an-existing-download)), the chat template the GGUFs embed, and the vision router bias the converter adds (40 x 384 F32, `ffn.gate.bias_vl` of the original checkpoint). |
199
+
200
+ ---
201
+
202
+ ## Citation
203
+
204
+ If you use these models or methods, please cite both papers:
205
+
206
+ ```bibtex
207
+ @article{gsq2026,
208
+ title = {GSQ: Highly-Accurate Low-Precision Scalar Quantization for LLMs via Gumbel-Softmax Sampling},
209
+ author = {Dadgarnia, Alireza and Tabesh, Soroush and Nikdan, Mahdi and Helcig, Michael and Kurtic, Eldar and Kleinegger, Maximilian and Alistarh, Dan},
210
+ journal= {arXiv preprint arXiv:2604.18556},
211
+ year = {2026}
212
+ }
213
+ @article{rco2026,
214
+ title = {Model Compression with Exact Budget Constraints via Riemannian Manifolds},
215
+ author = {Helcig, Michael and Alistarh, Dan},
216
+ journal= {arXiv preprint arXiv:2605.00649},
217
+ year = {2026}
218
+ }
219
+ ```
220
+
221
+ ---
222
+
223
+ ## Acknowledgements
224
+
225
+ <!-- TBD: confirm the compute acknowledgement for this release (copied from the Flash-Next card). -->
226
+
227
+ We thank [Verda](https://verda.com/) and Scientific Computing at the Institute of Science and Technology Austria for providing the compute resources used to produce these models.
228
+
229
+ ---
230
+
231
+ ## License
232
+
233
+ These quantized weights inherit the license of the base model (**DeepSeek-V4.1-Flash-1017**, MIT). The GSQ-RCO tooling is released by the Deep Algorithms and Systems Lab under its repository license.
234
+
235
+ <div align="center">
236
+ <sub>Built with <b>GSQ</b> and <b>RCO</b> at the <a href="https://github.com/IST-DASLab">Deep Algorithms and Systems Lab</a> &middot; Institute of Science and Technology Austria</sub>
237
+ </div>
assets/banner.png ADDED

Git LFS Details

  • SHA256: af9ee24d4bacfdcfd66b2833c9e6b03e81205bbf835c27412a7696a980d3c282
  • Pointer size: 132 Bytes
  • Size of remote file: 1.96 MB
assets/banner.webp ADDED

Git LFS Details

  • SHA256: 4467c581229965bd1780ca36802b9b3f57c8b2278e8be6b6df33e071f86addc4
  • Pointer size: 132 Bytes
  • Size of remote file: 1.14 MB
assets/plots/DeepSeek-V4.1-Flash-1017-benchmarks_bars.png ADDED

Git LFS Details

  • SHA256: c761c9b9f875b175243ae0ed882f9d87d75a88d34459d2f210296b0ed6198f6d
  • Pointer size: 131 Bytes
  • Size of remote file: 212 kB
chat_template.jinja ADDED
@@ -0,0 +1,303 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {#- Based on Unsloth's DeepSeek-V4.1 template, extracted from
2
+ unsloth/DeepSeek-V4.1-Flash-1017-GGUF at revision
3
+ 60ad3651641b5c97679c807e064ab1d7a3ca1455.
4
+ Adaptations: use DeepSeek's native reasoning-effort aliases and default;
5
+ accept numeric reasoning_effort strings used by serving APIs;
6
+ preserve content_blocks on tool messages as in DeepSeek's reference encoder.
7
+ Image blocks render placeholders; the runtime supplies image embeddings through mmproj.
8
+ -#}
9
+ {%- set IMG = "<|deepseek_image|>" -%}
10
+ {%- set DSML = "|DSML|" -%}
11
+
12
+ {%- if thinking_mode is not defined or thinking_mode is none -%}
13
+ {%- if enable_thinking is defined and enable_thinking is not none -%}
14
+ {%- set thinking_mode = "thinking" if enable_thinking else "chat" -%}
15
+ {%- elif thinking is defined and thinking is not none and thinking is not string -%}
16
+ {%- set thinking_mode = "thinking" if thinking else "chat" -%}
17
+ {%- else -%}
18
+ {%- set thinking_mode = "thinking" -%}
19
+ {%- endif -%}
20
+ {%- endif -%}
21
+ {%- if thinking_mode not in ["chat", "thinking"] -%}
22
+ {{- raise_exception("Invalid thinking_mode `" ~ thinking_mode ~ "`, should be \"chat\" or \"thinking\"") -}}
23
+ {%- endif -%}
24
+ {%- if drop_thinking is not defined or drop_thinking is none -%}{%- set drop_thinking = true -%}{%- endif -%}
25
+ {%- if add_generation_prompt is not defined -%}{%- set add_generation_prompt = false -%}{%- endif -%}
26
+ {%- if tools is not defined -%}{%- set tools = none -%}{%- endif -%}
27
+ {%- if response_format is not defined -%}{%- set response_format = none -%}{%- endif -%}
28
+
29
+ {%- if reasoning_effort is not defined or reasoning_effort is none -%}{%- set reasoning_effort = "high" -%}{%- endif -%}
30
+ {%- set effort_map = {"low": 50, "high": 75, "max": 100} -%}
31
+ {%- if reasoning_effort is string and reasoning_effort in effort_map -%}
32
+ {%- set budget = effort_map[reasoning_effort] -%}
33
+ {%- elif reasoning_effort is integer and reasoning_effort is not boolean and reasoning_effort >= 1 and reasoning_effort <= 100 -%}
34
+ {%- set budget = reasoning_effort -%}
35
+ {%- elif reasoning_effort is string and (reasoning_effort | int | string) == reasoning_effort and (reasoning_effort | int) >= 1 and (reasoning_effort | int) <= 100 -%}
36
+ {%- set budget = reasoning_effort | int -%}
37
+ {%- else -%}
38
+ {{- raise_exception("Invalid reasoning effort: " ~ reasoning_effort ~ ", should be int within [1,100] or one of \"low\", \"high\", \"max\"") -}}
39
+ {%- endif -%}
40
+
41
+ {#- Splits/validates "ns::name" against an explicit namespace and returns the qualified name. -#}
42
+ {%- macro qualified_name(name, ns) -%}
43
+ {%- if ns is mapping -%}{%- set ns = ns.name -%}{%- endif -%}
44
+ {%- set parts = name.split("::", 1) -%}
45
+ {%- if parts | length == 2 -%}
46
+ {%- if ns is not none and ns != parts[0] -%}{{- raise_exception("Conflicting tool namespaces: " ~ ns ~ " != " ~ parts[0]) -}}{%- endif -%}
47
+ {%- set ns = parts[0] -%}
48
+ {%- set name = parts[1] -%}
49
+ {%- endif -%}
50
+ {%- if "::" in name -%}{{- raise_exception("Tool name must not contain '::': " ~ name) -}}{%- endif -%}
51
+ {%- if ns is not none and "::" in ns -%}{{- raise_exception("Tool namespace must not contain '::': " ~ ns) -}}{%- endif -%}
52
+ {{- name if ns is none else ns ~ "::" ~ name -}}
53
+ {%- endmacro -%}
54
+
55
+ {%- macro render_tools(tool_list) -%}
56
+ {%- set ts = namespace(schemas=[]) -%}
57
+ {%- for tool in tool_list -%}
58
+ {%- set fn = tool.function if tool.function is defined else tool -%}
59
+ {%- set ns = tool.namespace if tool.namespace is defined and tool.namespace is not none else fn.get("namespace") -%}
60
+ {#- JSON assembled by hand (key order kept, name/description replaced in place): llama.cpp has no ** unpacking. -#}
61
+ {%- set qname = qualified_name(fn.name, ns) -%}
62
+ {%- set sch = namespace(parts=[]) -%}
63
+ {%- for k, v in fn.items() if k != "namespace" -%}
64
+ {%- if k == "name" -%}{%- set v = qname -%}
65
+ {%- elif k == "description" and ns is mapping and ns.description -%}{%- set v = ns.description ~ "\n" ~ (fn.description or "") -%}
66
+ {%- endif -%}
67
+ {%- set sch.parts = sch.parts + [(k | tojson) ~ ": " ~ (v | tojson)] -%}
68
+ {%- endfor -%}
69
+ {%- if "description" not in fn and ns is mapping and ns.description -%}
70
+ {%- set sch.parts = sch.parts + ['"description": ' ~ ((ns.description ~ "\n") | tojson)] -%}
71
+ {%- endif -%}
72
+ {%- set ts.schemas = ts.schemas + ["{" ~ sch.parts | join(", ") ~ "}"] -%}
73
+ {%- endfor -%}
74
+ {{- "## Tools\n\nYou have access to a set of tools to help answer the user's question. You can invoke tools by writing a \"<|DSML| calls>\" block like the following:\n\n<|DSML| calls>\n<|DSML| invoke name=\"$TOOL_NAME\">\n<|DSML| parameter name=\"$PARAMETER_NAME\" string=\"true|false\">$PARAMETER_VALUE</|DSML| parameter>\n...\n</|DSML| invoke>\n<|DSML| invoke name=\"$TOOL_NAME2\">\n...\n</|DSML| invoke>\n</|DSML| calls>\n\nString parameters should be specified as is and set `string=\"true\"`. For all other types (numbers, booleans, arrays, objects), pass the value in JSON format and set `string=\"false\"`.\n\nIf thinking_mode is enabled (triggered by <think>), you MUST output your complete reasoning inside <think>...</think> BEFORE any tool calls or final response.\n\nOtherwise, output directly after </think> with tool calls or final response.\n\n### Available Tool Schemas\n\n" -}}
75
+ {{- ts.schemas | join("\n") -}}
76
+ {{- "\n\nYou MUST strictly follow the above defined tool name and parameter schemas to invoke tool calls.\n" -}}
77
+ {%- endmacro -%}
78
+
79
+ {#- 1. Merge tool results (and consecutive user turns) into user messages made of content blocks. -#}
80
+ {%- set mns = namespace(msgs=[]) -%}
81
+ {%- for msg in messages -%}
82
+ {%- set content = msg.get("content") -%}
83
+ {%- if msg.role == "tool" and msg.get("content_blocks") and content is not string -%}
84
+ {%- set content = msg.content_blocks -%}
85
+ {%- endif -%}
86
+ {%- set is_blocks = content is iterable and content is not string and content is not mapping -%}
87
+ {%- if content is string and IMG in content -%}
88
+ {{- raise_exception("Message content contains image special token " ~ IMG ~ ". Images should be provided as image content blocks.") -}}
89
+ {%- endif -%}
90
+ {%- set rc = msg.reasoning_content if msg.get("reasoning_content") is not none else msg.get("thinking") -%}
91
+ {%- if rc is string and IMG in rc -%}
92
+ {{- raise_exception("reasoning_content contains image special token " ~ IMG) -}}
93
+ {%- endif -%}
94
+ {%- set prev = mns.msgs[-1] if mns.msgs else none -%}
95
+ {%- if msg.role == "tool" -%}
96
+ {%- set tblock = {"type": "tool_result", "tool_use_id": msg.get("tool_call_id", ""), "content": content if content is not none else ""} -%}
97
+ {%- if prev is not none and prev.role == "user" and prev.content_blocks is defined -%}
98
+ {%- set mns.msgs = mns.msgs[:-1] + [dict(prev, content_blocks=prev.content_blocks + [tblock])] -%}
99
+ {%- else -%}
100
+ {%- set mns.msgs = mns.msgs + [{"role": "user", "content_blocks": [tblock]}] -%}
101
+ {%- endif -%}
102
+ {%- elif msg.role == "user" -%}
103
+ {%- set blocks = msg.content_blocks if msg.get("content_blocks") is not none else (content if is_blocks else [{"type": "text", "text": content or ""}]) -%}
104
+ {%- if prev is not none and prev.role == "user" and prev.content_blocks is defined and prev.get("task") is none -%}
105
+ {%- set mns.msgs = mns.msgs[:-1] + [dict(prev, content_blocks=prev.content_blocks + blocks)] -%}
106
+ {%- else -%}
107
+ {%- set mns.msgs = mns.msgs + [dict(msg, content_blocks=blocks)] -%}
108
+ {%- endif -%}
109
+ {%- else -%}
110
+ {%- set mns.msgs = mns.msgs + [msg] -%}
111
+ {%- endif -%}
112
+ {%- endfor -%}
113
+
114
+ {#- Top-level tools / response_format attach to a leading system message, or to a new empty one. -#}
115
+ {%- if tools or response_format -%}
116
+ {%- if not (mns.msgs and mns.msgs[0].role == "system") -%}
117
+ {%- set mns.msgs = [{"role": "system", "content": ""}] + mns.msgs -%}
118
+ {%- endif -%}
119
+ {%- set first = mns.msgs[0] -%}
120
+ {%- if tools and not first.get("tools") -%}{%- set first = dict(first, tools=tools) -%}{%- endif -%}
121
+ {%- if response_format and not first.get("response_format") -%}{%- set first = dict(first, response_format=response_format) -%}{%- endif -%}
122
+ {%- set mns.msgs = [first] + mns.msgs[1:] -%}
123
+ {%- endif -%}
124
+
125
+ {#- 2. Reorder tool results to match the tool_calls order of the preceding assistant message. -#}
126
+ {%- set sns = namespace(msgs=[], ids=[]) -%}
127
+ {%- for m in mns.msgs -%}
128
+ {%- if m.role == "assistant" and m.get("tool_calls") -%}
129
+ {%- set sns.ids = [] -%}
130
+ {%- for tc in m.tool_calls -%}
131
+ {%- set sns.ids = sns.ids + [tc.get("id") or (tc.function.get("id", "") if tc.function is defined else "")] -%}
132
+ {%- endfor -%}
133
+ {%- set sns.msgs = sns.msgs + [m] -%}
134
+ {%- elif m.role == "user" and m.content_blocks -%}
135
+ {%- set tb = namespace(blocks=[]) -%}
136
+ {%- for b in m.content_blocks if b.type == "tool_result" -%}
137
+ {%- set order = namespace(idx=0) -%}
138
+ {%- for tc_id in sns.ids -%}
139
+ {%- if tc_id and tc_id == b.get("tool_use_id", "") -%}{%- set order.idx = loop.index0 -%}{%- endif -%}
140
+ {%- endfor -%}
141
+ {%- set tb.blocks = tb.blocks + [dict(b, _order=order.idx)] -%}
142
+ {%- endfor -%}
143
+ {%- if tb.blocks | length > 1 and sns.ids -%}
144
+ {%- set sorted_blocks = tb.blocks | sort(attribute="_order") -%}
145
+ {%- set rb = namespace(blocks=[], i=0) -%}
146
+ {%- for b in m.content_blocks -%}
147
+ {%- if b.type == "tool_result" -%}
148
+ {%- set rb.blocks = rb.blocks + [sorted_blocks[rb.i]] -%}
149
+ {%- set rb.i = rb.i + 1 -%}
150
+ {%- else -%}
151
+ {%- set rb.blocks = rb.blocks + [b] -%}
152
+ {%- endif -%}
153
+ {%- endfor -%}
154
+ {%- set sns.msgs = sns.msgs + [dict(m, content_blocks=rb.blocks)] -%}
155
+ {%- else -%}
156
+ {%- set sns.msgs = sns.msgs + [m] -%}
157
+ {%- endif -%}
158
+ {%- else -%}
159
+ {%- set sns.msgs = sns.msgs + [m] -%}
160
+ {%- endif -%}
161
+ {%- endfor -%}
162
+ {%- set msgs = sns.msgs -%}
163
+
164
+ {#- Last user turn: users and mid-conversation systems count, except user turns made only of tool results.
165
+ Tools anywhere disable drop_thinking. -#}
166
+ {%- set state = namespace(last_user=-1, has_tools=false) -%}
167
+ {%- for m in msgs -%}
168
+ {%- if m.role == "user" or (m.role == "system" and loop.index0 > 0) -%}
169
+ {%- set real = namespace(v=true) -%}
170
+ {%- if m.get("content_blocks") -%}
171
+ {%- set real.v = false -%}
172
+ {%- for b in m.content_blocks if b.type in ["text", "image", "image_url"] -%}{%- set real.v = true -%}{%- endfor -%}
173
+ {%- endif -%}
174
+ {%- if real.v -%}{%- set state.last_user = loop.index0 -%}{%- endif -%}
175
+ {%- endif -%}
176
+ {%- if m.get("tools") -%}{%- set state.has_tools = true -%}{%- endif -%}
177
+ {%- endfor -%}
178
+ {%- set effective_drop = drop_thinking and not state.has_tools -%}
179
+ {%- set is_thinking = thinking_mode == "thinking" -%}
180
+ {#- Like encoding.py, thinking mode with drop_thinking silently drops messages of other roles before the last user turn. -#}
181
+ {%- if is_thinking and effective_drop -%}
182
+ {%- set kept = namespace(msgs=[]) -%}
183
+ {%- for m in msgs -%}
184
+ {%- if m.role in ["user", "system", "tool", "latest_reminder", "direct_search_results", "assistant"] or loop.index0 >= state.last_user -%}
185
+ {%- set kept.msgs = kept.msgs + [m] -%}
186
+ {%- endif -%}
187
+ {%- endfor -%}
188
+ {%- if kept.msgs | length != msgs | length -%}
189
+ {%- set msgs = kept.msgs -%}
190
+ {%- set state.last_user = -1 -%}
191
+ {%- for m in msgs -%}
192
+ {%- if m.role == "user" or (m.role == "system" and loop.index0 > 0) -%}
193
+ {%- set real = namespace(v=true) -%}
194
+ {%- if m.get("content_blocks") -%}
195
+ {%- set real.v = false -%}
196
+ {%- for b in m.content_blocks if b.type in ["text", "image", "image_url"] -%}{%- set real.v = true -%}{%- endfor -%}
197
+ {%- endif -%}
198
+ {%- if real.v -%}{%- set state.last_user = loop.index0 -%}{%- endif -%}
199
+ {%- endif -%}
200
+ {%- endfor -%}
201
+ {%- endif -%}
202
+ {%- endif -%}
203
+
204
+ {{- "<|begin▁of▁sentence|>" -}}
205
+ {#- 3. Render each message. -#}
206
+ {%- for m in msgs -%}
207
+ {%- set idx = loop.index0 -%}
208
+ {%- set content = m.get("content") -%}
209
+ {%- if content is iterable and content is not string and content is not mapping -%}
210
+ {%- set sp = namespace(parts=[]) -%}
211
+ {%- for b in content -%}
212
+ {%- if b.type == "text" -%}{%- set sp.parts = sp.parts + [b.text or ""] -%}
213
+ {%- elif b.type in ["image", "image_url"] -%}{%- set sp.parts = sp.parts + [IMG] -%}
214
+ {%- endif -%}
215
+ {%- endfor -%}
216
+ {%- set content = sp.parts | join("\n\n") -%}
217
+ {%- endif -%}
218
+
219
+ {%- if idx == 0 -%}
220
+ {%- if is_thinking or m.role == "system" -%}{{- "<|System|>" -}}{%- endif -%}
221
+ {%- if is_thinking -%}{{- "Reasoning Effort: " ~ budget ~ " (range 1-100, the higher the value, the more thorough the reasoning)\n\n" -}}{%- endif -%}
222
+ {%- endif -%}
223
+
224
+ {%- if m.role == "system" -%}
225
+ {%- if idx > 0 -%}{{- "<|System|>" -}}{%- endif -%}
226
+ {{- content or "" -}}
227
+ {%- if m.get("tools") -%}{{- "\n\n" ~ render_tools(m.tools) -}}{%- endif -%}
228
+ {%- if m.get("response_format") -%}
229
+ {{- "\n\n## Response Format:\n\nYou MUST strictly adhere to the following schema to reply:\n" ~ (m.response_format | tojson) -}}
230
+ {%- endif -%}
231
+
232
+ {%- elif m.role == "user" -%}
233
+ {{- "<|User|>" -}}
234
+ {%- set up = namespace(parts=[]) -%}
235
+ {%- for b in m.content_blocks -%}
236
+ {%- if b.type == "text" -%}
237
+ {%- if IMG in (b.text or "") -%}{{- raise_exception("Text block contains image placeholder " ~ IMG ~ ". Images should be separate content blocks.") -}}{%- endif -%}
238
+ {%- set up.parts = up.parts + [b.text or ""] -%}
239
+ {%- elif b.type in ["image", "image_url"] -%}
240
+ {%- set up.parts = up.parts + [IMG] -%}
241
+ {%- elif b.type == "tool_result" -%}
242
+ {%- set tc = b.get("content", "") -%}
243
+ {%- if tc is iterable and tc is not string and tc is not mapping -%}
244
+ {%- set sub = namespace(parts=[]) -%}
245
+ {%- for s in tc -%}
246
+ {%- if s.type == "text" -%}
247
+ {%- if IMG in (s.text or "") -%}{{- raise_exception("Text block contains image placeholder " ~ IMG ~ ". Images should be separate content blocks.") -}}{%- endif -%}
248
+ {%- set sub.parts = sub.parts + [s.get("text", "")] -%}
249
+ {%- elif s.type in ["image", "image_url"] -%}{%- set sub.parts = sub.parts + [IMG] -%}
250
+ {%- else -%}{%- set sub.parts = sub.parts + ["[Unsupported " ~ s.type ~ "]"] -%}
251
+ {%- endif -%}
252
+ {%- endfor -%}
253
+ {%- set tc = sub.parts | join("\n\n") -%}
254
+ {%- endif -%}
255
+ {%- set up.parts = up.parts + ["<tool_result>" ~ tc ~ "</tool_result>"] -%}
256
+ {%- else -%}
257
+ {%- set up.parts = up.parts + ["[Unsupported " ~ b.type ~ "]"] -%}
258
+ {%- endif -%}
259
+ {%- endfor -%}
260
+ {{- up.parts | join("\n\n") -}}
261
+
262
+ {%- elif m.role == "latest_reminder" -%}
263
+ {{- "<|latest_reminder|>" ~ (content or "") -}}
264
+
265
+ {%- elif m.role == "assistant" -%}
266
+ {%- set prev_has_task = idx > 0 and msgs[idx - 1].get("task") is not none -%}
267
+ {%- if is_thinking and not prev_has_task and (not effective_drop or idx > state.last_user) -%}
268
+ {{- ((m.reasoning_content if m.get("reasoning_content") is not none else m.get("thinking")) or "") ~ "</think>" -}}
269
+ {%- endif -%}
270
+ {{- content or "" -}}
271
+ {%- if m.get("tool_calls") -%}
272
+ {%- set tcs = namespace(lines=[]) -%}
273
+ {%- for tc in m.tool_calls -%}
274
+ {%- set fn = tc.function if tc.function is defined else tc -%}
275
+ {%- set params = namespace(lines=[]) -%}
276
+ {%- set args = fn.arguments if fn.arguments is mapping else {"arguments": fn.arguments} -%}
277
+ {%- for k, v in args.items() -%}
278
+ {%- set params.lines = params.lines + ["<" ~ DSML ~ " parameter name=\"" ~ k ~ "\" string=\"" ~ ("true" if v is string else "false") ~ "\">" ~ (v if v is string else v | tojson) ~ "</" ~ DSML ~ " parameter>"] -%}
279
+ {%- endfor -%}
280
+ {%- set name = qualified_name(fn.name, tc.get("namespace") or fn.get("namespace")) -%}
281
+ {%- set tcs.lines = tcs.lines + ["<" ~ DSML ~ " invoke name=\"" ~ name ~ "\">\n" ~ params.lines | join("\n") ~ "\n</" ~ DSML ~ " invoke>"] -%}
282
+ {%- endfor -%}
283
+ {{- "\n\n<" ~ DSML ~ " calls>\n" ~ tcs.lines | join("\n") ~ "\n</" ~ DSML ~ " calls>" -}}
284
+ {%- endif -%}
285
+ {%- if not m.get("wo_eos", false) -%}{{- "<|end▁of▁sentence|>" -}}{%- endif -%}
286
+
287
+ {%- else -%}
288
+ {{- raise_exception("Unknown role: " ~ m.role) -}}
289
+ {%- endif -%}
290
+
291
+ {#- Transition tokens, only when the next message is an assistant/latest_reminder turn or this is the last one. -#}
292
+ {%- if loop.last or msgs[idx + 1].role in ["assistant", "latest_reminder"] -%}
293
+ {%- set task = m.get("task") -%}
294
+ {%- if task is not none -%}
295
+ {%- set task_tokens = {"action": "<|action|>", "query": "<|query|>", "authority": "<|authority|>", "domain": "<|domain|>", "title": "<|title|>", "read_url": "<|read_url|>"} -%}
296
+ {%- if task not in task_tokens -%}{{- raise_exception("Invalid task: '" ~ task ~ "'") -}}{%- endif -%}
297
+ {%- if task == "action" -%}{{- "<|Assistant|>" ~ ("<think>" if is_thinking else "</think>") -}}{%- endif -%}
298
+ {{- task_tokens[task] -}}
299
+ {%- elif (m.role == "user" or (m.role == "system" and idx > 0)) and (add_generation_prompt or not loop.last) -%}
300
+ {{- "<|Assistant|>" ~ ("<think>" if is_thinking and (not effective_drop or idx >= state.last_user) else "</think>") -}}
301
+ {%- endif -%}
302
+ {%- endif -%}
303
+ {%- endfor -%}
convert_ds41_upstream.py ADDED
@@ -0,0 +1,849 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/env python3
2
+ """Convert the ISTA-DASLab DeepSeek-V4.1-Flash-1017 GSQ-RCO GGUFs to llama.cpp's own deepseek41 layout.
3
+
4
+ The files published before October 27, 2026 were written for ISTA's llama.cpp branch. llama.cpp's DeepSeek-V4.1
5
+ support (ggml-org/llama.cpp#31086, merged October 25, 2026) reads the layout of its converter
6
+ (conversion/deepseek41.py). This script writes that layout from the old files:
7
+
8
+ - metadata under the upstream key names; the Engram hash constants (token map, bucket counts, multipliers) move
9
+ from tensors into metadata, with absolute row offsets into the concatenated table
10
+ - the Engram tables of all Engram layers become one tensor, per_layer_token_embd. They stay in the shared
11
+ Engram file, which is converted in place: only its 416-byte header is rewritten, the 110 GB of table data stay
12
+ where they are. llama.cpp opens it as shard 6 of each build, through a link <build>-00006-of-00006.gguf
13
+ - blk.N.engram_wkv is renamed blk.N.engram_kv; blk.N.engram_q and blk.N.engram_k are folded into the F32
14
+ blk.N.engram_gate = q * k (exact: a product of two BF16 values fits in F32)
15
+ - the vision router bias blk.N.exp_probs_b_vl is added (the repository's exp_probs_b_vl.f32, F32 from the
16
+ original checkpoint); llama.cpp routes image tokens with it
17
+ - blk.N.attn_output_a as the 2D matrix of the checkpoint (it was stored as [4096, 1024, 8]; same bytes)
18
+ - tensors in converter order, split like llama-gguf-split --split-max-size 40G --no-tensor-first-split: shard 1
19
+ holds only metadata, so later metadata fixes replace a 6 MB file
20
+ - the chat template of the repository's chat_template.jinja, so downloads that were never patched get the
21
+ current one too
22
+ - mmproj: projector type deepseek41v (V4.1 image token layout) instead of deepseek4v
23
+
24
+ Quantized weights are copied byte for byte. Every written file is read back: each tensor is compared with its
25
+ source, and the file with the SHA-256 of the published one (the Engram tables too, before the header is rewritten),
26
+ so a damaged old download or an unfinished patch_chat_template.py run stops the conversion with an error instead of
27
+ giving wrong files. Standard library only (Python 3.8+). The model is not downloaded again;
28
+ the script only fetches chat_template.jinja and exp_probs_b_vl.f32 (80 KB) from the repository, unless their current
29
+ versions (checked by SHA-256) lie next to it or in the model folder (then it runs offline).
30
+
31
+ python3 convert_ds41_upstream.py MODEL_FOLDER [--out NEW_FOLDER]
32
+
33
+ MODEL_FOLDER holds the old shards (*-0000N-of-00004.gguf), DeepSeek-V4.1-Flash-Engram-IQ4_NL.gguf and optionally the
34
+ mmproj. Every build found there is converted: its new shards 1 to 5 are written next to the old ones (or to --out)
35
+ and need as much space as its old shards (121 to 155 GB). With --delete-old, the old shards of a build are deleted as
36
+ soon as its new ones are verified, so free space for one build suffices. On a folder of new builds the script only
37
+ adds missing links to the Engram file.
38
+ """
39
+ import argparse
40
+ import hashlib
41
+ import os
42
+ import re
43
+ import struct
44
+ import sys
45
+ import urllib.request
46
+
47
+ REPO = 'ISTA-DASLab/DeepSeek-V4.1-Flash-1017-GSQ-RCO-GGUF' # chat_template.jinja and exp_probs_b_vl.f32 come from here
48
+ OLD_REVISION = '653a9874aa38c356233c5f3cc8c96b19a43b57eb' # the repository's last revision with the old files
49
+ BUILD_PREFIX = 'DeepSeek-V4.1-Flash-1017-GSQ-RCO-'
50
+ ARCH = 'deepseek41'
51
+ TABLE = 'per_layer_token_embd.weight'
52
+ ENGRAM_FILE = 'DeepSeek-V4.1-Flash-Engram-IQ4_NL.gguf'
53
+ N_SPLIT = 6 # shards per build; the last is the shared Engram file
54
+ SPLIT_MAX_SIZE = 40 * 1000 ** 3 # llama-gguf-split --split-max-size 40G
55
+ ALIGNMENT = 32
56
+ SPLIT_RE = re.compile(r'^(?P<prefix>.+)-(?P<no>\d{5})-of-(?P<count>\d{5})\.gguf$')
57
+ COPY_CHUNK = 64 << 20
58
+
59
+ # ---------------------------------------------------------------------------------------------------------------
60
+ # GGUF header reading and writing
61
+
62
+ GGUF_MAGIC = 0x46554747
63
+ T_U16, T_U32, T_I32, T_STRING, T_ARRAY, T_U64 = 2, 4, 5, 8, 9, 10
64
+ SCALAR = {0: '<B', 1: '<b', 2: '<H', 3: '<h', 4: '<I', 5: '<i', 6: '<f', 7: '<?', 10: '<Q', 11: '<q', 12: '<d'}
65
+ GGML_F32, GGML_IQ4_NL, GGML_I32, GGML_I64, GGML_BF16 = 0, 20, 26, 27, 30
66
+ # GGML type -> (elements per block, bytes per block), for the types these files contain
67
+ GGML_BLOCK = {0: (1, 4), 1: (1, 2), 8: (32, 34), 10: (256, 84), 11: (256, 110), 12: (256, 144), 13: (256, 176),
68
+ 14: (256, 210), 16: (256, 66), 17: (256, 74), 18: (256, 98), 19: (256, 50), 20: (32, 18),
69
+ 21: (256, 110), 22: (256, 82), 23: (256, 136), 26: (1, 4), 27: (1, 8), 29: (256, 56), 30: (1, 2),
70
+ 39: (32, 17)}
71
+
72
+
73
+ def align(n, a=ALIGNMENT):
74
+ return (n + a - 1) // a * a
75
+
76
+
77
+ def tensor_nbytes(dims, ggml_type):
78
+ per_block, block_bytes = GGML_BLOCK[ggml_type]
79
+ n = 1
80
+ for d in dims:
81
+ n *= d
82
+ if dims[0] % per_block:
83
+ raise ValueError('row of %d elements is not a whole number of type %d blocks' % (dims[0], ggml_type))
84
+ return n // per_block * block_bytes
85
+
86
+
87
+ class _Reader:
88
+ def __init__(self, buf):
89
+ self.buf, self.p = buf, 0
90
+
91
+ def take(self, n):
92
+ if self.p + n > len(self.buf):
93
+ raise EOFError
94
+ b = self.buf[self.p:self.p + n]
95
+ self.p += n
96
+ return b
97
+
98
+ def u(self, fmt):
99
+ return struct.unpack(fmt, self.take(struct.calcsize(fmt)))[0]
100
+
101
+ def string(self):
102
+ return self.take(self.u('<Q')).decode('utf-8')
103
+
104
+ def skip_value(self, t):
105
+ if t == T_STRING:
106
+ self.take(self.u('<Q'))
107
+ elif t == T_ARRAY:
108
+ at, n = self.u('<I'), self.u('<Q')
109
+ if at in (T_STRING, T_ARRAY):
110
+ for _ in range(n):
111
+ self.skip_value(at)
112
+ else:
113
+ self.take(n * struct.calcsize(SCALAR[at]))
114
+ else:
115
+ self.take(struct.calcsize(SCALAR[t]))
116
+
117
+
118
+ def decode_value(t, raw):
119
+ r = _Reader(raw)
120
+ if t == T_STRING:
121
+ return r.string()
122
+ if t == T_ARRAY:
123
+ at, n = r.u('<I'), r.u('<Q')
124
+ if at == T_STRING:
125
+ return [r.string() for _ in range(n)]
126
+ fmt = SCALAR[at]
127
+ return list(struct.unpack('<%d%s' % (n, fmt[1]), r.take(n * struct.calcsize(fmt))))
128
+ return struct.unpack(SCALAR[t], raw)[0]
129
+
130
+
131
+ def encode_value(t, value, array_type=None):
132
+ if t == T_STRING:
133
+ b = value.encode('utf-8')
134
+ return struct.pack('<Q', len(b)) + b
135
+ if t == T_ARRAY:
136
+ head = struct.pack('<IQ', array_type, len(value))
137
+ if array_type == T_STRING:
138
+ return head + b''.join(encode_value(T_STRING, v) for v in value)
139
+ return head + struct.pack('<%d%s' % (len(value), SCALAR[array_type][1]), *value)
140
+ return struct.pack(SCALAR[t], value)
141
+
142
+
143
+ class GGUFFile:
144
+ """Header of a GGUF file: kv is a list of [key, type, raw value bytes], tensors maps a name to
145
+ (absolute file offset, dims, ggml type, byte size)."""
146
+
147
+ def __init__(self, path):
148
+ self.path = path
149
+ size = 1 << 20
150
+ while True:
151
+ with open(path, 'rb') as f:
152
+ buf = f.read(size)
153
+ try:
154
+ self._parse(buf)
155
+ break
156
+ except EOFError:
157
+ if len(buf) < size:
158
+ raise ValueError('%s: truncated GGUF header' % path)
159
+ size *= 4
160
+ self.size = os.path.getsize(path)
161
+
162
+ def _parse(self, buf):
163
+ r = _Reader(buf)
164
+ if r.u('<I') != GGUF_MAGIC:
165
+ raise ValueError('%s is not a GGUF file' % self.path)
166
+ self.version = r.u('<I')
167
+ n_tensors, n_kv = r.u('<Q'), r.u('<Q')
168
+ self.kv = []
169
+ for _ in range(n_kv):
170
+ key = r.string()
171
+ t = r.u('<I')
172
+ start = r.p
173
+ r.skip_value(t)
174
+ self.kv.append([key, t, buf[start:r.p]])
175
+ infos = []
176
+ for _ in range(n_tensors):
177
+ name = r.string()
178
+ dims = [r.u('<Q') for _ in range(r.u('<I'))]
179
+ infos.append((name, dims, r.u('<I'), r.u('<Q')))
180
+ self.header_size = r.p
181
+ self.data_start = align(r.p, self.get('general.alignment', ALIGNMENT))
182
+ self.tensors = {}
183
+ self.order = []
184
+ for name, dims, gt, off in infos:
185
+ self.tensors[name] = (self.data_start + off, dims, gt, tensor_nbytes(dims, gt))
186
+ self.order.append(name)
187
+
188
+ def get(self, key, default=None):
189
+ for k, t, raw in self.kv:
190
+ if k == key:
191
+ return decode_value(t, raw)
192
+ return default
193
+
194
+ def read_tensor(self, name):
195
+ off, _, _, n = self.tensors[name]
196
+ with open(self.path, 'rb') as f:
197
+ f.seek(off)
198
+ data = f.read(n)
199
+ if len(data) != n:
200
+ raise ValueError('%s: tensor %s is truncated' % (self.path, name))
201
+ return data
202
+
203
+
204
+ def serialize_header(kv, infos):
205
+ """kv: [key, type, raw]; infos: (name, dims, ggml type, relative offset). Padded to the data section."""
206
+ out = [struct.pack('<IIQQ', GGUF_MAGIC, 3, len(infos), len(kv))]
207
+ for key, t, raw in kv:
208
+ out += [encode_value(T_STRING, key), struct.pack('<I', t), raw]
209
+ for name, dims, gt, off in infos:
210
+ out += [encode_value(T_STRING, name), struct.pack('<I', len(dims)),
211
+ struct.pack('<%dQ' % len(dims), *dims), struct.pack('<IQ', gt, off)]
212
+ header = b''.join(out)
213
+ return header + b'\0' * (align(len(header)) - len(header))
214
+
215
+
216
+ # ---------------------------------------------------------------------------------------------------------------
217
+ # conversion
218
+
219
+
220
+ class Tensor:
221
+ """An output tensor: bytes from a file range or computed here."""
222
+
223
+ def __init__(self, name, dims, ggml_type, path=None, offset=None, data=None):
224
+ self.name, self.dims, self.type = name, list(dims), ggml_type
225
+ self.nbytes = tensor_nbytes(self.dims, ggml_type)
226
+ self.path, self.offset, self.data = path, offset, data
227
+ if data is not None and len(data) != self.nbytes:
228
+ raise ValueError('%s: %d bytes for a tensor of %d' % (name, len(data), self.nbytes))
229
+
230
+ def source_hash(self):
231
+ if self.data is not None:
232
+ return hashlib.sha256(self.data).hexdigest()
233
+ return hash_range(self.path, self.offset, self.nbytes)
234
+
235
+
236
+ def read_into(f, n, *hashes):
237
+ """Reads the next n bytes of f into the given hashes."""
238
+ while n:
239
+ b = f.read(min(n, COPY_CHUNK))
240
+ if not b:
241
+ raise ValueError('%s ends early' % f.name)
242
+ for h in hashes:
243
+ h.update(b)
244
+ n -= len(b)
245
+
246
+
247
+ def hash_range(path, offset, n):
248
+ h = hashlib.sha256()
249
+ with open(path, 'rb') as f:
250
+ f.seek(offset)
251
+ read_into(f, n, h)
252
+ return h.hexdigest()
253
+
254
+
255
+ # the old branch-specific metadata, replaced by the upstream keys
256
+ OLD_KEYS = ['attention.candidate_block_size', 'attention.candidate_topk_blocks', 'attention.candidate_source_layer_id',
257
+ 'kv_source_layer_ids', 'index_source_layer_ids', 'dspark_target_layer_ids', 'expert_scoring_func',
258
+ 'engram.present', 'engram.layer_ids', 'engram.num_embeddings', 'engram_head_dim', 'engram_n_heads',
259
+ 'engram_max_ngram_size', 'engram_vocab_size', 'engram_compressed_vocab_size', 'engram_pad_token_id',
260
+ 'engram.source', 'engram.file']
261
+ CONST_TENSORS = ['engram_token_map.weight', 'engram_primes.weight', 'engram_offsets.weight',
262
+ 'engram_multipliers.weight']
263
+
264
+
265
+ def unpack(data, fmt):
266
+ return list(struct.unpack('<%d%s' % (len(data) // struct.calcsize(fmt), fmt[1]), data))
267
+
268
+
269
+ def convert_metadata(meta, tensor_source, chat_template):
270
+ """meta: GGUFFile with the old first-shard metadata. Returns the new kv list (without split keys)."""
271
+ A = ARCH + '.'
272
+ get = lambda k: meta.get(A + k)
273
+ if meta.get('general.architecture') != ARCH:
274
+ raise ValueError('%s: architecture %r, expected %s' % (meta.path, meta.get('general.architecture'), ARCH))
275
+ missing = [A + k for k in OLD_KEYS if meta.get(A + k) is None and k not in ('dspark_target_layer_ids',
276
+ 'expert_scoring_func')]
277
+ if missing:
278
+ raise ValueError('%s: missing metadata %s' % (meta.path, ', '.join(missing)))
279
+
280
+ layers = get('engram.layer_ids')
281
+ n_gram, n_heads, head_dim = get('engram_max_ngram_size'), get('engram_n_heads'), get('engram_head_dim')
282
+ n_cols = (n_gram - 1) * n_heads
283
+ token_map = unpack(tensor_source('engram_token_map.weight'), '<i')
284
+ primes = unpack(tensor_source('engram_primes.weight'), '<q')
285
+ local_offsets = unpack(tensor_source('engram_offsets.weight'), '<q')
286
+ multipliers = unpack(tensor_source('engram_multipliers.weight'), '<q')
287
+ if len(primes) != len(layers) * n_cols or len(local_offsets) != len(primes) or \
288
+ len(multipliers) != len(layers) * n_gram:
289
+ raise ValueError('Engram constants do not match %d layers x %d heads' % (len(layers), n_cols))
290
+ for e, rows in enumerate(get('engram.num_embeddings')):
291
+ layer_primes = primes[e * n_cols:(e + 1) * n_cols]
292
+ if sum(layer_primes) != rows:
293
+ raise ValueError('Engram layer %d: bucket counts do not add up to its table rows' % layers[e])
294
+ if local_offsets[e * n_cols:(e + 1) * n_cols] != [sum(layer_primes[:i]) for i in range(n_cols)]:
295
+ raise ValueError('Engram layer %d: unexpected row offsets' % layers[e])
296
+ if max(token_map) + 1 != get('engram_compressed_vocab_size') or \
297
+ len(token_map) != len(meta.get('tokenizer.ggml.tokens')):
298
+ raise ValueError('Engram token map does not match the vocabulary')
299
+ if any(m <= 0 or m % 2 == 0 for m in multipliers):
300
+ raise ValueError('Engram multipliers must be odd and positive')
301
+
302
+ new = [
303
+ ('attention.kv_source_layers', T_ARRAY, get('kv_source_layer_ids'), T_U32),
304
+ ('attention.indexer.source_layers', T_ARRAY, get('index_source_layer_ids'), T_U32),
305
+ ('attention.indexer.candidate_source_layer', T_I32, get('attention.candidate_source_layer_id'), None),
306
+ ('attention.indexer.candidate_top_k_blocks', T_U32, get('attention.candidate_topk_blocks'), None),
307
+ ('attention.indexer.candidate_block_size', T_U32, get('attention.candidate_block_size'), None),
308
+ ('ple.layers', T_ARRAY, layers, T_U32),
309
+ ('ple.ngram_size', T_U32, n_gram, None),
310
+ ('ple.heads_per_ngram', T_U32, n_heads, None),
311
+ ('embedding_length_per_layer_input', T_U32, head_dim, None),
312
+ ('ple.layer_multipliers', T_ARRAY, multipliers, T_U64),
313
+ ('ple.head_offsets', T_ARRAY, [sum(primes[:i]) for i in range(len(primes))], T_U64),
314
+ ('ple.head_vocab_sizes', T_ARRAY, primes, T_U64),
315
+ ('engram.pad_token_id', T_U32, get('engram_pad_token_id'), None),
316
+ ('engram.token_map', T_ARRAY, token_map, T_I32),
317
+ ]
318
+ old = {A + k for k in OLD_KEYS}
319
+ kv, inserted = [], False
320
+ for key, t, raw in meta.kv:
321
+ if key.startswith('split.'):
322
+ continue
323
+ if key in old:
324
+ if not inserted:
325
+ kv += [[A + k, vt, encode_value(vt, v, at)] for k, vt, v, at in new]
326
+ inserted = True
327
+ continue
328
+ if key == 'tokenizer.chat_template':
329
+ raw = encode_value(T_STRING, chat_template) # the repository's, whether or not the old one was patched
330
+ kv.append([key, t, raw])
331
+ return kv
332
+
333
+
334
+ def bf16_to_f32(h):
335
+ return struct.unpack('<f', struct.pack('<I', h << 16))[0]
336
+
337
+
338
+ def engram_gate(q, k):
339
+ """F32 q * k from two BF16 tensors (the upstream converter's data_torch.float() * k().float())."""
340
+ n = len(q) // 2
341
+ qv, kv = struct.unpack('<%dH' % n, q), struct.unpack('<%dH' % n, k)
342
+ return struct.pack('<%df' % n, *[bf16_to_f32(a) * bf16_to_f32(b) for a, b in zip(qv, kv)])
343
+
344
+
345
+ def canonical_key(name):
346
+ """Converter order: global tensors, then the blocks in order, the Engram table last; names sorted."""
347
+ if name == 'per_layer_token_embd.weight':
348
+ return (2, 0, name)
349
+ m = re.match(r'blk\.(\d+)\.', name)
350
+ return (1, int(m.group(1)), name) if m else (0, 0, name)
351
+
352
+
353
+ def plan_tensors(meta, sources, engram, bias_vl):
354
+ """sources: GGUFFiles holding the old backbone tensors; engram: the old Engram GGUFFile."""
355
+ index = {}
356
+ for src in sources:
357
+ for name, (off, dims, gt, _) in src.tensors.items():
358
+ if name in index:
359
+ raise ValueError('tensor %s found in %s and %s' % (name, index[name][0].path, src.path))
360
+ index[name] = (src, off, dims, gt)
361
+ A = ARCH + '.'
362
+ n_layer, n_expert = meta.get(A + 'block_count'), meta.get(A + 'expert_count')
363
+ layers = meta.get(A + 'engram.layer_ids')
364
+ out = []
365
+ for name, (src, off, dims, gt) in index.items():
366
+ if name in CONST_TENSORS or re.match(r'blk\.\d+\.engram_[qk]\.weight$', name):
367
+ continue
368
+ if name.endswith('.attn_output_a.weight') and len(dims) == 3:
369
+ dims = [dims[0], dims[1] * dims[2]] # the checkpoint's 2D wo_a, as the converter writes it; same bytes
370
+ out.append(Tensor(name.replace('.engram_wkv.', '.engram_kv.'), dims, gt, src.path, off))
371
+
372
+ for layer in layers:
373
+ q, k = ('blk.%d.engram_%s.weight' % (layer, w) for w in 'qk')
374
+ if index[q][3] != GGML_BF16 or index[k][3] != GGML_BF16 or index[q][2] != index[k][2]:
375
+ raise ValueError('blk.%d engram_q / engram_k must be BF16 of the same shape' % layer)
376
+ out.append(Tensor('blk.%d.engram_gate.weight' % layer, index[q][2], GGML_F32,
377
+ data=engram_gate(index[q][0].read_tensor(q), index[k][0].read_tensor(k))))
378
+
379
+ if len(bias_vl) != n_layer * n_expert * 4:
380
+ raise ValueError('exp_probs_b_vl.f32 is for a different model')
381
+ for layer in range(n_layer):
382
+ if 'blk.%d.exp_probs_b.bias' % layer not in index:
383
+ raise ValueError('blk.%d.exp_probs_b.bias is missing' % layer)
384
+ row = bias_vl[layer * n_expert * 4:(layer + 1) * n_expert * 4]
385
+ out.append(Tensor('blk.%d.exp_probs_b_vl.bias' % layer, [n_expert], GGML_F32, data=row))
386
+
387
+ table, table_layers = engram_table(engram)
388
+ if table.dims[1] != sum(meta.get(A + 'engram.num_embeddings')) or table_layers not in (None, layers) or \
389
+ meta.get(A + 'engram.source') != engram.get(A + 'engram.source'):
390
+ raise ValueError('%s does not belong to this model (other tables or checkpoint revision)' % engram.path)
391
+ out.append(table)
392
+ out.sort(key=lambda t: canonical_key(t.name))
393
+ return out
394
+
395
+
396
+ def engram_table(engram):
397
+ """The Engram table as one tensor, and the layers of the old per-layer tables (None if already converted).
398
+ The old file holds the per-layer tables back to back, so their concatenation is one byte range."""
399
+ if TABLE in engram.tensors:
400
+ off, dims, gt, _ = engram.tensors[TABLE]
401
+ return Tensor(TABLE, dims, gt, engram.path, off), None
402
+ names = sorted((n for n in engram.tensors if re.match(r'blk\.\d+\.engram_embd\.weight$', n)),
403
+ key=lambda n: engram.tensors[n][0])
404
+ if not names or len(names) != len(engram.tensors):
405
+ raise ValueError('%s: unexpected tensors in the Engram file' % engram.path)
406
+ first_off, dims, gt, _ = engram.tensors[names[0]]
407
+ end, rows = first_off, 0
408
+ for name in names:
409
+ off, d, g, n = engram.tensors[name]
410
+ if off != end or g != gt or d[0] != dims[0]:
411
+ raise ValueError('%s: the Engram tables are not contiguous' % engram.path)
412
+ end, rows = off + n, rows + d[1]
413
+ layers = [int(re.match(r'blk\.(\d+)\.', n).group(1)) for n in names]
414
+ return Tensor(TABLE, [dims[0], rows], gt, engram.path, first_off), layers
415
+
416
+
417
+ def plan_splits(tensors, max_size):
418
+ """llama-gguf-split --split-max-size with --no-tensor-first-split: the first file holds only metadata."""
419
+ splits, cur = [[], []], 0
420
+ for t in tensors:
421
+ n = align(t.nbytes)
422
+ if cur + n > max_size:
423
+ if not splits[-1]:
424
+ raise ValueError('tensor %s is larger than the split size and comes first' % t.name)
425
+ splits.append([])
426
+ cur = n
427
+ else:
428
+ cur += n
429
+ splits[-1].append(t)
430
+ return splits
431
+
432
+
433
+ def split_kv(no, count, n_tensors):
434
+ return [['split.no', T_U16, encode_value(T_U16, no)], ['split.count', T_U16, encode_value(T_U16, count)],
435
+ ['split.tensors.count', T_I32, encode_value(T_I32, n_tensors)]]
436
+
437
+
438
+ def copy_range(src_path, offset, n, fout, buf):
439
+ """Plain reads and writes through buf, as on every file system (os.copy_file_range leaves the copy to the
440
+ file system's own implementation)."""
441
+ with open(src_path, 'rb') as fin:
442
+ fin.seek(offset)
443
+ while n:
444
+ got = fin.readinto(buf[:min(n, len(buf))])
445
+ if not got:
446
+ raise ValueError('%s ends early' % src_path)
447
+ fout.write(buf[:got])
448
+ n -= got
449
+
450
+
451
+ def write_gguf(path, kv, tensors):
452
+ infos, off = [], 0
453
+ for t in tensors:
454
+ infos.append((t.name, t.dims, t.type, off))
455
+ off += align(t.nbytes)
456
+ tmp = path + '.partial'
457
+ buf = memoryview(bytearray(COPY_CHUNK))
458
+ with open(tmp, 'wb') as f:
459
+ f.write(serialize_header(kv, infos))
460
+ for t in tensors:
461
+ if t.data is not None:
462
+ f.write(t.data)
463
+ else:
464
+ copy_range(t.path, t.offset, t.nbytes, f, buf)
465
+ f.write(b'\0' * (align(t.nbytes) - t.nbytes))
466
+ f.flush()
467
+ os.fsync(f.fileno())
468
+ os.replace(tmp, path)
469
+
470
+
471
+ def verify_gguf(path, kv, tensors, expected=None, origin=()):
472
+ """Re-read the written file: same metadata, tensor table and tensor bytes as planned, and the SHA-256 of the
473
+ published file (expected; None for a file this repository does not publish). origin: the old files it was made
474
+ from, for the error message."""
475
+ g = GGUFFile(path)
476
+ if g.kv != kv or g.order != [t.name for t in tensors]:
477
+ raise ValueError('%s: header differs from the plan' % path)
478
+ if g.size != g.data_start + sum(align(t.nbytes) for t in tensors):
479
+ raise ValueError('%s: unexpected file size' % path)
480
+ whole = hashlib.sha256()
481
+ with open(path, 'rb') as f:
482
+ read_into(f, g.data_start, whole)
483
+ for t in tensors:
484
+ off, dims, gt, n = g.tensors[t.name]
485
+ if dims != t.dims or gt != t.type or off != f.tell():
486
+ raise ValueError('%s: tensor %s differs from the plan' % (path, t.name))
487
+ part = hashlib.sha256()
488
+ read_into(f, n, whole, part)
489
+ if part.hexdigest() != t.source_hash():
490
+ raise ValueError('%s: tensor %s differs from its source%s. The copy or a read failed on this machine, '
491
+ 'or the source changed during the conversion; a damaged download would have been '
492
+ 'copied as it is' % (path, t.name, '' if t.path is None else ' (%s at %d)'
493
+ % (t.path, t.offset)))
494
+ read_into(f, align(n) - n, whole)
495
+ if expected is not None and whole.hexdigest() != expected:
496
+ raise ValueError('%s: every tensor equals its source, but the file is not the published one (SHA-256), so the '
497
+ 'old files it was made from are not the published ones: %s. A damaged download, or a '
498
+ 'patch_chat_template.py run that did not finish, gives this; download the new files instead'
499
+ % (path, ', '.join(os.path.basename(p) for p in origin)))
500
+
501
+
502
+ def plan_model(meta, sources, engram, chat_template, bias_vl):
503
+ """Metadata, all tensors (the Engram table last) and the backbone split of one build."""
504
+ kv = convert_metadata(meta, lambda t: next(s for s in sources if t in s.tensors).read_tensor(t), chat_template)
505
+ tensors = plan_tensors(meta, sources, engram, bias_vl)
506
+ splits = plan_splits(tensors[:-1], SPLIT_MAX_SIZE)
507
+ if tensors[-1].name != TABLE or len(splits) != N_SPLIT - 1:
508
+ raise ValueError('the backbone needs %d shards; the shared Engram file is shard %d of %d'
509
+ % (len(splits), N_SPLIT, N_SPLIT))
510
+ return kv, tensors, splits
511
+
512
+
513
+ def convert_model(meta, sources, engram, chat_template, bias_vl, name, out_dir, verify, log):
514
+ """Writes shards 1 to N_SPLIT - 1 of a build; shard N_SPLIT is the shared Engram file."""
515
+ kv, tensors, splits = plan_model(meta, sources, engram, chat_template, bias_vl)
516
+ names = ['%s-%05d-of-%05d.gguf' % (name, i + 1, N_SPLIT) for i in range(len(splits))]
517
+ if verify and not all(n in PUBLISHED for n in names):
518
+ log(' %s is not a build of this repository: each tensor is checked against its source, but the files cannot '
519
+ 'be checked against published ones' % name)
520
+ paths = []
521
+ for i, part in enumerate(splits):
522
+ path = os.path.join(out_dir, names[i])
523
+ part_kv = (kv if i == 0 else []) + split_kv(i, N_SPLIT, len(tensors))
524
+ log(' %s: %d tensors, %.2f GB' % (names[i], len(part), sum(t.nbytes for t in part) / 1e9))
525
+ write_gguf(path, part_kv, part)
526
+ if verify:
527
+ origin = [meta.path] if i == 0 else sorted({t.path for t in part if t.path is not None})
528
+ verify_gguf(path, part_kv, part, PUBLISHED.get(names[i]), origin)
529
+ paths.append(path)
530
+ return paths, tensors
531
+
532
+
533
+ def engram_header(table, source, n_tensors):
534
+ kv = [['general.name', T_STRING, encode_value(T_STRING, 'DeepSeek-V4.1-Flash-1017 Engram tables')],
535
+ ['general.description', T_STRING, encode_value(T_STRING, 'Shard 6 of 6 of every GSQ-RCO build')],
536
+ [ARCH + '.engram.source', T_STRING, encode_value(T_STRING, source)]]
537
+ kv += split_kv(N_SPLIT - 1, N_SPLIT, n_tensors)
538
+ return kv, serialize_header(kv, [(TABLE, table.dims, table.type, 0)])
539
+
540
+
541
+ def convert_engram(engram, table, n_tensors, verify, log):
542
+ """Rewrite the old Engram file's header in place. The new header ends where the old one did, so the 110 GB of
543
+ table data stay where they are; the old header is kept in a side file until the new one is checked. With verify,
544
+ the tables are first checked against the published file: its SHA-256 is that of the new header and the tables."""
545
+ path = engram.path
546
+ backup = path + '.old-header'
547
+ kv, header = engram_header(table, engram.get(ARCH + '.engram.source'), n_tensors)
548
+ if TABLE in engram.tensors:
549
+ if engram.kv != kv or engram.data_start != len(header):
550
+ raise ValueError('%s: unexpected header' % path)
551
+ if os.path.exists(backup):
552
+ os.remove(backup)
553
+ return False
554
+ if len(header) != engram.data_start or table.offset != engram.data_start:
555
+ raise ValueError('%s: the new header does not fit the old one' % path)
556
+ if verify:
557
+ log('%s: checking the tables against the published file (%.0f GB)'
558
+ % (os.path.basename(path), engram.size / 1e9))
559
+ h = hashlib.sha256(header)
560
+ with open(path, 'rb') as f:
561
+ f.seek(engram.data_start)
562
+ read_into(f, engram.size - engram.data_start, h)
563
+ if h.hexdigest() != PUBLISHED[ENGRAM_FILE]:
564
+ raise ValueError('%s: its tables are not those of the published file (SHA-256), e.g. from a damaged '
565
+ 'download; the file was left unchanged. Download %s again' % (path, ENGRAM_FILE))
566
+ with open(path, 'rb') as f:
567
+ old = f.read(engram.data_start)
568
+ with open(backup, 'wb') as f:
569
+ f.write(old)
570
+ os.fsync(f.fileno())
571
+ with open(path, 'r+b') as f:
572
+ f.write(header)
573
+ f.flush()
574
+ os.fsync(f.fileno())
575
+ g = GGUFFile(path)
576
+ if g.kv != kv or g.order != [TABLE] or g.tensors[TABLE][:3] != (table.offset, table.dims, table.type) or \
577
+ g.size != engram.size:
578
+ with open(path, 'r+b') as f:
579
+ f.write(old)
580
+ raise ValueError('%s: the rewritten header did not check out; the old one was restored' % path)
581
+ os.remove(backup)
582
+ log('%s: header rewritten in place (%d bytes), the table data are unchanged' % (os.path.basename(path), len(old)))
583
+ return True
584
+
585
+
586
+ def link_engram(engram_path, name, out_dir, log):
587
+ """llama.cpp opens <name>-0000N-of-0000N.gguf as the last shard: a link to the shared Engram file."""
588
+ path = os.path.join(out_dir, '%s-%05d-of-%05d.gguf' % (name, N_SPLIT, N_SPLIT))
589
+ if os.path.lexists(path):
590
+ if os.path.exists(path) and os.path.samefile(path, engram_path):
591
+ return
592
+ raise ValueError('%s exists and is not the Engram file' % path)
593
+ try:
594
+ os.symlink(os.path.relpath(engram_path, out_dir), path)
595
+ kind = 'link'
596
+ except (OSError, NotImplementedError):
597
+ os.link(engram_path, path) # e.g. Windows without symlink rights
598
+ kind = 'hard link'
599
+ log(' %s: %s to %s' % (os.path.basename(path), kind, os.path.basename(engram_path)))
600
+
601
+
602
+ def convert_mmproj(src, out_path, name, log):
603
+ """name: the file name the result gets (out_path may be a temporary name)."""
604
+ if src.get('clip.projector_type') != 'deepseek4v':
605
+ raise ValueError('%s: projector type %r' % (src.path, src.get('clip.projector_type')))
606
+ kv = []
607
+ for key, t, raw in src.kv:
608
+ if key == 'clip.projector_type':
609
+ raw = encode_value(T_STRING, 'deepseek41v')
610
+ elif key == 'clip.vision.image_max_pixels':
611
+ continue # deepseek41v fixes the image budget at 1024 tokens; the upstream converter writes no key
612
+ kv.append([key, t, raw])
613
+ tensors = [Tensor(n, src.tensors[n][1], src.tensors[n][2], src.path, src.tensors[n][0]) for n in src.order]
614
+ log(' %s: projector type deepseek41v' % name)
615
+ if name not in PUBLISHED:
616
+ log(' %s is not a file of this repository: each tensor is checked against its source, but the file cannot '
617
+ 'be checked against a published one' % name)
618
+ write_gguf(out_path, kv, tensors)
619
+ verify_gguf(out_path, kv, tensors, PUBLISHED.get(name), [src.path])
620
+
621
+
622
+ # ---------------------------------------------------------------------------------------------------------------
623
+ # discovery
624
+
625
+
626
+ def find_sets(paths):
627
+ files = []
628
+ for p in paths:
629
+ if os.path.isdir(p):
630
+ files += [os.path.join(p, f) for f in sorted(os.listdir(p)) if f.endswith('.gguf')]
631
+ else:
632
+ files.append(p)
633
+ models, shards, engrams, mmprojs, converted, firsts = [], {}, {}, [], [], set()
634
+ for path in files:
635
+ for p in {path, os.path.realpath(path)}:
636
+ journal = os.path.join(os.path.dirname(p), '.%s.chat-template-recovery' % os.path.basename(p))
637
+ if os.path.isdir(journal):
638
+ raise ValueError('%s: a patch_chat_template.py run on this file did not finish (%s exists), so its '
639
+ 'tensor data are partly moved. Finish it by running the same command again (the '
640
+ 'script is in revision %s of the repository), or download the new files'
641
+ % (path, journal, OLD_REVISION))
642
+ g = GGUFFile(path)
643
+ arch = g.get('general.architecture')
644
+ m = SPLIT_RE.match(os.path.basename(path))
645
+ if arch == ARCH and m:
646
+ firsts.add((os.path.dirname(path), m.group('prefix')))
647
+ if arch == ARCH:
648
+ if g.get(ARCH + '.attention.kv_source_layers') is not None:
649
+ if m: # already in the upstream layout; it may still lack the link to the Engram file
650
+ converted.append((os.path.dirname(os.path.abspath(path)), m.group('prefix'), g))
651
+ continue
652
+ models.append(g)
653
+ elif arch == ARCH + '-engram' or TABLE in g.tensors:
654
+ engrams.setdefault(os.path.realpath(path), g) # links to the Engram file count once
655
+ elif g.get('clip.projector_type') == 'deepseek4v':
656
+ mmprojs.append(g)
657
+ elif m and g.get('split.no') is not None:
658
+ shards[(os.path.dirname(path), m.group('prefix'), int(m.group('no')))] = g
659
+ sets = []
660
+ for g in models:
661
+ m = SPLIT_RE.match(os.path.basename(g.path))
662
+ if m is None:
663
+ sets.append((g, [g], os.path.basename(g.path)[:-5]))
664
+ continue
665
+ prefix, count = m.group('prefix'), g.get('split.count')
666
+ parts = [g] + [shards.get((os.path.dirname(g.path), prefix, i)) for i in range(2, count + 1)]
667
+ if None in parts:
668
+ raise ValueError('%s: not all %d shards are present' % (g.path, count))
669
+ sets.append((g, parts, prefix))
670
+ orphans = sorted(g.path for (d, prefix, _), g in shards.items()
671
+ if (d, prefix) not in firsts and prefix.startswith(BUILD_PREFIX))
672
+ if orphans:
673
+ raise ValueError('the first shard of these files is missing, so their build cannot be converted: %s'
674
+ % ', '.join(orphans))
675
+ return sets, list(engrams.values()), mmprojs, converted
676
+
677
+
678
+ def repo_file(name, path, inputs, sha256, log):
679
+ """A small file of the repository with the given SHA-256: the given path, else a copy next to this script or in
680
+ the model folder (other versions, such as an older download, are skipped), else downloaded from the repository."""
681
+ if path is not None:
682
+ candidates = [path]
683
+ else:
684
+ folders = [os.path.dirname(os.path.abspath(__file__))]
685
+ folders += [p if os.path.isdir(p) else os.path.dirname(os.path.abspath(p)) for p in inputs]
686
+ candidates = list(dict.fromkeys(f for f in (os.path.join(d, name) for d in folders) if os.path.isfile(f)))
687
+ for f in candidates:
688
+ with open(f, 'rb') as fin:
689
+ data = fin.read()
690
+ if hashlib.sha256(data).hexdigest() == sha256:
691
+ return data
692
+ if path is not None:
693
+ raise ValueError('%s is not the current %s of %s (checksum)' % (path, name, REPO))
694
+ log('%s: not the current version (checksum), skipped' % f)
695
+ url = 'https://huggingface.co/%s/resolve/main/%s' % (REPO, name)
696
+ try:
697
+ with urllib.request.urlopen(url, timeout=120) as r:
698
+ data = r.read()
699
+ except OSError as e:
700
+ raise ValueError('%s could not be downloaded from %s (%s); put it next to this script' % (name, url, e))
701
+ if hashlib.sha256(data).hexdigest() != sha256:
702
+ raise ValueError('%s of %s has changed since this script was written; download the current '
703
+ 'convert_ds41_upstream.py' % (name, REPO))
704
+ log('%s: downloaded from %s' % (name, REPO))
705
+ return data
706
+
707
+
708
+ def read_inputs(args, log):
709
+ """chat_template.jinja (embedded in the new first shards) and exp_probs_b_vl.f32 (the vision router bias)."""
710
+ template = repo_file('chat_template.jinja', args.chat_template, args.inputs, TEMPLATE_SHA256, log).decode('utf-8')
711
+ bias_vl = repo_file('exp_probs_b_vl.f32', args.vision_bias, args.inputs, BIAS_VL_SHA256, log)
712
+ return template, bias_vl
713
+
714
+
715
+ def main():
716
+ ap = argparse.ArgumentParser(description=__doc__.split('\n')[0])
717
+ ap.add_argument('inputs', nargs='+', help='model folder(s) or GGUF files')
718
+ ap.add_argument('--out', help='folder for the new shards (default: next to the old ones)')
719
+ ap.add_argument('--engram', help='the Engram GGUF (default: the one found among the inputs)')
720
+ ap.add_argument('--chat-template', help='chat_template.jinja of the repository (default: next to this script or '
721
+ 'in the model folder)')
722
+ ap.add_argument('--vision-bias', help='exp_probs_b_vl.f32 of the repository (default: as --chat-template)')
723
+ ap.add_argument('--metadata', help=argparse.SUPPRESS) # header of another first shard (release builds)
724
+ ap.add_argument('--name', help='output name prefix for a single unsplit input')
725
+ ap.add_argument('--no-verify', action='store_true', help='skip re-reading and hashing the written shards')
726
+ ap.add_argument('--delete-old', action='store_true', help='delete the old shards after a verified conversion')
727
+ ap.add_argument('--dry-run', action='store_true', help='only print what would be done')
728
+ args = ap.parse_args()
729
+ log = lambda s: print(s, flush=True)
730
+ if args.no_verify and not args.dry_run:
731
+ log('warning: --no-verify: the written files are not read back, nor checked against the published ones')
732
+
733
+ sets, engrams, mmprojs, converted = find_sets(args.inputs)
734
+ if args.engram:
735
+ engrams = [GGUFFile(args.engram)]
736
+ if (sets or converted) and len(engrams) != 1:
737
+ raise SystemExit('expected one Engram file (%s), found %d; pass it with --engram' % (ENGRAM_FILE, len(engrams)))
738
+ if not sets and not mmprojs and not converted:
739
+ raise SystemExit('nothing to convert (no DeepSeek-V4.1 GSQ-RCO files found)')
740
+ engram = engrams[0] if engrams else None
741
+ chat_template = bias_vl = None
742
+ if sets:
743
+ chat_template, bias_vl = read_inputs(args, log)
744
+ written, old = [], []
745
+ builds = [(d, prefix) for d, prefix, _ in converted]
746
+ n_tensors = {g.get('split.tensors.count') for _, _, g in converted}
747
+ for first, parts, prefix in sets:
748
+ meta = GGUFFile(args.metadata) if args.metadata else first
749
+ name = args.name or prefix
750
+ out_dir = os.path.abspath(args.out or os.path.dirname(os.path.abspath(first.path)))
751
+ log('%s -> %s' % (prefix, os.path.join(out_dir, name + '-*.gguf')))
752
+ if args.dry_run:
753
+ _, tensors, splits = plan_model(meta, parts, engram, chat_template, bias_vl)
754
+ for i, part in enumerate(splits):
755
+ log(' shard %d: %d tensors, %.2f GB' % (i + 1, len(part), sum(t.nbytes for t in part) / 1e9))
756
+ log(' shard %d: %s' % (N_SPLIT, os.path.basename(engram.path)))
757
+ n_tensors.add(len(tensors))
758
+ continue
759
+ os.makedirs(out_dir, exist_ok=True)
760
+ paths, tensors = convert_model(meta, parts, engram, chat_template, bias_vl, name, out_dir, not args.no_verify, log)
761
+ written += paths
762
+ builds.append((out_dir, name))
763
+ n_tensors.add(len(tensors))
764
+ if args.delete_old:
765
+ for p in parts:
766
+ os.remove(p.path)
767
+ log(' deleted the %d old shards' % len(parts))
768
+ else:
769
+ old += [p.path for p in parts]
770
+
771
+ if engram is not None and (builds or sets):
772
+ if len(n_tensors) != 1:
773
+ raise ValueError('the builds differ in tensor count, so they cannot share one Engram file')
774
+ table, _ = engram_table(engram)
775
+ if args.dry_run:
776
+ if TABLE not in engram.tensors:
777
+ log('%s: header rewritten in place, the table data stay' % os.path.basename(engram.path))
778
+ else:
779
+ convert_engram(engram, table, n_tensors.pop(), not args.no_verify, log)
780
+ for out_dir, name in builds:
781
+ link_engram(engram.path, name, out_dir, log)
782
+ for src in mmprojs:
783
+ out_dir = args.out or os.path.dirname(os.path.abspath(src.path))
784
+ out_path = os.path.join(out_dir, os.path.basename(src.path))
785
+ if args.dry_run:
786
+ log('%s: projector type deepseek4v -> deepseek41v' % src.path)
787
+ continue
788
+ if os.path.abspath(out_path) == os.path.abspath(src.path):
789
+ convert_mmproj(src, out_path + '.new', os.path.basename(out_path), log)
790
+ os.replace(out_path + '.new', out_path)
791
+ else:
792
+ convert_mmproj(src, out_path, os.path.basename(out_path), log)
793
+ if args.dry_run:
794
+ log('dry run: only the headers were read; the tensor data are read and checked during the conversion')
795
+ elif old:
796
+ log('done. llama.cpp no longer needs the old shards:\n ' + '\n '.join(old))
797
+ else:
798
+ log('done.')
799
+
800
+
801
+ # exp_probs_b_vl.f32: blk.0..39.exp_probs_b_vl = layers.N.ffn.gate.bias_vl of deepseek-ai/DeepSeek-V4.1-Flash-1017
802
+ # (revision 1bae0e1088993b9b82de08f59de5be5a34e42170), 40 x 384 little-endian F32
803
+ BIAS_VL_SHA256 = '710b11267b4db392d1fdb558f36ba8e0e91a91f4e8180c953c912e18eacf843d'
804
+ # chat_template.jinja of the repository since October 25, 2026 (commit 1c100b9), as in the published first shards
805
+ TEMPLATE_SHA256 = '4d61d22c90ea0cdf15c7e298f7215f23eeffd20f8eed8fb517fda5fb64693d99'
806
+ # SHA-256 of the files this script writes, as published in the repository since October 27, 2026 (commit a419d74).
807
+ # Every published version of the old files converts to these.
808
+ PUBLISHED = {
809
+ 'DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ1_M-00001-of-00006.gguf':
810
+ '3e8ddd11441edd4bc19bacaef5dbe38818af2cbdf0820fb70f1d2d851fcc192a',
811
+ 'DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ1_M-00002-of-00006.gguf':
812
+ 'be4ceb1caf1bed28e886860cf6a52adc8f5ca9eb0d2098ade39bb4179d48b323',
813
+ 'DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ1_M-00003-of-00006.gguf':
814
+ '758c66ba65236e8ce0820c21a7b6f9b2947681df8cc509f672a77722e8191b9a',
815
+ 'DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ1_M-00004-of-00006.gguf':
816
+ '04a5bea2b38eb576f49efc19c0a677768d6e2a8ea5772d72fb6cb79e1733a212',
817
+ 'DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ1_M-00005-of-00006.gguf':
818
+ '7c8dbee99890f05dbc420eba6f44393f5228d06248fe61e1ae8ed002449c7549',
819
+ 'DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XS-00001-of-00006.gguf':
820
+ '0182a2a1f42d319a0dbc6e34aa82a063880c069fe3aafbbea86018f386e64e5f',
821
+ 'DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XS-00002-of-00006.gguf':
822
+ '5c88039fa640460a9fc3465a6dfcd162a4083dd738d55e5b52e025be14555a08',
823
+ 'DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XS-00003-of-00006.gguf':
824
+ '0fddebfd05f0a36cfd107ba5dfd2547e64df61adbab39560a5a5f5521ca099a5',
825
+ 'DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XS-00004-of-00006.gguf':
826
+ 'c577a43c6e6e615838a1655a0b162541edeac6f36542f08c4a9593a70dcaf500',
827
+ 'DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XS-00005-of-00006.gguf':
828
+ '851d8605bf504962054d17ea8a0d9e2e0a228d085d396bd865a4de9f16d90fbd',
829
+ 'DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XXS-00001-of-00006.gguf':
830
+ 'f356f198561f56df36f7ab92d7238a926646d76de992c34f15bcb939a5f529b9',
831
+ 'DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XXS-00002-of-00006.gguf':
832
+ '25af3785ccf925f54137e1ead4c481a8952315dc0b1af6519a99407f67bce8f3',
833
+ 'DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XXS-00003-of-00006.gguf':
834
+ '8168d0998fc494def2e1952d83c131425a108660aae9d29190f5a8670ab62b48',
835
+ 'DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XXS-00004-of-00006.gguf':
836
+ '9eb9b4de1968f150dfc207eb31c27be9cd9b5666a9a6246bde8a22b184b4bee0',
837
+ 'DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XXS-00005-of-00006.gguf':
838
+ '7e35f6b4e6fc46f6c4b152b593d84d683c5ece695ae6ad734f556198c041bec1',
839
+ 'DeepSeek-V4.1-Flash-Engram-IQ4_NL.gguf':
840
+ '3dac4c54893ad7aa89103c0028500eadc78e74112cef3a2930a97e67dc9fb4f3',
841
+ 'mmproj-DeepSeek-V4.1-Flash-1017-BF16.gguf':
842
+ '0fdc4b7693f287e9665940cf42bd39c546ffe4f0def89c569d7d0e45d60d2df1',
843
+ }
844
+
845
+ if __name__ == '__main__':
846
+ try:
847
+ main()
848
+ except (ValueError, OSError) as e:
849
+ sys.exit('error: %s' % e)
exp_probs_b_vl.f32 ADDED
Binary file (61.4 kB). View file
 
mmproj-DeepSeek-V4.1-Flash-1017-BF16.gguf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0fdc4b7693f287e9665940cf42bd39c546ffe4f0def89c569d7d0e45d60d2df1
3
+ size 972208096
tensor-allocation/DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ1_M.rco-allocation.txt ADDED
@@ -0,0 +1,1061 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # RCO per-tensor GGUF allocation
2
+ # Repository: ISTA-DASLab/DeepSeek-V4.1-Flash-1017-GSQ-RCO-GGUF
3
+ # GGUF: DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ1_M-00001-of-00006.gguf (first of 6 shards; this dump covers all of them)
4
+ # Source: https://huggingface.co/ISTA-DASLab/DeepSeek-V4.1-Flash-1017-GSQ-RCO-GGUF/resolve/main/DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ1_M-00001-of-00006.gguf
5
+ # Source: https://huggingface.co/ISTA-DASLab/DeepSeek-V4.1-Flash-1017-GSQ-RCO-GGUF/resolve/main/DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ1_M-00002-of-00006.gguf
6
+ # Source: https://huggingface.co/ISTA-DASLab/DeepSeek-V4.1-Flash-1017-GSQ-RCO-GGUF/resolve/main/DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ1_M-00003-of-00006.gguf
7
+ # Source: https://huggingface.co/ISTA-DASLab/DeepSeek-V4.1-Flash-1017-GSQ-RCO-GGUF/resolve/main/DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ1_M-00004-of-00006.gguf
8
+ # Source: https://huggingface.co/ISTA-DASLab/DeepSeek-V4.1-Flash-1017-GSQ-RCO-GGUF/resolve/main/DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ1_M-00005-of-00006.gguf
9
+ # Source: https://huggingface.co/ISTA-DASLab/DeepSeek-V4.1-Flash-1017-GSQ-RCO-GGUF/resolve/main/DeepSeek-V4.1-Flash-Engram-IQ4_NL.gguf
10
+ # Target bpw over the backbone (all tensors except the Engram table): 1.75 (measured: 1.7499)
11
+ # The Engram table (per_layer_token_embd, shard 6 = the shared Engram file) is IQ4_NL in every build and not part of the search.
12
+ # GGUF version: 3
13
+ # GGUF metadata entries: 77
14
+ # Tensor count: 1043
15
+ # Quant-type counts: BF16=67, F32=531, IQ1_M=15, IQ1_S=83, IQ2_S=2, IQ2_XXS=20, IQ4_NL=1, Q5_K=244, Q8_0=80
16
+ # Format: <GGUF tensor name>: <GGML quantization/storage type>
17
+ # Includes fixed non-RCO tensors (e.g. F32/BF16) so the released GGUF is fully reproducible.
18
+ #
19
+ output.weight: Q5_K
20
+ output_norm.weight: F32
21
+ per_layer_token_embd.weight: IQ4_NL
22
+ token_embd.weight: Q5_K
23
+ blk.0.attn_kv.weight: Q8_0
24
+ blk.0.attn_kv_a_norm.weight: F32
25
+ blk.0.attn_norm.weight: F32
26
+ blk.0.attn_output_a.weight: Q5_K
27
+ blk.0.attn_output_b.weight: Q5_K
28
+ blk.0.attn_q_a.weight: Q8_0
29
+ blk.0.attn_q_a_norm.weight: F32
30
+ blk.0.attn_q_b.weight: Q5_K
31
+ blk.0.attn_sinks.weight: F32
32
+ blk.0.exp_probs_b.bias: F32
33
+ blk.0.exp_probs_b_vl.bias: F32
34
+ blk.0.ffn_down_exps.weight: IQ1_S
35
+ blk.0.ffn_down_shexp.weight: Q5_K
36
+ blk.0.ffn_gate_exps.weight: IQ1_S
37
+ blk.0.ffn_gate_inp.weight: BF16
38
+ blk.0.ffn_gate_shexp.weight: Q5_K
39
+ blk.0.ffn_norm.weight: F32
40
+ blk.0.ffn_up_exps.weight: IQ1_S
41
+ blk.0.ffn_up_shexp.weight: Q5_K
42
+ blk.0.hc_attn_base.weight: F32
43
+ blk.0.hc_attn_fn.weight: F32
44
+ blk.0.hc_attn_scale.weight: F32
45
+ blk.0.hc_ffn_base.weight: F32
46
+ blk.0.hc_ffn_fn.weight: F32
47
+ blk.0.hc_ffn_scale.weight: F32
48
+ blk.1.attn_kv.weight: Q8_0
49
+ blk.1.attn_kv_a_norm.weight: F32
50
+ blk.1.attn_norm.weight: F32
51
+ blk.1.attn_output_a.weight: Q5_K
52
+ blk.1.attn_output_b.weight: Q5_K
53
+ blk.1.attn_q_a.weight: Q8_0
54
+ blk.1.attn_q_a_norm.weight: F32
55
+ blk.1.attn_q_b.weight: Q5_K
56
+ blk.1.attn_sinks.weight: F32
57
+ blk.1.engram_gate.weight: F32
58
+ blk.1.engram_kv.weight: Q5_K
59
+ blk.1.exp_probs_b.bias: F32
60
+ blk.1.exp_probs_b_vl.bias: F32
61
+ blk.1.ffn_down_exps.weight: IQ1_S
62
+ blk.1.ffn_down_shexp.weight: Q5_K
63
+ blk.1.ffn_gate_exps.weight: IQ1_S
64
+ blk.1.ffn_gate_inp.weight: BF16
65
+ blk.1.ffn_gate_shexp.weight: Q5_K
66
+ blk.1.ffn_norm.weight: F32
67
+ blk.1.ffn_up_exps.weight: IQ1_S
68
+ blk.1.ffn_up_shexp.weight: Q5_K
69
+ blk.1.hc_attn_base.weight: F32
70
+ blk.1.hc_attn_fn.weight: F32
71
+ blk.1.hc_attn_scale.weight: F32
72
+ blk.1.hc_ffn_base.weight: F32
73
+ blk.1.hc_ffn_fn.weight: F32
74
+ blk.1.hc_ffn_scale.weight: F32
75
+ blk.2.attn_compressor_gate.weight: BF16
76
+ blk.2.attn_compressor_kv.weight: BF16
77
+ blk.2.attn_compressor_norm.weight: F32
78
+ blk.2.attn_kv.weight: Q8_0
79
+ blk.2.attn_kv_a_norm.weight: F32
80
+ blk.2.attn_norm.weight: F32
81
+ blk.2.attn_output_a.weight: Q5_K
82
+ blk.2.attn_output_b.weight: Q5_K
83
+ blk.2.attn_q_a.weight: Q8_0
84
+ blk.2.attn_q_a_norm.weight: F32
85
+ blk.2.attn_q_b.weight: Q5_K
86
+ blk.2.attn_sinks.weight: F32
87
+ blk.2.exp_probs_b.bias: F32
88
+ blk.2.exp_probs_b_vl.bias: F32
89
+ blk.2.ffn_down_exps.weight: IQ1_S
90
+ blk.2.ffn_down_shexp.weight: Q5_K
91
+ blk.2.ffn_gate_exps.weight: IQ1_S
92
+ blk.2.ffn_gate_inp.weight: BF16
93
+ blk.2.ffn_gate_shexp.weight: Q5_K
94
+ blk.2.ffn_norm.weight: F32
95
+ blk.2.ffn_up_exps.weight: IQ1_S
96
+ blk.2.ffn_up_shexp.weight: Q5_K
97
+ blk.2.hc_attn_base.weight: F32
98
+ blk.2.hc_attn_fn.weight: F32
99
+ blk.2.hc_attn_scale.weight: F32
100
+ blk.2.hc_ffn_base.weight: F32
101
+ blk.2.hc_ffn_fn.weight: F32
102
+ blk.2.hc_ffn_scale.weight: F32
103
+ blk.2.indexer.attn_k.weight: BF16
104
+ blk.2.indexer.attn_q_b.weight: BF16
105
+ blk.2.indexer.k_norm.weight: F32
106
+ blk.2.indexer.proj.weight: BF16
107
+ blk.3.attn_kv.weight: Q8_0
108
+ blk.3.attn_kv_a_norm.weight: F32
109
+ blk.3.attn_norm.weight: F32
110
+ blk.3.attn_output_a.weight: Q5_K
111
+ blk.3.attn_output_b.weight: Q5_K
112
+ blk.3.attn_q_a.weight: Q8_0
113
+ blk.3.attn_q_a_norm.weight: F32
114
+ blk.3.attn_q_b.weight: Q5_K
115
+ blk.3.attn_sinks.weight: F32
116
+ blk.3.exp_probs_b.bias: F32
117
+ blk.3.exp_probs_b_vl.bias: F32
118
+ blk.3.ffn_down_exps.weight: IQ1_S
119
+ blk.3.ffn_down_shexp.weight: Q5_K
120
+ blk.3.ffn_gate_exps.weight: IQ1_S
121
+ blk.3.ffn_gate_inp.weight: BF16
122
+ blk.3.ffn_gate_shexp.weight: Q5_K
123
+ blk.3.ffn_norm.weight: F32
124
+ blk.3.ffn_up_exps.weight: IQ1_S
125
+ blk.3.ffn_up_shexp.weight: Q5_K
126
+ blk.3.hc_attn_base.weight: F32
127
+ blk.3.hc_attn_fn.weight: F32
128
+ blk.3.hc_attn_scale.weight: F32
129
+ blk.3.hc_ffn_base.weight: F32
130
+ blk.3.hc_ffn_fn.weight: F32
131
+ blk.3.hc_ffn_scale.weight: F32
132
+ blk.4.attn_kv.weight: Q8_0
133
+ blk.4.attn_kv_a_norm.weight: F32
134
+ blk.4.attn_norm.weight: F32
135
+ blk.4.attn_output_a.weight: Q5_K
136
+ blk.4.attn_output_b.weight: Q5_K
137
+ blk.4.attn_q_a.weight: Q8_0
138
+ blk.4.attn_q_a_norm.weight: F32
139
+ blk.4.attn_q_b.weight: Q5_K
140
+ blk.4.attn_sinks.weight: F32
141
+ blk.4.exp_probs_b.bias: F32
142
+ blk.4.exp_probs_b_vl.bias: F32
143
+ blk.4.ffn_down_exps.weight: IQ1_S
144
+ blk.4.ffn_down_shexp.weight: Q5_K
145
+ blk.4.ffn_gate_exps.weight: IQ1_S
146
+ blk.4.ffn_gate_inp.weight: BF16
147
+ blk.4.ffn_gate_shexp.weight: Q5_K
148
+ blk.4.ffn_norm.weight: F32
149
+ blk.4.ffn_up_exps.weight: IQ1_S
150
+ blk.4.ffn_up_shexp.weight: Q5_K
151
+ blk.4.hc_attn_base.weight: F32
152
+ blk.4.hc_attn_fn.weight: F32
153
+ blk.4.hc_attn_scale.weight: F32
154
+ blk.4.hc_ffn_base.weight: F32
155
+ blk.4.hc_ffn_fn.weight: F32
156
+ blk.4.hc_ffn_scale.weight: F32
157
+ blk.5.attn_kv.weight: Q8_0
158
+ blk.5.attn_kv_a_norm.weight: F32
159
+ blk.5.attn_norm.weight: F32
160
+ blk.5.attn_output_a.weight: Q5_K
161
+ blk.5.attn_output_b.weight: Q5_K
162
+ blk.5.attn_q_a.weight: Q8_0
163
+ blk.5.attn_q_a_norm.weight: F32
164
+ blk.5.attn_q_b.weight: Q5_K
165
+ blk.5.attn_sinks.weight: F32
166
+ blk.5.exp_probs_b.bias: F32
167
+ blk.5.exp_probs_b_vl.bias: F32
168
+ blk.5.ffn_down_exps.weight: IQ1_S
169
+ blk.5.ffn_down_shexp.weight: Q5_K
170
+ blk.5.ffn_gate_exps.weight: IQ1_S
171
+ blk.5.ffn_gate_inp.weight: BF16
172
+ blk.5.ffn_gate_shexp.weight: Q5_K
173
+ blk.5.ffn_norm.weight: F32
174
+ blk.5.ffn_up_exps.weight: IQ1_S
175
+ blk.5.ffn_up_shexp.weight: Q5_K
176
+ blk.5.hc_attn_base.weight: F32
177
+ blk.5.hc_attn_fn.weight: F32
178
+ blk.5.hc_attn_scale.weight: F32
179
+ blk.5.hc_ffn_base.weight: F32
180
+ blk.5.hc_ffn_fn.weight: F32
181
+ blk.5.hc_ffn_scale.weight: F32
182
+ blk.6.attn_kv.weight: Q8_0
183
+ blk.6.attn_kv_a_norm.weight: F32
184
+ blk.6.attn_norm.weight: F32
185
+ blk.6.attn_output_a.weight: Q5_K
186
+ blk.6.attn_output_b.weight: Q5_K
187
+ blk.6.attn_q_a.weight: Q8_0
188
+ blk.6.attn_q_a_norm.weight: F32
189
+ blk.6.attn_q_b.weight: Q5_K
190
+ blk.6.attn_sinks.weight: F32
191
+ blk.6.exp_probs_b.bias: F32
192
+ blk.6.exp_probs_b_vl.bias: F32
193
+ blk.6.ffn_down_exps.weight: IQ1_S
194
+ blk.6.ffn_down_shexp.weight: Q5_K
195
+ blk.6.ffn_gate_exps.weight: IQ1_S
196
+ blk.6.ffn_gate_inp.weight: BF16
197
+ blk.6.ffn_gate_shexp.weight: Q5_K
198
+ blk.6.ffn_norm.weight: F32
199
+ blk.6.ffn_up_exps.weight: IQ1_S
200
+ blk.6.ffn_up_shexp.weight: Q5_K
201
+ blk.6.hc_attn_base.weight: F32
202
+ blk.6.hc_attn_fn.weight: F32
203
+ blk.6.hc_attn_scale.weight: F32
204
+ blk.6.hc_ffn_base.weight: F32
205
+ blk.6.hc_ffn_fn.weight: F32
206
+ blk.6.hc_ffn_scale.weight: F32
207
+ blk.7.attn_kv.weight: Q8_0
208
+ blk.7.attn_kv_a_norm.weight: F32
209
+ blk.7.attn_norm.weight: F32
210
+ blk.7.attn_output_a.weight: Q5_K
211
+ blk.7.attn_output_b.weight: Q5_K
212
+ blk.7.attn_q_a.weight: Q8_0
213
+ blk.7.attn_q_a_norm.weight: F32
214
+ blk.7.attn_q_b.weight: Q5_K
215
+ blk.7.attn_sinks.weight: F32
216
+ blk.7.exp_probs_b.bias: F32
217
+ blk.7.exp_probs_b_vl.bias: F32
218
+ blk.7.ffn_down_exps.weight: IQ2_S
219
+ blk.7.ffn_down_shexp.weight: Q5_K
220
+ blk.7.ffn_gate_exps.weight: IQ1_S
221
+ blk.7.ffn_gate_inp.weight: BF16
222
+ blk.7.ffn_gate_shexp.weight: Q5_K
223
+ blk.7.ffn_norm.weight: F32
224
+ blk.7.ffn_up_exps.weight: IQ1_S
225
+ blk.7.ffn_up_shexp.weight: Q5_K
226
+ blk.7.hc_attn_base.weight: F32
227
+ blk.7.hc_attn_fn.weight: F32
228
+ blk.7.hc_attn_scale.weight: F32
229
+ blk.7.hc_ffn_base.weight: F32
230
+ blk.7.hc_ffn_fn.weight: F32
231
+ blk.7.hc_ffn_scale.weight: F32
232
+ blk.8.attn_compressor_gate.weight: BF16
233
+ blk.8.attn_compressor_kv.weight: BF16
234
+ blk.8.attn_compressor_norm.weight: F32
235
+ blk.8.attn_kv.weight: Q8_0
236
+ blk.8.attn_kv_a_norm.weight: F32
237
+ blk.8.attn_norm.weight: F32
238
+ blk.8.attn_output_a.weight: Q5_K
239
+ blk.8.attn_output_b.weight: Q5_K
240
+ blk.8.attn_q_a.weight: Q8_0
241
+ blk.8.attn_q_a_norm.weight: F32
242
+ blk.8.attn_q_b.weight: Q5_K
243
+ blk.8.attn_sinks.weight: F32
244
+ blk.8.exp_probs_b.bias: F32
245
+ blk.8.exp_probs_b_vl.bias: F32
246
+ blk.8.ffn_down_exps.weight: IQ1_S
247
+ blk.8.ffn_down_shexp.weight: Q5_K
248
+ blk.8.ffn_gate_exps.weight: IQ1_S
249
+ blk.8.ffn_gate_inp.weight: BF16
250
+ blk.8.ffn_gate_shexp.weight: Q5_K
251
+ blk.8.ffn_norm.weight: F32
252
+ blk.8.ffn_up_exps.weight: IQ1_S
253
+ blk.8.ffn_up_shexp.weight: Q5_K
254
+ blk.8.hc_attn_base.weight: F32
255
+ blk.8.hc_attn_fn.weight: F32
256
+ blk.8.hc_attn_scale.weight: F32
257
+ blk.8.hc_ffn_base.weight: F32
258
+ blk.8.hc_ffn_fn.weight: F32
259
+ blk.8.hc_ffn_scale.weight: F32
260
+ blk.8.indexer.attn_k.weight: BF16
261
+ blk.8.indexer.attn_q_b.weight: BF16
262
+ blk.8.indexer.k_norm.weight: F32
263
+ blk.8.indexer.proj.weight: BF16
264
+ blk.9.attn_kv.weight: Q8_0
265
+ blk.9.attn_kv_a_norm.weight: F32
266
+ blk.9.attn_norm.weight: F32
267
+ blk.9.attn_output_a.weight: Q5_K
268
+ blk.9.attn_output_b.weight: Q5_K
269
+ blk.9.attn_q_a.weight: Q8_0
270
+ blk.9.attn_q_a_norm.weight: F32
271
+ blk.9.attn_q_b.weight: Q5_K
272
+ blk.9.attn_sinks.weight: F32
273
+ blk.9.exp_probs_b.bias: F32
274
+ blk.9.exp_probs_b_vl.bias: F32
275
+ blk.9.ffn_down_exps.weight: IQ1_S
276
+ blk.9.ffn_down_shexp.weight: Q5_K
277
+ blk.9.ffn_gate_exps.weight: IQ2_XXS
278
+ blk.9.ffn_gate_inp.weight: BF16
279
+ blk.9.ffn_gate_shexp.weight: Q5_K
280
+ blk.9.ffn_norm.weight: F32
281
+ blk.9.ffn_up_exps.weight: IQ2_XXS
282
+ blk.9.ffn_up_shexp.weight: Q5_K
283
+ blk.9.hc_attn_base.weight: F32
284
+ blk.9.hc_attn_fn.weight: F32
285
+ blk.9.hc_attn_scale.weight: F32
286
+ blk.9.hc_ffn_base.weight: F32
287
+ blk.9.hc_ffn_fn.weight: F32
288
+ blk.9.hc_ffn_scale.weight: F32
289
+ blk.10.attn_kv.weight: Q8_0
290
+ blk.10.attn_kv_a_norm.weight: F32
291
+ blk.10.attn_norm.weight: F32
292
+ blk.10.attn_output_a.weight: Q5_K
293
+ blk.10.attn_output_b.weight: Q5_K
294
+ blk.10.attn_q_a.weight: Q8_0
295
+ blk.10.attn_q_a_norm.weight: F32
296
+ blk.10.attn_q_b.weight: Q5_K
297
+ blk.10.attn_sinks.weight: F32
298
+ blk.10.exp_probs_b.bias: F32
299
+ blk.10.exp_probs_b_vl.bias: F32
300
+ blk.10.ffn_down_exps.weight: IQ1_S
301
+ blk.10.ffn_down_shexp.weight: Q5_K
302
+ blk.10.ffn_gate_exps.weight: IQ2_XXS
303
+ blk.10.ffn_gate_inp.weight: BF16
304
+ blk.10.ffn_gate_shexp.weight: Q5_K
305
+ blk.10.ffn_norm.weight: F32
306
+ blk.10.ffn_up_exps.weight: IQ2_XXS
307
+ blk.10.ffn_up_shexp.weight: Q5_K
308
+ blk.10.hc_attn_base.weight: F32
309
+ blk.10.hc_attn_fn.weight: F32
310
+ blk.10.hc_attn_scale.weight: F32
311
+ blk.10.hc_ffn_base.weight: F32
312
+ blk.10.hc_ffn_fn.weight: F32
313
+ blk.10.hc_ffn_scale.weight: F32
314
+ blk.11.attn_kv.weight: Q8_0
315
+ blk.11.attn_kv_a_norm.weight: F32
316
+ blk.11.attn_norm.weight: F32
317
+ blk.11.attn_output_a.weight: Q5_K
318
+ blk.11.attn_output_b.weight: Q5_K
319
+ blk.11.attn_q_a.weight: Q8_0
320
+ blk.11.attn_q_a_norm.weight: F32
321
+ blk.11.attn_q_b.weight: Q5_K
322
+ blk.11.attn_sinks.weight: F32
323
+ blk.11.exp_probs_b.bias: F32
324
+ blk.11.exp_probs_b_vl.bias: F32
325
+ blk.11.ffn_down_exps.weight: IQ2_XXS
326
+ blk.11.ffn_down_shexp.weight: Q5_K
327
+ blk.11.ffn_gate_exps.weight: IQ1_S
328
+ blk.11.ffn_gate_inp.weight: BF16
329
+ blk.11.ffn_gate_shexp.weight: Q5_K
330
+ blk.11.ffn_norm.weight: F32
331
+ blk.11.ffn_up_exps.weight: IQ1_S
332
+ blk.11.ffn_up_shexp.weight: Q5_K
333
+ blk.11.hc_attn_base.weight: F32
334
+ blk.11.hc_attn_fn.weight: F32
335
+ blk.11.hc_attn_scale.weight: F32
336
+ blk.11.hc_ffn_base.weight: F32
337
+ blk.11.hc_ffn_fn.weight: F32
338
+ blk.11.hc_ffn_scale.weight: F32
339
+ blk.12.attn_kv.weight: Q8_0
340
+ blk.12.attn_kv_a_norm.weight: F32
341
+ blk.12.attn_norm.weight: F32
342
+ blk.12.attn_output_a.weight: Q5_K
343
+ blk.12.attn_output_b.weight: Q5_K
344
+ blk.12.attn_q_a.weight: Q8_0
345
+ blk.12.attn_q_a_norm.weight: F32
346
+ blk.12.attn_q_b.weight: Q5_K
347
+ blk.12.attn_sinks.weight: F32
348
+ blk.12.exp_probs_b.bias: F32
349
+ blk.12.exp_probs_b_vl.bias: F32
350
+ blk.12.ffn_down_exps.weight: IQ1_M
351
+ blk.12.ffn_down_shexp.weight: Q5_K
352
+ blk.12.ffn_gate_exps.weight: IQ1_S
353
+ blk.12.ffn_gate_inp.weight: BF16
354
+ blk.12.ffn_gate_shexp.weight: Q5_K
355
+ blk.12.ffn_norm.weight: F32
356
+ blk.12.ffn_up_exps.weight: IQ1_S
357
+ blk.12.ffn_up_shexp.weight: Q5_K
358
+ blk.12.hc_attn_base.weight: F32
359
+ blk.12.hc_attn_fn.weight: F32
360
+ blk.12.hc_attn_scale.weight: F32
361
+ blk.12.hc_ffn_base.weight: F32
362
+ blk.12.hc_ffn_fn.weight: F32
363
+ blk.12.hc_ffn_scale.weight: F32
364
+ blk.13.attn_kv.weight: Q8_0
365
+ blk.13.attn_kv_a_norm.weight: F32
366
+ blk.13.attn_norm.weight: F32
367
+ blk.13.attn_output_a.weight: Q5_K
368
+ blk.13.attn_output_b.weight: Q5_K
369
+ blk.13.attn_q_a.weight: Q8_0
370
+ blk.13.attn_q_a_norm.weight: F32
371
+ blk.13.attn_q_b.weight: Q5_K
372
+ blk.13.attn_sinks.weight: F32
373
+ blk.13.exp_probs_b.bias: F32
374
+ blk.13.exp_probs_b_vl.bias: F32
375
+ blk.13.ffn_down_exps.weight: IQ1_M
376
+ blk.13.ffn_down_shexp.weight: Q5_K
377
+ blk.13.ffn_gate_exps.weight: IQ1_S
378
+ blk.13.ffn_gate_inp.weight: BF16
379
+ blk.13.ffn_gate_shexp.weight: Q5_K
380
+ blk.13.ffn_norm.weight: F32
381
+ blk.13.ffn_up_exps.weight: IQ1_S
382
+ blk.13.ffn_up_shexp.weight: Q5_K
383
+ blk.13.hc_attn_base.weight: F32
384
+ blk.13.hc_attn_fn.weight: F32
385
+ blk.13.hc_attn_scale.weight: F32
386
+ blk.13.hc_ffn_base.weight: F32
387
+ blk.13.hc_ffn_fn.weight: F32
388
+ blk.13.hc_ffn_scale.weight: F32
389
+ blk.14.attn_compressor_gate.weight: BF16
390
+ blk.14.attn_compressor_kv.weight: BF16
391
+ blk.14.attn_compressor_norm.weight: F32
392
+ blk.14.attn_kv.weight: Q8_0
393
+ blk.14.attn_kv_a_norm.weight: F32
394
+ blk.14.attn_norm.weight: F32
395
+ blk.14.attn_output_a.weight: Q5_K
396
+ blk.14.attn_output_b.weight: Q5_K
397
+ blk.14.attn_q_a.weight: Q8_0
398
+ blk.14.attn_q_a_norm.weight: F32
399
+ blk.14.attn_q_b.weight: Q5_K
400
+ blk.14.attn_sinks.weight: F32
401
+ blk.14.engram_gate.weight: F32
402
+ blk.14.engram_kv.weight: Q5_K
403
+ blk.14.exp_probs_b.bias: F32
404
+ blk.14.exp_probs_b_vl.bias: F32
405
+ blk.14.ffn_down_exps.weight: IQ1_S
406
+ blk.14.ffn_down_shexp.weight: Q5_K
407
+ blk.14.ffn_gate_exps.weight: IQ1_S
408
+ blk.14.ffn_gate_inp.weight: BF16
409
+ blk.14.ffn_gate_shexp.weight: Q5_K
410
+ blk.14.ffn_norm.weight: F32
411
+ blk.14.ffn_up_exps.weight: IQ1_S
412
+ blk.14.ffn_up_shexp.weight: Q5_K
413
+ blk.14.hc_attn_base.weight: F32
414
+ blk.14.hc_attn_fn.weight: F32
415
+ blk.14.hc_attn_scale.weight: F32
416
+ blk.14.hc_ffn_base.weight: F32
417
+ blk.14.hc_ffn_fn.weight: F32
418
+ blk.14.hc_ffn_scale.weight: F32
419
+ blk.14.indexer.attn_k.weight: BF16
420
+ blk.14.indexer.attn_q_b.weight: BF16
421
+ blk.14.indexer.k_norm.weight: F32
422
+ blk.14.indexer.proj.weight: BF16
423
+ blk.15.attn_kv.weight: Q8_0
424
+ blk.15.attn_kv_a_norm.weight: F32
425
+ blk.15.attn_norm.weight: F32
426
+ blk.15.attn_output_a.weight: Q5_K
427
+ blk.15.attn_output_b.weight: Q5_K
428
+ blk.15.attn_q_a.weight: Q8_0
429
+ blk.15.attn_q_a_norm.weight: F32
430
+ blk.15.attn_q_b.weight: Q5_K
431
+ blk.15.attn_sinks.weight: F32
432
+ blk.15.exp_probs_b.bias: F32
433
+ blk.15.exp_probs_b_vl.bias: F32
434
+ blk.15.ffn_down_exps.weight: IQ1_S
435
+ blk.15.ffn_down_shexp.weight: Q5_K
436
+ blk.15.ffn_gate_exps.weight: IQ1_S
437
+ blk.15.ffn_gate_inp.weight: BF16
438
+ blk.15.ffn_gate_shexp.weight: Q5_K
439
+ blk.15.ffn_norm.weight: F32
440
+ blk.15.ffn_up_exps.weight: IQ1_S
441
+ blk.15.ffn_up_shexp.weight: Q5_K
442
+ blk.15.hc_attn_base.weight: F32
443
+ blk.15.hc_attn_fn.weight: F32
444
+ blk.15.hc_attn_scale.weight: F32
445
+ blk.15.hc_ffn_base.weight: F32
446
+ blk.15.hc_ffn_fn.weight: F32
447
+ blk.15.hc_ffn_scale.weight: F32
448
+ blk.16.attn_kv.weight: Q8_0
449
+ blk.16.attn_kv_a_norm.weight: F32
450
+ blk.16.attn_norm.weight: F32
451
+ blk.16.attn_output_a.weight: Q5_K
452
+ blk.16.attn_output_b.weight: Q5_K
453
+ blk.16.attn_q_a.weight: Q8_0
454
+ blk.16.attn_q_a_norm.weight: F32
455
+ blk.16.attn_q_b.weight: Q5_K
456
+ blk.16.attn_sinks.weight: F32
457
+ blk.16.exp_probs_b.bias: F32
458
+ blk.16.exp_probs_b_vl.bias: F32
459
+ blk.16.ffn_down_exps.weight: IQ1_M
460
+ blk.16.ffn_down_shexp.weight: Q5_K
461
+ blk.16.ffn_gate_exps.weight: IQ1_S
462
+ blk.16.ffn_gate_inp.weight: BF16
463
+ blk.16.ffn_gate_shexp.weight: Q5_K
464
+ blk.16.ffn_norm.weight: F32
465
+ blk.16.ffn_up_exps.weight: IQ1_S
466
+ blk.16.ffn_up_shexp.weight: Q5_K
467
+ blk.16.hc_attn_base.weight: F32
468
+ blk.16.hc_attn_fn.weight: F32
469
+ blk.16.hc_attn_scale.weight: F32
470
+ blk.16.hc_ffn_base.weight: F32
471
+ blk.16.hc_ffn_fn.weight: F32
472
+ blk.16.hc_ffn_scale.weight: F32
473
+ blk.17.attn_kv.weight: Q8_0
474
+ blk.17.attn_kv_a_norm.weight: F32
475
+ blk.17.attn_norm.weight: F32
476
+ blk.17.attn_output_a.weight: Q5_K
477
+ blk.17.attn_output_b.weight: Q5_K
478
+ blk.17.attn_q_a.weight: Q8_0
479
+ blk.17.attn_q_a_norm.weight: F32
480
+ blk.17.attn_q_b.weight: Q5_K
481
+ blk.17.attn_sinks.weight: F32
482
+ blk.17.exp_probs_b.bias: F32
483
+ blk.17.exp_probs_b_vl.bias: F32
484
+ blk.17.ffn_down_exps.weight: IQ1_S
485
+ blk.17.ffn_down_shexp.weight: Q5_K
486
+ blk.17.ffn_gate_exps.weight: IQ1_S
487
+ blk.17.ffn_gate_inp.weight: BF16
488
+ blk.17.ffn_gate_shexp.weight: Q5_K
489
+ blk.17.ffn_norm.weight: F32
490
+ blk.17.ffn_up_exps.weight: IQ1_S
491
+ blk.17.ffn_up_shexp.weight: Q5_K
492
+ blk.17.hc_attn_base.weight: F32
493
+ blk.17.hc_attn_fn.weight: F32
494
+ blk.17.hc_attn_scale.weight: F32
495
+ blk.17.hc_ffn_base.weight: F32
496
+ blk.17.hc_ffn_fn.weight: F32
497
+ blk.17.hc_ffn_scale.weight: F32
498
+ blk.18.attn_kv.weight: Q8_0
499
+ blk.18.attn_kv_a_norm.weight: F32
500
+ blk.18.attn_norm.weight: F32
501
+ blk.18.attn_output_a.weight: Q5_K
502
+ blk.18.attn_output_b.weight: Q5_K
503
+ blk.18.attn_q_a.weight: Q8_0
504
+ blk.18.attn_q_a_norm.weight: F32
505
+ blk.18.attn_q_b.weight: Q5_K
506
+ blk.18.attn_sinks.weight: F32
507
+ blk.18.exp_probs_b.bias: F32
508
+ blk.18.exp_probs_b_vl.bias: F32
509
+ blk.18.ffn_down_exps.weight: IQ1_S
510
+ blk.18.ffn_down_shexp.weight: Q5_K
511
+ blk.18.ffn_gate_exps.weight: IQ2_XXS
512
+ blk.18.ffn_gate_inp.weight: BF16
513
+ blk.18.ffn_gate_shexp.weight: Q5_K
514
+ blk.18.ffn_norm.weight: F32
515
+ blk.18.ffn_up_exps.weight: IQ2_XXS
516
+ blk.18.ffn_up_shexp.weight: Q5_K
517
+ blk.18.hc_attn_base.weight: F32
518
+ blk.18.hc_attn_fn.weight: F32
519
+ blk.18.hc_attn_scale.weight: F32
520
+ blk.18.hc_ffn_base.weight: F32
521
+ blk.18.hc_ffn_fn.weight: F32
522
+ blk.18.hc_ffn_scale.weight: F32
523
+ blk.19.attn_kv.weight: Q8_0
524
+ blk.19.attn_kv_a_norm.weight: F32
525
+ blk.19.attn_norm.weight: F32
526
+ blk.19.attn_output_a.weight: Q5_K
527
+ blk.19.attn_output_b.weight: Q5_K
528
+ blk.19.attn_q_a.weight: Q8_0
529
+ blk.19.attn_q_a_norm.weight: F32
530
+ blk.19.attn_q_b.weight: Q5_K
531
+ blk.19.attn_sinks.weight: F32
532
+ blk.19.exp_probs_b.bias: F32
533
+ blk.19.exp_probs_b_vl.bias: F32
534
+ blk.19.ffn_down_exps.weight: IQ1_M
535
+ blk.19.ffn_down_shexp.weight: Q5_K
536
+ blk.19.ffn_gate_exps.weight: IQ1_S
537
+ blk.19.ffn_gate_inp.weight: BF16
538
+ blk.19.ffn_gate_shexp.weight: Q5_K
539
+ blk.19.ffn_norm.weight: F32
540
+ blk.19.ffn_up_exps.weight: IQ1_S
541
+ blk.19.ffn_up_shexp.weight: Q5_K
542
+ blk.19.hc_attn_base.weight: F32
543
+ blk.19.hc_attn_fn.weight: F32
544
+ blk.19.hc_attn_scale.weight: F32
545
+ blk.19.hc_ffn_base.weight: F32
546
+ blk.19.hc_ffn_fn.weight: F32
547
+ blk.19.hc_ffn_scale.weight: F32
548
+ blk.20.attn_compressor_kv.weight: BF16
549
+ blk.20.attn_compressor_norm.weight: F32
550
+ blk.20.attn_kv.weight: Q8_0
551
+ blk.20.attn_kv_a_norm.weight: F32
552
+ blk.20.attn_norm.weight: F32
553
+ blk.20.attn_output_a.weight: Q5_K
554
+ blk.20.attn_output_b.weight: Q5_K
555
+ blk.20.attn_q_a.weight: Q8_0
556
+ blk.20.attn_q_a_norm.weight: F32
557
+ blk.20.attn_q_b.weight: Q5_K
558
+ blk.20.attn_sinks.weight: F32
559
+ blk.20.exp_probs_b.bias: F32
560
+ blk.20.exp_probs_b_vl.bias: F32
561
+ blk.20.ffn_down_exps.weight: IQ1_M
562
+ blk.20.ffn_down_shexp.weight: Q5_K
563
+ blk.20.ffn_gate_exps.weight: IQ1_S
564
+ blk.20.ffn_gate_inp.weight: BF16
565
+ blk.20.ffn_gate_shexp.weight: Q5_K
566
+ blk.20.ffn_norm.weight: F32
567
+ blk.20.ffn_up_exps.weight: IQ1_S
568
+ blk.20.ffn_up_shexp.weight: Q5_K
569
+ blk.20.hc_attn_base.weight: F32
570
+ blk.20.hc_attn_fn.weight: F32
571
+ blk.20.hc_attn_scale.weight: F32
572
+ blk.20.hc_ffn_base.weight: F32
573
+ blk.20.hc_ffn_fn.weight: F32
574
+ blk.20.hc_ffn_scale.weight: F32
575
+ blk.20.indexer.attn_k.weight: BF16
576
+ blk.20.indexer.attn_q_b.weight: BF16
577
+ blk.20.indexer.k_norm.weight: F32
578
+ blk.20.indexer.proj.weight: BF16
579
+ blk.21.attn_kv.weight: Q8_0
580
+ blk.21.attn_kv_a_norm.weight: F32
581
+ blk.21.attn_norm.weight: F32
582
+ blk.21.attn_output_a.weight: Q5_K
583
+ blk.21.attn_output_b.weight: Q5_K
584
+ blk.21.attn_q_a.weight: Q8_0
585
+ blk.21.attn_q_a_norm.weight: F32
586
+ blk.21.attn_q_b.weight: Q5_K
587
+ blk.21.attn_sinks.weight: F32
588
+ blk.21.exp_probs_b.bias: F32
589
+ blk.21.exp_probs_b_vl.bias: F32
590
+ blk.21.ffn_down_exps.weight: IQ1_M
591
+ blk.21.ffn_down_shexp.weight: Q5_K
592
+ blk.21.ffn_gate_exps.weight: IQ1_S
593
+ blk.21.ffn_gate_inp.weight: BF16
594
+ blk.21.ffn_gate_shexp.weight: Q5_K
595
+ blk.21.ffn_norm.weight: F32
596
+ blk.21.ffn_up_exps.weight: IQ1_S
597
+ blk.21.ffn_up_shexp.weight: Q5_K
598
+ blk.21.hc_attn_base.weight: F32
599
+ blk.21.hc_attn_fn.weight: F32
600
+ blk.21.hc_attn_scale.weight: F32
601
+ blk.21.hc_ffn_base.weight: F32
602
+ blk.21.hc_ffn_fn.weight: F32
603
+ blk.21.hc_ffn_scale.weight: F32
604
+ blk.22.attn_kv.weight: Q8_0
605
+ blk.22.attn_kv_a_norm.weight: F32
606
+ blk.22.attn_norm.weight: F32
607
+ blk.22.attn_output_a.weight: Q5_K
608
+ blk.22.attn_output_b.weight: Q5_K
609
+ blk.22.attn_q_a.weight: Q8_0
610
+ blk.22.attn_q_a_norm.weight: F32
611
+ blk.22.attn_q_b.weight: Q5_K
612
+ blk.22.attn_sinks.weight: F32
613
+ blk.22.exp_probs_b.bias: F32
614
+ blk.22.exp_probs_b_vl.bias: F32
615
+ blk.22.ffn_down_exps.weight: IQ1_M
616
+ blk.22.ffn_down_shexp.weight: Q5_K
617
+ blk.22.ffn_gate_exps.weight: IQ1_S
618
+ blk.22.ffn_gate_inp.weight: BF16
619
+ blk.22.ffn_gate_shexp.weight: Q5_K
620
+ blk.22.ffn_norm.weight: F32
621
+ blk.22.ffn_up_exps.weight: IQ1_S
622
+ blk.22.ffn_up_shexp.weight: Q5_K
623
+ blk.22.hc_attn_base.weight: F32
624
+ blk.22.hc_attn_fn.weight: F32
625
+ blk.22.hc_attn_scale.weight: F32
626
+ blk.22.hc_ffn_base.weight: F32
627
+ blk.22.hc_ffn_fn.weight: F32
628
+ blk.22.hc_ffn_scale.weight: F32
629
+ blk.23.attn_kv.weight: Q8_0
630
+ blk.23.attn_kv_a_norm.weight: F32
631
+ blk.23.attn_norm.weight: F32
632
+ blk.23.attn_output_a.weight: Q5_K
633
+ blk.23.attn_output_b.weight: Q5_K
634
+ blk.23.attn_q_a.weight: Q8_0
635
+ blk.23.attn_q_a_norm.weight: F32
636
+ blk.23.attn_q_b.weight: Q5_K
637
+ blk.23.attn_sinks.weight: F32
638
+ blk.23.exp_probs_b.bias: F32
639
+ blk.23.exp_probs_b_vl.bias: F32
640
+ blk.23.ffn_down_exps.weight: IQ1_S
641
+ blk.23.ffn_down_shexp.weight: Q5_K
642
+ blk.23.ffn_gate_exps.weight: IQ2_XXS
643
+ blk.23.ffn_gate_inp.weight: BF16
644
+ blk.23.ffn_gate_shexp.weight: Q5_K
645
+ blk.23.ffn_norm.weight: F32
646
+ blk.23.ffn_up_exps.weight: IQ2_XXS
647
+ blk.23.ffn_up_shexp.weight: Q5_K
648
+ blk.23.hc_attn_base.weight: F32
649
+ blk.23.hc_attn_fn.weight: F32
650
+ blk.23.hc_attn_scale.weight: F32
651
+ blk.23.hc_ffn_base.weight: F32
652
+ blk.23.hc_ffn_fn.weight: F32
653
+ blk.23.hc_ffn_scale.weight: F32
654
+ blk.24.attn_kv.weight: Q8_0
655
+ blk.24.attn_kv_a_norm.weight: F32
656
+ blk.24.attn_norm.weight: F32
657
+ blk.24.attn_output_a.weight: Q5_K
658
+ blk.24.attn_output_b.weight: Q5_K
659
+ blk.24.attn_q_a.weight: Q8_0
660
+ blk.24.attn_q_a_norm.weight: F32
661
+ blk.24.attn_q_b.weight: Q5_K
662
+ blk.24.attn_sinks.weight: F32
663
+ blk.24.exp_probs_b.bias: F32
664
+ blk.24.exp_probs_b_vl.bias: F32
665
+ blk.24.ffn_down_exps.weight: IQ1_S
666
+ blk.24.ffn_down_shexp.weight: Q5_K
667
+ blk.24.ffn_gate_exps.weight: IQ1_S
668
+ blk.24.ffn_gate_inp.weight: BF16
669
+ blk.24.ffn_gate_shexp.weight: Q5_K
670
+ blk.24.ffn_norm.weight: F32
671
+ blk.24.ffn_up_exps.weight: IQ1_S
672
+ blk.24.ffn_up_shexp.weight: Q5_K
673
+ blk.24.hc_attn_base.weight: F32
674
+ blk.24.hc_attn_fn.weight: F32
675
+ blk.24.hc_attn_scale.weight: F32
676
+ blk.24.hc_ffn_base.weight: F32
677
+ blk.24.hc_ffn_fn.weight: F32
678
+ blk.24.hc_ffn_scale.weight: F32
679
+ blk.24.indexer.attn_q_b.weight: BF16
680
+ blk.24.indexer.proj.weight: BF16
681
+ blk.25.attn_kv.weight: Q8_0
682
+ blk.25.attn_kv_a_norm.weight: F32
683
+ blk.25.attn_norm.weight: F32
684
+ blk.25.attn_output_a.weight: Q5_K
685
+ blk.25.attn_output_b.weight: Q5_K
686
+ blk.25.attn_q_a.weight: Q8_0
687
+ blk.25.attn_q_a_norm.weight: F32
688
+ blk.25.attn_q_b.weight: Q5_K
689
+ blk.25.attn_sinks.weight: F32
690
+ blk.25.exp_probs_b.bias: F32
691
+ blk.25.exp_probs_b_vl.bias: F32
692
+ blk.25.ffn_down_exps.weight: IQ1_M
693
+ blk.25.ffn_down_shexp.weight: Q5_K
694
+ blk.25.ffn_gate_exps.weight: IQ2_XXS
695
+ blk.25.ffn_gate_inp.weight: BF16
696
+ blk.25.ffn_gate_shexp.weight: Q5_K
697
+ blk.25.ffn_norm.weight: F32
698
+ blk.25.ffn_up_exps.weight: IQ2_XXS
699
+ blk.25.ffn_up_shexp.weight: Q5_K
700
+ blk.25.hc_attn_base.weight: F32
701
+ blk.25.hc_attn_fn.weight: F32
702
+ blk.25.hc_attn_scale.weight: F32
703
+ blk.25.hc_ffn_base.weight: F32
704
+ blk.25.hc_ffn_fn.weight: F32
705
+ blk.25.hc_ffn_scale.weight: F32
706
+ blk.26.attn_kv.weight: Q8_0
707
+ blk.26.attn_kv_a_norm.weight: F32
708
+ blk.26.attn_norm.weight: F32
709
+ blk.26.attn_output_a.weight: Q5_K
710
+ blk.26.attn_output_b.weight: Q5_K
711
+ blk.26.attn_q_a.weight: Q8_0
712
+ blk.26.attn_q_a_norm.weight: F32
713
+ blk.26.attn_q_b.weight: Q5_K
714
+ blk.26.attn_sinks.weight: F32
715
+ blk.26.exp_probs_b.bias: F32
716
+ blk.26.exp_probs_b_vl.bias: F32
717
+ blk.26.ffn_down_exps.weight: IQ2_S
718
+ blk.26.ffn_down_shexp.weight: Q5_K
719
+ blk.26.ffn_gate_exps.weight: IQ1_S
720
+ blk.26.ffn_gate_inp.weight: BF16
721
+ blk.26.ffn_gate_shexp.weight: Q5_K
722
+ blk.26.ffn_norm.weight: F32
723
+ blk.26.ffn_up_exps.weight: IQ1_S
724
+ blk.26.ffn_up_shexp.weight: Q5_K
725
+ blk.26.hc_attn_base.weight: F32
726
+ blk.26.hc_attn_fn.weight: F32
727
+ blk.26.hc_attn_scale.weight: F32
728
+ blk.26.hc_ffn_base.weight: F32
729
+ blk.26.hc_ffn_fn.weight: F32
730
+ blk.26.hc_ffn_scale.weight: F32
731
+ blk.27.attn_kv.weight: Q8_0
732
+ blk.27.attn_kv_a_norm.weight: F32
733
+ blk.27.attn_norm.weight: F32
734
+ blk.27.attn_output_a.weight: Q5_K
735
+ blk.27.attn_output_b.weight: Q5_K
736
+ blk.27.attn_q_a.weight: Q8_0
737
+ blk.27.attn_q_a_norm.weight: F32
738
+ blk.27.attn_q_b.weight: Q5_K
739
+ blk.27.attn_sinks.weight: F32
740
+ blk.27.exp_probs_b.bias: F32
741
+ blk.27.exp_probs_b_vl.bias: F32
742
+ blk.27.ffn_down_exps.weight: IQ1_S
743
+ blk.27.ffn_down_shexp.weight: Q5_K
744
+ blk.27.ffn_gate_exps.weight: IQ1_S
745
+ blk.27.ffn_gate_inp.weight: BF16
746
+ blk.27.ffn_gate_shexp.weight: Q5_K
747
+ blk.27.ffn_norm.weight: F32
748
+ blk.27.ffn_up_exps.weight: IQ1_S
749
+ blk.27.ffn_up_shexp.weight: Q5_K
750
+ blk.27.hc_attn_base.weight: F32
751
+ blk.27.hc_attn_fn.weight: F32
752
+ blk.27.hc_attn_scale.weight: F32
753
+ blk.27.hc_ffn_base.weight: F32
754
+ blk.27.hc_ffn_fn.weight: F32
755
+ blk.27.hc_ffn_scale.weight: F32
756
+ blk.28.attn_kv.weight: Q8_0
757
+ blk.28.attn_kv_a_norm.weight: F32
758
+ blk.28.attn_norm.weight: F32
759
+ blk.28.attn_output_a.weight: Q5_K
760
+ blk.28.attn_output_b.weight: Q5_K
761
+ blk.28.attn_q_a.weight: Q8_0
762
+ blk.28.attn_q_a_norm.weight: F32
763
+ blk.28.attn_q_b.weight: Q5_K
764
+ blk.28.attn_sinks.weight: F32
765
+ blk.28.exp_probs_b.bias: F32
766
+ blk.28.exp_probs_b_vl.bias: F32
767
+ blk.28.ffn_down_exps.weight: IQ1_S
768
+ blk.28.ffn_down_shexp.weight: Q5_K
769
+ blk.28.ffn_gate_exps.weight: IQ1_M
770
+ blk.28.ffn_gate_inp.weight: BF16
771
+ blk.28.ffn_gate_shexp.weight: Q5_K
772
+ blk.28.ffn_norm.weight: F32
773
+ blk.28.ffn_up_exps.weight: IQ1_M
774
+ blk.28.ffn_up_shexp.weight: Q5_K
775
+ blk.28.hc_attn_base.weight: F32
776
+ blk.28.hc_attn_fn.weight: F32
777
+ blk.28.hc_attn_scale.weight: F32
778
+ blk.28.hc_ffn_base.weight: F32
779
+ blk.28.hc_ffn_fn.weight: F32
780
+ blk.28.hc_ffn_scale.weight: F32
781
+ blk.28.indexer.attn_q_b.weight: BF16
782
+ blk.28.indexer.proj.weight: BF16
783
+ blk.29.attn_kv.weight: Q8_0
784
+ blk.29.attn_kv_a_norm.weight: F32
785
+ blk.29.attn_norm.weight: F32
786
+ blk.29.attn_output_a.weight: Q5_K
787
+ blk.29.attn_output_b.weight: Q5_K
788
+ blk.29.attn_q_a.weight: Q8_0
789
+ blk.29.attn_q_a_norm.weight: F32
790
+ blk.29.attn_q_b.weight: Q5_K
791
+ blk.29.attn_sinks.weight: F32
792
+ blk.29.exp_probs_b.bias: F32
793
+ blk.29.exp_probs_b_vl.bias: F32
794
+ blk.29.ffn_down_exps.weight: IQ1_S
795
+ blk.29.ffn_down_shexp.weight: Q5_K
796
+ blk.29.ffn_gate_exps.weight: IQ2_XXS
797
+ blk.29.ffn_gate_inp.weight: BF16
798
+ blk.29.ffn_gate_shexp.weight: Q5_K
799
+ blk.29.ffn_norm.weight: F32
800
+ blk.29.ffn_up_exps.weight: IQ2_XXS
801
+ blk.29.ffn_up_shexp.weight: Q5_K
802
+ blk.29.hc_attn_base.weight: F32
803
+ blk.29.hc_attn_fn.weight: F32
804
+ blk.29.hc_attn_scale.weight: F32
805
+ blk.29.hc_ffn_base.weight: F32
806
+ blk.29.hc_ffn_fn.weight: F32
807
+ blk.29.hc_ffn_scale.weight: F32
808
+ blk.30.attn_kv.weight: Q8_0
809
+ blk.30.attn_kv_a_norm.weight: F32
810
+ blk.30.attn_norm.weight: F32
811
+ blk.30.attn_output_a.weight: Q5_K
812
+ blk.30.attn_output_b.weight: Q5_K
813
+ blk.30.attn_q_a.weight: Q8_0
814
+ blk.30.attn_q_a_norm.weight: F32
815
+ blk.30.attn_q_b.weight: Q5_K
816
+ blk.30.attn_sinks.weight: F32
817
+ blk.30.exp_probs_b.bias: F32
818
+ blk.30.exp_probs_b_vl.bias: F32
819
+ blk.30.ffn_down_exps.weight: IQ1_M
820
+ blk.30.ffn_down_shexp.weight: Q5_K
821
+ blk.30.ffn_gate_exps.weight: IQ2_XXS
822
+ blk.30.ffn_gate_inp.weight: BF16
823
+ blk.30.ffn_gate_shexp.weight: Q5_K
824
+ blk.30.ffn_norm.weight: F32
825
+ blk.30.ffn_up_exps.weight: IQ2_XXS
826
+ blk.30.ffn_up_shexp.weight: Q5_K
827
+ blk.30.hc_attn_base.weight: F32
828
+ blk.30.hc_attn_fn.weight: F32
829
+ blk.30.hc_attn_scale.weight: F32
830
+ blk.30.hc_ffn_base.weight: F32
831
+ blk.30.hc_ffn_fn.weight: F32
832
+ blk.30.hc_ffn_scale.weight: F32
833
+ blk.31.attn_kv.weight: Q8_0
834
+ blk.31.attn_kv_a_norm.weight: F32
835
+ blk.31.attn_norm.weight: F32
836
+ blk.31.attn_output_a.weight: Q5_K
837
+ blk.31.attn_output_b.weight: Q5_K
838
+ blk.31.attn_q_a.weight: Q8_0
839
+ blk.31.attn_q_a_norm.weight: F32
840
+ blk.31.attn_q_b.weight: Q5_K
841
+ blk.31.attn_sinks.weight: F32
842
+ blk.31.exp_probs_b.bias: F32
843
+ blk.31.exp_probs_b_vl.bias: F32
844
+ blk.31.ffn_down_exps.weight: IQ1_S
845
+ blk.31.ffn_down_shexp.weight: Q5_K
846
+ blk.31.ffn_gate_exps.weight: IQ1_S
847
+ blk.31.ffn_gate_inp.weight: BF16
848
+ blk.31.ffn_gate_shexp.weight: Q5_K
849
+ blk.31.ffn_norm.weight: F32
850
+ blk.31.ffn_up_exps.weight: IQ1_S
851
+ blk.31.ffn_up_shexp.weight: Q5_K
852
+ blk.31.hc_attn_base.weight: F32
853
+ blk.31.hc_attn_fn.weight: F32
854
+ blk.31.hc_attn_scale.weight: F32
855
+ blk.31.hc_ffn_base.weight: F32
856
+ blk.31.hc_ffn_fn.weight: F32
857
+ blk.31.hc_ffn_scale.weight: F32
858
+ blk.32.attn_kv.weight: Q8_0
859
+ blk.32.attn_kv_a_norm.weight: F32
860
+ blk.32.attn_norm.weight: F32
861
+ blk.32.attn_output_a.weight: Q5_K
862
+ blk.32.attn_output_b.weight: Q5_K
863
+ blk.32.attn_q_a.weight: Q8_0
864
+ blk.32.attn_q_a_norm.weight: F32
865
+ blk.32.attn_q_b.weight: Q5_K
866
+ blk.32.attn_sinks.weight: F32
867
+ blk.32.exp_probs_b.bias: F32
868
+ blk.32.exp_probs_b_vl.bias: F32
869
+ blk.32.ffn_down_exps.weight: IQ1_S
870
+ blk.32.ffn_down_shexp.weight: Q5_K
871
+ blk.32.ffn_gate_exps.weight: IQ2_XXS
872
+ blk.32.ffn_gate_inp.weight: BF16
873
+ blk.32.ffn_gate_shexp.weight: Q5_K
874
+ blk.32.ffn_norm.weight: F32
875
+ blk.32.ffn_up_exps.weight: IQ2_XXS
876
+ blk.32.ffn_up_shexp.weight: Q5_K
877
+ blk.32.hc_attn_base.weight: F32
878
+ blk.32.hc_attn_fn.weight: F32
879
+ blk.32.hc_attn_scale.weight: F32
880
+ blk.32.hc_ffn_base.weight: F32
881
+ blk.32.hc_ffn_fn.weight: F32
882
+ blk.32.hc_ffn_scale.weight: F32
883
+ blk.32.indexer.attn_q_b.weight: BF16
884
+ blk.32.indexer.proj.weight: BF16
885
+ blk.33.attn_kv.weight: Q8_0
886
+ blk.33.attn_kv_a_norm.weight: F32
887
+ blk.33.attn_norm.weight: F32
888
+ blk.33.attn_output_a.weight: Q5_K
889
+ blk.33.attn_output_b.weight: Q5_K
890
+ blk.33.attn_q_a.weight: Q8_0
891
+ blk.33.attn_q_a_norm.weight: F32
892
+ blk.33.attn_q_b.weight: Q5_K
893
+ blk.33.attn_sinks.weight: F32
894
+ blk.33.exp_probs_b.bias: F32
895
+ blk.33.exp_probs_b_vl.bias: F32
896
+ blk.33.ffn_down_exps.weight: IQ1_S
897
+ blk.33.ffn_down_shexp.weight: Q5_K
898
+ blk.33.ffn_gate_exps.weight: IQ1_M
899
+ blk.33.ffn_gate_inp.weight: BF16
900
+ blk.33.ffn_gate_shexp.weight: Q5_K
901
+ blk.33.ffn_norm.weight: F32
902
+ blk.33.ffn_up_exps.weight: IQ1_M
903
+ blk.33.ffn_up_shexp.weight: Q5_K
904
+ blk.33.hc_attn_base.weight: F32
905
+ blk.33.hc_attn_fn.weight: F32
906
+ blk.33.hc_attn_scale.weight: F32
907
+ blk.33.hc_ffn_base.weight: F32
908
+ blk.33.hc_ffn_fn.weight: F32
909
+ blk.33.hc_ffn_scale.weight: F32
910
+ blk.34.attn_kv.weight: Q8_0
911
+ blk.34.attn_kv_a_norm.weight: F32
912
+ blk.34.attn_norm.weight: F32
913
+ blk.34.attn_output_a.weight: Q5_K
914
+ blk.34.attn_output_b.weight: Q5_K
915
+ blk.34.attn_q_a.weight: Q8_0
916
+ blk.34.attn_q_a_norm.weight: F32
917
+ blk.34.attn_q_b.weight: Q5_K
918
+ blk.34.attn_sinks.weight: F32
919
+ blk.34.exp_probs_b.bias: F32
920
+ blk.34.exp_probs_b_vl.bias: F32
921
+ blk.34.ffn_down_exps.weight: IQ1_S
922
+ blk.34.ffn_down_shexp.weight: Q5_K
923
+ blk.34.ffn_gate_exps.weight: IQ1_S
924
+ blk.34.ffn_gate_inp.weight: BF16
925
+ blk.34.ffn_gate_shexp.weight: Q5_K
926
+ blk.34.ffn_norm.weight: F32
927
+ blk.34.ffn_up_exps.weight: IQ1_S
928
+ blk.34.ffn_up_shexp.weight: Q5_K
929
+ blk.34.hc_attn_base.weight: F32
930
+ blk.34.hc_attn_fn.weight: F32
931
+ blk.34.hc_attn_scale.weight: F32
932
+ blk.34.hc_ffn_base.weight: F32
933
+ blk.34.hc_ffn_fn.weight: F32
934
+ blk.34.hc_ffn_scale.weight: F32
935
+ blk.35.attn_kv.weight: Q8_0
936
+ blk.35.attn_kv_a_norm.weight: F32
937
+ blk.35.attn_norm.weight: F32
938
+ blk.35.attn_output_a.weight: Q5_K
939
+ blk.35.attn_output_b.weight: Q5_K
940
+ blk.35.attn_q_a.weight: Q8_0
941
+ blk.35.attn_q_a_norm.weight: F32
942
+ blk.35.attn_q_b.weight: Q5_K
943
+ blk.35.attn_sinks.weight: F32
944
+ blk.35.exp_probs_b.bias: F32
945
+ blk.35.exp_probs_b_vl.bias: F32
946
+ blk.35.ffn_down_exps.weight: IQ1_S
947
+ blk.35.ffn_down_shexp.weight: Q5_K
948
+ blk.35.ffn_gate_exps.weight: IQ1_S
949
+ blk.35.ffn_gate_inp.weight: BF16
950
+ blk.35.ffn_gate_shexp.weight: Q5_K
951
+ blk.35.ffn_norm.weight: F32
952
+ blk.35.ffn_up_exps.weight: IQ1_S
953
+ blk.35.ffn_up_shexp.weight: Q5_K
954
+ blk.35.hc_attn_base.weight: F32
955
+ blk.35.hc_attn_fn.weight: F32
956
+ blk.35.hc_attn_scale.weight: F32
957
+ blk.35.hc_ffn_base.weight: F32
958
+ blk.35.hc_ffn_fn.weight: F32
959
+ blk.35.hc_ffn_scale.weight: F32
960
+ blk.36.attn_kv.weight: Q8_0
961
+ blk.36.attn_kv_a_norm.weight: F32
962
+ blk.36.attn_norm.weight: F32
963
+ blk.36.attn_output_a.weight: Q5_K
964
+ blk.36.attn_output_b.weight: Q5_K
965
+ blk.36.attn_q_a.weight: Q8_0
966
+ blk.36.attn_q_a_norm.weight: F32
967
+ blk.36.attn_q_b.weight: Q5_K
968
+ blk.36.attn_sinks.weight: F32
969
+ blk.36.exp_probs_b.bias: F32
970
+ blk.36.exp_probs_b_vl.bias: F32
971
+ blk.36.ffn_down_exps.weight: IQ1_S
972
+ blk.36.ffn_down_shexp.weight: Q5_K
973
+ blk.36.ffn_gate_exps.weight: IQ1_M
974
+ blk.36.ffn_gate_inp.weight: BF16
975
+ blk.36.ffn_gate_shexp.weight: Q5_K
976
+ blk.36.ffn_norm.weight: F32
977
+ blk.36.ffn_up_exps.weight: IQ1_M
978
+ blk.36.ffn_up_shexp.weight: Q5_K
979
+ blk.36.hc_attn_base.weight: F32
980
+ blk.36.hc_attn_fn.weight: F32
981
+ blk.36.hc_attn_scale.weight: F32
982
+ blk.36.hc_ffn_base.weight: F32
983
+ blk.36.hc_ffn_fn.weight: F32
984
+ blk.36.hc_ffn_scale.weight: F32
985
+ blk.36.indexer.attn_q_b.weight: BF16
986
+ blk.36.indexer.proj.weight: BF16
987
+ blk.37.attn_kv.weight: Q8_0
988
+ blk.37.attn_kv_a_norm.weight: F32
989
+ blk.37.attn_norm.weight: F32
990
+ blk.37.attn_output_a.weight: Q5_K
991
+ blk.37.attn_output_b.weight: Q5_K
992
+ blk.37.attn_q_a.weight: Q8_0
993
+ blk.37.attn_q_a_norm.weight: F32
994
+ blk.37.attn_q_b.weight: Q5_K
995
+ blk.37.attn_sinks.weight: F32
996
+ blk.37.exp_probs_b.bias: F32
997
+ blk.37.exp_probs_b_vl.bias: F32
998
+ blk.37.ffn_down_exps.weight: IQ1_S
999
+ blk.37.ffn_down_shexp.weight: Q5_K
1000
+ blk.37.ffn_gate_exps.weight: IQ1_S
1001
+ blk.37.ffn_gate_inp.weight: BF16
1002
+ blk.37.ffn_gate_shexp.weight: Q5_K
1003
+ blk.37.ffn_norm.weight: F32
1004
+ blk.37.ffn_up_exps.weight: IQ1_S
1005
+ blk.37.ffn_up_shexp.weight: Q5_K
1006
+ blk.37.hc_attn_base.weight: F32
1007
+ blk.37.hc_attn_fn.weight: F32
1008
+ blk.37.hc_attn_scale.weight: F32
1009
+ blk.37.hc_ffn_base.weight: F32
1010
+ blk.37.hc_ffn_fn.weight: F32
1011
+ blk.37.hc_ffn_scale.weight: F32
1012
+ blk.38.attn_kv.weight: Q8_0
1013
+ blk.38.attn_kv_a_norm.weight: F32
1014
+ blk.38.attn_norm.weight: F32
1015
+ blk.38.attn_output_a.weight: Q5_K
1016
+ blk.38.attn_output_b.weight: Q5_K
1017
+ blk.38.attn_q_a.weight: Q8_0
1018
+ blk.38.attn_q_a_norm.weight: F32
1019
+ blk.38.attn_q_b.weight: Q5_K
1020
+ blk.38.attn_sinks.weight: F32
1021
+ blk.38.exp_probs_b.bias: F32
1022
+ blk.38.exp_probs_b_vl.bias: F32
1023
+ blk.38.ffn_down_exps.weight: IQ1_S
1024
+ blk.38.ffn_down_shexp.weight: Q5_K
1025
+ blk.38.ffn_gate_exps.weight: IQ2_XXS
1026
+ blk.38.ffn_gate_inp.weight: BF16
1027
+ blk.38.ffn_gate_shexp.weight: Q5_K
1028
+ blk.38.ffn_norm.weight: F32
1029
+ blk.38.ffn_up_exps.weight: IQ2_XXS
1030
+ blk.38.ffn_up_shexp.weight: Q5_K
1031
+ blk.38.hc_attn_base.weight: F32
1032
+ blk.38.hc_attn_fn.weight: F32
1033
+ blk.38.hc_attn_scale.weight: F32
1034
+ blk.38.hc_ffn_base.weight: F32
1035
+ blk.38.hc_ffn_fn.weight: F32
1036
+ blk.38.hc_ffn_scale.weight: F32
1037
+ blk.39.attn_kv.weight: Q8_0
1038
+ blk.39.attn_kv_a_norm.weight: F32
1039
+ blk.39.attn_norm.weight: F32
1040
+ blk.39.attn_output_a.weight: Q5_K
1041
+ blk.39.attn_output_b.weight: Q5_K
1042
+ blk.39.attn_q_a.weight: Q8_0
1043
+ blk.39.attn_q_a_norm.weight: F32
1044
+ blk.39.attn_q_b.weight: Q5_K
1045
+ blk.39.attn_sinks.weight: F32
1046
+ blk.39.exp_probs_b.bias: F32
1047
+ blk.39.exp_probs_b_vl.bias: F32
1048
+ blk.39.ffn_down_exps.weight: IQ2_XXS
1049
+ blk.39.ffn_down_shexp.weight: Q5_K
1050
+ blk.39.ffn_gate_exps.weight: IQ1_S
1051
+ blk.39.ffn_gate_inp.weight: BF16
1052
+ blk.39.ffn_gate_shexp.weight: Q5_K
1053
+ blk.39.ffn_norm.weight: F32
1054
+ blk.39.ffn_up_exps.weight: IQ1_S
1055
+ blk.39.ffn_up_shexp.weight: Q5_K
1056
+ blk.39.hc_attn_base.weight: F32
1057
+ blk.39.hc_attn_fn.weight: F32
1058
+ blk.39.hc_attn_scale.weight: F32
1059
+ blk.39.hc_ffn_base.weight: F32
1060
+ blk.39.hc_ffn_fn.weight: F32
1061
+ blk.39.hc_ffn_scale.weight: F32
tensor-allocation/DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XS.rco-allocation.txt ADDED
@@ -0,0 +1,1061 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # RCO per-tensor GGUF allocation
2
+ # Repository: ISTA-DASLab/DeepSeek-V4.1-Flash-1017-GSQ-RCO-GGUF
3
+ # GGUF: DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XS-00001-of-00006.gguf (first of 6 shards; this dump covers all of them)
4
+ # Source: https://huggingface.co/ISTA-DASLab/DeepSeek-V4.1-Flash-1017-GSQ-RCO-GGUF/resolve/main/DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XS-00001-of-00006.gguf
5
+ # Source: https://huggingface.co/ISTA-DASLab/DeepSeek-V4.1-Flash-1017-GSQ-RCO-GGUF/resolve/main/DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XS-00002-of-00006.gguf
6
+ # Source: https://huggingface.co/ISTA-DASLab/DeepSeek-V4.1-Flash-1017-GSQ-RCO-GGUF/resolve/main/DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XS-00003-of-00006.gguf
7
+ # Source: https://huggingface.co/ISTA-DASLab/DeepSeek-V4.1-Flash-1017-GSQ-RCO-GGUF/resolve/main/DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XS-00004-of-00006.gguf
8
+ # Source: https://huggingface.co/ISTA-DASLab/DeepSeek-V4.1-Flash-1017-GSQ-RCO-GGUF/resolve/main/DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XS-00005-of-00006.gguf
9
+ # Source: https://huggingface.co/ISTA-DASLab/DeepSeek-V4.1-Flash-1017-GSQ-RCO-GGUF/resolve/main/DeepSeek-V4.1-Flash-Engram-IQ4_NL.gguf
10
+ # Target bpw over the backbone (all tensors except the Engram table): 2.25 (measured: 2.2501)
11
+ # The Engram table (per_layer_token_embd, shard 6 = the shared Engram file) is IQ4_NL in every build and not part of the search.
12
+ # GGUF version: 3
13
+ # GGUF metadata entries: 77
14
+ # Tensor count: 1043
15
+ # Quant-type counts: BF16=67, F32=531, IQ2_S=16, IQ2_XS=27, IQ2_XXS=76, IQ3_XXS=1, IQ4_NL=1, Q5_K=244, Q8_0=80
16
+ # Format: <GGUF tensor name>: <GGML quantization/storage type>
17
+ # Includes fixed non-RCO tensors (e.g. F32/BF16) so the released GGUF is fully reproducible.
18
+ #
19
+ output.weight: Q5_K
20
+ output_norm.weight: F32
21
+ per_layer_token_embd.weight: IQ4_NL
22
+ token_embd.weight: Q5_K
23
+ blk.0.attn_kv.weight: Q8_0
24
+ blk.0.attn_kv_a_norm.weight: F32
25
+ blk.0.attn_norm.weight: F32
26
+ blk.0.attn_output_a.weight: Q5_K
27
+ blk.0.attn_output_b.weight: Q5_K
28
+ blk.0.attn_q_a.weight: Q8_0
29
+ blk.0.attn_q_a_norm.weight: F32
30
+ blk.0.attn_q_b.weight: Q5_K
31
+ blk.0.attn_sinks.weight: F32
32
+ blk.0.exp_probs_b.bias: F32
33
+ blk.0.exp_probs_b_vl.bias: F32
34
+ blk.0.ffn_down_exps.weight: IQ2_XXS
35
+ blk.0.ffn_down_shexp.weight: Q5_K
36
+ blk.0.ffn_gate_exps.weight: IQ2_XXS
37
+ blk.0.ffn_gate_inp.weight: BF16
38
+ blk.0.ffn_gate_shexp.weight: Q5_K
39
+ blk.0.ffn_norm.weight: F32
40
+ blk.0.ffn_up_exps.weight: IQ2_XXS
41
+ blk.0.ffn_up_shexp.weight: Q5_K
42
+ blk.0.hc_attn_base.weight: F32
43
+ blk.0.hc_attn_fn.weight: F32
44
+ blk.0.hc_attn_scale.weight: F32
45
+ blk.0.hc_ffn_base.weight: F32
46
+ blk.0.hc_ffn_fn.weight: F32
47
+ blk.0.hc_ffn_scale.weight: F32
48
+ blk.1.attn_kv.weight: Q8_0
49
+ blk.1.attn_kv_a_norm.weight: F32
50
+ blk.1.attn_norm.weight: F32
51
+ blk.1.attn_output_a.weight: Q5_K
52
+ blk.1.attn_output_b.weight: Q5_K
53
+ blk.1.attn_q_a.weight: Q8_0
54
+ blk.1.attn_q_a_norm.weight: F32
55
+ blk.1.attn_q_b.weight: Q5_K
56
+ blk.1.attn_sinks.weight: F32
57
+ blk.1.engram_gate.weight: F32
58
+ blk.1.engram_kv.weight: Q5_K
59
+ blk.1.exp_probs_b.bias: F32
60
+ blk.1.exp_probs_b_vl.bias: F32
61
+ blk.1.ffn_down_exps.weight: IQ2_XXS
62
+ blk.1.ffn_down_shexp.weight: Q5_K
63
+ blk.1.ffn_gate_exps.weight: IQ2_XXS
64
+ blk.1.ffn_gate_inp.weight: BF16
65
+ blk.1.ffn_gate_shexp.weight: Q5_K
66
+ blk.1.ffn_norm.weight: F32
67
+ blk.1.ffn_up_exps.weight: IQ2_XXS
68
+ blk.1.ffn_up_shexp.weight: Q5_K
69
+ blk.1.hc_attn_base.weight: F32
70
+ blk.1.hc_attn_fn.weight: F32
71
+ blk.1.hc_attn_scale.weight: F32
72
+ blk.1.hc_ffn_base.weight: F32
73
+ blk.1.hc_ffn_fn.weight: F32
74
+ blk.1.hc_ffn_scale.weight: F32
75
+ blk.2.attn_compressor_gate.weight: BF16
76
+ blk.2.attn_compressor_kv.weight: BF16
77
+ blk.2.attn_compressor_norm.weight: F32
78
+ blk.2.attn_kv.weight: Q8_0
79
+ blk.2.attn_kv_a_norm.weight: F32
80
+ blk.2.attn_norm.weight: F32
81
+ blk.2.attn_output_a.weight: Q5_K
82
+ blk.2.attn_output_b.weight: Q5_K
83
+ blk.2.attn_q_a.weight: Q8_0
84
+ blk.2.attn_q_a_norm.weight: F32
85
+ blk.2.attn_q_b.weight: Q5_K
86
+ blk.2.attn_sinks.weight: F32
87
+ blk.2.exp_probs_b.bias: F32
88
+ blk.2.exp_probs_b_vl.bias: F32
89
+ blk.2.ffn_down_exps.weight: IQ2_XXS
90
+ blk.2.ffn_down_shexp.weight: Q5_K
91
+ blk.2.ffn_gate_exps.weight: IQ2_XXS
92
+ blk.2.ffn_gate_inp.weight: BF16
93
+ blk.2.ffn_gate_shexp.weight: Q5_K
94
+ blk.2.ffn_norm.weight: F32
95
+ blk.2.ffn_up_exps.weight: IQ2_XXS
96
+ blk.2.ffn_up_shexp.weight: Q5_K
97
+ blk.2.hc_attn_base.weight: F32
98
+ blk.2.hc_attn_fn.weight: F32
99
+ blk.2.hc_attn_scale.weight: F32
100
+ blk.2.hc_ffn_base.weight: F32
101
+ blk.2.hc_ffn_fn.weight: F32
102
+ blk.2.hc_ffn_scale.weight: F32
103
+ blk.2.indexer.attn_k.weight: BF16
104
+ blk.2.indexer.attn_q_b.weight: BF16
105
+ blk.2.indexer.k_norm.weight: F32
106
+ blk.2.indexer.proj.weight: BF16
107
+ blk.3.attn_kv.weight: Q8_0
108
+ blk.3.attn_kv_a_norm.weight: F32
109
+ blk.3.attn_norm.weight: F32
110
+ blk.3.attn_output_a.weight: Q5_K
111
+ blk.3.attn_output_b.weight: Q5_K
112
+ blk.3.attn_q_a.weight: Q8_0
113
+ blk.3.attn_q_a_norm.weight: F32
114
+ blk.3.attn_q_b.weight: Q5_K
115
+ blk.3.attn_sinks.weight: F32
116
+ blk.3.exp_probs_b.bias: F32
117
+ blk.3.exp_probs_b_vl.bias: F32
118
+ blk.3.ffn_down_exps.weight: IQ2_XXS
119
+ blk.3.ffn_down_shexp.weight: Q5_K
120
+ blk.3.ffn_gate_exps.weight: IQ2_XXS
121
+ blk.3.ffn_gate_inp.weight: BF16
122
+ blk.3.ffn_gate_shexp.weight: Q5_K
123
+ blk.3.ffn_norm.weight: F32
124
+ blk.3.ffn_up_exps.weight: IQ2_XXS
125
+ blk.3.ffn_up_shexp.weight: Q5_K
126
+ blk.3.hc_attn_base.weight: F32
127
+ blk.3.hc_attn_fn.weight: F32
128
+ blk.3.hc_attn_scale.weight: F32
129
+ blk.3.hc_ffn_base.weight: F32
130
+ blk.3.hc_ffn_fn.weight: F32
131
+ blk.3.hc_ffn_scale.weight: F32
132
+ blk.4.attn_kv.weight: Q8_0
133
+ blk.4.attn_kv_a_norm.weight: F32
134
+ blk.4.attn_norm.weight: F32
135
+ blk.4.attn_output_a.weight: Q5_K
136
+ blk.4.attn_output_b.weight: Q5_K
137
+ blk.4.attn_q_a.weight: Q8_0
138
+ blk.4.attn_q_a_norm.weight: F32
139
+ blk.4.attn_q_b.weight: Q5_K
140
+ blk.4.attn_sinks.weight: F32
141
+ blk.4.exp_probs_b.bias: F32
142
+ blk.4.exp_probs_b_vl.bias: F32
143
+ blk.4.ffn_down_exps.weight: IQ2_XXS
144
+ blk.4.ffn_down_shexp.weight: Q5_K
145
+ blk.4.ffn_gate_exps.weight: IQ2_XXS
146
+ blk.4.ffn_gate_inp.weight: BF16
147
+ blk.4.ffn_gate_shexp.weight: Q5_K
148
+ blk.4.ffn_norm.weight: F32
149
+ blk.4.ffn_up_exps.weight: IQ2_XXS
150
+ blk.4.ffn_up_shexp.weight: Q5_K
151
+ blk.4.hc_attn_base.weight: F32
152
+ blk.4.hc_attn_fn.weight: F32
153
+ blk.4.hc_attn_scale.weight: F32
154
+ blk.4.hc_ffn_base.weight: F32
155
+ blk.4.hc_ffn_fn.weight: F32
156
+ blk.4.hc_ffn_scale.weight: F32
157
+ blk.5.attn_kv.weight: Q8_0
158
+ blk.5.attn_kv_a_norm.weight: F32
159
+ blk.5.attn_norm.weight: F32
160
+ blk.5.attn_output_a.weight: Q5_K
161
+ blk.5.attn_output_b.weight: Q5_K
162
+ blk.5.attn_q_a.weight: Q8_0
163
+ blk.5.attn_q_a_norm.weight: F32
164
+ blk.5.attn_q_b.weight: Q5_K
165
+ blk.5.attn_sinks.weight: F32
166
+ blk.5.exp_probs_b.bias: F32
167
+ blk.5.exp_probs_b_vl.bias: F32
168
+ blk.5.ffn_down_exps.weight: IQ2_XXS
169
+ blk.5.ffn_down_shexp.weight: Q5_K
170
+ blk.5.ffn_gate_exps.weight: IQ2_XXS
171
+ blk.5.ffn_gate_inp.weight: BF16
172
+ blk.5.ffn_gate_shexp.weight: Q5_K
173
+ blk.5.ffn_norm.weight: F32
174
+ blk.5.ffn_up_exps.weight: IQ2_XXS
175
+ blk.5.ffn_up_shexp.weight: Q5_K
176
+ blk.5.hc_attn_base.weight: F32
177
+ blk.5.hc_attn_fn.weight: F32
178
+ blk.5.hc_attn_scale.weight: F32
179
+ blk.5.hc_ffn_base.weight: F32
180
+ blk.5.hc_ffn_fn.weight: F32
181
+ blk.5.hc_ffn_scale.weight: F32
182
+ blk.6.attn_kv.weight: Q8_0
183
+ blk.6.attn_kv_a_norm.weight: F32
184
+ blk.6.attn_norm.weight: F32
185
+ blk.6.attn_output_a.weight: Q5_K
186
+ blk.6.attn_output_b.weight: Q5_K
187
+ blk.6.attn_q_a.weight: Q8_0
188
+ blk.6.attn_q_a_norm.weight: F32
189
+ blk.6.attn_q_b.weight: Q5_K
190
+ blk.6.attn_sinks.weight: F32
191
+ blk.6.exp_probs_b.bias: F32
192
+ blk.6.exp_probs_b_vl.bias: F32
193
+ blk.6.ffn_down_exps.weight: IQ2_XXS
194
+ blk.6.ffn_down_shexp.weight: Q5_K
195
+ blk.6.ffn_gate_exps.weight: IQ2_XXS
196
+ blk.6.ffn_gate_inp.weight: BF16
197
+ blk.6.ffn_gate_shexp.weight: Q5_K
198
+ blk.6.ffn_norm.weight: F32
199
+ blk.6.ffn_up_exps.weight: IQ2_XXS
200
+ blk.6.ffn_up_shexp.weight: Q5_K
201
+ blk.6.hc_attn_base.weight: F32
202
+ blk.6.hc_attn_fn.weight: F32
203
+ blk.6.hc_attn_scale.weight: F32
204
+ blk.6.hc_ffn_base.weight: F32
205
+ blk.6.hc_ffn_fn.weight: F32
206
+ blk.6.hc_ffn_scale.weight: F32
207
+ blk.7.attn_kv.weight: Q8_0
208
+ blk.7.attn_kv_a_norm.weight: F32
209
+ blk.7.attn_norm.weight: F32
210
+ blk.7.attn_output_a.weight: Q5_K
211
+ blk.7.attn_output_b.weight: Q5_K
212
+ blk.7.attn_q_a.weight: Q8_0
213
+ blk.7.attn_q_a_norm.weight: F32
214
+ blk.7.attn_q_b.weight: Q5_K
215
+ blk.7.attn_sinks.weight: F32
216
+ blk.7.exp_probs_b.bias: F32
217
+ blk.7.exp_probs_b_vl.bias: F32
218
+ blk.7.ffn_down_exps.weight: IQ2_XXS
219
+ blk.7.ffn_down_shexp.weight: Q5_K
220
+ blk.7.ffn_gate_exps.weight: IQ2_XXS
221
+ blk.7.ffn_gate_inp.weight: BF16
222
+ blk.7.ffn_gate_shexp.weight: Q5_K
223
+ blk.7.ffn_norm.weight: F32
224
+ blk.7.ffn_up_exps.weight: IQ2_XXS
225
+ blk.7.ffn_up_shexp.weight: Q5_K
226
+ blk.7.hc_attn_base.weight: F32
227
+ blk.7.hc_attn_fn.weight: F32
228
+ blk.7.hc_attn_scale.weight: F32
229
+ blk.7.hc_ffn_base.weight: F32
230
+ blk.7.hc_ffn_fn.weight: F32
231
+ blk.7.hc_ffn_scale.weight: F32
232
+ blk.8.attn_compressor_gate.weight: BF16
233
+ blk.8.attn_compressor_kv.weight: BF16
234
+ blk.8.attn_compressor_norm.weight: F32
235
+ blk.8.attn_kv.weight: Q8_0
236
+ blk.8.attn_kv_a_norm.weight: F32
237
+ blk.8.attn_norm.weight: F32
238
+ blk.8.attn_output_a.weight: Q5_K
239
+ blk.8.attn_output_b.weight: Q5_K
240
+ blk.8.attn_q_a.weight: Q8_0
241
+ blk.8.attn_q_a_norm.weight: F32
242
+ blk.8.attn_q_b.weight: Q5_K
243
+ blk.8.attn_sinks.weight: F32
244
+ blk.8.exp_probs_b.bias: F32
245
+ blk.8.exp_probs_b_vl.bias: F32
246
+ blk.8.ffn_down_exps.weight: IQ2_S
247
+ blk.8.ffn_down_shexp.weight: Q5_K
248
+ blk.8.ffn_gate_exps.weight: IQ2_XXS
249
+ blk.8.ffn_gate_inp.weight: BF16
250
+ blk.8.ffn_gate_shexp.weight: Q5_K
251
+ blk.8.ffn_norm.weight: F32
252
+ blk.8.ffn_up_exps.weight: IQ2_XXS
253
+ blk.8.ffn_up_shexp.weight: Q5_K
254
+ blk.8.hc_attn_base.weight: F32
255
+ blk.8.hc_attn_fn.weight: F32
256
+ blk.8.hc_attn_scale.weight: F32
257
+ blk.8.hc_ffn_base.weight: F32
258
+ blk.8.hc_ffn_fn.weight: F32
259
+ blk.8.hc_ffn_scale.weight: F32
260
+ blk.8.indexer.attn_k.weight: BF16
261
+ blk.8.indexer.attn_q_b.weight: BF16
262
+ blk.8.indexer.k_norm.weight: F32
263
+ blk.8.indexer.proj.weight: BF16
264
+ blk.9.attn_kv.weight: Q8_0
265
+ blk.9.attn_kv_a_norm.weight: F32
266
+ blk.9.attn_norm.weight: F32
267
+ blk.9.attn_output_a.weight: Q5_K
268
+ blk.9.attn_output_b.weight: Q5_K
269
+ blk.9.attn_q_a.weight: Q8_0
270
+ blk.9.attn_q_a_norm.weight: F32
271
+ blk.9.attn_q_b.weight: Q5_K
272
+ blk.9.attn_sinks.weight: F32
273
+ blk.9.exp_probs_b.bias: F32
274
+ blk.9.exp_probs_b_vl.bias: F32
275
+ blk.9.ffn_down_exps.weight: IQ2_XS
276
+ blk.9.ffn_down_shexp.weight: Q5_K
277
+ blk.9.ffn_gate_exps.weight: IQ2_XS
278
+ blk.9.ffn_gate_inp.weight: BF16
279
+ blk.9.ffn_gate_shexp.weight: Q5_K
280
+ blk.9.ffn_norm.weight: F32
281
+ blk.9.ffn_up_exps.weight: IQ2_XS
282
+ blk.9.ffn_up_shexp.weight: Q5_K
283
+ blk.9.hc_attn_base.weight: F32
284
+ blk.9.hc_attn_fn.weight: F32
285
+ blk.9.hc_attn_scale.weight: F32
286
+ blk.9.hc_ffn_base.weight: F32
287
+ blk.9.hc_ffn_fn.weight: F32
288
+ blk.9.hc_ffn_scale.weight: F32
289
+ blk.10.attn_kv.weight: Q8_0
290
+ blk.10.attn_kv_a_norm.weight: F32
291
+ blk.10.attn_norm.weight: F32
292
+ blk.10.attn_output_a.weight: Q5_K
293
+ blk.10.attn_output_b.weight: Q5_K
294
+ blk.10.attn_q_a.weight: Q8_0
295
+ blk.10.attn_q_a_norm.weight: F32
296
+ blk.10.attn_q_b.weight: Q5_K
297
+ blk.10.attn_sinks.weight: F32
298
+ blk.10.exp_probs_b.bias: F32
299
+ blk.10.exp_probs_b_vl.bias: F32
300
+ blk.10.ffn_down_exps.weight: IQ2_S
301
+ blk.10.ffn_down_shexp.weight: Q5_K
302
+ blk.10.ffn_gate_exps.weight: IQ2_XXS
303
+ blk.10.ffn_gate_inp.weight: BF16
304
+ blk.10.ffn_gate_shexp.weight: Q5_K
305
+ blk.10.ffn_norm.weight: F32
306
+ blk.10.ffn_up_exps.weight: IQ2_XXS
307
+ blk.10.ffn_up_shexp.weight: Q5_K
308
+ blk.10.hc_attn_base.weight: F32
309
+ blk.10.hc_attn_fn.weight: F32
310
+ blk.10.hc_attn_scale.weight: F32
311
+ blk.10.hc_ffn_base.weight: F32
312
+ blk.10.hc_ffn_fn.weight: F32
313
+ blk.10.hc_ffn_scale.weight: F32
314
+ blk.11.attn_kv.weight: Q8_0
315
+ blk.11.attn_kv_a_norm.weight: F32
316
+ blk.11.attn_norm.weight: F32
317
+ blk.11.attn_output_a.weight: Q5_K
318
+ blk.11.attn_output_b.weight: Q5_K
319
+ blk.11.attn_q_a.weight: Q8_0
320
+ blk.11.attn_q_a_norm.weight: F32
321
+ blk.11.attn_q_b.weight: Q5_K
322
+ blk.11.attn_sinks.weight: F32
323
+ blk.11.exp_probs_b.bias: F32
324
+ blk.11.exp_probs_b_vl.bias: F32
325
+ blk.11.ffn_down_exps.weight: IQ2_XS
326
+ blk.11.ffn_down_shexp.weight: Q5_K
327
+ blk.11.ffn_gate_exps.weight: IQ2_XXS
328
+ blk.11.ffn_gate_inp.weight: BF16
329
+ blk.11.ffn_gate_shexp.weight: Q5_K
330
+ blk.11.ffn_norm.weight: F32
331
+ blk.11.ffn_up_exps.weight: IQ2_XXS
332
+ blk.11.ffn_up_shexp.weight: Q5_K
333
+ blk.11.hc_attn_base.weight: F32
334
+ blk.11.hc_attn_fn.weight: F32
335
+ blk.11.hc_attn_scale.weight: F32
336
+ blk.11.hc_ffn_base.weight: F32
337
+ blk.11.hc_ffn_fn.weight: F32
338
+ blk.11.hc_ffn_scale.weight: F32
339
+ blk.12.attn_kv.weight: Q8_0
340
+ blk.12.attn_kv_a_norm.weight: F32
341
+ blk.12.attn_norm.weight: F32
342
+ blk.12.attn_output_a.weight: Q5_K
343
+ blk.12.attn_output_b.weight: Q5_K
344
+ blk.12.attn_q_a.weight: Q8_0
345
+ blk.12.attn_q_a_norm.weight: F32
346
+ blk.12.attn_q_b.weight: Q5_K
347
+ blk.12.attn_sinks.weight: F32
348
+ blk.12.exp_probs_b.bias: F32
349
+ blk.12.exp_probs_b_vl.bias: F32
350
+ blk.12.ffn_down_exps.weight: IQ2_XS
351
+ blk.12.ffn_down_shexp.weight: Q5_K
352
+ blk.12.ffn_gate_exps.weight: IQ2_XS
353
+ blk.12.ffn_gate_inp.weight: BF16
354
+ blk.12.ffn_gate_shexp.weight: Q5_K
355
+ blk.12.ffn_norm.weight: F32
356
+ blk.12.ffn_up_exps.weight: IQ2_XS
357
+ blk.12.ffn_up_shexp.weight: Q5_K
358
+ blk.12.hc_attn_base.weight: F32
359
+ blk.12.hc_attn_fn.weight: F32
360
+ blk.12.hc_attn_scale.weight: F32
361
+ blk.12.hc_ffn_base.weight: F32
362
+ blk.12.hc_ffn_fn.weight: F32
363
+ blk.12.hc_ffn_scale.weight: F32
364
+ blk.13.attn_kv.weight: Q8_0
365
+ blk.13.attn_kv_a_norm.weight: F32
366
+ blk.13.attn_norm.weight: F32
367
+ blk.13.attn_output_a.weight: Q5_K
368
+ blk.13.attn_output_b.weight: Q5_K
369
+ blk.13.attn_q_a.weight: Q8_0
370
+ blk.13.attn_q_a_norm.weight: F32
371
+ blk.13.attn_q_b.weight: Q5_K
372
+ blk.13.attn_sinks.weight: F32
373
+ blk.13.exp_probs_b.bias: F32
374
+ blk.13.exp_probs_b_vl.bias: F32
375
+ blk.13.ffn_down_exps.weight: IQ2_XXS
376
+ blk.13.ffn_down_shexp.weight: Q5_K
377
+ blk.13.ffn_gate_exps.weight: IQ2_XXS
378
+ blk.13.ffn_gate_inp.weight: BF16
379
+ blk.13.ffn_gate_shexp.weight: Q5_K
380
+ blk.13.ffn_norm.weight: F32
381
+ blk.13.ffn_up_exps.weight: IQ2_XXS
382
+ blk.13.ffn_up_shexp.weight: Q5_K
383
+ blk.13.hc_attn_base.weight: F32
384
+ blk.13.hc_attn_fn.weight: F32
385
+ blk.13.hc_attn_scale.weight: F32
386
+ blk.13.hc_ffn_base.weight: F32
387
+ blk.13.hc_ffn_fn.weight: F32
388
+ blk.13.hc_ffn_scale.weight: F32
389
+ blk.14.attn_compressor_gate.weight: BF16
390
+ blk.14.attn_compressor_kv.weight: BF16
391
+ blk.14.attn_compressor_norm.weight: F32
392
+ blk.14.attn_kv.weight: Q8_0
393
+ blk.14.attn_kv_a_norm.weight: F32
394
+ blk.14.attn_norm.weight: F32
395
+ blk.14.attn_output_a.weight: Q5_K
396
+ blk.14.attn_output_b.weight: Q5_K
397
+ blk.14.attn_q_a.weight: Q8_0
398
+ blk.14.attn_q_a_norm.weight: F32
399
+ blk.14.attn_q_b.weight: Q5_K
400
+ blk.14.attn_sinks.weight: F32
401
+ blk.14.engram_gate.weight: F32
402
+ blk.14.engram_kv.weight: Q5_K
403
+ blk.14.exp_probs_b.bias: F32
404
+ blk.14.exp_probs_b_vl.bias: F32
405
+ blk.14.ffn_down_exps.weight: IQ2_XS
406
+ blk.14.ffn_down_shexp.weight: Q5_K
407
+ blk.14.ffn_gate_exps.weight: IQ2_XXS
408
+ blk.14.ffn_gate_inp.weight: BF16
409
+ blk.14.ffn_gate_shexp.weight: Q5_K
410
+ blk.14.ffn_norm.weight: F32
411
+ blk.14.ffn_up_exps.weight: IQ2_XXS
412
+ blk.14.ffn_up_shexp.weight: Q5_K
413
+ blk.14.hc_attn_base.weight: F32
414
+ blk.14.hc_attn_fn.weight: F32
415
+ blk.14.hc_attn_scale.weight: F32
416
+ blk.14.hc_ffn_base.weight: F32
417
+ blk.14.hc_ffn_fn.weight: F32
418
+ blk.14.hc_ffn_scale.weight: F32
419
+ blk.14.indexer.attn_k.weight: BF16
420
+ blk.14.indexer.attn_q_b.weight: BF16
421
+ blk.14.indexer.k_norm.weight: F32
422
+ blk.14.indexer.proj.weight: BF16
423
+ blk.15.attn_kv.weight: Q8_0
424
+ blk.15.attn_kv_a_norm.weight: F32
425
+ blk.15.attn_norm.weight: F32
426
+ blk.15.attn_output_a.weight: Q5_K
427
+ blk.15.attn_output_b.weight: Q5_K
428
+ blk.15.attn_q_a.weight: Q8_0
429
+ blk.15.attn_q_a_norm.weight: F32
430
+ blk.15.attn_q_b.weight: Q5_K
431
+ blk.15.attn_sinks.weight: F32
432
+ blk.15.exp_probs_b.bias: F32
433
+ blk.15.exp_probs_b_vl.bias: F32
434
+ blk.15.ffn_down_exps.weight: IQ2_XXS
435
+ blk.15.ffn_down_shexp.weight: Q5_K
436
+ blk.15.ffn_gate_exps.weight: IQ2_XXS
437
+ blk.15.ffn_gate_inp.weight: BF16
438
+ blk.15.ffn_gate_shexp.weight: Q5_K
439
+ blk.15.ffn_norm.weight: F32
440
+ blk.15.ffn_up_exps.weight: IQ2_XXS
441
+ blk.15.ffn_up_shexp.weight: Q5_K
442
+ blk.15.hc_attn_base.weight: F32
443
+ blk.15.hc_attn_fn.weight: F32
444
+ blk.15.hc_attn_scale.weight: F32
445
+ blk.15.hc_ffn_base.weight: F32
446
+ blk.15.hc_ffn_fn.weight: F32
447
+ blk.15.hc_ffn_scale.weight: F32
448
+ blk.16.attn_kv.weight: Q8_0
449
+ blk.16.attn_kv_a_norm.weight: F32
450
+ blk.16.attn_norm.weight: F32
451
+ blk.16.attn_output_a.weight: Q5_K
452
+ blk.16.attn_output_b.weight: Q5_K
453
+ blk.16.attn_q_a.weight: Q8_0
454
+ blk.16.attn_q_a_norm.weight: F32
455
+ blk.16.attn_q_b.weight: Q5_K
456
+ blk.16.attn_sinks.weight: F32
457
+ blk.16.exp_probs_b.bias: F32
458
+ blk.16.exp_probs_b_vl.bias: F32
459
+ blk.16.ffn_down_exps.weight: IQ2_S
460
+ blk.16.ffn_down_shexp.weight: Q5_K
461
+ blk.16.ffn_gate_exps.weight: IQ2_XXS
462
+ blk.16.ffn_gate_inp.weight: BF16
463
+ blk.16.ffn_gate_shexp.weight: Q5_K
464
+ blk.16.ffn_norm.weight: F32
465
+ blk.16.ffn_up_exps.weight: IQ2_XXS
466
+ blk.16.ffn_up_shexp.weight: Q5_K
467
+ blk.16.hc_attn_base.weight: F32
468
+ blk.16.hc_attn_fn.weight: F32
469
+ blk.16.hc_attn_scale.weight: F32
470
+ blk.16.hc_ffn_base.weight: F32
471
+ blk.16.hc_ffn_fn.weight: F32
472
+ blk.16.hc_ffn_scale.weight: F32
473
+ blk.17.attn_kv.weight: Q8_0
474
+ blk.17.attn_kv_a_norm.weight: F32
475
+ blk.17.attn_norm.weight: F32
476
+ blk.17.attn_output_a.weight: Q5_K
477
+ blk.17.attn_output_b.weight: Q5_K
478
+ blk.17.attn_q_a.weight: Q8_0
479
+ blk.17.attn_q_a_norm.weight: F32
480
+ blk.17.attn_q_b.weight: Q5_K
481
+ blk.17.attn_sinks.weight: F32
482
+ blk.17.exp_probs_b.bias: F32
483
+ blk.17.exp_probs_b_vl.bias: F32
484
+ blk.17.ffn_down_exps.weight: IQ2_XS
485
+ blk.17.ffn_down_shexp.weight: Q5_K
486
+ blk.17.ffn_gate_exps.weight: IQ2_S
487
+ blk.17.ffn_gate_inp.weight: BF16
488
+ blk.17.ffn_gate_shexp.weight: Q5_K
489
+ blk.17.ffn_norm.weight: F32
490
+ blk.17.ffn_up_exps.weight: IQ2_S
491
+ blk.17.ffn_up_shexp.weight: Q5_K
492
+ blk.17.hc_attn_base.weight: F32
493
+ blk.17.hc_attn_fn.weight: F32
494
+ blk.17.hc_attn_scale.weight: F32
495
+ blk.17.hc_ffn_base.weight: F32
496
+ blk.17.hc_ffn_fn.weight: F32
497
+ blk.17.hc_ffn_scale.weight: F32
498
+ blk.18.attn_kv.weight: Q8_0
499
+ blk.18.attn_kv_a_norm.weight: F32
500
+ blk.18.attn_norm.weight: F32
501
+ blk.18.attn_output_a.weight: Q5_K
502
+ blk.18.attn_output_b.weight: Q5_K
503
+ blk.18.attn_q_a.weight: Q8_0
504
+ blk.18.attn_q_a_norm.weight: F32
505
+ blk.18.attn_q_b.weight: Q5_K
506
+ blk.18.attn_sinks.weight: F32
507
+ blk.18.exp_probs_b.bias: F32
508
+ blk.18.exp_probs_b_vl.bias: F32
509
+ blk.18.ffn_down_exps.weight: IQ2_XS
510
+ blk.18.ffn_down_shexp.weight: Q5_K
511
+ blk.18.ffn_gate_exps.weight: IQ2_XXS
512
+ blk.18.ffn_gate_inp.weight: BF16
513
+ blk.18.ffn_gate_shexp.weight: Q5_K
514
+ blk.18.ffn_norm.weight: F32
515
+ blk.18.ffn_up_exps.weight: IQ2_XXS
516
+ blk.18.ffn_up_shexp.weight: Q5_K
517
+ blk.18.hc_attn_base.weight: F32
518
+ blk.18.hc_attn_fn.weight: F32
519
+ blk.18.hc_attn_scale.weight: F32
520
+ blk.18.hc_ffn_base.weight: F32
521
+ blk.18.hc_ffn_fn.weight: F32
522
+ blk.18.hc_ffn_scale.weight: F32
523
+ blk.19.attn_kv.weight: Q8_0
524
+ blk.19.attn_kv_a_norm.weight: F32
525
+ blk.19.attn_norm.weight: F32
526
+ blk.19.attn_output_a.weight: Q5_K
527
+ blk.19.attn_output_b.weight: Q5_K
528
+ blk.19.attn_q_a.weight: Q8_0
529
+ blk.19.attn_q_a_norm.weight: F32
530
+ blk.19.attn_q_b.weight: Q5_K
531
+ blk.19.attn_sinks.weight: F32
532
+ blk.19.exp_probs_b.bias: F32
533
+ blk.19.exp_probs_b_vl.bias: F32
534
+ blk.19.ffn_down_exps.weight: IQ2_XXS
535
+ blk.19.ffn_down_shexp.weight: Q5_K
536
+ blk.19.ffn_gate_exps.weight: IQ2_XXS
537
+ blk.19.ffn_gate_inp.weight: BF16
538
+ blk.19.ffn_gate_shexp.weight: Q5_K
539
+ blk.19.ffn_norm.weight: F32
540
+ blk.19.ffn_up_exps.weight: IQ2_XXS
541
+ blk.19.ffn_up_shexp.weight: Q5_K
542
+ blk.19.hc_attn_base.weight: F32
543
+ blk.19.hc_attn_fn.weight: F32
544
+ blk.19.hc_attn_scale.weight: F32
545
+ blk.19.hc_ffn_base.weight: F32
546
+ blk.19.hc_ffn_fn.weight: F32
547
+ blk.19.hc_ffn_scale.weight: F32
548
+ blk.20.attn_compressor_kv.weight: BF16
549
+ blk.20.attn_compressor_norm.weight: F32
550
+ blk.20.attn_kv.weight: Q8_0
551
+ blk.20.attn_kv_a_norm.weight: F32
552
+ blk.20.attn_norm.weight: F32
553
+ blk.20.attn_output_a.weight: Q5_K
554
+ blk.20.attn_output_b.weight: Q5_K
555
+ blk.20.attn_q_a.weight: Q8_0
556
+ blk.20.attn_q_a_norm.weight: F32
557
+ blk.20.attn_q_b.weight: Q5_K
558
+ blk.20.attn_sinks.weight: F32
559
+ blk.20.exp_probs_b.bias: F32
560
+ blk.20.exp_probs_b_vl.bias: F32
561
+ blk.20.ffn_down_exps.weight: IQ2_XXS
562
+ blk.20.ffn_down_shexp.weight: Q5_K
563
+ blk.20.ffn_gate_exps.weight: IQ2_XXS
564
+ blk.20.ffn_gate_inp.weight: BF16
565
+ blk.20.ffn_gate_shexp.weight: Q5_K
566
+ blk.20.ffn_norm.weight: F32
567
+ blk.20.ffn_up_exps.weight: IQ2_XXS
568
+ blk.20.ffn_up_shexp.weight: Q5_K
569
+ blk.20.hc_attn_base.weight: F32
570
+ blk.20.hc_attn_fn.weight: F32
571
+ blk.20.hc_attn_scale.weight: F32
572
+ blk.20.hc_ffn_base.weight: F32
573
+ blk.20.hc_ffn_fn.weight: F32
574
+ blk.20.hc_ffn_scale.weight: F32
575
+ blk.20.indexer.attn_k.weight: BF16
576
+ blk.20.indexer.attn_q_b.weight: BF16
577
+ blk.20.indexer.k_norm.weight: F32
578
+ blk.20.indexer.proj.weight: BF16
579
+ blk.21.attn_kv.weight: Q8_0
580
+ blk.21.attn_kv_a_norm.weight: F32
581
+ blk.21.attn_norm.weight: F32
582
+ blk.21.attn_output_a.weight: Q5_K
583
+ blk.21.attn_output_b.weight: Q5_K
584
+ blk.21.attn_q_a.weight: Q8_0
585
+ blk.21.attn_q_a_norm.weight: F32
586
+ blk.21.attn_q_b.weight: Q5_K
587
+ blk.21.attn_sinks.weight: F32
588
+ blk.21.exp_probs_b.bias: F32
589
+ blk.21.exp_probs_b_vl.bias: F32
590
+ blk.21.ffn_down_exps.weight: IQ2_S
591
+ blk.21.ffn_down_shexp.weight: Q5_K
592
+ blk.21.ffn_gate_exps.weight: IQ2_XXS
593
+ blk.21.ffn_gate_inp.weight: BF16
594
+ blk.21.ffn_gate_shexp.weight: Q5_K
595
+ blk.21.ffn_norm.weight: F32
596
+ blk.21.ffn_up_exps.weight: IQ2_XXS
597
+ blk.21.ffn_up_shexp.weight: Q5_K
598
+ blk.21.hc_attn_base.weight: F32
599
+ blk.21.hc_attn_fn.weight: F32
600
+ blk.21.hc_attn_scale.weight: F32
601
+ blk.21.hc_ffn_base.weight: F32
602
+ blk.21.hc_ffn_fn.weight: F32
603
+ blk.21.hc_ffn_scale.weight: F32
604
+ blk.22.attn_kv.weight: Q8_0
605
+ blk.22.attn_kv_a_norm.weight: F32
606
+ blk.22.attn_norm.weight: F32
607
+ blk.22.attn_output_a.weight: Q5_K
608
+ blk.22.attn_output_b.weight: Q5_K
609
+ blk.22.attn_q_a.weight: Q8_0
610
+ blk.22.attn_q_a_norm.weight: F32
611
+ blk.22.attn_q_b.weight: Q5_K
612
+ blk.22.attn_sinks.weight: F32
613
+ blk.22.exp_probs_b.bias: F32
614
+ blk.22.exp_probs_b_vl.bias: F32
615
+ blk.22.ffn_down_exps.weight: IQ2_S
616
+ blk.22.ffn_down_shexp.weight: Q5_K
617
+ blk.22.ffn_gate_exps.weight: IQ2_XXS
618
+ blk.22.ffn_gate_inp.weight: BF16
619
+ blk.22.ffn_gate_shexp.weight: Q5_K
620
+ blk.22.ffn_norm.weight: F32
621
+ blk.22.ffn_up_exps.weight: IQ2_XXS
622
+ blk.22.ffn_up_shexp.weight: Q5_K
623
+ blk.22.hc_attn_base.weight: F32
624
+ blk.22.hc_attn_fn.weight: F32
625
+ blk.22.hc_attn_scale.weight: F32
626
+ blk.22.hc_ffn_base.weight: F32
627
+ blk.22.hc_ffn_fn.weight: F32
628
+ blk.22.hc_ffn_scale.weight: F32
629
+ blk.23.attn_kv.weight: Q8_0
630
+ blk.23.attn_kv_a_norm.weight: F32
631
+ blk.23.attn_norm.weight: F32
632
+ blk.23.attn_output_a.weight: Q5_K
633
+ blk.23.attn_output_b.weight: Q5_K
634
+ blk.23.attn_q_a.weight: Q8_0
635
+ blk.23.attn_q_a_norm.weight: F32
636
+ blk.23.attn_q_b.weight: Q5_K
637
+ blk.23.attn_sinks.weight: F32
638
+ blk.23.exp_probs_b.bias: F32
639
+ blk.23.exp_probs_b_vl.bias: F32
640
+ blk.23.ffn_down_exps.weight: IQ3_XXS
641
+ blk.23.ffn_down_shexp.weight: Q5_K
642
+ blk.23.ffn_gate_exps.weight: IQ2_XS
643
+ blk.23.ffn_gate_inp.weight: BF16
644
+ blk.23.ffn_gate_shexp.weight: Q5_K
645
+ blk.23.ffn_norm.weight: F32
646
+ blk.23.ffn_up_exps.weight: IQ2_XS
647
+ blk.23.ffn_up_shexp.weight: Q5_K
648
+ blk.23.hc_attn_base.weight: F32
649
+ blk.23.hc_attn_fn.weight: F32
650
+ blk.23.hc_attn_scale.weight: F32
651
+ blk.23.hc_ffn_base.weight: F32
652
+ blk.23.hc_ffn_fn.weight: F32
653
+ blk.23.hc_ffn_scale.weight: F32
654
+ blk.24.attn_kv.weight: Q8_0
655
+ blk.24.attn_kv_a_norm.weight: F32
656
+ blk.24.attn_norm.weight: F32
657
+ blk.24.attn_output_a.weight: Q5_K
658
+ blk.24.attn_output_b.weight: Q5_K
659
+ blk.24.attn_q_a.weight: Q8_0
660
+ blk.24.attn_q_a_norm.weight: F32
661
+ blk.24.attn_q_b.weight: Q5_K
662
+ blk.24.attn_sinks.weight: F32
663
+ blk.24.exp_probs_b.bias: F32
664
+ blk.24.exp_probs_b_vl.bias: F32
665
+ blk.24.ffn_down_exps.weight: IQ2_S
666
+ blk.24.ffn_down_shexp.weight: Q5_K
667
+ blk.24.ffn_gate_exps.weight: IQ2_XS
668
+ blk.24.ffn_gate_inp.weight: BF16
669
+ blk.24.ffn_gate_shexp.weight: Q5_K
670
+ blk.24.ffn_norm.weight: F32
671
+ blk.24.ffn_up_exps.weight: IQ2_XS
672
+ blk.24.ffn_up_shexp.weight: Q5_K
673
+ blk.24.hc_attn_base.weight: F32
674
+ blk.24.hc_attn_fn.weight: F32
675
+ blk.24.hc_attn_scale.weight: F32
676
+ blk.24.hc_ffn_base.weight: F32
677
+ blk.24.hc_ffn_fn.weight: F32
678
+ blk.24.hc_ffn_scale.weight: F32
679
+ blk.24.indexer.attn_q_b.weight: BF16
680
+ blk.24.indexer.proj.weight: BF16
681
+ blk.25.attn_kv.weight: Q8_0
682
+ blk.25.attn_kv_a_norm.weight: F32
683
+ blk.25.attn_norm.weight: F32
684
+ blk.25.attn_output_a.weight: Q5_K
685
+ blk.25.attn_output_b.weight: Q5_K
686
+ blk.25.attn_q_a.weight: Q8_0
687
+ blk.25.attn_q_a_norm.weight: F32
688
+ blk.25.attn_q_b.weight: Q5_K
689
+ blk.25.attn_sinks.weight: F32
690
+ blk.25.exp_probs_b.bias: F32
691
+ blk.25.exp_probs_b_vl.bias: F32
692
+ blk.25.ffn_down_exps.weight: IQ2_S
693
+ blk.25.ffn_down_shexp.weight: Q5_K
694
+ blk.25.ffn_gate_exps.weight: IQ2_S
695
+ blk.25.ffn_gate_inp.weight: BF16
696
+ blk.25.ffn_gate_shexp.weight: Q5_K
697
+ blk.25.ffn_norm.weight: F32
698
+ blk.25.ffn_up_exps.weight: IQ2_S
699
+ blk.25.ffn_up_shexp.weight: Q5_K
700
+ blk.25.hc_attn_base.weight: F32
701
+ blk.25.hc_attn_fn.weight: F32
702
+ blk.25.hc_attn_scale.weight: F32
703
+ blk.25.hc_ffn_base.weight: F32
704
+ blk.25.hc_ffn_fn.weight: F32
705
+ blk.25.hc_ffn_scale.weight: F32
706
+ blk.26.attn_kv.weight: Q8_0
707
+ blk.26.attn_kv_a_norm.weight: F32
708
+ blk.26.attn_norm.weight: F32
709
+ blk.26.attn_output_a.weight: Q5_K
710
+ blk.26.attn_output_b.weight: Q5_K
711
+ blk.26.attn_q_a.weight: Q8_0
712
+ blk.26.attn_q_a_norm.weight: F32
713
+ blk.26.attn_q_b.weight: Q5_K
714
+ blk.26.attn_sinks.weight: F32
715
+ blk.26.exp_probs_b.bias: F32
716
+ blk.26.exp_probs_b_vl.bias: F32
717
+ blk.26.ffn_down_exps.weight: IQ2_XS
718
+ blk.26.ffn_down_shexp.weight: Q5_K
719
+ blk.26.ffn_gate_exps.weight: IQ2_XS
720
+ blk.26.ffn_gate_inp.weight: BF16
721
+ blk.26.ffn_gate_shexp.weight: Q5_K
722
+ blk.26.ffn_norm.weight: F32
723
+ blk.26.ffn_up_exps.weight: IQ2_XS
724
+ blk.26.ffn_up_shexp.weight: Q5_K
725
+ blk.26.hc_attn_base.weight: F32
726
+ blk.26.hc_attn_fn.weight: F32
727
+ blk.26.hc_attn_scale.weight: F32
728
+ blk.26.hc_ffn_base.weight: F32
729
+ blk.26.hc_ffn_fn.weight: F32
730
+ blk.26.hc_ffn_scale.weight: F32
731
+ blk.27.attn_kv.weight: Q8_0
732
+ blk.27.attn_kv_a_norm.weight: F32
733
+ blk.27.attn_norm.weight: F32
734
+ blk.27.attn_output_a.weight: Q5_K
735
+ blk.27.attn_output_b.weight: Q5_K
736
+ blk.27.attn_q_a.weight: Q8_0
737
+ blk.27.attn_q_a_norm.weight: F32
738
+ blk.27.attn_q_b.weight: Q5_K
739
+ blk.27.attn_sinks.weight: F32
740
+ blk.27.exp_probs_b.bias: F32
741
+ blk.27.exp_probs_b_vl.bias: F32
742
+ blk.27.ffn_down_exps.weight: IQ2_XS
743
+ blk.27.ffn_down_shexp.weight: Q5_K
744
+ blk.27.ffn_gate_exps.weight: IQ2_XS
745
+ blk.27.ffn_gate_inp.weight: BF16
746
+ blk.27.ffn_gate_shexp.weight: Q5_K
747
+ blk.27.ffn_norm.weight: F32
748
+ blk.27.ffn_up_exps.weight: IQ2_XS
749
+ blk.27.ffn_up_shexp.weight: Q5_K
750
+ blk.27.hc_attn_base.weight: F32
751
+ blk.27.hc_attn_fn.weight: F32
752
+ blk.27.hc_attn_scale.weight: F32
753
+ blk.27.hc_ffn_base.weight: F32
754
+ blk.27.hc_ffn_fn.weight: F32
755
+ blk.27.hc_ffn_scale.weight: F32
756
+ blk.28.attn_kv.weight: Q8_0
757
+ blk.28.attn_kv_a_norm.weight: F32
758
+ blk.28.attn_norm.weight: F32
759
+ blk.28.attn_output_a.weight: Q5_K
760
+ blk.28.attn_output_b.weight: Q5_K
761
+ blk.28.attn_q_a.weight: Q8_0
762
+ blk.28.attn_q_a_norm.weight: F32
763
+ blk.28.attn_q_b.weight: Q5_K
764
+ blk.28.attn_sinks.weight: F32
765
+ blk.28.exp_probs_b.bias: F32
766
+ blk.28.exp_probs_b_vl.bias: F32
767
+ blk.28.ffn_down_exps.weight: IQ2_XS
768
+ blk.28.ffn_down_shexp.weight: Q5_K
769
+ blk.28.ffn_gate_exps.weight: IQ2_XXS
770
+ blk.28.ffn_gate_inp.weight: BF16
771
+ blk.28.ffn_gate_shexp.weight: Q5_K
772
+ blk.28.ffn_norm.weight: F32
773
+ blk.28.ffn_up_exps.weight: IQ2_XXS
774
+ blk.28.ffn_up_shexp.weight: Q5_K
775
+ blk.28.hc_attn_base.weight: F32
776
+ blk.28.hc_attn_fn.weight: F32
777
+ blk.28.hc_attn_scale.weight: F32
778
+ blk.28.hc_ffn_base.weight: F32
779
+ blk.28.hc_ffn_fn.weight: F32
780
+ blk.28.hc_ffn_scale.weight: F32
781
+ blk.28.indexer.attn_q_b.weight: BF16
782
+ blk.28.indexer.proj.weight: BF16
783
+ blk.29.attn_kv.weight: Q8_0
784
+ blk.29.attn_kv_a_norm.weight: F32
785
+ blk.29.attn_norm.weight: F32
786
+ blk.29.attn_output_a.weight: Q5_K
787
+ blk.29.attn_output_b.weight: Q5_K
788
+ blk.29.attn_q_a.weight: Q8_0
789
+ blk.29.attn_q_a_norm.weight: F32
790
+ blk.29.attn_q_b.weight: Q5_K
791
+ blk.29.attn_sinks.weight: F32
792
+ blk.29.exp_probs_b.bias: F32
793
+ blk.29.exp_probs_b_vl.bias: F32
794
+ blk.29.ffn_down_exps.weight: IQ2_XS
795
+ blk.29.ffn_down_shexp.weight: Q5_K
796
+ blk.29.ffn_gate_exps.weight: IQ2_XXS
797
+ blk.29.ffn_gate_inp.weight: BF16
798
+ blk.29.ffn_gate_shexp.weight: Q5_K
799
+ blk.29.ffn_norm.weight: F32
800
+ blk.29.ffn_up_exps.weight: IQ2_XXS
801
+ blk.29.ffn_up_shexp.weight: Q5_K
802
+ blk.29.hc_attn_base.weight: F32
803
+ blk.29.hc_attn_fn.weight: F32
804
+ blk.29.hc_attn_scale.weight: F32
805
+ blk.29.hc_ffn_base.weight: F32
806
+ blk.29.hc_ffn_fn.weight: F32
807
+ blk.29.hc_ffn_scale.weight: F32
808
+ blk.30.attn_kv.weight: Q8_0
809
+ blk.30.attn_kv_a_norm.weight: F32
810
+ blk.30.attn_norm.weight: F32
811
+ blk.30.attn_output_a.weight: Q5_K
812
+ blk.30.attn_output_b.weight: Q5_K
813
+ blk.30.attn_q_a.weight: Q8_0
814
+ blk.30.attn_q_a_norm.weight: F32
815
+ blk.30.attn_q_b.weight: Q5_K
816
+ blk.30.attn_sinks.weight: F32
817
+ blk.30.exp_probs_b.bias: F32
818
+ blk.30.exp_probs_b_vl.bias: F32
819
+ blk.30.ffn_down_exps.weight: IQ2_XXS
820
+ blk.30.ffn_down_shexp.weight: Q5_K
821
+ blk.30.ffn_gate_exps.weight: IQ2_S
822
+ blk.30.ffn_gate_inp.weight: BF16
823
+ blk.30.ffn_gate_shexp.weight: Q5_K
824
+ blk.30.ffn_norm.weight: F32
825
+ blk.30.ffn_up_exps.weight: IQ2_S
826
+ blk.30.ffn_up_shexp.weight: Q5_K
827
+ blk.30.hc_attn_base.weight: F32
828
+ blk.30.hc_attn_fn.weight: F32
829
+ blk.30.hc_attn_scale.weight: F32
830
+ blk.30.hc_ffn_base.weight: F32
831
+ blk.30.hc_ffn_fn.weight: F32
832
+ blk.30.hc_ffn_scale.weight: F32
833
+ blk.31.attn_kv.weight: Q8_0
834
+ blk.31.attn_kv_a_norm.weight: F32
835
+ blk.31.attn_norm.weight: F32
836
+ blk.31.attn_output_a.weight: Q5_K
837
+ blk.31.attn_output_b.weight: Q5_K
838
+ blk.31.attn_q_a.weight: Q8_0
839
+ blk.31.attn_q_a_norm.weight: F32
840
+ blk.31.attn_q_b.weight: Q5_K
841
+ blk.31.attn_sinks.weight: F32
842
+ blk.31.exp_probs_b.bias: F32
843
+ blk.31.exp_probs_b_vl.bias: F32
844
+ blk.31.ffn_down_exps.weight: IQ2_XXS
845
+ blk.31.ffn_down_shexp.weight: Q5_K
846
+ blk.31.ffn_gate_exps.weight: IQ2_XS
847
+ blk.31.ffn_gate_inp.weight: BF16
848
+ blk.31.ffn_gate_shexp.weight: Q5_K
849
+ blk.31.ffn_norm.weight: F32
850
+ blk.31.ffn_up_exps.weight: IQ2_XS
851
+ blk.31.ffn_up_shexp.weight: Q5_K
852
+ blk.31.hc_attn_base.weight: F32
853
+ blk.31.hc_attn_fn.weight: F32
854
+ blk.31.hc_attn_scale.weight: F32
855
+ blk.31.hc_ffn_base.weight: F32
856
+ blk.31.hc_ffn_fn.weight: F32
857
+ blk.31.hc_ffn_scale.weight: F32
858
+ blk.32.attn_kv.weight: Q8_0
859
+ blk.32.attn_kv_a_norm.weight: F32
860
+ blk.32.attn_norm.weight: F32
861
+ blk.32.attn_output_a.weight: Q5_K
862
+ blk.32.attn_output_b.weight: Q5_K
863
+ blk.32.attn_q_a.weight: Q8_0
864
+ blk.32.attn_q_a_norm.weight: F32
865
+ blk.32.attn_q_b.weight: Q5_K
866
+ blk.32.attn_sinks.weight: F32
867
+ blk.32.exp_probs_b.bias: F32
868
+ blk.32.exp_probs_b_vl.bias: F32
869
+ blk.32.ffn_down_exps.weight: IQ2_S
870
+ blk.32.ffn_down_shexp.weight: Q5_K
871
+ blk.32.ffn_gate_exps.weight: IQ2_XXS
872
+ blk.32.ffn_gate_inp.weight: BF16
873
+ blk.32.ffn_gate_shexp.weight: Q5_K
874
+ blk.32.ffn_norm.weight: F32
875
+ blk.32.ffn_up_exps.weight: IQ2_XXS
876
+ blk.32.ffn_up_shexp.weight: Q5_K
877
+ blk.32.hc_attn_base.weight: F32
878
+ blk.32.hc_attn_fn.weight: F32
879
+ blk.32.hc_attn_scale.weight: F32
880
+ blk.32.hc_ffn_base.weight: F32
881
+ blk.32.hc_ffn_fn.weight: F32
882
+ blk.32.hc_ffn_scale.weight: F32
883
+ blk.32.indexer.attn_q_b.weight: BF16
884
+ blk.32.indexer.proj.weight: BF16
885
+ blk.33.attn_kv.weight: Q8_0
886
+ blk.33.attn_kv_a_norm.weight: F32
887
+ blk.33.attn_norm.weight: F32
888
+ blk.33.attn_output_a.weight: Q5_K
889
+ blk.33.attn_output_b.weight: Q5_K
890
+ blk.33.attn_q_a.weight: Q8_0
891
+ blk.33.attn_q_a_norm.weight: F32
892
+ blk.33.attn_q_b.weight: Q5_K
893
+ blk.33.attn_sinks.weight: F32
894
+ blk.33.exp_probs_b.bias: F32
895
+ blk.33.exp_probs_b_vl.bias: F32
896
+ blk.33.ffn_down_exps.weight: IQ2_XXS
897
+ blk.33.ffn_down_shexp.weight: Q5_K
898
+ blk.33.ffn_gate_exps.weight: IQ2_XXS
899
+ blk.33.ffn_gate_inp.weight: BF16
900
+ blk.33.ffn_gate_shexp.weight: Q5_K
901
+ blk.33.ffn_norm.weight: F32
902
+ blk.33.ffn_up_exps.weight: IQ2_XXS
903
+ blk.33.ffn_up_shexp.weight: Q5_K
904
+ blk.33.hc_attn_base.weight: F32
905
+ blk.33.hc_attn_fn.weight: F32
906
+ blk.33.hc_attn_scale.weight: F32
907
+ blk.33.hc_ffn_base.weight: F32
908
+ blk.33.hc_ffn_fn.weight: F32
909
+ blk.33.hc_ffn_scale.weight: F32
910
+ blk.34.attn_kv.weight: Q8_0
911
+ blk.34.attn_kv_a_norm.weight: F32
912
+ blk.34.attn_norm.weight: F32
913
+ blk.34.attn_output_a.weight: Q5_K
914
+ blk.34.attn_output_b.weight: Q5_K
915
+ blk.34.attn_q_a.weight: Q8_0
916
+ blk.34.attn_q_a_norm.weight: F32
917
+ blk.34.attn_q_b.weight: Q5_K
918
+ blk.34.attn_sinks.weight: F32
919
+ blk.34.exp_probs_b.bias: F32
920
+ blk.34.exp_probs_b_vl.bias: F32
921
+ blk.34.ffn_down_exps.weight: IQ2_XS
922
+ blk.34.ffn_down_shexp.weight: Q5_K
923
+ blk.34.ffn_gate_exps.weight: IQ2_XXS
924
+ blk.34.ffn_gate_inp.weight: BF16
925
+ blk.34.ffn_gate_shexp.weight: Q5_K
926
+ blk.34.ffn_norm.weight: F32
927
+ blk.34.ffn_up_exps.weight: IQ2_XXS
928
+ blk.34.ffn_up_shexp.weight: Q5_K
929
+ blk.34.hc_attn_base.weight: F32
930
+ blk.34.hc_attn_fn.weight: F32
931
+ blk.34.hc_attn_scale.weight: F32
932
+ blk.34.hc_ffn_base.weight: F32
933
+ blk.34.hc_ffn_fn.weight: F32
934
+ blk.34.hc_ffn_scale.weight: F32
935
+ blk.35.attn_kv.weight: Q8_0
936
+ blk.35.attn_kv_a_norm.weight: F32
937
+ blk.35.attn_norm.weight: F32
938
+ blk.35.attn_output_a.weight: Q5_K
939
+ blk.35.attn_output_b.weight: Q5_K
940
+ blk.35.attn_q_a.weight: Q8_0
941
+ blk.35.attn_q_a_norm.weight: F32
942
+ blk.35.attn_q_b.weight: Q5_K
943
+ blk.35.attn_sinks.weight: F32
944
+ blk.35.exp_probs_b.bias: F32
945
+ blk.35.exp_probs_b_vl.bias: F32
946
+ blk.35.ffn_down_exps.weight: IQ2_XXS
947
+ blk.35.ffn_down_shexp.weight: Q5_K
948
+ blk.35.ffn_gate_exps.weight: IQ2_XXS
949
+ blk.35.ffn_gate_inp.weight: BF16
950
+ blk.35.ffn_gate_shexp.weight: Q5_K
951
+ blk.35.ffn_norm.weight: F32
952
+ blk.35.ffn_up_exps.weight: IQ2_XXS
953
+ blk.35.ffn_up_shexp.weight: Q5_K
954
+ blk.35.hc_attn_base.weight: F32
955
+ blk.35.hc_attn_fn.weight: F32
956
+ blk.35.hc_attn_scale.weight: F32
957
+ blk.35.hc_ffn_base.weight: F32
958
+ blk.35.hc_ffn_fn.weight: F32
959
+ blk.35.hc_ffn_scale.weight: F32
960
+ blk.36.attn_kv.weight: Q8_0
961
+ blk.36.attn_kv_a_norm.weight: F32
962
+ blk.36.attn_norm.weight: F32
963
+ blk.36.attn_output_a.weight: Q5_K
964
+ blk.36.attn_output_b.weight: Q5_K
965
+ blk.36.attn_q_a.weight: Q8_0
966
+ blk.36.attn_q_a_norm.weight: F32
967
+ blk.36.attn_q_b.weight: Q5_K
968
+ blk.36.attn_sinks.weight: F32
969
+ blk.36.exp_probs_b.bias: F32
970
+ blk.36.exp_probs_b_vl.bias: F32
971
+ blk.36.ffn_down_exps.weight: IQ2_XXS
972
+ blk.36.ffn_down_shexp.weight: Q5_K
973
+ blk.36.ffn_gate_exps.weight: IQ2_XXS
974
+ blk.36.ffn_gate_inp.weight: BF16
975
+ blk.36.ffn_gate_shexp.weight: Q5_K
976
+ blk.36.ffn_norm.weight: F32
977
+ blk.36.ffn_up_exps.weight: IQ2_XXS
978
+ blk.36.ffn_up_shexp.weight: Q5_K
979
+ blk.36.hc_attn_base.weight: F32
980
+ blk.36.hc_attn_fn.weight: F32
981
+ blk.36.hc_attn_scale.weight: F32
982
+ blk.36.hc_ffn_base.weight: F32
983
+ blk.36.hc_ffn_fn.weight: F32
984
+ blk.36.hc_ffn_scale.weight: F32
985
+ blk.36.indexer.attn_q_b.weight: BF16
986
+ blk.36.indexer.proj.weight: BF16
987
+ blk.37.attn_kv.weight: Q8_0
988
+ blk.37.attn_kv_a_norm.weight: F32
989
+ blk.37.attn_norm.weight: F32
990
+ blk.37.attn_output_a.weight: Q5_K
991
+ blk.37.attn_output_b.weight: Q5_K
992
+ blk.37.attn_q_a.weight: Q8_0
993
+ blk.37.attn_q_a_norm.weight: F32
994
+ blk.37.attn_q_b.weight: Q5_K
995
+ blk.37.attn_sinks.weight: F32
996
+ blk.37.exp_probs_b.bias: F32
997
+ blk.37.exp_probs_b_vl.bias: F32
998
+ blk.37.ffn_down_exps.weight: IQ2_XXS
999
+ blk.37.ffn_down_shexp.weight: Q5_K
1000
+ blk.37.ffn_gate_exps.weight: IQ2_XXS
1001
+ blk.37.ffn_gate_inp.weight: BF16
1002
+ blk.37.ffn_gate_shexp.weight: Q5_K
1003
+ blk.37.ffn_norm.weight: F32
1004
+ blk.37.ffn_up_exps.weight: IQ2_XXS
1005
+ blk.37.ffn_up_shexp.weight: Q5_K
1006
+ blk.37.hc_attn_base.weight: F32
1007
+ blk.37.hc_attn_fn.weight: F32
1008
+ blk.37.hc_attn_scale.weight: F32
1009
+ blk.37.hc_ffn_base.weight: F32
1010
+ blk.37.hc_ffn_fn.weight: F32
1011
+ blk.37.hc_ffn_scale.weight: F32
1012
+ blk.38.attn_kv.weight: Q8_0
1013
+ blk.38.attn_kv_a_norm.weight: F32
1014
+ blk.38.attn_norm.weight: F32
1015
+ blk.38.attn_output_a.weight: Q5_K
1016
+ blk.38.attn_output_b.weight: Q5_K
1017
+ blk.38.attn_q_a.weight: Q8_0
1018
+ blk.38.attn_q_a_norm.weight: F32
1019
+ blk.38.attn_q_b.weight: Q5_K
1020
+ blk.38.attn_sinks.weight: F32
1021
+ blk.38.exp_probs_b.bias: F32
1022
+ blk.38.exp_probs_b_vl.bias: F32
1023
+ blk.38.ffn_down_exps.weight: IQ2_S
1024
+ blk.38.ffn_down_shexp.weight: Q5_K
1025
+ blk.38.ffn_gate_exps.weight: IQ2_XS
1026
+ blk.38.ffn_gate_inp.weight: BF16
1027
+ blk.38.ffn_gate_shexp.weight: Q5_K
1028
+ blk.38.ffn_norm.weight: F32
1029
+ blk.38.ffn_up_exps.weight: IQ2_XS
1030
+ blk.38.ffn_up_shexp.weight: Q5_K
1031
+ blk.38.hc_attn_base.weight: F32
1032
+ blk.38.hc_attn_fn.weight: F32
1033
+ blk.38.hc_attn_scale.weight: F32
1034
+ blk.38.hc_ffn_base.weight: F32
1035
+ blk.38.hc_ffn_fn.weight: F32
1036
+ blk.38.hc_ffn_scale.weight: F32
1037
+ blk.39.attn_kv.weight: Q8_0
1038
+ blk.39.attn_kv_a_norm.weight: F32
1039
+ blk.39.attn_norm.weight: F32
1040
+ blk.39.attn_output_a.weight: Q5_K
1041
+ blk.39.attn_output_b.weight: Q5_K
1042
+ blk.39.attn_q_a.weight: Q8_0
1043
+ blk.39.attn_q_a_norm.weight: F32
1044
+ blk.39.attn_q_b.weight: Q5_K
1045
+ blk.39.attn_sinks.weight: F32
1046
+ blk.39.exp_probs_b.bias: F32
1047
+ blk.39.exp_probs_b_vl.bias: F32
1048
+ blk.39.ffn_down_exps.weight: IQ2_S
1049
+ blk.39.ffn_down_shexp.weight: Q5_K
1050
+ blk.39.ffn_gate_exps.weight: IQ2_XXS
1051
+ blk.39.ffn_gate_inp.weight: BF16
1052
+ blk.39.ffn_gate_shexp.weight: Q5_K
1053
+ blk.39.ffn_norm.weight: F32
1054
+ blk.39.ffn_up_exps.weight: IQ2_XXS
1055
+ blk.39.ffn_up_shexp.weight: Q5_K
1056
+ blk.39.hc_attn_base.weight: F32
1057
+ blk.39.hc_attn_fn.weight: F32
1058
+ blk.39.hc_attn_scale.weight: F32
1059
+ blk.39.hc_ffn_base.weight: F32
1060
+ blk.39.hc_ffn_fn.weight: F32
1061
+ blk.39.hc_ffn_scale.weight: F32
tensor-allocation/DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XXS.rco-allocation.txt ADDED
@@ -0,0 +1,1061 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # RCO per-tensor GGUF allocation
2
+ # Repository: ISTA-DASLab/DeepSeek-V4.1-Flash-1017-GSQ-RCO-GGUF
3
+ # GGUF: DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XXS-00001-of-00006.gguf (first of 6 shards; this dump covers all of them)
4
+ # Source: https://huggingface.co/ISTA-DASLab/DeepSeek-V4.1-Flash-1017-GSQ-RCO-GGUF/resolve/main/DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XXS-00001-of-00006.gguf
5
+ # Source: https://huggingface.co/ISTA-DASLab/DeepSeek-V4.1-Flash-1017-GSQ-RCO-GGUF/resolve/main/DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XXS-00002-of-00006.gguf
6
+ # Source: https://huggingface.co/ISTA-DASLab/DeepSeek-V4.1-Flash-1017-GSQ-RCO-GGUF/resolve/main/DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XXS-00003-of-00006.gguf
7
+ # Source: https://huggingface.co/ISTA-DASLab/DeepSeek-V4.1-Flash-1017-GSQ-RCO-GGUF/resolve/main/DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XXS-00004-of-00006.gguf
8
+ # Source: https://huggingface.co/ISTA-DASLab/DeepSeek-V4.1-Flash-1017-GSQ-RCO-GGUF/resolve/main/DeepSeek-V4.1-Flash-1017-GSQ-RCO-IQ2_XXS-00005-of-00006.gguf
9
+ # Source: https://huggingface.co/ISTA-DASLab/DeepSeek-V4.1-Flash-1017-GSQ-RCO-GGUF/resolve/main/DeepSeek-V4.1-Flash-Engram-IQ4_NL.gguf
10
+ # Target bpw over the backbone (all tensors except the Engram table): 2.00 (measured: 2.0038)
11
+ # The Engram table (per_layer_token_embd, shard 6 = the shared Engram file) is IQ4_NL in every build and not part of the search.
12
+ # GGUF version: 3
13
+ # GGUF metadata entries: 77
14
+ # Tensor count: 1043
15
+ # Quant-type counts: BF16=67, F32=531, IQ1_M=60, IQ2_XS=18, IQ2_XXS=42, IQ4_NL=1, Q5_K=244, Q8_0=80
16
+ # Format: <GGUF tensor name>: <GGML quantization/storage type>
17
+ # Includes fixed non-RCO tensors (e.g. F32/BF16) so the released GGUF is fully reproducible.
18
+ #
19
+ output.weight: Q5_K
20
+ output_norm.weight: F32
21
+ per_layer_token_embd.weight: IQ4_NL
22
+ token_embd.weight: Q5_K
23
+ blk.0.attn_kv.weight: Q8_0
24
+ blk.0.attn_kv_a_norm.weight: F32
25
+ blk.0.attn_norm.weight: F32
26
+ blk.0.attn_output_a.weight: Q5_K
27
+ blk.0.attn_output_b.weight: Q5_K
28
+ blk.0.attn_q_a.weight: Q8_0
29
+ blk.0.attn_q_a_norm.weight: F32
30
+ blk.0.attn_q_b.weight: Q5_K
31
+ blk.0.attn_sinks.weight: F32
32
+ blk.0.exp_probs_b.bias: F32
33
+ blk.0.exp_probs_b_vl.bias: F32
34
+ blk.0.ffn_down_exps.weight: IQ1_M
35
+ blk.0.ffn_down_shexp.weight: Q5_K
36
+ blk.0.ffn_gate_exps.weight: IQ1_M
37
+ blk.0.ffn_gate_inp.weight: BF16
38
+ blk.0.ffn_gate_shexp.weight: Q5_K
39
+ blk.0.ffn_norm.weight: F32
40
+ blk.0.ffn_up_exps.weight: IQ1_M
41
+ blk.0.ffn_up_shexp.weight: Q5_K
42
+ blk.0.hc_attn_base.weight: F32
43
+ blk.0.hc_attn_fn.weight: F32
44
+ blk.0.hc_attn_scale.weight: F32
45
+ blk.0.hc_ffn_base.weight: F32
46
+ blk.0.hc_ffn_fn.weight: F32
47
+ blk.0.hc_ffn_scale.weight: F32
48
+ blk.1.attn_kv.weight: Q8_0
49
+ blk.1.attn_kv_a_norm.weight: F32
50
+ blk.1.attn_norm.weight: F32
51
+ blk.1.attn_output_a.weight: Q5_K
52
+ blk.1.attn_output_b.weight: Q5_K
53
+ blk.1.attn_q_a.weight: Q8_0
54
+ blk.1.attn_q_a_norm.weight: F32
55
+ blk.1.attn_q_b.weight: Q5_K
56
+ blk.1.attn_sinks.weight: F32
57
+ blk.1.engram_gate.weight: F32
58
+ blk.1.engram_kv.weight: Q5_K
59
+ blk.1.exp_probs_b.bias: F32
60
+ blk.1.exp_probs_b_vl.bias: F32
61
+ blk.1.ffn_down_exps.weight: IQ1_M
62
+ blk.1.ffn_down_shexp.weight: Q5_K
63
+ blk.1.ffn_gate_exps.weight: IQ1_M
64
+ blk.1.ffn_gate_inp.weight: BF16
65
+ blk.1.ffn_gate_shexp.weight: Q5_K
66
+ blk.1.ffn_norm.weight: F32
67
+ blk.1.ffn_up_exps.weight: IQ1_M
68
+ blk.1.ffn_up_shexp.weight: Q5_K
69
+ blk.1.hc_attn_base.weight: F32
70
+ blk.1.hc_attn_fn.weight: F32
71
+ blk.1.hc_attn_scale.weight: F32
72
+ blk.1.hc_ffn_base.weight: F32
73
+ blk.1.hc_ffn_fn.weight: F32
74
+ blk.1.hc_ffn_scale.weight: F32
75
+ blk.2.attn_compressor_gate.weight: BF16
76
+ blk.2.attn_compressor_kv.weight: BF16
77
+ blk.2.attn_compressor_norm.weight: F32
78
+ blk.2.attn_kv.weight: Q8_0
79
+ blk.2.attn_kv_a_norm.weight: F32
80
+ blk.2.attn_norm.weight: F32
81
+ blk.2.attn_output_a.weight: Q5_K
82
+ blk.2.attn_output_b.weight: Q5_K
83
+ blk.2.attn_q_a.weight: Q8_0
84
+ blk.2.attn_q_a_norm.weight: F32
85
+ blk.2.attn_q_b.weight: Q5_K
86
+ blk.2.attn_sinks.weight: F32
87
+ blk.2.exp_probs_b.bias: F32
88
+ blk.2.exp_probs_b_vl.bias: F32
89
+ blk.2.ffn_down_exps.weight: IQ1_M
90
+ blk.2.ffn_down_shexp.weight: Q5_K
91
+ blk.2.ffn_gate_exps.weight: IQ1_M
92
+ blk.2.ffn_gate_inp.weight: BF16
93
+ blk.2.ffn_gate_shexp.weight: Q5_K
94
+ blk.2.ffn_norm.weight: F32
95
+ blk.2.ffn_up_exps.weight: IQ1_M
96
+ blk.2.ffn_up_shexp.weight: Q5_K
97
+ blk.2.hc_attn_base.weight: F32
98
+ blk.2.hc_attn_fn.weight: F32
99
+ blk.2.hc_attn_scale.weight: F32
100
+ blk.2.hc_ffn_base.weight: F32
101
+ blk.2.hc_ffn_fn.weight: F32
102
+ blk.2.hc_ffn_scale.weight: F32
103
+ blk.2.indexer.attn_k.weight: BF16
104
+ blk.2.indexer.attn_q_b.weight: BF16
105
+ blk.2.indexer.k_norm.weight: F32
106
+ blk.2.indexer.proj.weight: BF16
107
+ blk.3.attn_kv.weight: Q8_0
108
+ blk.3.attn_kv_a_norm.weight: F32
109
+ blk.3.attn_norm.weight: F32
110
+ blk.3.attn_output_a.weight: Q5_K
111
+ blk.3.attn_output_b.weight: Q5_K
112
+ blk.3.attn_q_a.weight: Q8_0
113
+ blk.3.attn_q_a_norm.weight: F32
114
+ blk.3.attn_q_b.weight: Q5_K
115
+ blk.3.attn_sinks.weight: F32
116
+ blk.3.exp_probs_b.bias: F32
117
+ blk.3.exp_probs_b_vl.bias: F32
118
+ blk.3.ffn_down_exps.weight: IQ1_M
119
+ blk.3.ffn_down_shexp.weight: Q5_K
120
+ blk.3.ffn_gate_exps.weight: IQ1_M
121
+ blk.3.ffn_gate_inp.weight: BF16
122
+ blk.3.ffn_gate_shexp.weight: Q5_K
123
+ blk.3.ffn_norm.weight: F32
124
+ blk.3.ffn_up_exps.weight: IQ1_M
125
+ blk.3.ffn_up_shexp.weight: Q5_K
126
+ blk.3.hc_attn_base.weight: F32
127
+ blk.3.hc_attn_fn.weight: F32
128
+ blk.3.hc_attn_scale.weight: F32
129
+ blk.3.hc_ffn_base.weight: F32
130
+ blk.3.hc_ffn_fn.weight: F32
131
+ blk.3.hc_ffn_scale.weight: F32
132
+ blk.4.attn_kv.weight: Q8_0
133
+ blk.4.attn_kv_a_norm.weight: F32
134
+ blk.4.attn_norm.weight: F32
135
+ blk.4.attn_output_a.weight: Q5_K
136
+ blk.4.attn_output_b.weight: Q5_K
137
+ blk.4.attn_q_a.weight: Q8_0
138
+ blk.4.attn_q_a_norm.weight: F32
139
+ blk.4.attn_q_b.weight: Q5_K
140
+ blk.4.attn_sinks.weight: F32
141
+ blk.4.exp_probs_b.bias: F32
142
+ blk.4.exp_probs_b_vl.bias: F32
143
+ blk.4.ffn_down_exps.weight: IQ1_M
144
+ blk.4.ffn_down_shexp.weight: Q5_K
145
+ blk.4.ffn_gate_exps.weight: IQ1_M
146
+ blk.4.ffn_gate_inp.weight: BF16
147
+ blk.4.ffn_gate_shexp.weight: Q5_K
148
+ blk.4.ffn_norm.weight: F32
149
+ blk.4.ffn_up_exps.weight: IQ1_M
150
+ blk.4.ffn_up_shexp.weight: Q5_K
151
+ blk.4.hc_attn_base.weight: F32
152
+ blk.4.hc_attn_fn.weight: F32
153
+ blk.4.hc_attn_scale.weight: F32
154
+ blk.4.hc_ffn_base.weight: F32
155
+ blk.4.hc_ffn_fn.weight: F32
156
+ blk.4.hc_ffn_scale.weight: F32
157
+ blk.5.attn_kv.weight: Q8_0
158
+ blk.5.attn_kv_a_norm.weight: F32
159
+ blk.5.attn_norm.weight: F32
160
+ blk.5.attn_output_a.weight: Q5_K
161
+ blk.5.attn_output_b.weight: Q5_K
162
+ blk.5.attn_q_a.weight: Q8_0
163
+ blk.5.attn_q_a_norm.weight: F32
164
+ blk.5.attn_q_b.weight: Q5_K
165
+ blk.5.attn_sinks.weight: F32
166
+ blk.5.exp_probs_b.bias: F32
167
+ blk.5.exp_probs_b_vl.bias: F32
168
+ blk.5.ffn_down_exps.weight: IQ1_M
169
+ blk.5.ffn_down_shexp.weight: Q5_K
170
+ blk.5.ffn_gate_exps.weight: IQ1_M
171
+ blk.5.ffn_gate_inp.weight: BF16
172
+ blk.5.ffn_gate_shexp.weight: Q5_K
173
+ blk.5.ffn_norm.weight: F32
174
+ blk.5.ffn_up_exps.weight: IQ1_M
175
+ blk.5.ffn_up_shexp.weight: Q5_K
176
+ blk.5.hc_attn_base.weight: F32
177
+ blk.5.hc_attn_fn.weight: F32
178
+ blk.5.hc_attn_scale.weight: F32
179
+ blk.5.hc_ffn_base.weight: F32
180
+ blk.5.hc_ffn_fn.weight: F32
181
+ blk.5.hc_ffn_scale.weight: F32
182
+ blk.6.attn_kv.weight: Q8_0
183
+ blk.6.attn_kv_a_norm.weight: F32
184
+ blk.6.attn_norm.weight: F32
185
+ blk.6.attn_output_a.weight: Q5_K
186
+ blk.6.attn_output_b.weight: Q5_K
187
+ blk.6.attn_q_a.weight: Q8_0
188
+ blk.6.attn_q_a_norm.weight: F32
189
+ blk.6.attn_q_b.weight: Q5_K
190
+ blk.6.attn_sinks.weight: F32
191
+ blk.6.exp_probs_b.bias: F32
192
+ blk.6.exp_probs_b_vl.bias: F32
193
+ blk.6.ffn_down_exps.weight: IQ1_M
194
+ blk.6.ffn_down_shexp.weight: Q5_K
195
+ blk.6.ffn_gate_exps.weight: IQ1_M
196
+ blk.6.ffn_gate_inp.weight: BF16
197
+ blk.6.ffn_gate_shexp.weight: Q5_K
198
+ blk.6.ffn_norm.weight: F32
199
+ blk.6.ffn_up_exps.weight: IQ1_M
200
+ blk.6.ffn_up_shexp.weight: Q5_K
201
+ blk.6.hc_attn_base.weight: F32
202
+ blk.6.hc_attn_fn.weight: F32
203
+ blk.6.hc_attn_scale.weight: F32
204
+ blk.6.hc_ffn_base.weight: F32
205
+ blk.6.hc_ffn_fn.weight: F32
206
+ blk.6.hc_ffn_scale.weight: F32
207
+ blk.7.attn_kv.weight: Q8_0
208
+ blk.7.attn_kv_a_norm.weight: F32
209
+ blk.7.attn_norm.weight: F32
210
+ blk.7.attn_output_a.weight: Q5_K
211
+ blk.7.attn_output_b.weight: Q5_K
212
+ blk.7.attn_q_a.weight: Q8_0
213
+ blk.7.attn_q_a_norm.weight: F32
214
+ blk.7.attn_q_b.weight: Q5_K
215
+ blk.7.attn_sinks.weight: F32
216
+ blk.7.exp_probs_b.bias: F32
217
+ blk.7.exp_probs_b_vl.bias: F32
218
+ blk.7.ffn_down_exps.weight: IQ2_XXS
219
+ blk.7.ffn_down_shexp.weight: Q5_K
220
+ blk.7.ffn_gate_exps.weight: IQ1_M
221
+ blk.7.ffn_gate_inp.weight: BF16
222
+ blk.7.ffn_gate_shexp.weight: Q5_K
223
+ blk.7.ffn_norm.weight: F32
224
+ blk.7.ffn_up_exps.weight: IQ1_M
225
+ blk.7.ffn_up_shexp.weight: Q5_K
226
+ blk.7.hc_attn_base.weight: F32
227
+ blk.7.hc_attn_fn.weight: F32
228
+ blk.7.hc_attn_scale.weight: F32
229
+ blk.7.hc_ffn_base.weight: F32
230
+ blk.7.hc_ffn_fn.weight: F32
231
+ blk.7.hc_ffn_scale.weight: F32
232
+ blk.8.attn_compressor_gate.weight: BF16
233
+ blk.8.attn_compressor_kv.weight: BF16
234
+ blk.8.attn_compressor_norm.weight: F32
235
+ blk.8.attn_kv.weight: Q8_0
236
+ blk.8.attn_kv_a_norm.weight: F32
237
+ blk.8.attn_norm.weight: F32
238
+ blk.8.attn_output_a.weight: Q5_K
239
+ blk.8.attn_output_b.weight: Q5_K
240
+ blk.8.attn_q_a.weight: Q8_0
241
+ blk.8.attn_q_a_norm.weight: F32
242
+ blk.8.attn_q_b.weight: Q5_K
243
+ blk.8.attn_sinks.weight: F32
244
+ blk.8.exp_probs_b.bias: F32
245
+ blk.8.exp_probs_b_vl.bias: F32
246
+ blk.8.ffn_down_exps.weight: IQ2_XXS
247
+ blk.8.ffn_down_shexp.weight: Q5_K
248
+ blk.8.ffn_gate_exps.weight: IQ1_M
249
+ blk.8.ffn_gate_inp.weight: BF16
250
+ blk.8.ffn_gate_shexp.weight: Q5_K
251
+ blk.8.ffn_norm.weight: F32
252
+ blk.8.ffn_up_exps.weight: IQ1_M
253
+ blk.8.ffn_up_shexp.weight: Q5_K
254
+ blk.8.hc_attn_base.weight: F32
255
+ blk.8.hc_attn_fn.weight: F32
256
+ blk.8.hc_attn_scale.weight: F32
257
+ blk.8.hc_ffn_base.weight: F32
258
+ blk.8.hc_ffn_fn.weight: F32
259
+ blk.8.hc_ffn_scale.weight: F32
260
+ blk.8.indexer.attn_k.weight: BF16
261
+ blk.8.indexer.attn_q_b.weight: BF16
262
+ blk.8.indexer.k_norm.weight: F32
263
+ blk.8.indexer.proj.weight: BF16
264
+ blk.9.attn_kv.weight: Q8_0
265
+ blk.9.attn_kv_a_norm.weight: F32
266
+ blk.9.attn_norm.weight: F32
267
+ blk.9.attn_output_a.weight: Q5_K
268
+ blk.9.attn_output_b.weight: Q5_K
269
+ blk.9.attn_q_a.weight: Q8_0
270
+ blk.9.attn_q_a_norm.weight: F32
271
+ blk.9.attn_q_b.weight: Q5_K
272
+ blk.9.attn_sinks.weight: F32
273
+ blk.9.exp_probs_b.bias: F32
274
+ blk.9.exp_probs_b_vl.bias: F32
275
+ blk.9.ffn_down_exps.weight: IQ1_M
276
+ blk.9.ffn_down_shexp.weight: Q5_K
277
+ blk.9.ffn_gate_exps.weight: IQ1_M
278
+ blk.9.ffn_gate_inp.weight: BF16
279
+ blk.9.ffn_gate_shexp.weight: Q5_K
280
+ blk.9.ffn_norm.weight: F32
281
+ blk.9.ffn_up_exps.weight: IQ1_M
282
+ blk.9.ffn_up_shexp.weight: Q5_K
283
+ blk.9.hc_attn_base.weight: F32
284
+ blk.9.hc_attn_fn.weight: F32
285
+ blk.9.hc_attn_scale.weight: F32
286
+ blk.9.hc_ffn_base.weight: F32
287
+ blk.9.hc_ffn_fn.weight: F32
288
+ blk.9.hc_ffn_scale.weight: F32
289
+ blk.10.attn_kv.weight: Q8_0
290
+ blk.10.attn_kv_a_norm.weight: F32
291
+ blk.10.attn_norm.weight: F32
292
+ blk.10.attn_output_a.weight: Q5_K
293
+ blk.10.attn_output_b.weight: Q5_K
294
+ blk.10.attn_q_a.weight: Q8_0
295
+ blk.10.attn_q_a_norm.weight: F32
296
+ blk.10.attn_q_b.weight: Q5_K
297
+ blk.10.attn_sinks.weight: F32
298
+ blk.10.exp_probs_b.bias: F32
299
+ blk.10.exp_probs_b_vl.bias: F32
300
+ blk.10.ffn_down_exps.weight: IQ2_XXS
301
+ blk.10.ffn_down_shexp.weight: Q5_K
302
+ blk.10.ffn_gate_exps.weight: IQ2_XXS
303
+ blk.10.ffn_gate_inp.weight: BF16
304
+ blk.10.ffn_gate_shexp.weight: Q5_K
305
+ blk.10.ffn_norm.weight: F32
306
+ blk.10.ffn_up_exps.weight: IQ2_XXS
307
+ blk.10.ffn_up_shexp.weight: Q5_K
308
+ blk.10.hc_attn_base.weight: F32
309
+ blk.10.hc_attn_fn.weight: F32
310
+ blk.10.hc_attn_scale.weight: F32
311
+ blk.10.hc_ffn_base.weight: F32
312
+ blk.10.hc_ffn_fn.weight: F32
313
+ blk.10.hc_ffn_scale.weight: F32
314
+ blk.11.attn_kv.weight: Q8_0
315
+ blk.11.attn_kv_a_norm.weight: F32
316
+ blk.11.attn_norm.weight: F32
317
+ blk.11.attn_output_a.weight: Q5_K
318
+ blk.11.attn_output_b.weight: Q5_K
319
+ blk.11.attn_q_a.weight: Q8_0
320
+ blk.11.attn_q_a_norm.weight: F32
321
+ blk.11.attn_q_b.weight: Q5_K
322
+ blk.11.attn_sinks.weight: F32
323
+ blk.11.exp_probs_b.bias: F32
324
+ blk.11.exp_probs_b_vl.bias: F32
325
+ blk.11.ffn_down_exps.weight: IQ1_M
326
+ blk.11.ffn_down_shexp.weight: Q5_K
327
+ blk.11.ffn_gate_exps.weight: IQ2_XXS
328
+ blk.11.ffn_gate_inp.weight: BF16
329
+ blk.11.ffn_gate_shexp.weight: Q5_K
330
+ blk.11.ffn_norm.weight: F32
331
+ blk.11.ffn_up_exps.weight: IQ2_XXS
332
+ blk.11.ffn_up_shexp.weight: Q5_K
333
+ blk.11.hc_attn_base.weight: F32
334
+ blk.11.hc_attn_fn.weight: F32
335
+ blk.11.hc_attn_scale.weight: F32
336
+ blk.11.hc_ffn_base.weight: F32
337
+ blk.11.hc_ffn_fn.weight: F32
338
+ blk.11.hc_ffn_scale.weight: F32
339
+ blk.12.attn_kv.weight: Q8_0
340
+ blk.12.attn_kv_a_norm.weight: F32
341
+ blk.12.attn_norm.weight: F32
342
+ blk.12.attn_output_a.weight: Q5_K
343
+ blk.12.attn_output_b.weight: Q5_K
344
+ blk.12.attn_q_a.weight: Q8_0
345
+ blk.12.attn_q_a_norm.weight: F32
346
+ blk.12.attn_q_b.weight: Q5_K
347
+ blk.12.attn_sinks.weight: F32
348
+ blk.12.exp_probs_b.bias: F32
349
+ blk.12.exp_probs_b_vl.bias: F32
350
+ blk.12.ffn_down_exps.weight: IQ1_M
351
+ blk.12.ffn_down_shexp.weight: Q5_K
352
+ blk.12.ffn_gate_exps.weight: IQ2_XXS
353
+ blk.12.ffn_gate_inp.weight: BF16
354
+ blk.12.ffn_gate_shexp.weight: Q5_K
355
+ blk.12.ffn_norm.weight: F32
356
+ blk.12.ffn_up_exps.weight: IQ2_XXS
357
+ blk.12.ffn_up_shexp.weight: Q5_K
358
+ blk.12.hc_attn_base.weight: F32
359
+ blk.12.hc_attn_fn.weight: F32
360
+ blk.12.hc_attn_scale.weight: F32
361
+ blk.12.hc_ffn_base.weight: F32
362
+ blk.12.hc_ffn_fn.weight: F32
363
+ blk.12.hc_ffn_scale.weight: F32
364
+ blk.13.attn_kv.weight: Q8_0
365
+ blk.13.attn_kv_a_norm.weight: F32
366
+ blk.13.attn_norm.weight: F32
367
+ blk.13.attn_output_a.weight: Q5_K
368
+ blk.13.attn_output_b.weight: Q5_K
369
+ blk.13.attn_q_a.weight: Q8_0
370
+ blk.13.attn_q_a_norm.weight: F32
371
+ blk.13.attn_q_b.weight: Q5_K
372
+ blk.13.attn_sinks.weight: F32
373
+ blk.13.exp_probs_b.bias: F32
374
+ blk.13.exp_probs_b_vl.bias: F32
375
+ blk.13.ffn_down_exps.weight: IQ1_M
376
+ blk.13.ffn_down_shexp.weight: Q5_K
377
+ blk.13.ffn_gate_exps.weight: IQ1_M
378
+ blk.13.ffn_gate_inp.weight: BF16
379
+ blk.13.ffn_gate_shexp.weight: Q5_K
380
+ blk.13.ffn_norm.weight: F32
381
+ blk.13.ffn_up_exps.weight: IQ1_M
382
+ blk.13.ffn_up_shexp.weight: Q5_K
383
+ blk.13.hc_attn_base.weight: F32
384
+ blk.13.hc_attn_fn.weight: F32
385
+ blk.13.hc_attn_scale.weight: F32
386
+ blk.13.hc_ffn_base.weight: F32
387
+ blk.13.hc_ffn_fn.weight: F32
388
+ blk.13.hc_ffn_scale.weight: F32
389
+ blk.14.attn_compressor_gate.weight: BF16
390
+ blk.14.attn_compressor_kv.weight: BF16
391
+ blk.14.attn_compressor_norm.weight: F32
392
+ blk.14.attn_kv.weight: Q8_0
393
+ blk.14.attn_kv_a_norm.weight: F32
394
+ blk.14.attn_norm.weight: F32
395
+ blk.14.attn_output_a.weight: Q5_K
396
+ blk.14.attn_output_b.weight: Q5_K
397
+ blk.14.attn_q_a.weight: Q8_0
398
+ blk.14.attn_q_a_norm.weight: F32
399
+ blk.14.attn_q_b.weight: Q5_K
400
+ blk.14.attn_sinks.weight: F32
401
+ blk.14.engram_gate.weight: F32
402
+ blk.14.engram_kv.weight: Q5_K
403
+ blk.14.exp_probs_b.bias: F32
404
+ blk.14.exp_probs_b_vl.bias: F32
405
+ blk.14.ffn_down_exps.weight: IQ1_M
406
+ blk.14.ffn_down_shexp.weight: Q5_K
407
+ blk.14.ffn_gate_exps.weight: IQ1_M
408
+ blk.14.ffn_gate_inp.weight: BF16
409
+ blk.14.ffn_gate_shexp.weight: Q5_K
410
+ blk.14.ffn_norm.weight: F32
411
+ blk.14.ffn_up_exps.weight: IQ1_M
412
+ blk.14.ffn_up_shexp.weight: Q5_K
413
+ blk.14.hc_attn_base.weight: F32
414
+ blk.14.hc_attn_fn.weight: F32
415
+ blk.14.hc_attn_scale.weight: F32
416
+ blk.14.hc_ffn_base.weight: F32
417
+ blk.14.hc_ffn_fn.weight: F32
418
+ blk.14.hc_ffn_scale.weight: F32
419
+ blk.14.indexer.attn_k.weight: BF16
420
+ blk.14.indexer.attn_q_b.weight: BF16
421
+ blk.14.indexer.k_norm.weight: F32
422
+ blk.14.indexer.proj.weight: BF16
423
+ blk.15.attn_kv.weight: Q8_0
424
+ blk.15.attn_kv_a_norm.weight: F32
425
+ blk.15.attn_norm.weight: F32
426
+ blk.15.attn_output_a.weight: Q5_K
427
+ blk.15.attn_output_b.weight: Q5_K
428
+ blk.15.attn_q_a.weight: Q8_0
429
+ blk.15.attn_q_a_norm.weight: F32
430
+ blk.15.attn_q_b.weight: Q5_K
431
+ blk.15.attn_sinks.weight: F32
432
+ blk.15.exp_probs_b.bias: F32
433
+ blk.15.exp_probs_b_vl.bias: F32
434
+ blk.15.ffn_down_exps.weight: IQ1_M
435
+ blk.15.ffn_down_shexp.weight: Q5_K
436
+ blk.15.ffn_gate_exps.weight: IQ2_XXS
437
+ blk.15.ffn_gate_inp.weight: BF16
438
+ blk.15.ffn_gate_shexp.weight: Q5_K
439
+ blk.15.ffn_norm.weight: F32
440
+ blk.15.ffn_up_exps.weight: IQ2_XXS
441
+ blk.15.ffn_up_shexp.weight: Q5_K
442
+ blk.15.hc_attn_base.weight: F32
443
+ blk.15.hc_attn_fn.weight: F32
444
+ blk.15.hc_attn_scale.weight: F32
445
+ blk.15.hc_ffn_base.weight: F32
446
+ blk.15.hc_ffn_fn.weight: F32
447
+ blk.15.hc_ffn_scale.weight: F32
448
+ blk.16.attn_kv.weight: Q8_0
449
+ blk.16.attn_kv_a_norm.weight: F32
450
+ blk.16.attn_norm.weight: F32
451
+ blk.16.attn_output_a.weight: Q5_K
452
+ blk.16.attn_output_b.weight: Q5_K
453
+ blk.16.attn_q_a.weight: Q8_0
454
+ blk.16.attn_q_a_norm.weight: F32
455
+ blk.16.attn_q_b.weight: Q5_K
456
+ blk.16.attn_sinks.weight: F32
457
+ blk.16.exp_probs_b.bias: F32
458
+ blk.16.exp_probs_b_vl.bias: F32
459
+ blk.16.ffn_down_exps.weight: IQ1_M
460
+ blk.16.ffn_down_shexp.weight: Q5_K
461
+ blk.16.ffn_gate_exps.weight: IQ1_M
462
+ blk.16.ffn_gate_inp.weight: BF16
463
+ blk.16.ffn_gate_shexp.weight: Q5_K
464
+ blk.16.ffn_norm.weight: F32
465
+ blk.16.ffn_up_exps.weight: IQ1_M
466
+ blk.16.ffn_up_shexp.weight: Q5_K
467
+ blk.16.hc_attn_base.weight: F32
468
+ blk.16.hc_attn_fn.weight: F32
469
+ blk.16.hc_attn_scale.weight: F32
470
+ blk.16.hc_ffn_base.weight: F32
471
+ blk.16.hc_ffn_fn.weight: F32
472
+ blk.16.hc_ffn_scale.weight: F32
473
+ blk.17.attn_kv.weight: Q8_0
474
+ blk.17.attn_kv_a_norm.weight: F32
475
+ blk.17.attn_norm.weight: F32
476
+ blk.17.attn_output_a.weight: Q5_K
477
+ blk.17.attn_output_b.weight: Q5_K
478
+ blk.17.attn_q_a.weight: Q8_0
479
+ blk.17.attn_q_a_norm.weight: F32
480
+ blk.17.attn_q_b.weight: Q5_K
481
+ blk.17.attn_sinks.weight: F32
482
+ blk.17.exp_probs_b.bias: F32
483
+ blk.17.exp_probs_b_vl.bias: F32
484
+ blk.17.ffn_down_exps.weight: IQ1_M
485
+ blk.17.ffn_down_shexp.weight: Q5_K
486
+ blk.17.ffn_gate_exps.weight: IQ2_XS
487
+ blk.17.ffn_gate_inp.weight: BF16
488
+ blk.17.ffn_gate_shexp.weight: Q5_K
489
+ blk.17.ffn_norm.weight: F32
490
+ blk.17.ffn_up_exps.weight: IQ2_XS
491
+ blk.17.ffn_up_shexp.weight: Q5_K
492
+ blk.17.hc_attn_base.weight: F32
493
+ blk.17.hc_attn_fn.weight: F32
494
+ blk.17.hc_attn_scale.weight: F32
495
+ blk.17.hc_ffn_base.weight: F32
496
+ blk.17.hc_ffn_fn.weight: F32
497
+ blk.17.hc_ffn_scale.weight: F32
498
+ blk.18.attn_kv.weight: Q8_0
499
+ blk.18.attn_kv_a_norm.weight: F32
500
+ blk.18.attn_norm.weight: F32
501
+ blk.18.attn_output_a.weight: Q5_K
502
+ blk.18.attn_output_b.weight: Q5_K
503
+ blk.18.attn_q_a.weight: Q8_0
504
+ blk.18.attn_q_a_norm.weight: F32
505
+ blk.18.attn_q_b.weight: Q5_K
506
+ blk.18.attn_sinks.weight: F32
507
+ blk.18.exp_probs_b.bias: F32
508
+ blk.18.exp_probs_b_vl.bias: F32
509
+ blk.18.ffn_down_exps.weight: IQ2_XXS
510
+ blk.18.ffn_down_shexp.weight: Q5_K
511
+ blk.18.ffn_gate_exps.weight: IQ2_XXS
512
+ blk.18.ffn_gate_inp.weight: BF16
513
+ blk.18.ffn_gate_shexp.weight: Q5_K
514
+ blk.18.ffn_norm.weight: F32
515
+ blk.18.ffn_up_exps.weight: IQ2_XXS
516
+ blk.18.ffn_up_shexp.weight: Q5_K
517
+ blk.18.hc_attn_base.weight: F32
518
+ blk.18.hc_attn_fn.weight: F32
519
+ blk.18.hc_attn_scale.weight: F32
520
+ blk.18.hc_ffn_base.weight: F32
521
+ blk.18.hc_ffn_fn.weight: F32
522
+ blk.18.hc_ffn_scale.weight: F32
523
+ blk.19.attn_kv.weight: Q8_0
524
+ blk.19.attn_kv_a_norm.weight: F32
525
+ blk.19.attn_norm.weight: F32
526
+ blk.19.attn_output_a.weight: Q5_K
527
+ blk.19.attn_output_b.weight: Q5_K
528
+ blk.19.attn_q_a.weight: Q8_0
529
+ blk.19.attn_q_a_norm.weight: F32
530
+ blk.19.attn_q_b.weight: Q5_K
531
+ blk.19.attn_sinks.weight: F32
532
+ blk.19.exp_probs_b.bias: F32
533
+ blk.19.exp_probs_b_vl.bias: F32
534
+ blk.19.ffn_down_exps.weight: IQ1_M
535
+ blk.19.ffn_down_shexp.weight: Q5_K
536
+ blk.19.ffn_gate_exps.weight: IQ2_XS
537
+ blk.19.ffn_gate_inp.weight: BF16
538
+ blk.19.ffn_gate_shexp.weight: Q5_K
539
+ blk.19.ffn_norm.weight: F32
540
+ blk.19.ffn_up_exps.weight: IQ2_XS
541
+ blk.19.ffn_up_shexp.weight: Q5_K
542
+ blk.19.hc_attn_base.weight: F32
543
+ blk.19.hc_attn_fn.weight: F32
544
+ blk.19.hc_attn_scale.weight: F32
545
+ blk.19.hc_ffn_base.weight: F32
546
+ blk.19.hc_ffn_fn.weight: F32
547
+ blk.19.hc_ffn_scale.weight: F32
548
+ blk.20.attn_compressor_kv.weight: BF16
549
+ blk.20.attn_compressor_norm.weight: F32
550
+ blk.20.attn_kv.weight: Q8_0
551
+ blk.20.attn_kv_a_norm.weight: F32
552
+ blk.20.attn_norm.weight: F32
553
+ blk.20.attn_output_a.weight: Q5_K
554
+ blk.20.attn_output_b.weight: Q5_K
555
+ blk.20.attn_q_a.weight: Q8_0
556
+ blk.20.attn_q_a_norm.weight: F32
557
+ blk.20.attn_q_b.weight: Q5_K
558
+ blk.20.attn_sinks.weight: F32
559
+ blk.20.exp_probs_b.bias: F32
560
+ blk.20.exp_probs_b_vl.bias: F32
561
+ blk.20.ffn_down_exps.weight: IQ1_M
562
+ blk.20.ffn_down_shexp.weight: Q5_K
563
+ blk.20.ffn_gate_exps.weight: IQ1_M
564
+ blk.20.ffn_gate_inp.weight: BF16
565
+ blk.20.ffn_gate_shexp.weight: Q5_K
566
+ blk.20.ffn_norm.weight: F32
567
+ blk.20.ffn_up_exps.weight: IQ1_M
568
+ blk.20.ffn_up_shexp.weight: Q5_K
569
+ blk.20.hc_attn_base.weight: F32
570
+ blk.20.hc_attn_fn.weight: F32
571
+ blk.20.hc_attn_scale.weight: F32
572
+ blk.20.hc_ffn_base.weight: F32
573
+ blk.20.hc_ffn_fn.weight: F32
574
+ blk.20.hc_ffn_scale.weight: F32
575
+ blk.20.indexer.attn_k.weight: BF16
576
+ blk.20.indexer.attn_q_b.weight: BF16
577
+ blk.20.indexer.k_norm.weight: F32
578
+ blk.20.indexer.proj.weight: BF16
579
+ blk.21.attn_kv.weight: Q8_0
580
+ blk.21.attn_kv_a_norm.weight: F32
581
+ blk.21.attn_norm.weight: F32
582
+ blk.21.attn_output_a.weight: Q5_K
583
+ blk.21.attn_output_b.weight: Q5_K
584
+ blk.21.attn_q_a.weight: Q8_0
585
+ blk.21.attn_q_a_norm.weight: F32
586
+ blk.21.attn_q_b.weight: Q5_K
587
+ blk.21.attn_sinks.weight: F32
588
+ blk.21.exp_probs_b.bias: F32
589
+ blk.21.exp_probs_b_vl.bias: F32
590
+ blk.21.ffn_down_exps.weight: IQ1_M
591
+ blk.21.ffn_down_shexp.weight: Q5_K
592
+ blk.21.ffn_gate_exps.weight: IQ1_M
593
+ blk.21.ffn_gate_inp.weight: BF16
594
+ blk.21.ffn_gate_shexp.weight: Q5_K
595
+ blk.21.ffn_norm.weight: F32
596
+ blk.21.ffn_up_exps.weight: IQ1_M
597
+ blk.21.ffn_up_shexp.weight: Q5_K
598
+ blk.21.hc_attn_base.weight: F32
599
+ blk.21.hc_attn_fn.weight: F32
600
+ blk.21.hc_attn_scale.weight: F32
601
+ blk.21.hc_ffn_base.weight: F32
602
+ blk.21.hc_ffn_fn.weight: F32
603
+ blk.21.hc_ffn_scale.weight: F32
604
+ blk.22.attn_kv.weight: Q8_0
605
+ blk.22.attn_kv_a_norm.weight: F32
606
+ blk.22.attn_norm.weight: F32
607
+ blk.22.attn_output_a.weight: Q5_K
608
+ blk.22.attn_output_b.weight: Q5_K
609
+ blk.22.attn_q_a.weight: Q8_0
610
+ blk.22.attn_q_a_norm.weight: F32
611
+ blk.22.attn_q_b.weight: Q5_K
612
+ blk.22.attn_sinks.weight: F32
613
+ blk.22.exp_probs_b.bias: F32
614
+ blk.22.exp_probs_b_vl.bias: F32
615
+ blk.22.ffn_down_exps.weight: IQ2_XXS
616
+ blk.22.ffn_down_shexp.weight: Q5_K
617
+ blk.22.ffn_gate_exps.weight: IQ2_XXS
618
+ blk.22.ffn_gate_inp.weight: BF16
619
+ blk.22.ffn_gate_shexp.weight: Q5_K
620
+ blk.22.ffn_norm.weight: F32
621
+ blk.22.ffn_up_exps.weight: IQ2_XXS
622
+ blk.22.ffn_up_shexp.weight: Q5_K
623
+ blk.22.hc_attn_base.weight: F32
624
+ blk.22.hc_attn_fn.weight: F32
625
+ blk.22.hc_attn_scale.weight: F32
626
+ blk.22.hc_ffn_base.weight: F32
627
+ blk.22.hc_ffn_fn.weight: F32
628
+ blk.22.hc_ffn_scale.weight: F32
629
+ blk.23.attn_kv.weight: Q8_0
630
+ blk.23.attn_kv_a_norm.weight: F32
631
+ blk.23.attn_norm.weight: F32
632
+ blk.23.attn_output_a.weight: Q5_K
633
+ blk.23.attn_output_b.weight: Q5_K
634
+ blk.23.attn_q_a.weight: Q8_0
635
+ blk.23.attn_q_a_norm.weight: F32
636
+ blk.23.attn_q_b.weight: Q5_K
637
+ blk.23.attn_sinks.weight: F32
638
+ blk.23.exp_probs_b.bias: F32
639
+ blk.23.exp_probs_b_vl.bias: F32
640
+ blk.23.ffn_down_exps.weight: IQ2_XS
641
+ blk.23.ffn_down_shexp.weight: Q5_K
642
+ blk.23.ffn_gate_exps.weight: IQ2_XXS
643
+ blk.23.ffn_gate_inp.weight: BF16
644
+ blk.23.ffn_gate_shexp.weight: Q5_K
645
+ blk.23.ffn_norm.weight: F32
646
+ blk.23.ffn_up_exps.weight: IQ2_XXS
647
+ blk.23.ffn_up_shexp.weight: Q5_K
648
+ blk.23.hc_attn_base.weight: F32
649
+ blk.23.hc_attn_fn.weight: F32
650
+ blk.23.hc_attn_scale.weight: F32
651
+ blk.23.hc_ffn_base.weight: F32
652
+ blk.23.hc_ffn_fn.weight: F32
653
+ blk.23.hc_ffn_scale.weight: F32
654
+ blk.24.attn_kv.weight: Q8_0
655
+ blk.24.attn_kv_a_norm.weight: F32
656
+ blk.24.attn_norm.weight: F32
657
+ blk.24.attn_output_a.weight: Q5_K
658
+ blk.24.attn_output_b.weight: Q5_K
659
+ blk.24.attn_q_a.weight: Q8_0
660
+ blk.24.attn_q_a_norm.weight: F32
661
+ blk.24.attn_q_b.weight: Q5_K
662
+ blk.24.attn_sinks.weight: F32
663
+ blk.24.exp_probs_b.bias: F32
664
+ blk.24.exp_probs_b_vl.bias: F32
665
+ blk.24.ffn_down_exps.weight: IQ1_M
666
+ blk.24.ffn_down_shexp.weight: Q5_K
667
+ blk.24.ffn_gate_exps.weight: IQ2_XXS
668
+ blk.24.ffn_gate_inp.weight: BF16
669
+ blk.24.ffn_gate_shexp.weight: Q5_K
670
+ blk.24.ffn_norm.weight: F32
671
+ blk.24.ffn_up_exps.weight: IQ2_XXS
672
+ blk.24.ffn_up_shexp.weight: Q5_K
673
+ blk.24.hc_attn_base.weight: F32
674
+ blk.24.hc_attn_fn.weight: F32
675
+ blk.24.hc_attn_scale.weight: F32
676
+ blk.24.hc_ffn_base.weight: F32
677
+ blk.24.hc_ffn_fn.weight: F32
678
+ blk.24.hc_ffn_scale.weight: F32
679
+ blk.24.indexer.attn_q_b.weight: BF16
680
+ blk.24.indexer.proj.weight: BF16
681
+ blk.25.attn_kv.weight: Q8_0
682
+ blk.25.attn_kv_a_norm.weight: F32
683
+ blk.25.attn_norm.weight: F32
684
+ blk.25.attn_output_a.weight: Q5_K
685
+ blk.25.attn_output_b.weight: Q5_K
686
+ blk.25.attn_q_a.weight: Q8_0
687
+ blk.25.attn_q_a_norm.weight: F32
688
+ blk.25.attn_q_b.weight: Q5_K
689
+ blk.25.attn_sinks.weight: F32
690
+ blk.25.exp_probs_b.bias: F32
691
+ blk.25.exp_probs_b_vl.bias: F32
692
+ blk.25.ffn_down_exps.weight: IQ2_XXS
693
+ blk.25.ffn_down_shexp.weight: Q5_K
694
+ blk.25.ffn_gate_exps.weight: IQ2_XXS
695
+ blk.25.ffn_gate_inp.weight: BF16
696
+ blk.25.ffn_gate_shexp.weight: Q5_K
697
+ blk.25.ffn_norm.weight: F32
698
+ blk.25.ffn_up_exps.weight: IQ2_XXS
699
+ blk.25.ffn_up_shexp.weight: Q5_K
700
+ blk.25.hc_attn_base.weight: F32
701
+ blk.25.hc_attn_fn.weight: F32
702
+ blk.25.hc_attn_scale.weight: F32
703
+ blk.25.hc_ffn_base.weight: F32
704
+ blk.25.hc_ffn_fn.weight: F32
705
+ blk.25.hc_ffn_scale.weight: F32
706
+ blk.26.attn_kv.weight: Q8_0
707
+ blk.26.attn_kv_a_norm.weight: F32
708
+ blk.26.attn_norm.weight: F32
709
+ blk.26.attn_output_a.weight: Q5_K
710
+ blk.26.attn_output_b.weight: Q5_K
711
+ blk.26.attn_q_a.weight: Q8_0
712
+ blk.26.attn_q_a_norm.weight: F32
713
+ blk.26.attn_q_b.weight: Q5_K
714
+ blk.26.attn_sinks.weight: F32
715
+ blk.26.exp_probs_b.bias: F32
716
+ blk.26.exp_probs_b_vl.bias: F32
717
+ blk.26.ffn_down_exps.weight: IQ2_XS
718
+ blk.26.ffn_down_shexp.weight: Q5_K
719
+ blk.26.ffn_gate_exps.weight: IQ2_XXS
720
+ blk.26.ffn_gate_inp.weight: BF16
721
+ blk.26.ffn_gate_shexp.weight: Q5_K
722
+ blk.26.ffn_norm.weight: F32
723
+ blk.26.ffn_up_exps.weight: IQ2_XXS
724
+ blk.26.ffn_up_shexp.weight: Q5_K
725
+ blk.26.hc_attn_base.weight: F32
726
+ blk.26.hc_attn_fn.weight: F32
727
+ blk.26.hc_attn_scale.weight: F32
728
+ blk.26.hc_ffn_base.weight: F32
729
+ blk.26.hc_ffn_fn.weight: F32
730
+ blk.26.hc_ffn_scale.weight: F32
731
+ blk.27.attn_kv.weight: Q8_0
732
+ blk.27.attn_kv_a_norm.weight: F32
733
+ blk.27.attn_norm.weight: F32
734
+ blk.27.attn_output_a.weight: Q5_K
735
+ blk.27.attn_output_b.weight: Q5_K
736
+ blk.27.attn_q_a.weight: Q8_0
737
+ blk.27.attn_q_a_norm.weight: F32
738
+ blk.27.attn_q_b.weight: Q5_K
739
+ blk.27.attn_sinks.weight: F32
740
+ blk.27.exp_probs_b.bias: F32
741
+ blk.27.exp_probs_b_vl.bias: F32
742
+ blk.27.ffn_down_exps.weight: IQ1_M
743
+ blk.27.ffn_down_shexp.weight: Q5_K
744
+ blk.27.ffn_gate_exps.weight: IQ2_XS
745
+ blk.27.ffn_gate_inp.weight: BF16
746
+ blk.27.ffn_gate_shexp.weight: Q5_K
747
+ blk.27.ffn_norm.weight: F32
748
+ blk.27.ffn_up_exps.weight: IQ2_XS
749
+ blk.27.ffn_up_shexp.weight: Q5_K
750
+ blk.27.hc_attn_base.weight: F32
751
+ blk.27.hc_attn_fn.weight: F32
752
+ blk.27.hc_attn_scale.weight: F32
753
+ blk.27.hc_ffn_base.weight: F32
754
+ blk.27.hc_ffn_fn.weight: F32
755
+ blk.27.hc_ffn_scale.weight: F32
756
+ blk.28.attn_kv.weight: Q8_0
757
+ blk.28.attn_kv_a_norm.weight: F32
758
+ blk.28.attn_norm.weight: F32
759
+ blk.28.attn_output_a.weight: Q5_K
760
+ blk.28.attn_output_b.weight: Q5_K
761
+ blk.28.attn_q_a.weight: Q8_0
762
+ blk.28.attn_q_a_norm.weight: F32
763
+ blk.28.attn_q_b.weight: Q5_K
764
+ blk.28.attn_sinks.weight: F32
765
+ blk.28.exp_probs_b.bias: F32
766
+ blk.28.exp_probs_b_vl.bias: F32
767
+ blk.28.ffn_down_exps.weight: IQ2_XXS
768
+ blk.28.ffn_down_shexp.weight: Q5_K
769
+ blk.28.ffn_gate_exps.weight: IQ2_XXS
770
+ blk.28.ffn_gate_inp.weight: BF16
771
+ blk.28.ffn_gate_shexp.weight: Q5_K
772
+ blk.28.ffn_norm.weight: F32
773
+ blk.28.ffn_up_exps.weight: IQ2_XXS
774
+ blk.28.ffn_up_shexp.weight: Q5_K
775
+ blk.28.hc_attn_base.weight: F32
776
+ blk.28.hc_attn_fn.weight: F32
777
+ blk.28.hc_attn_scale.weight: F32
778
+ blk.28.hc_ffn_base.weight: F32
779
+ blk.28.hc_ffn_fn.weight: F32
780
+ blk.28.hc_ffn_scale.weight: F32
781
+ blk.28.indexer.attn_q_b.weight: BF16
782
+ blk.28.indexer.proj.weight: BF16
783
+ blk.29.attn_kv.weight: Q8_0
784
+ blk.29.attn_kv_a_norm.weight: F32
785
+ blk.29.attn_norm.weight: F32
786
+ blk.29.attn_output_a.weight: Q5_K
787
+ blk.29.attn_output_b.weight: Q5_K
788
+ blk.29.attn_q_a.weight: Q8_0
789
+ blk.29.attn_q_a_norm.weight: F32
790
+ blk.29.attn_q_b.weight: Q5_K
791
+ blk.29.attn_sinks.weight: F32
792
+ blk.29.exp_probs_b.bias: F32
793
+ blk.29.exp_probs_b_vl.bias: F32
794
+ blk.29.ffn_down_exps.weight: IQ1_M
795
+ blk.29.ffn_down_shexp.weight: Q5_K
796
+ blk.29.ffn_gate_exps.weight: IQ2_XXS
797
+ blk.29.ffn_gate_inp.weight: BF16
798
+ blk.29.ffn_gate_shexp.weight: Q5_K
799
+ blk.29.ffn_norm.weight: F32
800
+ blk.29.ffn_up_exps.weight: IQ2_XXS
801
+ blk.29.ffn_up_shexp.weight: Q5_K
802
+ blk.29.hc_attn_base.weight: F32
803
+ blk.29.hc_attn_fn.weight: F32
804
+ blk.29.hc_attn_scale.weight: F32
805
+ blk.29.hc_ffn_base.weight: F32
806
+ blk.29.hc_ffn_fn.weight: F32
807
+ blk.29.hc_ffn_scale.weight: F32
808
+ blk.30.attn_kv.weight: Q8_0
809
+ blk.30.attn_kv_a_norm.weight: F32
810
+ blk.30.attn_norm.weight: F32
811
+ blk.30.attn_output_a.weight: Q5_K
812
+ blk.30.attn_output_b.weight: Q5_K
813
+ blk.30.attn_q_a.weight: Q8_0
814
+ blk.30.attn_q_a_norm.weight: F32
815
+ blk.30.attn_q_b.weight: Q5_K
816
+ blk.30.attn_sinks.weight: F32
817
+ blk.30.exp_probs_b.bias: F32
818
+ blk.30.exp_probs_b_vl.bias: F32
819
+ blk.30.ffn_down_exps.weight: IQ1_M
820
+ blk.30.ffn_down_shexp.weight: Q5_K
821
+ blk.30.ffn_gate_exps.weight: IQ1_M
822
+ blk.30.ffn_gate_inp.weight: BF16
823
+ blk.30.ffn_gate_shexp.weight: Q5_K
824
+ blk.30.ffn_norm.weight: F32
825
+ blk.30.ffn_up_exps.weight: IQ1_M
826
+ blk.30.ffn_up_shexp.weight: Q5_K
827
+ blk.30.hc_attn_base.weight: F32
828
+ blk.30.hc_attn_fn.weight: F32
829
+ blk.30.hc_attn_scale.weight: F32
830
+ blk.30.hc_ffn_base.weight: F32
831
+ blk.30.hc_ffn_fn.weight: F32
832
+ blk.30.hc_ffn_scale.weight: F32
833
+ blk.31.attn_kv.weight: Q8_0
834
+ blk.31.attn_kv_a_norm.weight: F32
835
+ blk.31.attn_norm.weight: F32
836
+ blk.31.attn_output_a.weight: Q5_K
837
+ blk.31.attn_output_b.weight: Q5_K
838
+ blk.31.attn_q_a.weight: Q8_0
839
+ blk.31.attn_q_a_norm.weight: F32
840
+ blk.31.attn_q_b.weight: Q5_K
841
+ blk.31.attn_sinks.weight: F32
842
+ blk.31.exp_probs_b.bias: F32
843
+ blk.31.exp_probs_b_vl.bias: F32
844
+ blk.31.ffn_down_exps.weight: IQ1_M
845
+ blk.31.ffn_down_shexp.weight: Q5_K
846
+ blk.31.ffn_gate_exps.weight: IQ2_XXS
847
+ blk.31.ffn_gate_inp.weight: BF16
848
+ blk.31.ffn_gate_shexp.weight: Q5_K
849
+ blk.31.ffn_norm.weight: F32
850
+ blk.31.ffn_up_exps.weight: IQ2_XXS
851
+ blk.31.ffn_up_shexp.weight: Q5_K
852
+ blk.31.hc_attn_base.weight: F32
853
+ blk.31.hc_attn_fn.weight: F32
854
+ blk.31.hc_attn_scale.weight: F32
855
+ blk.31.hc_ffn_base.weight: F32
856
+ blk.31.hc_ffn_fn.weight: F32
857
+ blk.31.hc_ffn_scale.weight: F32
858
+ blk.32.attn_kv.weight: Q8_0
859
+ blk.32.attn_kv_a_norm.weight: F32
860
+ blk.32.attn_norm.weight: F32
861
+ blk.32.attn_output_a.weight: Q5_K
862
+ blk.32.attn_output_b.weight: Q5_K
863
+ blk.32.attn_q_a.weight: Q8_0
864
+ blk.32.attn_q_a_norm.weight: F32
865
+ blk.32.attn_q_b.weight: Q5_K
866
+ blk.32.attn_sinks.weight: F32
867
+ blk.32.exp_probs_b.bias: F32
868
+ blk.32.exp_probs_b_vl.bias: F32
869
+ blk.32.ffn_down_exps.weight: IQ1_M
870
+ blk.32.ffn_down_shexp.weight: Q5_K
871
+ blk.32.ffn_gate_exps.weight: IQ2_XXS
872
+ blk.32.ffn_gate_inp.weight: BF16
873
+ blk.32.ffn_gate_shexp.weight: Q5_K
874
+ blk.32.ffn_norm.weight: F32
875
+ blk.32.ffn_up_exps.weight: IQ2_XXS
876
+ blk.32.ffn_up_shexp.weight: Q5_K
877
+ blk.32.hc_attn_base.weight: F32
878
+ blk.32.hc_attn_fn.weight: F32
879
+ blk.32.hc_attn_scale.weight: F32
880
+ blk.32.hc_ffn_base.weight: F32
881
+ blk.32.hc_ffn_fn.weight: F32
882
+ blk.32.hc_ffn_scale.weight: F32
883
+ blk.32.indexer.attn_q_b.weight: BF16
884
+ blk.32.indexer.proj.weight: BF16
885
+ blk.33.attn_kv.weight: Q8_0
886
+ blk.33.attn_kv_a_norm.weight: F32
887
+ blk.33.attn_norm.weight: F32
888
+ blk.33.attn_output_a.weight: Q5_K
889
+ blk.33.attn_output_b.weight: Q5_K
890
+ blk.33.attn_q_a.weight: Q8_0
891
+ blk.33.attn_q_a_norm.weight: F32
892
+ blk.33.attn_q_b.weight: Q5_K
893
+ blk.33.attn_sinks.weight: F32
894
+ blk.33.exp_probs_b.bias: F32
895
+ blk.33.exp_probs_b_vl.bias: F32
896
+ blk.33.ffn_down_exps.weight: IQ2_XS
897
+ blk.33.ffn_down_shexp.weight: Q5_K
898
+ blk.33.ffn_gate_exps.weight: IQ2_XXS
899
+ blk.33.ffn_gate_inp.weight: BF16
900
+ blk.33.ffn_gate_shexp.weight: Q5_K
901
+ blk.33.ffn_norm.weight: F32
902
+ blk.33.ffn_up_exps.weight: IQ2_XXS
903
+ blk.33.ffn_up_shexp.weight: Q5_K
904
+ blk.33.hc_attn_base.weight: F32
905
+ blk.33.hc_attn_fn.weight: F32
906
+ blk.33.hc_attn_scale.weight: F32
907
+ blk.33.hc_ffn_base.weight: F32
908
+ blk.33.hc_ffn_fn.weight: F32
909
+ blk.33.hc_ffn_scale.weight: F32
910
+ blk.34.attn_kv.weight: Q8_0
911
+ blk.34.attn_kv_a_norm.weight: F32
912
+ blk.34.attn_norm.weight: F32
913
+ blk.34.attn_output_a.weight: Q5_K
914
+ blk.34.attn_output_b.weight: Q5_K
915
+ blk.34.attn_q_a.weight: Q8_0
916
+ blk.34.attn_q_a_norm.weight: F32
917
+ blk.34.attn_q_b.weight: Q5_K
918
+ blk.34.attn_sinks.weight: F32
919
+ blk.34.exp_probs_b.bias: F32
920
+ blk.34.exp_probs_b_vl.bias: F32
921
+ blk.34.ffn_down_exps.weight: IQ1_M
922
+ blk.34.ffn_down_shexp.weight: Q5_K
923
+ blk.34.ffn_gate_exps.weight: IQ2_XS
924
+ blk.34.ffn_gate_inp.weight: BF16
925
+ blk.34.ffn_gate_shexp.weight: Q5_K
926
+ blk.34.ffn_norm.weight: F32
927
+ blk.34.ffn_up_exps.weight: IQ2_XS
928
+ blk.34.ffn_up_shexp.weight: Q5_K
929
+ blk.34.hc_attn_base.weight: F32
930
+ blk.34.hc_attn_fn.weight: F32
931
+ blk.34.hc_attn_scale.weight: F32
932
+ blk.34.hc_ffn_base.weight: F32
933
+ blk.34.hc_ffn_fn.weight: F32
934
+ blk.34.hc_ffn_scale.weight: F32
935
+ blk.35.attn_kv.weight: Q8_0
936
+ blk.35.attn_kv_a_norm.weight: F32
937
+ blk.35.attn_norm.weight: F32
938
+ blk.35.attn_output_a.weight: Q5_K
939
+ blk.35.attn_output_b.weight: Q5_K
940
+ blk.35.attn_q_a.weight: Q8_0
941
+ blk.35.attn_q_a_norm.weight: F32
942
+ blk.35.attn_q_b.weight: Q5_K
943
+ blk.35.attn_sinks.weight: F32
944
+ blk.35.exp_probs_b.bias: F32
945
+ blk.35.exp_probs_b_vl.bias: F32
946
+ blk.35.ffn_down_exps.weight: IQ1_M
947
+ blk.35.ffn_down_shexp.weight: Q5_K
948
+ blk.35.ffn_gate_exps.weight: IQ2_XS
949
+ blk.35.ffn_gate_inp.weight: BF16
950
+ blk.35.ffn_gate_shexp.weight: Q5_K
951
+ blk.35.ffn_norm.weight: F32
952
+ blk.35.ffn_up_exps.weight: IQ2_XS
953
+ blk.35.ffn_up_shexp.weight: Q5_K
954
+ blk.35.hc_attn_base.weight: F32
955
+ blk.35.hc_attn_fn.weight: F32
956
+ blk.35.hc_attn_scale.weight: F32
957
+ blk.35.hc_ffn_base.weight: F32
958
+ blk.35.hc_ffn_fn.weight: F32
959
+ blk.35.hc_ffn_scale.weight: F32
960
+ blk.36.attn_kv.weight: Q8_0
961
+ blk.36.attn_kv_a_norm.weight: F32
962
+ blk.36.attn_norm.weight: F32
963
+ blk.36.attn_output_a.weight: Q5_K
964
+ blk.36.attn_output_b.weight: Q5_K
965
+ blk.36.attn_q_a.weight: Q8_0
966
+ blk.36.attn_q_a_norm.weight: F32
967
+ blk.36.attn_q_b.weight: Q5_K
968
+ blk.36.attn_sinks.weight: F32
969
+ blk.36.exp_probs_b.bias: F32
970
+ blk.36.exp_probs_b_vl.bias: F32
971
+ blk.36.ffn_down_exps.weight: IQ1_M
972
+ blk.36.ffn_down_shexp.weight: Q5_K
973
+ blk.36.ffn_gate_exps.weight: IQ2_XXS
974
+ blk.36.ffn_gate_inp.weight: BF16
975
+ blk.36.ffn_gate_shexp.weight: Q5_K
976
+ blk.36.ffn_norm.weight: F32
977
+ blk.36.ffn_up_exps.weight: IQ2_XXS
978
+ blk.36.ffn_up_shexp.weight: Q5_K
979
+ blk.36.hc_attn_base.weight: F32
980
+ blk.36.hc_attn_fn.weight: F32
981
+ blk.36.hc_attn_scale.weight: F32
982
+ blk.36.hc_ffn_base.weight: F32
983
+ blk.36.hc_ffn_fn.weight: F32
984
+ blk.36.hc_ffn_scale.weight: F32
985
+ blk.36.indexer.attn_q_b.weight: BF16
986
+ blk.36.indexer.proj.weight: BF16
987
+ blk.37.attn_kv.weight: Q8_0
988
+ blk.37.attn_kv_a_norm.weight: F32
989
+ blk.37.attn_norm.weight: F32
990
+ blk.37.attn_output_a.weight: Q5_K
991
+ blk.37.attn_output_b.weight: Q5_K
992
+ blk.37.attn_q_a.weight: Q8_0
993
+ blk.37.attn_q_a_norm.weight: F32
994
+ blk.37.attn_q_b.weight: Q5_K
995
+ blk.37.attn_sinks.weight: F32
996
+ blk.37.exp_probs_b.bias: F32
997
+ blk.37.exp_probs_b_vl.bias: F32
998
+ blk.37.ffn_down_exps.weight: IQ1_M
999
+ blk.37.ffn_down_shexp.weight: Q5_K
1000
+ blk.37.ffn_gate_exps.weight: IQ2_XXS
1001
+ blk.37.ffn_gate_inp.weight: BF16
1002
+ blk.37.ffn_gate_shexp.weight: Q5_K
1003
+ blk.37.ffn_norm.weight: F32
1004
+ blk.37.ffn_up_exps.weight: IQ2_XXS
1005
+ blk.37.ffn_up_shexp.weight: Q5_K
1006
+ blk.37.hc_attn_base.weight: F32
1007
+ blk.37.hc_attn_fn.weight: F32
1008
+ blk.37.hc_attn_scale.weight: F32
1009
+ blk.37.hc_ffn_base.weight: F32
1010
+ blk.37.hc_ffn_fn.weight: F32
1011
+ blk.37.hc_ffn_scale.weight: F32
1012
+ blk.38.attn_kv.weight: Q8_0
1013
+ blk.38.attn_kv_a_norm.weight: F32
1014
+ blk.38.attn_norm.weight: F32
1015
+ blk.38.attn_output_a.weight: Q5_K
1016
+ blk.38.attn_output_b.weight: Q5_K
1017
+ blk.38.attn_q_a.weight: Q8_0
1018
+ blk.38.attn_q_a_norm.weight: F32
1019
+ blk.38.attn_q_b.weight: Q5_K
1020
+ blk.38.attn_sinks.weight: F32
1021
+ blk.38.exp_probs_b.bias: F32
1022
+ blk.38.exp_probs_b_vl.bias: F32
1023
+ blk.38.ffn_down_exps.weight: IQ2_XXS
1024
+ blk.38.ffn_down_shexp.weight: Q5_K
1025
+ blk.38.ffn_gate_exps.weight: IQ2_XS
1026
+ blk.38.ffn_gate_inp.weight: BF16
1027
+ blk.38.ffn_gate_shexp.weight: Q5_K
1028
+ blk.38.ffn_norm.weight: F32
1029
+ blk.38.ffn_up_exps.weight: IQ2_XS
1030
+ blk.38.ffn_up_shexp.weight: Q5_K
1031
+ blk.38.hc_attn_base.weight: F32
1032
+ blk.38.hc_attn_fn.weight: F32
1033
+ blk.38.hc_attn_scale.weight: F32
1034
+ blk.38.hc_ffn_base.weight: F32
1035
+ blk.38.hc_ffn_fn.weight: F32
1036
+ blk.38.hc_ffn_scale.weight: F32
1037
+ blk.39.attn_kv.weight: Q8_0
1038
+ blk.39.attn_kv_a_norm.weight: F32
1039
+ blk.39.attn_norm.weight: F32
1040
+ blk.39.attn_output_a.weight: Q5_K
1041
+ blk.39.attn_output_b.weight: Q5_K
1042
+ blk.39.attn_q_a.weight: Q8_0
1043
+ blk.39.attn_q_a_norm.weight: F32
1044
+ blk.39.attn_q_b.weight: Q5_K
1045
+ blk.39.attn_sinks.weight: F32
1046
+ blk.39.exp_probs_b.bias: F32
1047
+ blk.39.exp_probs_b_vl.bias: F32
1048
+ blk.39.ffn_down_exps.weight: IQ2_XS
1049
+ blk.39.ffn_down_shexp.weight: Q5_K
1050
+ blk.39.ffn_gate_exps.weight: IQ2_XS
1051
+ blk.39.ffn_gate_inp.weight: BF16
1052
+ blk.39.ffn_gate_shexp.weight: Q5_K
1053
+ blk.39.ffn_norm.weight: F32
1054
+ blk.39.ffn_up_exps.weight: IQ2_XS
1055
+ blk.39.ffn_up_shexp.weight: Q5_K
1056
+ blk.39.hc_attn_base.weight: F32
1057
+ blk.39.hc_attn_fn.weight: F32
1058
+ blk.39.hc_attn_scale.weight: F32
1059
+ blk.39.hc_ffn_base.weight: F32
1060
+ blk.39.hc_ffn_fn.weight: F32
1061
+ blk.39.hc_ffn_scale.weight: F32