

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Directrices de creación de modelos para el contenedor de inferencias
<a name="inference-model-guidelines"></a>

En esta sección se detallan las pautas que los proveedores de modelos deben seguir al crear un algoritmo de inferencia para Clean Rooms ML.
+ [Utilice la imagen base de contenedor adecuada compatible con la inferencia de SageMaker IA, tal y como se describe en la SageMaker Guía para desarrolladores de IA.](https://docs.aws.amazon.com/sagemaker/latest/dg-ecr-paths/sagemaker-algo-docker-registry-paths.html) El siguiente código te permite extraer las imágenes de base de contenedores compatibles de puntos finales de IA públicos SageMaker .

  ```
  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
  ```
+ Cuando cree el modelo localmente, asegúrese de lo siguiente para poder probarlo localmente, en una instancia de desarrollo, en SageMaker AI Batch Transform en su Cuenta de AWS entorno y en Clean Rooms ML.
  + Clean Rooms ML hace que los artefactos de su modelo a partir de la inferencia estén disponibles para que los utilice su código de inferencia a través del `/opt/ml/model` directorio del contenedor docker.
  + Clean Rooms ML divide la entrada por línea, utiliza una estrategia por `MultiRecord` lotes y añade un carácter de nueva línea al final de cada registro transformado.
  + Asegúrese de poder generar un conjunto de datos de inferencia sintético o de prueba basado en el esquema de los colaboradores que se utilizará en el código de su modelo.
  + Asegúrese de poder ejecutar un trabajo de transformación por lotes de SageMaker IA por su cuenta Cuenta de AWS antes de asociar el algoritmo del modelo a una AWS Clean Rooms colaboración.

    El siguiente código contiene un ejemplo de archivo Docker que es compatible con las pruebas locales, las pruebas de entornos de transformación mediante SageMaker IA y el aprendizaje automático de salas limpias

    ```
    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"]
    ```
+ Una vez que haya realizado cualquier cambio en el modelo y esté listo para probarlo en el entorno de SageMaker IA, ejecute los siguientes comandos en el orden indicado.

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

  Una vez que haya completado el trabajo de SageMaker IA y esté satisfecho con la transformación por lotes, podrá registrar el registro de Amazon ECR en AWS Clean Rooms ML. Utilice la `CreateConfiguredModelAlgorithm` acción para registrar el algoritmo del modelo y asociarlo a una colaboración. `CreateConfiguredModelAlgorithmAssociation`