翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
カスタムモデルのデプロイ
トレーニングが完了したら、推論用にモデルをデプロイします。カスタムモデルは、 CLI または SDK を使用してデプロイできます。
モデルアーティファクトを見つける
-
S3 バケットを確認する: モデルアーティファクトが に保存されていることを確認します。
s3://my-bucket/model-artifacts/
-
正確なパスを書き留める: フルパスが必要です (例:
s3://my-bucket/model-artifacts/test-pytorch-job/model.tar.gz
)
CLI を使用してデプロイする
次のコマンドを実行して、カスタムモデルをデプロイします。
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 \
このコマンドは、トレーニング済みモデルを という名前のエンドポイントとしてデプロイしますendpoint-custom-pytorch
。は、トレーニングジョブのアーティファクトパス--model-location
を参照します。
Python SDK を使用してデプロイする
次の内容の Python スクリプトを作成します。
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()
エンドポイントの呼び出し
CLI の使用
サンプル入力を使用してエンドポイントをテストします。
hyp invoke hyp-custom-endpoint \ --endpoint-name endpoint-custom-pytorch \ --body '{"inputs":"What is the capital of USA?"}'
これは、「米国の首都はワシントン D.C.」など、モデルのレスポンスを返します。
SDK の使用
Python スクリプトに次のコードを追加します。
data = '{"inputs":"What is the capital of USA?"}' response = custom_endpoint.invoke(body=data).body.read() print(response)
エンドポイントを管理する
CLI の使用
エンドポイントを一覧表示して検査します。
hyp list hyp-custom-endpoint hyp get hyp-custom-endpoint --name endpoint-custom-pytorch
SDK の使用
Python スクリプトに次のコードを追加します。
logs = custom_endpoint.get_logs() print(logs)
リソースをクリーンアップする
完了したら、不要なコストを避けるためにエンドポイントを削除します。
CLI の使用
hyp delete hyp-custom-endpoint --name endpoint-custom-pytorch
SDK の使用
custom_endpoint.delete()
次のステップ
SageMaker HyperPod を使用してカスタムモデルを正常にデプロイしてテストしました。このエンドポイントをアプリケーションで推論に使用できるようになりました。