cleyesode commited on
Commit
de55de1
·
verified ·
1 Parent(s): bff3592

Upload folder using huggingface_hub

Browse files
.gitattributes CHANGED
@@ -33,3 +33,13 @@ 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
37
+ media/SWE-rebench-V2-pipeline.png filter=lfs diff=lfs merge=lfs -text
38
+ media/glm47flash_throughput.png filter=lfs diff=lfs merge=lfs -text
39
+ media/learned_patterns.png filter=lfs diff=lfs merge=lfs -text
40
+ media/overlay_sandbox.png filter=lfs diff=lfs merge=lfs -text
41
+ media/reasoning-tool-calls-logprobs.png filter=lfs diff=lfs merge=lfs -text
42
+ media/score_vs_cost.png filter=lfs diff=lfs merge=lfs -text
43
+ media/trace_overview.png filter=lfs diff=lfs merge=lfs -text
44
+ media/traffic_recorder.png filter=lfs diff=lfs merge=lfs -text
45
+ media/train_loss_decomposition.png filter=lfs diff=lfs merge=lfs -text
README.md CHANGED
@@ -1,3 +1,408 @@
1
  ---
 
 
2
  license: apache-2.0
 
 
 
 
 
 
 
 
 
 
3
  ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
+ base_model:
3
+ - whitecircle/GLM-4.7-Flash-Coder
4
  license: apache-2.0
5
+ pipeline_tag: text-to-text
6
+ library_name: transformers
7
+ tags:
8
+ - moe
9
+ - mixture-of-experts
10
+ - glm
11
+ - glm-4.7-flash
12
+ - code
13
+ - coder
14
+ - nvfp4
15
  ---
