Yolo Vision Shenzhen
Shenzhen
Şimdi katılın
Sözlük

Batch Boyutu

Toplu iş boyutunun makine öğrenimi eğitim hızı ve doğruluğu üzerindeki etkisini öğrenin. Donanım kısıtlamalarını keşfedin ve AutoBatch kullanarak Ultralytics optimize edin.

Makine öğrenimi ve özellikle derin öğrenme alanında, Toplu İşlem Boyutu, model eğitiminin bir yinelemesinde kullanılan eğitim örneklerinin sayısını ifade eder. Tüm eğitim verilerini bir kerede sinir ağına beslemek yerine (bu, bellek kısıtlamaları nedeniyle genellikle hesaplama açısından imkansızdır), veri kümesi toplu işlemler adı verilen daha küçük alt kümelere bölünür. Model bir partiyi işler, hatayı hesaplar ve bir sonraki partiye geçmeden önce geri yayılım yoluyla iç model ağırlıklarını günceller. Bu hiperparametre, hem eğitimin hızını hem de öğrenme sürecinin istikrarını belirlemede önemli bir rol oynar.

Partilerle Eğitimin Dinamikleri

Parti büyüklüğünün seçimi, genellikle stokastik gradyan inişinin bir varyantı olan optimizasyon algoritmasının kayıp manzarasını nasıl gezindiğini temelden değiştirir.

  • Küçük Parti Boyutları: Küçük bir sayı (örneğin, 8 veya 16) kullanmak "gürültülü" güncellemelerle sonuçlanır. Gradyan tahmini veri kümesi için bir bütün olarak daha az doğru olsa da, bu gürültü bazen modelin yerel minimumlardan kaçmasına yardımcı olabilir ve potansiyel olarak daha iyi genellemeye yol açabilir. Ancak, daha küçük partiler her dönem için daha fazla güncelleme gerektirir, bu da ek yük nedeniyle duvar saati süresi açısından eğitimi yavaşlatabilir.
  • Büyük Parti Boyutları: Daha büyük bir parti (örneğin, 128 veya 256) gradyanın daha doğru bir tahminini sağlar ve kayıp fonksiyonunun daha düzgün bir şekilde yakınsamasını sağlar. Modern donanımlarda büyük ölçekli paralelleştirmeye olanak tanır ve hesaplamayı önemli ölçüde hızlandırır. Ancak, parti çok büyükse, model keskin, optimal olmayan minimum değerlere yerleşebilir ve bu da aşırı uyum ve yeni verilere genelleme yeteneğinin azalmasına yol açar.

Donanım ve Bellek Etkileri

Uygulayıcılar, genellikle tamamen teorik tercihlerden ziyade donanım sınırlamalarına göre bir parti boyutu seçmek zorundadır. Derin öğrenme modelleri, özellikle transformatörler veya gelişmiş evrişimli ağlar gibi büyük mimariler, VRAM'de depolanır. GPU.

NVIDIA NVIDIA CUDA kullanıldığında, VRAM'de model parametreleri, girdi verileri grubu ve gradyan hesaplaması için gerekli ara aktivasyon çıktıları bulunmalıdır. Grup boyutu kullanılabilir belleği aşarsa, eğitim "Bellek Yetmezliği" (OOM) hatasıyla çöker. Karışık hassasiyetli eğitim gibi teknikler genellikle bellek kullanımını azaltmak için kullanılır ve aynı donanımda daha büyük grup boyutlarına olanak tanır.

İlgili Kavramları Ayırt Etme

