Text Generation
Transformers
Safetensors
English
qwen3_5_moe
image-text-to-text
reasoning
distillation
chain-of-thought
qwen
qwen3.6
kimi
kimi-k2
mixture-of-experts
Mixture of Experts
lora
unsloth
conversational
Instructions to use lordx64/Qwen3.6-35B-A3B-Kimi-K2.6-Reasoning-Distilled with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use lordx64/Qwen3.6-35B-A3B-Kimi-K2.6-Reasoning-Distilled with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="lordx64/Qwen3.6-35B-A3B-Kimi-K2.6-Reasoning-Distilled") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] pipe(text=messages)# Load model directly from transformers import AutoProcessor, AutoModelForMultimodalLM processor = AutoProcessor.from_pretrained("lordx64/Qwen3.6-35B-A3B-Kimi-K2.6-Reasoning-Distilled") model = AutoModelForMultimodalLM.from_pretrained("lordx64/Qwen3.6-35B-A3B-Kimi-K2.6-Reasoning-Distilled") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] inputs = processor.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=40) print(processor.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use lordx64/Qwen3.6-35B-A3B-Kimi-K2.6-Reasoning-Distilled with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "lordx64/Qwen3.6-35B-A3B-Kimi-K2.6-Reasoning-Distilled" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "lordx64/Qwen3.6-35B-A3B-Kimi-K2.6-Reasoning-Distilled", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/lordx64/Qwen3.6-35B-A3B-Kimi-K2.6-Reasoning-Distilled
- SGLang
How to use lordx64/Qwen3.6-35B-A3B-Kimi-K2.6-Reasoning-Distilled with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "lordx64/Qwen3.6-35B-A3B-Kimi-K2.6-Reasoning-Distilled" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "lordx64/Qwen3.6-35B-A3B-Kimi-K2.6-Reasoning-Distilled", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "lordx64/Qwen3.6-35B-A3B-Kimi-K2.6-Reasoning-Distilled" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "lordx64/Qwen3.6-35B-A3B-Kimi-K2.6-Reasoning-Distilled", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Unsloth Studio
How to use lordx64/Qwen3.6-35B-A3B-Kimi-K2.6-Reasoning-Distilled with Unsloth Studio:
Install Unsloth Studio (macOS, Linux, WSL)
curl -fsSL https://unsloth.ai/install.sh | sh # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for lordx64/Qwen3.6-35B-A3B-Kimi-K2.6-Reasoning-Distilled to start chatting
Install Unsloth Studio (Windows)
irm https://unsloth.ai/install.ps1 | iex # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for lordx64/Qwen3.6-35B-A3B-Kimi-K2.6-Reasoning-Distilled to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for lordx64/Qwen3.6-35B-A3B-Kimi-K2.6-Reasoning-Distilled to start chatting
Load model with FastModel
pip install unsloth from unsloth import FastModel model, tokenizer = FastModel.from_pretrained( model_name="lordx64/Qwen3.6-35B-A3B-Kimi-K2.6-Reasoning-Distilled", max_seq_length=2048, ) - Docker Model Runner
How to use lordx64/Qwen3.6-35B-A3B-Kimi-K2.6-Reasoning-Distilled with Docker Model Runner:
docker model run hf.co/lordx64/Qwen3.6-35B-A3B-Kimi-K2.6-Reasoning-Distilled
Eval: head-to-head table vs base — GSM8K +28.67pp, MMLU-Pro math +37.6pp, MATH-500 47%, GPQA flex 75.25%
Browse files
README.md
CHANGED
|
@@ -143,25 +143,31 @@ The initial plan was full LoRA including the MoE expert FFNs (`gate_proj/up_proj
|
|
| 143 |
|
| 144 |
## Evaluation
|
| 145 |
|
| 146 |
-
|
| 147 |
|
| 148 |
-
|
| 149 |
-
|---|---|---:|---|
|
| 150 |
-
| **GSM8K** | 8-shot CoT, 300 examples, strict-match | **92.67%** | ✅ done |
|
| 151 |
-
| MMLU-Pro | 5-shot, 500 examples per subject, custom-extract | _under investigation_ | 🟠 extraction issue (see note) |
|
| 152 |
-
| GPQA Diamond | 0-shot CoT zeroshot, 198 problems | _pending_ | 🟡 in queue |
|
| 153 |
-
| AIME 2024 | 0-shot, 30 problems | _pending_ | 🟡 in queue |
|
| 154 |
-
| AIME 2025 | 0-shot, 30 problems | _pending_ | 🟡 in queue |
|
| 155 |
-
| MATH-500 | 0-shot, 100 problems | _pending_ | 🟡 in queue |
|
| 156 |
|
| 157 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 158 |
|
| 159 |
-
|
| 160 |
|
| 161 |
-
-
|
| 162 |
-
- `lordx64/Qwen3.6-35B-A3B-Claude-4.7-Opus-Reasoning-Distilled` (sibling distillation, different teacher)
|
| 163 |
|
| 164 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 165 |
|
| 166 |
## Limitations and caveats
|
| 167 |
|
|
|
|
| 143 |
|
| 144 |
## Evaluation
|
| 145 |
|
| 146 |
+
Methodology: vLLM + lm-eval-harness with a custom `<think>`-stripping wrapper, `max_gen_toks=16384` to allow full Kimi-style reasoning chains before answer extraction. Each model evaluated under identical conditions on a single H200. See [`training/eval.py`](https://github.com/lordx64/distillation/blob/main/training/eval.py).
|
| 147 |
|
| 148 |
+
### Head-to-head: Kimi-Distill vs Base
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 149 |
|
| 150 |
+
| Benchmark | Setup | Base Qwen3.6-35B-A3B | **Kimi-Distill (this model)** | Δ |
|
| 151 |
+
|---|---|---:|---:|---:|
|
| 152 |
+
| **GSM8K** | 8-shot CoT, 300 examples, strict-match | 64.00% | **92.67%** | **+28.67 pp** ✅ |
|
| 153 |
+
| **MATH-500** | 0-shot, 100 problems, math_verify | _running_ | **47.00%** | _pending base re-run_ |
|
| 154 |
+
| **GPQA Diamond** | 0-shot CoT, 198 problems, flex-extract | 79.29% | 75.25% | -4.04 pp |
|
| 155 |
+
| **MMLU-Pro math** | 5-shot, custom-extract | 27.20% | **64.80%** | **+37.60 pp** ✅ |
|
| 156 |
+
| **MMLU-Pro CS** | 5-shot, custom-extract | 20.49% | **61.46%** | **+40.97 pp** ✅ |
|
| 157 |
+
| **MMLU-Pro engineering** | 5-shot, custom-extract | 18.60% | 30.80% | +12.20 pp ✅ |
|
| 158 |
+
| **MMLU-Pro chemistry** | 5-shot, custom-extract | 13.00% | 26.60% | +13.60 pp ✅ |
|
| 159 |
+
| MMLU-Pro overall | 5-shot, custom-extract | 6.35% | 14.67% | +8.32 pp (extractor-affected for both) |
|
| 160 |
+
| AIME 2024 / 2025 | 0-shot, 30 problems, strict-match | 0.00% | 0.00% | extractor format issue (see note) |
|
| 161 |
|
| 162 |
+
The headline: **on every benchmark where the extractor produces clean numbers, the Kimi-distill clearly outperforms the base** — most dramatically on GSM8K (+28.67pp), MMLU-Pro Math (+37.60pp), and MMLU-Pro Computer Science (+40.97pp). The distillation transferred Kimi K2.6's verbose reasoning style robustly enough that the student emits `<think>` blocks unconditionally, even on fewshot prompts that don't model the pattern, while the base imitates the fewshot format and skips reasoning.
|
| 163 |
|
| 164 |
+
GPQA Diamond is the one benchmark where the base edges out the distill (-4.04 pp). This is consistent with distillation transferring reasoning *style* but not adding factual knowledge — GPQA is largely a knowledge benchmark and the base's STEM coverage is what answers most questions.
|
|
|
|
| 165 |
|
| 166 |
+
### Notes on the methodology issues
|
| 167 |
+
|
| 168 |
+
- **AIME 2024 / 2025 — `0%` is cosmetic, not a real model failure.** Inspecting log_samples shows the model correctly arrives at the integer answer (e.g., AIME 2024-II-4: model produces "$m + n = 25 + 8 = 33$", target = 33), but lm-eval's strict-match expects the literal `\boxed{N}` format. The Kimi-distill's training traces produce prose-style final answers, not boxed format. A custom extractor is in the queue.
|
| 169 |
+
- **MMLU-Pro overall is depressed by the extractor for both models equally.** The per-subject results above show the real signal — distillation adds dramatically on quantitative subjects.
|
| 170 |
+
- **MATH-500 base score pending** — a re-run of the base with `sympy` / `math_verify` deps installed is in flight; will fill that cell when it lands.
|
| 171 |
|
| 172 |
## Limitations and caveats
|
| 173 |
|