SAVRN
Search Contact SAVRN

Open-weight model · Image and text to text

DN-MOPD-Qwen3.5-9B-baseline-label-160updates

by XinLi XINLI1997/DN-MOPD-Qwen3.5-9B-baseline-label-160updates

DN-MOPD-Qwen3.5-9B-baseline-label-160updates is an open-weight model for image and text to text from XinLi, released under Apache License 2.0. It has 9.4B parameters and a 262,144-token context. At 16-bit it needs about 22.6 GB of GPU memory, which fits on 1x MI300X from $1.85 an hour, at the lowest prices in the SAVRN Index.

The Label baseline of the DN-MOPD paper at Qwen3.5-9B continued to 160 updates (paper Table 5): multi-teacher on-policy distillation with label routing (each prompt is scored by the expert of its domain, every domain multiplier is 1).

Parameters9.4B
Context262,144
Weights18.8 GB
Licenseapache-2.0
AccessOpen weights
Monthly Downloads—

Runs On

What it takes to serve DN-MOPD-Qwen3.5-9B-baseline-label-160updates (9.4B parameters): the memory its weights need at each precision, and the cheapest way to rent enough data-center GPUs to hold them.

PrecisionWeightsMemory neededCheapest setupPer hourAlso fits
16-bit 18.8 GB 22.6 GB 1x MI300X (192 GB)
Vultr
$1.85 1x H100 $1.99 · 1x MI325X $2.00
8-bit 9.4 GB 11.3 GB 1x MI300X (192 GB)
Vultr
$1.85 1x H100 $1.99 · 1x MI325X $2.00
4-bit 4.7 GB 5.6 GB 1x MI300X (192 GB)
Vultr
$1.85 1x H100 $1.99 · 1x MI325X $2.00

Memory is the weights at that precision plus 20% for the runtime and a short context; a long context needs more. Prices are the lowest on-demand hourly rates in the SAVRN Index, read Oct 1, 2026.

DN-MOPD-Qwen3.5-9B-baseline-label-160updates on every accelerator the SAVRN Index prices, at every precision

Model Card

By XinLi, published under apache-2.0, revision ddcfc5c678a7.

The Label baseline of the DN-MOPD paper at Qwen3.5-9B continued to 160 updates (paper Table 5): multi-teacher on-policy distillation with label routing (each prompt is scored by the expert of its domain, every domain multiplier is 1). Released for comparison with DN-MOPD-Qwen3.5-9B; it is not the proposed method. Paper: Beyond Teacher Assignment: Domain-Normalized Multi-Teacher On-Policy Distillation (arXiv:2609.35347, project page) · Code: github.com/LiXin97/DN-MOPD The full recipe, with the launch scripts for every row of the paper's tables, is in recipes/qwen3.5/ and docs/recipe.md. This model was trained and evaluated with the non-thinking chat format. Pass enablethinking=False to the…

Read XinLi's full model card

The Label baseline of the DN-MOPD paper at Qwen3.5-9B continued to 160 updates (paper Table 5): multi-teacher on-policy distillation with label routing (each prompt is scored by the expert of its domain, every domain multiplier is 1). Released for comparison with DN-MOPD-Qwen3.5-9B; it is not the proposed method.

Paper: Beyond Teacher Assignment: Domain-Normalized Multi-Teacher On-Policy Distillation (arXiv:2609.35347, project page) · Code: github.com/LiXin97/DN-MOPD

Model details

Base model Qwen/Qwen3.5-9B
Method Label: label-routed multi-teacher on-policy distillation (MOPD), every w_d = 1
Teachers (same size) math, code, IF
Training 160 updates from the base model, student seed 42
Precision bfloat16
Chat format non-thinking (enable_thinking=False)
License Apache-2.0 (same as the base model)

Training recipe

  • Prompts: 2,700 training prompts, 900 each for mathematics, code and instruction following; each prompt carries its domain label and is scored by that domain's expert (label routing).
  • Advantage: per sampled token, teacher log-probability minus the actor-recomputed student log-probability, used in the clipped policy-gradient OPD loss (ratio clip 0.2/0.2); no KL or entropy term.
  • Label baseline: identical to DN-MOPD except that every domain multiplier is 1.
  • Batching: 64 prompts × 8 responses = 512 responses per update, one optimizer step per rollout batch.
  • Lengths: prompt ≤ 2,048 tokens, response ≤ 8,192 tokens, temperature 1.0.
  • Optimizer: Adam, learning rate 1e-6 (constant after 5 warm-up updates), betas (0.9, 0.98), weight decay 0.1, gradient clipping 1.0.
  • Length of training: 160 updates (the 80-update run continued to 160), student seed 42.

