Kumru-VLM (2B): Türkiye'nin İlk "Tiny VLM" Modeli

Kumru-VLM, yaklaşık 2.4 milyar parametreye sahip, Türkiye'nin ilk verimli ve kompakt Çok Modüllü Büyük Dil Modeli (MLLM) girişimidir. Bu model, güçlü Türkçe dil yeteneklerine sahip Kumru-2B ile Google'ın yüksek çözünürlüklü görsel kodlayıcısı SigLIP-2 bileşenlerini bir araya getirerek, düşük kaynaklı donanımlarda yüksek performanslı görsel anlama yeteneği sunar.

Temel Özellikler

  • Mimari: LLaVA tabanlı; SigLIP-2 (vision), MLP Projector ve Kumru-2B (LLM) entegrasyonu.
  • Merged Weights: LoRA ağırlıkları ana modele gömülmüştür (merged), bu sayede PEFT bağımlılığı olmadan doğrudan kullanılabilir.
  • Linguistik Hizalama: "Translationese" etkisini kırmak adına gelişmiş LLM'ler ile Türkçeye uyarlanmış veri setleri ve yerel OCR verileriyle eğitilmiştir.

Benchmark Sonuçları (MMStar-TR)

Model, özellikle görsel keskinlik ve detay gerektiren alanlarda 8B parametreli modellerle yarışmaktadır:

Kategori Turkish-LLaVA (8B) Kumru-VLM (2B)
Global Accuracy 37.73% 30.13%
Science & Technology 17.60% 29.60%
Fine-grained Perception 36.80% 32.00%

[Image comparing model parameter size vs performance on MMStar-TR benchmark categories]

Kullanım (Quickstart)

Aşağıdaki kod, modeli doğrudan Hugging Face üzerinden indirir ve çıkarım (inference) işlemini gerçekleştirir.

import torch
import requests
import os
import sys
from PIL import Image
from huggingface_hub import snapshot_download

# 1. Repoyu Yerel Dizine Hazırla
REPO_ID = "berhaan/kumru2b-siglip2-vlm"
print(f"{REPO_ID} dosyaları hazırlanıyor...")
local_path = snapshot_download(repo_id=REPO_ID)

# 2. Modeli Sisteme Tanıt ve Yükle
if local_path not in sys.path:
    sys.path.append(local_path)

# Varsa eski modülü temizle (Örn: Colab ortamında yeniden çalıştırırken)
if 'modeling_kumru_vlm' in sys.modules:
    del sys.modules['modeling_kumru_vlm']

from modeling_kumru_vlm import load_kumru_vlm

# Model bfloat16 hassasiyetinde yüklenir
model = load_kumru_vlm(local_path, device="cuda")

# 3. Görsel Sorgulama
img_url = "[https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/transformers/tasks/idefics-im-captioning.jpg](https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/transformers/tasks/idefics-im-captioning.jpg)" 
image = Image.open(requests.get(img_url, stream=True).raw).convert("RGB")

prompt = "Bu görseldeki ana unsurları Türkçe olarak açıkla."

# Çıkarım (Generation)
response = model.generate(
    image=image,
    prompt=prompt,
    max_new_tokens=128,
    do_sample=True,
    temperature=0.3,
    top_p=0.85,
    repetition_penalty=1.1
)

print(f"Kumru-VLM Yanıtı: {response}")
Downloads last month
30
Safetensors
Model size
2B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support