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.
Paso 6. Ampliar la canalización
En esta guía, se explica cómo puede empezar a crear canalizaciones de ML en AWS de forma rápida y con una arquitectura concreta. Existen consideraciones adicionales para mejorar la canalización, como la gestión de metadatos, el seguimiento de los experimentos y la monitorización. Estos son temas importantes que quedan fuera del alcance de estas recomendaciones. En las siguientes secciones se analiza otro aspecto de la gestión de canalizaciones, que es la automatización de las canalizaciones.
Diferentes niveles de automatización
Aunque puede configurar un proceso de entrenamiento manualmente en la consola de SageMaker AI, en la práctica, le recomendamos minimizar los puntos de contacto manuales en la implementación de los procesos de ML para garantizar que los modelos de ML se implementen de forma coherente y repetida. En función de sus requisitos y de los problemas empresariales a los que se dirija, puede determinar e implementar una estrategia de implementación en tres niveles: semiautomática, totalmente automatizada y totalmente gestionada.
-
Semiautomática: de forma predeterminada, los pasos descritos en la sección anterior siguen un enfoque semiautomatizado, ya que implementan el proceso de entrenamiento e inferencia mediante plantillas de CloudFormation. Esto ayuda a garantizar la reproducibilidad de la canalización y permite cambiarla y actualizarla fácilmente.
-
Totalmente automatizada: una opción más avanzada es utilizar la integración y la implementación continuas (CI/CD) en los entornos de desarrollo, puesta en escena y producción. La incorporación de las prácticas de CI/CD a la implementación de la canalización de entrenamiento puede garantizar que la automatización incluya la trazabilidad y las puertas de calidad.
-
Totalmente gestionado: en última instancia, puede desarrollar un sistema totalmente gestionado para poder implementar un proceso de entrenamiento en ML con un conjunto de sencillos manifiestos, y el sistema podrá autoconfigurar y coordinar los servicios necesarios de AWS.
En estas recomendaciones elegimos presentar una arquitectura concreta. Sin embargo, hay tecnologías alternativas que puede considerar. En las dos secciones siguientes se analizan algunas opciones alternativas para la plataforma y el motor de orquestación.
Diferentes plataformas para cargas de trabajo de ML
Amazon SageMaker AI
-
Trazabilidad integrada (que incluye el etiquetado, el entrenamiento, el seguimiento de modelos, la optimización y la inferencia).
-
Opciones integradas de un solo clic para entrenamiento e inferencia con una experiencia mínima en Python y ML.
-
Ajuste avanzado de hiperparámetros.
-
Soporte para los principales marcos de inteligencia artificial y machine learning (ML/AI) y contenedores Docker personalizados.
-
Capacidades de monitorización integradas.
-
Seguimiento integrado de los historiales, incluidos los trabajos de entrenamiento, los trabajos de procesamiento, los trabajos de transformación por lotes, los modelos, los puntos de conexión y la capacidad de búsqueda. Algunos historiales, como los de entrenamiento, procesamiento y transformación por lotes, son inmutables y solo se pueden adjuntar.
Una de las alternativas al uso de SageMaker AI es AWS Batch
-
Escalado automático diferente de los recursos informáticos para usar en función de la carga de trabajo.
-
Soporte diferente para la prioridad de las tareas, los reintentos y las dependencias entre las tareas.
-
Enfoque basado en colas que permite crear trabajos recurrentes y según demanda.
-
Soporte para cargas de trabajo de CPU y GPU. La capacidad de usar la GPU para crear modelos de ML es fundamental, ya que la GPU puede acelerar el proceso de entrenamiento de manera significativa, especialmente en el caso de los modelos de aprendizaje profundo.
-
Capacidad de definir una imagen de máquina de Amazon (AMI) personalizada para el entorno informático.
Diferentes motores para la orquestación de canalizaciones
El segundo componente principal es la capa de orquestación de canalizaciones. AWSproporciona Step Functions (funciones de paso)
-
Infraestructura requerida: AWS Step Functions es un servicio totalmente gestionado y no tiene servidores, mientras que Airflow requiere la administración de su propia infraestructura y se basa en un software de código abierto. Como resultado, Step Functions proporciona una alta disponibilidad desde el primer momento, mientras que la administración de Apache Airflow requiere pasos adicionales.
-
Capacidades de programación: tanto Step Functions como Airflow ofrecen funcionalidades comparables.
-
Capacidades de visualización e interfaz de usuario: tanto Step Functions como Airflow ofrecen funcionalidades comparables.
-
Pasar variables dentro del gráfico computacional: Step Functions proporciona una funcionalidad limitada para el uso de AWS Lambda funciones, mientras que Airflow proporciona interfaces XCom.
-
Uso: Step Functions es muy popular entre AWS los clientes y Airflow ha sido ampliamente adoptado por la comunidad de ingenieros de datos.