Sözlük

Parti Büyüklüğü

Yığın boyutunun derin öğrenme üzerindeki etkisini keşfedin. Eğitim hızını, bellek kullanımını ve model performansını verimli bir şekilde optimize edin.

Parti büyüklüğü, makine öğreniminde modelin dahili parametreleri güncellenmeden önce işlenen eğitim örneklerinin sayısını tanımlayan temel bir hiperparametredir. Tüm eğitim veri küm esini bir kerede işlemek yerine, ki bu hesaplama açısından engelleyici olabilir, veriler daha küçük alt kümelere veya "yığınlara" bölünür. Yığın boyutu seçimi, modelin öğrenme dinamiklerini, eğitim hızını ve nihai performansını doğrudan etkileyen kritik bir karardır. Hesaplama verimliliği ile model ağırlıklarını güncellemek için kullanılan gradyan tahmininin doğruluğu arasında bir değiş tokuşu temsil eder.

Model Eğitiminde Parti Büyüklüğünün Rolü

Eğitim sırasında bir sinir ağı (NN), yaptığı hataya göre ağırlıklarını ayarlayarak öğrenir. Bu ayarlama, gradyan inişi gibi bir optimizasyon algoritması tarafından yönlendirilir. Yığın boyutu, modelin gradyanı hesaplamadan ve bir ağırlık güncellemesi gerçekleştirmeden önce kaç örnek "göreceğini" belirler.

  • Stokastik Gradyan İnişi (SGD): Yığın boyutu 1 olduğunda, süreç stokastik gradyan inişi olarak adlandırılır. Gradyan her bir örnek için hesaplanır, bu da sık ancak gürültülü güncellemelere yol açar.
  • Toplu Gradyan İnişi: Yığın boyutu eğitim veri kümesindeki toplam örnek sayısına eşit olduğunda, bu yığın gradyan inişi olarak bilinir. Bu, çok doğru bir gradyan tahmini sağlar, ancak hesaplama açısından pahalı ve bellek yoğundur.
  • Mini-Yığın Gradyan İnişi: Bu, yığın boyutunun 1 ile toplam veri kümesi boyutu (ör. 32, 64, 128) arasında bir değere ayarlandığı en yaygın yaklaşımdır. Toplu gradyan inişinin kararlılığı ile stokastik gradyan inişinin verimliliği arasında bir denge sunar.

Yığın boyutunun seçimi eğitim sürecini önemli ölçüde etkiler. Daha büyük bir parti boyutu, gradyanın daha doğru bir şekilde tahmin edilmesini sağlar, ancak her güncelleme için hesaplama maliyeti daha yüksektir. Tersine, daha küçük bir parti boyutu daha az doğru gradyan tahminlerine yol açar, ancak daha hızlı güncellemelere izin verir.

Doğru Parti Büyüklüğünü Seçme

Optimum yığın boyutunu bulmak hiperparametre ayarlamanın önemli bir parçasıdır ve veri kümesine, model mimarisine ve mevcut donanıma bağlıdır.

  • Büyük Toplu İş Boyutları: Aynı anda daha fazla verinin işlenmesi, GPU'ların paralel işleme yeteneklerinden tam olarak yararlanılmasını sağlayarak her bir epok için daha hızlı eğitim sürelerine yol açabilir. Bununla birlikte, araştırmalar çok büyük yığınların bazen modelin eğitim verilerinde iyi performans gösterdiği ancak görülmeyen verilerde kötü performans gösterdiği bir "genelleme boşluğuna" yol açabileceğini göstermiştir. Ayrıca, sınırlayıcı bir faktör olabilen önemli miktarda bellek gerektirirler.
  • Küçük Toplu İş Boyutları: Bunlar daha az bellek gerektirir ve gradyan güncellemelerindeki gürültü modelin yerel minimumlardan kaçmasına ve daha sağlam bir çözüm bulmasına yardımcı olabileceğinden genellikle daha iyi model genellemesi sağlar. Bu, aşırı uyumu önlemeye yardımcı olabilir. Birincil dezavantajı, ağırlık güncellemelerinin daha sık olması ve daha az verinin paralel olarak işlenmesi nedeniyle eğitimin daha yavaş olmasıdır.

