Erstellen Sie einen Tracking-Server mit dem AWS CLI - 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 Sie einen Tracking-Server mit dem AWS CLI

Sie können einen Tracking-Server erstellen, indem Sie den verwenden, AWS CLI um die Sicherheit detaillierter anzupassen.

Voraussetzungen

Um einen Tracking-Server mit dem zu erstellen AWS CLI, benötigen Sie Folgendes:

  • Zugriff auf ein Terminal.Dies kann eine lokale InstanzIDEs, eine EC2 Amazon-Instance oder beinhalten AWS CloudShell.

  • Zugriff auf eine Entwicklungsumgebung. Dies kann eine lokale IDEs oder eine Jupyter-Notebook-Umgebung in Studio oder Studio Classic beinhalten.

  • Eine konfigurierte Installation. AWS CLI Weitere Informationen finden Sie unter Konfigurieren der AWS CLI.

  • Eine IAM Rolle mit den entsprechenden Berechtigungen. Für die folgenden Schritte muss Ihre Umgebung über die iam:ListPolicies Berechtigungen iam:CreateRoleiam:CreatePolicy,iam:AttachRolePolicy, und verfügen. Diese Berechtigungen sind für die Rolle erforderlich, mit der die Schritte in diesem Benutzerhandbuch ausgeführt werden. Die Anweisungen in diesem Handbuch erstellen eine IAM Rolle, die als Ausführungsrolle des MLflow Tracking-Servers verwendet wird, sodass dieser auf Daten in Ihren Amazon S3 S3-Buckets zugreifen kann. Darüber hinaus wird eine Richtlinie erstellt, um der IAM Rolle des Benutzers, der über den Tracking-Server interagiert, die MLflow SDK Berechtigung zum Anrufen MLflow APIs zu erteilen. Weitere Informationen finden Sie unter Ändern einer Rollenberechtigungsrichtlinie (Konsole).

    Wenn Sie ein SageMaker Studio-Notebook verwenden, aktualisieren Sie die Servicerolle für Ihr Studio-Benutzerprofil mit diesen IAM Berechtigungen. Um die Servicerolle zu aktualisieren, navigieren Sie zur SageMaker Konsole und wählen Sie die Domain aus, die Sie verwenden. Wählen Sie dann unter der Domäne das Benutzerprofil aus, das Sie verwenden. Dort wird die Servicerolle aufgeführt. Navigieren Sie zur IAM Konsole, suchen Sie unter Rollen nach der Servicerolle und aktualisieren Sie Ihre Rolle mit einer Richtlinieiam:CreateRole, die die iam:ListPolicies Aktioneniam:CreatePolicy,iam:AttachRolePolicy, und zulässt.

AWS CLI Modell einrichten

Folgen Sie diesen Befehlszeilenschritten in einem Terminal, um das AWS CLI für Amazon SageMaker einzurichtenMLflow.

  1. Installieren Sie eine aktualisierte Version von AWS CLI. Weitere Informationen finden Sie im AWS CLI Benutzerhandbuch unter Installation oder Aktualisierung AWS CLI auf die neueste Version von.

  2. Stellen Sie mit dem folgenden Befehl sicher, dass der installiert AWS CLI ist:

    aws sagemaker help

    Drücken Sieq, um die Eingabeaufforderung zu beenden.

    Hilfe zur Problembehebung finden Sie unter Beheben Sie häufig auftretende Einrichtungsprobleme.

MLflowInfrastruktur einrichten

Im folgenden Abschnitt erfahren Sie, wie Sie einen MLflow Tracking-Server zusammen mit dem Amazon S3 S3-Bucket und der IAM Rolle einrichten, die für den Tracking-Server benötigt werden.

Erstellen eines S3-Buckets

Verwenden Sie in Ihrem Terminal die folgenden Befehle, um einen Amazon S3 S3-Bucket für allgemeine Zwecke zu erstellen:

Anmerkung

Der Amazon S3 S3-Bucket, der für Ihren Artifact Store verwendet wird, muss sich auf demselben befinden AWS-Region wie Ihr Tracking-Server.

bucket_name=bucket-name region=valid-region aws s3api create-bucket \ --bucket $bucket_name \ --region $region \ --create-bucket-configuration LocationConstraint=$region

Die Ausgabe sollte folgendermaßen oder ähnlich aussehen:

{ "Location": "/bucket-name" }

Richten Sie IAM Vertrauensrichtlinien ein

