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