Eşzamanlı Toplu Normalleştirme ve Parçalı Durum
İstatistikleri ve ağırlıkları tutarlı tutun.
Eşzamanlı Toplu Normalleştirme ve Parçalı Durum, CoddyKit'te ücretsiz bir Deep Learning Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Deep Learning Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Deep Learning Academy kursu toplamda 4 dersten oluşur.
Küçük Yığın Sorunu
Yığın normalizasyonu istatistikleri her GPU'nun yerel yığınından hesaplar. Birçok GPU'ya bölündüğünde her aygıt başına yığın küçülür ve bu istatistikler gürültülü hâle gelir.
SyncBatchNorm ile Tanışın
SyncBatchNorm, ortalamayı ve varyansı tüm GPU'lar arasında birlikte hesaplayarak bu sorunu çözer; böylece tam küresel yığını görmüş gibi davranır.
Tek Çağrıyla Dönüştürün
Katmanları elle yeniden yazmanız gerekmez. Tek bir yardımcı, modelinizdeki her BatchNorm katmanını eşitlenen sürümüne dönüştürür.
import torch.nn as nn
model = nn.SyncBatchNorm.convert_sync_batchnorm(model)Sarmalamadan Önce Dönüştürün
Sıra önemlidir: modeli DDP ile sarmalamadan önce dönüştürmeyi çağırın; böylece DDP eşitlenen katmanları yönetir.
model = nn.SyncBatchNorm.convert_sync_batchnorm(model)
model = DDP(model, device_ids=[local_rank])İletişim Maliyeti Vardır
İstatistikleri eşitlemek, her yığın normalizasyonu katmanında ek bir tümüne indirgeme işlemi anlamına gelir. Bunu varsayılan olarak değil, GPU başına küçük yığınlar doğruluğu düşürdüğünde kullanın.
Bellek Duvarı
Standart DDP, modelin tamamını, gradyanları ve eniyileyici durumunu her GPU'ya kopyalar. Çok büyük modellerde bu tekrarlar belleği hızla tüketir.
Durumu Parçalara Ayırın
Parçalama, bu tensörleri GPU'lar arasında böler; böylece her aygıt yalnızca bir parçayı saklar. GPU'lar birlikte hâlâ modelin tamamını barındırır.
FSDP ile Tanışın
PyTorch'un FullyShardedDataParallel yapısı parametreleri, gradyanları ve eniyileyici durumunu parçalar. Böylece tek bir GPU'nun belleğinden çok daha büyük modelleri eğitebilirsiniz.
from torch.distributed.fsdp import FullyShardedDataParallel as FSDP
model = FSDP(model)Tam Gerektiği Anda Birleştirin
FSDP, her katmanın tüm ağırlıklarını hesaplama için yalnızca gerektiği anda birleştirir ve ardından yeniden serbest bırakır. Bu, en yüksek bellek kullanımını düşük tutar.
ZeRO Aşamaları
Parçalama, ZeRO aşamaları olarak adlandırılan düzeylerde yapılır: önce eniyileyici durumu, sonra gradyanları, ardından parametreleri parçalarsınız. Daha fazla parçalama, daha fazla bellek tasarrufu sağlar.
Doğru Aracı Seçin
Modeliniz GPU başına sığıyorsa standart DDP en basit seçenektir. Sığmıyorsa durumu parçalamak ve devam etmek için FSDP'yi kullanın.
Hızlı Kontrol
Her tekniğin gerçekte ne amaçla kullanıldığını belirleyin.
Özet
İki tutarlılık aracı gördünüz: SyncBatchNorm, istatistikleri GPU'lar arasında küresel tutar; FSDP ise durumu parçalayarak dev modellerin sığmasını sağlar. Her birini yalnızca gerektiğinde kullanın.
Yapay zeka eğitmeniyle Python öğren — ücretsiz
Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.
- Kurslar
- 30
- Dersler
- 120
Sıkça Sorulan Sorular
“Eşzamanlı Toplu Normalleştirme ve Parçalı Durum” dersi ücretsiz mi?
Evet — “Eşzamanlı Toplu Normalleştirme ve Parçalı Durum” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Deep Learning Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Deep Learning Academy kursu toplamda 4 dersten oluşur.
“Eşzamanlı Toplu Normalleştirme ve Parçalı Durum” dersinde ne öğreneceğim?
İstatistikleri ve ağırlıkları tutarlı tutun. Deep Learning Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Deep Learning Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Deep Learning Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.
“Eşzamanlı Toplu Normalleştirme ve Parçalı Durum” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Deep Learning Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Deep Learning Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Veri ve Model Paralelliği
- DistributedDataParallel Temelleri
- Eşzamanlı Toplu Normalleştirme ve Parçalı Durum
- torchrun ile İş Başlatma