jason-schulz commited on
Commit
b7ae4db
·
verified ·
1 Parent(s): 230f55e

Add oQ6e build of KAT-Coder-V2.5-Dev-VL with restored vision tower and MTP head

Browse files
.gitattributes CHANGED
@@ -33,3 +33,4 @@ saved_model/**/* 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
 
 
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
+ tokenizer.json filter=lfs diff=lfs merge=lfs -text
README.md ADDED
@@ -0,0 +1,134 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: apache-2.0
3
+ language:
4
+ - en
5
+ - zh
6
+ pipeline_tag: image-text-to-text
7
+ library_name: mlx
8
+ tags:
9
+ - code
10
+ - agent
11
+ - agentic-coding
12
+ - moe
13
+ - coding
14
+ - vision
15
+ - mtp
16
+ - speculative-decoding
17
+ - omlx
18
+ - apple-silicon
19
+ base_model:
20
+ - Kwaipilot/KAT-Coder-V2.5-Dev
21
+ - Qwen/Qwen3.6-35B-A3B
22
+ ---
23
+
24
+ # KAT-Coder-V2.5-Dev-VL-oQ6e-mtp
25
+
26
+ [`Kwaipilot/KAT-Coder-V2.5-Dev`](https://huggingface.co/Kwaipilot/KAT-Coder-V2.5-Dev) with its
27
+ **vision tower and MTP head restored** from the base model it was fine-tuned from, quantized to
28
+ 6-bit for Apple Silicon. **28 GB.**
29
+
30
+ This is the 6-bit member of a set built from one bf16 master:
31
+
32
+ | level | size | HumanEval pass@1 | MTP acceptance | tok/cycle |
33
+ |---|---|---|---|---|
34
+ | [oQ8e](https://huggingface.co/jason-schulz/KAT-Coder-V2.5-Dev-VL-oQ8e-mtp) | 36 GB | 0.8598 | 74.1% | 2.27 |
35
+ | [oQ6e](https://huggingface.co/jason-schulz/KAT-Coder-V2.5-Dev-VL-oQ6e-mtp) | 28 GB | 0.8659 | 75.5% | 2.46 |
36
+ | [oQ4e](https://huggingface.co/jason-schulz/KAT-Coder-V2.5-Dev-VL-oQ4e-mtp) | 20 GB | 0.8963 | 79.3% | 2.54 |
37
+
38
+ **Read the accuracy column as a tie, not a ranking.** All three were measured the same day, same
39
+ settings (full 164 problems, `batch_size=1`, thinking enabled, deterministic profile). The oQ8e
40
+ build scored 146/164 on an earlier run and 141/164 on the run in this table — a 5-problem swing on
41
+ an unchanged model, which is as large as the entire spread between levels. Speculative decoding plus
42
+ Metal batching numerics means "deterministic" is not bit-reproducible here. The honest conclusion is
43
+ that **8, 6, and 4-bit are indistinguishable on this benchmark**, not that 4-bit is better.
44
+
45
+ > **Read this first: what you need to load it.**
46
+ >
47
+ > The `oQ6e` quantization is **not** a proprietary format. oQ writes standard mlx-lm safetensors
48
+ > with a standard per-module quantization config, and portable oQ models load in stock MLX apps.
49
+ >
50
+ > **What makes *this repo* oMLX-only is the restored MTP head.** Stock `mlx-vlm` does a strict load
51
+ > and rejects the 42 extra `language_model.mtp.*` tensors:
52
+ > `ValueError: Received 42 parameters not in model`. So as published this needs
53
+ > [oMLX](https://github.com/jundot/omlx) on Apple Silicon — for the MTP tensors, not the quant.
54
+ >
55
+ > Not loadable by llama.cpp, vLLM, or Transformers (MLX safetensors either way).
56
+
57
+ ## What was done
58
+
59
+ | | source |
60
+ |---|---|
61
+ | text weights | `Kwaipilot/KAT-Coder-V2.5-Dev`, unmodified (bit-exact; only the MoE expert tensor **layout** was converted) |
62
+ | vision tower (333 tensors) | `Qwen/Qwen3.6-35B-A3B` |
63
+ | MTP head (19 tensors) | `Qwen/Qwen3.6-35B-A3B` |
64
+ | quantization | oMLX `oQ6` enhanced, `group_size=64`, affine, bf16 scales, 128x512 imatrix |
65
+
66
+ Kwaipilot's open-weight release ships language-model weights only — the vision components and the
67
+ multi-token-prediction head were stripped. Both are recoverable because KAT's `config.json` is
68
+ byte-identical to `Qwen/Qwen3.6-35B-A3B`'s except for one field, and the text architecture is
69
+ unchanged.
70
+
71
+ The tensor key set is **identical** to an oMLX `oQ8e-mtp` build of the stock base model — 2052
72
+ tensors, with the MTP head correctly `switch_mlp`-named.
73
+
74
+ ## Verification
75
+
76
+ Measured on this exact checkpoint:
77
+
78
+ - **Loads as a VLM.** Server log reports `VLMBatchedEngine loaded`, not the silent VLM to LLM
79
+ fallback that yields a vision-less model.
80
+ - **Vision.** 8-part probe (dense code screenshots, high-entropy strings, UI defect-spotting, mixed
81
+ heading sizes, sparse-glyph sweeps). Transcription is exact except for two failure modes the
82
+ **native Qwen3.6 base reproduces as well**: the capital `Q` in `sk-7Qv3...` reads as lowercase,
83
+ and a sparse 384x320 @64px image misreads. No regression against the oQ8e build.
84
+ - **MTP.** 75.5% draft acceptance, 2.46 tokens/cycle over 8 generations.
85
+ - **HumanEval.** 0.8659 pass@1 (142/164), 739.7s, thinking enabled.
86
+
87
+ **Caveat on MTP at low bit depths.** oMLX warns that quantizing a preserved MTP head can collapse
88
+ draft acceptance toward ~0%. That did not happen here, and the likely reason is that the imatrix was
89
+ **recomputed with the MTP head present** rather than reused from a pre-graft cache. If you build
90
+ your own level from a stale imatrix, check the `MTP[n] ... accept=` line before trusting the
91
+ speedup — do not assume 4-bit is universally safe for MTP-preserved heads.
92
+
93
+ ## Reproducing
94
+
95
+ Build scripts live in the oQ8e repo: [`build/merge_kat_vl.py`](https://huggingface.co/jason-schulz/KAT-Coder-V2.5-Dev-VL-oQ8e-mtp/blob/main/build/merge_kat_vl.py)
96
+ and [`build/graft_mtp.py`](https://huggingface.co/jason-schulz/KAT-Coder-V2.5-Dev-VL-oQ8e-mtp/blob/main/build/graft_mtp.py), with full instructions in its
97
+ [README](https://huggingface.co/jason-schulz/KAT-Coder-V2.5-Dev-VL-oQ8e-mtp#reproducing). Budget ~146 GB of free disk; peak RAM is about 8 GB.
98
+
99
+ Steps 1 and 2 produce the bf16 master. This repo is step 3 with `"oq_level": 6`:
100
+
101
+ ```bash
102
+ curl -X POST http://127.0.0.1:8899/admin/api/oq/start \
103
+ -H 'Content-Type: application/json' -d '{
104
+ "model_path": "'"$HOME"'/Models/_build/KAT-Coder-V2.5-Dev-VL",
105
+ "oq_level": 6, "enhanced": true, "dtype": "bfloat16", "group_size": 64,
106
+ "preserve_mtp": true }'
107
+ ```
108
+
109
+ Then set `mtp_enabled` on the new model id — it is per-model and off by default, and a model with
110
+ MTP disabled logs no acceptance line at all, which is easy to misread as a collapsed head.
111
+
112
+ ## Limitations
113
+
114
+ - **oMLX only *as published*** — because of the MTP head, not the quantization. Strip the `mtp.*`
115
+ tensors and set `text_config.mtp_num_hidden_layers = 0` and the remainder is a portable oQ
116
+ checkpoint that loads in stock MLX apps; you lose speculative decoding, keep vision and the text
117
+ model.
118
+ - **Vision is untrained for this checkpoint.** Good for screenshots of code/terminals/UI; unreliable
119
+ for isolated large glyphs and occasionally for single characters in random strings.
120
+ - **Set a `max_tokens` cap.** Long reasoning excursions stall rather than error in an agent loop.
121
+ - HumanEval is a narrow benchmark. "Indistinguishable on HumanEval" is not "indistinguishable in
122
+ agentic coding use" — if you have a workload that discriminates between these levels, that result
123
+ is more informative than the table above.
124
+ - Chinese/English only, inherited from the base.
125
+
126
+ ## Credits
127
+
128
+ - [Kwaipilot](https://huggingface.co/Kwaipilot) — KAT-Coder-V2.5-Dev
129
+ - [Qwen](https://huggingface.co/Qwen) — Qwen3.6-35B-A3B, source of the vision tower and MTP head
130
+ - [oMLX](https://github.com/jundot/omlx) — quantization and serving
131
+ - The [KAT-Coder community discussions](https://huggingface.co/Kwaipilot/KAT-Coder-V2.5-Dev/discussions),
132
+ where the vision and MTP transplants were first proposed and tested
133
+
134
+ Apache-2.0, inherited from both parents.
chat_template.jinja ADDED
@@ -0,0 +1,154 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {%- set image_count = namespace(value=0) %}
2
+ {%- set video_count = namespace(value=0) %}
3
+ {%- macro render_content(content, do_vision_count, is_system_content=false) %}
4
+ {%- if content is string %}
5
+ {{- content }}
6
+ {%- elif content is iterable and content is not mapping %}
7
+ {%- for item in content %}
8
+ {%- if 'image' in item or 'image_url' in item or item.type == 'image' %}
9
+ {%- if is_system_content %}
10
+ {{- raise_exception('System message cannot contain images.') }}
11
+ {%- endif %}
12
+ {%- if do_vision_count %}
13
+ {%- set image_count.value = image_count.value + 1 %}
14
+ {%- endif %}
15
+ {%- if add_vision_id %}
16
+ {{- 'Picture ' ~ image_count.value ~ ': ' }}
17
+ {%- endif %}
18
+ {{- '<|vision_start|><|image_pad|><|vision_end|>' }}
19
+ {%- elif 'video' in item or item.type == 'video' %}
20
+ {%- if is_system_content %}
21
+ {{- raise_exception('System message cannot contain videos.') }}
22
+ {%- endif %}
23
+ {%- if do_vision_count %}
24
+ {%- set video_count.value = video_count.value + 1 %}
25
+ {%- endif %}
26
+ {%- if add_vision_id %}
27
+ {{- 'Video ' ~ video_count.value ~ ': ' }}
28
+ {%- endif %}
29
+ {{- '<|vision_start|><|video_pad|><|vision_end|>' }}
30
+ {%- elif 'text' in item %}
31
+ {{- item.text }}
32
+ {%- else %}
33
+ {{- raise_exception('Unexpected item type in content.') }}
34
+ {%- endif %}
35
+ {%- endfor %}
36
+ {%- elif content is none or content is undefined %}
37
+ {{- '' }}
38
+ {%- else %}
39
+ {{- raise_exception('Unexpected content type.') }}
40
+ {%- endif %}
41
+ {%- endmacro %}
42
+ {%- if not messages %}
43
+ {{- raise_exception('No messages provided.') }}
44
+ {%- endif %}
45
+ {%- if tools and tools is iterable and tools is not mapping %}
46
+ {{- '<|im_start|>system\n' }}
47
+ {{- "# Tools\n\nYou have access to the following functions:\n\n<tools>" }}
48
+ {%- for tool in tools %}
49
+ {{- "\n" }}
50
+ {{- tool | tojson }}
51
+ {%- endfor %}
52
+ {{- "\n</tools>" }}
53
+ {{- '\n\nIf you choose to call a function ONLY reply in the following format with NO suffix:\n\n<tool_call>\n<function=example_function_name>\n<parameter=example_parameter_1>\nvalue_1\n</parameter>\n<parameter=example_parameter_2>\nThis is the value for the second parameter\nthat can span\nmultiple lines\n</parameter>\n</function>\n</tool_call>\n\n<IMPORTANT>\nReminder:\n- Function calls MUST follow the specified format: an inner <function=...></function> block must be nested within <tool_call></tool_call> XML tags\n- Required parameters MUST be specified\n- You may provide optional reasoning for your function call in natural language BEFORE the function call, but NOT after\n- If there is no function call available, answer the question like normal with your current knowledge and do not tell the user about function calls\n</IMPORTANT>' }}
54
+ {%- if messages[0].role == 'system' %}
55
+ {%- set content = render_content(messages[0].content, false, true)|trim %}
56
+ {%- if content %}
57
+ {{- '\n\n' + content }}
58
+ {%- endif %}
59
+ {%- endif %}
60
+ {{- '<|im_end|>\n' }}
61
+ {%- else %}
62
+ {%- if messages[0].role == 'system' %}
63
+ {%- set content = render_content(messages[0].content, false, true)|trim %}
64
+ {{- '<|im_start|>system\n' + content + '<|im_end|>\n' }}
65
+ {%- endif %}
66
+ {%- endif %}
67
+ {%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}
68
+ {%- for message in messages[::-1] %}
69
+ {%- set index = (messages|length - 1) - loop.index0 %}
70
+ {%- if ns.multi_step_tool and message.role == "user" %}
71
+ {%- set content = render_content(message.content, false)|trim %}
72
+ {%- if not(content.startswith('<tool_response>') and content.endswith('</tool_response>')) %}
73
+ {%- set ns.multi_step_tool = false %}
74
+ {%- set ns.last_query_index = index %}
75
+ {%- endif %}
76
+ {%- endif %}
77
+ {%- endfor %}
78
+ {%- if ns.multi_step_tool %}
79
+ {{- raise_exception('No user query found in messages.') }}
80
+ {%- endif %}
81
+ {%- for message in messages %}
82
+ {%- set content = render_content(message.content, true)|trim %}
83
+ {%- if message.role == "system" %}
84
+ {%- if not loop.first %}
85
+ {{- '<|im_start|>system\n' + content + '<|im_end|>' + '\n' }}
86
+ {%- endif %}
87
+ {%- elif message.role == "user" %}
88
+ {{- '<|im_start|>' + message.role + '\n' + content + '<|im_end|>' + '\n' }}
89
+ {%- elif message.role == "assistant" %}
90
+ {%- set reasoning_content = '' %}
91
+ {%- if message.reasoning_content is string %}
92
+ {%- set reasoning_content = message.reasoning_content %}
93
+ {%- else %}
94
+ {%- if '</think>' in content %}
95
+ {%- set reasoning_content = content.split('</think>')[0].rstrip('\n').split('<think>')[-1].lstrip('\n') %}
96
+ {%- set content = content.split('</think>')[-1].lstrip('\n') %}
97
+ {%- endif %}
98
+ {%- endif %}
99
+ {%- set reasoning_content = reasoning_content|trim %}
100
+ {%- if (preserve_thinking is defined and preserve_thinking is true) or (loop.index0 > ns.last_query_index) %}
101
+ {{- '<|im_start|>' + message.role + '\n<think>\n' + reasoning_content + '\n</think>\n\n' + content }}
102
+ {%- else %}
103
+ {{- '<|im_start|>' + message.role + '\n' + content }}
104
+ {%- endif %}
105
+ {%- if message.tool_calls and message.tool_calls is iterable and message.tool_calls is not mapping %}
106
+ {%- for tool_call in message.tool_calls %}
107
+ {%- if tool_call.function is defined %}
108
+ {%- set tool_call = tool_call.function %}
109
+ {%- endif %}
110
+ {%- if loop.first %}
111
+ {%- if content|trim %}
112
+ {{- '\n\n<tool_call>\n<function=' + tool_call.name + '>\n' }}
113
+ {%- else %}
114
+ {{- '<tool_call>\n<function=' + tool_call.name + '>\n' }}
115
+ {%- endif %}
116
+ {%- else %}
117
+ {{- '\n<tool_call>\n<function=' + tool_call.name + '>\n' }}
118
+ {%- endif %}
119
+ {%- if tool_call.arguments is defined %}
120
+ {%- for args_name, args_value in tool_call.arguments|items %}
121
+ {{- '<parameter=' + args_name + '>\n' }}
122
+ {%- set args_value = args_value | string if args_value is string else args_value | tojson | safe %}
123
+ {{- args_value }}
124
+ {{- '\n</parameter>\n' }}
125
+ {%- endfor %}
126
+ {%- endif %}
127
+ {{- '</function>\n</tool_call>' }}
128
+ {%- endfor %}
129
+ {%- endif %}
130
+ {{- '<|im_end|>\n' }}
131
+ {%- elif message.role == "tool" %}
132
+ {%- if loop.previtem and loop.previtem.role != "tool" %}
133
+ {{- '<|im_start|>user' }}
134
+ {%- endif %}
135
+ {{- '\n<tool_response>\n' }}
136
+ {{- content }}
137
+ {{- '\n</tool_response>' }}
138
+ {%- if not loop.last and loop.nextitem.role != "tool" %}
139
+ {{- '<|im_end|>\n' }}
140
+ {%- elif loop.last %}
141
+ {{- '<|im_end|>\n' }}
142
+ {%- endif %}
143
+ {%- else %}
144
+ {{- raise_exception('Unexpected message role.') }}
145
+ {%- endif %}
146
+ {%- endfor %}
147
+ {%- if add_generation_prompt %}
148
+ {{- '<|im_start|>assistant\n' }}
149
+ {%- if enable_thinking is defined and enable_thinking is false %}
150
+ {{- '<think>\n\n</think>\n\n' }}
151
+ {%- else %}
152
+ {{- '<think>\n' }}
153
+ {%- endif %}
154
+ {%- endif %}
config.json ADDED
The diff for this file is too large to render. See raw diff
 
generation_config.json ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "bos_token_id": 248044,
3
+ "do_sample": true,
4
+ "eos_token_id": [
5
+ 248046,
6
+ 248044
7
+ ],
8
+ "pad_token_id": 248044,
9
+ "temperature": 1.0,
10
+ "top_k": 20,
11
+ "top_p": 0.95
12
+ }
merges.txt ADDED
The diff for this file is too large to render. See raw diff
 
model-00001-of-00007.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:16cca919033c94cf832a475a7fe5d2efafc460d40653572fecaaf0ce4a855983
3
+ size 5004918171
model-00002-of-00007.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:36292571def4a5d1320e92c59a545830fc1620fc0836a7ec2b472d74f5f18ff9
3
+ size 5016397261
model-00003-of-00007.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:925736ff1ef3658012e6dfcc2b5c355a0db2f4590038aaecffb4a27e61fc2e79
3
+ size 5016397336
model-00004-of-00007.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:53e76823c19502dbf2e56fdd014d295288bb05489fd61a2e271a2fe0c6979ee6
3
+ size 5016397338
model-00005-of-00007.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:18cd818ed7bc5a577e18defe27b3a366c7845a183d1b7f85fb16cf3a5ffbe5b1
3
+ size 5016397338
model-00006-of-00007.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:398fb00481aac500f4aa94098f3c3cd6079fc37272c2af90046db62e8b9174b3
3
+ size 5016397298
model-00007-of-00007.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f0a4a8e032d155d26b828f1a677c6af910b420dbf95d4c9e6109d127183d31c6
3
+ size 218104246
model.safetensors.index.json ADDED
The diff for this file is too large to render. See raw diff
 
oq_imatrix_report.json ADDED
@@ -0,0 +1,588 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "enabled": true,
3
+ "cache_path": "/Users/jasonschulz/Models/.oqe_imatrix/KAT-Coder-V2.5-Dev-VL-fb9cf1e47cc2-s128-l512.npz",
4
+ "cache_reused": false,
5
+ "entry_count": 523,
6
+ "calib_dataset": "oqe_code_multilingual",
7
+ "collection": {
8
+ "dataset": "oqe_code_multilingual",
9
+ "requested_samples": 128,
10
+ "seq_length": 512,
11
+ "adaptive": true,
12
+ "adaptive_step_samples": 128,
13
+ "adaptive_max_samples": 1024,
14
+ "available_samples": 1024,
15
+ "micro_batch_size": 16,
16
+ "micro_batches": 8,
17
+ "batch_plan": {
18
+ "micro_batch_size": 16,
19
+ "estimated_sample_bytes": 33554432,
20
+ "capture_budget_bytes": 805306368,
21
+ "system_available_bytes": 102044925952,
22
+ "metal_available_bytes": 130563094994,
23
+ "live_available_bytes": 102044925952,
24
+ "model_bytes": 20897700290,
25
+ "remaining_available_bytes": 81147225662,
26
+ "fits_one_sample": true,
27
+ "hidden_size": 2048,
28
+ "num_experts": 256,
29
+ "top_k": 8,
30
+ "gemma4_state_bytes": 0,
31
+ "num_hidden_layers": 40,
32
+ "num_kv_shared_layers": 0,
33
+ "per_layer_input_size": 0
34
+ },
35
+ "processed_samples": 128,
36
+ "installed_modules": 634,
37
+ "capture_module_classes": {
38
+ "Linear": 151,
39
+ "QuantizedLinear": 360,
40
+ "QuantizedSwitchLinear": 123
41
+ },
42
+ "switch_capture_modules": 123,
43
+ "requires_expert_counts": true,
44
+ "coverage_sufficient": true,
45
+ "collection_sufficient": true,
46
+ "coverage": {
47
+ "has_expert_counts": true,
48
+ "expert_modules": 123,
49
+ "total_experts": 31488,
50
+ "active_experts": 31488,
51
+ "zero_count_experts": 0,
52
+ "active_ratio": 1.0,
53
+ "min_count": 40,
54
+ "p05_count": 588.0,
55
+ "p10_count": 759.0,
56
+ "median_count": 1742.0,
57
+ "max_count": 36257,
58
+ "min_required_count": 16,
59
+ "required_percentile": 5
60
+ },
61
+ "rounds": [
62
+ {
63
+ "processed_samples": 128,
64
+ "coverage_sufficient": true,
65
+ "collection_sufficient": true,
66
+ "coverage": {
67
+ "has_expert_counts": true,
68
+ "expert_modules": 123,
69
+ "total_experts": 31488,
70
+ "active_experts": 31488,
71
+ "zero_count_experts": 0,
72
+ "active_ratio": 1.0,
73
+ "min_count": 40,
74
+ "p05_count": 588.0,
75
+ "p10_count": 759.0,
76
+ "median_count": 1742.0,
77
+ "max_count": 36257,
78
+ "min_required_count": 16,
79
+ "required_percentile": 5
80
+ }
81
+ }
82
+ ]
83
+ },
84
+ "expert_coverage": {
85
+ "has_expert_counts": true,
86
+ "expert_modules": 123,
87
+ "total_experts": 31488,
88
+ "active_experts": 31488,
89
+ "zero_count_experts": 0,
90
+ "active_ratio": 1.0,
91
+ "min_count": 40,
92
+ "p05_count": 588.0,
93
+ "p10_count": 759.0,
94
+ "median_count": 1742.0,
95
+ "max_count": 36257,
96
+ "min_required_count": 16,
97
+ "required_percentile": 5
98
+ },
99
+ "applied": [
100
+ "language_model.model.layers.0.linear_attn.in_proj_a",
101
+ "language_model.model.layers.0.linear_attn.in_proj_b",
102
+ "language_model.model.layers.0.linear_attn.in_proj_qkv",
103
+ "language_model.model.layers.0.linear_attn.in_proj_z",
104
+ "language_model.model.layers.0.linear_attn.out_proj",
105
+ "language_model.model.layers.0.mlp.shared_expert.down_proj",
106
+ "language_model.model.layers.0.mlp.shared_expert.gate_proj",
107
+ "language_model.model.layers.0.mlp.shared_expert.up_proj",
108
+ "language_model.model.layers.0.mlp.shared_expert_gate",
109
+ "language_model.model.layers.0.mlp.switch_mlp.down_proj",
110
+ "language_model.model.layers.0.mlp.switch_mlp.gate_proj",
111
+ "language_model.model.layers.0.mlp.switch_mlp.up_proj",
112
+ "language_model.model.layers.1.linear_attn.in_proj_a",
113
+ "language_model.model.layers.1.linear_attn.in_proj_b",
114
+ "language_model.model.layers.1.linear_attn.in_proj_qkv",
115
+ "language_model.model.layers.1.linear_attn.in_proj_z",
116
+ "language_model.model.layers.1.linear_attn.out_proj",
117
+ "language_model.model.layers.1.mlp.shared_expert.down_proj",
118
+ "language_model.model.layers.1.mlp.shared_expert.gate_proj",
119
+ "language_model.model.layers.1.mlp.shared_expert.up_proj",
120
+ "language_model.model.layers.1.mlp.shared_expert_gate",
121
+ "language_model.model.layers.1.mlp.switch_mlp.down_proj",
122
+ "language_model.model.layers.1.mlp.switch_mlp.gate_proj",
123
+ "language_model.model.layers.1.mlp.switch_mlp.up_proj",
124
+ "language_model.model.layers.10.linear_attn.in_proj_a",
125
+ "language_model.model.layers.10.linear_attn.in_proj_b",
126
+ "language_model.model.layers.10.linear_attn.in_proj_qkv",
127
+ "language_model.model.layers.10.linear_attn.in_proj_z",
128
+ "language_model.model.layers.10.linear_attn.out_proj",
129
+ "language_model.model.layers.10.mlp.shared_expert.down_proj",
130
+ "language_model.model.layers.10.mlp.shared_expert.gate_proj",
131
+ "language_model.model.layers.10.mlp.shared_expert.up_proj",
132
+ "language_model.model.layers.10.mlp.shared_expert_gate",
133
+ "language_model.model.layers.10.mlp.switch_mlp.down_proj",
134
+ "language_model.model.layers.10.mlp.switch_mlp.gate_proj",
135
+ "language_model.model.layers.10.mlp.switch_mlp.up_proj",
136
+ "language_model.model.layers.11.mlp.shared_expert.down_proj",
137
+ "language_model.model.layers.11.mlp.shared_expert.gate_proj",
138
+ "language_model.model.layers.11.mlp.shared_expert.up_proj",
139
+ "language_model.model.layers.11.mlp.shared_expert_gate",
140
+ "language_model.model.layers.11.mlp.switch_mlp.down_proj",
141
+ "language_model.model.layers.11.mlp.switch_mlp.gate_proj",
142
+ "language_model.model.layers.11.mlp.switch_mlp.up_proj",
143
+ "language_model.model.layers.11.self_attn.k_proj",
144
+ "language_model.model.layers.11.self_attn.o_proj",
145
+ "language_model.model.layers.11.self_attn.q_proj",
146
+ "language_model.model.layers.11.self_attn.v_proj",
147
+ "language_model.model.layers.12.linear_attn.in_proj_a",
148
+ "language_model.model.layers.12.linear_attn.in_proj_b",
149
+ "language_model.model.layers.12.linear_attn.in_proj_qkv",
150
+ "language_model.model.layers.12.linear_attn.in_proj_z",
151
+ "language_model.model.layers.12.linear_attn.out_proj",
152
+ "language_model.model.layers.12.mlp.shared_expert.down_proj",
153
+ "language_model.model.layers.12.mlp.shared_expert.gate_proj",
154
+ "language_model.model.layers.12.mlp.shared_expert.up_proj",
155
+ "language_model.model.layers.12.mlp.shared_expert_gate",
156
+ "language_model.model.layers.12.mlp.switch_mlp.down_proj",
157
+ "language_model.model.layers.12.mlp.switch_mlp.gate_proj",
158
+ "language_model.model.layers.12.mlp.switch_mlp.up_proj",
159
+ "language_model.model.layers.13.linear_attn.in_proj_a",
160
+ "language_model.model.layers.13.linear_attn.in_proj_b",
161
+ "language_model.model.layers.13.linear_attn.in_proj_qkv",
162
+ "language_model.model.layers.13.linear_attn.in_proj_z",
163
+ "language_model.model.layers.13.linear_attn.out_proj",
164
+ "language_model.model.layers.13.mlp.shared_expert.down_proj",
165
+ "language_model.model.layers.13.mlp.shared_expert.gate_proj",
166
+ "language_model.model.layers.13.mlp.shared_expert.up_proj",
167
+ "language_model.model.layers.13.mlp.shared_expert_gate",
168
+ "language_model.model.layers.13.mlp.switch_mlp.down_proj",
169
+ "language_model.model.layers.13.mlp.switch_mlp.gate_proj",
170
+ "language_model.model.layers.13.mlp.switch_mlp.up_proj",
171
+ "language_model.model.layers.14.linear_attn.in_proj_a",
172
+ "language_model.model.layers.14.linear_attn.in_proj_b",
173
+ "language_model.model.layers.14.linear_attn.in_proj_qkv",
174
+ "language_model.model.layers.14.linear_attn.in_proj_z",
175
+ "language_model.model.layers.14.linear_attn.out_proj",
176
+ "language_model.model.layers.14.mlp.shared_expert.down_proj",
177
+ "language_model.model.layers.14.mlp.shared_expert.gate_proj",
178
+ "language_model.model.layers.14.mlp.shared_expert.up_proj",
179
+ "language_model.model.layers.14.mlp.shared_expert_gate",
180
+ "language_model.model.layers.14.mlp.switch_mlp.down_proj",
181
+ "language_model.model.layers.14.mlp.switch_mlp.gate_proj",
182
+ "language_model.model.layers.14.mlp.switch_mlp.up_proj",
183
+ "language_model.model.layers.15.mlp.shared_expert.down_proj",
184
+ "language_model.model.layers.15.mlp.shared_expert.gate_proj",
185
+ "language_model.model.layers.15.mlp.shared_expert.up_proj",
186
+ "language_model.model.layers.15.mlp.shared_expert_gate",
187
+ "language_model.model.layers.15.mlp.switch_mlp.down_proj",
188
+ "language_model.model.layers.15.mlp.switch_mlp.gate_proj",
189
+ "language_model.model.layers.15.mlp.switch_mlp.up_proj",
190
+ "language_model.model.layers.15.self_attn.k_proj",
191
+ "language_model.model.layers.15.self_attn.o_proj",
192
+ "language_model.model.layers.15.self_attn.q_proj",
193
+ "language_model.model.layers.15.self_attn.v_proj",
194
+ "language_model.model.layers.16.linear_attn.in_proj_a",
195
+ "language_model.model.layers.16.linear_attn.in_proj_b",
196
+ "language_model.model.layers.16.linear_attn.in_proj_qkv",
197
+ "language_model.model.layers.16.linear_attn.in_proj_z",
198
+ "language_model.model.layers.16.linear_attn.out_proj",
199
+ "language_model.model.layers.16.mlp.shared_expert.down_proj",
200
+ "language_model.model.layers.16.mlp.shared_expert.gate_proj",
201
+ "language_model.model.layers.16.mlp.shared_expert.up_proj",
202
+ "language_model.model.layers.16.mlp.shared_expert_gate",
203
+ "language_model.model.layers.16.mlp.switch_mlp.down_proj",
204
+ "language_model.model.layers.16.mlp.switch_mlp.gate_proj",
205
+ "language_model.model.layers.16.mlp.switch_mlp.up_proj",
206
+ "language_model.model.layers.17.linear_attn.in_proj_a",
207
+ "language_model.model.layers.17.linear_attn.in_proj_b",
208
+ "language_model.model.layers.17.linear_attn.in_proj_qkv",
209
+ "language_model.model.layers.17.linear_attn.in_proj_z",
210
+ "language_model.model.layers.17.linear_attn.out_proj",
211
+ "language_model.model.layers.17.mlp.shared_expert.down_proj",
212
+ "language_model.model.layers.17.mlp.shared_expert.gate_proj",
213
+ "language_model.model.layers.17.mlp.shared_expert.up_proj",
214
+ "language_model.model.layers.17.mlp.shared_expert_gate",
215
+ "language_model.model.layers.17.mlp.switch_mlp.down_proj",
216
+ "language_model.model.layers.17.mlp.switch_mlp.gate_proj",
217
+ "language_model.model.layers.17.mlp.switch_mlp.up_proj",
218
+ "language_model.model.layers.18.linear_attn.in_proj_a",
219
+ "language_model.model.layers.18.linear_attn.in_proj_b",
220
+ "language_model.model.layers.18.linear_attn.in_proj_qkv",
221
+ "language_model.model.layers.18.linear_attn.in_proj_z",
222
+ "language_model.model.layers.18.linear_attn.out_proj",
223
+ "language_model.model.layers.18.mlp.shared_expert.down_proj",
224
+ "language_model.model.layers.18.mlp.shared_expert.gate_proj",
225
+ "language_model.model.layers.18.mlp.shared_expert.up_proj",
226
+ "language_model.model.layers.18.mlp.shared_expert_gate",
227
+ "language_model.model.layers.18.mlp.switch_mlp.down_proj",
228
+ "language_model.model.layers.18.mlp.switch_mlp.gate_proj",
229
+ "language_model.model.layers.18.mlp.switch_mlp.up_proj",
230
+ "language_model.model.layers.19.mlp.shared_expert.down_proj",
231
+ "language_model.model.layers.19.mlp.shared_expert.gate_proj",
232
+ "language_model.model.layers.19.mlp.shared_expert.up_proj",
233
+ "language_model.model.layers.19.mlp.shared_expert_gate",
234
+ "language_model.model.layers.19.mlp.switch_mlp.down_proj",
235
+ "language_model.model.layers.19.mlp.switch_mlp.gate_proj",
236
+ "language_model.model.layers.19.mlp.switch_mlp.up_proj",
237
+ "language_model.model.layers.19.self_attn.k_proj",
238
+ "language_model.model.layers.19.self_attn.o_proj",
239
+ "language_model.model.layers.19.self_attn.q_proj",
240
+ "language_model.model.layers.19.self_attn.v_proj",
241
+ "language_model.model.layers.2.linear_attn.in_proj_a",
242
+ "language_model.model.layers.2.linear_attn.in_proj_b",
243
+ "language_model.model.layers.2.linear_attn.in_proj_qkv",
244
+ "language_model.model.layers.2.linear_attn.in_proj_z",
245
+ "language_model.model.layers.2.linear_attn.out_proj",
246
+ "language_model.model.layers.2.mlp.shared_expert.down_proj",
247
+ "language_model.model.layers.2.mlp.shared_expert.gate_proj",
248
+ "language_model.model.layers.2.mlp.shared_expert.up_proj",
249
+ "language_model.model.layers.2.mlp.shared_expert_gate",
250
+ "language_model.model.layers.2.mlp.switch_mlp.down_proj",
251
+ "language_model.model.layers.2.mlp.switch_mlp.gate_proj",
252
+ "language_model.model.layers.2.mlp.switch_mlp.up_proj",
253
+ "language_model.model.layers.20.linear_attn.in_proj_a",
254
+ "language_model.model.layers.20.linear_attn.in_proj_b",
255
+ "language_model.model.layers.20.linear_attn.in_proj_qkv",
256
+ "language_model.model.layers.20.linear_attn.in_proj_z",
257
+ "language_model.model.layers.20.linear_attn.out_proj",
258
+ "language_model.model.layers.20.mlp.shared_expert.down_proj",
259
+ "language_model.model.layers.20.mlp.shared_expert.gate_proj",
260
+ "language_model.model.layers.20.mlp.shared_expert.up_proj",
261
+ "language_model.model.layers.20.mlp.shared_expert_gate",
262
+ "language_model.model.layers.20.mlp.switch_mlp.down_proj",
263
+ "language_model.model.layers.20.mlp.switch_mlp.gate_proj",
264
+ "language_model.model.layers.20.mlp.switch_mlp.up_proj",
265
+ "language_model.model.layers.21.linear_attn.in_proj_a",
266
+ "language_model.model.layers.21.linear_attn.in_proj_b",
267
+ "language_model.model.layers.21.linear_attn.in_proj_qkv",
268
+ "language_model.model.layers.21.linear_attn.in_proj_z",
269
+ "language_model.model.layers.21.linear_attn.out_proj",
270
+ "language_model.model.layers.21.mlp.shared_expert.down_proj",
271
+ "language_model.model.layers.21.mlp.shared_expert.gate_proj",
272
+ "language_model.model.layers.21.mlp.shared_expert.up_proj",
273
+ "language_model.model.layers.21.mlp.shared_expert_gate",
274
+ "language_model.model.layers.21.mlp.switch_mlp.down_proj",
275
+ "language_model.model.layers.21.mlp.switch_mlp.gate_proj",
276
+ "language_model.model.layers.21.mlp.switch_mlp.up_proj",
277
+ "language_model.model.layers.22.linear_attn.in_proj_a",
278
+ "language_model.model.layers.22.linear_attn.in_proj_b",
279
+ "language_model.model.layers.22.linear_attn.in_proj_qkv",
280
+ "language_model.model.layers.22.linear_attn.in_proj_z",
281
+ "language_model.model.layers.22.linear_attn.out_proj",
282
+ "language_model.model.layers.22.mlp.shared_expert.down_proj",
283
+ "language_model.model.layers.22.mlp.shared_expert.gate_proj",
284
+ "language_model.model.layers.22.mlp.shared_expert.up_proj",
285
+ "language_model.model.layers.22.mlp.shared_expert_gate",
286
+ "language_model.model.layers.22.mlp.switch_mlp.down_proj",
287
+ "language_model.model.layers.22.mlp.switch_mlp.gate_proj",
288
+ "language_model.model.layers.22.mlp.switch_mlp.up_proj",
289
+ "language_model.model.layers.23.mlp.shared_expert.down_proj",
290
+ "language_model.model.layers.23.mlp.shared_expert.gate_proj",
291
+ "language_model.model.layers.23.mlp.shared_expert.up_proj",
292
+ "language_model.model.layers.23.mlp.shared_expert_gate",
293
+ "language_model.model.layers.23.mlp.switch_mlp.down_proj",
294
+ "language_model.model.layers.23.mlp.switch_mlp.gate_proj",
295
+ "language_model.model.layers.23.mlp.switch_mlp.up_proj",
296
+ "language_model.model.layers.23.self_attn.k_proj",
297
+ "language_model.model.layers.23.self_attn.o_proj",
298
+ "language_model.model.layers.23.self_attn.q_proj",
299
+ "language_model.model.layers.23.self_attn.v_proj",
300
+ "language_model.model.layers.24.linear_attn.in_proj_a",
301
+ "language_model.model.layers.24.linear_attn.in_proj_b",
302
+ "language_model.model.layers.24.linear_attn.in_proj_qkv",
303
+ "language_model.model.layers.24.linear_attn.in_proj_z",
304
+ "language_model.model.layers.24.linear_attn.out_proj",
305
+ "language_model.model.layers.24.mlp.shared_expert.down_proj",
306
+ "language_model.model.layers.24.mlp.shared_expert.gate_proj",
307
+ "language_model.model.layers.24.mlp.shared_expert.up_proj",
308
+ "language_model.model.layers.24.mlp.shared_expert_gate",
309
+ "language_model.model.layers.24.mlp.switch_mlp.down_proj",
310
+ "language_model.model.layers.24.mlp.switch_mlp.gate_proj",
311
+ "language_model.model.layers.24.mlp.switch_mlp.up_proj",
312
+ "language_model.model.layers.25.linear_attn.in_proj_a",
313
+ "language_model.model.layers.25.linear_attn.in_proj_b",
314
+ "language_model.model.layers.25.linear_attn.in_proj_qkv",
315
+ "language_model.model.layers.25.linear_attn.in_proj_z",
316
+ "language_model.model.layers.25.linear_attn.out_proj",
317
+ "language_model.model.layers.25.mlp.shared_expert.down_proj",
318
+ "language_model.model.layers.25.mlp.shared_expert.gate_proj",
319
+ "language_model.model.layers.25.mlp.shared_expert.up_proj",
320
+ "language_model.model.layers.25.mlp.shared_expert_gate",
321
+ "language_model.model.layers.25.mlp.switch_mlp.down_proj",
322
+ "language_model.model.layers.25.mlp.switch_mlp.gate_proj",
323
+ "language_model.model.layers.25.mlp.switch_mlp.up_proj",
324
+ "language_model.model.layers.26.linear_attn.in_proj_a",
325
+ "language_model.model.layers.26.linear_attn.in_proj_b",
326
+ "language_model.model.layers.26.linear_attn.in_proj_qkv",
327
+ "language_model.model.layers.26.linear_attn.in_proj_z",
328
+ "language_model.model.layers.26.linear_attn.out_proj",
329
+ "language_model.model.layers.26.mlp.shared_expert.down_proj",
330
+ "language_model.model.layers.26.mlp.shared_expert.gate_proj",
331
+ "language_model.model.layers.26.mlp.shared_expert.up_proj",
332
+ "language_model.model.layers.26.mlp.shared_expert_gate",
333
+ "language_model.model.layers.26.mlp.switch_mlp.down_proj",
334
+ "language_model.model.layers.26.mlp.switch_mlp.gate_proj",
335
+ "language_model.model.layers.26.mlp.switch_mlp.up_proj",
336
+ "language_model.model.layers.27.mlp.shared_expert.down_proj",
337
+ "language_model.model.layers.27.mlp.shared_expert.gate_proj",
338
+ "language_model.model.layers.27.mlp.shared_expert.up_proj",
339
+ "language_model.model.layers.27.mlp.shared_expert_gate",
340
+ "language_model.model.layers.27.mlp.switch_mlp.down_proj",
341
+ "language_model.model.layers.27.mlp.switch_mlp.gate_proj",
342
+ "language_model.model.layers.27.mlp.switch_mlp.up_proj",
343
+ "language_model.model.layers.27.self_attn.k_proj",
344
+ "language_model.model.layers.27.self_attn.o_proj",
345
+ "language_model.model.layers.27.self_attn.q_proj",
346
+ "language_model.model.layers.27.self_attn.v_proj",
347
+ "language_model.model.layers.28.linear_attn.in_proj_a",
348
+ "language_model.model.layers.28.linear_attn.in_proj_b",
349
+ "language_model.model.layers.28.linear_attn.in_proj_qkv",
350
+ "language_model.model.layers.28.linear_attn.in_proj_z",
351
+ "language_model.model.layers.28.linear_attn.out_proj",
352
+ "language_model.model.layers.28.mlp.shared_expert.down_proj",
353
+ "language_model.model.layers.28.mlp.shared_expert.gate_proj",
354
+ "language_model.model.layers.28.mlp.shared_expert.up_proj",
355
+ "language_model.model.layers.28.mlp.shared_expert_gate",
356
+ "language_model.model.layers.28.mlp.switch_mlp.down_proj",
357
+ "language_model.model.layers.28.mlp.switch_mlp.gate_proj",
358
+ "language_model.model.layers.28.mlp.switch_mlp.up_proj",
359
+ "language_model.model.layers.29.linear_attn.in_proj_a",
360
+ "language_model.model.layers.29.linear_attn.in_proj_b",
361
+ "language_model.model.layers.29.linear_attn.in_proj_qkv",
362
+ "language_model.model.layers.29.linear_attn.in_proj_z",
363
+ "language_model.model.layers.29.linear_attn.out_proj",
364
+ "language_model.model.layers.29.mlp.shared_expert.down_proj",
365
+ "language_model.model.layers.29.mlp.shared_expert.gate_proj",
366
+ "language_model.model.layers.29.mlp.shared_expert.up_proj",
367
+ "language_model.model.layers.29.mlp.shared_expert_gate",
368
+ "language_model.model.layers.29.mlp.switch_mlp.down_proj",
369
+ "language_model.model.layers.29.mlp.switch_mlp.gate_proj",
370
+ "language_model.model.layers.29.mlp.switch_mlp.up_proj",
371
+ "language_model.model.layers.3.mlp.shared_expert.down_proj",
372
+ "language_model.model.layers.3.mlp.shared_expert.gate_proj",
373
+ "language_model.model.layers.3.mlp.shared_expert.up_proj",
374
+ "language_model.model.layers.3.mlp.shared_expert_gate",
375
+ "language_model.model.layers.3.mlp.switch_mlp.down_proj",
376
+ "language_model.model.layers.3.mlp.switch_mlp.gate_proj",
377
+ "language_model.model.layers.3.mlp.switch_mlp.up_proj",
378
+ "language_model.model.layers.3.self_attn.k_proj",
379
+ "language_model.model.layers.3.self_attn.o_proj",
380
+ "language_model.model.layers.3.self_attn.q_proj",
381
+ "language_model.model.layers.3.self_attn.v_proj",
382
+ "language_model.model.layers.30.linear_attn.in_proj_a",
383
+ "language_model.model.layers.30.linear_attn.in_proj_b",
384
+ "language_model.model.layers.30.linear_attn.in_proj_qkv",
385
+ "language_model.model.layers.30.linear_attn.in_proj_z",
386
+ "language_model.model.layers.30.linear_attn.out_proj",
387
+ "language_model.model.layers.30.mlp.shared_expert.down_proj",
388
+ "language_model.model.layers.30.mlp.shared_expert.gate_proj",
389
+ "language_model.model.layers.30.mlp.shared_expert.up_proj",
390
+ "language_model.model.layers.30.mlp.shared_expert_gate",
391
+ "language_model.model.layers.30.mlp.switch_mlp.down_proj",
392
+ "language_model.model.layers.30.mlp.switch_mlp.gate_proj",
393
+ "language_model.model.layers.30.mlp.switch_mlp.up_proj",
394
+ "language_model.model.layers.31.mlp.shared_expert.down_proj",
395
+ "language_model.model.layers.31.mlp.shared_expert.gate_proj",
396
+ "language_model.model.layers.31.mlp.shared_expert.up_proj",
397
+ "language_model.model.layers.31.mlp.shared_expert_gate",
398
+ "language_model.model.layers.31.mlp.switch_mlp.down_proj",
399
+ "language_model.model.layers.31.mlp.switch_mlp.gate_proj",
400
+ "language_model.model.layers.31.mlp.switch_mlp.up_proj",
401
+ "language_model.model.layers.31.self_attn.k_proj",
402
+ "language_model.model.layers.31.self_attn.o_proj",
403
+ "language_model.model.layers.31.self_attn.q_proj",
404
+ "language_model.model.layers.31.self_attn.v_proj",
405
+ "language_model.model.layers.32.linear_attn.in_proj_a",
406
+ "language_model.model.layers.32.linear_attn.in_proj_b",
407
+ "language_model.model.layers.32.linear_attn.in_proj_qkv",
408
+ "language_model.model.layers.32.linear_attn.in_proj_z",
409
+ "language_model.model.layers.32.linear_attn.out_proj",
410
+ "language_model.model.layers.32.mlp.shared_expert.down_proj",
411
+ "language_model.model.layers.32.mlp.shared_expert.gate_proj",
412
+ "language_model.model.layers.32.mlp.shared_expert.up_proj",
413
+ "language_model.model.layers.32.mlp.shared_expert_gate",
414
+ "language_model.model.layers.32.mlp.switch_mlp.down_proj",
415
+ "language_model.model.layers.32.mlp.switch_mlp.gate_proj",
416
+ "language_model.model.layers.32.mlp.switch_mlp.up_proj",
417
+ "language_model.model.layers.33.linear_attn.in_proj_a",
418
+ "language_model.model.layers.33.linear_attn.in_proj_b",
419
+ "language_model.model.layers.33.linear_attn.in_proj_qkv",
420
+ "language_model.model.layers.33.linear_attn.in_proj_z",
421
+ "language_model.model.layers.33.linear_attn.out_proj",
422
+ "language_model.model.layers.33.mlp.shared_expert.down_proj",
423
+ "language_model.model.layers.33.mlp.shared_expert.gate_proj",
424
+ "language_model.model.layers.33.mlp.shared_expert.up_proj",
425
+ "language_model.model.layers.33.mlp.shared_expert_gate",
426
+ "language_model.model.layers.33.mlp.switch_mlp.down_proj",
427
+ "language_model.model.layers.33.mlp.switch_mlp.gate_proj",
428
+ "language_model.model.layers.33.mlp.switch_mlp.up_proj",
429
+ "language_model.model.layers.34.linear_attn.in_proj_a",
430
+ "language_model.model.layers.34.linear_attn.in_proj_b",
431
+ "language_model.model.layers.34.linear_attn.in_proj_qkv",
432
+ "language_model.model.layers.34.linear_attn.in_proj_z",
433
+ "language_model.model.layers.34.linear_attn.out_proj",
434
+ "language_model.model.layers.34.mlp.shared_expert.down_proj",
435
+ "language_model.model.layers.34.mlp.shared_expert.gate_proj",
436
+ "language_model.model.layers.34.mlp.shared_expert.up_proj",
437
+ "language_model.model.layers.34.mlp.shared_expert_gate",
438
+ "language_model.model.layers.34.mlp.switch_mlp.down_proj",
439
+ "language_model.model.layers.34.mlp.switch_mlp.gate_proj",
440
+ "language_model.model.layers.34.mlp.switch_mlp.up_proj",
441
+ "language_model.model.layers.35.mlp.shared_expert.down_proj",
442
+ "language_model.model.layers.35.mlp.shared_expert.gate_proj",
443
+ "language_model.model.layers.35.mlp.shared_expert.up_proj",
444
+ "language_model.model.layers.35.mlp.shared_expert_gate",
445
+ "language_model.model.layers.35.mlp.switch_mlp.down_proj",
446
+ "language_model.model.layers.35.mlp.switch_mlp.gate_proj",
447
+ "language_model.model.layers.35.mlp.switch_mlp.up_proj",
448
+ "language_model.model.layers.35.self_attn.k_proj",
449
+ "language_model.model.layers.35.self_attn.o_proj",
450
+ "language_model.model.layers.35.self_attn.q_proj",
451
+ "language_model.model.layers.35.self_attn.v_proj",
452
+ "language_model.model.layers.36.linear_attn.in_proj_a",
453
+ "language_model.model.layers.36.linear_attn.in_proj_b",
454
+ "language_model.model.layers.36.linear_attn.in_proj_qkv",
455
+ "language_model.model.layers.36.linear_attn.in_proj_z",
456
+ "language_model.model.layers.36.linear_attn.out_proj",
457
+ "language_model.model.layers.36.mlp.shared_expert.down_proj",
458
+ "language_model.model.layers.36.mlp.shared_expert.gate_proj",
459
+ "language_model.model.layers.36.mlp.shared_expert.up_proj",
460
+ "language_model.model.layers.36.mlp.shared_expert_gate",
461
+ "language_model.model.layers.36.mlp.switch_mlp.down_proj",
462
+ "language_model.model.layers.36.mlp.switch_mlp.gate_proj",
463
+ "language_model.model.layers.36.mlp.switch_mlp.up_proj",
464
+ "language_model.model.layers.37.linear_attn.in_proj_a",
465
+ "language_model.model.layers.37.linear_attn.in_proj_b",
466
+ "language_model.model.layers.37.linear_attn.in_proj_qkv",
467
+ "language_model.model.layers.37.linear_attn.in_proj_z",
468
+ "language_model.model.layers.37.linear_attn.out_proj",
469
+ "language_model.model.layers.37.mlp.shared_expert.down_proj",
470
+ "language_model.model.layers.37.mlp.shared_expert.gate_proj",
471
+ "language_model.model.layers.37.mlp.shared_expert.up_proj",
472
+ "language_model.model.layers.37.mlp.shared_expert_gate",
473
+ "language_model.model.layers.37.mlp.switch_mlp.down_proj",
474
+ "language_model.model.layers.37.mlp.switch_mlp.gate_proj",
475
+ "language_model.model.layers.37.mlp.switch_mlp.up_proj",
476
+ "language_model.model.layers.38.linear_attn.in_proj_a",
477
+ "language_model.model.layers.38.linear_attn.in_proj_b",
478
+ "language_model.model.layers.38.linear_attn.in_proj_qkv",
479
+ "language_model.model.layers.38.linear_attn.in_proj_z",
480
+ "language_model.model.layers.38.linear_attn.out_proj",
481
+ "language_model.model.layers.38.mlp.shared_expert.down_proj",
482
+ "language_model.model.layers.38.mlp.shared_expert.gate_proj",
483
+ "language_model.model.layers.38.mlp.shared_expert.up_proj",
484
+ "language_model.model.layers.38.mlp.shared_expert_gate",
485
+ "language_model.model.layers.38.mlp.switch_mlp.down_proj",
486
+ "language_model.model.layers.38.mlp.switch_mlp.gate_proj",
487
+ "language_model.model.layers.38.mlp.switch_mlp.up_proj",
488
+ "language_model.model.layers.39.mlp.shared_expert.down_proj",
489
+ "language_model.model.layers.39.mlp.shared_expert.gate_proj",
490
+ "language_model.model.layers.39.mlp.shared_expert.up_proj",
491
+ "language_model.model.layers.39.mlp.shared_expert_gate",
492
+ "language_model.model.layers.39.mlp.switch_mlp.down_proj",
493
+ "language_model.model.layers.39.mlp.switch_mlp.gate_proj",
494
+ "language_model.model.layers.39.mlp.switch_mlp.up_proj",
495
+ "language_model.model.layers.39.self_attn.k_proj",
496
+ "language_model.model.layers.39.self_attn.o_proj",
497
+ "language_model.model.layers.39.self_attn.q_proj",
498
+ "language_model.model.layers.39.self_attn.v_proj",
499
+ "language_model.model.layers.4.linear_attn.in_proj_a",
500
+ "language_model.model.layers.4.linear_attn.in_proj_b",
501
+ "language_model.model.layers.4.linear_attn.in_proj_qkv",
502
+ "language_model.model.layers.4.linear_attn.in_proj_z",
503
+ "language_model.model.layers.4.linear_attn.out_proj",
504
+ "language_model.model.layers.4.mlp.shared_expert.down_proj",
505
+ "language_model.model.layers.4.mlp.shared_expert.gate_proj",
506
+ "language_model.model.layers.4.mlp.shared_expert.up_proj",
507
+ "language_model.model.layers.4.mlp.shared_expert_gate",
508
+ "language_model.model.layers.4.mlp.switch_mlp.down_proj",
509
+ "language_model.model.layers.4.mlp.switch_mlp.gate_proj",
510
+ "language_model.model.layers.4.mlp.switch_mlp.up_proj",
511
+ "language_model.model.layers.5.linear_attn.in_proj_a",
512
+ "language_model.model.layers.5.linear_attn.in_proj_b",
513
+ "language_model.model.layers.5.linear_attn.in_proj_qkv",
514
+ "language_model.model.layers.5.linear_attn.in_proj_z",
515
+ "language_model.model.layers.5.linear_attn.out_proj",
516
+ "language_model.model.layers.5.mlp.shared_expert.down_proj",
517
+ "language_model.model.layers.5.mlp.shared_expert.gate_proj",
518
+ "language_model.model.layers.5.mlp.shared_expert.up_proj",
519
+ "language_model.model.layers.5.mlp.shared_expert_gate",
520
+ "language_model.model.layers.5.mlp.switch_mlp.down_proj",
521
+ "language_model.model.layers.5.mlp.switch_mlp.gate_proj",
522
+ "language_model.model.layers.5.mlp.switch_mlp.up_proj",
523
+ "language_model.model.layers.6.linear_attn.in_proj_a",
524
+ "language_model.model.layers.6.linear_attn.in_proj_b",
525
+ "language_model.model.layers.6.linear_attn.in_proj_qkv",
526
+ "language_model.model.layers.6.linear_attn.in_proj_z",
527
+ "language_model.model.layers.6.linear_attn.out_proj",
528
+ "language_model.model.layers.6.mlp.shared_expert.down_proj",
529
+ "language_model.model.layers.6.mlp.shared_expert.gate_proj",
530
+ "language_model.model.layers.6.mlp.shared_expert.up_proj",
531
+ "language_model.model.layers.6.mlp.shared_expert_gate",
532
+ "language_model.model.layers.6.mlp.switch_mlp.down_proj",
533
+ "language_model.model.layers.6.mlp.switch_mlp.gate_proj",
534
+ "language_model.model.layers.6.mlp.switch_mlp.up_proj",
535
+ "language_model.model.layers.7.mlp.shared_expert.down_proj",
536
+ "language_model.model.layers.7.mlp.shared_expert.gate_proj",
537
+ "language_model.model.layers.7.mlp.shared_expert.up_proj",
538
+ "language_model.model.layers.7.mlp.shared_expert_gate",
539
+ "language_model.model.layers.7.mlp.switch_mlp.down_proj",
540
+ "language_model.model.layers.7.mlp.switch_mlp.gate_proj",
541
+ "language_model.model.layers.7.mlp.switch_mlp.up_proj",
542
+ "language_model.model.layers.7.self_attn.k_proj",
543
+ "language_model.model.layers.7.self_attn.o_proj",
544
+ "language_model.model.layers.7.self_attn.q_proj",
545
+ "language_model.model.layers.7.self_attn.v_proj",
546
+ "language_model.model.layers.8.linear_attn.in_proj_a",
547
+ "language_model.model.layers.8.linear_attn.in_proj_b",
548
+ "language_model.model.layers.8.linear_attn.in_proj_qkv",
549
+ "language_model.model.layers.8.linear_attn.in_proj_z",
550
+ "language_model.model.layers.8.linear_attn.out_proj",
551
+ "language_model.model.layers.8.mlp.shared_expert.down_proj",
552
+ "language_model.model.layers.8.mlp.shared_expert.gate_proj",
553
+ "language_model.model.layers.8.mlp.shared_expert.up_proj",
554
+ "language_model.model.layers.8.mlp.shared_expert_gate",
555
+ "language_model.model.layers.8.mlp.switch_mlp.down_proj",
556
+ "language_model.model.layers.8.mlp.switch_mlp.gate_proj",
557
+ "language_model.model.layers.8.mlp.switch_mlp.up_proj",
558
+ "language_model.model.layers.9.linear_attn.in_proj_a",
559
+ "language_model.model.layers.9.linear_attn.in_proj_b",
560
+ "language_model.model.layers.9.linear_attn.in_proj_qkv",
561
+ "language_model.model.layers.9.linear_attn.in_proj_z",
562
+ "language_model.model.layers.9.linear_attn.out_proj",
563
+ "language_model.model.layers.9.mlp.shared_expert.down_proj",
564
+ "language_model.model.layers.9.mlp.shared_expert.gate_proj",
565
+ "language_model.model.layers.9.mlp.shared_expert.up_proj",
566
+ "language_model.model.layers.9.mlp.shared_expert_gate",
567
+ "language_model.model.layers.9.mlp.switch_mlp.down_proj",
568
+ "language_model.model.layers.9.mlp.switch_mlp.gate_proj",
569
+ "language_model.model.layers.9.mlp.switch_mlp.up_proj",
570
+ "language_model.mtp.layers.0.mlp.shared_expert.down_proj",
571
+ "language_model.mtp.layers.0.mlp.shared_expert.gate_proj",
572
+ "language_model.mtp.layers.0.mlp.shared_expert.up_proj",
573
+ "language_model.mtp.layers.0.mlp.shared_expert_gate",
574
+ "language_model.mtp.layers.0.mlp.switch_mlp.down_proj",
575
+ "language_model.mtp.layers.0.mlp.switch_mlp.gate_proj",
576
+ "language_model.mtp.layers.0.mlp.switch_mlp.up_proj",
577
+ "language_model.mtp.layers.0.self_attn.k_proj",
578
+ "language_model.mtp.layers.0.self_attn.o_proj",
579
+ "language_model.mtp.layers.0.self_attn.q_proj",
580
+ "language_model.mtp.layers.0.self_attn.v_proj"
581
+ ],
582
+ "missing": [
583
+ "language_model.lm_head",
584
+ "language_model.model.embed_tokens"
585
+ ],
586
+ "mismatched": [],
587
+ "zero_count_experts": 0
588
+ }
preprocessor_config.json ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "size": {
3
+ "longest_edge": 16777216,
4
+ "shortest_edge": 65536
5
+ },
6
+ "patch_size": 16,
7
+ "temporal_patch_size": 2,
8
+ "merge_size": 2,
9
+ "image_mean": [
10
+ 0.5,
11
+ 0.5,
12
+ 0.5
13
+ ],
14
+ "image_std": [
15
+ 0.5,
16
+ 0.5,
17
+ 0.5
18
+ ],
19
+ "processor_class": "Qwen3VLProcessor",
20
+ "image_processor_type": "Qwen2VLImageProcessorFast"
21
+ }
tokenizer.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5f9e4d4901a92b997e463c1f46055088b6cca5ca61a6522d1b9f64c4bb81cb42
3
+ size 12807982
tokenizer_config.json ADDED
@@ -0,0 +1,305 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "add_prefix_space": false,
3
+ "added_tokens_decoder": {
4
+ "248044": {
5
+ "content": "<|endoftext|>",
6
+ "lstrip": false,
7
+ "normalized": false,
8
+ "rstrip": false,
9
+ "single_word": false,
10
+ "special": true
11
+ },
12
+ "248045": {
13
+ "content": "<|im_start|>",
14
+ "lstrip": false,
15
+ "normalized": false,
16
+ "rstrip": false,
17
+ "single_word": false,
18
+ "special": true
19
+ },
20
+ "248046": {
21
+ "content": "<|im_end|>",
22
+ "lstrip": false,
23
+ "normalized": false,
24
+ "rstrip": false,
25
+ "single_word": false,
26
+ "special": true
27
+ },
28
+ "248047": {
29
+ "content": "<|object_ref_start|>",
30
+ "lstrip": false,
31
+ "normalized": false,
32
+ "rstrip": false,
33
+ "single_word": false,
34
+ "special": true
35
+ },
36
+ "248048": {
37
+ "content": "<|object_ref_end|>",
38
+ "lstrip": false,
39
+ "normalized": false,
40
+ "rstrip": false,
41
+ "single_word": false,
42
+ "special": true
43
+ },
44
+ "248049": {
45
+ "content": "<|box_start|>",
46
+ "lstrip": false,
47
+ "normalized": false,
48
+ "rstrip": false,
49
+ "single_word": false,
50
+ "special": true
51
+ },
52
+ "248050": {
53
+ "content": "<|box_end|>",
54
+ "lstrip": false,
55
+ "normalized": false,
56
+ "rstrip": false,
57
+ "single_word": false,
58
+ "special": true
59
+ },
60
+ "248051": {
61
+ "content": "<|quad_start|>",
62
+ "lstrip": false,
63
+ "normalized": false,
64
+ "rstrip": false,
65
+ "single_word": false,
66
+ "special": true
67
+ },
68
+ "248052": {
69
+ "content": "<|quad_end|>",
70
+ "lstrip": false,
71
+ "normalized": false,
72
+ "rstrip": false,
73
+ "single_word": false,
74
+ "special": true
75
+ },
76
+ "248053": {
77
+ "content": "<|vision_start|>",
78
+ "lstrip": false,
79
+ "normalized": false,
80
+ "rstrip": false,
81
+ "single_word": false,
82
+ "special": true
83
+ },
84
+ "248054": {
85
+ "content": "<|vision_end|>",
86
+ "lstrip": false,
87
+ "normalized": false,
88
+ "rstrip": false,
89
+ "single_word": false,
90
+ "special": true
91
+ },
92
+ "248055": {
93
+ "content": "<|vision_pad|>",
94
+ "lstrip": false,
95
+ "normalized": false,
96
+ "rstrip": false,
97
+ "single_word": false,
98
+ "special": true
99
+ },
100
+ "248056": {
101
+ "content": "<|image_pad|>",
102
+ "lstrip": false,
103
+ "normalized": false,
104
+ "rstrip": false,
105
+ "single_word": false,
106
+ "special": true
107
+ },
108
+ "248057": {
109
+ "content": "<|video_pad|>",
110
+ "lstrip": false,
111
+ "normalized": false,
112
+ "rstrip": false,
113
+ "single_word": false,
114
+ "special": true
115
+ },
116
+ "248058": {
117
+ "content": "<tool_call>",
118
+ "lstrip": false,
119
+ "normalized": false,
120
+ "rstrip": false,
121
+ "single_word": false,
122
+ "special": false
123
+ },
124
+ "248059": {
125
+ "content": "</tool_call>",
126
+ "lstrip": false,
127
+ "normalized": false,
128
+ "rstrip": false,
129
+ "single_word": false,
130
+ "special": false
131
+ },
132
+ "248060": {
133
+ "content": "<|fim_prefix|>",
134
+ "lstrip": false,
135
+ "normalized": false,
136
+ "rstrip": false,
137
+ "single_word": false,
138
+ "special": false
139
+ },
140
+ "248061": {
141
+ "content": "<|fim_middle|>",
142
+ "lstrip": false,
143
+ "normalized": false,
144
+ "rstrip": false,
145
+ "single_word": false,
146
+ "special": false
147
+ },
148
+ "248062": {
149
+ "content": "<|fim_suffix|>",
150
+ "lstrip": false,
151
+ "normalized": false,
152
+ "rstrip": false,
153
+ "single_word": false,
154
+ "special": false
155
+ },
156
+ "248063": {
157
+ "content": "<|fim_pad|>",
158
+ "lstrip": false,
159
+ "normalized": false,
160
+ "rstrip": false,
161
+ "single_word": false,
162
+ "special": false
163
+ },
164
+ "248064": {
165
+ "content": "<|repo_name|>",
166
+ "lstrip": false,
167
+ "normalized": false,
168
+ "rstrip": false,
169
+ "single_word": false,
170
+ "special": false
171
+ },
172
+ "248065": {
173
+ "content": "<|file_sep|>",
174
+ "lstrip": false,
175
+ "normalized": false,
176
+ "rstrip": false,
177
+ "single_word": false,
178
+ "special": false
179
+ },
180
+ "248066": {
181
+ "content": "<tool_response>",
182
+ "lstrip": false,
183
+ "normalized": false,
184
+ "rstrip": false,
185
+ "single_word": false,
186
+ "special": false
187
+ },
188
+ "248067": {
189
+ "content": "</tool_response>",
190
+ "lstrip": false,
191
+ "normalized": false,
192
+ "rstrip": false,
193
+ "single_word": false,
194
+ "special": false
195
+ },
196
+ "248068": {
197
+ "content": "<think>",
198
+ "lstrip": false,
199
+ "normalized": false,
200
+ "rstrip": false,
201
+ "single_word": false,
202
+ "special": false
203
+ },
204
+ "248069": {
205
+ "content": "</think>",
206
+ "lstrip": false,
207
+ "normalized": false,
208
+ "rstrip": false,
209
+ "single_word": false,
210
+ "special": false
211
+ },
212
+ "248070": {
213
+ "content": "<|audio_start|>",
214
+ "lstrip": false,
215
+ "normalized": false,
216
+ "rstrip": false,
217
+ "single_word": false,
218
+ "special": true
219
+ },
220
+ "248071": {
221
+ "content": "<|audio_end|>",
222
+ "lstrip": false,
223
+ "normalized": false,
224
+ "rstrip": false,
225
+ "single_word": false,
226
+ "special": true
227
+ },
228
+ "248072": {
229
+ "content": "<tts_pad>",
230
+ "lstrip": false,
231
+ "normalized": false,
232
+ "rstrip": false,
233
+ "single_word": false,
234
+ "special": true
235
+ },
236
+ "248073": {
237
+ "content": "<tts_text_bos>",
238
+ "lstrip": false,
239
+ "normalized": false,
240
+ "rstrip": false,
241
+ "single_word": false,
242
+ "special": true
243
+ },
244
+ "248074": {
245
+ "content": "<tts_text_eod>",
246
+ "lstrip": false,
247
+ "normalized": false,
248
+ "rstrip": false,
249
+ "single_word": false,
250
+ "special": true
251
+ },
252
+ "248075": {
253
+ "content": "<tts_text_bos_single>",
254
+ "lstrip": false,
255
+ "normalized": false,
256
+ "rstrip": false,
257
+ "single_word": false,
258
+ "special": true
259
+ },
260
+ "248076": {
261
+ "content": "<|audio_pad|>",
262
+ "lstrip": false,
263
+ "normalized": false,
264
+ "rstrip": false,
265
+ "single_word": false,
266
+ "special": true
267
+ }
268
+ },
269
+ "additional_special_tokens": [
270
+ "<|im_start|>",
271
+ "<|im_end|>",
272
+ "<|object_ref_start|>",
273
+ "<|object_ref_end|>",
274
+ "<|box_start|>",
275
+ "<|box_end|>",
276
+ "<|quad_start|>",
277
+ "<|quad_end|>",
278
+ "<|vision_start|>",
279
+ "<|vision_end|>",
280
+ "<|vision_pad|>",
281
+ "<|image_pad|>",
282
+ "<|video_pad|>"
283
+ ],
284
+ "bos_token": null,
285
+ "chat_template": "{%- set image_count = namespace(value=0) %}\n{%- set video_count = namespace(value=0) %}\n{%- macro render_content(content, do_vision_count, is_system_content=false) %}\n {%- if content is string %}\n {{- content }}\n {%- elif content is iterable and content is not mapping %}\n {%- for item in content %}\n {%- if 'image' in item or 'image_url' in item or item.type == 'image' %}\n {%- if is_system_content %}\n {{- raise_exception('System message cannot contain images.') }}\n {%- endif %}\n {%- if do_vision_count %}\n {%- set image_count.value = image_count.value + 1 %}\n {%- endif %}\n {%- if add_vision_id %}\n {{- 'Picture ' ~ image_count.value ~ ': ' }}\n {%- endif %}\n {{- '<|vision_start|><|image_pad|><|vision_end|>' }}\n {%- elif 'video' in item or item.type == 'video' %}\n {%- if is_system_content %}\n {{- raise_exception('System message cannot contain videos.') }}\n {%- endif %}\n {%- if do_vision_count %}\n {%- set video_count.value = video_count.value + 1 %}\n {%- endif %}\n {%- if add_vision_id %}\n {{- 'Video ' ~ video_count.value ~ ': ' }}\n {%- endif %}\n {{- '<|vision_start|><|video_pad|><|vision_end|>' }}\n {%- elif 'text' in item %}\n {{- item.text }}\n {%- else %}\n {{- raise_exception('Unexpected item type in content.') }}\n {%- endif %}\n {%- endfor %}\n {%- elif content is none or content is undefined %}\n {{- '' }}\n {%- else %}\n {{- raise_exception('Unexpected content type.') }}\n {%- endif %}\n{%- endmacro %}\n{%- if not messages %}\n {{- raise_exception('No messages provided.') }}\n{%- endif %}\n{%- if tools and tools is iterable and tools is not mapping %}\n {{- '<|im_start|>system\\n' }}\n {{- \"# Tools\\n\\nYou have access to the following functions:\\n\\n<tools>\" }}\n {%- for tool in tools %}\n {{- \"\\n\" }}\n {{- tool | tojson }}\n {%- endfor %}\n {{- \"\\n</tools>\" }}\n {{- '\\n\\nIf you choose to call a function ONLY reply in the following format with NO suffix:\\n\\n<tool_call>\\n<function=example_function_name>\\n<parameter=example_parameter_1>\\nvalue_1\\n</parameter>\\n<parameter=example_parameter_2>\\nThis is the value for the second parameter\\nthat can span\\nmultiple lines\\n</parameter>\\n</function>\\n</tool_call>\\n\\n<IMPORTANT>\\nReminder:\\n- Function calls MUST follow the specified format: an inner <function=...></function> block must be nested within <tool_call></tool_call> XML tags\\n- Required parameters MUST be specified\\n- You may provide optional reasoning for your function call in natural language BEFORE the function call, but NOT after\\n- If there is no function call available, answer the question like normal with your current knowledge and do not tell the user about function calls\\n</IMPORTANT>' }}\n {%- if messages[0].role == 'system' %}\n {%- set content = render_content(messages[0].content, false, true)|trim %}\n {%- if content %}\n {{- '\\n\\n' + content }}\n {%- endif %}\n {%- endif %}\n {{- '<|im_end|>\\n' }}\n{%- else %}\n {%- if messages[0].role == 'system' %}\n {%- set content = render_content(messages[0].content, false, true)|trim %}\n {{- '<|im_start|>system\\n' + content + '<|im_end|>\\n' }}\n {%- endif %}\n{%- endif %}\n{%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}\n{%- for message in messages[::-1] %}\n {%- set index = (messages|length - 1) - loop.index0 %}\n {%- if ns.multi_step_tool and message.role == \"user\" %}\n {%- set content = render_content(message.content, false)|trim %}\n {%- if not(content.startswith('<tool_response>') and content.endswith('</tool_response>')) %}\n {%- set ns.multi_step_tool = false %}\n {%- set ns.last_query_index = index %}\n {%- endif %}\n {%- endif %}\n{%- endfor %}\n{%- if ns.multi_step_tool %}\n {{- raise_exception('No user query found in messages.') }}\n{%- endif %}\n{%- for message in messages %}\n {%- set content = render_content(message.content, true)|trim %}\n {%- if message.role == \"system\" %}\n {%- if not loop.first %}\n {{- raise_exception('System message must be at the beginning.') }}\n {%- endif %}\n {%- elif message.role == \"user\" %}\n {{- '<|im_start|>' + message.role + '\\n' + content + '<|im_end|>' + '\\n' }}\n {%- elif message.role == \"assistant\" %}\n {%- set reasoning_content = '' %}\n {%- if message.reasoning_content is string %}\n {%- set reasoning_content = message.reasoning_content %}\n {%- else %}\n {%- if '</think>' in content %}\n {%- set reasoning_content = content.split('</think>')[0].rstrip('\\n').split('<think>')[-1].lstrip('\\n') %}\n {%- set content = content.split('</think>')[-1].lstrip('\\n') %}\n {%- endif %}\n {%- endif %}\n {%- set reasoning_content = reasoning_content|trim %}\n {%- if (preserve_thinking is defined and preserve_thinking is true) or (loop.index0 > ns.last_query_index) %}\n {{- '<|im_start|>' + message.role + '\\n<think>\\n' + reasoning_content + '\\n</think>\\n\\n' + content }}\n {%- else %}\n {{- '<|im_start|>' + message.role + '\\n' + content }}\n {%- endif %}\n {%- if message.tool_calls and message.tool_calls is iterable and message.tool_calls is not mapping %}\n {%- for tool_call in message.tool_calls %}\n {%- if tool_call.function is defined %}\n {%- set tool_call = tool_call.function %}\n {%- endif %}\n {%- if loop.first %}\n {%- if content|trim %}\n {{- '\\n\\n<tool_call>\\n<function=' + tool_call.name + '>\\n' }}\n {%- else %}\n {{- '<tool_call>\\n<function=' + tool_call.name + '>\\n' }}\n {%- endif %}\n {%- else %}\n {{- '\\n<tool_call>\\n<function=' + tool_call.name + '>\\n' }}\n {%- endif %}\n {%- if tool_call.arguments is defined %}\n {%- for args_name, args_value in tool_call.arguments|items %}\n {{- '<parameter=' + args_name + '>\\n' }}\n {%- set args_value = args_value | string if args_value is string else args_value | tojson | safe %}\n {{- args_value }}\n {{- '\\n</parameter>\\n' }}\n {%- endfor %}\n {%- endif %}\n {{- '</function>\\n</tool_call>' }}\n {%- endfor %}\n {%- endif %}\n {{- '<|im_end|>\\n' }}\n {%- elif message.role == \"tool\" %}\n {%- if loop.previtem and loop.previtem.role != \"tool\" %}\n {{- '<|im_start|>user' }}\n {%- endif %}\n {{- '\\n<tool_response>\\n' }}\n {{- content }}\n {{- '\\n</tool_response>' }}\n {%- if not loop.last and loop.nextitem.role != \"tool\" %}\n {{- '<|im_end|>\\n' }}\n {%- elif loop.last %}\n {{- '<|im_end|>\\n' }}\n {%- endif %}\n {%- else %}\n {{- raise_exception('Unexpected message role.') }}\n {%- endif %}\n{%- endfor %}\n{%- if add_generation_prompt %}\n {{- '<|im_start|>assistant\\n' }}\n {%- if enable_thinking is defined and enable_thinking is false %}\n {{- '<think>\\n\\n</think>\\n\\n' }}\n {%- else %}\n {{- '<think>\\n' }}\n {%- endif %}\n{%- endif %}",
286
+ "clean_up_tokenization_spaces": false,
287
+ "eos_token": "<|im_end|>",
288
+ "errors": "replace",
289
+ "model_max_length": 262144,
290
+ "pad_token": "<|endoftext|>",
291
+ "split_special_tokens": false,
292
+ "tokenizer_class": "Qwen2Tokenizer",
293
+ "unk_token": null,
294
+ "add_bos_token": false,
295
+ "pretokenize_regex": "(?i:'s|'t|'re|'ve|'m|'ll|'d)|[^\\r\\n\\p{L}\\p{N}]?[\\p{L}\\p{M}]+|\\p{N}| ?[^\\s\\p{L}\\p{M}\\p{N}]+[\\r\\n]*|\\s*[\\r\\n]+|\\s+(?!\\S)|\\s+",
296
+ "extra_special_tokens": {
297
+ "audio_bos_token": "<|audio_start|>",
298
+ "audio_eos_token": "<|audio_end|>",
299
+ "audio_token": "<|audio_pad|>",
300
+ "image_token": "<|image_pad|>",
301
+ "video_token": "<|video_pad|>",
302
+ "vision_bos_token": "<|vision_start|>",
303
+ "vision_eos_token": "<|vision_end|>"
304
+ }
305
+ }
vocab.json ADDED
The diff for this file is too large to render. See raw diff