Ultralytics YOLO27:
Ultralytics Sözlüğüne dön

Gradient Accumulation

Gradyan biriktirmenin sınırlı GPU belleğinde daha büyük etkin yığın boyutlarını nasıl mümkün kıldığını, pratik PyTorch ve Ultralytics YOLO eğitim rehberliğiyle öğren.

Gradyan biriktirme, tek bir model ağırlığı güncellemesi yapmadan önce mikro gruplar olarak adlandırılan birkaç küçük gruptan gelen gradyanları toplayan bir eğitim tekniğidir. Kullanılabilir GPU belleği tam grubu aynı anda barındıramadığında, daha büyük bir batch boyutuyla eğitim yapmayı yaklaşık olarak taklit eder. Bu sayede model mimarisini değiştirmeden veya girdi çözünürlüğünü azaltmadan, bellek açısından yoğun gradyan inişi uygulanabilir hale gelir.

Gradyan Biriktirme Nasıl Çalışır#

Normal eğitim sırasında her grup üç ana adımı izler: kaybı hesaplamak, gradyanları hesaplamak için geri yayılımı kullanmak ve optimize edicinin model ağırlıklarını güncellemesini sağlamak. Ardından bir sonraki gruptan önce gradyanlar temizlenir.

Gradyan biriktirme, optimize edici güncellemesini geciktirir. Her mikro grup ileri ve geri yayılım gerçekleştirir, ancak gradyanları bellekte kalır ve sonraki mikro gruplardan gelen gradyanlara eklenir. Bu davranış, her parametrenin gradyan alanındaki değerleri biriktiren PyTorch backward işleminin doğal bir sonucudur.

Yapılandırılan biriktirme adımı sayısından sonra:

  1. Optimize edici model ağırlıklarını günceller.
  2. Gradyanlar, Optimizer.zero_grad gibi bir işlem kullanılarak sıfırlanır.
  3. Yeni bir biriktirme penceresi başlar.

Etkin batch boyutu şu şekildedir:

microbatch size x accumulation steps x number of training devices

Örneğin, 8 adım boyunca biriktirilen 4 görüntülük bir mikro grup, tek bir GPU üzerinde yaklaşık 32 görüntülük bir grup gibi davranır. Dört GPU ile küresel etkin batch boyutu 128 olur.

Bellek, Hız ve Öğrenme Üzerindeki Etkiler#

Gradyan biriktirme, ağdan aynı anda yalnızca bir mikro grup geçirildiği için aktivasyonlar için gereken tepe bellek miktarını azaltır. Model parametreleri, gradyanlar veya optimize edici durumu tarafından kullanılan belleği önemli ölçüde azaltmaz.

Ayrıca genellikle eğitimi hızlandırmaz. Sekiz mikro grubun işlenmesi hâlâ sekiz ileri ve geri yayılım geçişi gerektirir ve daha küçük gruplar GPU'yu daha verimsiz kullanabilir. Temel fayda, istenen etkin batch boyutunu sınırlı belleğe sığdırmaktır. İkincil bir fayda, dağıtık eğitim sırasında ortaya çıkabilir; burada uygulamalar, DistributedDataParallel no_sync gibi özellikleri kullanarak biriktirme penceresinin sonuna kadar gradyanları senkronize etmekten kaçınabilir.

Elle yapılan bir uygulama, ortaya çıkan gradyanın toplam yerine ortalamayı temsil etmesi için genellikle her mikro grubun kaybını biriktirme adımı sayısına böler. Üst düzey eğiticiler normalleştirmeyi otomatik olarak gerçekleştirebilir; bu nedenle ek ölçekleme uygulamak hatalı güncellemelere yol açabilir.

Biriktirme, gerçek büyük bir grubu yaklaşık olarak taklit edebilir, ancak sonuçlar her zaman aynı olmaz. Batch normalizasyonu istatistikleri tek tek mikro gruplardan hesaplanırken stokastik işlemler ve kayan nokta işlem sıralaması da farklılıklara neden olabilir. Bu nedenle öğrenme oranının otomatik olarak ölçeklendirilmek yerine doğrulanması gerekebilir.

İlgili Teknikler ve Temel Farklar#

