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 Werte mit geringem Verlust zurückgeben, wirken sich weniger auf das Lernen des Modells aus und werden daher vom Training ausgeschlossen, da es für das Modell bereits einfach ist, die richtigen Vorhersagen mit hoher Zuverlässigkeit zu treffen. In der Zwischenzeit sind es die Stichproben mit relativ hohem Verlust, die das Modell noch lernen muss. Sie werden also für Trainingszwecke aufbewahrt. 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 (aus einer vom Benutzer angegebenen Anzahl früherer Stichproben entnommen), 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ärtslauf), 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ärtslauf 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ärtsgänge, da weniger aussagekräftige Daten aus deinem Trainingsjob ausgeschlossen werden. Aus diesem Grund erzielen Modelle mit langen oder teuren Rückwärtsdurchläufen die größten Effizienzsteigerungen, wenn intelligentes Sieben eingesetzt wird. Dauert der Vorwärtslauf Ihres Modells jedoch länger als der Rückwärtslauf, kann der Mehraufwand die Gesamttrainingszeit erhöhen. Um zu messen, wie viel Zeit für jeden Durchgang 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.