Información general
El orquestador de cargas de trabajo de Machine Learning Operations (MLOps) optimiza la implementación del modelo de ML y aplica las mejores prácticas para la escalabilidad, la fiabilidad y la eficiencia. Esta solución de AWS consiste en un marco ampliable que brinda una interfaz estándar para administrar canalizaciones de ML para servicios de ML de AWS y de terceros.
En esta solución se incluye una plantilla de AWS CloudFormation. Esta plantilla permite el entrenamiento de modelos, la carga de modelos previamente entrenados (también conocidos como traiga su propio modelo o BYOM), la configuración de la orquestación de las canalizaciones y la supervisión de las operaciones de las canalizaciones. Al implementar esta solución, su equipo puede aumentar su agilidad y eficiencia, repitiendo los procesos exitosos a escala.
Beneficios
Inicie una canalización preconfigurada mediante una llamada a la API o un bucket de Amazon S3.
Automatice la supervisión de modelos con Amazon SageMaker BYOM y ofrezca un punto de enlace de inferencia sin servidor con detección de desviaciones.
Use el panel de modelos de Amazon SageMaker para ver, buscar y explorar todos sus recursos de Amazon SageMaker, incluidos modelos, puntos de enlace, tarjetas de modelos y trabajos de transformación por lotes.
Detalles técnicos
Puede implementar automáticamente esta arquitectura con la guía de implementación y la plantilla de AWS CloudFormation adjunta. Para admitir varios casos de uso y necesidades empresariales, esta solución ofrece dos plantillas de AWS CloudFormation:
- Utilice la plantilla de una sola cuenta para implementar todas las canalizaciones de la solución en la misma cuenta de AWS. Esta opción es adecuada para las cargas de trabajo de producción a pequeña escala, experimentación o desarrollo.
- Utilice la plantilla de varias cuentas para aprovisionar múltiples entornos (por ejemplo, desarrollo, ensayo y producción) en diferentes cuentas de AWS, lo que mejora la gobernanza y fortalece la seguridad y el control de la implementación de la canalización de ML, permite experimentar de manera segura e innovar de forma más rápida, además de que mantiene las cargas de trabajo y los datos de producción seguros y disponibles para ayudar a garantizar la continuidad empresarial.
-
Opción 1: implementación en una sola cuenta
-
Opción 2: implementación en varias cuentas
-
Opción 1: implementación en una sola cuenta
-
Paso 1
El orquestador, que puede ser un ingeniero de DevOps u otro tipo de usuario, inicia esta solución en su cuenta de AWS y selecciona las opciones que prefiere. Por ejemplo, pueden usar el registro de modelos de Amazon SageMaker o un bucket existente de Amazon Simple Storage Service (Amazon S3).
Paso 2
El orquestador carga los recursos requeridos, como el artefacto del modelo, los datos de entrenamiento o el archivo zip de algoritmo personalizado, en el bucket de recursos de Amazon S3. Si se utiliza el registro de modelos de SageMaker, el orquestador (o una canalización automatizada) debe registrar el modelo en el registro de modelos.
Paso 3a
Una instancia de cuenta única de AWS CodePipeline se aprovisiona al enviar una llamada a la API a Amazon API Gateway o al cargar el archivo mlops-config.json al bucket de la configuración de Amazon S3.
Paso 3b
Según el tipo de canalización, la función de orquestador de AWS Lambda empaqueta la plantilla de CloudFormation de destino y sus parámetros y configuraciones mediante el cuerpo de la llamada a la API o el archivo mlops-config.json. A continuación, el orquestador utiliza esta plantilla y las configuraciones empaquetadas como etapa de origen para la instancia de CodePipeline.
Paso 4
La etapa DeployPipeline toma la plantilla empaquetada de CloudFormation y sus parámetros o configuraciones, e implementa la canalización de destino en la misma cuenta.
Paso 5
Después de que se aprovisiona la canalización de destino, los usuarios pueden acceder a sus funcionalidades. Se envía una notificación de Amazon Simple Notification Service (Amazon SNS) al correo electrónico proporcionado en los parámetros de ejecución de la solución. -
Opción 2: implementación en varias cuentas
-
Paso 1
El orquestador, que puede ser un ingeniero de DevOps u otro usuario con acceso de administrador a la cuenta de orquestador, proporciona la información de AWS Organizations, como los números de cuenta y los ID de la unidad organizativa de desarrollo, ensayo y producción.
También especifica las opciones deseadas, que pueden incluir usar el registro de modelos de SageMaker o proporcionar un bucket de Amazon S3 existente, y luego ejecuta la solución en su cuenta de AWS.
Paso 2
El orquestador carga los recursos requeridos para la canalización de destino, como el artefacto modelo, los datos de entrenamiento o el archivo zip de algoritmo personalizado, en el bucket de recursos de Amazon S3 en la cuenta de AWS del orquestador. Si se utiliza el registro de modelos de SageMaker, el orquestador (o una canalización automatizada) debe registrar el modelo en el registro de modelos.
Paso 3a
Una instancia de CodePipeline con varias cuentas se aprovisiona al enviar una llamada a la API a API Gateway o al cargar el archivo mlops-config.json en el bucket de configuración de Amazon S3.Paso 3b
Según el tipo de canalización, la función de orquestador deLambda empaqueta el destino
La plantilla de CloudFormation y sus parámetros y configuraciones utilizan el cuerpo de la llamada a la API o el archivo mlops-config.json. A continuación, el orquestador utiliza esta plantilla y las configuraciones empaquetadas como etapa de origen para la instancia de CodePipeline.
Paso 4
La etapa DeployDev toma la plantilla empaquetada de CloudFormation y sus parámetros o configuraciones, e implementa la canalización de destino en la cuenta de desarrollo.
Paso 5
Una vez que se aprovisiona la canalización de destino en la cuenta de desarrollo, el desarrollador puede iterar en la canalización.Paso 6
Después de completar el desarrollo, el orquestador (u otra cuenta autorizada) aprueba de forma manual la acción DeployStaging para pasar a la siguiente etapa, DeployStaging.
Paso 7
La etapa DeployStaging implementa la canalización de destino en la cuenta de prueba mediante la configuración de ensayo.Paso 8
Los comprobadores realizan diferentes pruebas en la canalización implementada.Paso 9
Una vez que la canalización completa con éxito las pruebas de calidad, el orquestador puede aprobar la acción DeployProd.Paso 10
La etapa DeployProd implementa la canalización de destino (con las configuraciones de producción) en la cuenta de producción.Paso 11
La canalización de destino se encuentra activa en producción. Se envía una notificación de Amazon SNS al correo electrónico proporcionado en los parámetros de ejecución de la solución.
Contenido relacionado
En colaboración con los equipos de arquitectura de las soluciones de socio de AWS y la biblioteca de soluciones de AWS, Cognizant creó su orquestador de ciclo de vida del modelo de MLOps sobre de la solución de orquestador de cargas de trabajo de MLOps.
- Fecha de publicación