Checkpoints bei Amazon SageMaker - Amazon SageMaker

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.

Checkpoints bei Amazon SageMaker

Verwenden Sie Checkpoints in Amazon SageMaker , um den Status von Modellen für maschinelles Lernen (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 verwaltetem Spot-Training, um Schulungskosten zu sparen.

Der SageMaker Trainingsmechanismus verwendet Trainingscontainer auf EC2 Amazon-Instances, und die Checkpoint-Dateien werden in einem lokalen Verzeichnis der Container gespeichert (die Standardeinstellung ist/opt/ml/checkpoints). SageMaker 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 Container geschrieben, sodass Jobs von einem Checkpoint aus wieder aufgenommen werden können. Checkpoints, die dem S3-Ordner nach dem Start des Jobs hinzugefügt wurden, werden nicht in den Trainingscontainer kopiert. SageMaker schreibt während des Trainings auch neue Checkpoints aus dem Container in S3. Wenn ein Checkpoint im SageMaker Container gelöscht wird, wird er auch im S3-Ordner gelöscht.

Sie können Checkpoints in Amazon SageMaker mit der Amazon S3 Express One Zone-Speicherklasse (S3 Express One Zone) für einen schnelleren Zugriff auf Checkpoints verwenden. Wenn Sie Checkpointing aktivieren und S3 URI für Ihr Checkpoint-Speicherziel angeben, können Sie ein S3 URI für einen Ordner entweder in einem S3-Allzweck-Bucket oder einem S3-Verzeichnis-Bucket angeben. S3-Verzeichnis-Buckets, in die integriert sind, SageMaker können nur mit serverseitiger Verschlüsselung mit verwalteten Amazon S3 S3-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 SageMaker verwaltetem Spot-Training verwenden, SageMaker verwaltet es das Checkpoint-Training Ihres Modells auf einer Spot-Instance und die Wiederaufnahme des Trainingsjobs auf der nächsten Spot-Instance. Mit SageMaker verwaltetem Spot-Training können Sie die abrechnungsfähige Zeit für das Training von ML-Modellen erheblich reduzieren. Weitere Informationen finden Sie unter Verwaltetes Spot-Training bei Amazon SageMaker.

Checkpoints für Frameworks und Algorithmen in SageMaker

Verwenden Sie Checkpoints, um Schnappschüsse von ML-Modellen zu speichern, die auf Ihren bevorzugten Frameworks basieren. SageMaker

SageMaker Frameworks und Algorithmen, die Checkpointing unterstützen

SageMaker unterstützt Checkpointing für AWS Deep Learning Containers und eine Untergruppe integrierter Algorithmen, ohne dass Änderungen am Trainingsskript erforderlich sind. SageMaker speichert die Checkpoints im lokalen Standardpfad '/opt/ml/checkpoints' und kopiert sie nach Amazon S3.

  • Deep Learning Containers: TensorFlowPyTorch, MXNet, und HuggingFace

    Anmerkung

    Wenn Sie den HuggingFace Framework-Estimator verwenden, müssen Sie einen Checkpoint-Ausgabepfad über Hyperparameter angeben. Weitere Informationen finden Sie in der HuggingFaceDokumentation unter Schulung SageMaker bei Amazon durchführen.

  • Integrierte Algorithmen: Bildklassifizierung, 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 XGBoost in der XGBoost SDK Python-Dokumentation unter Training.

Wenn in einem verwalteten Spot-Trainingsjob ein vorgefertigter Algorithmus verwendet wird, der Checkpointing SageMaker nicht unterstützt, ist eine maximale Wartezeit von mehr als einer Stunde für den Job nicht zulässig, um die durch Interrupts verschwendete Trainingszeit 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 Training ordnungsgemäß einrichten, APIs um Checkpoints im lokalen Pfad ('/opt/ml/checkpoints') zu speichern und aus dem lokalen Pfad in Ihrem Trainingsskript zu laden. SageMaker 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 verwenden. SageMaker

  • 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 SageMaker Checkpoint-Konfiguration auf hoher Ebene spezifiziert einen einzelnen Amazon S3 S3-Standort ohne zusätzliche Suffixe oder Präfixe, um Checkpoints von mehreren Instances zu kennzeichnen.

  • SageMaker Python unterstützt SDK 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 Checkpoints zusammen mit SageMaker Debugger und SageMaker verteiltem Debugger verwenden und dabei Probleme haben, finden Sie auf den folgenden Seiten Informationen zur Problembehandlung und Überlegungen.