Gradyan biriktirme, diğer bellek veya kararlılık teknikleriyle sık sık karıştırılır:

  • Gradyan kontrol noktası oluşturma, geri yayılım sırasında seçilen ileri geçiş işlemlerini yeniden hesaplayarak aktivasyon belleğini azaltır. PyTorch aktivasyon kontrol noktası oluşturma belgeleri, hesaplama ile bellek arasındaki bu dengeyi açıklar. Biriktirme ise büyük bir grubu daha küçük mikro gruplara böler.
  • Karma hassasiyet, seçilen işlemleri daha düşük hassiyetli veri türleriyle depolar veya hesaplar. Belleği azaltabilir ve aktarım hızını artırabilir; biriktirme ise optimize edicinin ne sıklıkta güncelleme yaptığını değiştirir. Bu teknikler, doğru otomatik karma hassasiyet biriktirme iş akışı izlenerek birlikte kullanılabilir.
  • Gradyan kırpma, olağan dışı büyüklükteki güncellemelerden kaynaklanan kararsızlığı azaltmak için gradyan büyüklüğünü sınırlar. Daha büyük bir etkin batch oluşturmaz. Biriktirmeyle birlikte kullanıldığında kırpma normalde gradyan tamamen biriktirildikten sonra, clip_grad_norm gibi bir işlem kullanılarak gerçekleştirilmelidir.

Gerçek Dünya Uygulamaları#

Yüksek çözünürlüklü tıbbi görüntü segmentasyonunda 12 GB GPU, aynı anda yalnızca iki büyük taramayı sığdırabilir. Gradyanların sekiz mikro grup boyunca biriktirilmesi, küçük anatomik yapıları tanımlamak için gereken çözünürlüğü korurken 16'lık etkin bir batch oluşturur. Bunun karşılığında optimize edici güncellemeleri arasındaki süre uzar.

Havadan nesne algılama için bir mühendislik ekibi, cihaz başına altı görüntü ve dört biriktirme adımıyla dört GPU üzerinde eğitim yapabilir. Etkin küresel batch 96 görüntüdür. Bu, her cihazı bellek sınırı içinde tutarken çok sayıda küçük araç veya bina içeren sahnelerdeki güncellemeleri kararlı hâle getirebilir. Ekipler bulut deneylerini, veri kümelerini ve eğitim çalıştırmalarını Ultralytics Platform bulut eğitimi üzerinden yönetebilir.

Ultralytics YOLO ile Gradyan Biriktirme#

Ultralytics model eğitim iş akışı, biriktirme davranışını fiziksel batch ve nominal nbs ayarlarından türetir. batch=4 ve nbs=64 ile eğitici, optimize edici güncellemelerini birden fazla mikro grup boyunca erteleyerek nominal batch boyutunu 64 olarak hedefler.

from ultralytics import YOLO

# Load a pretrained YOLO26 detection model
model = YOLO("yolo26n.pt")

# Use a small physical batch and a larger nominal batch
results = model.train(
    data="coco8.yaml",
    epochs=10,
    batch=4,
    nbs=64,
)

Üst düzey eğitici; geri yayılımı, biriktirmeyi, optimize edici adımlarını ve gradyanların temizlenmesini yönetir. Davranışı Ultralytics BaseTrainer başvurusunda belgelenmiştir. Uygulamada güvenilir şekilde sığan en büyük mikro grubu seç, hedeflenen etkin batch boyutunu hesapla ve biriktirme adımlarını, öğrenme oranını veya cihaz sayısını değiştirirken doğrulama sonuçlarını karşılaştır.

Explore solutions

Hava görüntüleri için bilgisayarlı görü

Hava görüntüleri için bilgisayarlı görü

Ultralytics YOLO ile tarım, su ürünleri yetiştiriciliği, çevresel izleme, koruma ve coğrafi uzaktan algılama için drone ve hava görüntülerini gerçek zamanlı içgörülere dönüştür.
Daha fazla bilgi edin
Havacılıkta bilgisayarlı görü

Havacılıkta bilgisayarlı görü

Ultralytics YOLO modelleri ile havadan izlemeye yapay zeka tabanlı görü kazandır. Bilgisayarlı görü çözümleriyle dronları, havacılık iş akışlarını, çevre koruma ve jeosansiyel endüstrilerini güçlendir.
Daha fazla bilgi edin

Ultralytics YOLO modelleri ile her alanı koru. Yapay zeka tabanlı görü; çevre izleme, tehdit tespiti, plaka tanıma ve iş yeri güvenliğini destekler.
Daha fazla bilgi edin
Robotikte bilgisayarlı görü

Robotikte bilgisayarlı görü

Ultralytics YOLO modelleriyle daha akıllı makineler geliştir. Robotikte Vision AI; otonom navigasyonu, algılamayı, nesne takibini ve gerçek zamanlı kontrolü mümkün kılar.
Daha fazla bilgi edin
Lojistikte bilgisayarlı görü