The full recipe, with the launch scripts for every row of the paper's tables, is in recipes/qwen3.5/ and docs/recipe.md.

Usage

This model was trained and evaluated with the non-thinking chat format. Pass enable_thinking=False to the chat template. Qwen3.5-9B's chat template enables thinking by default, so this argument is required. The evaluation settings in the paper were temperature 1.0 and top-p 1.0, with up to 16,384 new tokens (8,192 in the appendix).

vLLM (the paper used vLLM 0.18.0):

from vllm import LLM, SamplingParams

llm = LLM(model="XINLI1997/DN-MOPD-Qwen3.5-9B-baseline-label-160updates", max_model_len=32768)
params = SamplingParams(temperature=1.0, top_p=1.0, max_tokens=16384, seed=42)
messages = [{"role": "user", "content": "Find the sum of all positive divisors of 36. Put the final answer in \\boxed{}."}]
outputs = llm.chat(messages, params, chat_template_kwargs={"enable_thinking": False})
print(outputs[0].outputs[0].text)

Transformers (Qwen3.5 needs transformers>=5; the paper's training environment used 5.12.1):

import torch
from transformers import AutoModelForImageTextToText, AutoTokenizer

tokenizer = AutoTokenizer.from_pretrained("XINLI1997/DN-MOPD-Qwen3.5-9B-baseline-label-160updates")
model = AutoModelForImageTextToText.from_pretrained("XINLI1997/DN-MOPD-Qwen3.5-9B-baseline-label-160updates", dtype=torch.bfloat16, device_map="auto")
messages = [{"role": "user", "content": "Write a Python function that returns the n-th Fibonacci number."}]
text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True, enable_thinking=False)
inputs = tokenizer(text, return_tensors="pt").to(model.device)
output = model.generate(**inputs, max_new_tokens=4096, do_sample=True, temperature=1.0, top_p=1.0)
print(tokenizer.decode(output[0, inputs["input_ids"].shape[1]:], skip_special_tokens=True))

Evaluation

Paper Table 5 (six-task Total at 80 and 160 updates, 16K cap; changes use unrounded scores). This checkpoint is the 160-update endpoint of the bold row.

Method (Qwen3.5-9B) 80 160 Δ Total
Single teacher (IF) 57.3 57.6 +0.4
Label-routed 58.4 59.4 +1.0
DN-MOPD 59.6 60.7 +1.2

Scores (%) from the paper; training seed 42; 16,384-token evaluation cap; non-thinking chat template; temperature 1.0, top-p 1.0, generation seed 42. AIME25/AIME26: avg@64. LiveCodeBench v5/v6 (167/175 disjoint problems): avg@6. IFEval/IFBench: strict prompt accuracy, avg@16. Total: mean of the six task scores.

Files

  • Weights in Hugging Face format (Qwen3_5ForConditionalGeneration, bfloat16), exported from the FSDP training checkpoint.
  • The export omits the 15 multi-token-prediction tensors (mtp.*) of the base model. All other tensors have the base model's names and shapes. MTP-based speculative decoding is therefore not available with this checkpoint. Ordinary decoding is unaffected: the paper's evaluations used exactly these files.
  • config.json, the tokenizer files and chat_template.jinja are the base model's, unchanged.
  • The vision encoder is carried over from the base model. Training and evaluation used text only.
  • LICENSE is the base model's Apache-2.0 license.

Limitations

  • This is the baseline, not the proposed method. In the paper it does not outperform the strongest single-teacher student at any size, and DN-MOPD improves on it at every size.
  • Trained on 2,700 prompts in three domains with a single seed (42) and one expert pool per size, within one model family; results for other teacher–student configurations may differ.
  • Trained with responses of at most 8,192 tokens and evaluated only in non-thinking mode; thinking mode, multimodal inputs, other languages and safety behaviour were not evaluated beyond the base model.

Citation

