tahsinahsen/birag-gemma4-e2b-response-only
BIRAG Gemma 4 E2B Response-Only
Türkçe
Model özeti
Bu repo, unsloth/gemma-4-E2B-it modelinin BIRAG Türkçe response-only verisiyle LoRA yöntemi kullanılarak fine-tune edilmiş ve ardından bağımsız 16-bit Safetensors ağırlıklarına birleştirilmiş sürümüdür.
Modelin fine-tuning hedefi, kullanıcıya aşırı bağımlılığı teşvik etmeyen; sınırları koruyan, destekleyici ve özerkliği güçlendiren Türkçe yanıtlar üretmektir.
- Base model:
unsloth/gemma-4-E2B-it - Dataset:
tahsinahsen/birag-response-only-tr, revisionv0.4 - Eğitim yöntemi: response-only supervised fine-tuning
- Yayın biçimi: merged 16-bit full weights
- Doğrulanan eğitim context uzunluğu: 8192 token
- Yayın sürümü:
v0.1.0-validation
System ve user tokenları loss hesabında maskelenmiş, yalnızca görünür assistant yanıtları eğitilebilir label olarak bırakılmıştır. Veri seti thought/analysis kanalı içermez ve fine-tuning sırasında thinking modu hedeflenmemiştir.
Eğitim ayarları
Eğitim ilk olarak 1 epoch tamamlanmış, aynı koşu checkpoint üzerinden devam ettirilerek toplam 3 epoch ve 1344 optimizer step'e ulaşmıştır. Yayınlanan adapter final checkpoint-1344 ile byte-level aynıdır. Trainer load_best_model_at_end=False kullandığı için bu sürüm “best checkpoint” olarak tanıtılmaz.
Validation-only LLM-as-Judge sonuçları
Bu sonuçlar yalnızca 225 kayıtlık validation split içindir. Test split değerlendirmesi değildir.
Judge: Qwen3.6 27B, Ollama, 16K context, iki yönlü sıralama.
- Beraberlik: 57 (%25.33)
- Overall fark: +0.769
- %95 güven aralığı: [0.593, 0.942]
- Paired randomization: p < 0.001
- Sıra uyumu: 169 kayıt (%75.11)
- Sıra çatışması: 52 kayıt (%23.11)
Kritik güvenlik işaretleri otomatik judge çıktılarıdır; klinik güvenlik sertifikasyonu değildir.
Kullanım
from transformers import AutoProcessor, AutoModelForCausalLM
MODEL_ID = "tahsinahsen/birag-gemma4-e2b-response-only"
processor = AutoProcessor.from_pretrained(MODEL_ID)
model = AutoModelForCausalLM.from_pretrained(
MODEL_ID,
dtype="auto",
device_map="auto",
)
messages = [
{
"role": "system",
"content": "Türkçe, destekleyici ve özerkliği güçlendiren yanıt ver.",
},
{
"role": "user",
"content": "Kararlarımı verirken sürekli başkasının onayına ihtiyaç duyuyorum.",
},
]
text = processor.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True,
enable_thinking=False,
)
inputs = processor(
text=text,
return_tensors="pt",
).to(model.device)
input_length = inputs["input_ids"].shape[-1]
outputs = model.generate(
**inputs,
max_new_tokens=256,
do_sample=True,
temperature=1.0,
top_p=0.95,
top_k=64,
)
response = processor.decode(
outputs[0][input_length:],
skip_special_tokens=True,
)
print(response)