PEFT Neden Önemli?
Tam ince ayar, 70 milyar parametreli bir modelde onlarca GB VRAM ve günler süren hesaplama gerektirir. PEFT bu engeli ortadan kaldırır: toplam parametrelerin yalnızca %0,1–1'ini güncelleyerek benzer görev performansına ulaşır. Bu sayede araştırmacılar ve mühendisler, tek bir tüketici GPU'su ile büyük modelleri kendi verilerine uyarlayabilir.
Başlıca PEFT Yöntemleri
- check_circle LoRA (Low-Rank Adaptation): Dondurulmuş ağırlık matrislerine paralel düşük boyutlu A×B çifti ekler. Eğitim sonrası adaptörler doğrudan modele birleştirilebilir (merge), ek gecikme olmaz.
- check_circle QLoRA: Temel modeli 4-bit NF4 formatında depolar, LoRA adaptörlerini bfloat16 ile eğitir. 70B modeli tek 40GB GPU'da ince ayarlamayı mümkün kılar.
- check_circle Adapter Tuning: Transformer katmanları arasına küçük FFN modülleri ekler. Orijinal ağırlıklar dondurulur; modüller bağımsız olarak çıkarılabilir.
- check_circle Prefix Tuning: Giriş dizisinin başına öğrenilebilir 'sanal token' vektörleri ekler. Doğal dil ön eklerinden çok daha verimlidir.
- check_circle IA3 (Infused Adapter): Anahtar, değer ve ileri-besleme katmanlarındaki aktivasyonları öğrenilebilir vektörlerle ölçeklendirir. LoRA'dan çok daha az parametre günceller (~%0,01).
Hugging Face PEFT Kütüphanesi
Hugging Face'in açık kaynak peft kütüphanesi, LoRA, QLoRA, Adapter Tuning ve diğer yöntemleri birkaç satır kodla herhangi bir transformer modeline uygulamayı mümkün kılar. get_peft_model() ile modeli sarmalamak ve PeftConfig ile adaptör parametrelerini belirlemek yeterlidir. Eğitim tamamlandığında adaptör ağırlıkları megabayt boyutunda kaydedilir; paylaşım ve dağıtım çok kolaydır.
Tam İnce Ayar ile Karşılaştırma
Tam ince ayar (full fine-tuning) tüm model parametrelerini günceller; maksimum esneklik sunar ancak muazzam GPU belleği gerektirir. PEFT ise parametre sayısını %0,1–1 düzeyinde tutarak bellek gereksinimini 10–100× azaltır. Kıyaslama çalışmaları, LoRA tabanlı ince ayarın çoğu görevde tam ince ayara yakın F1 ve BLEU skorları elde ettiğini göstermektedir; ancak çok büyük domain kaymalarında tam ince ayar hâlâ üstündür.
LoRA Hiperparametreleri: rank ve alpha
LoRA'nın iki kritik hiperparametresi vardır. r (rank), eklenen matris çiftinin boyutunu belirler; tipik değerler 4–64 aralığındadır. Yüksek rank daha fazla ifade gücü ama daha fazla parametre anlamına gelir. lora_alpha ise ölçekleme faktörüdür; çoğu uygulamada alpha = 2×r kuralı iyi başlangıç noktası oluşturur. target_modules parametresiyle LoRA'nın hangi katmanlara (Q, K, V, out_proj) uygulanacağı seçilir.
Sık Sorulan Sorular
- check_circle LoRA ile QLoRA arasındaki temel fark nedir? LoRA orijinal model ağırlıklarını tam hassasiyette saklar; QLoRA ise temel modeli 4-bit niceleme ile depolar. QLoRA daha az VRAM kullanır ama hafif niceleme kaybı getirebilir.
- check_circle PEFT adaptörleri inference'ta ek gecikme yaratır mı? LoRA adaptörleri eğitim sonrası temel ağırlıklara birleştirilebilir (merge_adapter); bu durumda inference gecikme artışı sıfırdır. Birleştirmeden çalışıldığında minimal ek hesaplama oluşur.
- check_circle Hangi PEFT yöntemi seçilmeli? Çoğu LLM görevi için LoRA veya QLoRA; çok az parametre gereken senaryolar için IA3; çok sayıda görev adaptörü paylaştırılacaksa Adapter Tuning. Başlangıç için LoRA (r=16, alpha=32) iyi varsayılandır.
- check_circle PEFT Türkçe modeller için uygun mu? Evet. Llama 3, Mistral, Qwen ve benzeri açık ağırlıklı modelleri Türkçe talimat verisiyle LoRA kullanarak ince ayarlamak yaygın bir pratiktir; 8–24GB VRAM yeterlidir.
- check_circle PEFT ile çoklu görev adaptasyonu mümkün mü? Evet. Her görev için ayrı LoRA adaptörü eğitilebilir ve tek bir temel modele runtime'da farklı adaptörler yüklenebilir. Bu yaklaşım hem depolama hem de servis maliyetini düşürür.