core-ai
Sözlük ↗Düşük Ranklı Adaptasyon (LoRA)
Düşük Ranklı Adaptasyon (LoRA), büyük bir modeli özelleştirmenin maliyetini ve donanım gereksinimlerini büyük ölçüde azaltan, parametre açısından verimli bir fine-tuning tekniğidir. Fine-tuning sırasında modelin milyarlarca orijinal ağırlığının tamamını güncellemek yerine (her parametre için gradyan ve optimizer durumu saklamayı gerektirir — son derece bellek yoğun), LoRA tüm orijinal modeli dondurur ve belirli katmanların (genellikle attention katmanları) yanına küçük, eğitilebilir "düşük rank" matrisleri ekler; yalnızca bu küçük eklenen matrisler eğitilirken orijinal modelin büyük çoğunluğu tamamen dokunulmadan kalır. Matematiksel olarak bu teknik, bir modeli yeni bir göreve uyarlamak için gereken ağırlık güncellemelerinin düşük bir "içsel rank"a sahip olma eğiliminde olduğu gözleminden yararlanır — yani çok daha küçük iki matrisin çarpımıyla iyi bir şekilde yaklaşıklanabilirler, bu da tam fine-tuning'e kıyasla eğitilebilir parametre sayısını 100-1000 kat azaltırken benzer görev performansı elde eder. Bu, SaaS geliştiricileri ve bağımsız yazılımcılar için son derece önemlidir çünkü fine-tuning'i "bir A100 GPU kümesi ve özel bir ML ekibi gerektiren" bir sorundan tek bir tüketici GPU'sunda veya mütevazı bir bulut örneğinde uygulanabilir bir şeye dönüştürür. Somut bir örnek: 7 milyar parametreli açık ağırlıklı bir modeli (Mistral-7B gibi) tam fine-tuning ile eğitmek, 7 milyar parametrenin tamamı için gradyan ve optimizer durumu saklamayı gerektirir — genellikle 60-100+ GB GPU belleği. LoRA ile yalnızca birkaç milyon parametre (eklenen düşük ranklı matrisler, genellikle orijinal model boyutunun %1'inden azı) eğitilir; bu, 16GB'ın altındaki VRAM'e — tek bir tüketici GPU'suna — rahatça sığarken, dondurulmuş temel modelin üzerine çıkarım zamanında yüklenebilen küçük bir "adaptör" dosyası (genellikle sadece birkaç on megabayt) üretir. Bu ayrıca pratik bir ürün deseni de mümkün kılar: bir SaaS şirketi farklı müşteriler veya kullanım senaryoları için (her marka sesi için bir tane, her sektör dikeyi için bir tane) onlarca hafif LoRA adaptörü eğitip, onlarca tam fine-tune edilmiş model kopyası barındırmak yerine, çıkarım zamanında tek bir paylaşılan temel model üzerinde bunları takıp çıkarabilir. QLoRA bunu bir adım öteye taşıyarak dondurulmuş temel modeli de niceleyerek (quantize) fine-tuning erişilebilirliğini daha mütevazı donanımlara indirger. LoRA adaptörleri ayrıca tam fine-tuning'in sunmadığı şekillerde birleştirilebilir (composable): bazı çerçeveler çıkarım zamanında birden fazla LoRA adaptörünü birleştirmeyi veya çağıran müşteriye ya da bağlama göre hangi adaptörün aktif olduğunu dinamik olarak değiştirmeyi destekler; çünkü her adaptör, tamamen ayrı bir model kontrol noktası değil, aynı dondurulmuş temel model üzerine eklenmiş küçük bir ek matris kümesidir. "AI'nin tonunu/davranışını markanız için özelleştirin" özelliğini sunan çok kiracılı bir SaaS platformu için bu, müşteri başına LoRA adaptörlerini gerçekten pratik bir mimari haline getirir — her müşteri için kendi örneklerinden hafif bir adaptör eğitmek, onlarca tam yinelenmiş model kopyasını barındırmanın depolama ve sunum maliyeti olmadan.
İlgili terimler