Ultralytics YOLO27:
YOLO'yu lisansla
Ultralytics Sözlüğüne dön

Gradient Checkpointing

Gradyan kontrol noktası oluşturma, ileri geçiş sırasında yalnızca bazı aktivasyonları kaydeder ve geriye yayılım sırasında geri kalanları yeniden hesaplar; daha az bellek kullanmak için ek hesaplama maliyetini göze alır.

Gradyan kontrol noktası oluşturma, ileri geçişteki yalnızca seçili ara aktivasyonları saklayan ve diğerlerini geri yayılım sırasında yeniden hesaplayan, bellek tasarrufu sağlayan bir eğitim tekniğidir. Aktivasyon kontrol noktası oluşturma olarak da adlandırılan bu yöntem, en yüksek bellek kullanımını azaltmak karşılığında ek hesaplama gerektirir. Adına rağmen teknik, parametre gradyanları veya model dosyaları yerine aktivasyonları kontrol noktalarına kaydeder; bu nedenle aktivasyon tensörleri sinir ağının kullanılabilir GPU belleğine sığmasını engellediğinde özellikle yararlıdır.

Gradyan Kontrol Noktası Oluşturma Nasıl Çalışır?#

Standart bir ileri geçiş sırasında sinir ağı, aktivasyonlar adı verilen ara tensörleri hesaplar. Otomatik türev sistemi, PyTorch otomatik türev mekaniklerinde açıklandığı üzere, daha sonra gradyanları hesaplamak için gereken aktivasyonları tutar. Derin ağlar, büyük gruplar, yüksek çözünürlüklü görüntüler ve uzun giriş dizileri, kaydedilen bu tensörlerin önemli miktarda bellek tüketmesine yol açabilir.

Gradyan kontrol noktası oluşturma, ağı bölümlere ayırır:

  1. İleri geçişte seçilen bölümlerin girdileri veya sınır aktivasyonları saklanır.
  2. Bu bölümlerdeki diğer ara aktivasyonlar atılır.
  3. Geri geçiş sırasında, eksik değerleri yeniden oluşturmak için kontrol noktası eklenen her bölüm yeniden ileri çalıştırılır.
  4. Yeniden oluşturulan aktivasyonlar, gradyanları hesaplamak için hemen kullanılır.

PyTorch aktivasyon kontrol noktası API'si bu davranışı torch.utils.checkpoint üzerinden sunar. Benzer kavramlar JAX gradyan kontrol noktası oluşturma ve yeniden materyalleştirme ile TensorFlow bant kontrol noktası oluşturma biçiminde de kullanılır.

Kontrol noktalarının yerleşimi ödünleşimi belirler. Daha fazla bölüme kontrol noktası eklemek genellikle daha çok bellek kazandırır ancak daha fazla işlemin yinelenmesine yol açar. Aktivasyon ağırlıklı blokların çevresinde seçici yerleşim, tüm ağı yeniden hesaplamaktan daha iyi bir denge sağlayabilir.

Gradyan kontrol noktası oluşturma genellikle model parametrelerini, gradyanları ve iyileştirici durumlarını değiştirmez. Öncelikli hedefi aktivasyon belleğidir ve bazı ileri hesaplamalar iki kez çalıştırıldığından eğitimi yavaşlatır. Kesin sonuç mimariye, kontrol noktası sınırlarına, grup şekline ve donanıma bağlıdır.

Bu yöntem, ilgili birkaç teknikten farklıdır:

  • Gradyan biriktirme, model ağırlıklarını güncellemeden önce birden fazla mikro grubu işler ve tüm örnekleri aynı anda yüklemeden daha büyük bir etkin grup oluşturur. Gradyan kontrol noktası oluşturma ise her mikro grup için tutulan aktivasyonları azaltır.
  • Karma hassasiyet, seçili işlemler için daha düşük hassasiyetli veri türleri kullanır. PyTorch otomatik karma hassasiyet iş akışı, belleği azaltıp uyumlu işlemleri hızlandırabilir; kontrol noktası oluşturma ise bilerek ek hesaplama gerektirir.
  • Grup boyutunu azaltma, birlikte işlenen örnek sayısını düşürerek bellek kullanımını azaltır. Kontrol noktası oluşturma daha büyük bir grubun veya girdi çözünürlüğünün uygulanabilir olmasını sağlayabilir.
  • Eğitim kontrol noktaları, kurtarma veya daha sonraki çıkarım için ağırlıkları ve iyileştirici durumunu kaydeder. PyTorch model kontrol noktası kılavuzu, aktivasyonları yeniden hesaplamayla ilgisi olmayan bu kalıcılık mekanizmasını açıklar.

