LoRA ile Genel Amaçlı Bir Hugging Face Dil Modelini Nasıl Özel Bir Amaç İçin Eğitebiliriz?
Çalışan
örnek: arsaral/test_project_LoRA/LoRA-HuggingFaceREALDATA
Büyük dil modelleri bugün çok güçlü.
Ancak çoğu zaman “genel amaçlı” olarak eğitilmiş durumdalar. Yani dili
biliyorlar, fakat bizim spesifik problemimizi bilmiyorlar.
Peki bu modelleri, tüm
parametrelerini yeniden eğitmeden, belirli bir görev için nasıl
uyarlayabiliriz?
Cevap: LoRA (Low-Rank Adaptation).
1️⃣ Başlangıç
Noktası: Genel Amaçlı Model
Örneğin Hugging Face üzerinde
bulunan DistilBERT modelini ele alalım.
Bu model:
- Büyük metin koleksiyonları üzerinde önceden
eğitilmiştir.
- Dil yapısını, bağlam ilişkilerini ve semantik
temsilleri öğrenmiştir.
- Ancak duygu analizi gibi spesifik bir görevi doğal
olarak bilmez.
Yani model bir “dil uzmanıdır”,
fakat “uygulama uzmanı” değildir.
2️⃣ Özel Amaç:
SST-2 ile Duygu Analizi
Modeli, örneğin GLUE SST-2
veri kümesi üzerinde eğitmek istediğimizi düşünelim.
Görev:
Verilen cümle pozitif mi, negatif mi?
Bu noktada iki seçeneğimiz var:
- 🔴 Tüm modeli fine-tune etmek (milyonlarca parametreyi
güncellemek)
- 🟢 Sadece küçük bir kısmını uyarlamak
İkinci yaklaşım, LoRA’nın sunduğu
yöntemdir.
3️⃣ LoRA Ne
Yapar?
LoRA’nın temel fikri şudur:
- Modelin büyük ağırlık matrisleri dondurulur.
- Bu matrislerin yanına küçük, düşük-ranklı ek matrisler
eklenir.
- Eğitim sırasında sadece bu küçük matrisler güncellenir.
Örneğin:
- Toplam parametre: ~67 milyon
- Eğitilen parametre (LoRA ile): ~600–800 bin
Yani modelin yaklaşık %1’i
eğitilerek görev adaptasyonu sağlanır.
4️⃣ Bu Neden
Önemli?
Çünkü:
- Daha az GPU belleği gerekir
- Eğitim daha hızlıdır
- Overfitting riski azalır
- Performans, tam fine-tuning’e oldukça yakın olabilir
Deneylerimde, yalnızca LoRA
kullanarak SST-2 üzerinde %87+ doğruluk elde etmek mümkün oldu — bu, parametre
verimliliği açısından oldukça güçlü bir sonuç.
5️⃣ Asıl
Kavram: Görev Adaptasyonu
Burada yaptığımız şey:
Genel amaçlı bir dil modelini,
belirli bir problemi çözebilecek şekilde uyarlamak.
Bu sürece görev adaptasyonu
denir.
Modelin dil bilgisini bozmazsınız.
Sadece karar verme davranışını yeni göreve göre yönlendirirsiniz.
Sonuç
LoRA, büyük dil modellerini:
- Daha ekonomik
- Daha erişilebilir
- Daha hızlı
şekilde özel amaçlara uyarlamamızı
sağlar.
Bu yaklaşım, özellikle araştırma,
akademik projeler ve sınırlı donanım ortamları için son derece değerlidir.
