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.
Bereitstellen eines benutzerdefinierten Modells
Stellen Sie nach Abschluss des Trainings Ihr Modell für Inferenzzwecke bereit. Sie können ein benutzerdefiniertes Modell entweder mit der CLI oder dem SDK bereitstellen.
Lokalisieren der 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 Beispiel
s3://my-bucket/model-artifacts/test-pytorch-job/model.tar.gz)
Bereitstellen mit der CLI
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 \ --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://<bucket_name>\ --instance-type ml.g5.8xlarge \ --endpoint-name endpoint-custom-pytorch \ --model-name pytorch-custom-model
Dieser Befehl stellt das trainierte Modell als Endpunkt mit dem Namen endpoint-custom-pytorch bereit. Der --model-location verweist auf den Artefaktpfad aus dem Trainingsjob.
Bereitstellung mit dem Python SDK
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", 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://<bucket_name>") 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 den folgenden Code in Ihr Python-Skript ein:
data = '{"inputs":"What is the capital of USA?"}' response = custom_endpoint.invoke(body=data).body.read() print(response)
Verwalten der Endpunkte
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 den folgenden Code in Ihr Python-Skript ein:
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 nun für Inferenzen in Ihren Anwendungen verwenden.