Kontrol noktası eklenmiş kod, özgün ve yeniden hesaplanan ileri geçişleri arasında işlevsel açıdan tutarlı olmalıdır. Kontrol noktası eklenmiş bir bölgedeki değişebilir durum, cihazlar arası aktarımlar veya denetlenmeyen rastgelelik hatalara ya da yanlış gradyanlara yol açabilir. Kod çözücü tarzı Transformer'larda, önbelleğe alınmış çıkarım durumu ileri geçiş grafiğinin yeniden oluşturulmasıyla çakışabileceğinden, kontrol noktası eklenmiş eğitim sırasında anahtar-değer önbelleğinin devre dışı bırakılması da gerekebilir.

PyTorch Örneği#

Aşağıdaki örnek, tek bir eğitim adımında bellek yoğun bir bloğa kontrol noktası ekler:

import torch
from torch import nn
from torch.utils.checkpoint import checkpoint

torch.manual_seed(0)

block = nn.Sequential(
    nn.Linear(1024, 4096),
    nn.ReLU(),
    nn.Linear(4096, 1024),
)
optimizer = torch.optim.AdamW(block.parameters())
inputs = torch.randn(8, 1024, requires_grad=True)
targets = torch.zeros_like(inputs)

optimizer.zero_grad(set_to_none=True)
outputs = checkpoint(block, inputs, use_reentrant=False)
loss = nn.functional.mse_loss(outputs, targets)
loss.backward()
optimizer.step()

Yalnızca bloğun girdileri ve gereken sınır bilgileri tutulur; bloğun iç aktivasyonları loss.backward() sırasında yeniden oluşturulur. Gerçek projelerde, PyTorch en yüksek ayrılmış GPU belleği gibi bir ölçüm kullanarak kontrol noktası oluşturma özelliği açık ve kapalı çalıştırmaları karşılaştır.

Gerçek Dünya Uygulamaları#

  • Yüksek çözünürlüklü bilgisayarlı görü: Tıbbi bölütleme, hava görüntülerinde algılama ve endüstriyel inceleme; özellik haritaları model ağırlıklarından daha fazla bellek tüketen büyük görüntülerle eğitim gerektirebilir. Seçilmiş omurga aşamalarına kontrol noktası eklemek, girdileri agresif biçimde küçültmek yerine görüntü çözünürlüğünü koruyabilir veya grup başına daha fazla örneğe olanak sağlayabilir.

  • Uzun dizilerle Transformer eğitimi: Dizi uzunluğu ve katman sayısı arttıkça aktivasyon depolama gereksinimi hızla büyür. Transformer bloklarını yeniden hesaplamak, aynı hızlandırıcıda daha uzun bağlamların veya daha büyük mikro grupların belleğe sığmasını sağlayabilir. NVIDIA aktivasyon yeniden hesaplama kılavuzu, Transformer katmanları için tam ve seçici yeniden hesaplamayı gösterir.

Uygulamaya Yönelik Kılavuz#

Profil oluşturma sonucunda belleğe parametreler veya iyileştirici durumu yerine aktivasyonların hâkim olduğu görülüyorsa gradyan kontrol noktası oluşturmayı kullan. Büyük, yinelenen bloklarla başla ve kapsamı genişletmeden önce en yüksek bellek kullanımını, yineleme süresini ve doğrulama davranışını kıyasla.

Belgelenmiş Ultralytics YOLO eğitim yapılandırmalarında ilk aşamadaki bellek denetimleri arasında otomatik karma hassasiyet, görüntü boyutu ve fiziksel grup boyutu bulunur. Ultralytics AutoBatch başvurusu, kullanılabilir GPU belleğine göre otomatik grup seçimini açıklar. Yerel donanım yetersiz kaldığında Ultralytics Platform bulut eğitimi, yönetilen eğitim çalıştırmaları için yapılandırılabilir bulut GPU'ları sunar. Özel bir PyTorch mimarisinde aktivasyon belleğinin daha ayrıntılı yönetilmesi gerektiğinde gradyan kontrol noktası oluşturma bu denetimleri tamamlayabilir.

