Büyük sinir ağlarının hafıza ayak izinini anlamak, dağıtım ve eğitim için önemlidir. Donanım gereksinimleri ve verimliliği belirlemeye yardımcı olur. Bu makale, sinir ağ modelleri tarafından kullanılan hafızayı nasıl hesaplamaya yardımcı olur.
Memory Use
Toplam hafıza ayak izi birkaç bileşen içerir: model parametreleri, gradients, optimize devletler ve hesaplama sırasında geçici tamponlar.Her bileşen genel hafıza tüketimine katkıda bulunur.
Model Parametrelerini Hesaplamak
İlk faktör, modelin parametrelerinin büyüklüğüdir. Bunu tahmin etmek için, her parametrenin büyüklüğü ile parametrelerin sayısını çoğaltmak, genellikle 32-bit yüze sayı için 4 tane.
Örneğin, 100 milyon parametre ile bir model sadece parametreleri depolamak için yaklaşık 400 MB hafıza gerektirir.
Ek bellek
Eğitim sırasında, lisans ve optimizasyon devletler de hafıza tüketiyor. Gradients genellikle aynı büyüklükte parametreler, hafıza gereksinimini ikiye katlıyor. Optimizer devletler, momentum veya adaptif öğrenme hızı gibi, daha fazla ek ekleyebilir.
Aktivasyonlar ve orta hesaplamalar için geçici tamponlar, özellikle büyük toplu boyutlarda veya karmaşık mimarilerle toplam hafıza kullanımına da katkıda bulunur.
Total Memory Use
Toplam hafıza ayak izini tahmin etmek için, parametreler için hafızayı, gradients, optimize devletler ve geçici tamponları hesaplayın. Belirli model mimarisi ve eğitim kurulumuna dayanan hesaplamaları ayarlayın.
- Model parametreleri
- Gradients
- Optimizer devletler
- Aktivasyon tamponları
- Intermediate computations