How to use from the
Use from the
Transformers library
# Use a pipeline as a high-level helper
from transformers import pipeline

pipe = pipeline("image-text-to-text", model="CompiwerAI/Mtrini-SVL-2.0")
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)
# pip install -U transformers accelerate
# Load model directly
from transformers import AutoProcessor, AutoModelForMultimodalLM

processor = AutoProcessor.from_pretrained("CompiwerAI/Mtrini-SVL-2.0")
model = AutoModelForMultimodalLM.from_pretrained("CompiwerAI/Mtrini-SVL-2.0", device_map="auto")
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=256)
print(processor.decode(outputs[0][inputs["input_ids"].shape[-1]:]))
Quick Links

Mtrini-SVL-2.0

Mtrini-SVL-2.0 is an AI assistant built by Compiwer AI, fine-tuned from Qwen3.5-9B. It thinks before answering, understands images, supports a 262,144-token context (extensible to about 1M), and speaks Moroccan Darija.

Results

Quick checks run on the base model and on this model with the same questions and settings. These are small samples, not official benchmark runs.

Qwen3.5-9B Mtrini-SVL-2.0
MATH-500 (100 problems, thinking) 66.0% 95.0%
HumanEval (164 problems, thinking, pass@1) 93.9% 94.5%
DarijaMMLU (400 questions) 34.5% 63.2%
Identity (says it's Mtrini by Compiwer AI) 0% 88%

Training

Three rounds of LoRA SFT, each merged before the next:

  1. Math and science reasoning (s1K-1.1, LIMO), Python reasoning (open-r1/codeforces-cots), Moroccan Darija (MBZUAI-Paris/Darija-SFT-Mixture), identity answers, and replay of the base model's own verified-correct reasoning.
  2. A short pass on new Codeforces problems and more identity answers.
  3. A larger pass (182 steps × 16 examples, 4,023 rows): OpenThoughts3 math, code and science reasoning, more Darija, identity answers and replay.

Usage

Use it like Qwen3.5-9B. Thinking is on by default; pass enable_thinking=False to the chat template for direct answers.

Status

Experimental. Check the base model's card for limitations, and verify important answers.

Downloads last month
24
Safetensors
Model size
9B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for CompiwerAI/Mtrini-SVL-2.0

Finetuned
Qwen/Qwen3.5-9B
Finetuned
(1150)
this model

Datasets used to train CompiwerAI/Mtrini-SVL-2.0