So funktioniert Smart Sifting von SageMaker - 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 Smart Sifting von SageMaker

Das Ziel von SageMaker Smart Sifting besteht darin, Ihre Trainingsdaten während des Trainingsprozesses zu sichten und nur aussagekräftige Proben in das Modell einzuspeisen. Während eines typischen Trainings mit PyTorch werden Daten iterativ stapelweise vom PyTorch DataLoader an die Trainingsschleife und an Beschleuniger (wie GPUs oder Trainium-Chips) gesendet. SageMaker Smart Sifting wird in dieser Datenladephase implementiert und ist somit unabhängig von einer vorgelagerten Datenvorverarbeitung in Ihrer Trainingspipeline. SageMaker Smart Sifting verwendet Ihr Modell und dessen benutzerdefinierte Verlustfunktion, um für jedes Datenmuster beim Ladevorgang einen bewertenden Vorwärtsdurchlauf durchzuführen. 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 den Anteil beispielsweise auf 25 % festlegen, werden Stichproben, die im niedrigsten Quartil der Verlustverteilung verteilt sind (gemäß einer vom Benutzer angegebenen Anzahl früherer Stichproben), vom Training ausgeschlossen. Proben mit hohem Verlust 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 Smart-Sifting-Algorithmus von SageMaker.

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

SageMaker Smart Sifting wird während des Trainings ausgeführt, wenn Daten geladen werden. Der Smart-Sifting-Algorithmus von SageMaker führt eine Verlustberechnung für die Batches durch und sortiert Daten, die zu keinen Verbesserungen führen, 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 Daten auf SageMaker AI werden zusätzliche Vorwärtsdurchläufe verwendet, um Ihre 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 die Verwendung von SageMaker Profiler mit Tools zur Profilerstellung und einer Benutzeroberflächenanwendung. Weitere Informationen hierzu finden Sie unter Amazon SageMaker Profiler.

Smart Sifting von SageMaker funktioniert für PyTorch-basierte Trainingsjobs mit klassischer verteilter Datenparallelität, bei der Modellreplikate auf jedem GPU-Worker erstellt werden und AllReduce ausgeführt wird. Es funktioniert mit PyTorch DDP und der verteilten Datenparallelitätsbibliothek von SageMaker AI.