Birçok uygulama için, ikinin kuvvetleri olan (32, 64, 128, 256 gibi) toplu iş boyutları, genellikle GPU bellek mimarileriyle iyi uyum sağladıkları için önerilir. Ultralytics HUB gibi araçlar, modelleri eğitirken farklı toplu iş boyutlarıyla kolay denemeler yapılmasına olanak tanır.

Eğitim ve Çıkarımdaki Parti Büyüklüğü

Toplu iş boyutu eğitimde temel bir kavram olsa da çıkarım için de geçerlidir, ancak farklı bir amacı vardır. Çıkarım sırasında, verimi en üst düzeye çıkarmak için birden fazla girdiyi (örneğin, görüntüler veya cümleler) aynı anda işlemek için toplu işlem kullanılır. Bu genellikle toplu çıkarım olarak adlandırılır.

Otonom bir araçta gerçek zamanlı çıkarım gibi anında sonuç gerektiren uygulamalarda, çıkarım gecikmesini en aza indirmek için 1'lik bir yığın boyutu kullanılır. Büyük bir görüntü koleksiyonunun gece boyunca işlenmesi gibi çevrimdışı senaryolarda, verimliliği artırmak için daha büyük bir parti boyutu kullanılabilir.

Gerçek Dünya Uygulamaları

  1. Tıbbi Görüntüleme Analizi: Tıbbi görüntülerde tümör tespiti için bir YOLO11 modeli eğitilirken, görüntüler genellikle yüksek çözünürlüklüdür. GPU'daki bellek kısıtlamaları nedeniyle tipik olarak küçük bir yığın boyutu (örn. 4 veya 8) kullanılır. Bu, modelin mevcut belleği aşmadan yüksek ayrıntılı veriler üzerinde eğitilmesine olanak tanıyarak istikrarlı bir eğitim sağlar.
  2. Üretim Kalite Kontrolü: Üretim ortamındaki bir yapay zekada, bir montaj hattındaki kusurları tespit etmek için bir model eğitilebilir. Milyonlarca ürün görüntüsünden oluşan büyük bir veri kümesiyle, güçlü bir dağıtılmış eğitim kümesinde daha büyük bir yığın boyutu (ör. 256 veya 512) kullanılabilir. Bu, eğitim sürecini hızlandırarak daha hızlı model yinelemesine ve dağıtımına olanak tanır.

Parti Büyüklüğü ve İlgili Terimler

Parti büyüklüğünü diğer ilgili kavramlardan ayırmak önemlidir:

  • Yığın Boyutu ile Dönem ve Yineleme: Bir iterasyon, modelin ağırlıklarının bir güncellemesidir. Bir çağ tüm eğitim veri kümesi üzerinden bir tam geçiştir. Bir epoktaki iterasyon sayısı, toplam eğitim örneği sayısının yığın boyutuna bölünmesiyle elde edilir.
  • Toplu İş Boyutu ve Toplu İş Normalizasyonu: Toplu Normalizasyon (BatchNorm), her bir mini toplu iş için girdileri standartlaştırmak amacıyla bir sinir ağı katmanında kullanılan bir tekniktir. Etkinliği yığın boyutundan etkilenebilirken (daha büyük yığınlarla daha iyi performans gösterir), model mimarisinde ayrı bir katmandır, bir eğitim döngüsü parametresi değildir. PyTorch ve TensorFlow gibi modern derin öğrenme çerçevelerinin çoğu sağlam uygulamalar sağlar.

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 büyüyün

Şimdi katılın
Panoya kopyalanan bağlantı