非圧縮モデルのデプロイ - Amazon SageMaker

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

非圧縮モデルのデプロイ

ML モデルをデプロイする場合、モデルアーティファクトを tar.gz フォーマットにアーカイブして圧縮するという方法があります。この方法は小さなモデルには適していますが、数千億のパラメータを含む大規模なモデルアーティファクトを圧縮し、エンドポイントで解凍するにはかなりの時間がかかる場合があります。大規模なモデル推論には、非圧縮 ML モデルをデプロイすることをお勧めします。このガイドでは、非圧縮 ML モデルをデプロイする方法を説明します。

非圧縮 ML モデルをデプロイするには、すべてのモデルアーティファクトを Amazon S3 にアップロードし、共通の Amazon S3 プレフィックスで整理します。Amazon S3 プレフィックスは、Amazon S3 オブジェクトキー名の先頭にある文字列で、名前の残りの部分と区切り文字で区切られています。プレフィックスの詳細については、「プレフィックスを使用してオブジェクトを整理する」を参照してください。

でデプロイするには SageMaker、区切り文字としてスラッシュ (/) を使用する必要があります。ML モデルに関連するアーティファクトのみがプレフィックスで整理されていることを確認する必要があります。単一の圧縮されていないアーティファクトを持つ ML モデルの場合、プレフィックスはキー名と同じになります。プレフィックスに関連付けられているオブジェクトを で確認できます。 AWS CLI:

aws s3 ls --recursive s3://bucket/prefix

モデルアーティファクトを Amazon S3 にアップロードし、共通のプレフィックスで整理した後、CreateModelリクエストを呼び出すときに、その場所を ModelDataSource フィールドの一部として指定できます。 SageMaker は推論/opt/ml/modelのために、圧縮されていないモデルアーティファクトを に自動的にダウンロードします。アーティファクトのダウンロード時に が SageMaker 使用するルールの詳細については、S3ModelDataSource」を参照してください。

次のコードスニペットは、非圧縮モデルをデプロイCreateModelAPIするときに を呼び出す方法を示しています。を置き換える italicized user text 自分の情報を入力します。

model_name = "model-name" sagemaker_role = "arn:aws:iam::123456789012:role/SageMakerExecutionRole" container = "123456789012.dkr.ecr.us-west-2.amazonaws.com/inference-image:latest" create_model_response = sagemaker_client.create_model( ModelName = model_name, ExecutionRoleArn = sagemaker_role, PrimaryContainer = { "Image": container, "ModelDataSource": { "S3DataSource": { "S3Uri": "s3://amzn-s3-demo-bucket/prefix/to/model/data/", "S3DataType": "S3Prefix", "CompressionType": "None", }, }, }, )

前述の例では、モデルアーティファクトが共通のプレフィックスの下に整理されていることを前提としています。モデルアーティファクトが単一の非圧縮 Amazon S3 オブジェクトである場合は、"S3Uri" を Amazon S3 オブジェクトを指すように変更し、"S3DataType""S3Object" に変更します。

注記

現在、 ModelDataSourceで を使用することはできません。 AWS Marketplace、 SageMaker バッチ変換、 SageMaker サーバーレス推論エンドポイント、 SageMaker マルチモデルエンドポイント。