İçeriğe geç
parazade
Yapay Zeka

SwiGLU Nedir?

Yayın: · Son güncelleme:

SwiGLU Nedir? Kısaca

SwiGLU, girdiden iki ayrı doğrusal dönüşüm üretip bunlardan birini Swish fonksiyonundan geçirerek diğeriyle eleman eleman çarpan, yani kapılı doğrusal birim (GLU) fikrini Swish ile birleştiren ve büyük dil modellerinde yaygın kullanılan bir aktivasyon yapısıdır.

SwiGLU nedir?
İçindekiler
  1. SwiGLU nedir?
  2. Neden kullanılır?
  3. Nelere dikkat etmeli?

SwiGLU, "Swish" ve "GLU" (Gated Linear Unit, kapılı doğrusal birim) kavramlarının birleşiminden adını alır. Noam Shazeer'in 2020'de yayımladığı ve transformer'larda GLU türevlerini inceleyen çalışmayla öne çıkmıştır. Bugün birçok büyük dil modelinin ileri besleme katmanlarında kullanılmaktadır.

SwiGLU nedir?

Önce iki yapı taşını tanıyalım:

  • Swish (SiLU): Swish(x) = x · σ(x). Girdiyi kendi sigmoid değeriyle çarpar; GELU'ya benzer, pürüzsüz bir eğridir.
  • GLU: Girdiden iki ayrı doğrusal dönüşüm alınır. Birinin çıktısı bir "kapı" gibi davranarak diğerinin ne kadarının geçeceğini belirler.

SwiGLU bu ikisini birleştirir:

SwiGLU(x) = Swish(x·W) ⊙ (x·V)

Burada W ve V iki ayrı ağırlık matrisi, ⊙ ise eleman eleman çarpımdır. Sonuç genellikle üçüncü bir matrisle çarpılarak katman çıktısına dönüştürülür.

Neden kullanılır?

  • Kapı mekanizması: Model, hangi bilginin ne ölçüde aktarılacağını girdiye bağlı olarak öğrenebilir. Bu, tek bir aktivasyon fonksiyonuna göre daha esnek bir yapı sunar.
  • Deneysel başarı: Aynı hesaplama bütçesiyle yapılan karşılaştırmalarda, transformer ileri besleme bloğunda ReLU ve GELU'ya göre genellikle daha iyi sonuç verdiği raporlanmıştır.

Yazarlar da bu başarının nedenini teorik olarak tam açıklamadıklarını belirtmiştir; tercih büyük ölçüde deneysel sonuçlara dayanır.

Nelere dikkat etmeli?

  • Ek parametre: Klasik ileri besleme bloğunda iki matris varken SwiGLU'da üç matris bulunur. Toplam parametre sayısını sabit tutmak için gizli katman boyutu genellikle küçültülür.
  • Hesaplama maliyeti: Ek matris çarpımı nedeniyle işlem yükü biraz artar.
  • SwiGLU tek başına bir fonksiyon değil, katman içinde bir yapı olarak düşünülmelidir; diğer aktivasyon fonksiyonları gibi tek bir sayıya uygulanmaz.

Sıkça Sorulan Sorular

SwiGLU ile GELU arasındaki fark nedir?

GELU tek bir değere uygulanan bir aktivasyon fonksiyonudur. SwiGLU ise iki ayrı doğrusal dönüşümü kapı mekanizmasıyla birleştiren, ek ağırlık matrisi içeren bir katman yapısıdır.

SwiGLU neden büyük dil modellerinde tercih edilir?

Benzer hesaplama bütçesinde ileri besleme katmanlarında daha iyi sonuç verdiği deneysel olarak gösterilmiştir. Kapı yapısı modele bilgiyi daha seçici aktarma imkânı tanır.

İlgili terimler

GELUGELU (Gaussian Error Linear Unit), girdiyi standart normal dağılımın birikimli dağılım fonksiyonuyla çarparak, yani GELU(x) = x·Φ(x) biçiminde, ReLU'ya benzeyen ama sıfır civarında yumuşak geçiş yapan ve transformer modellerinde yaygın kullanılan bir aktivasyon fonksiyonudur.ReLUReLU (Rectified Linear Unit), girdisi pozitifse aynen geçiren, negatifse sıfır döndüren, yani f(x) = max(0, x) biçiminde tanımlanan ve derin sinir ağlarında en yaygın kullanılan aktivasyon fonksiyonlarından biridir.TransformerTransformer, metin gibi sıralı verileri dikkat mekanizmasıyla paralel işleyen ve büyük dil modellerinin çoğunun temelini oluşturan bir sinir ağı mimarisidir.Büyük Dil Modeli(Large Language Model)Büyük dil modeli (LLM), çok büyük miktarda metinle eğitilen ve bir metnin devamında hangi parçanın geleceğini tahmin ederek yazı üreten yapay zekâ modelidir. Sohbet asistanları, kod yardımcıları ve özetleme araçlarının temelinde bu modeller bulunur.Ağırlık(Weight)Ağırlık (weight), yapay sinir ağlarında ve diğer makine öğrenmesi modellerinde her girdinin ya da bağlantının çıktıya ne kadar katkı yapacağını belirleyen ve eğitim sırasında veriden öğrenilen sayısal parametredir.Aktivasyon Fonksiyonu(Activation Function)Aktivasyon fonksiyonu, yapay sinir ağındaki bir nöronun girdilerinin ağırlıklı toplamını dönüştürerek çıktısını belirleyen ve ağa doğrusal olmayan ilişkileri öğrenme yeteneği kazandıran matematiksel fonksiyondur.