翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
トレーニングコンテナのモデル作成ガイドライン
このセクションでは、Clean Rooms ML のカスタム ML モデルアルゴリズムを作成するときにモデルプロバイダーが従うべきガイドラインについて詳しく説明します。
-
SageMaker AI デベロッパーガイド」の説明に従って、適切な SageMaker AI トレーニングでサポートされているコンテナベースイメージを使用します。次のコードでは、サポートされているコンテナベースイメージをパブリック SageMaker AI エンドポイントから取得できます。
ecr_registry_endpoint='
763104351884
.dkr.ecr.$REGION.amazonaws.com' base_image='pytorch-training:2.3.0-cpu-py311-ubuntu20.04-sagemaker' aws ecr get-login-password --region $REGION | docker login --username AWS --password-stdin $ecr_registry_endpoint docker pull $ecr_registry_endpoint/$base_image -
モデルをローカルで作成する場合は、モデルをローカル、開発インスタンス、 の SageMaker AI トレーニング、Clean Rooms ML でテストできるように AWS アカウント、以下を確認してください。
-
さまざまな環境変数を使用して、トレーニング環境に関する有用なプロパティにアクセスするトレーニングスクリプトを作成することをお勧めします。Clean Rooms ML は、次の引数を使用してモデルコードでトレーニングを呼び出します:
SM_MODEL_DIR
、SM_OUTPUT_DIR
、SM_CHANNEL_TRAIN
、FILE_FORMAT
。これらのデフォルトは、Clean Rooms ML が、すべての関係者からのデータを使用して、独自の実行環境で ML モデルをトレーニングするために使用されます。 -
Clean Rooms ML は、docker コンテナの
/opt/ml/input/data/
ディレクトリを介してトレーニング入力チャネルを利用できるようにします。各 ML 入力チャネルは、channel-name
CreateTrainedModel
リクエストでchannel_name
指定された対応するチャネルに基づいてマッピングされます。parser = argparse.ArgumentParser()# Data, model, and output directories parser.add_argument('--model_dir', type=str, default=os.environ.get('SM_MODEL_DIR', "/opt/ml/model")) parser.add_argument('--output_dir', type=str, default=os.environ.get('SM_OUTPUT_DIR', "/opt/ml/output/data")) parser.add_argument('--train_dir', type=str, default=os.environ.get('SM_CHANNEL_TRAIN', "/opt/ml/input/data/train")) parser.add_argument('--train_file_format', type=str, default=os.environ.get('FILE_FORMAT', "csv"))
-
モデルコードで使用される共同作業者のスキーマに基づいて合成データセットまたはテストデータセットを生成できることを確認します。
-
モデルアルゴリズム AWS Clean Rooms をコラボレーションに関連付ける AWS アカウント 前に、SageMaker AI トレーニングジョブを自分で実行できることを確認してください。
次のコードには、ローカルテスト、SageMaker AI トレーニング環境テスト、Clean Rooms ML と互換性のあるサンプル Docker ファイルが含まれています。
FROM
763104351884
.dkr.ecr.us-west-2.amazonaws.com/pytorch-training:2.3.0-cpu-py311-ubuntu20.04-sagemaker MAINTAINER $author_name ENV PYTHONDONTWRITEBYTECODE=1 \ PYTHONUNBUFFERED=1 \ LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/usr/local/lib" ENV PATH="/opt/ml/code:${PATH}" # this environment variable is used by the SageMaker PyTorch container to determine our user code directory ENV SAGEMAKER_SUBMIT_DIRECTORY /opt/ml/code # copy the training script inside the container COPY train.py /opt/ml/code/train.py # define train.py as the script entry point ENV SAGEMAKER_PROGRAM train.py ENTRYPOINT ["python", "/opt/ml/code/train.py"]
-
-
コンテナの障害を最適にモニタリングするには、例外をキャッチするか、コード内のすべての障害モードを処理して に書き込むことをお勧めします
/opt/ml/output/failure
。GetTrainedModel
レスポンスでは、Clean Rooms ML は、このファイルの最初の 1024 文字を で返しますStatusDetails
。 -
モデルの変更を完了し、SageMaker AI 環境でテストする準備ができたら、指定された順序で次のコマンドを実行します。
export ACCOUNT_ID=xxx export REPO_NAME=xxx export REPO_TAG=xxx export REGION=xxx docker build -t $ACCOUNT_ID.dkr.ecr.us-west-2.amazonaws.com/$REPO_NAME:$REPO_TAG # Sign into AWS $ACCOUNT_ID/ Run aws configure # Check the account and make sure it is the correct role/credentials aws sts get-caller-identity aws ecr create-repository --repository-name $REPO_NAME --region $REGION aws ecr describe-repositories --repository-name $REPO_NAME --region $REGION # Authenticate Doker aws ecr get-login-password --region $REGION | docker login --username AWS --password-stdin $ACCOUNT_ID.dkr.ecr.$REGION.amazonaws.com # Push To ECR Images docker push $ACCOUNT_ID.dkr.ecr.$REGION.amazonaws.com$REPO_NAME:$REPO_TAG # Create Sagemaker Training job # Configure the training_job.json with # 1. TrainingImage # 2. Input DataConfig # 3. Output DataConfig aws sagemaker create-training-job --cli-input-json file://training_job.json --region $REGION
SageMaker AI ジョブが完了し、モデルアルゴリズムに満足したら、Amazon ECR レジストリを AWS Clean Rooms ML に登録できます。
CreateConfiguredModelAlgorithm
アクションを使用してモデルアルゴリズムを登録し、CreateConfiguredModelAlgorithmAssociation
を使用してコラボレーションに関連付けます。