File size: 7,947 Bytes
743e397
f049bd0
 
 
 
 
743e397
 
f049bd0
7682ce7
743e397
f049bd0
743e397
 
 
 
f049bd0
 
 
 
 
 
 
 
7682ce7
f049bd0
 
 
 
 
 
 
 
 
 
 
 
6012a1b
f049bd0
 
6012a1b
f049bd0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
743e397
f049bd0
743e397
f049bd0
743e397
f049bd0
 
 
 
 
 
7682ce7
f049bd0
743e397
f049bd0
 
743e397
f049bd0
743e397
f049bd0
 
 
 
743e397
f049bd0
743e397
f049bd0
 
 
7682ce7
f049bd0
573d70f
 
 
 
 
 
 
 
 
 
c971191
 
573d70f
c971191
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
f049bd0
 
 
 
 
 
 
 
743e397
 
f049bd0
743e397
 
f049bd0
 
 
743e397
 
f049bd0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
743e397
f049bd0
 
 
 
 
 
743e397
f049bd0
743e397
f049bd0
 
 
 
 
 
 
 
743e397
f049bd0
 
 
 
9343892
 
 
 
 
 
 
 
f049bd0
00c304e
f049bd0
00c304e
f049bd0
00c304e
f049bd0
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
---
base_model: moonshotai/Kimi-K2.6
license: other
license_name: modified-mit
library_name: transformers
pipeline_tag: image-text-to-text
tags:
- kimi
- fp4
- nvfp4
- vllm
- llm-compressor
- compressed-tensors
name: RedHatAI/Kimi-K2.6-NVFP4
---

# RedHatAI/Kimi-K2.6-NVFP4

## Model Overview
- **Model Architecture:** moonshotai/Kimi-K2.6 (`KimiK25ForConditionalGeneration`)
- **Input:** Text, image, and video
- **Output:** Text
- **Weight Quantization:** NVFP4 (FP4 tensor-group quantization)
- **Activation Quantization:** NVFP4 (FP4 tensor-group quantization)
- **Release Date:** 2026-04-30
- **Model Developers:** RedHatAI

