Bizimle iletişime geçin

LoRa, QLoRA ve QA-LoRA: Düşük Sıralı Matris Faktorizasyonu Yoluyla Büyük Dil Modellerinde Verimli Uyarlanabilirlik

Yapay Zeka

LoRa, QLoRA ve QA-LoRA: Düşük Sıralı Matris Faktorizasyonu Yoluyla Büyük Dil Modellerinde Verimli Uyarlanabilirlik

mm
LoRA : Büyük Dil Modellerinin Düşük Sıralı Uyarlanması

Büyük Dil Modelleri (LLM'ler), insan benzeri metinleri anlama ve oluşturma konusunda benzersiz yetenekler sunarak benzersiz bir niş oluşturdu. Yüksek Lisans'ların gücü, genellikle milyarlarca parametreye sahip olan muazzam boyutlarına kadar izlenebilir. Bu devasa ölçek, performanslarını artırırken, aynı zamanda, özellikle belirli görevler veya alanlar için model uyarlaması söz konusu olduğunda, zorlukları da beraberinde getiriyor. Tüm parametrelere ince ayar yapmak gibi LLM'leri yönetmenin geleneksel yolları, ağır bir hesaplama ve mali yük getirir ve dolayısıyla bunların gerçek dünya uygulamalarında yaygın olarak benimsenmesinin önünde önemli bir engel oluşturur.

İçinde önceki haber, Büyük Dil Modellerini (LLM'ler) belirli gereksinimlere göre uyarlamak için ince ayar yapmaya çalıştık. Talimat Tabanlı İnce Ayar, Tek Görevli İnce Ayar ve Parametre Verimli İnce Ayar (PEFT) gibi çeşitli ince ayar metodolojilerini araştırdık; bunların her biri LLM'leri farklı görevler için optimize etmeye yönelik benzersiz bir yaklaşıma sahip. Tartışmanın merkezinde transformatör mimarisi, LLM'lerin omurgası ve ince ayar sırasında çok sayıda parametrenin işlenmesine ilişkin hesaplama ve bellek taleplerinin ortaya çıkardığı zorluklar yer alıyordu.

LLM'deki parametreler

https://huggingface.co/blog/hf-bitsandbytes-integration

Yukarıdaki görüntü, çeşitli büyük dil modellerinin parametre sayısına göre sıralanmış ölçeğini temsil etmektedir. Özellikle: Avuç içi, ÇİÇEK AÇMAK, vb.

Bu yıl itibariyle, çok daha büyük modellere yol açan gelişmeler yaşandı. Ancak bu kadar devasa, açık kaynaklı modellerin standart sistemler üzerinde ayarlanması, özel optimizasyon teknikleri olmadan mümkün değildir.

Düşük Sıralı Uyarlamaya Girin (LoRA), Microsoft tarafından bu sürümde tanıtıldı kâğıt, bu zorlukları azaltmayı ve Yüksek Lisans'ları daha erişilebilir ve uyarlanabilir hale getirmeyi amaçlıyor.

LoRA'nın özü, tüm modelin yeniden eğitiminin karmaşıklıklarına dalmadan model adaptasyonuna yönelik yaklaşımında yatmaktadır. Her parametrenin değişebileceği geleneksel ince ayarın aksine LoRA daha akıllı bir rota benimser. Önceden eğitilmiş model ağırlıklarını dondurur ve Transformer mimarisinin her katmanına eğitilebilir sıralama ayrıştırma matrisleri ekler. Bu yaklaşım, eğitilebilir parametrelerin sayısını büyük ölçüde azaltarak daha verimli bir adaptasyon süreci sağlar.

Yüksek Lisans Ayarlama Stratejilerinin Evrimi

Yüksek Lisans ayarlama yolculuğuna bakıldığında, uygulayıcılar tarafından yıllar boyunca kullanılan çeşitli stratejiler tanımlanabilir. Başlangıçta, ön eğitimli modellere ince ayar yapılması üzerinde odaklanıldı; bu strateji, eldeki spesifik göreve uyacak şekilde model parametrelerinin kapsamlı bir şekilde değiştirilmesini gerektiren bir stratejiydi. Ancak modellerin boyutu ve karmaşıklığı arttıkça bu yaklaşımın hesaplama gereksinimleri de arttı.

İlgi çeken bir sonraki strateji, selefinin daha kısıtlı bir versiyonu olan alt küme ince ayarıydı. Burada, modelin parametrelerinin yalnızca bir alt kümesi ince ayarlanıyor ve bu da hesaplama yükünü bir ölçüde azaltıyor. Avantajlarına rağmen, alt küme ince ayarı, LLM'lerin büyüme hızına ayak uyduramadı.

Uygulayıcılar daha verimli yollar keşfetmeye cesaret ettikçe, tam ince ayar, titiz ama ödüllendirici bir yaklaşım olarak ortaya çıktı.

LoRA'ya Giriş

Bir matrisin sıralaması, sahip olduğu benzersiz satır veya sütun sayısına göre belirlenen, sütunları tarafından oluşturulan boyutlara dair bize bir fikir verir.

  • Tam Sıralı Matris: Sıralaması, satırları veya sütunları arasındaki sayılardan küçük olanla eşleşir.
  • Düşük Sıralı Matris: Hem satır hem de sütun sayısından önemli ölçüde daha küçük bir sıralamayla daha az özellik yakalar.

Artık büyük modeller, dil modellerindeki dil gibi, kendi alanlarının geniş bir anlayışına sahiptir. Ancak, bunları belirli görevler için ince ayar yapmak genellikle bu anlayışların yalnızca küçük bir kısmını vurgulamayı gerektirir. İşte LoRA'nın öne çıktığı nokta burası. Bu ağırlık ayarlamalarını gösteren matrisin düşük rütbeli olabileceğini ve bu nedenle daha az özellik yakalayabildiğini öne sürüyor.

LoRA, bu güncelleme matrisinin sıralamasını, onu daha küçük iki sıralama matrisine bölerek akıllıca sınırlandırır. Dolayısıyla ağırlık matrisinin tamamını değiştirmek yerine sadece bir kısmını değiştirerek ince ayar işini daha verimli hale getiriyor.

LoRA'nın Transformers'a uygulanması

LoRA, belirli ağırlık matrislerine odaklanarak sinir ağlarındaki eğitim yükünün en aza indirilmesine yardımcı olur. Transformer mimarisi altında, Çok Katmanlı Algılayıcı (MLP) modülündeki iki matrisin yanı sıra belirli ağırlık matrisleri, Wq, Wk, Wv ve Wo gibi öz-dikkat mekanizmasıyla bağlantılıdır.

Transformers mimarisi

Transformatör Mimarisi

 

trafo dikkat kafaları

Trafo Dikkat Başlıkları

LoRA'nın Matematiksel Açıklaması

LoRA'nın arkasındaki matematiği inceleyelim:

  1. Önceden eğitilmiş Ağırlık Matrisi :
    • Önceden eğitilmiş bir ağırlık matrisiyle başlar boyutların . Bu, matrisin sahip olduğu anlamına gelir satırlar ve sütunlar.
  2. Düşük Dereceli Ayrıştırma:
    • Matrisin tamamını doğrudan güncellemek yerine Hesaplama açısından pahalı olabilen yöntem, düşük dereceli bir ayrıştırma yaklaşımı önerir.
    • Güncelleme için iki matrisin çarpımı olarak temsil edilebilir: ve .
      • boyutları var
      • boyutları var
    • Burada önemli olan sıralamadır. ikisinden de çok daha küçük ve Bu, hesaplama açısından daha verimli bir temsile olanak tanır.
  3. Eğitim:
    • Eğitim süreci boyunca, değişmeden kalır. Buna ağırlıkların “dondurulması” denir.
    • Öte yandan, ve eğitilebilir parametrelerdir. Bu, eğitim sırasında matrislerde ayarlamaların yapıldığı anlamına gelir ve Modelin performansını artırmak için.
  4. Çarpma ve Toplama:
    • Her ikisi de ve güncelleme (bunun ürünüdür) ve ) aynı girdiyle çarpılır (olarak gösterilir) ).
    • Daha sonra bu çarpmaların çıktıları toplanır.
    • Bu süreç aşağıdaki denklemde özetlenmiştir: Burada, girişe güncellemeler uygulandıktan sonraki son çıkışı temsil eder .

