Gradyan Kırpma (Gradient Clipping)

Araç kavramları
Ing: Gradient ClippingGuncellendi: 1 Haziran 2026
Eğitim sırasında gradyanların aşırı büyümesini önlemek için belirli bir eşik değeriyle sınırlayan teknik. Özellikle derin ağlarda eğitim kararlılığını korur.

Gradyan Kırpma (Gradient Clipping) nedir?

Gradient clipping, derin sinir ağı eğitiminde karşılaşılan "patlayan gradyan" (exploding gradient) sorununu engelleyen bir tekniktir. Backpropagation sırasında gradyanlar katman katman çarpıldıkça bazen astronomik değerlere ulaşabilir; bu da optimizer'ın parametre güncellemelerini o kadar büyük yapmasına yol açar ki model bir anda tamamen çöker. Gradient clipping bu durumu engeller: gradyan normu belirlenen bir eşiği aştığında tüm gradyanlar orantılı biçimde küçültülür.

Nasıl çalışır?

İki yaygın yöntem vardır:

Norm clipping (en yaygın): Tüm parametrelerin gradyanlarının global L2 normu hesaplanır. Bu norm max_norm eşiğini aşıyorsa gradyanlar ölçeklenir:

if ||g|| > max_norm:
    g ← g * (max_norm / ||g||)

PyTorch'ta torch.nn.utils.clip_grad_norm_(parameters, max_norm=1.0) şeklinde kullanılır.

Value clipping: Her gradyan değeri tek tek [-clip_value, +clip_value] aralığına sıkıştırılır. Norm clipping'e göre daha kaba bir yöntemdir ve modern uygulamalarda tercih edilmez.

LLM eğitiminde max_norm=1.0 yaygın bir başlangıç değeridir. Eğitim loglarında grad_norm metriğini takip etmek, modelin ne zaman klipleme yaptığını gösterir — sürekli klipleme oluyorsa learning rate çok yüksek olabilir.

Neden önemli?

Transformer'lar ve RNN'ler gibi çok katmanlı mimarilerde, özellikle uzun dizilerle çalışırken patlayan gradyan ciddi bir risktir. Gradient clipping olmadan:

  • Loss aniden NaN'a döner
  • Model ağırlıkları çöp değerlere ulaşır
  • Eğitim kurtarılamaz biçimde bozulur

Modern LLM eğitim pipeline'larında gradient clipping neredeyse zorunlu bir bileşendir; Llama, GPT ve benzeri modellerin hepsinin eğitim kodunda vardır.

Kullanım alanları

  • LLM ön eğitimi ve fine-tuning
  • RNN / LSTM ile zaman serisi ve dil modelleme
  • Reinforcement learning'de policy gradient yöntemleri
  • Diffusion model eğitimi
  • Uzun context uzunluklarıyla çalışan transformer eğitimi
mindi
mindi'nin notu
grad_norm loglarını izleyin. Eğer her adımda klipleme oluyorsa sorun gradient clipping değil, learning rate'inizdir. Clipping bir sigortadır, hız limiti değil.