Gehen Sie wie folgt vor, um eine IAM Vertrauensrichtlinie zu erstellen. Weitere Informationen zu Rollen und Vertrauensrichtlinien finden Sie im AWS Identity and Access Management Benutzerhandbuch unter Begriffe und Konzepte für Rollen.

  1. Verwenden Sie in Ihrem Terminal den folgenden Befehl, um eine Datei mit dem Namen zu erstellenmlflow-trust-policy.json.

    cat <<EOF > /tmp/mlflow-trust-policy.json { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "sagemaker.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] } EOF
  2. Verwenden Sie in Ihrem Terminal den folgenden Befehl, um eine Datei mit dem Namen zu erstellencustom-policy.json.

    cat <<EOF > /tmp/custom-policy.json { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:Get*", "s3:Put*", "sagemaker:AddTags", "sagemaker:CreateModelPackageGroup", "sagemaker:CreateModelPackage", "sagemaker:DescribeModelPackageGroup", "sagemaker:UpdateModelPackage", "s3:List*" ], "Resource": "*" } ] } EOF
  3. Verwenden Sie die Vertrauensrichtliniendatei, um eine Rolle zu erstellen. Fügen Sie dann IAM Rollenrichtlinien hinzu, die MLflow den Zugriff auf Amazon S3 und SageMaker Model Registry in Ihrem Konto ermöglichen. MLflowSie müssen Zugriff auf Amazon S3 für den Artefaktspeicher Ihres Tracking-Servers und auf die SageMaker Modellregistrierung für die automatische Modellregistrierung haben.

    Anmerkung

    Wenn Sie eine bestehende Rolle aktualisieren, verwenden Sie stattdessen den folgenden Befehl:aws iam update-assume-role-policy --role-name $role_name --policy-document file:///tmp/mlflow-trust-policy.json.

    role_name=role-name aws iam create-role \ --role-name $role_name \ --assume-role-policy-document file:///tmp/mlflow-trust-policy.json aws iam put-role-policy \ --role-name $role_name \ --policy-name custom-policy \ --policy-document file:///tmp/custom-policy.json role_arn=$(aws iam get-role --role-name $role_name --query 'Role.Arn' --output text)

MLflowTracking-Server erstellen

Verwenden Sie in Ihrem Terminal den, create-mlflow-tracking-server API um einen Tracking-Server auf dem AWS-Region Ihrer Wahl zu erstellen. Dieser Schritt kann bis zu 25 Minuten dauern.

Sie können optional die Größe Ihres Tracking-Servers mit dem Parameter angeben--tracking-server-config. Wählen Sie zwischen "Small""Medium", und"Large". Die Standardgröße der MLflow Tracking Server-Konfiguration ist"Small". Sie können eine Größe wählen, die von der voraussichtlichen Nutzung des Tracking-Servers abhängt, z. B. von der Menge der protokollierten Daten, der Anzahl der Benutzer und der Nutzungshäufigkeit. Weitere Informationen finden Sie unter MLflowServergrößen verfolgen.

Mit dem folgenden Befehl wird ein neuer Tracking-Server mit aktivierter automatischer Modellregistrierung erstellt. Um die automatische Modellregistrierung zu deaktivieren, geben Sie an--no-automatic-model-registration.

Nachdem Sie Ihren Tracking-Server erstellt haben, können Sie die MLflow Benutzeroberfläche starten. Weitere Informationen finden Sie unter Starten Sie die MLflow-Benutzeroberfläche mit einer vorsignierten URL.

Anmerkung

Es kann bis zu 25 Minuten dauern, bis die Erstellung des Trackingservers abgeschlossen ist. Wenn die Erstellung des Tracking-Servers mehr als 25 Minuten dauert, überprüfen Sie, ob Sie über die erforderlichen IAM Berechtigungen verfügen. Weitere Informationen zu IAM Berechtigungen finden Sie unterRichten Sie IAM Berechtigungen ein für MLflow. Wenn Sie erfolgreich einen Tracking-Server erstellt haben, wird er automatisch gestartet.

ts_name=tracking-server-name region=valid-region aws sagemaker create-mlflow-tracking-server \ --tracking-server-name $ts_name \ --artifact-store-uri s3://$bucket_name \ --role-arn $role_arn \ --automatic-model-registration \ --region $region

Die Ausgabe sollte folgendermaßen oder ähnlich aussehen:

{ "TrackingServerArn": "arn:aws:sagemaker:region:123456789012:mlflow-tracking-server/tracking-server-name" }
Wichtig

Notieren Sie sich den Tracking-Server ARN für die spätere Verwendung. Sie benötigen außerdem die Schritte $bucket_name zum Aufräumen.