Kısacası, bu yöntem, güncellemeleri düşük dereceli bir ayrıştırma kullanarak temsil ederek büyük ağırlıklı bir matrisi güncellemenin daha verimli bir yolunu sağlar; bu, hesaplama verimliliği ve bellek kullanımı açısından faydalı olabilir.

LORA Animasyonu

LORA

Başlatma ve Ölçeklendirme:

Modelleri eğitirken parametreleri nasıl başlattığımız, öğrenme sürecinin verimliliğini ve etkinliğini önemli ölçüde etkileyebilir. Ağırlık matrisi güncellememiz bağlamında ve :

  1. Matrislerin Başlatılması ve :
    • Matris : Bu matris normal dağılım olarak da bilinen rastgele Gauss değerleri ile başlatılır. Gaussian başlatmayı kullanmanın ardındaki mantık simetriyi bozmaktır: aynı katmandaki farklı nöronlar, farklı başlangıç ​​ağırlıklarına sahip olduklarında farklı özellikleri öğreneceklerdir.
    • Matris : Bu matris sıfırlarla başlatılır. Bunu yaparak güncelleme Eğitimin başlangıcında sıfırdan başlar. Modelin davranışında başlangıçta ani bir değişiklik olmamasını sağlar ve modelin kademeli olarak adapte olmasını sağlar. Eğitim sırasında uygun değerleri öğrenir.
  2. Çıktıyı Ölçeklendirme :
    • Güncellemeyi hesapladıktan sonra , çıktısı bir faktörle ölçeklendirilir nerede bir sabittir. Ölçeklendirme yoluyla güncellemelerin büyüklüğü kontrol edilir.
    • Ölçeklendirme özellikle sıralamada çok önemlidir. Örneğin, daha fazla doğruluk için sıralamayı artırmaya karar verirseniz (hesaplama maliyeti pahasına), ölçekleme, süreçte başka birçok hiperparametreyi ayarlamanıza gerek kalmamasını sağlar. Modele bir miktar istikrar sağlar.

