Erstellen einer Algorithmusressource - 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.

Erstellen einer Algorithmusressource

Um eine Algorithmusressource zu erstellen, mit der Sie Schulungsaufträge in Amazon ausführen SageMaker und in veröffentlichen können, AWS Marketplace geben Sie die folgenden Informationen an:

  • Die Docker-Container mit dem Schulungs- und optional dem Inferenzcode.

  • Die Konfiguration der Eingabedaten, die Ihr Algorithmus für die Schulung erwartet.

  • Die Hyperparameter, die Ihr Algorithmus unterstützt.

  • Metriken, die Ihr Algorithmus CloudWatch während Trainingsaufträgen an Amazon sendet.

  • Die Instance-Typen, die Ihr Algorithmus zu Schulungs- und Inferenzzwecken unterstützt, und die Angabe, ob verteilte Schulungen über mehrere Instances hinweg unterstützt werden.

  • Validierungsprofile, bei denen es sich um Trainingsaufträge handelt, die SageMaker verwendet, um den Trainingscode Ihres Algorithmus zu testen, und Batch-Transformationsaufträge, die SageMaker ausgeführt werden, um den Inferenzcode Ihres Algorithmus zu testen.

    Um sicherzustellen, dass Käufer und Verkäufer sich darauf verlassen können, dass Produkte in SageMaker funktionieren, verlangen wir, dass Sie Ihre Algorithmen validieren, bevor Sie sie in AWS Marketplace anbieten. Sie können Produkte nur dann in der auflisten AWS Marketplace , wenn die Validierung erfolgreich ist. Um Ihre Algorithmen zu validieren, SageMaker verwendet Ihr Validierungsprofil und Ihre Beispieldaten, um die folgenden Validierungsaufgaben auszuführen:

    1. Erstellen Sie einen Trainingsauftrag in Ihrem Konto, um zu überprüfen, ob Ihr Trainingsbild mit funktioniert SageMaker.

    2. Wenn Sie Inferenzcode in Ihren Algorithmus einbezogen haben, erstellen Sie ein Modell in Ihrem Konto mithilfe des Inferenzabbilds des Algorithmus und der Modellartefakte, die vom Schulungsauftrag generiert wurden.

    3. Wenn Sie Inferenzcode in Ihren Algorithmus aufgenommen haben, erstellen Sie mithilfe des Modells einen Transformationsauftrag in Ihrem Konto, um zu überprüfen, ob Ihr Inferenzbild mit funktioniert SageMaker.

    Wenn Sie Ihr Produkt in auflisten AWS Marketplace, bleiben die Eingaben und Ausgaben dieses Validierungsprozesses als Teil Ihres Produkts erhalten und werden Ihren Käufern zur Verfügung gestellt. Auf diese Weise können Käufer das Produkt verstehen und beurteilen, bevor sie es kaufen. Käufer können z. B. die von Ihnen verwendeten Eingabedaten, die generierten Ausgaben sowie die Protokolle und Metriken, die von Ihrem Code ausgegeben werden, inspizieren. Je umfassender Ihre Validierungsspezifikation ist, desto einfacher ist es für die Kunden, Ihr Produkt zu beurteilen.

    Anmerkung

    Geben Sie in Ihrem Validierungsprofil nur Daten an, die Sie öffentlich bereitstellen möchten.

    Die Validierung kann einige Stunden in Anspruch nehmen. Den Status der Aufträge in Ihrem Konto finden Sie in der - SageMaker Konsole auf den Seiten Trainingsaufträge und Transformationsaufträge. Wenn die Validierung fehlschlägt, können Sie über die SageMaker -Konsole auf die Scan- und Validierungsberichte zugreifen. Wenn Probleme gefunden werden, müssen Sie den Algorithmus erneut erstellen.

    Anmerkung

    Um Ihren Algorithmus auf zu veröffentlichen AWS Marketplace, ist mindestens ein Validierungsprofil erforderlich.

Sie können einen Algorithmus erstellen, indem Sie entweder die - SageMaker Konsole oder die SageMaker -API verwenden.

Erstellen einer Algorithmusressource (Konsole)