@article{li2026dnmopd,
  title   = {Beyond Teacher Assignment: Domain-Normalized Multi-Teacher On-Policy Distillation},
  author  = {Li, Xin and Jiang, Hao and Gao, Xin and Wang, Annan and Xie, Yuchen and Guo, Jinghao and Qu, Xingwei and Zhang, Yichi and Yuen, Chau},
  journal = {arXiv preprint arXiv:2609.35347},
  year    = {2026},
  url     = {https://arxiv.org/abs/2609.35347}
}

This model is a fine-tuned derivative of Qwen/Qwen3.5-9B by the Qwen team, released under the Apache License 2.0.

Configuration

Architecture
Qwen3_5ForConditionalGeneration
Context length (tokens)
262,144
Layers
32
Hidden size
4,096
Feed-forward size
12,288
Attention heads
16
Key/value heads
4
Head dimension
256
Vocabulary size
248,320
Model type
qwen3_5

Identity and Version

Repository
XINLI1997/DN-MOPD-Qwen3.5-9B-baseline-label-160updates
Publisher
XinLi
Task
Image and text to text
Modality
Image and text
Library
transformers
Parameters
9.4B parameters
Languages
en
Revision
ddcfc5c678a73b7401847b68d8c1c0ab7f5dd029
First published
2026-10-01
Last updated
2026-10-01

Files and Weights

16 files, 18.8 GB in total. The weights are 4 files totalling 18.8 GB in safetensors.

Weights4 files · 18.8 GB
Configuration4 files · 73.1 KB
Tokenizer4 files · 22.9 MB
Documentation2 files · 18.7 KB
Other1 file · 7.8 KB
Repository1 file · 1.6 KB
Every file
FileTypeSizeSHA-256
model-00001-of-00004.safetensorsWeights4.9 GB db86f95c3020
model-00002-of-00004.safetensorsWeights5.0 GB 8a61bc9af104
model-00003-of-00004.safetensorsWeights5.0 GB e61615aaf7f2
model-00004-of-00004.safetensorsWeights4.0 GB 41be6135a129
config.jsonConfiguration3.1 KB —
model.safetensors.index.jsonConfiguration69.2 KB —
preprocessor_config.jsonConfiguration390 B —
video_preprocessor_config.jsonConfiguration385 B —
LICENSEDocumentation11.5 KB —
README.mdDocumentation7.1 KB —
chat_template.jinjaOther7.8 KB —
.gitattributesRepository1.6 KB —
merges.txtTokenizer3.4 MB —
tokenizer.jsonTokenizer12.8 MB 5f9e4d4901a9
tokenizer_config.jsonTokenizer16.7 KB —
vocab.jsonTokenizer6.7 MB —

License and Download

License
apache-2.0
Access
Open weights, no gate
Download size
18.8 GB
Download from XinLi

Released by XinLi through its official repository on Hugging Face. Read the license.

Built From

Memory Requirements

PrecisionWeights in memory
As published18.8 GB
16-bit18.8 GB
8-bit9.4 GB
4-bit4.7 GB

Weights only, from the published parameter count; the key-value cache and runtime add to this.

Questions About DN-MOPD-Qwen3.5-9B-baseline-label-160updates

How much GPU memory does DN-MOPD-Qwen3.5-9B-baseline-label-160updates need?

About 22.6 GB at 16-bit and 5.6 GB at 4-bit: the weights (9.4B parameters) plus a working margin. A long context needs more.

What is the cheapest GPU to run DN-MOPD-Qwen3.5-9B-baseline-label-160updates on?

At 16-bit, 1x MI300X from $1.85 an hour; at 4-bit, 1x MI300X from $1.85 an hour, at the lowest on-demand prices the SAVRN Index lists.

Can I use DN-MOPD-Qwen3.5-9B-baseline-label-160updates commercially?

Yes. DN-MOPD-Qwen3.5-9B-baseline-label-160updates is released under Apache License 2.0. The Apache License 2.0 is a permissive open-source license. It permits commercial use, modification and redistribution. It requires keeping the license and copyright notices and any NOTICE file, stating significant changes, and it includes an express patent grant from contributors.

What is DN-MOPD-Qwen3.5-9B-baseline-label-160updates's context length?

262,144 tokens, from the maximum position embeddings in its published configuration.

Similar Models

Model · Image and text to text

Qwen-Image-2.1-PE-I2I-Heretic

Darrellbest

The image-editing prompt rewriter for Qwen-Image-2.1, a fine-tuned Qwen3.5-VL 9B that turns a short edit instruction plus 1–N input images into a detailed English edit prompt, with its refusal behaviour removed by Heretic directional ablation. bf16, same shapes and parameter count as the source; nothing else was changed. systemprompt.txt is included and required. It defines the output format. It is the unmodified file from the source repo. The second row is an independent evaluation of the exported weights with Heretic's evaluatemodel. Refusals were measured on mlabonne/harmfulbehaviors and KL divergence (damage to ordinary behaviour, first-token distributions) on mlabonne/harmlessalpaca…

Open weights other 9.4B parameters 262,144 tokens

Model · Image and text to text

LucidVitality-9b

Matthew Andrews

LucidVitality-9B is a little goer. It's a roleplay or creative focused merge of two Qwen3.5 9b variants for people with absolute potatoes, like myself. It marries the improved prose of Darkhn's Qwen3.5-9B-Animus-V13.0 with the lower looping, higher EOS exit, and slightly more coherency (compared to base) from Qwen3.5-9B-Claude-4.6-HighIQ-INSTRUCT-HERETIC-UNCENSORED of DavidAU's making. I haven't merged anything for a long time, as it's been a hard time for finetuning. They rarely increase prose quality, often deeply lose intelligence over base (even when tuned for intelligence or agentic). Base model's getting tough to beat. So it was a pleasant surprise to find two models that each…

Open weights 9.4B parameters 262,144 tokens transformers

Model · Image and text to text

blink-mimo-9b

Govind Kamtamneni

Send a text or JSON state and your questions: choice picks from up to 255 options, noul is yes/no, and score takes 2–10 ordered levels. Each question gets probabilities over its offered options from one forward pass, with no generated text. Long or large multi-question requests may use several batches. Personal research release by thegovind, not an official product of any company. No affiliation with TypeSafe AI, Xiaomi, Alibaba Cloud or the Qwen team. Weights are for non-commercial research; see Licence. We ran the full Decision Index 0.2 suite ourselves with the official scoring kit at commit 19ad28e on 2026-09-25. This is a descriptive run, not a leaderboard submission or accepted…

Open weights other 9.4B parameters 262,144 tokens transformers

Model · Image and text to text

Vinci-Bozza-1.0

SimpleDirect

Vinci Bozza is a 9-billion-parameter open-weight model, fine-tuned from Qwen 3.5-9B with SimpleDirect's Constitution and character training. It is a disposition tune, not a capability retrain. We did not try to make the base model smarter. We tried to make it more honest — and then we measured what that cost. Safer and more honest on the measures below, with general knowledge holding. Strict instruction-following, tool abstention and multi-turn task-holding paid for it. All of it is below, at the same prominence as the gains. The rows above are configuration and artifact values read out of this repository, not validated results. A context length in a config file is a limit the model will…

Open weights apache-2.0 9.4B parameters 262,144 tokens transformers

Model · Image and text to text

Qwen-Image-2.1-PE-I2I-Heretic-NVFP4

Darrellbest

NVFP4 (4-bit floating point, W4A4) build of darrellbest/Qwen-Image-2.1-PE-I2I-Heretic, the refusal-ablated image-editing prompt rewriter for Qwen-Image-2.1. For vLLM on NVIDIA Blackwell GPUs, which run NVFP4 natively. 11 GB instead of 18 GB. systemprompt.txt is included and required, exactly as for the original. The linear-attention layers carry a recurrent state and the vision tower encodes the input image; both were left in bf16, as other quantizations of this model family do. That is why the file is 11 GB rather than ~6 GB. Made with llm-compressor 0.13.0 (QuantizationModifier, scheme="NVFP4"), calibrated on 64 samples in the model's real input format: its own system prompt, an edit…

Open weights other 9.4B parameters 262,144 tokens

Model · Image and text to text

Omni-Edu-9B

Hao Liang

This model is a fine-tuned version of Qwen/Qwen3.5-9B-Base on the Omni-Edu-70K dataset. The following hyperparameters were used during training: - learningrate: 5e-06 - trainbatchsize: 1 - evalbatchsize: 8 - distributedtype: multi-GPU - numdevices: 8 - gradientaccumulationsteps: 8 - totaltrainbatchsize: 64 - totalevalbatchsize: 64 - lrschedulertype: cosine - lrschedulerwarmupsteps: 0.1 - numepochs: 3.0 - Transformers 5.2.0 - Pytorch 2.10.0 - Datasets 4.0.0 - Tokenizers 0.22.2

Open weights other 9.4B parameters 262,144 tokens transformers