Yolo Vision Shenzhen
Shenzhen
Jetzt beitreten
Glossar

Batch-Größe

Entdecken Sie die Auswirkungen der Batch-Größe auf Deep Learning. Optimieren Sie Trainingsgeschwindigkeit, Speichernutzung und Modellleistung effizient.

Die Chargengröße ist ein zentraler Hyperparameter im Bereich des Bereich des maschinellen Lernens, der die Anzahl der verarbeiteten Trainingsdaten bestimmt, bevor das Modell seine internen Parameter aktualisiert. Anstatt einen gesamten Datensatz auf einmal zu analysieren - was aufgrund von Speicherbeschränkungen oft rechnerisch aufgrund von Speicherbeschränkungenrechnerisch unmöglich ist werden die Daten in kleinere Gruppen, so genannte Batches, unterteilt. Diese Aufteilung bestimmt die Stabilität des Lernprozesses Lernprozesses, die Geschwindigkeit der Berechnung und den Speicherbedarf des GPU während des Trainings. Die Wahl der Stapelgröße ist eine Gratwanderung zwischen der Recheneffizienz und der Qualität der Konvergenz des Modells. Konvergenz.

Die Auswirkungen auf die Ausbildungsdynamik

Die Wahl der Chargengröße ändert grundlegend die Art und Weise, wie ein neuronales Netz lernt. Wenn die Stapelgröße auf einen auf einen niedrigeren Wert gesetzt, aktualisiert das Modell seine Modellgewichte häufiger, wodurch Rauschen in den den Gradientenabstiegsprozess ein. Dieses Rauschen kann kann von Vorteil sein, da es dem Optimierungsalgorithmus oft hilft lokalen Minima zu entkommen und robustere Lösungen zu finden, was dazu beiträgt Überanpassung zu verhindern. Umgekehrt bieten größere Losgrößen eine genauere Schätzung des Gradienten, was zu gleichmäßigeren und stabileren Aktualisierungen führt, allerdings benötigen sie jedoch erheblich mehr Hardwarespeicher und können manchmal zu einer "Generalisierungslücke" führen, bei der das Modell gut auf Trainingsdaten, aber weniger effektiv auf ungesehenen Daten funktioniert.

Die Obergrenze dieses Parameters wird häufig durch die Hardwarekapazitäten vorgegeben. Moderne Hardware-Beschleuniger, wie die in beschrieben in NVIDIA Leitfaden zur Deep Learning-Leistung beschrieben sind, verlassen sich auf die parallele Verarbeitung großer Datenblöcke von Daten gleichzeitig zu verarbeiten. Daher sollte eine Stapelgröße verwendet werden, die mit der Architektur des Prozessors übereinstimmt - in der Regel Zweierpotenzen Potenzen von zwei wie 32, 64 oder 128 - den Durchsatz maximieren und die Gesamttrainingszeit pro Epoche.

Anwendungsfälle in der Praxis

Ein Verständnis dafür, wie dieser Parameter einzustellen ist, ist für den Einsatz von effektiven KI-Lösungen in verschiedenen Branchen.

  1. Hochauflösende medizinische Bildgebung: Unter KI im Gesundheitswesen werden Modelle oft mit der Aufgabe betraut CT-Scans oder MRTs zu analysieren, um Anomalien wie Tumore zu erkennen. Diese Bilder haben eine enorme Dateigröße. Der Versuch, viele von ihnen gleichzeitig zu verarbeiten, würde den Videospeicher (VRAM) selbst der leistungsfähigsten Hardware übersteigen. Daher verwenden Praktiker eine sehr kleine Stapelgröße (z. B. 1 oder 2), um die medizinische Bildanalyse ohne Systemabsturz ohne das System zum Absturz zu bringen, wobei die Fähigkeit zur Verarbeitung realitätsnaher Daten Vorrang vor der reinen Trainingsgeschwindigkeit hat.
  2. Fertigungsinspektion in Echtzeit: Umgekehrt ist in intelligenten Fertigungsumgebungen ist Geschwindigkeit entscheidend. Ein automatisiertes visuelles Inspektionssystem auf einem Fließband kann Tausende von Bildern von Leiterplatten Leiterplatten pro Stunde erfassen. Während der Inferenzphase (Erkennung von Defekten in der Produktion) könnten die Systeme Batch Inferencing verwenden, um um eingehende Bilder zu gruppieren und sie parallel zu verarbeiten. Dies maximiert den Durchsatz des Bildverarbeitungssystems und stellt sicher, dass es mit der mit der schnellen Produktionslinie Schritt hält.

Konfigurieren der Chargengröße mit Ultralytics

Bei Verwendung des Ultralytics Pythonist die Konfiguration der Losgröße Größe ist einfach zu konfigurieren. Die Website batch Argument können Sie genau festlegen, wie viele Bilder das Modell sehen soll, bevor die Gewichte aktualisiert werden. Wenn es auf -1kann die Bibliothek auch eine AutoBatch-Funktion um automatisch die maximale maximale Stapelgröße, die Ihre Hardware unterstützen kann.

from ultralytics import YOLO

# Load the latest YOLO11 model
model = YOLO("yolo11n.pt")

# Train the model on the COCO8 dataset with a specific batch size
# A batch size of 32 balances speed and memory usage for most standard GPUs
results = model.train(data="coco8.yaml", epochs=50, batch=32)

Unterscheidung von verwandten Konzepten

Für Praktiker ist es wichtig, "Batch Size" von ähnlichen Begriffen zu unterscheiden, die in Deep Learning-Frameworks.

  • Stapelgröße vs. Epoche: Eine Epoche stellt einen vollständigen Durchlauf durch den gesamten Trainingsdatensatz. Die Stapelgröße bestimmt, wie die Daten innerhalb dieser einzelnen Epoche aufgeteilt werden. Wenn Sie zum Beispiel 1.000 Stichproben haben und eine Stapelgröße von 100, dauert es 10 Iterationen, um eine Epoche abzuschließen.
  • Chargengröße vs. Chargennormalisierung: Sie haben zwar einen gemeinsamen Namen, ist die Stapel-Normalisierung eine spezielle Schicht Technik, die zur Normalisierung der Ebeneneingaben verwendet wird, um die Stabilität zu verbessern. Die Wirksamkeit der Stapelnormalisierung kann zwar von der Chargengröße abhängen kann (es wird eine ausreichend große Charge benötigt, um genaue Statistiken zu berechnen), ist sie eine strukturelle Komponente der Netzwerkarchitektur und nicht nur eine Trainingseinstellung.
  • Training vs. Inferenz Batching: Während des Trainings ist das Ziel, Gewichte zu lernen. Während Inferenz ist die Stapelverarbeitung eine reine Geschwindigkeitsoptimierung. Für latenzempfindliche Anwendungen wie autonome Fahrzeuge, wird oft eine Stapelgröße von 1 häufig verwendet, um eine sofortige Antwort zu erhalten, während Datenanalyseaufgaben große Stapel verwenden können, um historisches Videomaterial über Nacht zu verarbeiten.

Werden Sie Mitglied der Ultralytics

Gestalten Sie die Zukunft der KI mit. Vernetzen Sie sich, arbeiten Sie zusammen und wachsen Sie mit globalen Innovatoren

Jetzt beitreten