Stellen Sie MLflow Modelle bereit mit ModelBuilder - Amazon SageMaker KI

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.

Stellen Sie MLflow Modelle bereit mit ModelBuilder

Mit Amazon SageMaker AI Model Builder können Sie MLflow Modelle auf einem SageMaker KI-Endpunkt bereitstellen. Weitere Informationen zu Amazon SageMaker AI Model Builder finden Sie unter Erstellen eines Modells in Amazon SageMaker AI mit ModelBuilder.

ModelBuilder ist eine Python-Klasse, die ein Framework-Modell oder eine benutzerdefinierte Inferenzspezifikation in ein bereitstellbares Modell konvertiert. Weitere Informationen zur ModelBuilder Klasse finden Sie unter ModelBuilder.

Um Ihr MLflow Modell mithilfe bereitzustellenModelBuilder, geben Sie im model_metadata["MLFLOW_MODEL_PATH"] Attribut einen Pfad zu Ihren MLflow Artefakten an. Weitere Informationen zu gültigen Eingabeformaten für Modellpfade finden Sie hier:

Anmerkung

Wenn Sie Ihren Modellartefaktpfad in Form einer MLflow Lauf-ID oder eines MLflow Modellregistrierungspfads angeben, müssen Sie auch Ihren Tracking-Server-ARN über das model_metadata["MLFLOW_TRACKING_ARN"] Attribut angeben.

Modellieren von Pfaden, für die ein ARN in den model_metadata erforderlich ist

Für die folgenden Modellpfade müssen Sie unter model_metadata für die Bereitstellung einen ARN angeben:

Modellpfade, für die unter model_metadata kein ARN erforderlich ist

Für die folgenden Modellpfade müssen Sie bei der Bereitstellung unter model_metadata keinen ARN angeben:

  • Lokaler Modellpfad: /Users/me/path/to/local/model

  • Amazon-S3-Modellpfad: s3://amzn-s3-demo-bucket/path/to/model

  • Modellpaket-ARN: arn:aws:sagemaker:region:account-id:mlflow-tracking-server/tracking-server-name

Weitere Informationen darüber, wie die MLflow Modellbereitstellung mit Amazon SageMaker AI funktioniert, finden Sie in der MLflow Dokumentation unter MLflowModell für Amazon SageMaker AI bereitstellen.

Wenn Sie einen Amazon-S3-Pfad verwenden, können Sie den Pfad Ihres registrierten Modells mit den folgenden Befehlen ermitteln:

registered_model = client.get_registered_model(name='AutoRegisteredModel') source_path = registered_model.latest_versions[0].source

Das folgende Beispiel gibt einen Überblick darüber, wie Sie Ihr MLflow Modell mithilfe ModelBuilder eines MLflow Modellregistrierungspfads bereitstellen können. Da dieses Beispiel den Modellartefaktpfad in Form eines MLflow Modellregistrierungspfads bereitstellt, ModelBuilder muss beim Aufruf von auch ein Trackingserver-ARN über das model_metadata["MLFLOW_TRACKING_ARN"] Attribut angegeben werden.

Wichtig

Sie müssen Version 2.224.0 oder höher des SageMaker Python-SDK verwenden, um es verwenden zu können. ModelBuilder

Anmerkung

Verwenden Sie das folgende Codebeispiel als Referenz. end-to-endBeispiele, die Ihnen zeigen, wie Sie registrierte MLflow Modelle bereitstellen, finden Sie unter. MLflow-Tutorials mit Beispiel-Jupyter-Notebooks

from sagemaker.serve import ModelBuilder from sagemaker.serve.mode.function_pointers import Mode from sagemaker.serve import SchemaBuilder my_schema = SchemaBuilder( sample_input=sample_input, sample_output=sample_output ) model_builder = ModelBuilder( mode=Mode.SAGEMAKER_ENDPOINT, schema_builder=my_schema, role_arn="Your-service-role-ARN", model_metadata={ # both model path and tracking server ARN are required if you use an mlflow run ID or mlflow model registry path as input "MLFLOW_MODEL_PATH": "models:/sklearn-model/1" "MLFLOW_TRACKING_ARN": "arn:aws:sagemaker:region:account-id:mlflow-tracking-server/tracking-server-name" } ) model = model_builder.build() predictor = model.deploy( initial_instance_count=1, instance_type="ml.c6i.xlarge" )

Um die Herkunftsverfolgung für MLflow Modelle aufrechtzuerhalten, die mit bereitgestellt wurdenModelBuilder, benötigen Sie die folgenden IAM-Berechtigungen:

  • sagemaker:CreateArtifact

  • sagemaker:ListArtifacts

  • sagemaker:AddAssociation

  • sagemaker:DescribeMLflowTrackingServer

Wichtig

Die Herkunftsnachverfolgung ist optional. Die Bereitstellung ist auch ohne Berechtigungen zur Herkunftsnachverfolgung erfolgreich. Wenn Sie die Berechtigungen nicht konfiguriert haben, wird Ihnen beim Aufrufen von model.deploy() ein Fehler bezüglich der Berechtigungen zur Herkunftsnachverfolgung angezeigt. Die Endpunktbereitstellung ist jedoch weiterhin erfolgreich und Sie können direkt mit Ihrem Modellendpunkt interagieren. Wenn die oben genannten Berechtigungen konfiguriert sind, werden Informationen zur Herkunftsnachverfolgung automatisch erstellt und gespeichert.

Weitere Informationen und end-to-end Beispiele finden Sie unter. MLflow-Tutorials mit Beispiel-Jupyter-Notebooks