LoRA'nın Pratik Etkisi

LoRA, yapay zeka topluluğundan kişiler tarafından yüksek lisans eğitimlerini belirli sanatsal tarzlara verimli bir şekilde ayarlama potansiyelini gösterdi. Bu, özellikle bir modelin sanatsal tarzını taklit edecek şekilde uyarlanmasında sergilendi. Greg Rutkowski.

Makalede örnek olarak GPT-3 175B ile vurgulandığı gibi. Her biri 175B parametreli, ince ayarlı modellerin ayrı ayrı örneklerine sahip olmak oldukça maliyetlidir. Ancak LoRA ile eğitilebilir parametreler 10,000 kat düşer ve GPU bellek kullanımı üçte bir oranında azalır.

LoRa'nın GPT-3 Ayarlaması üzerindeki etkisi

LoRa'nın GPT-3 İnce Ayarı üzerindeki etkisi

LoRA metodolojisi, yalnızca Yüksek Lisans'ları daha erişilebilir hale getirmeye yönelik önemli bir adım atmakla kalmıyor, aynı zamanda yapay zeka alanındaki teorik ilerlemeler ile pratik uygulamalar arasındaki boşluğu kapatma potansiyelinin de altını çiziyor. LoRA, hesaplama engellerini hafifleterek ve daha verimli bir model uyarlama sürecini teşvik ederek, LLM'lerin gerçek dünya senaryolarında daha geniş çapta benimsenmesi ve konuşlandırılmasında önemli bir rol oynamaya hazırlanıyor.

QLoRA (Kuantize)

LoRA, depolama ihtiyaçlarını azaltmada çığır açsa da, modeli eğitim için yüklemek için güçlü bir GPU gerektirir. İşte tam bu noktada QLoRA veya Nicemlenmiş LoRA devreye girerek, daha akıllı bir yaklaşım için LoRA'yı Nicemleme ile harmanlar.

niceleme

niceleme

Ağırlık parametreleri normalde 32 bit formatında (FP32) saklanır; bu da matristeki her bir elemanın 32 bit yer kapladığı anlamına gelir. Aynı bilgiyi sadece 8 hatta 4 bite sıkıştırabildiğimizi düşünün. QLoRA'nın arkasındaki temel fikir budur. Nicemleme, sürekli sonsuz değerleri daha küçük bir ayrık sonlu değer kümesine eşleme sürecini ifade eder. Hukuk alanında ise, modelin ağırlıklarını daha yüksek hassasiyetli veri türlerinden daha düşük hassasiyetli olanlara dönüştürme sürecini ifade eder.

