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 Beispiel
s3://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.