モデルを作成する - Amazon SageMaker AI

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

モデルを作成する

モデルを作成するには、モデルのアーティファクトとコンテナイメージの場所を指定する必要があります。SageMaker モデルレジストリからモデルのバージョンを使用することもできます。次のセクションの例では、CreateModel API、モデルレジストリ、および Amazon SageMaker AI コンソールを使用してモデルを作成する方法を説明します。

モデルを作成するには (モデルレジストリを使用)

モデルレジストリは、ML パイプラインで使用するモデルのバージョンのカタログを作成し、管理するのに役立つ SageMaker AI の機能です。サーバーレス推論でモデルレジストリを使用するには、最初にモデルレジストリのモデルグループにモデルのバージョンを登録する必要があります。モデルレジストリにモデルを登録する方法については、「モデルグループを作成する」および「モデルバージョンを登録する」の手順に従ってください。

次の例では、登録されたモデルのバージョンの ARN が必要で、AWS SDK for Python (Boto3) を使用して CreateModel API を呼び出します。サーバーレス推論の場合、モデルレジストリは現在 AWSSDK for Python (Boto3) でのみサポートされています。サンプルについては、次の値を指定します。

  • model_name に、モデルの名前を入力します。

  • sagemaker_role には、SageMaker AI が作成したデフォルトのロール、または「 の前提条件を満たす」セクションのステップ 4 でカスタマイズした SageMaker AI IAM ロールを使用できます。

  • ModelPackageName には、モデルのバージョンの ARN を指定します。モデルレジストリのモデルグループに登録されている必要があります。

#Setup import boto3 import sagemaker region = boto3.Session().region_name client = boto3.client("sagemaker", region_name=region) #Role to give SageMaker AI permission to accessAWSservices. sagemaker_role = sagemaker.get_execution_role() #Specify a name for the model model_name = "<name-for-model>" #Specify a Model Registry model version container_list = [ { "ModelPackageName": <model-version-arn> } ] #Create the model response = client.create_model( ModelName = model_name, ExecutionRoleArn = sagemaker_role, container_list )

モデルを作成するには (API を使用)

次の例では、AWSSDK for Python (Boto3) を使用して CreateModel API を呼び出します。次の値を指定します。

  • sagemaker_role, には、SageMaker AI が作成したデフォルトのロール、または「 の前提条件を満たす」セクションのステップ 4 でカスタマイズした SageMaker AI IAM ロールを使用できます。

  • model_url には、Amazon S3 URI をモデルに指定します。

  • container には、Amazon ECR パスで使用するコンテナを取得します。この例では、SageMaker AI が提供する XGBoost コンテナを使用します。SageMaker AI コンテナを選択していない場合、または独自のコンテナを使用する場合は、「 の前提条件を満たす」セクションのステップ 6 を参照してください。

  • model_name に、モデルの名前を入力します。

#Setup import boto3 import sagemaker region = boto3.Session().region_name client = boto3.client("sagemaker", region_name=region) #Role to give SageMaker AI permission to accessAWSservices. sagemaker_role = sagemaker.get_execution_role() #Get model from S3 model_url = "s3://amzn-s3-demo-bucket/models/model.tar.gz" #Get container image (prebuilt example) from sagemaker import image_uris container = image_uris.retrieve("xgboost", region, "0.90-1") #Create model model_name = "<name-for-model>" response = client.create_model( ModelName = model_name, ExecutionRoleArn = sagemaker_role, Containers = [{ "Image": container, "Mode": "SingleModel", "ModelDataUrl": model_url, }] )

モデルを作成するには (コンソールを使用)

  1. Amazon SageMaker AI コンソールにサインインします。

  2. [ナビゲーション] タブで、[Inference] (推論) を選択します。

  3. 次に、[Models] (モデル) を選択します。

  4. [モデルの作成] を選択します。

  5. モデル名に、アカウントと に固有のモデルの名前を入力しますAWS リージョン。

  6. [IAM ロール] で作成済みの IAM ロール (「 の前提条件を満たす」を参照) を選択するか、SageMaker AI に IAM ロールの作成を許可します。

  7. [Container input option] (コンテナ入力オプション) の [Container definition 1] (コンテナの定義 1) で、[Provide model artifacts and input location] (モデルのアーティファクトと入力場所を指定する) を選択します。

  8. [Provide model artifacts and inference image options] (モデルアーティファクトと推論イメージオプションを指定する) で、[Use a single model] (単一のモデルを使用する) を選択します。

  9. [Location of inference code image] (推論コードイメージの場所) に、コンテナへの Amazon ECR パスを入力します。イメージは、SageMaker AI が提供するファーストパーティーイメージ (TensorFlow、XGBoost など) か、エンドポイントを作成するのと同じアカウント内の Amazon ECR リポジトリに存在するイメージである必要があります。コンテナがない場合は、「 の前提条件を満たす」セクションのステップ 6 に戻り、詳細を参照してください。

  10. [Location of model artifacts] (モデルアーティファクトの場所) に、ML モデルへの Amazon S3 URI を入力します。例えば、s3://amzn-s3-demo-bucket/models/model.tar.gz

  11. (オプション) [Tags] (タグ) では、キーバリューペアを追加して、モデルのメタデータを作成します。

  12. [モデルの作成] を選択します。