Türkçe Gemma-4 Fine-tune
Türkçe RAG cevapları için Gemma-4-E4B'nin parametre-verimli fine-tune'u, üç formatta yayınlandı.
Problem
RAG'de üretici model, ezberlediği bilgiden değil getirilen bağlamdan cevap vermeli ve bağlamdaki alakasız bilgileri görmezden gelmeli.
Hedef, Türkçe bir soru ve bağlam metni verildiğinde o bağlamdan cevap veren küçük bir modeldi. Eğitimi ucuz, vLLM'de veya lokalde sunması kolay olmalıydı.
Mimari
- Veri: Metin/WikiRAG-TR'nin ilk 3.000 satırı, Gemma-4 chat şablonuyla tek tur olarak biçimlendirildi: "Soru:\n<soru>\n\nBağlam:\n<bağlam>" → cevap.
- Model: 4-bit yüklenen unsloth/gemma-4-E4B-it. LoRA, dil katmanlarının attention ve MLP modüllerine uygulandı. Görsel katmanlar donduruldu.
- Eğitim: train_on_responses_only ile TRL SFTTrainer. Prompt token'ları maskeleniyor, loss'a yalnızca cevap katkı veriyor.
- Dışa aktarma: LoRA adaptörleri, vLLM için birleştirilmiş 16-bit model ve llama.cpp / Ollama için GGUF q8_0. Hepsi Hugging Face'e yüklendi.
Tasarım kararları
4-bit taban üzerinde LoRA
r = 8, alpha = 8, dropout 0, yalnızca dil katmanlarının attention + MLP modüllerinde.
Ödünleşim: Çok az eğitilebilir parametre ve tek GPU'luk bir koşu. Buna karşılık davranışı değiştirme kapasitesi tam fine-tune'dan düşük.
Loss yalnızca cevap üzerinden
train_on_responses_only soru ve bağlam token'larını maskeliyor. Notebook, maskeyi doğrulamak için label'ları decode ediyor.
Ödünleşim: Gradyan uzun bağlamları kopyalamaya değil modelin üretmesi gerekene gidiyor. Girdi tarafından ise sinyal alınmıyor.
Uzun diziler, temkinli öğrenme oranı
Uzun bağlamlar kesilmesin diye max_seq_length 4096, batch 4 × 4 gradient accumulation, adamw_8bit, cosine azalan lr 2e-5, 2 epoch.
Ödünleşim: Uzun RAG metinleri tek bir A100'ün belleğine sığıyor. Düşük öğrenme oranı daha güvenli ama yalnızca 3.000 örnekle yetersiz öğrenmeye yol açabilir.
Üç formatta yayın
İleri eğitim için adaptörler, vLLM için birleştirilmiş 16-bit, lokal çıkarım için GGUF q8_0.
Ödünleşim: Her yerde kolayca kullanılıyor, karşılığında ek dışa aktarma süresi ve depolama gerekiyor.
Teknolojiler
Sırada ne var
- Bir değerlendirme ayrımı (held-out split) ayırmak. Mevcut koşu eval seti olmadan eğitiliyor, bu yüzden henüz kalite metriği yok.
- Reddetmeyi öğretmek için cevabı bağlamda olmayan örnekler eklemek.
- Aynı held-out set üzerinde r = 8'i daha büyük rank'lerle karşılaştırmak.
Sonuçlar
- Türkçe RAG eğitim örneği
- 3.000
- eğitilen parametre oranı (LoRA)
- %0,23
- tek A100'de eğitim süresi
- ~42 dk
- yayınlanan sürüm: LoRA, 16-bit, GGUF
- 3