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

pipe = pipeline("text-generation", model="CompiwerAI/Mtrini-SVL-1.1-Merged")
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-1.1-Merged")
model = AutoModelForMultimodalLM.from_pretrained("CompiwerAI/Mtrini-SVL-1.1-Merged", 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-1.1

The model is out of the lab.

Mtrini-SVL-1.1 is an open-weight ~8B model developed by Compiwer AI, based on Qwen3-VL-8B-Instruct.

It was trained with a focus on:

  • 🧠 Reasoning
  • 💻 Coding
  • 🧮 Mathematics
  • 🇲🇦 Moroccan Darija
  • 🌍 Multilingual tasks

And yes...

It's a Mtrini. 🐪

🔄 Self-Verifying Loop

SVL = Self-Verifying Loop

Our development concept:

THINK
  ↓
CHECK
  ↓
IMPROVE
  ↓
REPEAT 🔄

The goal is to encourage the model to verify and refine its responses.

SVL is an ongoing research direction at Compiwer AI.

📚 Training

The final dataset contained 58,574 unique examples.

Dataset	Examples
🇲🇦 Moroccan Darija QA + Reasoning	2,170
💻 OpenCodeReasoning-2	30,000
🧮 OpenMathInstruct-2	30,000
⚡ Model Specs
Property	Value
Model	Mtrini-SVL-1.1
Base	Qwen3-VL-8B-Instruct
Parameters	~8B
Architecture	Qwen3-VL
Training	LoRA / PEFT
Precision	BF16
Training Context	4096 tokens
Dataset	58,574 unique examples
Developer	Compiwer AI
Origin	🇲🇦 Salé, Morocco
📊 Training Run
Steps: 3,661
Epochs: 1
Training Loss: 0.5855
Mean Token Accuracy: 83.55%

These metrics describe the training run and should not be treated as standardized benchmark scores.

🚀 Usage
from transformers import Qwen3VLForConditionalGeneration, AutoTokenizer

model_id = "CompiwerAI/Mtrini-SVL-1.1-Merged"

tokenizer = AutoTokenizer.from_pretrained(
    model_id,
    trust_remote_code=True
)

model = Qwen3VLForConditionalGeneration.from_pretrained(
    model_id,
    torch_dtype="auto",
    device_map="auto",
    trust_remote_code=True
)
⚠️ Limitations

Mtrini is an experimental open model.

It can hallucinate, generate incorrect code, misunderstand prompts, or produce incorrect mathematical answers.

Verify important outputs.

🌍 Why Mtrini?

AI shouldn't only be built by the biggest companies on Earth.

Mtrini is Compiwer AI's experiment in building open AI with a focus on:

🇲🇦 Moroccan language
🧠 Reasoning
💻 Coding
🧮 Mathematics
🤝 Open AI

Building AI For Everyone.

Built in Salé, Morocco 🇲🇦
Downloads last month
813
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-1.1-Merged

Finetuned
(653)
this model
Quantizations
1 model