0Pricing
Learn AI with Python · Ders

Hugging Face Accelerate ile Verimli Eğitim

accelerate.Accelerator, cihazdan bağımsız eğitim, gradyan biriktirme, DeepSpeed entegrasyonu.

Hugging Face Accelerate ile Verimli Eğitim, CoddyKit'te ücretsiz bir Learn AI with Python 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, Learn AI with Python öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Learn AI with Python kursu toplamda 4 dersten oluşur.

Tekdüze Kod Sorunu

Cihaz yerleştirme, DDP kurulumu ve karma hassasiyeti elle yazmak uzun ve hataya açıktır. Hugging Face Accelerate, bu tekdüze kodu ortadan kaldırır: aynı betik, kod değişikliği olmadan CPU'da, tek GPU'da, birçok GPU'da veya hatta TPU'larda çalışır.

Accelerator Nesnesi

Kütüphanenin merkezinde Accelerator bulunur. Betiğinizin başında bir tane oluşturursunuz; ortamı algılar ve cihazları, dağıtık kurulumu ve hassasiyeti sizin için yönetir.

from accelerate import Accelerator

accelerator = Accelerator()
device = accelerator.device

Nesneleri Hazırlama

accelerator.prepare, modelinizi, iyileştiricinizi ve veri yükleyicinizi alarak mevcut kuruluma göre yapılandırılmış sürümlerini döndürür: doğru cihaza taşınmış, gerektiğinde DDP içine sarılmış ve veri yükleyicisi süreçler arasında bölümlenmiş olur.

model, optimizer, dataloader = accelerator.prepare(
    model, optimizer, dataloader
)

prepare Ne Yapar

Arka planda prepare, normalde elle yapacağınız işleri yönetir: cihaz aktarımını, DDP ile sarmalamayı, dağıtık örneklemeyi ve karma hassasiyet kancalarının eklenmesini. Tek bir çağrı, düzinelerce satırın yerini alır.

Elle .to(device) Yok

Hazırlanmış veri yükleyicisi zaten doğru cihazdaki yığınları ürettiği için elle yazılan x.to(device) çağrılarını kaldırırsınız. Aynı döngü her yerde çalışır.

for batch in dataloader:
    inputs, labels = batch   # already on device
    outputs = model(inputs)
    loss = loss_fn(outputs, labels)

accelerator.backward

loss.backward() yerine accelerator.backward(loss) çağrısını yapınız. Bu çağrı, dağıtık ve karma hassasiyetli eğitim için doğru yolu (gradyan ölçekleme dâhil) otomatik olarak kullanır.

optimizer.zero_grad()
accelerator.backward(loss)
optimizer.step()

Tam Bir Eğitim Döngüsü

Eksiksiz Accelerate döngüsü dikkat çekici ölçüde temizdir ve cihazdan bağımsızdır.

accelerator = Accelerator()
model, optimizer, dataloader = accelerator.prepare(model, optimizer, dataloader)

for epoch in range(epochs):
    for batch in dataloader:
        inputs, labels = batch
        outputs = model(inputs)
        loss = loss_fn(outputs, labels)
        optimizer.zero_grad()
        accelerator.backward(loss)
        optimizer.step()

Yapılandırma ile Karma Hassasiyet

Koda dokunmadan, Accelerator'ı oluştururken veya CLI yapılandırması üzerinden ayarlayarak FP16/BF16'yı etkinleştirirsiniz. Accelerate daha sonra autocast ve gradyan ölçeklemeyi sizin için yönetir.

accelerator = Accelerator(mixed_precision="fp16")

Kaydetme için unwrap_model

prepare sonrasında model DDP içine sarılmış olabilir. Kaydetmeden önce accelerator.unwrap_model(model) çağrısını yaparak temel, sade modeli elde ediniz; böylece denetim noktası temiz ve taşınabilir olur.

unwrapped = accelerator.unwrap_model(model)
accelerator.save(unwrapped.state_dict(), "model.pt")

Cihazlar Arasında Çalıştırma

Aynı betiği accelerate launch komutuyla çalıştırırsınız. Bu komut, yapılandırmanızı (işlem sayısı, makine sayısı, hassasiyet) okur ve süreçleri başlatır; tek GPU, çoklu GPU ve çok düğümlü durumları saydam biçimde yönetir.

accelerate config        # one-time interactive setup
accelerate launch train.py

Accelerate'in Avantajları

Accelerate, saydam çoklu cihaz yönetimi sağlar: tek bir temiz döngü yazar ve kodu yeniden yazmadan bir dizüstü bilgisayarın CPU'sundan çok düğümlü bir GPU kümesine ölçeklenirsiniz. Daha önce öğrendiğiniz DDP ve AMP kavramlarının üzerine kuruludur; yalnızca altyapı ayrıntılarını gizler.

Hızlı Kontrol

Accelerate bilginizi sınayın.

Özet

Hugging Face Accelerate ile verimli eğitimi öğrendiniz:

  • Accelerator() ortamı algılar ve yönetir
  • acc.prepare(model, optimizer, dataloader) mevcut cihazlar için her şeyi birbirine bağlar
  • acc.backward(loss) dağıtık ve karma hassasiyetli geri yayılımı yönetir
  • acc.unwrap_model kayıt için yalın bir model sağlar
  • Tek bir betik, CPU'dan çok düğümlü GPU'ya saydam biçimde ölçeklenir

Sıkça Sorulan Sorular

“Hugging Face Accelerate ile Verimli Eğitim” dersi ücretsiz mi?

Evet — “Hugging Face Accelerate ile Verimli Eğitim” 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 Learn AI with Python kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Learn AI with Python kursu toplamda 4 dersten oluşur.

“Hugging Face Accelerate ile Verimli Eğitim” dersinde ne öğreneceğim?

accelerate.Accelerator, cihazdan bağımsız eğitim, gradyan biriktirme, DeepSpeed entegrasyonu. Learn AI with Python 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.

Learn AI with Python öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Learn AI with Python, 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.

“Hugging Face Accelerate ile Verimli Eğitim” 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 Learn AI with Python dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Learn AI with Python 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. DataParallel ile Çoklu GPU Eğitimi
  2. DistributedDataParallel (DDP)
  3. AMP ile Karışık Hassasiyet Eğitimi
  4. Hugging Face Accelerate ile Verimli Eğitim
← Learn AI with Python Sayfasına Dön