Aktivasyon Yeniden Hesaplama Dengeleri
Etkinleştirme yeniden hesaplaması (gradyan veya etkinleştirme kontrol noktası), ileri geçişteki ara etkinleştirmeleri atarak ve geri geçiş sırasında bunları yeniden hesaplayarak eğitim sırasında GPU belleğinden tasarruf sağlar.
Genel Bakış
It trades extra compute for the ability to train larger models or longer sequences on the same hardware.
Derin Dalış
Geri yayılım, gradyanları hesaplamak için ileri geçiş aktivasyonlarına ihtiyaç duyar; bu nedenle, varsayılan olarak her katmanın çıktıları depolanır; bu, model boyutu, toplu iş boyutu ve sıra uzunluğuyla birlikte artan büyük bir bellek maliyetidir. Etkinleştirme yeniden hesaplaması yalnızca birkaç 'kontrol noktası' tensörünü (çoğunlukla yalnızca katman sınırlarını) tutar ve geri kalanını atar. Geriye doğru geçiş sırasında, talep üzerine atılan aktivasyonları yeniden oluşturmak için kontrol noktaları arasındaki ileri hesaplamayı yeniden çalıştırır. Klasik sonuç, her sqrt(N) katmana yerleştirilen kontrol noktalarıyla hafızanın kabaca O(sqrt(N))'ye düşmesi ve yaklaşık bir ekstra ileri geçiş eklenmesidir (~%33 daha fazla hesaplama). Seçici değişkenler yalnızca ucuz ancak bellek açısından yoğun olan işlemleri (dikkat veya ayrılma gibi) yeniden hesaplarken pahalı olanları önbelleğe alır ve çok daha az yeniden hesaplama yüküyle bellek tasarrufunun çoğunu elde eder.
Teknik Bilgi
Temel değiş tokuş, FLOP'lara karşı hafızadır. Tam yeniden hesaplama, kabaca adım başına bir ekstra ileri geçiş ekler (~%30-40 daha yavaş), ancak etkinleştirme belleğini büyüklük sırasına göre kesebilir. Akıllı hareket, seçici kontrol noktası oluşturmadır: bellek açısından büyük ancak hesaplama açısından ucuz olan operasyonları (softmax, katman normu, GELU, dikkat puanları) belirleyin ve pahalı GEMM'lerin sonuçlarını önbellekte tutarken yalnızca bunları yeniden hesaplayın; böylece bilgi işlem israfını en aza indirin.
Stratejik Etki
Maliyet ve bütçe
Mimari kararlar yıllarca performansı ve işletme maliyetini etkiler.
Daha net kararlar
Teknik eğitim, ekiplerin yalnızca en yenisini değil, doğru yığını seçmesine de yardımcı olur.
Quality control
Daha iyi mühendislik seçenekleri, üretimdeki güvenilirlik olaylarını azaltır.
Aktivasyon Yeniden Hesaplamanın Geleceği
Yeniden hesaplama giderek daha otomatik ve seçici hale geliyor. Çerçeveler artık en uygun kontrol noktalarını seçmek için her operasyonun belleğinin ve FLOP maliyetinin profilini çıkarıyor ve yeniden hesaplamayı CPU/NVMe'ye etkinleştirme boşaltma ve paralellik stratejileriyle birleştiriyor. Bağlam uzunlukları ve model boyutları büyümeye devam ettikçe, işlem başına yeniden hesaplama kararlarını otomatik olarak seçen derleyici odaklı politikaların (PyTorch, JAX/XLA'da) yanı sıra, ekstra FLOP'ların kısmen gizlenmesi için yeniden hesaplamanın iletişimle daha sıkı örtüşmesini bekleyebilirsiniz.
Gerçek Dünya Uygulaması
Her katman bloğunu kontrol noktasıyla işaretleyerek, başka türlü sığmayacak büyük bir transformatörün eğitilmesi
Transformatör bloklarını sarmak ve etkinleştirme belleğini kesmek için PyTorch'un torch.utils.checkpoint'ini kullanma
Minimum yavaşlamayla bellek tasarrufu sağlamak için Megatron-LM'de dikkat/softmax'ın seçici yeniden hesaplanması
Etkinleştirmeleri depolamak yerine yeniden hesaplayarak sabit bir GPU bütçesinde daha uzun dizi uzunluklarına olanak sağlama
Riskler ve Korkuluklar
Bir kıyaslamayı optimize etmek daha geniş sistem zayıflıklarını gizleyebilir.
Altyapı ve bakım maliyetleri genellikle hafife alınır.
Sistemler karmaşıklaştıkça güvenlik ve gözlemlenebilirlik boşlukları büyüyebilir.
Uygulama Yol Haritası
Uygulamadan önce gecikmeyi, kaliteyi ve maliyet hedeflerini tanımlayın.
Gerçekçi yük ve veri koşulları altında kıyaslama yapın.
Hatalar, sapmalar ve kullanıcı etkisi için cihaz izleme.
Ölçeklendirmeden önce geri alma ve olay müdahale yollarını hazırlayın.
Keşfetmeye Devam Edin
Free newsletter
Get the daily AI briefing
Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.
One email each weekday. Unsubscribe in one click. We never sell or share your address.
Test yourself
Take the Activation Recomputation Tradeoffs quiz
Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
Next guide
SmoothQuant ve Aktivasyon Nicelemesi
Sık sorulan sorular
What is Activation Recomputation Tradeoffs?
Etkinleştirme yeniden hesaplaması (gradyan veya etkinleştirme kontrol noktası), ileri geçişteki ara etkinleştirmeleri atarak ve geri geçiş sırasında bunları yeniden hesaplayarak eğitim sırasında GPU belleğinden tasarruf sağlar. Aynı donanım üzerinde daha büyük modelleri veya daha uzun dizileri eğitme yeteneği için ekstra bilgi işlemden yararlanır.
Aktivasyon yeniden hesaplaması hafızadan tasarruf etmek için neyi değiştirir?
Yeniden hesaplama, depolanan etkinleştirmeleri atar ve bunları geriye doğru geçişte yeniden oluşturarak bellek kullanımını azaltmak için fazladan işlem harcar.
İleri geçiş aktivasyonları neden normalde saklanıyor?
Geri geçiş, gradyanları hesaplamak için ileri aktivasyonları kullanır; dolayısıyla bunlar, geri geçiş çalıştırılana kadar varsayılan olarak bellekte tutulur.
Tam etkinleştirme yeniden hesaplaması genellikle kabaca ne kadar ekstra işlem ekler?
Tam yeniden hesaplama, geri geçiş sırasında ileri hesaplamayı yeniden çalıştırır ve kabaca bir ekstra ileri geçiş ekler; bu da %30-40 daha fazla hesaplama anlamına gelir.
Seçici (tam değil) yeniden hesaplamanın ardındaki fikir nedir?
Seçici yeniden hesaplama, çok fazla bellek kullanan ancak çok az bilgi işlem (softmax veya katman normu gibi) kullanan operasyonları hedeflerken, boşa giden FLOP'ları en aza indirmek için pahalı GEMM sonuçlarını önbelleğe alır.
Daha fazla bellek tasarrufu sağlamak için hangi tamamlayıcı teknik sıklıkla yeniden hesaplamayla birleştirilir?
Etkinleştirme boşaltma, bazı etkinleştirmeleri CPU/NVMe depolama alanına taşır ve daha fazla bellek tasarrufu için sıklıkla yeniden hesaplama ve paralellik ile birleştirilir.