Tuesday, 3 March 2026

LoRA ile Genel Amaçlı Bir Hugging Face Dil Modelini Nasıl Özel Bir Amaç İçin Eğitebiliriz?

 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.

 

Parameter-Efficient Fine-Tuning vs Full Fine-Tuning on SST-2 using DistilBERT

 

Parameter-Efficient Fine-Tuning vs Full Fine-Tuning on SST-2 using DistilBERT


1. Objective

Bu çalışmanın amacı, tam fine-tuning ile Low-Rank Adaptation (LoRA) yaklaşımını parametre verimliliği ve performans açısından karşılaştırmaktır.

Model: DistilBERT
Dataset: GLUE SST-2


2. Experimental Setup

Dataset

  • Train subset: 3000 örnek
  • Validation subset: 800 örnek
  • Sequence length: 128

Full Fine-Tuning

  • Trainable parameters: 66,955,010
  • Learning rate: 2e-5
  • Epoch: 1

LoRA Configuration

  • Injected layers: q_lin, v_lin, out_lin
  • Rank (r): 32
  • Alpha: 64
  • Learning rate: 1e-4
  • Epoch: 3
  • Trainable parameters: 886,274

Tüm backbone ağı dondurulmuş, sadece LoRA parametreleri ve classifier head eğitilmiştir.


3. Results

Method

Trainable Params

Validation Accuracy

Full FT

67,839,746

0.8862

LoRA

886,274

0.8725


4. Parameter Efficiency Analysis

Trainable parameter ratio:

443,906 / 67,839,746 ≈ 0.0131

Yani LoRA yalnızca %0.66 oranında parametre güncelleyerek:

0.8725 / 0.8862 ≈ %98.5 performans korumuştur.

Bu sonuç, LoRA'nın güçlü bir parametre-verimli adaptasyon yöntemi olduğunu göstermektedir.


5. Observations

  1. r=4 başarısız olmuştu (%54 civarı)
  2. r=16 ile dramatik iyileşme sağlandı
  3. 3 epoch sonrasında validation performansı plato yaptı
  4. Training loss düşmeye devam ederken validation sabit kaldı

Bu, attention-only LoRA konfigürasyonunun kapasite sınırına ulaştığını düşündürmektedir.


6. Limitation

Bu çalışmada LoRA yalnızca attention projeksiyon katmanlarına uygulanmıştır. Feed-forward katmanlar (FFN) adapte edilmemiştir.

Bu nedenle modelin tam fine-tuning performansına ulaşamaması beklenebilir.


7. Conclusion

Bu deney göstermektedir ki:

LoRA, parametrelerin yalnızca %0.66’sını güncelleyerek tam fine-tuning performansının %97’sine ulaşabilmektedir.

Bu, özellikle büyük ölçekli modellerde ciddi compute ve memory avantajı sağlayabilecek bir sonuçtur.