Stellen Sie ein benutzerdefiniertes Modell bereit - 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 ein benutzerdefiniertes Modell bereit

Stellen Sie nach Abschluss des Trainings Ihr Modell für Inferenz bereit. Sie können ein benutzerdefiniertes Modell entweder mit der CLI oder dem SDK bereitstellen.

Suchen Sie Ihre Modellartefakte

  • Überprüfen Sie Ihren S3-Bucket: Stellen Sie sicher, dass Modellartefakte unter gespeichert sind s3://my-bucket/model-artifacts/

  • Notieren Sie sich den genauen Pfad: Sie benötigen den vollständigen Pfad (zum Beispiels3://my-bucket/model-artifacts/test-pytorch-job/model.tar.gz)

Mit der CLI bereitstellen

Führen Sie den folgenden Befehl aus, um Ihr benutzerdefiniertes Modell bereitzustellen:

hyp create hyp-custom-endpoint \ --version 1.0 \ --env '{"HF_MODEL_ID":"/opt/ml/model", "SAGEMAKER_PROGRAM":"inference.py", }' \ --model-source-type s3 \ --model-location test-pytorch-job/model.tar.gz \ --s3-bucket-name my-bucket \ --s3-region us-east-2 \ --prefetch-enabled true \ --image-uri 763104351884.dkr.ecr.us-east-1.amazonaws.com/pytorch-inference:latest \ --model-volume-mount-name model-weights \ --container-port 8080 \ --resources-requests '{"cpu": "30000m", "nvidia.com/gpu": 1, "memory": "100Gi"}' \ --resources-limits '{"nvidia.com/gpu": 1}' \ --tls-output-s3-uri s3://tls-bucket-inf1-beta2 \ --instance-type ml.g5.8xlarge \ --endpoint-name endpoint-custom-pytorch \ --model-name pytorch-custom-model \

Mit diesem Befehl wird das trainierte Modell als Endpunkt mit dem Namen endpoint-custom-pytorch bereitgestellt. Der --model-location verweist auf den Artefaktpfad aus dem Trainingsjob.

Mit dem Python-SDK bereitstellen

Erstellen Sie ein Python-Skript mit dem folgenden Inhalt:

from sagemaker.hyperpod.inference.config.hp_custom_endpoint_config import Model, Server, SageMakerEndpoint, TlsConfig, EnvironmentVariables from sagemaker.hyperpod.inference.hp_custom_endpoint import HPCustomEndpoint model = Model( model_source_type="s3", model_location="test-pytorch-job/model.tar.gz", s3_bucket_name="my-bucket", s3_region="us-east-2", prefetch_enabled=True ) server = Server( instance_type="ml.g5.8xlarge", image_uri="763104351884.dkr.ecr.us-east-2.amazonaws.com/huggingface-pytorch-tgi-inference:2.4.0-tgi2.3.1-gpu-py311-cu124-ubuntu22.04-v2.0", container_port=8080, model_volume_mount_name="model-weights" ) resources = { "requests": {"cpu": "30000m", "nvidia.com/gpu": 1, "memory": "100Gi"}, "limits": {"nvidia.com/gpu": 1} } env = EnvironmentVariables( HF_MODEL_ID="/opt/ml/model", SAGEMAKER_PROGRAM="inference.py", SAGEMAKER_SUBMIT_DIRECTORY="/opt/ml/model/code", MODEL_CACHE_ROOT="/opt/ml/model", SAGEMAKER_ENV="1" ) endpoint_name = SageMakerEndpoint(name="endpoint-custom-pytorch") tls_config = TlsConfig(tls_certificate_output_s3_uri="s3://tls-bucket-inf1-beta2") custom_endpoint = HPCustomEndpoint( model=model, server=server, resources=resources, environment=env, sage_maker_endpoint=endpoint_name, tls_config=tls_config, ) custom_endpoint.create()

Rufen Sie den Endpunkt auf

Verwenden der CLI

Testen Sie den Endpunkt mit einer Beispieleingabe:

hyp invoke hyp-custom-endpoint \ --endpoint-name endpoint-custom-pytorch \ --body '{"inputs":"What is the capital of USA?"}'

Dadurch wird die Antwort des Modells zurückgegeben, z. B. „Die Hauptstadt der USA ist Washington, D.C.“

Verwenden der SDK

Fügen Sie Ihrem Python-Skript den folgenden Code hinzu:

data = '{"inputs":"What is the capital of USA?"}' response = custom_endpoint.invoke(body=data).body.read() print(response)

Verwalte den Endpunkt

Verwenden der CLI

Listen Sie den Endpunkt auf und überprüfen Sie ihn:

hyp list hyp-custom-endpoint hyp get hyp-custom-endpoint --name endpoint-custom-pytorch

Verwenden der SDK

Fügen Sie Ihrem Python-Skript den folgenden Code hinzu:

logs = custom_endpoint.get_logs() print(logs)

Bereinigen von -Ressourcen

Wenn Sie fertig sind, löschen Sie den Endpunkt, um unnötige Kosten zu vermeiden.

Verwenden der CLI

hyp delete hyp-custom-endpoint --name endpoint-custom-pytorch

Verwenden der SDK

custom_endpoint.delete()

Nächste Schritte

Sie haben erfolgreich ein benutzerdefiniertes Modell bereitgestellt und getestet mit SageMaker HyperPod. Sie können diesen Endpunkt jetzt für Inferenzen in Ihren Anwendungen verwenden.