Layer Normalization Nedir? Transformer'larda Normalizasyon Tekniği (Katman Normalizasyonu)

Derin öğrenme modellerinde her örneğin aktivasyonlarını özellik boyutu üzerinden normalleştiren, Transformer ve LLM mimarilerinin temel bileşeni.

Layer Normalization (Katman Normalizasyonu), derin öğrenme modellerinde eğitimi hızlandırmak ve kararlılaştırmak için kullanılan bir normalizasyon yöntemidir. Jimmy Ba ve Geoffrey Hinton tarafından 2016 yılında önerilen bu teknik, her bir veri örneğinin aktivasyonlarını özellik boyutu (feature dimension) üzerinden normalleştirir; bu sayede batch boyutundan tamamen bağımsız biçimde çalışır. Yöntemin matematiksel temeli şudur: bir katmandaki H adet nöronun aktivasyonları için μ (ortalama) ve σ (standart sapma) hesaplanır, ardından her aktivasyon normalize edilir ve öğrenilebilir parametreler γ (gain) ile β (bias) ile yeniden ölçeklenir. Formül: ŷ = γ × (x − μ) / √(σ² + ε) + β. Burada ε sıfıra bölmeyi önleyen küçük bir sabittir. Batch Normalization (BN) mini-batch içindeki tüm örneklere bakarak istatistik hesaplarken, Layer Normalization yalnızca tek örneğin kendi özellik boyutuna bakar. Bu fark, BN'nin değişken uzunluklu dizilerle ve batch size=1 senaryolarında yetersiz kalmasına yol açar; LN bu sınırlamaları aşar ve Tekrarlayan Sinir Ağları (RNN) ile Transformer mimarileri için doğal seçim haline gelir. Modern büyük dil modellerinde iki yerleşim biçimi bulunur. Orijinal Transformer (Vaswani ve ark., 2017) her alt katmanın (dikkat + FFN) çıktısından sonra LN uygular; buna Post-LN denir. GPT-3, LLaMA ve çoğu modern LLM ise her alt katmanın girişine LN uygular (Pre-LN). Pre-LN, gradyan akışını daha kararlı kılar ve genellikle daha kolay eğitilir. RMSNorm, Layer Norm'un hesaplama maliyetini azaltmak için önerilmiş bir varyantıdır. Ortalama çıkarma (mean subtraction) adımını atlayarak yalnızca karekök ortalama karesiyle (RMS) normalleştirir. LLaMA 2/3 ve Mistral gibi modeller RMSNorm'u tercih eder çünkü GPT düzeyinde kaliteyi daha az işlemle elde eder. Layer Normalization, eğitim sırasında model aktivasyonlarını ölçek ve kayma bağımsız hale getirerek öğrenme hızı seçimini daha az kritik kılar ve farklı boyutlardaki modeller arasında transferi kolaylaştırır.

Tanım ve Matematiksel Temel

Layer Normalization, bir sinir ağı katmanındaki nöron aktivasyonlarını tek bir örnek (sample) düzeyinde normalleştirir. H adet nöron için ortalama μ ve standart sapma σ hesaplanır, ardından her aktivasyon normalize edilerek öğrenilebilir γ ve β parametreleriyle yeniden ölçeklenir: ŷ = γ × (x − μ) / √(σ² + ε) + β. Burada ε sıfıra bölmeyi önler (tipik olarak 1e-6 ya da 1e-5). γ ve β eğitim sırasında veri tarafından optimize edilir; bu sayede model gerektiğinde orijinal aktivasyon ölçeğini geri kazanabilir.

Batch Normalization ile Karşılaştırma

Batch Normalization (BN), istatistikleri mini-batch içindeki tüm örneklere bakarak hesaplar. Bu yaklaşım görüntü sınıflandırma gibi sabit boyutlu girdilerde iyi çalışır; ancak değişken uzunluklu dizi modellerinde ve batch size=1 senaryolarında sorun çıkarır. Layer Normalization bu kısıtlamaları aşar: istatistikler yalnızca tek bir örneğin özellik boyutundan hesaplandığından batch bağımsızlığı tam olarak sağlanır. RNN ve Transformer'lar için standart tercih Layer Norm olmuştur.

Pre-LN ve Post-LN: İki Yerleşim Biçimi

  • check_circle Post-LN (Orijinal Transformer): Her alt katmanın (öz-dikkat, FFN) çıktısı residual bağlantıyla toplanır, ardından Layer Norm uygulanır. Vaswani ve ark. (2017) bu tasarımı kullandı. Eğitim başlangıcında gradyan patlama riski taşır ve dikkatli öğrenme hızı ısıtması gerektirir.
  • check_circle Pre-LN (Modern LLM'ler): Layer Norm her alt katmanın girişine uygulanır, ardından residual bağlantı eklenir. GPT-3, LLaMA ve Mistral bu yaklaşımı kullanır. Gradyan akışı daha kararlı olduğundan learning rate warmup daha az kritik olur ve daha derin modeller daha kolay eğitilebilir.

RMSNorm: Basitleştirilmiş Varyant

RMSNorm (Root Mean Square Layer Normalization), ortalama çıkarma adımını atlayarak yalnızca karekök ortalama kare (RMS) ile normalleştirir: ŷ = x / RMS(x) × γ. Bu sayede hesaplama maliyeti düşer ve pratik sonuçlar Layer Norm ile karşılaştırılabilir kalır. LLaMA 2, LLaMA 3 ve Mistral bu varyantı tercih eder. T5 ailesi de Pre-LN + RMSNorm kombinasyonunu kullanır.

Kullanım Alanları ve Önemi

Layer Normalization, Transformer tabanlı her mimaride kritik bir rol üstlenir: BERT, GPT ailesi (2-4o), Claude, LLaMA, Falcon ve Mistral bunların başında gelir. Dikkat başlıklarındaki (attention head) aktivasyon dağılımını stabilize ederek eğitimin ilk adımlarında gradyan patlamasını önler. Uzun bağlam penceresi (128K+) ile eğitilen modellerde Layer Norm, dizi boyunca tutarlı aktivasyon ölçeği sağladığından özellikle kritiktir.

Sık Sorulan Sorular

  • check_circle Layer Normalization ve Batch Normalization arasındaki temel fark nedir?: Batch Normalization mini-batch'teki tüm örneklere bakarak istatistik hesaplar; Layer Normalization yalnızca tek örneğin özellik boyutuna bakar. Bu fark Layer Norm'u değişken uzunluklu diziler ve batch size=1 senaryoları için uygun kılar.
  • check_circle Neden tüm modern LLM'ler Layer Normalization kullanıyor?: Transformer'lar değişken uzunluklu metin dizileriyle çalıştığından Batch Normalization uygun değildir. Layer Norm batch bağımsızlığı ve eğitim kararlılığı sunduğundan tüm büyük dil modellerinin standarttı haline gelmiştir.
  • check_circle Pre-LN mı Post-LN mı daha iyi?: Genel olarak Pre-LN daha kararlı gradyan akışı sağlar ve derin ağlarda daha kolay eğitilir. Orijinal Transformer Post-LN kullanmış olsa da GPT-3'ten itibaren modern modeller Pre-LN'e geçmiştir.
  • check_circle RMSNorm, Layer Normalization'ın yerini alıyor mu?: LLaMA ve Mistral gibi modellerde RMSNorm tercih edilmektedir çünkü ortalama çıkarma adımı atlanarak hesaplama maliyeti düşürülmüş, kalite ise korunmuştur. Her iki yöntem de aktif biçimde kullanılmaktadır.