Gradyan Kontrol Noktası (Gradient Checkpointing)
İş akışıGradient Checkpointing nedir?
Bir sinir ağı eğitilirken ileri geçişte (forward pass) hesaplanan ara katman çıktıları, backpropagation •hatayı geriye yayıp ağırlıkları güncelleme• için bellekte tutulur. Model büyüdükçe bu ara değerler GPU belleğini (VRAM) doldurur. Gradient checkpointing (aktivasyon kontrol noktası da denir), bu ara değerlerin hepsini saklamak yerine sadece belirli "kontrol noktalarını" tutar; geri geçişte ihtiyaç duyulan ara değerleri o noktadan itibaren yeniden hesaplar.
Nasıl çalışır?
Klasik yaklaşım: hız için her şeyi sakla, belleği yak. Gradient checkpointing bunun tersini yapar bellek için hesabı tekrarla. Ağı parçalara böler, her parçanın sonunda bir kontrol noktası bırakır. Geri geçiş o parçaya geldiğinde, kontrol noktasından başlayıp aradaki aktivasyonları anında yeniden üretir. Sonuç: bellek kullanımı katman sayısına göre değil, kabaca karekökü oranında büyür. Bedeli, ileri hesabın bir kısmının iki kez yapılması yani yaklaşık %20-30 daha yavaş eğitim.
Neden önemli?
Büyük modelleri, özellikle sınırlı VRAM''li tek bir GPU üzerinde eğitmek ya da ince ayar (fine-tuning) yapmak çoğu zaman "belleğe sığmıyor" duvarına toslar. Gradient checkpointing bu duvarı aşmanın en pratik yollarından biridir: biraz hızdan feragat edip çok daha büyük model ya da daha uzun dizi eğitmene izin verir. LoRA, mixed precision ve gradient accumulation gibi tekniklerle birlikte "az donanımla büyük iş" araç kutusunun parçasıdır.
Kullanım alanları
Sınırlı VRAM''li GPU''larda büyük model ince ayarı, uzun dizilerle eğitim, bellek darboğazına giren araştırma kurulumları. PyTorch ve Hugging Face Transformers gibi kütüphanelerde tek satırla açılabilen standart bir seçenektir.
Ilgili terimler
