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 inferencias
En esta sección se detallan las pautas que deben seguir los proveedores de modelos 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. El siguiente código te permite extraer las imágenes base de contenedores compatibles de puntos finales públicos SageMaker de 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 -
Al crear el modelo localmente, asegúrate de lo siguiente para poder probar tu modelo localmente, en una instancia de desarrollo, en SageMaker AI Batch Transform en tu Cuenta de AWS ML y en Clean Rooms.
-
Clean Rooms ML hace que los artefactos de tu modelo extraídos de la inferencia estén disponibles para que los utilice tu código de inferencia a través del
/opt/ml/modeldirectorio del contenedor de Docker. -
Clean Rooms ML divide la entrada por línea, usa una estrategia por
MultiRecordlotes y agrega un carácter de nueva línea al final de cada registro transformado. -
El tamaño máximo de la solicitud se establece en
maxPayloadInMBmenos de.containerExecutionParametersSi no especificas ningún valor, Clean Rooms ML utiliza 6 MB. Cuando un archivo CSV de entrada supera ese valor, la SageMaker IA divide el archivo en varias solicitudes a tu contenedor de inferencias. La fila del encabezado del CSV solo aparece en la primera solicitud de ese archivo, y las solicitudes posteriores comienzan con filas de datos. Configure su contenedor de inferencias con un esquema de columnas predefinido para que acepte solicitudes con o sin una fila de encabezado. Si hay una fila de encabezado, ignórela en lugar de tratarla como un registro de datos. Para obtener más información al respectomaxPayloadInMB, consulte la referencia InferenceContainerExecutionParameters de la API de aprendizaje automático de AWS Clean Rooms. -
Asegúrese de poder generar un conjunto de datos de inferencia sintético o de prueba en función del 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 archivo Docker de ejemplo que es compatible con las pruebas locales, las pruebas de entornos de transformación de SageMaker IA y el aprendizaje automático de Clean Rooms
FROM763104351884.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"]
-
-
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 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 $REGIONCuando finalice 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
CreateConfiguredModelAlgorithmacción para registrar el algoritmo del modelo y asociarlo a una colaboración.CreateConfiguredModelAlgorithmAssociation