Araştırma

LoRA Nedir? Büyük Yapay Zekâ Modelleri Daha Az Maliyetle Nasıl Özelleştiriliyor?

LoRA (Low-Rank Adaptation), bu maliyeti azaltmak amacıyla geliştirilen bir ince ayar yöntemidir. Önceden eğitilmiş modelin ana ağırlıkları dondurulur; seçilen katmanlara eklenen küçük parametre grupları eğitilir. Böylece model, bütün ağırlıkları güncellenmeden yeni görevlere uyarlanabilir.

2021 yılında yayımlanan LoRA araştırması, belirli deneylerde tam ince ayara yakın veya daha iyi sonuçların çok daha az eğitilebilir parametreyle elde edilebildiğini göstermiştir. Ancak bu başarı, bütün modeller ve görevler için garanti değildir.

LoRA Nedir?

LoRA, parametre açısından verimli ince ayar yöntemlerini kapsayan PEFT (Parameter-Efficient Fine-Tuning) ailesinin bir üyesidir.

Temel yaklaşım, büyük ağırlık matrislerine uygulanacak değişikliği iki küçük matris aracılığıyla öğrenmektir. “Low-rank” ifadesi, bu güncellemenin düşük ranklı bir yapıyla temsil edilmesini anlatır.

Standart LoRA uygulamasında:

  • Önceden eğitilmiş modelin ağırlıkları sabit tutulur.

  • Seçilen ağırlık matrisleri için küçük, eğitilebilir matrisler oluşturulur.

  • Eğitim sırasında bu ek parametreler güncellenir.

  • Modelin çıktısı, temel model ile öğrenilen güncellemenin birlikte kullanılmasıyla üretilir.

LoRA, ana modeli küçültmez. Modelin uyarlanması için eğitilmesi gereken parametre sayısını azaltır.

LoRA Nasıl Çalışır?

Bir katmanın ağırlık matrisi W olsun. Tam ince ayarda bu matrisin bütün elemanları güncellenebilir. LoRA ise öğrenilecek değişikliği, iki küçük matrisin çarpımıyla temsil eder:

Uyarlanmış ağırlık = W + ölçeklendirilmiş LoRA güncellemesi

Örneğin 4.096 × 4.096 boyutundaki bir ağırlık matrisi yaklaşık 16,8 milyon parametre içerir. Rank değeri 8 seçilirse iki LoRA matrisi toplam 65.536 eğitilebilir parametre içerir.

Bu örnek, yalnızca tek bir ağırlık matrisindeki parametre farkını gösterir. Toplam eğitim belleğinin veya süresinin aynı oranda azalacağı anlamına gelmez.

Uygulamada süreç şöyle ilerler:

  1. Temel model seçilir: Göreve uygun, önceden eğitilmiş model yüklenir.

  2. Eğitim verisi hazırlanır: İstenen davranışı gösteren örnekler oluşturulur.

  3. Hedef katmanlar belirlenir: LoRA’nın uygulanacağı modüller seçilir.

  4. Adaptör eğitilir: Temel ağırlıklar dondurularak ek parametreler güncellenir.

  5. Performans değerlendirilir: Eğitimde kullanılmayan örneklerle sonuçlar kontrol edilir.

LoRA, yapılandırmaya göre dikkat mekanizmasındaki projeksiyonlara ve diğer doğrusal katmanlara uygulanabilir.

Rank Değeri Ne İşe Yarar?

Rank (r), LoRA güncellemesinin kapasitesini ve eğitilebilir parametre miktarını etkiler.

Düşük rank daha az parametre ve daha küçük adaptör dosyası sağlayabilir. Yüksek rank ise daha geniş bir güncelleme alanı sunar; fakat daha fazla kaynak gerektirir.

Daha yüksek rank her zaman daha iyi sonuç vermez. Veri kalitesi, öğrenme oranı, hedef katmanlar ve eğitim süresi de önemlidir. Bu nedenle rank seçimi, doğrulama sonuçlarıyla birlikte değerlendirilmelidir.

LoRA ile Tam İnce Ayar Arasındaki Fark

LoRA da bir fine-tuning, yani ince ayar yöntemidir. Karşılaştırma, LoRA ile bütün parametrelerin güncellendiği tam ince ayar arasında yapılmalıdır.

Özellik Tam ince ayar LoRA
Güncellenen parametreler Modelin bütün ağırlıkları Standart kullanımda eklenen adaptör parametreleri
Eğitim belleği Genellikle daha yüksek Genellikle daha düşük
Göreve özel dosya Tam model ağırlıkları Küçük adaptör dosyaları saklanabilir
Uyarlama kapasitesi Bütün ağırlıklar değişebilir Seçilen katmanlar ve rank ile sınırlanır
Sonuç kalitesi Göreve ve eğitime bağlıdır Göreve ve eğitime bağlıdır

Tam ince ayarın her durumda büyük bir GPU kümesi gerektirdiği söylenemez. Donanım ihtiyacı; model boyutuna, veri uzunluğuna ve eğitim ayarlarına bağlıdır.

LoRA ile QLoRA Aynı mı?

LoRA, düşük ranklı güncellemelerin öğrenilmesini sağlar.

QLoRA ise bunu, temel modelin düşük bit hassasiyetinde saklanmasıyla birleştirir. Orijinal QLoRA yaklaşımında dondurulmuş temel model 4 bit olarak temsil edilirken LoRA parametreleri eğitilir.