LLM'de nicemleme

LLM'de nicemleme

İşte QLoRA'nın daha basit bir dökümü:

  1. İlk Niceleme: İlk olarak, Büyük Dil Modeli (LLM) 4 bit'e kadar kuantize edilir ve bellek ayak izi önemli ölçüde azaltılır.
  2. LoRA Eğitimi: Daha sonra LoRA eğitimi gerçekleştirilir, ancak standart 32 bit hassasiyette (FP32).

Şimdi, 32 bit'e küçülttükten sonra neden eğitim için 4 bit'e geri dönelim diye merak edebilirsiniz. LoRA adaptörlerini FP32'de etkili bir şekilde eğitmek için model ağırlıklarının da FP32'ye döndürülmesi gerekir. Bu ileri geri geçiş, GPU belleğinin aşırı yüklenmesini önlemek için akıllı ve adım adım yapılır.

LoRA pratik uygulamasını Hugging Face'te buluyor Parametre Verimli İnce Ayar (PEFT) Kütüphane, kullanımını basitleştirerek QLoRA'yı kullanmayı düşünenler için, aşağıdakilerin bir kombinasyonu yoluyla erişilebilir: bit ve bayt ve PEFT kütüphaneleri. Ayrıca HuggingFace Transformatör Güçlendirme Öğrenimi (TRL) kitaplığı Entegre LoRA desteğiyle denetimli ince ayarı kolaylaştırır. Bu üç kitaplık birlikte, seçilen önceden eğitilmiş bir modele ince ayar yapmak için gerekli araç kitini sağlar ve belirli özellik talimatlarıyla istendiğinde ikna edici ve tutarlı ürün açıklamalarının oluşturulmasına olanak tanır.

QLoRA'dan ince ayar yapıldıktan sonra ağırlıkların yüksek hassasiyetli formata geri dönmesi gerekir; bu da doğruluk kaybına neden olabilir ve süreci hızlandıracak optimizasyondan yoksundur.

Önerilen bir çözüm, ağırlık matrisini daha küçük bölümlere gruplamak ve her gruba ayrı ayrı nicemleme ve düşük dereceli uyarlama uygulamaktır. Yeni bir yöntem adı verildi QA-LoRA, istenen görevler için süreci verimli ve modeli etkili tutarken niceleme ve düşük dereceli uyarlamanın faydalarını harmanlamaya çalışır.

Sonuç

Bu makalede, devasa parametre boyutlarının yarattığı zorluklara değindik. Geleneksel ince ayar uygulamalarını ve bunlarla ilişkili hesaplamalı ve finansal talepleri derinlemesine inceledik. LoRA'nın özü, önceden eğitilmiş modelleri tamamen yeniden eğitmeden değiştirme, böylece eğitilebilir parametreleri azaltma ve uyarlama sürecini daha uygun maliyetli hale getirme yeteneğinde yatmaktadır.

Ayrıca, eğitim için gerekli hassasiyeti korurken modelin bellek ayak izini azaltan, LoRA ve Quantizasyon'un bir karışımı olan Quantized LoRA'ya (QLoRA) da kısaca değindik. Bu gelişmiş tekniklerle uygulayıcılar artık güçlü bir kütüphaneyle donatılmış olup, bu da LLM'lerin gerçek dünya senaryolarından oluşan bir yelpazede daha kolay benimsenmesini ve konuşlandırılmasını kolaylaştırmaktadır.

Matris

Matris

Bu stratejiler, LLM'leri belirli görevlere uyarlanabilir hale getirmek ile ince ayar ve dağıtım süreçlerinin hesaplama ve depolama kaynakları açısından aşırı talepkar olmamasını sağlamak arasında denge kurmak için tasarlanmıştır.

Son beş yılımı, Makine Öğrenimi ve Derin Öğrenmenin büyüleyici dünyasına dalarak geçirdim. Tutkum ve uzmanlığım, özellikle AI/ML'ye odaklanarak 50'den fazla farklı yazılım mühendisliği projesine katkıda bulunmamı sağladı. Devam eden merakım, beni daha fazla keşfetmeye hevesli olduğum bir alan olan Doğal Dil İşleme'ye de çekti.