Lojistikte bilgisayarlı görü

Ultralytics YOLO modelleriyle lojistiği kolaylaştır. Vision AI; paket denetimini, ayırmayı, araç takibini ve gerçek zamanlı depo güvenliği izlemeyi mümkün kılar.
Daha fazla bilgi edin
Perakendede bilgisayarlı görü

Perakendede bilgisayarlı görü

Ultralytics YOLO modelleriyle perakendeyi yeniden tasarla. Vision AI; envanter takibini, raf izlemeyi, sıra yönetimini ve daha akıllı müşteri içgörülerini destekler.
Daha fazla bilgi edin
Sağlık hizmetlerinde bilgisayarlı görü

Sağlık hizmetlerinde bilgisayarlı görü

Ultralytics YOLO modelleriyle sağlık hizmetleri çözümleri geliştir. Sağlık hizmetlerindeki Vision AI; daha hızlı tıbbi görüntülemeyi, daha akıllı tanıyı ve hasta takibini mümkün kılar.
Daha fazla bilgi edin
Üretimde bilgisayarlı görü

Üretimde bilgisayarlı görü

Ultralytics YOLO modelleriyle üretimi optimize et. Vision AI; kalite kontrolünü, kusur tespitini, PPE uyumluluğunu ve montaj hattı otomasyonunu güçlendirir.
Daha fazla bilgi edin
Otomotivde bilgisayarlı görü

Otomotivde bilgisayarlı görü

Ultralytics YOLO modelleriyle otomotivde bilgisayarlı görü uygulayın. Görsel yapay zekâ, daha akıllı yollar için yol güvenliğini, sürücü yardımını ve araç otomasyonunu geliştirir.
Daha fazla bilgi edin
Tarımda bilgisayarlı görü

Tarımda bilgisayarlı görü

Ultralytics YOLO modelleriyle akıllı tarıma görsel yapay zekâ taşıyın. Daha yüksek ve akıllı verim için ürün izlemeye, hayvan takibine ve hassas tarıma güç verin.
Daha fazla bilgi edin
Hava görüntüleri için bilgisayarlı görü

Hava görüntüleri için bilgisayarlı görü

Ultralytics YOLO ile tarım, su ürünleri yetiştiriciliği, çevresel izleme, koruma ve coğrafi uzaktan algılama için drone ve hava görüntülerini gerçek zamanlı içgörülere dönüştür.
Daha fazla bilgi edin
Havacılıkta bilgisayarlı görü

Havacılıkta bilgisayarlı görü

Ultralytics YOLO modelleri ile havadan izlemeye yapay zeka tabanlı görü kazandır. Bilgisayarlı görü çözümleriyle dronları, havacılık iş akışlarını, çevre koruma ve jeosansiyel endüstrilerini güçlendir.
Daha fazla bilgi edin

Ultralytics YOLO modelleri ile her alanı koru. Yapay zeka tabanlı görü; çevre izleme, tehdit tespiti, plaka tanıma ve iş yeri güvenliğini destekler.
Daha fazla bilgi edin
Robotikte bilgisayarlı görü

Robotikte bilgisayarlı görü

Ultralytics YOLO modelleriyle daha akıllı makineler geliştir. Robotikte Vision AI; otonom navigasyonu, algılamayı, nesne takibini ve gerçek zamanlı kontrolü mümkün kılar.
Daha fazla bilgi edin
Lojistikte bilgisayarlı görü

Lojistikte bilgisayarlı görü

Ultralytics YOLO modelleriyle lojistiği kolaylaştır. Vision AI; paket denetimini, ayırmayı, araç takibini ve gerçek zamanlı depo güvenliği izlemeyi mümkün kılar.
Daha fazla bilgi edin
Perakendede bilgisayarlı görü

Perakendede bilgisayarlı görü

Ultralytics YOLO modelleriyle perakendeyi yeniden tasarla. Vision AI; envanter takibini, raf izlemeyi, sıra yönetimini ve daha akıllı müşteri içgörülerini destekler.
Daha fazla bilgi edin
Sağlık hizmetlerinde bilgisayarlı görü

Sağlık hizmetlerinde bilgisayarlı görü

Ultralytics YOLO modelleriyle sağlık hizmetleri çözümleri geliştir. Sağlık hizmetlerindeki Vision AI; daha hızlı tıbbi görüntülemeyi, daha akıllı tanıyı ve hasta takibini mümkün kılar.
Daha fazla bilgi edin
Üretimde bilgisayarlı görü

