Información general
La solución Orquestador de cargas de trabajo de MLOps ayuda a optimizar y aplicar las prácticas recomendadas de arquitectura para la producción de modelos de machine learning (ML). 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.
La plantilla de la solución le permite entrenar sus modelos, cargar los modelos entrenados (lo que también se conoce como “utilice su propio modelo” [BYOM]), configurar la orquestación de la canalización y supervisar las operaciones. Al usar esta solución, puede potenciar la agilidad y la eficiencia de su equipo al permitirle repetir a escala procesos que han tenido éxito.
Beneficios
Use el tablero de modelos de Amazon SageMaker para ver sus recursos de Amazon SageMaker creados por la solución (como modelos, puntos de conexión, 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 (propietario de la solución o ingeniero de DevOps) ejecuta la solución en la cuenta de AWS y selecciona las opciones deseadas (por ejemplo, utilizar el registro de modelos de Amazon SageMaker o proporcionar un bucket de Amazon Simple Storage Service [Amazon S3]).Paso 2
El orquestador carga los recursos requeridos para la canalización de destino (por ejemplo, artefacto modelo, datos de entrenamiento o archivo ZIP de algoritmo personalizado) en el bucket de recursos de S3. Si se utiliza el Registro de modelos de Amazon SageMaker, el orquestador (o una canalización automatizada) debe registrar el modelo en el Registro de modelos.Paso 3a
La solución aprovisiona una instancia de una sola cuenta de AWS CodePipeline al enviar una llamada a la API a Amazon API Gateway o al confirmar el archivo mlops-config.json en el repositorio de Git.
Paso 3b
Según el tipo de canalización, la función del orquestador de AWS Lambda empaqueta la plantilla de destino de AWS CloudFormation y sus parámetros y configuraciones mediante el cuerpo de la llamada a la API o el archivo mlops-config.json, y la utiliza como etapa de origen para la instancia de CodePipeline.Paso 4
La etapa DeployPipeline toma la plantilla empaquetada de CloudFormation y sus parámetros y 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 (propietario de la solución o ingeniero de DevOps con acceso de administrador a la cuenta del orquestador) proporciona la información de AWS Organizations (por ejemplo, los números de cuenta y los ID de la unidad organizativa de desarrollo, ensayo y producción).
También especifica las opciones deseadas (por ejemplo, utilizar el Registro de modelos de SageMaker o proporcionar un bucket de 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 (por ejemplo, artefacto modelo, datos de entrenamiento o archivo ZIP de algoritmo personalizado) en el bucket de recursos de 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
La solución aprovisiona una instancia de CodePipeline de varias cuentas al enviar una llamada a la API a API Gateway o al confirmar el archivo mlops-config.json en el repositorio de Git.
Paso 3b
Según el tipo de canalización, la función de Lambda del orquestador empaqueta la plantilla de destino de CloudFormation y sus parámetros y configuraciones para cada etapa mediante el cuerpo de la llamada a la API o el archivo mlops-config.json, y la utiliza como etapa de origen para la instancia de CodePipeline.Paso 4
La etapa DeployDev toma la plantilla empaquetada de CloudFormation y sus parámetros y 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 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 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