0Pricing
Deep Learning Academy · Ders

GPU Belleği Kullanımını Azaltma

Kontrol noktası kullanımı ve daha akıllı tensör işlemleri.

GPU Belleği Kullanımını Azaltma, CoddyKit'te ücretsiz bir Deep Learning Academy dersidir. Bu, 4 dersinin 4. 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.

Korkulan OOM

GPU belleği tükendiğinde eğitim bir bellek yetersiz hatasıyla çöker. İyi haber şu ki, birkaç basit yöntem belleği hızla boşaltabilir.

Bellek Nereye Gider

GPU'nuz model ağırlıklarını, gradyanları, iyileştirici durumunu ve backward için kaydedilen etkinlikleri tutar. En büyük payı çoğu zaman etkinlikler oluşturur.

Toplu İşi Küçültme

En hızlı çözüm daha küçük bir toplu iş boyutudur. Adım başına daha az örnek, saklanacak daha az etkinlik anlamına gelir; biriktirme ile etkili boyut yeniden kazanılabilir.

Çıkarımda Gradyan Kullanmayın

Değerlendirme sırasında gradyanlara ihtiyacınız yoktur. Çıkarımı torch.no_grad içine almak, etkinliklerin saklanmasını önler ve büyük miktarda bellek kazandırır.

with torch.no_grad():
    preds = model(x)

Karma Duyarlılık Burada da Yardımcıdır

Yarım duyarlıklı tensörler basitçe daha küçüktür. autocast özelliğini etkinleştirmek, eğitim sırasında etkinlik ve ağırlık belleğini yaklaşık yarıya indirir.

with torch.autocast(device_type='cuda'):
    out = model(x)

Gradyan Kontrol Noktası Oluşturma

Kontrol noktası oluşturma, bellek karşılığında hesaplama gücünden ödün verir: etkinliklerin çoğunu siler ve hepsini tutmak yerine backward sırasında yeniden hesaplar.

from torch.utils.checkpoint import checkpoint

Kontrol Noktası Oluşturmayı Uygulama

Ağır bir bloğu checkpoint içine alarak etkinliklerinin geri geçişte yeniden oluşturulmasını sağlayın. Ekstra yeniden hesaplama karşılığında bellek kazanırsınız.

out = checkpoint(heavy_block, x)

Günlüğe Yazdıklarınızı Ayırma

Bir kayıp tensörünü saklamak, onun tüm hesaplama grafiğini bellekte tutar. Yalnızca sayıyı günlüğe yazmak ve grafiğin serbest bırakılmasını sağlamak için .item() çağırın.

running_loss += loss.item()

set_to_none Kullanma

Gradyan tensörlerinin yalnızca sıfırlarla doldurulması yerine serbest bırakılması için set_to_none seçeneğini zero_grad işlemine aktarın; böylece adımlar arasında bellek boşaltılır.

optimizer.zero_grad(set_to_none=True)

Önbelleği Temizleme

PyTorch, serbest bırakılan blokları yeniden kullanmak üzere önbelleğe alır. Gerçekten alan açmanız gerektiğinde empty_cache bu alanı GPU'ya geri verir; ancak gerçek bellek sızıntılarını nadiren düzeltir.

torch.cuda.empty_cache()

Kullanımınızı İnceleme

memory_allocated ile ne kadar bellek tuttuğunuzu kontrol edin. Ayarlama yaparken bu sayıyı izlemek, hangi değişikliğin gerçekten alan açtığını doğrular.

print(torch.cuda.memory_allocated())

Hızlı Kontrol

Backward sırasında etkinlikleri yeniden hesaplayarak bellek kazandıran teknik hangisidir?

Özet

Bellek yetersizliğini; toplu işleri küçülterek, çıkarım için no_grad kullanarak, autocast, gradyan kontrol noktası oluşturma ve set_to_none uygulayarak aşın. memory_allocated ile ölçüm yapın. 🧹

Sıkça Sorulan Sorular

“GPU Belleği Kullanımını Azaltma” dersi ücretsiz mi?

Evet — “GPU Belleği Kullanımını Azaltma” 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.

“GPU Belleği Kullanımını Azaltma” dersinde ne öğreneceğim?

Kontrol noktası kullanımı ve daha akıllı tensör işlemleri. 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 4. dersidir.

“GPU Belleği Kullanımını Azaltma” 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

  1. autocast ve GradScaler ile Karma Hassasiyet
  2. Büyük Gruplar için Gradyan Biriktirme
  3. Darboğazı Profilleme
  4. GPU Belleği Kullanımını Azaltma
← Deep Learning Academy Sayfasına Dön