Deep Learning Academy · Ders

autocast ve GradScaler ile Karma Hassasiyet

Büyük hız kazanımları için yarım hassasiyetli matematik.

1. ders / 413 adım

autocast ve GradScaler ile Karma Hassasiyet, CoddyKit'te ücretsiz bir Deep Learning Academy dersidir. Bu, 4 dersinin 1. 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.

Karma Hassasiyet Ne Anlama Gelir

PyTorch varsayılan olarak matematik işlemlerini 32 bitlik kayan noktalı sayılarla yapar. Karma hassiyet, birçok işlemi bunun yerine 16 bit kullanarak yürütür; bu daha hızlıdır ve çok daha az bellek kullanır.

Yarım Hassasiyet Neden Daha Hızlıdır

Modern GPU'larda 16 bitlik matematik işlemleri için tasarlanmış özel tensör çekirdekleri bulunur. Yarım hassiyetli verileri bunlara vermek, doğrulukta çok az kayıpla eğitimi iki veya üç kat hızlandırabilir.

16 Bitin Dezavantajı

Yarım hassiyetin aralığı çok dardır; bu nedenle çok küçük gradyan değerleri sıfıra yuvarlanabilir. Bu sessiz alt taşma, önlem almazsanız öğrenmeyi durdurur.

autocast ile Tanışın

İleri geçişinizi autocast içine alırsanız PyTorch her işlem için güvenli hassasiyeti otomatik olarak seçer. Tensörleri elle dönüştürmeniz gerekmez.

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

autocast Neleri Kapsar

Yalnızca ileri geçişi ve kaybı autocast içine yerleştirin. Geriye yayılım çağrısı bloğun dışında kalır; hassasiyeti sizin için PyTorch yönetir.

with torch.autocast(device_type='cuda'):
    out = model(x)
    loss = loss_fn(out, y)

GradScaler ile Tanışın

Bir GradScaler, backward işleminden önce kaybı büyük bir katsayıyla çarparak taşmayı düzeltir; böylece küçük gradyanlar 16 bitte kaybolmayacak kadar büyük kalır.

scaler = torch.cuda.amp.GradScaler()

Kaybı Ölçeklendirme

loss.backward() yerine scaler.scale(loss).backward() çağırın. Ölçekleyici önce kaybı büyütür; böylece ortaya çıkan gradyanlar sıfırlanıp kaybolmaz.

scaler.scale(loss).backward()

Ölçekleyiciyle Adım Atma

Optimizasyonu scaler.step ile çalıştırın. Bu işlem, güncellemeyi uygulamadan önce gradyanların ölçeğini sessizce normal boyutuna geri getirir.

scaler.step(optimizer)

Ölçek Katsayısını Güncelleme

Her adımı scaler.update() ile tamamlayın. İşlemler kararlı olduğunda ölçeği büyütür, bir taşma algılarsa küçültür.

scaler.update()

Tam AMP Adımı

Bu çağrılar birlikte tek ve düzenli bir AMP yinelemesi oluşturur: gradyanları sıfırlayın, autocast ile ileri geçiş yapın, ölçeklenmiş backward işlemini çalıştırın, scaler adımını atın ve ardından güncelleyin.

optimizer.zero_grad()
with torch.autocast(device_type='cuda'):
    loss = loss_fn(model(x), y)
scaler.scale(loss).backward()
scaler.step(optimizer)
scaler.update()

Ne Zaman Kullanılmalı

Karma duyarlılık, büyük toplu işlerle güncel bir NVIDIA GPU üzerinde çok etkilidir. Standart bir CPU'da faydası azdır; bu nedenle onu gerçek eğitim çalıştırmalarına saklayın.

Hızlı Kontrol

autocast özelliğini etkinleştirdiniz, ancak küçük gradyanlar kaybolmaya devam ediyor. Bunu hangi araç düzeltir?

Özet

Hızlı 16 bitlik matematik için ileri geçişi autocast içine alın; ardından küçük gradyanların korunması için ölçekleme, adım atma ve güncelleme işlemlerinde GradScaler kullanın. ⚡

Başlamak ücretsiz

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

“autocast ve GradScaler ile Karma Hassasiyet” dersi ücretsiz mi?

Evet — “autocast ve GradScaler ile Karma Hassasiyet” 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.

“autocast ve GradScaler ile Karma Hassasiyet” dersinde ne öğreneceğim?

Büyük hız kazanımları için yarım hassasiyetli matematik. 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 1. dersidir.

“autocast ve GradScaler ile Karma Hassasiyet” 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