This model is a quantized variant of [moonshotai/Kimi-K2.6](https://huggingface.co/moonshotai/Kimi-K2.6), exported in compressed-tensors format for vLLM deployment and evaluated on instruction-following, reasoning, function-calling, and agentic coding workloads.

### Model Optimizations

This checkpoint applies NVFP4 quantization to transformer linear layers with group-wise FP4 weights and activations, using FP8 scale tensors. The format is optimized for efficient low-precision serving while preserving strong benchmark quality on Kimi-K2.6 evaluations.

The model is exported in compressed-tensors format and is intended for OpenAI-compatible inference with vLLM.

## Creation

This model was quantized with [LLM Compressor](https://github.com/vllm-project/llm-compressor) and exported as compressed-tensors. The script below is a representative reference script aligned with `recipe.yaml` and the published quantization configuration.

<details>
<summary><b>Reference quantization script (NVFP4)</b></summary>

```python
from compressed_tensors.entrypoints.convert import CompressedTensorsDequantizer
from llmcompressor import model_free_ptq

MODEL_ID = "moonshotai/Kimi-K2.6"
SAVE_DIR = "Kimi-K2.6-NVFP4"

ignore = [
    "re:.*mlp.gate$",
    "re:.*lm_head",
    "re:.*self_attn.*",
    "re:.*kv_a_proj_with_mqa$",
    "re:.*q_a_proj$",
    "re:.*vision_tower.*",
    "re:.*embed_tokens$",
    "re:.*norm$",
    "re:.*mm_projector.*",
    "re:.*vision.*",
]

model_free_ptq(
    model_stub=MODEL_ID,
    save_directory=SAVE_DIR,
    scheme="NVFP4",
    ignore=ignore,
    converter=CompressedTensorsDequantizer(
        MODEL_ID,
        quant_config_key="text_config.quantization_config",
        ignore=ignore,
    ),
    max_workers=2,
    device="cuda:0",
)
```

</details>

## Deployment

### Use with vLLM

```bash
vllm serve RedHatAI/Kimi-K2.6-NVFP4 \
  --trust-remote-code \
  --mm-encoder-tp-mode data \
  --tool-call-parser kimi_k2 \
  --reasoning-parser kimi_k2 \
  --enable-auto-tool-choice
```

```python
from openai import OpenAI

client = OpenAI(base_url="http://127.0.0.1:8000/v1", api_key="EMPTY")

resp = client.chat.completions.create(
    model="RedHatAI/Kimi-K2.6-NVFP4",
    messages=[{"role": "user", "content": "Explain how transformers use attention."}],
)

print(resp.choices[0].message.content)
```

## Evaluation

We evaluated this model with [lm-evaluation-harness](https://github.com/EleutherAI/lm-evaluation-harness), [lighteval](https://github.com/huggingface/lighteval), BFCL v4, and SWE-Bench Lite served through a vLLM (`0.22.1`) OpenAI-compatible endpoint.

| Category | Benchmark | Score |
| --- | --- | ---: |
| Reasoning and instruction following | AIME25 (pass@1, avg@8) | 96.25% |
| Reasoning and instruction following | GPQA Diamond (pass@1, avg@3) | 91.08% |
| Reasoning and instruction following | MATH-500 (pass@1, avg@3) | 93.13% |
| Reasoning and instruction following | MMLU-Pro Chat (custom-extract, avg@3) | 86.75% |
| Reasoning and instruction following | GSM8K Platinum CoT (strict-match, avg@3) | 92.50% |
| Reasoning and instruction following | GSM8K Platinum CoT (flexible-extract, avg@3) | 96.94% |
| Reasoning and instruction following | IFEval (prompt-level strict, avg@3) | 94.02% |
| Reasoning and instruction following | IFEval (instruction-level strict, avg@3) | 95.96% |
| Agentic function calling (accuracy) | BFCL v4 non_live | 86.44% |
| Agentic function calling (accuracy) | BFCL v4 live | 78.31% |
| Agentic function calling (accuracy) | BFCL v4 multi_turn | 63.75% |
| Agentic function calling (accuracy) | BFCL v4 memory | 63.23% |
| Agentic function calling (accuracy) | BFCL v4 web_search | 13.00% |
| Agentic coding | SWE-Bench Lite (dev) | 21.74% |

BFCL rows report category accuracy. SWE-Bench follows the official harness score style. For run transparency: 5 of 23 tasks were resolved, and 19 instances produced non-empty graded patches.

### Recovery vs. base model (`moonshotai/Kimi-K2.6`)

| Benchmark | Base model (`moonshotai/Kimi-K2.6`) | This model | Recovery |
| --- | ---: | ---: | ---: |
| AIME25 (pass@1, avg@8) | 90.00% | 96.25% | 106.94% |
| GPQA Diamond (pass@1, avg@3) | 84.51% | 91.08% | 107.77% |
| MATH-500 (pass@1, avg@3) | 93.53% | 93.13% | 99.57% |
| MMLU-Pro Chat (custom-extract, avg@3) | 86.70% | 86.75% | 100.06% |
| GSM8K Platinum CoT (strict-match, avg@3) | 93.80% | 92.50% | 98.61% |
| GSM8K Platinum CoT (flexible-extract, avg@3) | 96.33% | 96.94% | 100.63% |
| IFEval (prompt-level strict, avg@3) | 94.82% | 94.02% | 99.16% |
| IFEval (instruction-level strict, avg@3) | 96.52% | 95.96% | 99.42% |

## Reproduction

Representative commands used to produce and aggregate these runs:

### vLLM + lm-eval (example)

```bash
lm_eval --model local-chat-completions \
  --tasks gsm8k_platinum_cot_llama \
  --model_args "model=RedHatAI/Kimi-K2.6-NVFP4,max_length=40960,base_url=http://127.0.0.1:8000/v1/chat/completions,num_concurrent=32,max_retries=3,tokenized_requests=False,tokenizer_backend=None,timeout=3600" \
  --num_fewshot 0 \
  --apply_chat_template \
  --output_path results_gsm8k_platinum.json \
  --seed 1234 \
  --gen_kwargs "do_sample=True,temperature=1.0,top_p=0.95,top_k=20,min_p=0.0,max_gen_toks=64000,presence_penalty=1.5,repetition_penalty=1.0,seed=1234"
```

### lighteval config used

```yaml
model_parameters:
  provider: "hosted_vllm"
  model_name: "hosted_vllm/RedHatAI/Kimi-K2.6-NVFP4"
  base_url: "http://127.0.0.1:8000/v1"
  api_key: "EMPTY"
  timeout: 3600
  max_model_length: 40960
  concurrent_requests: 8
  generation_parameters:
    temperature: 1.0
    max_new_tokens: 65536
    top_p: 0.95
    seed: 1234
    top_k: 20
    presence_penalty: 1.5
```

```bash
lighteval endpoint litellm litellm_config.yaml \
  "aime25@1@8|0,math_500@1@3|0,gpqa:diamond@1@3|0" \
  --output-dir results_lighteval \
  --save-details
```

### BFCL v4 and SWE-Bench Lite scripts

```bash
# BFCL categories: non_live, live, multi_turn, memory, web_search
./scripts/bfcl/run_bfcl_local.sh kimi_nvfp4 non_live
./scripts/bfcl/run_bfcl_local.sh kimi_nvfp4 live
./scripts/bfcl/run_bfcl_local.sh kimi_nvfp4 multi_turn
./scripts/bfcl/run_bfcl_local.sh kimi_nvfp4 memory
./scripts/bfcl/run_bfcl_local.sh kimi_nvfp4 web_search
```

```bash
# SWE-Bench Lite dev (full split)
SWEBENCH_SUBSET=lite SWEBENCH_SPLIT=dev SWEBENCH_SLICE= \
  ./scripts/swebench/run_swebench_lite_local.sh kimi_nvfp4

# Official SWE-bench resolved-rate evaluation
/home/shubhra/environments/mini-swe-agent/bin/python -m swebench.harness.run_evaluation \
  --dataset_name princeton-nlp/SWE-Bench_Lite \
  --split dev \
  --predictions_path /home/shubhra/kimik2.6_evals/results/swebench_resolved_eval/kimi_nvfp4_lite_dev_preds_merged.json \
  --max_workers 4 \
  --run_id kimi_nvfp4_lite_dev_20260701_resolved
```

Most lm-eval/lighteval tasks were run with 3 seeds and then averaged; AIME25 was run with 8 seeds. BFCL v4 and SWE-Bench Lite numbers come from the aggregated run artifacts listed below.

## Every Eval Ever Artifacts

- `every_eval_ever/aime25.json`
- `every_eval_ever/gpqa_diamond.json`
- `every_eval_ever/gsm8k_platinum_cot_llama.json`
- `every_eval_ever/ifeval.json`
- `every_eval_ever/math_500.json`
- `every_eval_ever/mmlu_pro_chat.json`
- `every_eval_ever/bfcl_v4.json`
- `every_eval_ever/swebench_lite_dev.json`