View a markdown version of this page

Pautas de creación de modelos para el contenedor de capacitación - AWS Clean Rooms

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.

Pautas de creación de modelos para el contenedor de capacitación

En esta sección se detallan las directrices que deben seguir los proveedores de modelos al crear un algoritmo de modelo de aprendizaje automático personalizado para Clean Rooms ML.

  • Usa la imagen base del contenedor adecuada, compatible con el entrenamiento de la SageMaker IA, tal y como se describe en la Guía para desarrolladores de SageMaker IA. El siguiente código te permite extraer las imágenes base de contenedores compatibles de puntos finales públicos de SageMaker IA.

    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
  • Al crear el modelo localmente, asegúrate de lo siguiente para poder probar tu modelo localmente, en una instancia de desarrollo, en SageMaker AI Training en tu Cuenta de AWS ML y en Clean Rooms.

    • Te recomendamos escribir un script de entrenamiento que acceda a propiedades útiles sobre el entorno de entrenamiento a través de varias variables de entorno. Clean Rooms ML utiliza los siguientes argumentos para invocar el entrenamiento en el código de su modelo:SM_MODEL_DIR, SM_OUTPUT_DIRSM_CHANNEL_TRAIN, y. FILE_FORMAT Clean Rooms ML utiliza estos valores predeterminados para entrenar su modelo de aprendizaje automático en su propio entorno de ejecución con los datos de todas las partes.

    • Clean Rooms ML hace que tus canales de entrada de entrenamiento estén disponibles a través de los /opt/ml/input/data/channel-name directorios del contenedor Docker. Cada canal de entrada de ML se mapea en función de su channel_name correspondiente contenido en la CreateTrainedModel solicitud.

      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"))
    • Asegúrese de poder generar un conjunto de datos sintético o de prueba basado en el esquema de los colaboradores que se utilizarán en el código de su modelo.

    • Asegúrese de poder ejecutar un trabajo de entrenamiento 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 archivo Docker de ejemplo que es compatible con las pruebas locales, las pruebas en entornos de entrenamiento de SageMaker IA y el aprendizaje automático de Clean Rooms

      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"]
  • Para supervisar mejor los errores de los contenedores, recomendamos exportar los registros y depurarlos por motivos de error. En GetTrainedModel respuesta, Clean Rooms ML devuelve los primeros 1024 caracteres de este archivo enStatusDetails.

  • Cuando 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 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

    Cuando haya completado el trabajo de SageMaker IA y esté satisfecho con el algoritmo de su modelo, 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