View a markdown version of this page

So funktioniert SageMaker Smart Sifting - Amazon SageMaker KI

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

So funktioniert SageMaker Smart Sifting

Das Ziel von SageMaker Smart Sifting besteht darin, deine Trainingsdaten während des Trainingsprozesses zu sichten und das Modell nur mit aussagekräftigeren Stichproben zu versorgen. Während eines typischen Trainings mit PyTorch werden die Daten iterativ stapelweise an die Trainingsschleife und von der an Beschleunigungsgeräte (wie GPUs oder Trainium-Chips) gesendet. PyTorch DataLoader SageMaker Smart Sifting wird in dieser Phase des Ladens der Daten implementiert und ist somit unabhängig von einer vorgelagerten Datenvorverarbeitung in Ihrer Trainingspipeline. SageMaker Smart Sifting verwendet Ihr Modell und seine benutzerdefinierte Verlustfunktion, um jede Datenprobe beim Laden evaluativ vorwärts zu durchlaufen. Stichproben, die geringe Verlustwerte zurückgeben, haben weniger Einfluss auf das Lernen des Modells und werden daher vom Training ausgeschlossen, da es für das Modell bereits einfach ist, mit hoher Zuverlässigkeit die richtigen Vorhersagen über diese Stichproben zu treffen. Stichproben mit relativ hohem Verlust muss das Modell jedoch noch erlernen, sodass sie für Trainingszwecke aufbewahrt werden. Eine wichtige Eingabe, die Sie für SageMaker Smart Sifting festlegen können, ist der Anteil der auszuschließenden Daten. Wenn Sie beispielsweise den Anteil auf 25% festlegen, werden Stichproben, die im untersten Quartil der Verlustverteilung verteilt sind (aus einer vom Benutzer angegebenen Anzahl früherer Stichproben entnommen), vom Training ausgeschlossen. High-lossDie Proben werden in einem verfeinerten Datenstapel gesammelt. Der verfeinerte Datenstapel wird an die Trainingsschleife gesendet (Vorwärts- und Rückwärtsdurchlauf) und das Modell lernt und trainiert anhand des verfeinerten Datenstapels.

Das folgende Diagramm zeigt einen Überblick über den Aufbau des SageMaker Smart-Sifting-Algorithmus.

Architekturdiagramm, das zeigt, wie SageMaker Smart Sifting während des Trainings funktioniert, wenn Daten geladen werden.

Kurz gesagt, SageMaker Smart Sifting funktioniert während des Trainings, während die Daten geladen werden. Der SageMaker Smart-Sifting-Algorithmus führt eine Verlustberechnung für die Chargen durch und sortiert Daten, die sich nicht verbessern, vor dem Vorwärts- und Rückwärtsdurchlauf jeder Iteration heraus. Der verfeinerte Datenstapel wird dann für den Vorwärts- und Rückwärtsdurchlauf verwendet.

Anmerkung

Beim intelligenten Sichten von SageMaker KI-Daten werden zusätzliche Vorwärtsdurchgänge verwendet, um deine Trainingsdaten zu analysieren und zu filtern. Im Gegenzug gibt es weniger Rückwärtsdurchläufe, da Daten mit geringerer Aussagekraft aus Ihrem Trainingsjob ausgeschlossen werden. Aus diesem Grund führt Smart Sifting bei Modellen mit langen oder aufwändigen Rückwärtsdurchläufen zu den größten Effizienzsteigerungen. Dauert der Vorwärtsdurchlauf Ihres Modells jedoch länger als der Rückwärtsdurchlauf, kann der Mehraufwand die Gesamttrainingszeit erhöhen. Um zu messen, wie viel Zeit für jeden Durchlauf aufgewendet wird, können Sie einen Pilot-Trainingsjob ausführen und Protokolle sammeln, in denen die Dauer der Prozesse aufgezeichnet wird. Erwägen Sie auch, den SageMaker Profiler zu verwenden, der Profiling-Tools und UI-Anwendungen bereitstellt. Weitere Informationen hierzu finden Sie unter SageMaker Amazon-Profiler.

SageMaker Smart Sifting eignet sich für PyTorch-based Trainingsaufgaben mit klassischer verteilter Datenparallelität, bei der Modellreplikate auf jedem GPU-Worker erstellt und ausgeführt werden. AllReduce Es funktioniert mit PyTorch DDP und der SageMaker KI-Bibliothek für verteilte parallele Daten.