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.

YOLO modellerini Ultralytics HUB ile basitçe
eğitin

Daha fazla bilgi edinin

Makine öğreniminde, özellikle derin öğrenme modelleri eğitilirken, yığın boyutu tek bir iterasyonda işlenen eğitim örneklerinin sayısını ifade eder. Bilgisayarla görme gibi alanlarda yaygın olan büyük veri kümeleri üzerinde büyük modellerin eğitilmesi, bellek sınırlamaları nedeniyle genellikle tüm veri kümesinin bir kerede işlenmesini hesaplama açısından uygunsuz hale getirir. Bunun yerine veriler daha küçük, yönetilebilir gruplara veya "yığınlara" ayrılır. Modelin dahili parametreleri her parti işlendikten sonra güncellenerek eğitim süreci daha verimli ve ölçeklenebilir hale getirilir.

Parti Büyüklüğünün Önemi

Parti büyüklüğü, eğitim dinamiklerini, kaynak kullanımını ve nihayetinde nihai modelin performansını önemli ölçüde etkileyen kritik bir hiperparametredir. Etkileri şunları içerir:

  • Eğitim Hızı: Daha büyük parti boyutları, GPU 'lar gibi donanımların paralel işleme yeteneklerini daha etkili bir şekilde kullanabilir ve potansiyel olarak bir epoğu (eğitim verileri üzerinden tam bir geçiş) tamamlamak için gereken süreyi azaltabilir. Bunun nedeni daha iyi donanım kullanımı ve dönem başına daha az parametre güncellemesidir. Paralel hesaplama kavramları hakkında daha fazla bilgi edinin.
  • Bellek Kullanımı: Yığın boyutu, gereken bellek miktarınıCPU RAM veya GPU VRAM) doğrudan etkiler. Daha büyük gruplar, eğitim sırasında verileri, aktivasyonları ve gradyanları depolamak için daha fazla belleğe ihtiyaç duyar. Büyük parti boyutları veya sınırlı donanımla çalışırken bellek kullanımını optimize etme teknikleri çok önemlidir.
  • Model Genelleştirme: Parti büyüklüğü seçimi optimizasyon sürecini ve model genellemesini etkiler. Daha küçük gruplar, Stokastik Gradyan İnişi (SGD) gibi algoritmalarda kullanılan gradyan tahminine daha fazla gürültü ekler. Bu gürültü bazen modelin keskin yerel minimumlardan kaçmasına yardımcı olarak ve potansiyel olarak görünmeyen verilere genelleme yeteneğini geliştirerek ve böylece aşırı uyumu azaltarak bir tür düzenleme işlevi görebilir. Tersine, daha büyük gruplar, genel veri kümesinin gradyanının daha doğru bir tahminini sağlar, ancak"Derin Öğrenme için Büyük Toplu Eğitim Üzerine" gibi araştırmalarda tartışıldığı gibi, bazen genelleştirmeyi engelleyebilecek daha keskin minimumlara yakınsayabilir.
  • Öğrenme Oranı Etkileşimi: Parti büyüklüğü genellikle öğrenme oranı ile etkileşim halindedir. Genel olarak, daha büyük parti büyüklükleri daha yüksek öğrenme oranlarına izin verir ve genellikle bundan faydalanır. Adam gibi optimize ediciler bu etkileşimleri yönetmeye yardımcı olabilir.

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

Optimum bir toplu iş boyutunun seçilmesi, hesaplama verimliliği, bellek kısıtlamaları ve model genellemesinin dengelenmesini içerir. Evrensel bir "en iyi" parti büyüklüğü yoktur; bu büyük ölçüde belirli veri setine (örneğin COCO Veri Seti), model mimarisine (örneğin Ultralytics YOLO) ve mevcut donanım kaynaklarına bağlıdır. Donanım belleği hizalama optimizasyonları nedeniyle yaygın seçimler genellikle 2'nin kuvvetleri (örneğin, 16, 32, 64, 128) içinde kalır. Deneyler ve hiperparametre ayarlama gibi teknikler genellikle gereklidir. Gibi çerçeveler PyTorch ve TensorFlow parti büyüklüklerinin ayarlanmasında esneklik sağlar.

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

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

  • Yineleme/Adım: Bir veri grubunun işlenmesine dayalı olarak model parametrelerinin tek bir güncellemesi. Bu bir ileri geçiş, kayıp hesaplaması ve geriye doğru geçiş (geriye yayılma) içerir.
  • Dönem: Tüm eğitim veri kümesi üzerinden bir tam geçiş. Bir veri kümesinde 1000 örnek varsa ve yığın boyutu 100 ise, bir epok 10 iterasyondan oluşur (1000 / 100 = 10).
  • Mini-Yığın Gradyan İnişi: Yığın boyutunun 1'den büyük ancak toplam veri kümesi boyutundan küçük olduğu en yaygın eğitim yaklaşımıdır. Bu, Batch Gradient Descent (tüm veri kümesini kullanarak, parti boyutu = N) ve Stochastic Gradient Descent (tek bir örnek kullanarak, parti boyutu = 1) ile tezat oluşturur. "Yığın boyutu" terimi tipik olarak mini yığın gradyan inişinde kullanılan boyutu ifade eder. Gradyan inişi varyantları hakkında daha fazla bilgi edinin.

Gerçek Dünya Uygulamaları

  • Nesne Algılama: Bir kişiyi eğitirken Ultralytics YOLONesne Algılama Görevi için model, toplu iş boyutu aynı anda kaç görüntünün işleneceğini belirler. YOLO11 'in ImageNet gibi büyük bir veri kümesi üzerinde eğitilmesi, GPU belleğine bağlı olarak yığın boyutunun ayarlanmasını gerektirebilir. Daha büyük bir toplu iş boyutu (örneğin 64), üst düzey GPU'larda epok başına eğitimi hızlandırabilirken, daha küçük boyutlar (örneğin 16) daha az belleğe sahip cihazlarda gerekli olabilir veya potansiyel olarak genellemeyi iyileştirebilir. Ultralytics HUB gibi platformlar bu eğitim deneylerinin yönetilmesine ve izlenmesine yardımcı olabilir.
  • Doğal Dil İşleme (NLP): BERT gibi büyük dil modellerinin eğitimi, metin dizilerinin işlenmesini içerir. Yığın boyutu, kaç dizinin birlikte işleneceğini etkiler. Dizilerin uzunluğu değişebildiği ve modellerin büyük olduğu göz önüne alındığında, bellek kullanımı önemli bir sorundur. Gradyan biriktirme gibi teknikler (parametreleri güncellemeden önce daha küçük mini partileri sırayla işleme), bellek sınırlı olduğunda daha büyük parti boyutlarını simüle etmek için sıklıkla kullanılır. NLP kurslarındaki kavramları keşfedin.

Derin öğrenme modellerini etkili bir şekilde eğitmek için yığın boyutunu anlamak ve dikkatlice seçmek esastır. Daha fazla çalışma için Derin Öğrenme Uzmanlığı gibi kaynakları değerlendirebilir veya bazen yığın boyutuna duyarlılığı azaltabilen Yığın Normalleştirme gibi teknikleri keşfedebilirsiniz.

Tümünü okuyun