

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Diretrizes de criação de modelos para o contêiner de inferência
<a name="inference-model-guidelines"></a>

Esta seção detalha as diretrizes que os fornecedores de modelos devem seguir ao criar um algoritmo de inferência para Clean Rooms ML.
+ Use a imagem base de contêiner compatível com inferência de SageMaker IA apropriada, conforme descrito no Guia do desenvolvedor de [SageMaker IA](https://docs.aws.amazon.com/sagemaker/latest/dg-ecr-paths/sagemaker-algo-docker-registry-paths.html). O código a seguir permite extrair as imagens de base de contêineres compatíveis de endpoints públicos de SageMaker IA.

  ```
  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
  ```
+ Ao criar o modelo localmente, garanta o seguinte para que você possa testar seu modelo localmente, em uma instância de desenvolvimento, no SageMaker AI Batch Transform em sua Conta da AWS e no Clean Rooms ML.
  + O Clean Rooms ML disponibiliza seus artefatos de inferência de modelo para uso por seu código de inferência por meio do `/opt/ml/model` diretório no contêiner docker.
  + O Clean Rooms ML divide a entrada por linha, usa uma estratégia `MultiRecord` em lote e adiciona um caractere de nova linha ao final de cada registro transformado.
  + Certifique-se de que você seja capaz de gerar um conjunto de dados de inferência sintética ou de teste com base no esquema dos colaboradores que será usado no código do seu modelo.
  + Certifique-se de poder executar um trabalho de transformação em lote de SageMaker IA sozinho Conta da AWS antes de associar o algoritmo do modelo a uma AWS Clean Rooms colaboração.

    O código a seguir contém um arquivo Docker de amostra compatível com testes locais, testes de ambiente de transformação de SageMaker IA e ML de salas limpas.

    ```
    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"]
    ```
+ Depois de concluir todas as alterações do modelo e estar pronto para testá-lo no ambiente de SageMaker IA, execute os comandos a seguir na ordem fornecida.

  ```
  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
  ```

  Depois que o trabalho de SageMaker IA for concluído e você estiver satisfeito com sua transformação em lote, você poderá registrar o Amazon ECR Registry no AWS Clean Rooms ML. Use a `CreateConfiguredModelAlgorithm` ação para registrar o algoritmo do modelo e `CreateConfiguredModelAlgorithmAssociation` associá-lo a uma colaboração.