Ein Modell kompilieren (Konsole von Amazon SageMaker AI) - Amazon SageMaker AI

Ein Modell kompilieren (Konsole von Amazon SageMaker AI)

Sie können einen Kompilierungsjob von Amazon SageMaker Neo in der Konsole von Amazon SageMaker AI erstellen.

  1. Hierfür wählen Sie in der Konsole von Amazon SageMaker AI die Option Kompilierungsjobs und dann Kompilierungsjob erstellen aus.

    Erstellen eines Kompilierungsauftrags
  2. Geben Sie auf der Seite Create compilation job unter Job name einen Namen ein. Anschließend wählen Sie unter IAM role (IAM-Rolle) eine Rolle aus.

    Seite „Kompilierungsjob erstellen“
  3. Wenn Sie keine IAM-Rolle haben, wählen Sie Create a new role (Neue Rolle erstellen) aus.

    Option „IAM-Rolle erstellen“
  4. Wählen Sie auf der Seite Create an IAM role (IAM-Rolle erstellen) die Option Any S3 bucket (Beliebiger S3-Bucket) aus und klicken Sie dann auf Create role (Rolle erstellen).

    Seite „IAM-Rolle erstellen“
  5. Non PyTorch Frameworks

    Im Bereich Input configuration geben Sie unter Location of model artifacts den Pfad des S3-Buckets ein, in dem Ihre Modellartefakte gespeichert sind. Ihre Modellartefakte müssen in einem komprimierten Tarball-Dateiformat (.tar.gz) vorliegen.

    Geben Sie für das Feld Data input configuration die JSON-Zeichenfolge ein, die die Form der Eingabedaten angibt.

    Unter Machine Learning Framework wählen Sie das Framework aus.

    Seite „Eingabekonfiguration“

    Beispiele für JSON-Zeichenketten für Eingabedatenformen in Abhängigkeit von den Frameworks finden Sie unter Welche Eingabedatenformen erwartet Neo.

    PyTorch Framework

    Ähnliche Anweisungen gelten für die Kompilierung von PyTorch-Modellen. Wenn Sie jedoch mit PyTorch trainiert haben und versuchen, das Modell für ml_* (außerml_inf) Ziel zu kompilieren, können Sie optional die Version von PyTorch angeben, die Sie verwendet haben.

    Beispiel für den Abschnitt Eingabekonfiguration, das zeigt, wo die Framework-Version ausgewählt werden kann.

    Beispiele für JSON-Strings von Eingabedatenformen je nach Framework finden Sie unter Welche Eingabedatenformen erwartet Neo.

    Hinweise
    • Wenn Sie Ihr Modell mit PyTorch Version 2.0 oder höher gespeichert haben, ist das Konfigurationsfeld für die Dateneingabe optional. SageMaker Neo ruft die Eingabekonfiguration aus der Modelldefinitionsdatei ab, die Sie mit PyTorch erstellen. Weitere Informationen zum Erstellen der Definitionsdatei finden Sie im PyTorch Abschnitt Speichern von Modellen für SageMaker AI Neo.

    • Verwenden Sie beim Kompilieren für ml_* Instances mit dem PyTorch-Framework das Feld Compiler options in der Output Configuration, um den richtigen Datentyp (dtype) der Modelleingabe anzugeben. Der Standard ist auf "float32" gesetzt.

    Beispiel für den Abschnitt Ausgabekonfiguration.
    Warnung

    Wenn Sie einen Amazon-S3-Bucket-URI-Pfad angeben, der zu einer .pth Datei führt, erhalten Sie nach dem Start der Kompilierung die folgende Fehlermeldung: ClientError: InputConfiguration: Unable to untar input model.Please confirm the model is a tar.gz file

  6. Gehen Sie zum Abschnitt Ausgabekonfiguration. Wählen Sie aus, wo Sie Ihr Modell bereitstellen möchten. Sie können Ihr Modell auf einem Target-device oder einer Target platform bereitstellen. Zu den Zielgeräten gehören Cloud- und Edge-Geräte. Zielplattformen beziehen sich auf bestimmte Betriebssysteme, Architekturen und Beschleuniger, auf denen Ihr Modell ausgeführt werden soll.

    Geben Sie für S3 Output location den Pfad zum S3 bucket, in dem das kompilierte Modell gespeichert werden soll. Sie können optional Compiler-Optionen im JSON-Format im Abschnitt Compiler options hinzufügen.

    Seite „Ausgabekonfiguration“
  7. Überprüfen Sie den Status des Kompilierungsauftrags, wenn er gestartet wurde. Dieser Status des Job befindet sich oben auf der Seite mit dem Compilation Job, wie im folgenden Screenshot gezeigt. Sie können den Status auch in der Status Spalte überprüfen.

    Status des Kompilierungsauftrags
  8. Überprüfen Sie den Status des Kompilierungsauftrags, wenn er abgeschlossen wurde. Sie können den Status in der Status Spalte überprüfen, wie im folgenden Bildschirmfoto gezeigt.

    Status des Kompilierungsauftrags