Model Detayları
- Base model: unsloth/Qwen3.5-2B (Apache 2.0)
- Yöntem: LoRA —
r=16, lora_alpha=16, lora_dropout=0, sadece dil katmanları
(finetune_vision_layers=False, finetune_language_layers=True)
- Eğitilebilir parametre: 16.819.200 / 2.230.060.864 (~%0.75)
- Eğitim çatısı: Unsloth + TRL
SFTTrainer
- Donanım: 1× NVIDIA L4 (bf16), ~3 saat 22 dk
- Epoch / adım: 3 epoch, 12.843 adım (34.244 satır)
- Training loss: 1.90 → ~0.50
- Dil: Türkçe
Kullanım Amacı
Bu model, Türk mutfağı hakkında soru-cevap (kategori sınıflandırma, tarif, köken
bilgisi vb.) senaryoları için hazırlanmıştır. Genel amaçlı bir asistan değildir;
domain dışı sorularda base modelin genel yeteneklerine geri döner ancak fine-tuning
etkisi görülmeyebilir.
Nasıl Kullanılır
Unsloth ile (önerilen — eğitimde kullanılan yöntemle birebir tutarlı)
from unsloth import FastVisionModel
from transformers import TextStreamer
model, tokenizer = FastVisionModel.from_pretrained(
model_name="Uunan/qwen3.5-2b-turkish-cuisine-lora",
load_in_4bit=False,
)
FastVisionModel.for_inference(model)
messages = [{"role": "user", "content": [{"type": "text", "text": "Mantı nasıl yapılır?"}]}]
input_text = tokenizer.apply_chat_template(
messages, add_generation_prompt=True, enable_thinking=True
)
inputs = tokenizer(None, input_text, add_special_tokens=False, return_tensors="pt").to(model.device)
streamer = TextStreamer(tokenizer, skip_prompt=True)
model.generate(**inputs, streamer=streamer, max_new_tokens=512, temperature=0.7, min_p=0.1)
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel
import torch
base_model_id = "unsloth/Qwen3.5-2B"
adapter_id = "Uunan/qwen3.5-2b-turkish-cuisine-lora"
tokenizer = AutoTokenizer.from_pretrained(adapter_id)
base_model = AutoModelForCausalLM.from_pretrained(
base_model_id, torch_dtype=torch.bfloat16, device_map="auto"
)
model = PeftModel.from_pretrained(base_model, adapter_id)
messages = [{"role": "user", "content": "Kars Sulu Köfte hangi kategoride yer alır?"}]
input_text = tokenizer.apply_chat_template(
messages, add_generation_prompt=True, enable_thinking=True, tokenize=False
)
inputs = tokenizer(input_text, return_tensors="pt").to(model.device)
output = model.generate(**inputs, max_new_tokens=512, temperature=0.7)
print(tokenizer.decode(output[0], skip_special_tokens=True))
Örnek Çıktılar
Soru: Kars Sulu Köfte hangi kategoride yer alır?
Cevap: Kars Sulu Köfte Et Yemekleri kategorisindedir.
Soru: Mantı nasıl yapılır?
Cevap:
Mantı yapılışı şu şekildedir:
- 1 su bardağı su, 1 tatlı kaşığı tuz ve 3,5 su bardağı unu yoğurarak sert bir hamur hazırlayın.
- Hamuru 10 dakika dinlendirin.
- Hamuru 1 milimetre kalınlığında açın ve 1 milimetre derinliğinde kare parçalar kesin.
- İç harcı ekleyip üçgen şeklinde kapatın.
- Tuzlu kaynar suda 10 dakika pişirin.
- Tereyağı ve zeytinyağı karışımını eritip sos hazırlayın.
- Sosu mantıların üzerine gezdirip servis edin.
Thinking (Akıl Yürütme) Modu
unsloth/Qwen3.5-2B, Qwen3.5 ailesinin hibrit reasoning (thinking / non-thinking)
mimarisini kullanır. Qwen3.5 Small serisinde (0.8B/2B/4B/9B) thinking varsayılan
olarak kapalıdır. Bu adaptör, eğitim verisindeki thinking alanını
<think>...</think> formatına gömerek eğitildi; dolayısıyla thinking modunu
enable_thinking=True ile açtığınızda model, domain'e özgü kısa bir akıl
yürütme adımı üretip ardından cevabı verir.
Eğitim Verisi
Uunan/turkish-cuisine-qa —
34.244 satır Türkçe mutfak/yemek soru-cevap çifti, her satırda role, content ve
(assistant turlarında) thinking alanları bulunur.
Eğitim Hiperparametreleri
Table with columns: Parametre, Değer| Parametre | Değer |
|---|
r (LoRA rank) | 16 |
lora_alpha | 16 |
lora_dropout | 0 |
learning_rate | 2e-4 |
lr_scheduler_type | linear |
per_device_train_batch_size | 4 |
Kaynaklar
Bu model Unsloth ile eğitilmiştir — 2x daha
hızlı fine-tuning.