Output shape
<think>设 s=x+y,p=xy。x²+y²=s²-2p=13。…s=2,5。验:s=5,x,y=2,3,平方和13,立方和35。答案对。</think>x + y = 2 or 5. <full answer in the question's language>
v1.6 is the first dataset version where the check can catch something. 19.5% of its rows
plant a real mistake in one step and have the 验: block find it and redo it
(不对。重新检查…). The rest confirm. It also scales trace length with difficulty
(median reasoning 25 / 140 / 254 tokens for easy / medium / hard), and 5,000 of its 9,988
rows sit behind a long coding-harness system prompt, so the Chinese reasoning is trained in
the context where it otherwise drifts back to English.
Results
No benchmarks were run for this release. Nothing here measures accuracy, the share of
rows that reason in Chinese, verification rate or looping against the base model. Evaluate
it on your own workload before relying on it.
Known limitations
- Not measured. The v1.6 DiffusionGemma model loops on 2 of 20 held-out prompts after
finetuning; whether this model does the same has not been checked.
- The reasoning is Chinese regardless of the question's language. If you show traces to
users, they will see Chinese.
- The base is an agentic coding model. This finetune trained on math and coding
question/answer rows with no tool calls, so tool-use behaviour after finetuning is
untested.
- Training saw about 1,600 of the dataset's 9,988 rows (200 steps at an effective batch of
8, roughly a sixth of one epoch). The remaining rows were never shown to the model.
Usage
The checkpoint is Qwen3_5ForConditionalGeneration (the vision tower is kept), so load it
with AutoModelForImageTextToText:
import torchfrom transformers import AutoModelForImageTextToText, AutoTokenizer model_id = "sriq-ai/sriq-mimo_v2.6-9b-v1.6"tokenizer = AutoTokenizer.from_pretrained(model_id)model = AutoModelForImageTextToText.from_pretrained( model_id, dtype=torch.bfloat16, device_map="auto").eval() messages = [{"role": "user", "content": "What is 17 * 23? Answer briefly."}]inputs = tokenizer.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=1024)print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:], skip_special_tokens=True))
generation_config.json ships the base's sampling defaults: temperature 0.6, top-p 0.95,
top-k 20.
Do not pass enable_thinking=False
The chat template treats that flag as an instruction to skip reasoning and prefills an
empty block:
{%- if enable_thinking is false -%} {{- '<think></think>' -}}{%- endif -%}
The model then answers with no trace, silently. There is no error, and the behaviour this
model exists for is switched off. Leave the flag undefined, or set it to True.
Deployment
About 19.3 GB of weights (9.41B parameters, plus a 0.24B MTP head).
Compatible with FriendliAI Dedicated Endpoints. The repository
matches the Qwen/Qwen3.5-9B layout tensor for tensor (775 tensors, same dtypes and
shapes, same config.json), so it deploys the same way Qwen3.5-9B does. The checkpoint as
first uploaded did not deploy there. FIX.md lists what changed and why.
The base model's card documents SGLang with --reasoning-parser mimo. The architecture and
chat template are unchanged by the merge, so the same command should apply, but it has not
been checked.
GGUF quantizations (Q2_K_L through Q8_0, F16, BF16, plus the mmproj file) are at
sriq-ai/sriq-mimo_v2.6-9b-v1.6-GGUF:
llama-mtmd-cli -hf sriq-ai/sriq-mimo_v2.6-9b-v1.6-GGUF --jinja.
Model details
Table | |
|---|
| Base model | XiaomiMiMo/MiMo-V2.6-Distill-Qwen-9B (SFT of Qwen/Qwen3.5-9B) |
| Parameters | 9,409,813,744 (+ 243,290,624 in the MTP head, taken from Qwen3.5-9B) |
| Architecture | Qwen3_5ForConditionalGeneration, 32 layers (3 linear-attention : 1 full-attention) |
| Weights | bfloat16 (linear-attention A_log and norm in float32, as in Qwen3.5), merged (not an adapter) |
| Context length | 262,144 (max_position_embeddings) |
| Training data | sriq-ai/sriq-sft-v1.6: 9,988 conversations, 30 languages, easy / medium / hard |
Training
Supervised fine-tuning with Unsloth and TRL, LoRA
merged into the bf16 base.
Table | |
|---|
| rank / alpha / dropout | 16 / 16 / 0 |
| target modules | q_proj, k_proj, v_proj, o_proj, gate_proj, up_proj, down_proj |
| LoRA variants | rsLoRA, DoRA and LoftQ all off |
| steps | 200 (max_steps; the run is step-capped, not epoch-capped) |
| effective batch size |
Hardware is not recorded on this card.
License
Apache-2.0. The base model, XiaomiMiMo/MiMo-V2.6-Distill-Qwen-9B, is released under MIT;
its copyright notice applies to the base weights.
Developed by SRIQ. Base model by the Xiaomi MiMo team, on Qwen3.5-9B by
the Qwen team.