Explore solutions

Sporda bilgisayarlı görü

Sporda bilgisayarlı görü

Ultralytics YOLO'nun oyuncu ve top takibi, performans analitiği, antrenörlük içgörüleri ve sporcu rehabilitasyonuyla spor alanında görsel yapay zekâyı nasıl güçlendirdiğini keşfet.
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 drone ve hava görüntülerini tarım, su ürünleri yetiştiriciliği, çevresel izleme, koruma ve jeo-uzamsal analiz için 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 modelleriyle görüntü yapay zekâsını hava izlemeye taşı. Drone'lara, havacılık iş akışlarına, çevresel korumaya ve jeo-uzamsal sektörlere bilgisayarlı görü çözümleriyle güç kat.
Daha fazla bilgi edin
Güvenlikte bilgisayarlı görü

Güvenlikte bilgisayarlı görü

Ultralytics YOLO modelleriyle her sahayı koru. Görsel yapay zekâ; ç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ı makinelere güç ver. Robotikte görsel yapay zekâ; otonom navigasyonu, algılamayı, nesne takibini ve gerçek zamanlı kontrolü destekler.
Daha fazla bilgi edin
Lojistikte bilgisayarlı görü

Lojistikte bilgisayarlı görü

Ultralytics YOLO modelleriyle lojistiği kolaylaştır. Görüntü yapay zekâsı; paket denetimini, ayrıştı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. Görüntü yapay zekâsı; envanter takibini, raf izlemeyi, kuyruk yönetimini ve daha kapsamlı müşteri analizlerini mümkün kılar.
Daha fazla bilgi edin
Sağlık hizmetlerinde bilgisayarlı görü

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

Ultralytics YOLO modelleriyle sağlık çözümleri geliştir. Sağlık hizmetlerinde görüntü yapay zekâsı; daha hızlı tıbbi görüntüleme, daha akıllı tanı 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. Görsel yapay zekâ; kalite kontrolünü, kusur tespitini, kişisel koruyucu donanım uyumunu ve montaj hattı otomasyonunu destekler.
Daha fazla bilgi edin
Otomotivde bilgisayarlı görü

Otomotivde bilgisayarlı görü

Ultralytics YOLO modelleriyle otomotivde bilgisayarlı görüden yararlan. Görsel yapay zekâ; daha akıllı yollar için yol güvenliğini, sürüş desteğini ve araç otomasyonunu ileri taşır.
Daha fazla bilgi edin
Tarımda bilgisayarlı görü

Tarımda bilgisayarlı görü

Ultralytics YOLO modelleriyle akıllı tarıma görüntü yapay zekâsı kazandır. Daha yüksek ve akıllı verim için mahsul izleme, hayvan takibi ve hassas tarımı destekle.
Daha fazla bilgi edin
Sporda bilgisayarlı görü

Sporda bilgisayarlı görü

Ultralytics YOLO'nun oyuncu ve top takibi, performans analitiği, antrenörlük içgörüleri ve sporcu rehabilitasyonuyla spor alanında görsel yapay zekâyı nasıl güçlendirdiğini keşfet.
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 drone ve hava görüntülerini tarım, su ürünleri yetiştiriciliği, çevresel izleme, koruma ve jeo-uzamsal analiz için 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 modelleriyle görüntü yapay zekâsını hava izlemeye taşı. Drone'lara, havacılık iş akışlarına, çevresel korumaya ve jeo-uzamsal sektörlere bilgisayarlı görü çözümleriyle güç kat.
Daha fazla bilgi edin
Güvenlikte bilgisayarlı görü

Güvenlikte bilgisayarlı görü

Ultralytics YOLO modelleriyle her sahayı koru. Görsel yapay zekâ; ç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ı makinelere güç ver. Robotikte görsel yapay zekâ; otonom navigasyonu, algılamayı, nesne takibini ve gerçek zamanlı kontrolü destekler.
Daha fazla bilgi edin
Lojistikte bilgisayarlı görü

Lojistikte bilgisayarlı görü

