¿Qué es un proyecto? SageMaker - 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 proyecto? SageMaker

SageMaker Los proyectos ayudan a las organizaciones a configurar y estandarizar los entornos de desarrollo para los científicos de datos y los sistemas de CI/CD para los ingenieros de 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, los ingenieros de MLOps y los administradores de la organización pueden definir sus propias plantillas o utilizar SageMaker las plantillas proporcionadas. Las plantillas SageMaker proporcionadas impulsan el flujo de trabajo del aprendizaje automático con el control de las versiones de código fuente, flujos de aprendizaje automático automatizados y un conjunto de códigos para empezar a iterar rápidamente sobre los casos de uso del aprendizaje automático.

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

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 de los recursos de MLOps que aprovisionan y administran. Esta responsabilidad implica ciertas tareas, como la configuración de las funciones y políticas de IAM, 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 configuración de MLOps para un flujo de trabajo de ML, incluido el entrenamiento y la implementación del modelo.

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 bloc de notas mediante el SDK de SageMaker Python 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.