compress Nasıl Çalışır?
70 Milyar parametreli bir LLaMA modelini tıp alanında uzmanlaştırmak istediğinizi varsayalım. Geleneksel yöntemde 70 milyar sayının hepsini güncellemeniz gerekir ki bu aylar ve on binlerce dolar sürer. LoRA, devasa modelin orijinal beynini dondurur (kilitler) ve sadece aralara kendi ufak 'not kağıtlarını' (küçük matrisleri) sıkıştırır. Model çalışırken hem eski beynini hem de bu yeni not kağıtlarını okur. Siz sadece bu minik not kağıtlarını eğittiğiniz için parametre sayısı on binde bire düşer.
LoRA'nın Avantajları
attach_money Maliyet Düşüşü
Veri merkezleri kiralamak yerine RTX 3090/4090 gibi ev tipi ekran kartlarında modellerin özelleştirilebilmesi.
extension Tak-Çıkar Modülerlik
LoRA dosyaları çok küçüktür (birkaç Megabayt). Aynı baz modele; gündüzleri Hukuk LoRA'sını, geceleri Kodlama LoRA'sını saniyeler içinde takıp çıkartabilirsiniz.
image Görsel Üretimde LoRA
Midjourney veya Stable Diffusion'a sadece sizin yüzünüzü veya belli bir sanat stilini öğretmek için en yaygın kullanılan yöntemdir.
LoRA Varyantları ve Türevleri
- check_circle QLoRA: Kuantize Edilmiş LoRA: 4-bit NormalFloat kuantizasyonuyla ön eğitilmiş modeli yükler; LoRA adaptörleri tam precisiona eğitilir. 65B parametre Llama modelini tek 48GB GPU'da fine-tune etmeyi mümkün kıldı. 2023'te yayınlandı; açık kaynak LLM fine-tuning'in demokratikleşmesini sağladı.
- check_circle AdaLoRA: Uyarlanabilir Rank: Her katmana sabit rank yerine öneme göre dinamik rank atar. SVD tabanlı önem puanlaması: önemli tekil değerler korunur, önemsizler budanır. Aynı parametre bütçesiyle LoRA'dan daha iyi performans sağlar.
- check_circle LoRA+, DoRA ve rsLoRA: LoRA+: A ve B matrislerine farklı learning rate uygular; konverjansı hızlandırır. DoRA (Weight Decomposition): ağırlığı büyüklük ve yön bileşenlerine ayırır; tam fine-tuning davranışını daha iyi taklit eder. rsLoRA: rank normalizasyonuyla yüksek rank'ta daha kararlı eğitim.
- check_circle Birden Fazla LoRA Birleştirme: LoRAhub ve MergeKit: Farklı görevler için eğitilmiş LoRA adaptörleri ağırlıklı interpolasyon veya TIES, DARE gibi yöntemlerle birleştirilebilir. Yeni görev için sıfırdan eğitim yerine mevcut adaptörlerin kombinasyonu çok daha hızlı ve verimlidir.
LoRA Rank, Alpha ve Hedef Modül Seçimi
Rank (r): düşük boyutlu matrisin boyutu. Tipik değerler: 4-64; rank 8-16 çoğu fine-tuning görevi için iyi başlangıç. Rank arttıkça parametre sayısı ve ifade gücü artar ama bellek ve hesaplama da artar. Alpha (α): LoRA güncellemesinin ölçek faktörü; α/r oranı etkin learning rate'i belirler. Yaygın seçim: α = 2×r veya α = r. Hedef modüller: attention katmanlarındaki Q, K, V, O projeksiyonları standart hedefler; MLP katmanları ve embedding de dahil edilebilir — daha fazla katman = daha iyi ama daha pahalı. Dropout: LoRA katmanlarına küçük dropout (0.05-0.1) overfitting'i azaltır.