Bu sayede temel model ağırlıklarının bellek ihtiyacı da azaltılabilir. Ancak “QLoRA bütün hesaplamaları 4 bit yapar” demek doğru değildir; ağırlıkların saklanma biçimi ile hesaplamada kullanılan veri türleri farklı olabilir.

LoRA Dosyası Tek Başına Çalışabilir mi?

Hayır. Standart bir LoRA adaptör dosyası, temel modelin bütün ağırlıklarını içermez. Kullanılabilmesi için uyumlu temel model ve doğru yapılandırma gerekir.

Aynı temel model için farklı görevlerde kullanılabilecek adaptörler hazırlanabilir. Örneğin biri sınıflandırma, diğeri belirli bir yanıt biçimi için eğitilebilir. Adaptörlerin hangi model sürümüyle hazırlandığının kaydedilmesi önemlidir.

Desteklenen yapılandırmalarda LoRA güncellemesi temel ağırlıklarla birleştirilebilir (merge). Böylece çıkarım sırasında ayrı adaptör hesaplaması kaldırılabilir. Birleştirilmeden kullanımda ise ek işlem yükü oluşabilir; bütün model ve kuantizasyon seçenekleri aynı birleştirme olanaklarını sunmaz.

Nerelerde Kullanılıyor?

Dil modellerinde, sınıflandırma, bilgi çıkarımı, belirli yanıt biçimleri ve alan terminolojisine uyum gibi görevlerde kullanılabilir.

Kurumsal uygulamalarda, müşteri destek üslubu veya standart raporlama biçimi gibi davranışların öğretilmesine yardımcı olabilir. Ancak sık değişen şirket belgelerini modele öğretmek, bu belgelerin güncel ve hatasız biçimde hatırlanacağını garanti etmez.

Kod modellerinde, belirli kodlama alışkanlıklarına veya görev örneklerine uyarlama yapılabilir.

Görsel üretim modellerinde, belirli stil ve kavramların öğrenilmesi için uygulanabilir. Hugging Face Diffusers, metinden görsel üretim modellerinin LoRA ile eğitilmesine yönelik araçlar sunar.

Avantajları ve Sınırları

LoRA’nın başlıca avantajları, daha az eğitilebilir parametre, daha küçük adaptör dosyaları ve farklı görevler için aynı temel modelden yararlanabilmektir.

Bununla birlikte az parametre eğitmek, hesaplamanın tamamını ortadan kaldırmaz. Eğitim sırasında temel modelden geçiş yapılır ve adaptörlerin öğrenmesi için gerekli gradyan hesaplamaları yürütülür. Temel ağırlıklar ve ara aktivasyonlar da bellekte yer kaplar.

Dikkat edilmesi gereken diğer noktalar şunlardır:

  • Veri kalitesi: Hatalı veya tutarsız örnekler istenmeyen davranışlar öğretebilir.

  • Aşırı öğrenme: Model, eğitim örneklerinde başarılı olurken yeni girdilerde zorlanabilir.

  • Genel yetenekler: Bir göreve uyarlama, başka görevlerde performans kaybı yaratabilir.

  • Uyumluluk: Adaptörler farklı temel modellere doğrudan taşınamayabilir.

  • Hız beklentisi: Eğitimdeki tasarruf, yanıt üretiminin aynı oranda hızlanacağı anlamına gelmez.

Sık Sorulan Sorular

LoRA sıfırdan model eğitmek midir?

Hayır. Genellikle önceden eğitilmiş bir modeli belirli görev veya davranışlara uyarlamak için kullanılır.

LoRA modeli küçültür mü?

Temel modeli küçültmez. Eğitilebilir parametreleri ve göreve özel saklanacak güncellemenin boyutunu azaltır.

Her model tek ekran kartında eğitilebilir mi?

Hayır. Model boyutu, bağlam uzunluğu, batch boyutu ve kullanılan bellek optimizasyonları donanım ihtiyacını belirler.

LoRA her zaman tam ince ayar kadar başarılı mı?

Hayır. Sonuçlar görev, veri ve yapılandırmaya göre değişir. Uygun yöntem, aynı değerlendirme koşullarında karşılaştırılarak seçilmelidir.

LoRA’nın değeri, model özelleştirmeyi daha erişilebilir hâle getirmesidir. Başarılı bir uygulama için küçük adaptör dosyaları kadar iyi hazırlanmış eğitim verisi ve güvenilir performans değerlendirmesi de gereklidir.

Kaynaklar: Hu ve diğerleri — LoRA: Low-Rank Adaptation of Large Language Models; Dettmers ve diğerleri — QLoRA: Efficient Finetuning of Quantized LLMs; Hugging Face PEFT — LoRA ve PEFT Checkpoint Format dokümantasyonu; Hugging Face Diffusers — LoRA eğitim rehberi.

Editör Notu

Bu içerik, kamuya açık yapay zekâ araştırmaları ve resmî teknik dokümantasyonlardan yararlanılarak hazırlanmış bir araştırma ve değerlendirme yazısıdır. İçerikte yer alan değerlendirmeler editoryal yorum niteliğindedir. LoRA’nın bellek, hız ve kalite kazanımları; temel modele, eğitim verisine, donanıma ve yapılandırmaya göre değişebilir.