Checkpoints in Amazon SageMaker AI
Verwenden Sie Checkpoints in Amazon SageMaker AI, um den Status von Machine-Learning-Modellen (ML) während des Trainings zu speichern. Checkpoints sind Schnappschüsse des Modells und können mit den Callback-Funktionen von ML-Frameworks konfiguriert werden. Sie können die gespeicherten Checkpoints verwenden, um einen Trainingsjob vom zuletzt gespeicherten Checkpoint aus neu zu starten.
Mit Checkpoints können Sie folgende Aktionen ausführen:
-
Speichern Sie Ihre Modellschnappschüsse während des Trainings aufgrund einer unerwarteten Unterbrechung des Trainingsjobs oder der Trainings-Instance.
-
Setzen Sie das Training des Modells in der Zukunft an einem Checkpoint fort.
-
Analysieren Sie das Modell in den Zwischenphasen des Trainings.
-
Verwenden Sie Checkpoints mit S3 Express One Zone für höhere Zugriffsgeschwindigkeiten.
-
Verwenden Sie Checkpoints mit SageMaker-AI-verwaltetem Spot-Training, um Trainingskosten zu sparen.
Der SageMaker-Trainingsmechanismus verwendet Trainingscontainer auf Amazon-EC2-Instances, und die Checkpoint-Dateien werden in einem lokalen Verzeichnis der Container gespeichert (die Standardeinstellung ist /opt/ml/checkpoints). SageMaker AI bietet die Funktionalität zum Kopieren der Checkpoints aus dem lokalen Pfad nach Amazon S3 und synchronisiert die Checkpoints in diesem Verzeichnis automatisch mit S3. Bestehende Checkpoints in S3 werden zu Beginn des Jobs in den SageMaker-AI-Container geschrieben, sodass Jobs von einem Checkpoint aus wieder aufgenommen werden können. Checkpoints, die nach dem Start des Jobs zum S3-Ordner hinzugefügt wurden, werden nicht in den Trainingscontainer kopiert. SageMaker AI schreibt während des Trainings auch neue Checkpoints aus dem Container in S3. Wenn ein Checkpoint im SageMaker-AI-Container gelöscht wird, wird er auch im S3-Ordner gelöscht.
Sie können Checkpoints in Amazon SageMaker AI mit der Speicherklasse Amazon S3 Express One Zone (S3 Express One Zone) für einen schnelleren Zugriff auf Checkpoints verwenden. Wenn Sie Checkpointing aktivieren und die S3-URI für Ihr Checkpoint-Speicherziel angeben, können Sie einen S3-URI für einen Ordner entweder in einem S3-Allzweck-Bucket oder einem S3-Verzeichnis-Bucket angeben. S3-Verzeichnis-Buckets, die in SageMaker AI integriert sind, können nur mit serverseitiger Verschlüsselung mit von Amazon S3 verwalteten Schlüsseln (SSE-S3) verschlüsselt werden. Die serverseitige Verschlüsselung mit AWS KMS-Schlüsseln (SSE-KMS) wird derzeit nicht unterstützt. Weitere Informationen zu S3 Express One Zone und S3-Verzeichnis-Buckets finden Sie unter Was ist S3 Express One Zone.
Wenn Sie Checkpoints mit dem von SageMaker AI verwalteten Spot-Training verwenden, verwaltet SageMaker AI das Checkpoint-Training Ihres Modells auf einer Spot Instance und die Fortsetzung des Trainingsjobs auf der nächsten Spot Instance. Mit dem von SageMaker AI verwalteten Spot-Training können Sie die abrechnungsfähige Zeit für das Training von ML-Modellen erheblich reduzieren. Weitere Informationen finden Sie unter Managed Spot Training in Amazon SageMaker AI verwenden.
Themen
Checkpoints für Frameworks und Algorithmen in SageMaker AI
Verwenden Sie Checkpoints, um Schnappschüsse von ML-Modellen zu speichern, die auf Ihren bevorzugten Frameworks in SageMaker AI basieren.
SageMaker-AI-Frameworks und Algorithmen, die Checkpointing unterstützen
SageMaker AI unterstützt Checkpointing für AWS Deep Learning Containers und eine Untergruppe integrierter Algorithmen, ohne dass Änderungen am Trainingsskript erforderlich sind. SageMaker AI speichert die Checkpoints im lokalen Standardpfad '/opt/ml/checkpoints' und kopiert sie nach Amazon S3.
-
Deep Learning Containers: TensorFlow
, PyTorch , MXNet und HuggingFace Anmerkung
Wenn Sie den HuggingFace-Framework-Estimator verwenden, müssen Sie einen Checkpoint-Ausgabepfad über Hyperparameter angeben. Weitere Informationen finden Sie unter Training auf Amazon SageMaker AI ausführen
in der HuggingFace-Dokumentation. -
Integrierte Algorithmen: Image-Klassifizierung, Objekterkennung, Semantische Segmentierung und XGBoost (0.90-1 oder höher)
Anmerkung
Wenn Sie den XGBoost-Algorithmus im Framework-Modus (Skriptmodus) verwenden, müssen Sie ein manuell konfiguriertes XGBoost-Trainingsskript mit Checkpointing mitbringen. Weitere Informationen zu den XGBoost-Trainingsmethoden zum Speichern von Modellschnappschüssen finden Sie unter Training XGBoost in
der XGBoost Python SDK-Dokumentation.
Wenn ein vorgefertigter Algorithmus, der Checkpointing nicht unterstützt, in einem verwalteten Spot-Trainingsjob verwendet wird, lässt SageMaker AI keine maximale Wartezeit von mehr als einer Stunde für den Job zu, um die verschwendete Trainingszeit durch Interrupts zu begrenzen.
Für benutzerdefinierte Trainingscontainer und andere Frameworks
Wenn Sie Ihre eigenen Trainingscontainer, Trainingsskripte oder andere Frameworks verwenden, die nicht im vorherigen Abschnitt aufgeführt sind, müssen Sie Ihr Trainingsskript mithilfe von Callbacks oder Trainings-APIs ordnungsgemäß einrichten, um Checkpoints im lokalen Pfad ('/opt/ml/checkpoints') zu speichern und aus dem lokalen Pfad in Ihrem Trainingsskript zu laden. SageMaker-AI-Schätzer können sich mit dem lokalen Pfad synchronisieren und die Checkpoints in Amazon S3 speichern.
Überlegungen zum Checkpointing
Beachten Sie Folgendes, wenn Sie Checkpoints in SageMaker AI verwenden.
-
Um Überschreibungen beim verteilten Training mit mehreren Instances zu vermeiden, müssen Sie die Namen und Pfade der Checkpoint-Dateien in Ihrem Trainingsskript manuell konfigurieren. Die Checkpoint-Konfiguration von SageMaker AI auf hoher Ebene spezifiziert einen einzelnen Amazon S3-Standort ohne zusätzliche Suffixe oder Präfixe, um Checkpoints von mehreren Instances zu kennzeichnen.
-
Das SageMaker Python SDK unterstützt keine High-Level-Konfiguration für die Checkpoint-Frequenz. Um die Checkpoint-Frequenz zu steuern, modifizieren Sie Ihr Trainingsskript mithilfe der Modellspeicherfunktionen oder Checkpoint-Callbacks des Frameworks.
-
Wenn Sie SageMaker-AI-Checkpoints zusammen mit SageMaker AI Debugger und SageMaker AI verwenden und Probleme haben, finden Sie auf den folgenden Seiten Informationen zur Problembehebung und Überlegungen.