Üretimde bilgisayarlı görü

Ultralytics YOLO modelleriyle üretimi optimize et. Vision AI; kalite kontrolünü, kusur tespitini, PPE uyumluluğunu ve montaj hattı otomasyonunu güçlendirir.
Daha fazla bilgi edin
Otomotivde bilgisayarlı görü

Otomotivde bilgisayarlı görü

Ultralytics YOLO modelleriyle otomotivde bilgisayarlı görü uygulayın. Görsel yapay zekâ, daha akıllı yollar için yol güvenliğini, sürücü yardımını ve araç otomasyonunu geliştirir.
Daha fazla bilgi edin
Tarımda bilgisayarlı görü

Tarımda bilgisayarlı görü

Ultralytics YOLO modelleriyle akıllı tarıma görsel yapay zekâ taşıyın. Daha yüksek ve akıllı verim için ürün izlemeye, hayvan takibine ve hassas tarıma güç verin.
Daha fazla bilgi edin
Hava görüntüleri için bilgisayarlı görü

Hava görüntüleri için bilgisayarlı görü

Ultralytics YOLO ile tarım, su ürünleri yetiştiriciliği, çevresel izleme, koruma ve coğrafi uzaktan algılama için drone ve hava görüntülerini gerçek zamanlı içgörülere dönüştür.
Daha fazla bilgi edin
Havacılıkta bilgisayarlı görü

Havacılıkta bilgisayarlı görü

Ultralytics YOLO modelleri ile havadan izlemeye yapay zeka tabanlı görü kazandır. Bilgisayarlı görü çözümleriyle dronları, havacılık iş akışlarını, çevre koruma ve jeosansiyel endüstrilerini güçlendir.
Daha fazla bilgi edin

Ultralytics YOLO modelleri ile her alanı koru. Yapay zeka tabanlı görü; çevre izleme, tehdit tespiti, plaka tanıma ve iş yeri güvenliğini destekler.
Daha fazla bilgi edin
Robotikte bilgisayarlı görü

Robotikte bilgisayarlı görü

Ultralytics YOLO modelleriyle daha akıllı makineler geliştir. Robotikte Vision AI; otonom navigasyonu, algılamayı, nesne takibini ve gerçek zamanlı kontrolü mümkün kılar.
Daha fazla bilgi edin
Lojistikte bilgisayarlı görü

Lojistikte bilgisayarlı görü

Ultralytics YOLO modelleriyle lojistiği kolaylaştır. Vision AI; paket denetimini, ayırmayı, araç takibini ve gerçek zamanlı depo güvenliği izlemeyi mümkün kılar.
Daha fazla bilgi edin
Perakendede bilgisayarlı görü

Perakendede bilgisayarlı görü

Ultralytics YOLO modelleriyle perakendeyi yeniden tasarla. Vision AI; envanter takibini, raf izlemeyi, sıra yönetimini ve daha akıllı müşteri içgörülerini destekler.
Daha fazla bilgi edin
Sağlık hizmetlerinde bilgisayarlı görü

Sağlık hizmetlerinde bilgisayarlı görü

Ultralytics YOLO modelleriyle sağlık hizmetleri çözümleri geliştir. Sağlık hizmetlerindeki Vision AI; daha hızlı tıbbi görüntülemeyi, daha akıllı tanıyı ve hasta takibini mümkün kılar.
Daha fazla bilgi edin
Üretimde bilgisayarlı görü

Üretimde bilgisayarlı görü

Ultralytics YOLO modelleriyle üretimi optimize et. Vision AI; kalite kontrolünü, kusur tespitini, PPE uyumluluğunu ve montaj hattı otomasyonunu güçlendirir.
Daha fazla bilgi edin
Otomotivde bilgisayarlı görü

Otomotivde bilgisayarlı görü

Ultralytics YOLO modelleriyle otomotivde bilgisayarlı görü uygulayın. Görsel yapay zekâ, daha akıllı yollar için yol güvenliğini, sürücü yardımını ve araç otomasyonunu geliştirir.
Daha fazla bilgi edin
Tarımda bilgisayarlı görü

Tarımda bilgisayarlı görü

Ultralytics YOLO modelleriyle akıllı tarıma görsel yapay zekâ taşıyın. Daha yüksek ve akıllı verim için ürün izlemeye, hayvan takibine ve hassas tarıma güç verin.
Daha fazla bilgi edin

Yapay zekânın geleceğini birlikte inşa edelim!

Makine öğreniminin geleceğiyle yolculuğuna başla