𝗗𝗶𝘇𝘂𝘀𝘁𝗼̈ 𝗯𝗶𝗹𝗴𝗶𝘀𝗮𝘆𝗮𝗿ı𝗺𝗱𝗮 𝟮𝟳𝟬𝗠 𝗽𝗮𝗿𝗮𝗺𝗲𝘁𝗿𝗲𝗹𝗶 𝗯𝗶𝗿 𝗺𝗼𝗱𝗲𝗹𝗶 𝗳𝗶𝗻𝗲-𝘁𝘂𝗻𝗲 𝗲𝘁𝘁𝗶𝗺
Modelleri ince ayar (fine-tune) yapmak için üç farklı yöntemi test ediyorum. Üçü için de aynı görevi kullanıyorum. En küçük modelden en büyüğüne doğru ölçeklendiriyorum.
Seri şu yolu izliyor:
- Tam İnce Ayar (Full Fine-Tuning) (270M parametre)
- LoRA (1.5B parametre)
- QLoRA (7B parametre)
Mekanizmayı anlamak istiyorum. Bir eğitim rehberini körü körüne takip etmek istemiyorum.
Bu ilk adımda tam ince ayar (full fine-tuning) kullandım. Bu yöntem, modeldeki her bir ağırlığı günceller. Eğitmenin en maliyetli yoludur.
Banking77 veri setini kullandım. Bu set, 13.000 müşteri destek mesajı içeriyor. Amaç; kayıp kartlar veya döviz kurları gibi 77 farklı niyeti (intent) tanımlamaktır.
Gemma 3 (270M) modelini seçtim. Bu model, Apple Silicon kullanan bir dizüstü bilgisayarda eğitilebilecek kadar küçüktür. Tam ince ayar; gradyanları ve optimize edici durumlarını (optimizer states) saklamak için bellek kapasitesinin model boyutunun dört katı kadar olmasını gerektirir.
Bir sınıflandırma başlığı (classification head) eklemek yerine, modelin niyeti metin olarak üretmesini sağladım. Bu, süreci talimat ince ayarı (instruction tuning) ile özdeş hale getiriyor. Projeyi sonraki adımlara hazırlıyor.
Kritik bir adım, kaybı (loss) maskelemektir. Modele istemi (prompt) görmezden gelmesini ve yalnızca etiketi (label) üzerinden kendini değerlendirmesini söylemelisiniz. Eğer bunu atlarsanız, model isteminizi tekrar etmeyi öğrenmek için boşuna çaba harcar.
5e-5 gibi düşük bir öğrenme oranı (learning rate) kullandım. Yüksek öğrenme oranları, tam ince ayar sırasında önceden eğitilmiş bilgileri yok eder. 2e-4'lük bir oran modelin başarısız olmasına neden oldu.
Sonuçlar:
- Yaygın niyetlerde %96 doğruluk.
- Model bir dizüstü bilgisayarda iyi çalışıyor.
- Kartın ulaşması ile teslimat tahminlerini hâlâ karıştırıyor.
- Bölümde, beş kat daha büyük bir model kullanacağım. LoRA kullanarak ağırlıklarının %1'inden daha azını eğiteceğim. Aynı doğruluğu elde edip edemeyeceğimi göreceğim.
Kaynak: https://dev.to/sumanpro/i-fine-tuned-a-270m-model-on-my-laptop-full-fine-tuning-from-scratch-3p4l
İsteğe bağlı öğrenme topluluğu: https://t.me/GyaanSetuAi