LoRA adaptörü mü, tam ince ayar mı?
Çoğu zaman görev başına bir adaptör yeter. Bütün modelin ne zaman değişmesi gerektiğine alışkanlık değil, uzmanın test seti karar verir.
Tek bir alan için eğitilen küçük bir dil modeli, dili zaten okuyup yazabilen bir temel modelden başlar. İş, ona kurumun görevlerini öğretmektir: formlarını, kategorilerini, rapor biçimlerini, çağırdığı araçları. Bunun iki genel yolu var. Ya küçük bir ek ağırlık kümesini, yani bir adaptörü eğitir ve temel modele dokunmazsınız; ya da modeldeki her ağırlığı güncellersiniz. Bu seçim eğitimin maliyetini, modelin nasıl çalıştırılacağını, neleri unutabileceğini ve her görevin nasıl test edileceğini değiştirir.
LoRA neyi değiştirir?
Düşük ranklı uyarlama (low-rank adaptation, LoRA), adaptör eğitmenin yaygın kullanılan bir yoludur. Özgün makale onu “önceden eğitilmiş model ağırlıklarını donduran ve Transformer mimarisinin her katmanına eğitilebilir rank ayrışımı matrisleri ekleyen” bir yöntem olarak tanımlar. Sade bir dille: temel model olduğu gibi kalır. Bazı ağırlık matrislerinin yanına, görevin gerektirdiği değişikliği öğrenen çok daha küçük bir matris çifti oturur. Bu matrislerin boyutunu rank belirler; rank, adaptörün modeli ne kadar değiştirebileceğinin üst sınırını çizer.
Adaptör, temel modelin yanında duran küçük bir dosyadır. Makale, canlı kullanım için bu değişikliğin temel ağırlıklarla birleştirilebileceğini belirtir; böylece birleştirilmiş model çıkarımda ek gecikme yaratmaz. Başka bir göreve geçmek, bir adaptörün değişikliğini çıkarıp ötekininkini eklemek demektir.
Görev başına bir adaptör ne zaman yeter?
Temel model malzemeyi zaten anlıyorsa ve eksik olan yalnızca kurumun onu ele alış biçimiyse adaptör uygundur:
- bir hasar formunun alanlarını kurumun kendi kayıt biçimine aktarmak;
- şikâyetleri kurumun kategorilerine, onun tanımlarıyla ayırmak;
- bir kredi teklifinin bir bölümünü kurumun şablonu ve üslubuyla yazmak;
- SQL sorgusu ya da JSON isteği gibi bir aracı doğru parametrelerle çağırmak.
Bunların her biri büyük ölçüde biçim, etiketler ve uzmanın puanlayabileceği yargılardan oluşur. Her göreve ayrı bir adaptör, her birini küçük, sürümlü ve tek başına değiştirilebilir tutar. Bunu tercih etmek için ikinci bir neden de var: “LoRA Learns Less and Forgets Less” çalışması, LoRA'nın “temel modelin hedef alan dışındaki görevlerdeki performansını daha iyi koruduğunu” bulmuştur. Model genel metni de hâlâ iyi okumak zorundaysa, daha az unutmak önemlidir.
Bütün model ne zaman değişmeli?
Aynı çalışma en net uyarıyı da yapar. Programlama ve matematikte, hem talimatla ince ayarda (instruction fine-tuning) hem de sürekli ön eğitimde, “standart düşük ranklı ayarlarda LoRA'nın tam ince ayarın belirgin biçimde gerisinde kaldığını” bildirir. Adaptör daha az öğrenir. Temel modelin bildiğiyle görevin gerektirdiği arasındaki mesafe büyükse, küçük bir değişiklik bunu kapatmayabilir.
İki durum daha ileri gitmeyi haklı çıkarır:
- Alanın dili eksikse. Temel model alanın terimlerini ve belgelerini bilmiyorsa (bir sektörün düzenlemeleri, ürün koşulları ya da teknik kısaltmaları gibi), önce alan metniyle sürekli ön eğitim gelir. Gururangan ve arkadaşları, “alan içinde ikinci bir ön eğitim aşamasının (alana uyarlanmış ön eğitim) performans artışı sağladığını” bulmuştur. Bunu yalnızca o dil gerçekten eksikse kullanırız; eksikliği de eğitimden önce ölçeriz.
- Adaptör test setinde başarısız oluyorsa. Rankı ve verisi denendikten sonra bile bir adaptör uzmanın test setindeki görevlerde başarısız oluyorsa, sıradaki aday tam ince ayardır.
Tam ince ayarın, adaptörün kaçındığı maliyetleri vardır. Eğitim için daha fazla bellek ve hesaplama gücü ister ve her varyant modelin tam bir kopyasıdır. İşin hâlâ dayandığı genel yetenekler de kendi regresyon testini gerektirir; çünkü modelin daha büyük bir kısmı değişmiştir. Her iki yol için de donanım, modele ve görevlere göre Karar Planı'nda boyutlandırılır.
Tek temel model, çok sayıda adaptör
Adaptörler modelin nasıl çalıştırıldığını da değiştirir. Birkaç görev bellekteki tek bir temel modeli paylaşabilir; her istek kendi adaptörünü kullanır. Örneğin S-LoRA çalışması “tüm adaptörleri ana bellekte saklayan” bir çalıştırma sistemi anlatır ve bu sistemin “tek bir GPU'da ya da birden fazla GPU'da binlerce LoRA adaptörünü çalıştırabildiğini” öne sürer. Tek bir kurumun içinde bu şu anlama gelir: yeni bir görev, barındırılacak yeni bir model değil, yeni bir adaptördür. Bir görev, diğerlerine dokunmadan geri alınabilir ya da kullanımdan kaldırılabilir.
Kurumlar arasındaki sınır yine geçerlidir. Bir müşterinin verisiyle eğitilen adaptör o müşteriye aittir; başka bir müşterinin sistemine hiçbir zaman hizmet etmez, onu eğitmek için de kullanılmaz.
Her görevi uzmanın test setiyle sınayın
Herhangi bir eğitimden önce kurumun uzmanı her görev için bir test setini puanlar: gerçeğe benzer dosyalar ve uzmanın vereceği cevaplar. Her aday aynı sette ölçülür: belirli bir ranktaki adaptör, tam ince ayar ya da özenle yazılmış bir istemle çalışan temel model. Bir görev yalnızca geçtiğinde canlıya alınır ve yalnızca o görev canlıya alınır. Bu şekilde eğitilen küçük bir model kendi görevinde çoğu zaman büyük, genel amaçlı bir modelin düzeyine ulaşır. Çoğu zaman, ama istisnasız değil; bu yüzden kararı yöntem değil, test seti verir.
Değişen bilgi ağırlıklarda değil, bilgi erişiminde (retrieval) durur; politika ve yetki de modelin dışında kalır. Adaptör bir görevi öğretir; eylemde bulunma izni vermez.
Temel modelin lisansı geçerliliğini korur
Adaptör bir temel modelin üzerine eğitilir ve temel modelin lisansı onun üzerine kurulan her şey için geçerli olmaya devam eder: hangi kullanımlara izin verdiği, hangi atfı gerektirdiği ve sonucun yeniden dağıtılıp dağıtılamayacağı. Bu, ilk adaptör çalıştıktan sonra değil, temel model seçilmeden önce kontrol edilir.
Uzmanın test setini geçen en küçük değişiklikle başlayın. Bütün modeli ancak kanıt, küçük değişikliğin işi göremeyeceğini gösterdiğinde değiştirin.
Kaynaklar
- Edward J. Hu vd., LoRA: Low-Rank Adaptation of Large Language Models (arXiv 2106.09685, 2021) Yöntemin kendisi: dondurulmuş önceden eğitilmiş ağırlıklar, her katmanda eğitilebilir düşük ranklı matrisler ve birleştirildikten sonra çıkarımda ek gecikme olmaması.
- Dan Biderman vd., LoRA Learns Less and Forgets Less (arXiv 2405.09673, 2024) LoRA'yı programlama ve matematikte, talimatla ince ayar ve sürekli ön eğitim koşullarında tam ince ayarla karşılaştırır.
- Suchin Gururangan vd., Don't Stop Pretraining: Adapt Language Models to Domains and Tasks (ACL 2020; arXiv 2004.10964) Alan içi metinle yapılan ikinci bir ön eğitim aşaması (alana uyarlanmış ön eğitim), o alanın görevlerinde sonuçları iyileştirir.
- Ying Sheng vd., S-LoRA: Serving Thousands of Concurrent LoRA Adapters (arXiv 2311.03285, 2023) Tek bir temel modelden türetilen çok sayıda LoRA adaptörünü birlikte çalıştırma.
Tür
Küçük dil modelleri
Anlar
Not tipi
Yöntem
Etiketler
- lora
- ince ayar
- küçük dil modelleri
- yöntem
Sözlük
İlgili notlar