Wie 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.

Wie funktioniert SageMaker Smart Sifting

Das Ziel von SageMaker Smart Sifting besteht darin, Ihre Trainingsdaten während des Trainingsprozesses zu sichten und dem Modell nur aussagekräftigere Stichproben zuzuführen. Während eines typischen Trainings mit PyTorch werden die Daten iterativ stapelweise an die Trainingsschleife und an Beschleunigergeräte (z. B. GPUs oder Trainium-Chips) gesendet. PyTorchDataLoader 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 während des Ladens auszuwerten. 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 das SageMaker intelligente Sieben 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 darüber, wie der SageMaker Smart-Sifting-Algorithmus konzipiert ist.

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, wenn Daten geladen werden. Der Algorithmus für SageMaker intelligentes Sieben berechnet den Verlust anhand der Chargen 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 Sieben von SageMaker KI-Daten werden zusätzliche Vorwärtsdurchläufe 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 die Verwendung von SageMaker Profiler, der Tools zur Profilerstellung und Benutzeroberflächenanwendungen bereitstellt. Weitere Informationen hierzu finden Sie unter Amazon SageMaker Profiler.

SageMaker Smart Sifting eignet sich für Trainingsaufgaben PyTorch auf Basis der klassischen Parallelität verteilter Daten. Dabei werden Modellreplikate auf jedem GPU-Worker erstellt und ausgeführt. AllReduce Es funktioniert mit PyTorch DDP und der SageMaker AI Distributed Data Parallel Library.