Kiwen1.1-27B
Kiwen1.1 is a fine-tuned version of Qwen3.8-27B, trained on long chain-of-thought reasoning traces from Kimi K3 — with a particular focus on reasoning, coding, tool use, and instruction following. But the goal wasn't simply to make the model think longer. The goal was to make it think better.
This model isn't an attempt to build the biggest model.
It's an attempt to make a 27-billion-parameter model think harder, follow instructions better, and act more reliably.
News
- Traing focus more in coding task
- Improve instruct response of base model
- agent workflow internal tasks
Results
lm-evaluation-harness 0.4.12, chat template applied, max_gen_toks=4096,
full datasets. Base measured under the identical harness.
| Qwen3.8-27B | Kiwen-27B | Kiwen1.1-27B |
|---|
| GSM8K strict | 67.4 | 72.78 | 96.4 |
| GSM8K flexible | 74.9 | 84.38 | 96.7 |
| IFEval prompt strict | 80.4 | 84.29 | 83.9 |
| IFEval inst strict | 82.5 | 86.45 | 87.5 |
| IFEval prompt loose | 83.2 | 86.69 | 87.2 |
| IFEval inst loose | 84.3 | 88.01 | 89.7 |
| VMLU val (744) | 83.5 | 86.02 | 84.8 |
GSM8K moves by 29 points. That is the headline number and it is real, on the
full 1,319-item set. Base and fine-tune were run back to back in the same job so
the two columns share their conditions. A second independent run of the
fine-tune scored 96.2 / 96.4, which puts the run-to-run spread around 0.3.
VMLU moves much less: +1.3 over the base, against Kiwen-27B's +2.5. The gain is
real but small. The training mix is weighted toward reasoning and tool use, not
toward Vietnamese factual recall, so a model tuned directly for that recall
stays ahead. Base VMLU breaks down as STEM 93.4, Social Science 82.4,
Other 78.6, Humanity 74.7, and the humanities gap is where the headroom is.
Internal benchmark
On an internal 20-task suite the model won 5, lost 6 and tied 5, median delta 0.0.
The wins are concentrated in classification and routing:
| Task | Delta |
|---|
| Translation | +22.9 |
| Intent classification | +20.9 |
| Intent routing | +20.7 |
| Multi-turn tool calling | +15.1 |
Usage
1from transformers import AutoModelForCausalLM, AutoTokenizer
2
3m = "beyoru/Kiwen1.1-27B"
4tok = AutoTokenizer.from_pretrained(m)
5model = AutoModelForCausalLM.from_pretrained(m, dtype="auto", device_map="auto")
6
7msgs = [{"role": "user", "content": "Natalia sold clips to 48 friends in April, "
8 "and half as many in May. How many total?"}]
9ids = tok.apply_chat_template(msgs, add_generation_prompt=True,
10 enable_thinking=True, return_tensors="pt").to(model.device)
11print(tok.decode(model.generate(ids, max_new_tokens=4096)[0][ids.shape[-1]:]))
Set enable_thinking=False for extraction, classification and formatting tasks.
The model was trained with both modes and respects the flag.
Serving with SGLang:
1python -m sglang.launch_server --model-path beyoru/Kiwen1.1-27B \
2 --context-length 262144
Citation
1@misc{kiwen27bk3,
2 title = {Kiwen1.1-27B},
3 author = {beyoru},
4 year = {2026},
5 url = {https://huggingface.co/beyoru/Kiwen1.1-27B}
6}
License & Attribution
Built on:
Kiwen1.1-27B is released under the Apache-2.0 license.