Eğitimi etkili bir şekilde yapılandırmak için, eğitim döngüsünde toplu iş boyutunu diğer zamansal terimlerden ayırmak önemlidir. döngü.

  • Parti Boyutu ve Epoch: Epoch, tüm eğitim veri setinin bir kez tamamen geçilmesini temsil eder. Parti boyutu, verilerin o epoch içinde kaç parçaya bölüneceğini belirler . Örneğin, 1.000 görüntünüz ve 100'lük bir parti boyutunuz varsa, bir epoch'u tamamlamak için 10 iterasyon gerekir.
  • Parti Boyutu ve İterasyon: İterasyon (veya adım), bir partiyi işleme ve ağırlıkları güncelleme işlemidir. Eğitimdeki toplam iterasyon sayısı , dönem başına parti sayısı ile toplam dönem sayısının çarpımıdır.
  • Toplu Boyut ve Toplu Normalleştirme: Aynı adı paylaşsalar da, Toplu Normalleştirme, mevcut toplu işin ortalaması ve varyansına göre katman girdilerini normalleştiren belirli bir katman türüdür. Bu teknik, toplu iş boyutuna büyük ölçüde bağlıdır; toplu iş boyutu çok küçükse (ör. 2), istatistiksel tahminler güvenilir olmaktan çıkar ve performans düşebilir.

Gerçek Dünya Uygulamaları

Toplu iş boyutunu ayarlamak, çeşitli sektörlerde bilgisayar görme çözümleri uygularken rutin bir gerekliliktir.

  1. Yüksek Kaliteli Tıbbi Görüntüleme: Sağlık hizmetlerinde yapay zeka alanında, pratisyenler genellikle MRI veya CT taramaları gibi 3D hacimsel verilerle çalışır. Bu dosyalar inanılmaz derecede yoğun ve bellek yoğunudur. Tıbbi görüntü analizi veya karmaşık görüntü segmentasyonu gibi görevleri sistemi çökertmeden gerçekleştirmek için mühendisler genellikle toplu iş boyutunu çok küçük bir sayıya, bazen hatta 1'e indirirler. Burada öncelik, ham eğitim hızından ziyade yüksek çözünürlüklü ayrıntıları işlemektir.
  2. Endüstriyel Kalite Kontrol: Tersine, üretimde yapay zeka, hız çok önemlidir. Konveyör bant üzerindeki ürünleri denetleyen otomatik sistemler, saatte binlerce görüntüyü işlemek zorundadır. Çıkarım sırasında, mühendisler gelen kamera görüntülerini daha büyük gruplar halinde bir araya getirerek kenar yapay zeka cihazlarının kullanımını en üst düzeye çıkarabilir ve gerçek zamanlı kusur tespiti için yüksek verim sağlayabilir.

Python Toplu İş Boyutu Yapılandırma

Kullanırken Ultralytics Python paketi, toplu iş boyutunu ayarlamak çok kolaydır. Sabit bir tamsayı belirtebilir veya dinamik batch=-1 ayar, kullanır the AutoBatch özelliği donanımınızın güvenli bir şekilde işleyebileceği maksimum toplu iş boyutunu otomatik olarak hesaplamak için.

Aşağıdaki örnek, belirli bir toplu iş ayarı kullanarak YOLO26 modelini(hız ve doğruluk açısından en son standart) nasıl eğiteceğinizi göstermektedir.

from ultralytics import YOLO

# Load the YOLO26n model (nano version for speed)
model = YOLO("yolo26n.pt")

# Train on the COCO8 dataset
# batch=16 is manually set.
# Alternatively, use batch=-1 for auto-tuning based on available GPU memory.
results = model.train(data="coco8.yaml", epochs=5, batch=16)

Büyük ölçekli deneyleri yönetmek ve farklı parti boyutlarının eğitim metriklerinizi nasıl etkilediğini görselleştirmek için, Ultralytics gibi araçlar kayıt tutma ve karşılaştırma için kapsamlı bir ortam sağlar. Parti boyutunun uygun hiperparametre ayarlaması, genellikle modelinizden en iyi performansı elde etmenin son adımıdır.

Ultralytics topluluğuna katılın

Yapay zekanın geleceğine katılın. Küresel yenilikçilerle bağlantı kurun, işbirliği yapın ve birlikte büyüyün

Şimdi katılın