16
+ # Model Card
17
+
18
+
19
+
20
+ Source Model: [whitecircle/GLM-4.7-Flash-Coder](https://huggingface.co/whitecircle/GLM-4.7-Flash-Coder)
21
+
22
+
23
+
24
+
25
+ <div style="max-width: 70%; margin: 0 auto; text-align: center; font-weight: bold;">
26
+ THIS REPO:
27
+ </div>
28
+ <div style="max-width: 70%; margin: 0 auto; text-align: center; font-weight: bold;">
29
+ NVFP4 quantization for use on Blackwell gpus sm100 sm120 sm121.
30
+ </div>
31
+
32
+
33
+ Ready to serve on latest vLLM branch.
34
+
35
+ Please take note of the server configuration below.
36
+
37
+
38
+
39
+
40
+ Quantization via NVIDIA/Model-Optimizer custom workflow:
41
+ | Component | Precision |
42
+ |---|---|
43
+ | Routed experts | NVFP4 W4A4 (group 16, FP8 block scales, FP32 global scales) |
44
+ | Shared expert, router, attention, embeddings, `lm_head` | BF16 |
45
+ | MTP | no MTP in this repo |
46
+ | KV cache | Not quantized |
47
+ Please see post-quantization [verification_report](https://huggingface.co/cleyesode/GLM-4.7-Flash-Coder-NVFP4/verification_report.txt) for details.
48
+
49
+
50
+
51
+ Calibrated on curated samples from [Nickyang/RazorCal](https://huggingface.co/datasets/Nickyang/RazorCal):
52
+
53
+
54
+ | Domain | Count | Percentage | Description / Sub-sources |
55
+ | :------------------------ | :------ | :--------- | :---------------------------------------------------------------------------------- |
56
+ | **Coding** | 57 | \~24.1% | Algorithmic Python/C++, competitive programming, and GitHub SWE issue resolution. |
57
+ | **Math** | 41 | \~17.3% | High-level math derivations, AIME-style problems, calculus, and geometry. |
58
+ | **Chinese-STEM** | 33 | \~13.9% | Multilingual math, coding, and science MCQs written in Chinese. |
59
+ | **Instruction Following** | 32 | \~13.5% | Strict formatting constraints (e.g., word count, excluded words, required letters). |
60
+ | **World Knowledge** | 30 | \~12.7% | Trivia, history, reading comprehension, and translation tasks. |
61
+ | **Tool Calling** | 25 | \~10.5% | Multi-turn agentic workflows using external APIs (weather, stocks, ecommerce). |
62
+ | **Science (STEM)** | 19 | \~8.0% | Chemistry, physics, biology, and thermodynamics (both MCQs and long-form). |
63
+
64
+
65
+
66
+
67
+ ## Serving with vLLM
68
+
69
+ Example: 4 x 5060Ti 16GB | tensor parallel 4 with expert parallelism | single sequence at 175k context
70
+
71
+ **Note:** kv-cache-dtype quants not well supported on this architecture in vllm - BF16 kv config shown here
72
+
73
+ ```bash
74
+ export CUDA_DEVICE_ORDER=PCI_BUS_ID
75
+ export CUDA_VISIBLE_DEVICES=0,1,2,3
76
+ export PYTORCH_CUDA_ALLOC_CONF="expandable_segments:True"
77
+ export VLLM_USE_RUST_FRONTEND=0
78
+
79
+
80
+ vllm serve cleyesode/GLM-4.7-Flash-Coder-NVFP4 \
81
+ --served-model-name GLM-4.7-Flash-Coder-NVFP4 \
82
+ --host 0.0.0.0 \
83
+ --port 8000 \
84
+ --distributed-executor-backend mp \
85
+ --tensor-parallel-size 4 \
86
+ --enable-expert-parallel \
87
+ --kv-cache-memory 9567537324 \
88
+ --max-model-len 175000 \
89
+ --max-num-seqs 1 \
90
+ --max-num-batched-tokens 1024 \
91
+ --enable-prefix-caching \
92
+ --enable-chunked-prefill \
93
+ --tool-call-parser glm47 \
94
+ --reasoning-parser glm45 \
95
+ --enable-auto-tool-choice \
96
+ --attention-backend triton_mla \
97
+ --moe-backend flashinfer_cutlass \
98
+ --kv-cache-dtype bfloat16 \
99
+ --no-enable-flashinfer-autotune \
100
+ --trust-remote-code
101
+ ```
102
+
103
+
104
+ ## Memory Requirements
105
+
106
+ - VRAM: ~63GiB (per the above tp4 example)
107
+
108
+
109
+ ## Metrics (compute-only)
110
+
111
+ Very impressive generation speed absent MTP.
112
+
113
+ Throughput metrics collected on **real prompts**:
114
+
115
+
116
+ | Input tokens | Output tokens | TTFT (ms) | TTFT p99 (ms) | Prefill (tok/s) | TPOT (ms) | ITL p99 (ms) | **Decode (tok/s)** | E2E latency (s) | Draft acceptance | Mean accepted length |
117
+ |-------------:|--------------:|----------:|--------------:|----------------:|----------:|-------------:|---------------:|----------------:|-----------------:|---------------------:|
118
+ | 956 | 512 | 104 | 135 | 9,158 | 9.0 | 9.8 | **111.0** | 4.7 | -- | -- |
119
+ | 8,127 | 512 | 1,085 | 1,094 | 7,493 | 10.3 | 11.1 | **96.9** | 6.4 | -- | -- |
120
+ | 32,705 | 512 | 8,759 | 8,769 | 3,734 | 14.4 | 15.0 | **69.3** | 16.1 | -- | -- |
121
+ | 65,451 | 512 | 29,482 | 29,484 | 2,220 | 19.8 | 20.5 | **50.4** | 39.5 | -- | -- |
122
+ | 126,975 | 512 | 101,749 | 101,809 | 1,248 | 28.9 | 29.7 | **34.6** | 116.6 | -- | -- |
123
+
124
+ ## Benchmarks
125
+
126
+ **No performance benchmarks completed for NVFP4 model at this time**
127
+
128
+
129
+
130
+
131
+ ---
132
+
133
+ Source Repo Model Card:
134
+
135
+ # Introducing ⚡ GLM-4.7-Flash-Coder ⚡
136
+
137
+ We fine-tuned GLM-4.7-Flash to push its agentic coding capabilities further: from 33.15% to 41.65% on SWE-rebench-V2 (+26% relative improvement) at 14% lower inference cost.
138
+
139
+ This 30B Mixture-of-Experts model beats competitors 3.5-4× its size — Qwen3.5-122B-A10B and Devstral-2 — and surpasses Ling-2.6-Flash by a narrow margin.
140
+
141
+ We trained it with [Halo](https://github.com/whitecircle/halo), the post-training framework we’re open-sourcing today — the full story of the framework [here](https://whitecircle.com/research).
142
+
143
+ ![Score vs cost-per-task scatter plot on SWE-rebench-V2, 500 Python tasks: GLM-4.7-Flash-Coder at 0.417 sits 26% above GLM-4.7-Flash at 0.332, at a lower cost per task](media/score_vs_cost.png)
144
+
145
+ ## More reasoning, fewer turns
146
+
147
+ Although GLM-4.7-Flash-Coder does 2.4× more reasoning than the base model, it completes tasks faster: 45% fewer turns, which translates to 14% lower inference cost.
148
+
149
+ ![Box plots for base vs SFT model: median reasoning tokens per response 63 vs 150, assistant turns per task 82.5 vs 44, trace token length 52k vs 39k, average cost per task $0.0443 vs $0.0382](media/trace_overview.png)
150
+
151
+ ## The key to turn efficiency is concurrent tool calls
152
+
153
+ The fine-tuned model learned to batch its tool use instead of working one call at a time. Turns with two or more parallel `read` calls jumped from 1.6% to 9.7% of all turns, parallel `bash` from 0.6% to 7.2%, and parallel `edit`, which is almost nonexistent in the base model, grew ~90×. Reading three files in one turn instead of three turns is exactly the kind of habit that compounds into 45% fewer turns overall.
154
+
155
+ ![Frequency of responses with 2+ read, bash, and edit tool calls: the SFT model issues simultaneous tool calls 6–90× more often than the base model](media/simultaneous_tool_calls.png)
156
+
157
+ ## SWE-rebench-V2
158
+
159
+ We trained and evaluated models on [nebius/SWE-rebench-V2](https://huggingface.co/datasets/nebius/SWE-rebench-V2), a dataset of 32k agentic coding tasks. It consists of real issues from public repositories, closely representing real-world SWE challenges.
160
+
161
+ ![SWE-rebench-V2 pipeline: a repository and an issue enter an agentic loop in a sandbox, the generated patch is checked by the test-suite verifier, and the reward is 1 if all tests pass](media/SWE-rebench-V2-pipeline.png)
162
+
163
+ ## Teacher — GLM-5.1
164
+
165
+ The training data comes from GLM-5.1 acting as a teacher. We ran it on the train split with 4 rollouts per task and kept only trajectories that passed the tests: 7,777 successful multi-turn traces after rejection sampling.
166
+
167
+ We’re releasing the [training dataset](https://huggingface.co/datasets/whitecircle/swe-rebench-v2-glm-5.1-pi-agent-successful-traces) alongside the [train/test splits](https://huggingface.co/datasets/whitecircle/swe-rebench-v2-clean-python-tasks).
168
+
169
+ All models run inside PI — a lightweight agent harness with four tools: `bash`, `read`, `edit`, `write`.
170
+
171
+ ## Training
172
+
173
+ We trained Coder with Supervised Fine-Tuning (SFT) using [Halo](https://github.com/whitecircle/halo), our post-training framework we’re open-sourcing today 🎉
174
+
175
+ - Parallelism mode: DP=16 (multi-node training)
176
+ - Context length: 75k
177
+ - Packing: Enabled
178
+ - Global batch: 16
179
+ - Learning rate scheduling: Cosine, with linear warm-up
180
+ - Training time: 3 hours on 16 B300 GPUs
181
+
182
+ ### Halo 😇 is driven entirely by a single YAML config
183
+
184
+ ```yaml
185
+ model_name_or_path: zai-org/GLM-4.7-Flash
186
+ trust_remote_code: true
187
+ attn_implementation: flash_attention_4_hybrid
188
+
189
+ dataset:
190
+ - whitecircle/swe-rebench-v2-glm-5.1-pi-agent-successful-traces
191
+ test_size: 0.01
192
+
193
+ conversation_field: messages
194
+ tools_field: tools
195
+ interleaved_thinking: true
196
+
197
+ max_length: 75000
198
+ packing: true
199
+
200
+ learning_rate: 1e-5
201
+ lr_scheduler_type: cosine
202
+ warmup_steps: 25
203
+ per_device_train_batch_size: 1
204
+ per_device_eval_batch_size: 1
205
+
206
+ moe_balancing: none
207
+ liger_kernel_config:
208
+ fused_linear_cross_entropy: true
209
+
210
+ assistant_message_template: "<|assistant|>"
211
+
212
+ output_dir: /mnt/research/GLM-4.7-Flash-Coder
213
+ save_steps: 50
214
+ save_only_model: true
215
+
216
+ eval_strategy: steps
217
+ eval_steps: 50
218
+ logging_steps: 1
219
+ logging_first_step: true
220
+ log_decoded_samples: true
221
+
222
+ report_to: wandb
223
+ project_name: agentic-sft
224
+ run_name: glm-4.7-flash-coder
225
+
226
+ enable_efficiency_metrics: true
227
+ ```
228
+
229
+ ## Emergent skills
230
+
231
+ The model picked up several of the teacher’s skills and patterns during fine-tuning:
232
+
233
+ - A 10× higher rate of self-corrections in reasoning,
234
+ - Self-directed questions (“But wait, could this ever be True?”),
235
+ - Advanced tool calling patterns, e.g. setting timeout for the `bash` tool.
236
+
237
+ ![Bar charts of self-corrections, question marks in reasoning, git stash usage, and timeouts passed to bash across base, SFT, and teacher models](media/learned_patterns.png)
238
+
239
+ Perhaps the most surprising transfer was the `git stash` usage:
240
+
241
+ > *Hmm, actually these look like pre-existing test differences unrelated to my fix. Let me revert my fix and run the test again.*
242
+ >
243
+ > ```bash
244
+ > git stash && python -m pytest tests/test_markdown.py::test_markdown_table -xvs 2>&1 | tail -20
245
+ > ```
246
+
247
+ ## Loss decomposition into Reasoning vs. Tool Calls
248
+
249
+ We only train on assistant responses. Of the 177 million tokens in the dataset, only 46 million carry loss — the remaining 131 million (system prompts and tool responses) are masked.
250
+
251
+ Within an assistant message there are two very different kinds of tokens, mainly reasoning and tool calls. Tool-call tokens are far lower-entropy:
252
+
253
+ ![A packed training row rendered with per-token probabilities: reasoning tokens in grey, tool call tokens in pink, masked tokens untrained, dimmer shades meaning higher probability](media/reasoning-tool-calls-logprobs.png)
254
+
255
+ Although tool-call tokens make up 43.3% of input tokens, they contribute only 16.1% of the overall loss. To track convergence separately, we decompose the loss into two components: negative log-likelihood on reasoning tokens and on tool-call tokens.
256
+
257
+ ![Train and eval loss curves decomposed into reasoning and tool-call components with epoch boundaries; every eval loss reaches its global minimum at step 300](media/train_loss_decomposition.png)
258
+
259
+ The training-loss curves show 10–20% cliffs at epoch boundaries — the usual signature of memorizing repeated data. We read it as benign: eval losses keep improving through the second epoch.
260
+
261
+ It’s possible to set different learning rates for the two components, but on our data both eval losses reach their global minima at the same moment (the end of epoch 2) so we didn’t need to.
262
+
263
+ ## Test scores
264
+
265
+ Below is the comparison of GLM-4.7-Flash, GLM-4.7-Flash-Coder, and its teacher GLM-5.1 on test set of SWE-rebench-V2:
266
+
267
+ | metric | GLM-4.7-Flash | GLM-4.7-Flash-Coder | Δ | Teacher GLM-5.1 |
268
+ | --- | --- | --- | --- | --- |
269
+ | pass@1 | 0.3315 | 0.4165 | +25.6% | 0.5650 |
270
+ | pass@2 | 0.4087 | 0.5023 | +22.9% | 0.6063 |
271
+ | pass@4 | 0.4620 | 0.5720 | +23.8% | 0.6300 |
272
+
273
+ ## How we enabled FA4
274
+
275
+ FlashAttention-4 is a fast attention kernel — but it’s incompatible with GLM-4.7-Flash’s architecture:
276
+
277
+ > *FlashAttention-4 produces NaN gradients for this model’s head_dim-256 partial-rotary attention; falling back to `attn_implementation='sdpa'`.*
278
+
279
+ We found that the incompatibility only appears in the backward pass; the forward computation is correct. So we designed a hybrid scheme: FA4 handles the forward pass, while FA2 takes over for the backward. The hybrid approach gave a 1.36× increase in attention throughput.
280
+
281
+ *We’ll have a separate post on FA4-fwd-FA2-bwd in [our research blog](https://whitecircle.com/#research); stay tuned! 💚*
282
+
283
+ ## Kernels
284
+
285
+ GLM-4.7-Flash is a Mixture-of-Experts model. Tokens are distributed unevenly across experts, so the MLP blocks receive tensors of varying width. The Grouped-GEMM kernel batches matrix multiplications of varying shapes into a single kernel launch. Enabling it gave a 1.6× speedup on the FFN step.
286
+
287
+ Additionally, with Liger Fused Linear Cross-Entropy, we were able to compute loss without full logit matrix materialization in VRAM, preventing OOM on long sequences.
288
+
289
+ Together, these improvements yield up to a 1.63× training speedup over TRL, raising throughput to 11.1k tokens/s on a single B300 GPU on context length 4k:
290
+
291
+ ![GLM-4.7-Flash SFT throughput on a single B300 across context lengths from 4k to 128k: Halo FA4-hybrid leads Halo FA2 and TRL at every length; TRL OOMs at 128k](media/glm47flash_throughput.png)
292
+
293
+ ## Agentic infra challenge
294
+
295
+ Agentic evaluation at scale turned out to be a real infrastructure problem.
296
+
297
+ With thousands of concurrent agents, Docker brings high startup overhead and heavy disk pressure, and quickly saturates the local network — producing a high rate of environment startup errors.
298
+
299
+ Kubernetes struggled at high concurrency on a single host as well: it couldn’t set up and tear down pods fast enough, triggering timeouts. The problem was worst on powerful hosts: they could support enormous concurrency, but pod scheduling couldn’t keep up, so we never reached full CPU or RAM utilization.
300
+
301
+ ## Overlay sandboxes
302
+
303
+ Our solution is the Overlay Sandbox: instead of a container image, the agent runs on the bare host, inside an isolated filesystem and process group.
304
+
305
+ It has three layers: a base filesystem with the OS and repository, a hidden layer with the verifier suite, and an upper layer holding all edits and pip-installed packages.
306
+
307
+ Because overlay mounts are lazy (they don’t even index the filesystem!) and track only modified files, sandbox startup is essentially free.
308
+
309
+ ![Overlay sandbox diagram: a read-only base filesystem, hidden verifier files not visible to the agent, and a writable lazy overlay mount holding edits and new files](media/overlay_sandbox.png)
310
+
311
+ Since SWE-rebench-V2 is built from public repositories, agents must run without network access — otherwise, a model can simply fetch a real fix from GitHub. Before restricting network, we caught Fable 5 and Sonnet 5 doing exactly this — retrieving the upstream patches directly on 20-40% of tasks.
312
+
313
+ ## Traffic recorder
314
+
315
+ Our sandbox also includes a traffic recorder — a tiny proxy that forwards requests to the provider (OpenRouter / vLLM / SGLang) and records every response. It’s a harness-agnostic way to assemble full trajectories in OpenAI format and collect performance metrics.
316
+
317
+ ![Traffic recorder diagram: a proxy between the agent and the provider records raw requests and assembles them into an OpenAI-format trace](media/traffic_recorder.png)
318
+
319
+ ## Evaluation
320
+
321
+ Every agent runs with `max_turns = 200`, medium reasoning effort, and default sampling parameters.
322
+
323
+ Inference costs are calculated from OpenRouter pricing tables. We report the theoretical price under the assumption of perfect caching — actual OpenRouter costs were higher due to inconsistent routing. For locally served GLM-4.7-Flash-Coder, we applied the per-request pricing of GLM-4.7-Flash via OpenRouter’s DeepInfra provider.
324
+
325
+ <details>
326
+ <summary>OpenRouter providers per model</summary>
327
+
328
+ | model | provider | input $/Mtok | output $/Mtok | cache_read $/Mtok | cache_write $/Mtok |
329
+ | --- | --- | --- | --- | --- | --- |
330
+ | Fable-5 | google-vertex/global | 10 | 50 | 1 | 12.5 |
331
+ | Opus-4.8 | anthropic | 5 | 25 | 0.5 | 6.25 |
332
+ | GLM-5.1 | wafer/fp4 | 1 | 3.2 | 0.1 | |
333
+ | MiniMax-M3 | minimax/fp8 | 0.3 | 1.2 | 0.06 | |
334
+ | DeepSeek-V4-Pro | deepinfra/fp4 | 1.3 | 2.6 | 0.1 | |
335
+ | GPT-5.5 | azure | 5 | 30 | 0.5 | |
336
+ | Kimi-K2.6 | siliconflow/fp8 | 0.77 | 3.4 | 0.14 | |
337
+ | Haiku-4.5 | anthropic | 1 | 5 | 0.1 | 1.25 |
338
+ | Qwen3.5-397B-A17B | deepinfra/fp8 | 0.45 | 3 | 0.22 | |
339
+ | GPT-5.4-Mini | azure | 0.75 | 4.5 | 0.075 | |
340
+ | Gemini-3.1-Pro | google-ai-studio | 2 | 12 | 0.2 | 0.375 |
341
+ | GLM-4.7-Flash-Coder | deepinfra/bf16 | 0.06 | 0.4 | 0.01 | |
342
+ | Ling-2.6-Flash | novita | 0.1 | 0.3 | 0.02 | |
343
+ | Devstral-2 | mistral | 0.4 | 2 | 0.04 | |
344
+ | Qwen3.5-122B-A10B | alibaba | 0.4 | 3.2 | | |
345
+ | GLM-4.7-Flash | deepinfra/bf16 | 0.06 | 0.4 | 0.01 | |
346
+ | Gemini-3.5-Flash | google-vertex/global | 1.5 | 9 | 0.15 | 0.08333 |
347
+ | Qwen3-32B | deepinfra/fp8 | 0.08 | 0.28 | | |
348
+ | Qwen3.6-35B-A3B | parasail/fp8 | 0.15 | 1 | 0.05 | |
349
+ | Gemini-2.5-Flash | google-vertex/global | 0.3 | 2.5 | 0.03 | 0.08333 |
350
+ | Nemotron-3-Super | digitalocean | 0.21 | 0.455 | 0.06 | |
351
+ | Solar-Pro-3 | upstage | 0.15 | 0.6 | 0.015 | |
352
+
353
+ </details>
354
+
355
+ <details>
356
+ <summary>Prompt template</summary>
357
+
358
+ ```markdown
359
+ You are solving a real GitHub issue in the `{repo}` repository. The repo is already cloned and set up in the current working directory.
360
+
361
+ ## Workflow
362
+
363
+ 1. **Understand the issue.** Read the problem statement carefully. Identify the expected vs actual behavior.
364
+ 2. **Explore the codebase.** Find the relevant files using grep, find, or by reading the project structure. Read the code that needs to change.
365
+ 3. **Reproduce the bug** if possible — run the relevant test file or write a small script to confirm the issue exists.
366
+ 4. **Implement a minimal fix.** Change only what is necessary. Do not refactor unrelated code, do not add features beyond what the issue asks for.
367
+ 5. **Verify your fix.** Run the project's existing test suite to make sure you haven't introduced regressions. Look at the project's test configuration (Makefile, tox.ini, pyproject.toml, CI config) to find the right test command.
368
+ 6. **Mark the task complete** only after you've verified existing tests pass with your changes.
369
+
370
+ ## Issue
371
+
372
+ {problem_statement}
373
+
374
+ ## Expected Interfaces
375
+
376
+ The following interfaces are expected by the test suite. Pay close attention to function names, parameter signatures, and return types — the tests verify these exactly.
377
+
378
+ {interface}
379
+ ```
380
+
381
+ </details>
382
+
383
+ <details>
384
+ <summary>Inference with SGLang 0.5.14, CUDA 13</summary>
385
+
386
+ ```bash
387
+ python3 -m sglang_router.launch_server \
388
+ --model-path whitecircle/GLM-4.7-Flash-Coder \
389
+ --trust-remote-code \
390
+ --host 0.0.0.0 --port 30000 \
391
+ --context-length 202752 \
392
+ --prefill-attention-backend trtllm_mla \
393
+ --decode-attention-backend triton \
394
+ --page-size 64 \
395
+ --tool-call-parser glm47 --reasoning-parser glm45 \
396
+ --router-policy cache_aware \
397
+ --tp-size 1 --dp-size 8
398
+ ```
399
+
400
+ </details>
401
+
402
+ ## Team
403
+
404
+ - Project lead: Oleg Smirnov
405
+ - Agentic sandboxes: Konstantin Korolev, Sergei Bratchnikov
406
+ - Contributors: Mohamed Mekkouri, Dmitrii Kharlapenko, Daniil Oblakov
407
+
408
+ A [White Circle](https://whitecircle.com) project
chat_template.jinja ADDED
@@ -0,0 +1,86 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [gMASK]<sop>
2
+ {%- if tools -%}
3
+ <|system|>
4
+ # Tools
5
+
6
+ You may call one or more functions to assist with the user query.
7
+
8
+ You are provided with function signatures within <tools></tools> XML tags:
9
+ <tools>
10
+ {% for tool in tools %}
11
+ {{ tool | tojson(ensure_ascii=False) }}
12
+ {% endfor %}
13
+ </tools>
14
+
15
+ For each function call, output the function name and arguments within the following XML format:
16
+ <tool_call>{function-name}<arg_key>{arg-key-1}</arg_key><arg_value>{arg-value-1}</arg_value><arg_key>{arg-key-2}</arg_key><arg_value>{arg-value-2}</arg_value>...</tool_call>{%- endif -%}
17
+ {%- macro visible_text(content) -%}
18
+ {%- if content is string -%}
19
+ {{- content }}
20
+ {%- elif content is iterable and content is not mapping -%}
21
+ {%- for item in content -%}
22
+ {%- if item is mapping and item.type == 'text' -%}
23
+ {{- item.text }}
24
+ {%- elif item is string -%}
25
+ {{- item }}
26
+ {%- endif -%}
27
+ {%- endfor -%}
28
+ {%- else -%}
29
+ {{- content }}
30
+ {%- endif -%}
31
+ {%- endmacro -%}
32
+ {%- set ns = namespace(last_user_index=-1) %}
33
+ {%- for m in messages %}
34
+ {%- if m.role == 'user' %}
35
+ {% set ns.last_user_index = loop.index0 -%}
36
+ {%- endif %}
37
+ {%- endfor %}
38
+ {% for m in messages %}
39
+ {%- if m.role == 'user' -%}<|user|>{{ visible_text(m.content) }}
40
+ {%- elif m.role == 'assistant' -%}
41
+ <|assistant|>
42
+ {%- set reasoning_content = '' %}
43
+ {%- set content = visible_text(m.content) %}
44
+ {%- if m.reasoning_content is string %}
45
+ {%- set reasoning_content = m.reasoning_content %}
46
+ {%- else %}
47
+ {%- if '</think>' in content %}
48
+ {%- set reasoning_content = content.split('</think>')[0].rstrip('\n').split('<think>')[-1].lstrip('\n') %}
49
+ {%- set content = content.split('</think>')[-1].lstrip('\n') %}
50
+ {%- endif %}
51
+ {%- endif %}
52
+ {%- if ((clear_thinking is defined and not clear_thinking) or loop.index0 > ns.last_user_index) and reasoning_content -%}
53
+ {{ '<think>' + reasoning_content.strip() + '</think>'}}
54
+ {%- else -%}
55
+ {{ '</think>' }}
56
+ {%- endif -%}
57
+ {%- if content.strip() -%}
58
+ {{ content.strip() }}
59
+ {%- endif -%}
60
+ {% if m.tool_calls %}
61
+ {% for tc in m.tool_calls %}
62
+ {%- if tc.function %}
63
+ {%- set tc = tc.function %}
64
+ {%- endif %}
65
+ {{- '<tool_call>' + tc.name -}}
66
+ {% set _args = tc.arguments %}{% for k, v in _args.items() %}<arg_key>{{ k }}</arg_key><arg_value>{{ v | tojson(ensure_ascii=False) if v is not string else v }}</arg_value>{% endfor %}</tool_call>{% endfor %}
67
+ {% endif %}
68
+ {%- elif m.role == 'tool' -%}
69
+ {%- if m.content is string -%}
70
+ {%- if loop.first or (messages[loop.index0 - 1].role != "tool") %}
71
+ {{- '<|observation|>' }}
72
+ {%- endif %}
73
+ {{- '<tool_response>' }}
74
+ {{- m.content }}
75
+ {{- '</tool_response>' }}
76
+ {%- else -%}
77
+ <|observation|>{% for tr in m.content %}
78
+ <tool_response>{{ tr.output if tr.output is defined else tr }}</tool_response>{% endfor -%}
79
+ {% endif -%}
80
+ {%- elif m.role == 'system' -%}
81
+ <|system|>{{ visible_text(m.content) }}
82
+ {%- endif -%}
83
+ {%- endfor -%}
84
+ {%- if add_generation_prompt -%}
85
+ <|assistant|>{{- '</think>' if (enable_thinking is defined and not enable_thinking) else '<think>' -}}
86
+ {%- endif -%}
config.json ADDED
@@ -0,0 +1,319 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "architectures": [
3
+ "Glm4MoeLiteForCausalLM"
4
+ ],
5
+ "attention_bias": false,
6
+ "attention_dropout": 0.0,
7
+ "pad_token_id": 154820,
8
+ "eos_token_id": [
9
+ 154820,
10
+ 154827,
11
+ 154829
12
+ ],
13
+ "hidden_act": "silu",
14
+ "hidden_size": 2048,
15
+ "intermediate_size": 10240,
16
+ "max_position_embeddings": 202752,
17
+ "model_type": "glm4_moe_lite",
18
+ "moe_intermediate_size": 1536,
19
+ "topk_method": "noaux_tc",
20
+ "norm_topk_prob": true,
21
+ "num_attention_heads": 20,
22
+ "n_group": 1,
23
+ "topk_group": 1,
24
+ "n_routed_experts": 64,
25
+ "n_shared_experts": 1,
26
+ "routed_scaling_factor": 1.8,
27
+ "num_experts_per_tok": 4,
28
+ "first_k_dense_replace": 1,
29
+ "num_hidden_layers": 47,
30
+ "num_key_value_heads": 20,
31
+ "num_nextn_predict_layers": 1,
32
+ "partial_rotary_factor": 1.0,
33
+ "rms_norm_eps": 1e-05,
34
+ "rope_scaling": null,
35
+ "rope_theta": 1000000,
36
+ "tie_word_embeddings": false,
37
+ "dtype": "bfloat16",
38
+ "transformers_version": "5.0.0rc0",
39
+ "q_lora_rank": 768,
40
+ "kv_lora_rank": 512,
41
+ "qk_nope_head_dim": 192,
42
+ "qk_rope_head_dim": 64,
43
+ "v_head_dim": 256,
44
+ "vocab_size": 154880,
45
+ "quantization_config": {
46
+ "config_groups": {
47
+ "group_0": {
48
+ "input_activations": {
49
+ "dynamic": false,
50
+ "num_bits": 4,
51
+ "type": "float",
52
+ "group_size": 16
53
+ },
54
+ "weights": {
55
+ "dynamic": false,
56
+ "num_bits": 4,
57
+ "type": "float",
58
+ "group_size": 16
59
+ },
60
+ "targets": [
61
+ "model.layers.1.mlp.experts",
62
+ "model.layers.2.mlp.experts",
63
+ "model.layers.3.mlp.experts",
64
+ "model.layers.4.mlp.experts",
65
+ "model.layers.5.mlp.experts",
66
+ "model.layers.6.mlp.experts",
67
+ "model.layers.7.mlp.experts",
68
+ "model.layers.8.mlp.experts",
69
+ "model.layers.9.mlp.experts",
70
+ "model.layers.10.mlp.experts",
71
+ "model.layers.11.mlp.experts",
72
+ "model.layers.12.mlp.experts",
73
+ "model.layers.13.mlp.experts",
74
+ "model.layers.14.mlp.experts",
75
+ "model.layers.15.mlp.experts",
76
+ "model.layers.16.mlp.experts",
77
+ "model.layers.17.mlp.experts",
78
+ "model.layers.18.mlp.experts",
79
+ "model.layers.19.mlp.experts",
80
+ "model.layers.20.mlp.experts",
81
+ "model.layers.21.mlp.experts",
82
+ "model.layers.22.mlp.experts",
83
+ "model.layers.23.mlp.experts",
84
+ "model.layers.24.mlp.experts",
85
+ "model.layers.25.mlp.experts",
86
+ "model.layers.26.mlp.experts",
87
+ "model.layers.27.mlp.experts",
88
+ "model.layers.28.mlp.experts",
89
+ "model.layers.29.mlp.experts",
90
+ "model.layers.30.mlp.experts",
91
+ "model.layers.31.mlp.experts",
92
+ "model.layers.32.mlp.experts",
93
+ "model.layers.33.mlp.experts",
94
+ "model.layers.34.mlp.experts",
95
+ "model.layers.35.mlp.experts",
96
+ "model.layers.36.mlp.experts",
97
+ "model.layers.37.mlp.experts",
98
+ "model.layers.38.mlp.experts",
99
+ "model.layers.39.mlp.experts",
100
+ "model.layers.40.mlp.experts",
101
+ "model.layers.41.mlp.experts",
102
+ "model.layers.42.mlp.experts",
103
+ "model.layers.43.mlp.experts",
104
+ "model.layers.44.mlp.experts",
105
+ "model.layers.45.mlp.experts",
106
+ "model.layers.46.mlp.experts"
107
+ ]
108
+ }
109
+ },
110
+ "ignore": [
111
+ "lm_head",
112
+ "model.embed_tokens",
113
+ "model.layers.*.mlp.down_proj",
114
+ "model.layers.*.mlp.gate",
115
+ "model.layers.*.mlp.gate_proj",
116
+ "model.layers.*.mlp.shared_experts.down_proj",
117
+ "model.layers.*.mlp.shared_experts.gate_proj",
118
+ "model.layers.*.mlp.shared_experts.up_proj",
119
+ "model.layers.*.mlp.up_proj",
120
+ "model.layers.*.self_attn.kv_a_proj_with_mqa",
121
+ "model.layers.*.self_attn.kv_b_proj",
122
+ "model.layers.*.self_attn.o_proj",
123
+ "model.layers.*.self_attn.q_a_proj",
124
+ "model.layers.*.self_attn.q_b_proj"
125
+ ],
126
+ "quant_algo": "MIXED_PRECISION",
127
+ "producer": {
128
+ "name": "modelopt",
129
+ "version": "0.47.0rc1.dev129+g333ace1bc"
130
+ },
131
+ "quant_method": "modelopt",
132
+ "quantized_layers": {
133
+ "model.layers.1.mlp.experts": {
134
+ "quant_algo": "NVFP4",
135
+ "group_size": 16
136
+ },
137
+ "model.layers.10.mlp.experts": {
138
+ "quant_algo": "NVFP4",
139
+ "group_size": 16
140
+ },
141
+ "model.layers.11.mlp.experts": {
142
+ "quant_algo": "NVFP4",
143
+ "group_size": 16
144
+ },
145
+ "model.layers.12.mlp.experts": {
146
+ "quant_algo": "NVFP4",
147
+ "group_size": 16
148
+ },
149
+ "model.layers.13.mlp.experts": {
150
+ "quant_algo": "NVFP4",
151
+ "group_size": 16
152
+ },
153
+ "model.layers.14.mlp.experts": {
154
+ "quant_algo": "NVFP4",
155
+ "group_size": 16
156
+ },
157
+ "model.layers.15.mlp.experts": {
158
+ "quant_algo": "NVFP4",
159
+ "group_size": 16
160
+ },
161
+ "model.layers.16.mlp.experts": {
162
+ "quant_algo": "NVFP4",
163
+ "group_size": 16
164
+ },
165
+ "model.layers.17.mlp.experts": {
166
+ "quant_algo": "NVFP4",
167
+ "group_size": 16
168
+ },
169
+ "model.layers.18.mlp.experts": {
170
+ "quant_algo": "NVFP4",
171
+ "group_size": 16
172
+ },
173
+ "model.layers.19.mlp.experts": {
174
+ "quant_algo": "NVFP4",
175
+ "group_size": 16
176
+ },
177
+ "model.layers.2.mlp.experts": {
178
+ "quant_algo": "NVFP4",
179
+ "group_size": 16
180
+ },
181
+ "model.layers.20.mlp.experts": {
182
+ "quant_algo": "NVFP4",
183
+ "group_size": 16
184
+ },
185
+ "model.layers.21.mlp.experts": {
186
+ "quant_algo": "NVFP4",
187
+ "group_size": 16
188
+ },
189
+ "model.layers.22.mlp.experts": {
190
+ "quant_algo": "NVFP4",
191
+ "group_size": 16
192
+ },
193
+ "model.layers.23.mlp.experts": {
194
+ "quant_algo": "NVFP4",
195
+ "group_size": 16
196
+ },
197
+ "model.layers.24.mlp.experts": {
198
+ "quant_algo": "NVFP4",
199
+ "group_size": 16
200
+ },
201
+ "model.layers.25.mlp.experts": {
202
+ "quant_algo": "NVFP4",
203
+ "group_size": 16
204
+ },
205
+ "model.layers.26.mlp.experts": {
206
+ "quant_algo": "NVFP4",
207
+ "group_size": 16
208
+ },
209
+ "model.layers.27.mlp.experts": {
210
+ "quant_algo": "NVFP4",
211
+ "group_size": 16
212
+ },
213
+ "model.layers.28.mlp.experts": {
214
+ "quant_algo": "NVFP4",
215
+ "group_size": 16
216
+ },
217
+ "model.layers.29.mlp.experts": {
218
+ "quant_algo": "NVFP4",
219
+ "group_size": 16
220
+ },
221
+ "model.layers.3.mlp.experts": {
222
+ "quant_algo": "NVFP4",
223
+ "group_size": 16
224
+ },
225
+ "model.layers.30.mlp.experts": {
226
+ "quant_algo": "NVFP4",
227
+ "group_size": 16
228
+ },
229
+ "model.layers.31.mlp.experts": {
230
+ "quant_algo": "NVFP4",
231
+ "group_size": 16
232
+ },
233
+ "model.layers.32.mlp.experts": {
234
+ "quant_algo": "NVFP4",
235
+ "group_size": 16
236
+ },
237
+ "model.layers.33.mlp.experts": {
238
+ "quant_algo": "NVFP4",
239
+ "group_size": 16
240
+ },
241
+ "model.layers.34.mlp.experts": {
242
+ "quant_algo": "NVFP4",
243
+ "group_size": 16
244
+ },
245
+ "model.layers.35.mlp.experts": {
246
+ "quant_algo": "NVFP4",
247
+ "group_size": 16
248
+ },
249
+ "model.layers.36.mlp.experts": {
250
+ "quant_algo": "NVFP4",
251
+ "group_size": 16
252
+ },
253
+ "model.layers.37.mlp.experts": {
254
+ "quant_algo": "NVFP4",
255
+ "group_size": 16
256
+ },
257
+ "model.layers.38.mlp.experts": {
258
+ "quant_algo": "NVFP4",
259
+ "group_size": 16
260
+ },
261
+ "model.layers.39.mlp.experts": {
262
+ "quant_algo": "NVFP4",
263
+ "group_size": 16
264
+ },
265
+ "model.layers.4.mlp.experts": {
266
+ "quant_algo": "NVFP4",
267
+ "group_size": 16
268
+ },
269
+ "model.layers.40.mlp.experts": {
270
+ "quant_algo": "NVFP4",
271
+ "group_size": 16
272
+ },
273
+ "model.layers.41.mlp.experts": {
274
+ "quant_algo": "NVFP4",
275
+ "group_size": 16
276
+ },
277
+ "model.layers.42.mlp.experts": {
278
+ "quant_algo": "NVFP4",
279
+ "group_size": 16
280
+ },
281
+ "model.layers.43.mlp.experts": {
282
+ "quant_algo": "NVFP4",
283
+ "group_size": 16
284
+ },
285
+ "model.layers.44.mlp.experts": {
286
+ "quant_algo": "NVFP4",
287
+ "group_size": 16
288
+ },
289
+ "model.layers.45.mlp.experts": {
290
+ "quant_algo": "NVFP4",
291
+ "group_size": 16
292
+ },
293
+ "model.layers.46.mlp.experts": {
294
+ "quant_algo": "NVFP4",
295
+ "group_size": 16
296
+ },
297
+ "model.layers.5.mlp.experts": {
298
+ "quant_algo": "NVFP4",
299
+ "group_size": 16
300
+ },
301
+ "model.layers.6.mlp.experts": {
302
+ "quant_algo": "NVFP4",
303
+ "group_size": 16
304
+ },
305
+ "model.layers.7.mlp.experts": {
306
+ "quant_algo": "NVFP4",
307
+ "group_size": 16
308
+ },
309
+ "model.layers.8.mlp.experts": {
310
+ "quant_algo": "NVFP4",
311
+ "group_size": 16
312
+ },
313
+ "model.layers.9.mlp.experts": {
314
+ "quant_algo": "NVFP4",
315
+ "group_size": 16
316
+ }
317
+ }
318
+ }
319
+ }
generation_config.json ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "_from_model_config": true,
3
+ "eos_token_id": [
4
+ 154820,
5
+ 154827,
6
+ 154829
7
+ ],
8
+ "pad_token_id": 154820,
9
+ "temperature": 1.0,
10
+ "transformers_version": "5.0.0.dev0"
11
+ }
hf_quant_config.json ADDED
@@ -0,0 +1,213 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "producer": {
3
+ "name": "modelopt",
4
+ "version": "0.47.0rc1.dev129+g333ace1bc"
5
+ },
6
+ "quantization": {
7
+ "quant_algo": "MIXED_PRECISION",
8
+ "kv_cache_quant_algo": null,
9
+ "group_size": 16,
10
+ "exclude_modules": [
11
+ "lm_head",
12
+ "model.embed_tokens",
13
+ "model.layers.*.mlp.down_proj",
14
+ "model.layers.*.mlp.gate",
15
+ "model.layers.*.mlp.gate_proj",
16
+ "model.layers.*.mlp.shared_experts.down_proj",
17
+ "model.layers.*.mlp.shared_experts.gate_proj",
18
+ "model.layers.*.mlp.shared_experts.up_proj",
19
+ "model.layers.*.mlp.up_proj",
20
+ "model.layers.*.self_attn.kv_a_proj_with_mqa",
21
+ "model.layers.*.self_attn.kv_b_proj",
22
+ "model.layers.*.self_attn.o_proj",
23
+ "model.layers.*.self_attn.q_a_proj",
24
+ "model.layers.*.self_attn.q_b_proj"
25
+ ],
26
+ "quantized_layers": {
27
+ "model.layers.1.mlp.experts": {
28
+ "quant_algo": "NVFP4",
29
+ "group_size": 16
30
+ },
31
+ "model.layers.10.mlp.experts": {
32
+ "quant_algo": "NVFP4",
33
+ "group_size": 16
34
+ },
35
+ "model.layers.11.mlp.experts": {
36
+ "quant_algo": "NVFP4",
37
+ "group_size": 16
38
+ },
39
+ "model.layers.12.mlp.experts": {
40
+ "quant_algo": "NVFP4",
41
+ "group_size": 16
42
+ },
43
+ "model.layers.13.mlp.experts": {
44
+ "quant_algo": "NVFP4",
45
+ "group_size": 16
46
+ },
47
+ "model.layers.14.mlp.experts": {
48
+ "quant_algo": "NVFP4",
49
+ "group_size": 16
50
+ },
51
+ "model.layers.15.mlp.experts": {
52
+ "quant_algo": "NVFP4",
53
+ "group_size": 16
54
+ },
55
+ "model.layers.16.mlp.experts": {
56
+ "quant_algo": "NVFP4",
57
+ "group_size": 16
58
+ },
59
+ "model.layers.17.mlp.experts": {
60
+ "quant_algo": "NVFP4",
61
+ "group_size": 16
62
+ },
63
+ "model.layers.18.mlp.experts": {
64
+ "quant_algo": "NVFP4",
65
+ "group_size": 16
66
+ },
67
+ "model.layers.19.mlp.experts": {
68
+ "quant_algo": "NVFP4",
69
+ "group_size": 16
70
+ },
71
+ "model.layers.2.mlp.experts": {
72
+ "quant_algo": "NVFP4",
73
+ "group_size": 16
74
+ },
75
+ "model.layers.20.mlp.experts": {
76
+ "quant_algo": "NVFP4",
77
+ "group_size": 16
78
+ },
79
+ "model.layers.21.mlp.experts": {
80
+ "quant_algo": "NVFP4",
81
+ "group_size": 16
82
+ },
83
+ "model.layers.22.mlp.experts": {
84
+ "quant_algo": "NVFP4",
85
+ "group_size": 16
86
+ },
87
+ "model.layers.23.mlp.experts": {
88
+ "quant_algo": "NVFP4",
89
+ "group_size": 16
90
+ },
91
+ "model.layers.24.mlp.experts": {
92
+ "quant_algo": "NVFP4",
93
+ "group_size": 16
94
+ },
95
+ "model.layers.25.mlp.experts": {
96
+ "quant_algo": "NVFP4",
97
+ "group_size": 16
98
+ },
99
+ "model.layers.26.mlp.experts": {
100
+ "quant_algo": "NVFP4",
101
+ "group_size": 16
102
+ },
103
+ "model.layers.27.mlp.experts": {
104
+ "quant_algo": "NVFP4",
105
+ "group_size": 16
106
+ },
107
+ "model.layers.28.mlp.experts": {
108
+ "quant_algo": "NVFP4",
109
+ "group_size": 16
110
+ },
111
+ "model.layers.29.mlp.experts": {
112
+ "quant_algo": "NVFP4",
113
+ "group_size": 16
114
+ },
115
+ "model.layers.3.mlp.experts": {
116
+ "quant_algo": "NVFP4",
117
+ "group_size": 16
118
+ },
119
+ "model.layers.30.mlp.experts": {
120
+ "quant_algo": "NVFP4",
121
+ "group_size": 16
122
+ },
123
+ "model.layers.31.mlp.experts": {
124
+ "quant_algo": "NVFP4",
125
+ "group_size": 16
126
+ },
127
+ "model.layers.32.mlp.experts": {
128
+ "quant_algo": "NVFP4",
129
+ "group_size": 16
130
+ },
131
+ "model.layers.33.mlp.experts": {
132
+ "quant_algo": "NVFP4",
133
+ "group_size": 16
134
+ },
135
+ "model.layers.34.mlp.experts": {
136
+ "quant_algo": "NVFP4",
137
+ "group_size": 16
138
+ },
139
+ "model.layers.35.mlp.experts": {
140
+ "quant_algo": "NVFP4",
141
+ "group_size": 16
142
+ },
143
+ "model.layers.36.mlp.experts": {
144
+ "quant_algo": "NVFP4",
145
+ "group_size": 16
146
+ },
147
+ "model.layers.37.mlp.experts": {
148
+ "quant_algo": "NVFP4",
149
+ "group_size": 16
150
+ },
151
+ "model.layers.38.mlp.experts": {
152
+ "quant_algo": "NVFP4",
153
+ "group_size": 16
154
+ },
155
+ "model.layers.39.mlp.experts": {
156
+ "quant_algo": "NVFP4",
157
+ "group_size": 16
158
+ },
159
+ "model.layers.4.mlp.experts": {
160
+ "quant_algo": "NVFP4",
161
+ "group_size": 16
162
+ },
163
+ "model.layers.40.mlp.experts": {
164
+ "quant_algo": "NVFP4",
165
+ "group_size": 16
166
+ },
167
+ "model.layers.41.mlp.experts": {
168
+ "quant_algo": "NVFP4",
169
+ "group_size": 16
170
+ },
171
+ "model.layers.42.mlp.experts": {
172
+ "quant_algo": "NVFP4",
173
+ "group_size": 16
174
+ },
175
+ "model.layers.43.mlp.experts": {
176
+ "quant_algo": "NVFP4",
177
+ "group_size": 16
178
+ },
179
+ "model.layers.44.mlp.experts": {
180
+ "quant_algo": "NVFP4",
181
+ "group_size": 16
182
+ },
183
+ "model.layers.45.mlp.experts": {
184
+ "quant_algo": "NVFP4",
185
+ "group_size": 16
186
+ },
187
+ "model.layers.46.mlp.experts": {
188
+ "quant_algo": "NVFP4",
189
+ "group_size": 16
190
+ },
191
+ "model.layers.5.mlp.experts": {
192
+ "quant_algo": "NVFP4",
193
+ "group_size": 16
194
+ },
195
+ "model.layers.6.mlp.experts": {
196
+ "quant_algo": "NVFP4",
197
+ "group_size": 16
198
+ },
199
+ "model.layers.7.mlp.experts": {
200
+ "quant_algo": "NVFP4",
201
+ "group_size": 16
202
+ },
203
+ "model.layers.8.mlp.experts": {
204
+ "quant_algo": "NVFP4",
205
+ "group_size": 16
206
+ },
207
+ "model.layers.9.mlp.experts": {
208
+ "quant_algo": "NVFP4",
209
+ "group_size": 16
210
+ }
211
+ }
212
+ }
213
+ }
model-00001-of-00016.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e248d1280c7c43b438f2c83336ae591744062baee4221dbbdba0a2f426c26b6a
3
+ size 1258432136
model-00002-of-00016.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4e58e86980313e3930dc5c4b91bbc9258dfeaa9f870bcd5b1c687afdd3524fbc
3
+ size 1258432136
model-00003-of-00016.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:42a7ae24de58c0d237e589d10219bcafe0f50fb203ef5cc6407c71d521b59ed4
3
+ size 1258433792
model-00004-of-00016.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e95e14b442809d0cac9ce66b1af7e608fca69973fce8081ac75ecbe400335ca9
3
+ size 1258435064
model-00005-of-00016.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0e8a5e780fbd7618e8a38ab96eba9dcaf4236317eeadc02d7aa5136b064cb9df
3
+ size 1258434976
model-00006-of-00016.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a29e568000249bacc57915ddf4c23549317684897ab0098ed6a1d1b74d92b1fe
3
+ size 1258434976
model-00007-of-00016.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:236e95bab994248adcb2371477078a0bd8176fd9f937ba8e48f0a787c16fe9ec
3
+ size 1258435096
model-00008-of-00016.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ee525e3a2fba3b9d551774951dd2b9ce53e128daef873bece11a7e449ddff284
3
+ size 1258434976
model-00009-of-00016.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8d09397b6935e92a9ddae46a00b6e389ff16e77b5f91ef7b5178202ac6e822a4
3
+ size 1258434976
model-00010-of-00016.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:39accd9bafc25c53f95c38ecc440ac890a73362f99dd85e928b7d762038b3b94
3
+ size 1258435072
model-00011-of-00016.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b602a470b4e8b4ffbbfd18039f13474bc385866734b63df7c035c2ac0fd34b12
3
+ size 1258435000
model-00012-of-00016.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1687587c15ab407cb16ffcff05d00a2226ac23c9d099644f43fa5493fe25eeb3
3
+ size 1258434976
model-00013-of-00016.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:40761f9e7cf5ecf8c3e4cdfd9a5f267cd514b49060a4161af267e40198321056
3
+ size 1165373816
model-00014-of-00016.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:559b7d4f895176c0c978f52b14bc9590a6a7d70f69724a08b7fb7b304901adc2
3
+ size 1258169944
model-00015-of-00016.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e25b882b0b98297582aaad90d7fff376dc93b9cfaa48417f7763f4c0c5ea56c1
3
+ size 1254429808
model-00016-of-00016.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a7247f97d8c6eac2b25c1cc6737ad3ea4150e8f99bf43ce6a9d76b0955acea9f
3
+ size 1173744304
model.safetensors.index.json ADDED
The diff for this file is too large to render. See raw diff
 
tokenizer.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:19e773648cb4e65de8660ea6365e10acca112d42a854923df93db4a6f333a82d
3
+ size 20217442
tokenizer_config.json ADDED
@@ -0,0 +1,321 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "added_tokens_decoder": {
3
+ "154820": {
4
+ "content": "<|endoftext|>",
5
+ "single_word": false,
6
+ "lstrip": false,
7
+ "rstrip": false,
8
+ "normalized": false,
9
+ "special": true
10
+ },
11
+ "154821": {
12
+ "content": "[MASK]",
13
+ "single_word": false,
14
+ "lstrip": false,
15
+ "rstrip": false,
16
+ "normalized": false,
17
+ "special": true
18
+ },
19
+ "154822": {
20
+ "content": "[gMASK]",
21
+ "single_word": false,
22
+ "lstrip": false,
23
+ "rstrip": false,
24
+ "normalized": false,
25
+ "special": true
26
+ },
27
+ "154823": {
28
+ "content": "[sMASK]",
29
+ "single_word": false,
30
+ "lstrip": false,
31
+ "rstrip": false,
32
+ "normalized": false,
33
+ "special": true
34
+ },
35
+ "154824": {
36
+ "content": "<sop>",
37
+ "single_word": false,
38
+ "lstrip": false,
39
+ "rstrip": false,
40
+ "normalized": false,
41
+ "special": true
42
+ },
43
+ "154825": {
44
+ "content": "<eop>",
45
+ "single_word": false,
46
+ "lstrip": false,
47
+ "rstrip": false,
48
+ "normalized": false,
49
+ "special": true
50
+ },
51
+ "154826": {
52
+ "content": "<|system|>",
53
+ "single_word": false,
54
+ "lstrip": false,
55
+ "rstrip": false,
56
+ "normalized": false,
57
+ "special": true
58
+ },
59
+ "154827": {
60
+ "content": "<|user|>",
61
+ "single_word": false,
62
+ "lstrip": false,
63
+ "rstrip": false,
64
+ "normalized": false,
65
+ "special": true
66
+ },
67
+ "154828": {
68
+ "content": "<|assistant|>",
69
+ "single_word": false,
70
+ "lstrip": false,
71
+ "rstrip": false,
72
+ "normalized": false,
73
+ "special": true
74
+ },
75
+ "154829": {
76
+ "content": "<|observation|>",
77
+ "single_word": false,
78
+ "lstrip": false,
79
+ "rstrip": false,
80
+ "normalized": false,
81
+ "special": true
82
+ },
83
+ "154830": {
84
+ "content": "<|begin_of_image|>",
85
+ "single_word": false,
86
+ "lstrip": false,
87
+ "rstrip": false,
88
+ "normalized": false,
89
+ "special": true
90
+ },
91
+ "154831": {
92
+ "content": "<|end_of_image|>",
93
+ "single_word": false,
94
+ "lstrip": false,
95
+ "rstrip": false,
96
+ "normalized": false,
97
+ "special": true
98
+ },
99
+ "154832": {
100
+ "content": "<|begin_of_video|>",
101
+ "single_word": false,
102
+ "lstrip": false,
103
+ "rstrip": false,
104
+ "normalized": false,
105
+ "special": true
106
+ },
107
+ "154833": {
108
+ "content": "<|end_of_video|>",
109
+ "single_word": false,
110
+ "lstrip": false,
111
+ "rstrip": false,
112
+ "normalized": false,
113
+ "special": true
114
+ },
115
+ "154834": {
116
+ "content": "<|begin_of_audio|>",
117
+ "single_word": false,
118
+ "lstrip": false,
119
+ "rstrip": false,
120
+ "normalized": false,
121
+ "special": true
122
+ },
123
+ "154835": {
124
+ "content": "<|end_of_audio|>",
125
+ "single_word": false,
126
+ "lstrip": false,
127
+ "rstrip": false,
128
+ "normalized": false,
129
+ "special": true
130
+ },
131
+ "154836": {
132
+ "content": "<|begin_of_transcription|>",
133
+ "single_word": false,
134
+ "lstrip": false,
135
+ "rstrip": false,
136
+ "normalized": false,
137
+ "special": true
138
+ },
139
+ "154837": {
140
+ "content": "<|end_of_transcription|>",
141
+ "single_word": false,
142
+ "lstrip": false,
143
+ "rstrip": false,
144
+ "normalized": false,
145
+ "special": true
146
+ },
147
+ "154838": {
148
+ "content": "<|code_prefix|>",
149
+ "single_word": false,
150
+ "lstrip": false,
151
+ "rstrip": false,
152
+ "normalized": false,
153
+ "special": false
154
+ },
155
+ "154839": {
156
+ "content": "<|code_middle|>",
157
+ "single_word": false,
158
+ "lstrip": false,
159
+ "rstrip": false,
160
+ "normalized": false,
161
+ "special": false
162
+ },
163
+ "154840": {
164
+ "content": "<|code_suffix|>",
165
+ "single_word": false,
166
+ "lstrip": false,
167
+ "rstrip": false,
168
+ "normalized": false,
169
+ "special": false
170
+ },
171
+ "154841": {
172
+ "content": "<think>",
173
+ "single_word": false,
174
+ "lstrip": false,
175
+ "rstrip": false,
176
+ "normalized": false,
177
+ "special": false
178
+ },
179
+ "154842": {
180
+ "content": "</think>",
181
+ "single_word": false,
182
+ "lstrip": false,
183
+ "rstrip": false,
184
+ "normalized": false,
185
+ "special": false
186
+ },
187
+ "154843": {
188
+ "content": "<tool_call>",
189
+ "single_word": false,
190
+ "lstrip": false,
191
+ "rstrip": false,
192
+ "normalized": false,
193
+ "special": false
194
+ },
195
+ "154844": {
196
+ "content": "</tool_call>",
197
+ "single_word": false,
198
+ "lstrip": false,
199
+ "rstrip": false,
200
+ "normalized": false,
201
+ "special": false
202
+ },
203
+ "154845": {
204
+ "content": "<tool_response>",
205
+ "single_word": false,
206
+ "lstrip": false,
207
+ "rstrip": false,
208
+ "normalized": false,
209
+ "special": false
210
+ },
211
+ "154846": {
212
+ "content": "</tool_response>",
213
+ "single_word": false,
214
+ "lstrip": false,
215
+ "rstrip": false,
216
+ "normalized": false,
217
+ "special": false
218
+ },
219
+ "154847": {
220
+ "content": "<arg_key>",
221
+ "single_word": false,
222
+ "lstrip": false,
223
+ "rstrip": false,
224
+ "normalized": false,
225
+ "special": false
226
+ },
227
+ "154848": {
228
+ "content": "</arg_key>",
229
+ "single_word": false,
230
+ "lstrip": false,
231
+ "rstrip": false,
232
+ "normalized": false,
233
+ "special": false
234
+ },
235
+ "154849": {
236
+ "content": "<arg_value>",
237
+ "single_word": false,
238
+ "lstrip": false,
239
+ "rstrip": false,
240
+ "normalized": false,
241
+ "special": false
242
+ },
243
+ "154850": {
244
+ "content": "</arg_value>",
245
+ "single_word": false,
246
+ "lstrip": false,
247
+ "rstrip": false,
248
+ "normalized": false,
249
+ "special": false
250
+ },
251
+ "154851": {
252
+ "content": "/nothink",
253
+ "single_word": false,
254
+ "lstrip": false,
255
+ "rstrip": false,
256
+ "normalized": false,
257
+ "special": false
258
+ },
259
+ "154852": {
260
+ "content": "<|begin_of_box|>",
261
+ "single_word": false,
262
+ "lstrip": false,
263
+ "rstrip": false,
264
+ "normalized": false,
265
+ "special": false
266
+ },
267
+ "154853": {
268
+ "content": "<|end_of_box|>",
269
+ "single_word": false,
270
+ "lstrip": false,
271
+ "rstrip": false,
272
+ "normalized": false,
273
+ "special": false
274
+ },
275
+ "154854": {
276
+ "content": "<|image|>",
277
+ "single_word": false,
278
+ "lstrip": false,
279
+ "rstrip": false,
280
+ "normalized": false,
281
+ "special": false
282
+ },
283
+ "154855": {
284
+ "content": "<|video|>",
285
+ "single_word": false,
286
+ "lstrip": false,
287
+ "rstrip": false,
288
+ "normalized": false,
289
+ "special": false
290
+ }
291
+ },
292
+ "additional_special_tokens": [
293
+ "<|endoftext|>",
294
+ "[MASK]",
295
+ "[gMASK]",
296
+ "[sMASK]",
297
+ "<sop>",
298
+ "<eop>",
299
+ "<|system|>",
300
+ "<|user|>",
301
+ "<|assistant|>",
302
+ "<|observation|>",
303
+ "<|begin_of_image|>",
304
+ "<|end_of_image|>",
305
+ "<|begin_of_video|>",
306
+ "<|end_of_video|>",
307
+ "<|begin_of_audio|>",
308
+ "<|end_of_audio|>",
309
+ "<|begin_of_transcription|>",
310
+ "<|end_of_transcription|>"
311
+ ],
312
+ "clean_up_tokenization_spaces": false,
313
+ "do_lower_case": false,
314
+ "eos_token": "<|endoftext|>",
315
+ "extra_special_tokens": {},
316
+ "model_max_length": 128000,
317
+ "pad_token": "<|endoftext|>",
318
+ "padding_side": "left",
319
+ "remove_space": false,
320
+ "tokenizer_class": "PreTrainedTokenizer"
321
+ }
verification_report.txt ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ verification report (v5.2)
2
+ [PASS] INDEX: 35988 tensors, index consistent
3
+ [PASS] CONFIG: quant_algo MIXED_PRECISION
4
+ [PASS] QUANT_TENSORS: 8832 quantized modules complete (['nvfp4'])
5
+ [PASS] DECLARED: 46 quantized units declared with matching algorithms
6
+ [PASS] EXCLUDE: 14 patterns, none matches a quantized module
7
+ [PASS] BASE: all 9492 base tensors present, converted or replaced by quantized modules
8
+ [PASS] DEEP_SCALES: 17664 F32 scale values finite and positive
9
+ [PASS] FUSED_SCALES: 2944 q/k/v and gate/up groups share one global weight scale
10
+ [PASS] EXPERTS: all 46 MoE layers x 64 experts x 3 projections (down_proj/gate_proj/up_proj) complete, NVFP4 (U8 packed weights, F8 block scales, F32 global + input scales)
11
+ 0 FAIL | 0 WARN | 9 PASS
12
+ --- checkpoint inventory ---
13
+ [INFO] FILES: 16 model shards + 0 PLE shards | 35,988 tensors | 18.58 GiB
14
+ [INFO] DENSE LAYERS: [0] carry no routed experts (MLP BF16)
15
+ [INFO] ROUTERS: 46 router weights BF16 [64, 2048] + 47 correction biases (never quantized)
16
+ [INFO] SHARED EXPERTS: 138 tensors BF16 across 46 layers
17
+ [INFO] ATTENTION: 47 layers, 329 projections BF16 (all unquantized)
18
+ [INFO] MTP: 1 tensors, 0.00 GiB (no routed experts)
19
+ [INFO] EMBED_TOKENS: [154880, 2048] BF16, 0.59 GiB
20
+ [INFO] LM_HEAD: [154880, 2048] BF16, 0.59 GiB
21
+ [INFO] SIZE: routed experts 14.55 GiB | attention 1.90 GiB | embeddings/head 1.18 GiB | shared experts 0.81 GiB | other (norms, dense mlp, ...) 0.12 GiB | routers 0.01 GiB | mtp 0.00 GiB
22
+ [INFO] DECLARED: quantized_layers NVFP4 x46
23
+ [INFO] KV CACHE: not declared (serve with --kv-cache-dtype fp8 if wanted)
24
+ [INFO] EXCLUSIONS (14): lm_head, model.embed_tokens, model.layers.*.mlp.down_proj, model.layers.*.mlp.gate, model.layers.*.mlp.gate_proj, model.layers.*.mlp.shared_experts.down_proj, model.layers.*.mlp.shared_experts.gate_proj, model.layers.*.mlp.shared_experts.up_proj, model.layers.*.mlp.up_proj, model.layers.*.self_attn.kv_a_proj_with_mqa, model.layers.*.self_attn.kv_b_proj, model.layers.*.self_attn.o_proj, model.layers.*.self_attn.q_a_proj, model.layers.*.self_attn.q_b_proj
25
+ [INFO] SCALE RANGES: weight_scale_2 (8832): min 3.924e-05 / median 5.050e-05 / max 2.296e-04
26
+ [INFO] SCALE RANGES: input_scale (8832): min 6.285e-05 / median 3.698e-04 / max 8.324e-03