Uso de la formación distribuida en AWS Clean Rooms ML - 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.

Uso de la formación distribuida en AWS Clean Rooms ML

Requisitos previos:

  • Y Cuenta de AWS con acceso a AWS Clean Rooms

  • Una colaboración creada en AWS Clean Rooms

  • Un algoritmo modelo configurado que admite el entrenamiento distribuido

  • Un conjunto de datos grande adecuado para el procesamiento distribuido

  • Permisos adecuados para crear y administrar modelos de aprendizaje automático en la colaboración

  • EC2 Cuota de Amazon suficiente para ejecutar varias instancias para una formación distribuida

El entrenamiento distribuido aprovecha la potencia de muchos nodos de computación que trabajan en paralelo para procesar grandes cantidades de datos y actualizar los parámetros del modelo de manera eficiente.

Para obtener más información sobre la formación distribuida, consulte Conceptos de formación distribuida en la Guía para desarrolladores de Amazon SageMaker AI.

Console
Para ejecutar un trabajo de formación distribuido (consola)
  1. Inicie sesión AWS Management Console y abra la AWS Clean Rooms consola en https://console.aws.amazon.com/cleanrooms.

  2. En el panel de navegación izquierdo, elija Colaboraciones.

  3. En la página de colaboraciones, elija la colaboración en la que desee crear un modelo entrenado.

  4. Cuando se abra la colaboración, selecciona la pestaña de modelos de aprendizaje automático.

  5. En Modelos de aprendizaje automático personalizados, en la sección Modelos entrenados, elija Crear modelo entrenado.

  6. En la página Crear un modelo entrenado, en Algoritmo de modelo asociado, especifique el algoritmo

  7. En los detalles del modelo entrenado, introduzca lo siguiente:

    1. En Nombre, introduzca un nombre exclusivo para el modelo de la colaboración.

    2. (Opcional) En Descripción, introduzca una descripción del modelo entrenado.

    3. En el modo de entrada de datos de entrenamiento, elija una de las siguientes opciones:

      • Seleccione Archivo si tiene un conjunto de datos más pequeño que pueda caber en el volumen de almacenamiento de aprendizaje automático y si prefiere el acceso al sistema de archivos tradicional para su guion de entrenamiento.

      • Selecciona Pipe para obtener conjuntos de datos de gran tamaño para transmitir datos directamente desde S3 y así evitar tener que descargar todo al disco, lo que puede mejorar la velocidad de entrenamiento y reducir los requisitos de almacenamiento.

      • Seleccione FastFileesta opción si desea combinar las ventajas del streaming desde S3 con el acceso al sistema de archivos, especialmente para leer datos de forma secuencial o si utiliza menos archivos para acelerar los tiempos de inicio.

  8. Para obtener los detalles del canal de entrada ML, haga lo siguiente:

    1. Para el canal de entrada ML, especifique el canal de entrada ML que proporciona datos al algoritmo del modelo.

      Para añadir otro canal, elija Añadir otro canal de entrada ML. Puede añadir hasta 19 canales de entrada ML adicionales.

    2. En Nombre del canal, introduzca el nombre del canal de entrada ML.

    3. Para el tipo de distribución de datos de Amazon S3, elija una de las siguientes opciones:

      • Seleccione Completamente replicado para proporcionar a cada instancia de entrenamiento una copia completa de su conjunto de datos. Esto funciona mejor cuando el conjunto de datos es lo suficientemente pequeño como para caber en la memoria o cuando cada instancia necesita acceder a todos los datos.

      • Selecciona Fragmentado por la clave S3 para dividir el conjunto de datos entre las instancias de entrenamiento en función de las claves S3. Cada instancia recibe aproximadamente 1/n del total de objetos de S3, donde «n» es el número de instancias. Esto funciona mejor para conjuntos de datos grandes que desee procesar en paralelo.

      nota

      Tenga en cuenta el tamaño del conjunto de datos y los requisitos de formación al seleccionar un tipo de distribución. La replicación completa proporciona un acceso completo a los datos, pero requiere más almacenamiento, mientras que la clave Sharded by S3 permite el procesamiento distribuido de grandes conjuntos de datos.

  9. En Duración máxima del entrenamiento, elige la cantidad máxima de tiempo que deseas entrenar tu modelo.

  10. En el caso de los hiperparámetros, especifique los parámetros específicos del algoritmo y sus valores previstos. Los hiperparámetros son específicos del modelo que se está entrenando y se utilizan para ajustar el entrenamiento del modelo.

  11. En el caso de las variables de entorno, especifique cualquier variable específica del algoritmo y sus valores previstos. Las variables de entorno se configuran en el contenedor de Docker.

  12. En el caso del cifrado, para usar una personalizada AWS KMS key, selecciona la casilla de verificación Cifrar el secreto con una clave KMS personalizada.

  13. En la configuración de EC2 recursos, especifique la información sobre los recursos informáticos que se utilizan para el entrenamiento de modelos.

    1. En Tipo de instancia, elija el tipo de instancia que desee ejecutar.

      Los tipos de instancias compatibles para la formación distribuida son:

      • ml.m5.4xlarge

      • ml.m5.12xlarge

      • ml.m5.2xlarge

      • ml.g5.12xlarge

      • ml.g5.24xlarge

    2. En Recuento de instancias, introduce el número de instancias.

    3. Para el tamaño del volumen en GB, introduzca el tamaño del volumen de almacenamiento de ML.

  14. Elija Crear modelo entrenado.

API

Para ejecutar un trabajo de formación distribuido (API)

Ejecute el siguiente código con sus parámetros específicos:

import boto3 acr_ml_client= boto3.client('cleanroomsml') acr_ml_client.create_trained_model( membershipIdentifier= 'membership_id', configuredModelAlgorithmAssociationArn = 'arn:aws:cleanrooms-ml:region:account:membership/membershipIdentifier/configured-model-algorithm-association/identifier', name='trained_model_name', trainingInputMode: "File", resourceConfig={ 'instanceCount': "3" 'instanceType': "ml.m5.xlarge", 'volumeSizeInGB': 3 }, dataChannels=[ { "mlInputChannelArn": channel_arn_1, "channelName": "channel_name", "S3DataDistributionType:" "FullyReplicated" } ] )
nota

Una vez creado el modelo entrenado, no podrá editarlo. Para realizar cambios, elimine el modelo entrenado y cree uno nuevo.