推論容器的模型撰寫準則 - AWS Clean Rooms

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

推論容器的模型撰寫準則

本節詳細說明模型提供者在為 Clean Rooms ML 建立推論演算法時應遵循的準則。

  • 使用適當的 SageMaker AI 推論支援容器基礎映像,如 SageMaker AI 開發人員指南中所述。下列程式碼可讓您從公有 SageMaker AI 端點提取支援的容器基礎映像。

    ecr_registry_endpoint='763104351884.dkr.ecr.$REGION.amazonaws.com' base_image='pytorch-inference: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 批次轉換 AWS 帳戶,以及 Clean Rooms ML 上測試模型。

    • Clean Rooms ML 可讓您的模型成品透過 Docker 容器中的/opt/ml/model目錄,供推論程式碼使用。

    • Clean Rooms ML 會依行分割輸入、使用MultiRecord批次策略,並在每個轉換的記錄結束時新增一行字元。

    • 確保您能夠根據模型程式碼中使用的協作器結構描述產生合成或測試推論資料集。

    • 在建立模型演算法與協同合作的 AWS Clean Rooms 關聯 AWS 帳戶 之前,請確定您可以自行執行 SageMaker AI 批次轉換任務。

      下列程式碼包含與本機測試、 SageMaker AI 轉換環境測試和 Clean Rooms ML 相容的範例 Docker 檔案

      FROM 763104351884.dkr.ecr.us-east-1.amazonaws.com/pytorch-inference:1.12.1-cpu-py38-ubuntu20.04-sagemaker ENV PYTHONUNBUFFERED=1 COPY serve.py /opt/ml/code/serve.py COPY inference_handler.py /opt/ml/code/inference_handler.py COPY handler_service.py /opt/ml/code/handler_service.py COPY model.py /opt/ml/code/model.py RUN chmod +x /opt/ml/code/serve.py ENTRYPOINT ["/opt/ml/code/serve.py"]
  • 完成任何模型變更,並準備好在 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 Docker aws ecr get-login-password --region $REGION | docker login --username AWS --password-stdin $ACCOUNT_ID.dkr.ecr.$REGION.amazonaws.com # Push To ECR Repository docker push $ACCOUNT_ID.dkr.ecr.$REGION.amazonaws.com$REPO_NAME:$REPO_TAG # Create Sagemaker Model # Configure the create_model.json with # 1. Primary container - # a. ModelDataUrl - S3 Uri of the model.tar from your training job aws sagemaker create-model --cli-input-json file://create_model.json --region $REGION # Create Sagemaker Transform Job # Configure the transform_job.json with # 1. Model created in the step above # 2. MultiRecord batch strategy # 3. Line SplitType for TransformInput # 4. AssembleWith Line for TransformOutput aws sagemaker create-transform-job --cli-input-json file://transform_job.json --region $REGION

    完成 SageMaker AI 任務且您對批次轉換感到滿意後,您就可以向 AWS Clean Rooms ML 註冊 Amazon ECR Registry。使用 CreateConfiguredModelAlgorithm動作來註冊模型演算法,並使用 CreateConfiguredModelAlgorithmAssociation 將其與協同合作建立關聯。