¿Qué es un SageMaker proyecto? - Amazon SageMaker

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.

¿Qué es un SageMaker proyecto?

SageMaker Los proyectos ayudan a las organizaciones a configurar y estandarizar los entornos de desarrolladores para los científicos de datos y los sistemas de CI/CD para los ingenieros. MLOps Los proyectos también ayudan a las organizaciones a configurar la administración de dependencias, la administración de los repositorios de código, la creación de reproductibilidad y el uso compartido de artefactos.

Puede aprovisionar SageMaker proyectos desde el AWS Service Catalog mediante plantillas SageMaker personalizadas o proporcionadas. Para obtener información sobre el catálogo AWS de servicios, consulte Qué es AWS Service Catalog. Con SageMaker Projects, MLOps los ingenieros y los administradores de la organización pueden definir sus propias plantillas o utilizar las plantillas SageMaker proporcionadas. Las plantillas SageMaker proporcionadas impulsan el flujo de trabajo del aprendizaje automático con el control de las versiones de código fuente, canalizaciones automatizadas de aprendizaje automático y un conjunto de código para empezar a iterar rápidamente los casos de uso del aprendizaje automático.

¿Cuándo deberías usar un proyecto? SageMaker

importante

A partir del 9 de septiembre de 2024, ya no se admiten las plantillas de proyectos que utilizan el AWS CodeCommit repositorio. Para proyectos nuevos, selecciona una de las plantillas de proyecto disponibles que usen repositorios de Git de terceros.

Si bien las libretas son útiles para la creación de modelos y la experimentación, un equipo de científicos de datos e ingenieros de ML que comparten código necesita una forma más escalable de mantener la coherencia del código y un control estricto de las versiones.

Cada organización tiene su propio conjunto de normas y prácticas que proporcionan seguridad y gobernanza a su AWS entorno. SageMaker proporciona un conjunto de plantillas propias para las organizaciones que desean empezar rápidamente a utilizar los flujos de trabajo de aprendizaje automático y la CI/CD. Las plantillas incluyen proyectos que utilizan servicios AWS nativos para la CI/CD, como, y. AWS CodeBuild AWS CodePipeline AWS CodeCommit Las plantillas también ofrecen la opción de crear proyectos que utilicen herramientas de terceros, como Jenkins y. GitHub Para obtener una lista de las plantillas de proyectos que se SageMaker proporcionan, consulteUtilice las SageMaker plantillas de proyecto proporcionadas.

Las organizaciones a menudo necesitan un control estricto sobre los MLOps recursos que aprovisionan y administran. Esta responsabilidad implica ciertas tareas, como la configuración de IAM funciones y políticas, la aplicación de etiquetas de recursos, la aplicación del cifrado y la disociación de los recursos entre varias cuentas. SageMaker Los proyectos pueden respaldar todas estas tareas mediante ofertas de plantillas personalizadas, en las que las organizaciones utilizan AWS CloudFormation plantillas para definir los recursos necesarios para un flujo de trabajo de aprendizaje automático. Los científicos de datos pueden elegir una plantilla para iniciar y preconfigurar su flujo de trabajo de ML. Estas plantillas personalizadas se crean como productos de Service Catalog y puede aprovisionarlas en la interfaz de usuario de Studio o Studio Classic, en Plantillas de organización. El Service Catalog es un servicio que ayuda a las organizaciones a crear y administrar catálogos de productos aprobados para su uso. AWS Para obtener más información sobre la creación de plantillas personalizadas, consulte Crear plantillas de SageMaker proyectos personalizadas: prácticas recomendadas.

SageMaker Los proyectos pueden ayudarte a gestionar tus repositorios de Git para que puedas colaborar de forma más eficiente entre los equipos, garantizar la coherencia del código y admitir la CI/CD. SageMaker Los proyectos pueden ayudarte con las siguientes tareas:

  • Organizar todas las entidades del ciclo de vida de ML en un solo proyecto.

  • Establecer un enfoque con un solo clic para configurar una infraestructura de ML estándar para el entrenamiento y la implementación de modelos que incorporen las mejores prácticas.

  • Crear y compartir plantillas para que la infraestructura de ML sirva para varios casos de uso.

  • Aproveche las plantillas prediseñadas que se SageMaker proporcionan para empezar a centrarse rápidamente en la creación de modelos o cree plantillas personalizadas con recursos y directrices específicos de la organización.

  • Integrarse con las herramientas que prefiera ampliando las plantillas del proyecto. Para ver un ejemplo, consulte Crear un SageMaker proyecto para integrarlo con y Pipelines. GitLab GitLab

  • Organizar todas las entidades del ciclo de vida de ML en un solo proyecto.

¿Qué hay en un SageMaker proyecto?

Los clientes tienen la flexibilidad de configurar sus proyectos con los recursos que mejor se adapten a su caso de uso. El siguiente ejemplo muestra la MLOps configuración de un flujo de trabajo de aprendizaje automático, incluida la formación y el despliegue de modelos.

Un diagrama de flujo de trabajo de aprendizaje automático para una canalización que incluye los pasos de implementación y capacitación del modelo.

Un proyecto típico con una plantilla SageMaker proporcionada puede incluir lo siguiente:

  • Uno o más repositorios con código de muestra para crear e implementar soluciones de ML. Estos son ejemplos prácticos que puede modificar según sus necesidades. Usted es el propietario de este código y puede aprovechar los repositorios con control de versiones para sus tareas.

  • Un SageMaker proceso que define los pasos para la preparación de los datos, el entrenamiento, la evaluación y el despliegue del modelo, como se muestra en el siguiente diagrama.

    Un SageMaker proceso con los pasos para la preparación de los datos, la formación, la evaluación y la implementación del modelo.
  • Una canalización CodePipeline o una canalización de Jenkins que ejecuta tu SageMaker canalización cada vez que ingresas una nueva versión del código. Para obtener más información CodePipeline, consulta Qué es AWS CodePipeline. Para obtener información sobre Jenkins, consulte la documentación del usuario de Jenkins.

  • Un grupo de modelos que contiene versiones de modelos. Cada vez que apruebe la versión del modelo resultante de una SageMaker ejecución en proceso, podrá implementarla en un SageMaker punto final.

Cada SageMaker proyecto tiene un nombre y un identificador únicos que se aplican como etiquetas a todos SageMaker los AWS recursos creados en el proyecto. Con el nombre y el ID, puede ver todas las entidades asociadas a su proyecto. Entre ellos se incluyen:

  • Canalizaciones

  • Modelos registrados

  • Modelos implementados (puntos de conexión)

  • Conjuntos de datos

  • Productos de Service Catalog

  • CodePipeline y las canalizaciones de Jenkins

  • CodeCommit y repositorios Git de terceros

¿Necesito crear un proyecto para usar SageMaker Pipelines?

¡No!. SageMaker Los oleoductos son entidades independientes, al igual que los trabajos de capacitación, los trabajos de procesamiento y otros SageMaker trabajos. Puede crear, actualizar y ejecutar canalizaciones directamente en un cuaderno mediante SageMaker Python SDK sin necesidad de utilizar un SageMaker proyecto.

Los proyectos proporcionan una capa adicional que le ayuda a organizar el código y a adoptar las mejores prácticas operativas que necesita para un sistema con calidad de producción.