So erstellen Sie eine Algorithmusressource (Konsole)
  1. Öffnen Sie die - SageMaker Konsole unter https://console.aws.amazon.com/sagemaker/.

  2. Wählen Sie aus dem linken Menü Training aus.

  3. Wählen Sie aus dem Drop-down-Menü die Option Algorithmen und dannAlgorithmus erstellen aus.

  4. Geben Sie auf der Seite Training specifications (Schulungsspezifikationen) folgende Informationen an:

    1. Geben Sie unter Algorithm name (Name des Algorithmus) einen Namen für den Algorithmus ein. Der Algorithmusname muss in Ihrem Konto und in der AWS Region eindeutig sein. Der Name muss 1 bis 64 Zeichen enthalten. Gültige Zeichen sind a–z, A-Z, 0–9 und Bindestrich (–).

    2. Geben Sie eine Beschreibung für den Algorithmus ein. Diese Beschreibung wird in der - SageMaker Konsole und in der angezeigt AWS Marketplace.

    3. Geben Sie unter Trainingsbild den Pfad in Amazon ECR ein, in dem Ihr Trainingscontainer gespeichert ist.

    4. Wählen Sie für Support distributed training (Verteilte Schulungen unterstützen) die Option Yes (Ja) aus, wenn Ihr Algorithmus Schulungen auf mehreren Instances unterstützt. Wählen Sie andernfalls No (Nein) aus.

    5. Wählen Sie für Support instance types for training (Instance-Typen für Schulungen unterstützen) die Instance-Typen aus, die Ihr Algorithmus unterstützt.

    6. Geben Sie für Channel specification (Kanalspezifikation) bis zu 8 Kanäle für Eingabedaten Ihres Algorithmus an. Sie können beispielsweise 3 Eingabekanäle mit dem Namen train, validation und test angeben. Geben Sie für jeden Kanal die folgenden Informationen an:

      1. Geben Sie im Feld Channel name (Kanalname) einen Namen für den Kanal ein. Der Name muss 1 bis 64 Zeichen enthalten. Gültige Zeichen sind a–z, A-Z, 0–9 und Bindestrich (–).

      2. Damit der Kanal für Ihren Algorithmus angefordert wird, wählen Sie Channel required (Kanal erforderlich) aus.

      3. Geben Sie eine Beschreibung für den Kanal ein.

      4. Wählen Sie für Supported input modes (Unterstützte Eingabemodi) die Option Pipe mode (Pipe-Modus) aus, wenn Ihr Algorithmus das Streamen von Eingabedaten unterstützt, und File mode (Dateimodus), wenn Ihr Algorithmus das Herunterladen der Eingabedaten als Datei unterstützt. Sie können beides auswählen.

      5. Geben Sie für Supported content types (Unterstützte Inhaltstypen) den MIME-Typ ein, den Ihr Algorithmus für Eingabedaten erwartet.

      6. Wählen Sie für Supported compression type (Unterstützter Komprimierungstyp) die Option Gzip aus, wenn Ihr Algorithmus die Gzip-Komprimierung unterstützt. Klicken Sie andernfalls auf None (Keine).

      7. Wählen Sie Add (Hinzufügen) zum Hinzufügen einer weiteren Dateneingabe oder Next (Weiter) aus, wenn Sie damit fertig sind.

  5. Geben Sie auf der Seite Tuning specifications (Optimierungsspezifikationen) folgende Informationen an:

    1. Geben Sie für Hyperparameter specification (Hyperparameterspezifikation) die Hyperparameter ein, die Ihr Algorithmus durch Bearbeiten des JSON-Objekts unterstützt. Erstellen Sie für jeden von Ihrem Algorithmus unterstützten Hyperparameter einen JSON-Block, der etwa wie folgt aussieht:

      { "DefaultValue": "5", "Description": "The first hyperparameter", "IsRequired": true, "IsTunable": false, "Name": "intRange", "Range": { "IntegerParameterRangeSpecification": { "MaxValue": "10", "MinValue": "1" }, "Type": "Integer" }

      Geben Sie Folgendes in die JSON ein:

      1. Geben Sie für DefaultValue einen Standardwert für den Hyperparameter an, falls vorhanden.

      2. Geben Sie für Description eine Beschreibung für den Hyperparameter ein.

      3. Geben Sie für IsRequired an, ob der Hyperparameter erforderlich ist.

      4. Geben Sie für IsTunable true an, falls dieser Hyperparameter optimiert werden kann, wenn ein Benutzer einen Hyperparameteroptimierung ausführt, der diesen Algorithmus verwendet. Weitere Informationen finden Sie unter Führen Sie eine automatische Modelloptimierung durch mit SageMaker.

      5. Geben Sie für Name einem Namen für den Hyperparameter ein.

      6. Geben Sie für Range einen der folgenden Werte an:

        • IntegerParameterRangeSpecification – Die Werte der Hyperparameter sind Ganzzahlen. Geben Sie die Mindest- und Höchstwerte für den Hyperparameter an.

        • ContinuousParameterRangeSpecification – Die Werte des Hyperparameters sind Gleitkommawerte. Geben Sie die Mindest- und Höchstwerte für den Hyperparameter an.

        • CategoricalParameterRangeSpecification – Die Werte des Hyperparameters sind kategorische Werte. Geben Sie eine Liste aller möglichen Werte an.

      7. Legen Sie für Type die Option Integer, Continuous oder Categorical fest. Der Wert muss dem Typ Range entsprechen, den Sie angegeben haben.

    2. Geben Sie für Metrikdefinitionen alle Trainingsmetriken an, die Ihr Algorithmus ausgeben soll. SageMaker verwendet den regulären Ausdruck, den Sie angeben, um die Metriken zu finden, indem Sie die Protokolle aus Ihrem Trainingscontainer während des Trainings analysieren. Benutzer können diese Metriken anzeigen, wenn sie Schulungsaufträge mit Ihrem Algorithmus ausführen, und sie können die Metriken in Amazon überwachen und darstellen CloudWatch. Weitere Informationen finden Sie unter Überwachen und analysieren Sie Schulungsjobs mithilfe von Amazon CloudWatch Metrics. Stellen Sie für jede Metrik die folgenden Informationen bereit:

      1. Geben Sie für Metric name (Metrikname) einen Namen für die Metrik ein.

      2. Geben Sie für den regulären Ausdruck einRegex, den SageMaker verwendet, um Trainingsprotokolle zu analysieren, damit er den Metrikwert finden kann.

      3. Wählen Sie für Objective metric support (Unterstützung für objektive Metrik) die Option Yes (Ja) aus, wenn diese Metrik als objektive Metrik für einen Hyperparameteroptimierungsauftrag verwendet werden kann. Weitere Informationen finden Sie unter Führen Sie eine automatische Modelloptimierung durch mit SageMaker.

      4. Wählen Sie Add metric (Metrik hinzufügen) zum Hinzufügen einer weiteren Metrik oder Next (Weiter) aus, wenn Sie damit fertig sind.

  6. Geben Sie auf der Seite Inference specifications (Inferenzspezifikationen) die folgenden Informationen ein, wenn Ihr Algorithmus Inferenz unterstützt:

    1. Geben Sie bei Speicherort des Inferenzabbild den Pfad in Amazon ECR ein, unter dem Ihr Inferenz-Container gespeichert ist.

    2. Geben Sie für Container DNS host name (DNS-Hostname des Containers) den Namen eines DNS-Hosts für Ihr Abbild ein.

    3. Wählen Sie für Supported instance types for real-time inference (Unterstützte Instance-Typen für Echtzeitinferenz) die Instance-Typen aus, die Ihr Algorithmus für Modelle unterstützt, die als gehostete Endpunkte in SageMaker bereitgestellt werden. Weitere Informationen finden Sie unter Modelle für Inference einsetzen.

    4. Wählen Sie für Supported instance types for batch transform jobs (Unterstützte Instance-Typen für Stapelumwandlungsaufträge) die Instance-Typen aus, die Ihr Algorithmus für Stapelumwandlungsaufträge unterstützt. Weitere Informationen finden Sie unter Verwenden Sie die Batch-Transformation, um Inferenzen mit Amazon auszuführen SageMaker.

    5. Geben Sie für Supported content types (Unterstützte Inhaltstypen) den Typ der Eingabedaten ein, den Ihr Algorithmus für Inferenzanforderungen erwartet.

    6. Geben Sie für Supported response MIME types (Unterstützte MIME-Antworttypen) die MIME-Typen ein, die Ihr Algorithmus für Inferenzantworten unterstützt.

    7. Wählen Sie Weiter aus.

  7. Geben Sie auf der Seite Validation specifications (Validierungsspezifikationen) folgende Informationen an:

    1. Wählen Sie für diesen Algorithmus auf veröffentlichen AWS Marketplace die Option Ja aus, um den Algorithmus auf zu veröffentlichen AWS Marketplace.

    2. Wählen Sie für Diese Ressource validieren die Option Ja aus, wenn Sie Trainingsaufträge und/oder Batch-Transformationsaufträge SageMaker ausführen möchten, die Sie zum Testen des Trainings- und/oder Inferenzcodes Ihres Algorithmus angeben.

      Anmerkung

      Um Ihren Algorithmus auf zu veröffentlichen AWS Marketplace, muss Ihr Algorithmus validiert werden.

    3. Wählen Sie für IAM-Rolle eine IAM-Rolle aus, die über die erforderlichen Berechtigungen zum Ausführen von Schulungsaufträgen und Batch-Transformationsaufträgen in verfügt SageMaker, oder wählen Sie Neue Rolle erstellen, damit eine Rolle SageMaker erstellen kann, an die die AmazonSageMakerFullAccess verwaltete Richtlinie angehängt ist. Weitere Informationen finden Sie unter Wie verwendet man SageMaker Ausführungsrollen.

    4. Geben Sie für Validation profile (Validierungsprofil) Folgendes an:

      • Einen Namen für das Validierungsprofil.

      • Eine Training job definition (Schulungsauftragsdefinition). Hierbei handelt es sich um einen JSON-Block, der einen Schulungsauftrag beschreibt. Dieser hat dasselbe Format wie der TrainingJobDefinition-Eingabeparameter der CreateAlgorithm-API.

      • Eine Transform job definition (Umwandlungsauftragsdefinition). Hierbei handelt es sich um einen JSON-Block, der einen Stapelumwandlungsauftrag beschreibt. Dieser hat dasselbe Format wie der TransformJobDefinition-Eingabeparameter der CreateAlgorithm-API.

    5. Wählen Sie Create algorithm (Algorithmus erstellen) aus.

Erstellen einer Algorithmusressource (API)

Um eine Algorithmusressource mithilfe der - SageMaker API zu erstellen, rufen Sie die CreateAlgorithm-API auf.