Ultralytics YOLO modelleriyle lojistiği kolaylaştır. Görüntü yapay zekâsı; paket denetimini, ayrıştı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. Görüntü yapay zekâsı; envanter takibini, raf izlemeyi, kuyruk yönetimini ve daha kapsamlı müşteri analizlerini mümkün kılar.
Daha fazla bilgi edin
Sağlık hizmetlerinde bilgisayarlı görü

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

Ultralytics YOLO modelleriyle sağlık çözümleri geliştir. Sağlık hizmetlerinde görüntü yapay zekâsı; daha hızlı tıbbi görüntüleme, daha akıllı tanı 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. Görsel yapay zekâ; kalite kontrolünü, kusur tespitini, kişisel koruyucu donanım uyumunu ve montaj hattı otomasyonunu destekler.
Daha fazla bilgi edin
Otomotivde bilgisayarlı görü

Otomotivde bilgisayarlı görü

Ultralytics YOLO modelleriyle otomotivde bilgisayarlı görüden yararlan. Görsel yapay zekâ; daha akıllı yollar için yol güvenliğini, sürüş desteğini ve araç otomasyonunu ileri taşır.
Daha fazla bilgi edin
Tarımda bilgisayarlı görü

Tarımda bilgisayarlı görü

Ultralytics YOLO modelleriyle akıllı tarıma görüntü yapay zekâsı kazandır. Daha yüksek ve akıllı verim için mahsul izleme, hayvan takibi ve hassas tarımı destekle.
Daha fazla bilgi edin
Sporda bilgisayarlı görü

Sporda bilgisayarlı görü

Ultralytics YOLO'nun oyuncu ve top takibi, performans analitiği, antrenörlük içgörüleri ve sporcu rehabilitasyonuyla spor alanında görsel yapay zekâyı nasıl güçlendirdiğini keşfet.
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 drone ve hava görüntülerini tarım, su ürünleri yetiştiriciliği, çevresel izleme, koruma ve jeo-uzamsal analiz için 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 modelleriyle görüntü yapay zekâsını hava izlemeye taşı. Drone'lara, havacılık iş akışlarına, çevresel korumaya ve jeo-uzamsal sektörlere bilgisayarlı görü çözümleriyle güç kat.
Daha fazla bilgi edin
Güvenlikte bilgisayarlı görü

Güvenlikte bilgisayarlı görü

Ultralytics YOLO modelleriyle her sahayı koru. Görsel yapay zekâ; ç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ı makinelere güç ver. Robotikte görsel yapay zekâ; otonom navigasyonu, algılamayı, nesne takibini ve gerçek zamanlı kontrolü destekler.
Daha fazla bilgi edin
Lojistikte bilgisayarlı görü

Lojistikte bilgisayarlı görü

Ultralytics YOLO modelleriyle lojistiği kolaylaştır. Görüntü yapay zekâsı; paket denetimini, ayrıştı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. Görüntü yapay zekâsı; envanter takibini, raf izlemeyi, kuyruk yönetimini ve daha kapsamlı müşteri analizlerini mümkün kılar.
Daha fazla bilgi edin
Sağlık hizmetlerinde bilgisayarlı görü

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

Ultralytics YOLO modelleriyle sağlık çözümleri geliştir. Sağlık hizmetlerinde görüntü yapay zekâsı; daha hızlı tıbbi görüntüleme, daha akıllı tanı 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. Görsel yapay zekâ; kalite kontrolünü, kusur tespitini, kişisel koruyucu donanım uyumunu ve montaj hattı otomasyonunu destekler.
Daha fazla bilgi edin
Otomotivde bilgisayarlı görü

Otomotivde bilgisayarlı görü

Ultralytics YOLO modelleriyle otomotivde bilgisayarlı görüden yararlan. Görsel yapay zekâ; daha akıllı yollar için yol güvenliğini, sürüş desteğini ve araç otomasyonunu ileri taşır.
Daha fazla bilgi edin
Tarımda bilgisayarlı görü

Tarımda bilgisayarlı görü

Ultralytics YOLO modelleriyle akıllı tarıma görüntü yapay zekâsı kazandır. Daha yüksek ve akıllı verim için mahsul izleme, hayvan takibi ve hassas tarımı destekle.
Daha fazla bilgi edin

Geleceğin yapay zekasını birlikte inşa edelim!

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