Utilice las SageMaker plantillas de proyecto proporcionadas - 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.

Utilice las SageMaker plantillas de proyecto proporcionadas

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.

Amazon SageMaker proporciona plantillas de proyectos que crean la infraestructura que necesita para crear una MLOps solución para la integración y el despliegue continuos (CI/CD) de los modelos de aprendizaje automático. Utilice estas plantillas para procesar datos, extraer características, entrenar y probar modelos, registrar los modelos en el SageMaker registro de modelos e implementar los modelos con fines de inferencia. Puede personalizar el código inicial y los archivos de configuración para adaptarlos a sus necesidades.

nota

Desde el 25 de julio de 2022, son necesarios roles adicionales para usar las plantillas de proyectos. Para obtener una lista completa de los roles obligatorios e instrucciones sobre cómo crearlos, consulte Se requieren permisos de SageMaker estudio para usar proyectos. Si no tiene los nuevos roles, recibirá el mensaje de error No CodePipeline está autorizado a desempeñar AssumeRole el rol arn:aws:iam: AmazonSageMakerServiceCatalogProductsCodePipelineRole :xxx:role/service-role/ cuando intente crear un nuevo proyecto y no pueda continuar.

SageMaker Las plantillas de proyectos le ofrecen las siguientes opciones de repositorios de código, herramientas de automatización del flujo de trabajo y etapas del proceso:

  • Repositorio de código: AWS CodeCommit o repositorios Git de terceros, como GitHub Bitbucket

  • Automatización del flujo de trabajo de CI/CD: o Jenkins AWS CodePipeline

  • Etapas de canalización: creación y entrenamiento del modelo, implementación del modelo o ambas

La siguiente discusión proporciona una descripción general de cada plantilla que puede elegir al crear su proyecto. SageMaker También puedes ver las plantillas disponibles en Studio (o Studio Classic) siguiendo el paso 1: Crear el tutorial del proyecto.

Para step-by-step obtener instrucciones sobre cómo crear un proyecto real, puedes seguir uno de los tutoriales del proyecto:

MLOpsplantilla para la creación, el entrenamiento y el despliegue de modelos

Esta plantilla es una combinación de las dos plantillas siguientes, cada una de las cuales se puede utilizar de forma independiente, y contiene todos los recursos que se proporcionan en esas plantillas.

  • Repositorio de código: AWS CodeCommit

  • Automatización del flujo de trabajo de CI/CD: AWS CodePipeline

MLOpsplantilla para la creación de modelos y el entrenamiento

Utilice esta plantilla cuando desee una MLOps solución para procesar datos, extraer características, entrenar y probar modelos y registrar los modelos en el registro de SageMaker modelos.

Esta plantilla proporciona los siguientes recursos:

  • Un AWS CodeCommit repositorio que contiene código de ejemplo que crea una SageMaker canalización de Amazon en código Python y muestra cómo crear y actualizar la SageMaker canalización. Este repositorio también tiene un ejemplo de bloc de notas de Python que puede abrir y ejecutar en Studio (o Studio Classic).

  • Una AWS CodePipeline canalización que incluye los pasos de código fuente y compilación. El paso de origen apunta al CodeCommit repositorio. El paso de compilación obtiene el código de ese repositorio, crea y actualiza la SageMaker canalización, inicia la ejecución de la canalización y espera a que se complete la ejecución de la canalización.

  • Se ejecuta un depósito de Amazon S3 para almacenar los artefactos, incluidos CodeBuild los artefactos CodePipeline y cualquier artefacto generado a partir de la SageMaker canalización.

El siguiente diagrama ilustra el flujo de trabajo y AWS los recursos que utiliza esta plantilla para ayudarle a crear y entrenar sus modelos.

El flujo de trabajo de la canalización se creó con la plantilla de proyecto para la creación y el entrenamiento de modelos.
MLOpsplantilla para el despliegue del modelo

Utilice esta plantilla para automatizar el despliegue de los modelos del registro de modelos en los SageMaker SageMaker puntos finales para realizar inferencias en tiempo real. Esta plantilla reconoce los cambios en el registro de modelos. Cuando se registra y aprueba una nueva versión del modelo, se inicia automáticamente una implementación.

La plantilla proporciona un CodeCommit repositorio con archivos de configuración para especificar los pasos de despliegue del modelo, AWS CloudFormation plantillas para definir los puntos finales como infraestructura y un código base para probar los puntos finales.

Esta plantilla proporciona los siguientes recursos:

  • Un AWS CodeCommit repositorio que contiene código de muestra que implementa modelos en puntos finales en entornos de ensayo y producción.

  • Una AWS CodePipeline canalización que incluye el origen, la compilación y los pasos deploy-to-staging. deploy-to-production El paso de origen apunta al CodeCommit repositorio y el paso de compilación obtiene el código de ese repositorio y genera CloudFormation pilas para su implementación. Los deploy-to-production pasos deploy-to-staging y despliegan las CloudFormation pilas en sus entornos respectivos. Hay un paso de aprobación manual entre los pasos de montaje y construcción de producción, por lo que un MLOps ingeniero debe aprobar el modelo antes de implementarlo en producción.

    También hay un paso de aprobación programática con pruebas preliminares en el código de ejemplo del repositorio. CodeCommit Puede agregar pruebas adicionales para reemplazar las pruebas de marcadores de posición.

  • Se ejecuta un depósito de Amazon S3 para almacenar los artefactos, incluidos CodeBuild los artefactos CodePipeline y cualquier artefacto generado a partir de la SageMaker canalización.

  • Un CloudWatch evento para iniciar la canalización cuando se aprueba o rechaza una versión de un paquete modelo.

El siguiente diagrama ilustra el flujo de trabajo y AWS los recursos que utiliza esta plantilla para ayudarle a implementar sus modelos.

El flujo de trabajo de la canalización se creó con la plantilla del proyecto para la implementación del modelo.

Como se mencionó anteriormente, consulte el Tutorial del proyecto para ver una demostración en la que se usa esta plantilla para crear un proyecto real.

Puede personalizar el repositorio de implementación en la plantilla del proyecto para implementar el modelo desde el registro de modelos de la forma que desee. La plantilla se utiliza CloudFormation para crear un punto final en tiempo real, por ejemplo. Puede actualizar la implementación para usar el SageMaker SDK boto3 o cualquier otro API que pueda crear puntos finales en su lugar. CFN Si necesita actualizar los CodeBuild pasos como parte del proceso de implementación, puede crear una plantilla personalizada.

MLOpsplantilla para la creación de modelos, el entrenamiento, la implementación y Amazon SageMaker Model Monitor

Esta plantilla es una extensión de la MLOps plantilla para la creación, el entrenamiento y el despliegue de modelos. Incluye los componentes de creación, formación e implementación del modelo de la plantilla, así como una plantilla adicional de Amazon SageMaker Model Monitor que proporciona los siguientes tipos de supervisión:

  • Repositorio de código: AWS CodeCommit

  • Automatización del flujo de trabajo de CI/CD: AWS CodePipeline

MLOpsplantilla para Amazon SageMaker Model Monitor

Puede usar esta plantilla como MLOps solución para implementar uno o más de los monitores de calidad de SageMaker datos, calidad del modelo, sesgo del modelo y explicabilidad del modelo de Amazon para monitorear un modelo implementado en un punto final de SageMaker inferencia.

Esta plantilla proporciona los siguientes recursos:

  • Un AWS CodeCommit repositorio que contiene código Python de muestra que obtiene las líneas base utilizadas por los monitores del registro de SageMaker modelos y actualiza los parámetros de la plantilla para los entornos de ensayo y producción. También contiene una AWS CloudFormation plantilla para crear los Amazon SageMaker Model Monitors.

  • Una AWS CodePipeline canalización que incluye los pasos de origen, compilación e implementación. El paso de origen apunta al CodePipeline repositorio. El paso de compilación obtiene el código de ese repositorio, obtiene la referencia del registro de modelos y actualiza los parámetros de la plantilla para los entornos de ensayo y producción. Los pasos de implementación implementan los monitores configurados en los entornos de ensayo y producción. El paso de aprobación manual, dentro de la DeployStaging etapa, requiere que verifique que el SageMaker punto final de producción se encuentra en buen estado InService antes de aprobarlo y pasar a la DeployProd etapa.

  • La plantilla utiliza el mismo depósito de S3 creado por la MLOps plantilla para la creación, el entrenamiento y el despliegue de los modelos a fin de almacenar los resultados de los monitores.

  • Dos reglas de EventBridge eventos de Amazon inician el Amazon SageMaker Model Monitor AWS CodePipeline cada vez que se actualiza el SageMaker punto final provisional o se confirma un cambio de código en el CodePipeline repositorio.

MLOpsplantilla para la creación de imágenes, la creación de modelos y el despliegue de modelos

Esta plantilla es una extensión de MLOpsplantilla para la creación, el entrenamiento y el despliegue de modelos. Incluye los componentes de compilación, entrenamiento e implementación del modelo de esa plantilla, así como las siguientes opciones:

  • Incluye una canalización de creación y procesamiento de imágenes

  • Incluye una canalización de creación y entrenamiento de imágenes

  • Incluye una canalización de creación e imagen de inferencia

Para cada uno de los componentes seleccionados durante la creación del proyecto, se crea los siguientes mediante la plantilla:

  • Un ECR repositorio de Amazon

  • ¿Una SageMaker imagen

  • Un CodeCommit repositorio que contiene un Dockerfile que se puede personalizar

  • A CodePipeline que se inicia con cambios en el repositorio CodePipeline

  • Un CodeBuild proyecto que crea una imagen de Docker y la registra en el repositorio de Amazon ECR

  • Una EventBridge regla que inicia el según un CodePipeline cronograma

Cuando CodePipeline se inicia, crea un nuevo contenedor de Docker y lo registra en un ECR repositorio de Amazon. Cuando se registra un contenedor nuevo en el ECR repositorio de Amazon, ImageVersion se añade uno nuevo a la SageMaker imagen. Esto inicia la canalización de creación de modelos, que a su vez inicia la canalización de implementación.

La imagen recién creada se utiliza en las partes del flujo de trabajo de compilación, entrenamiento e implementación de modelos, cuando corresponde.

MLOpsplantilla para la creación, el entrenamiento y el despliegue de modelos con repositorios Git de terceros mediante CodePipeline

  • Repositorio de código: Git de terceros. Establece la AWS CodeStar conexión entre tu AWS cuenta y tu GitHub usuario u organización. Agregue una etiqueta con la clave sagemaker y el valor true a esta conexión de AWS CodeStar .

  • Automatización del flujo de trabajo de CI/CD: AWS CodePipeline

Esta plantilla proporciona los siguientes recursos:

  • Asociaciones con uno o más repositorios de Git especificados por el cliente.

  • Una AWS CodePipeline canalización que tiene el origen, la compilación y deploy-to-production los deploy-to-staging pasos. El paso de origen apunta al repositorio de Git de terceros y el paso de compilación obtiene el código de ese repositorio y genera CloudFormation pilas para desplegarlas. Los deploy-to-production pasos deploy-to-staging y despliegan las CloudFormation pilas en sus respectivos entornos. Hay un paso de aprobación manual entre los pasos de montaje y construcción de producción, por lo que un MLOps ingeniero debe aprobar el modelo antes de implementarlo en producción.

  • Un AWS CodeBuild proyecto para llenar los repositorios de Git con la información del código semilla. Esto requiere una AWS CodeStar conexión de tu AWS cuenta a tu cuenta en el host del repositorio de Git.

  • Se ejecuta un depósito de Amazon S3 para almacenar los artefactos, incluidos CodeBuild los artefactos CodePipeline y cualquier artefacto generado a partir de la SageMaker canalización.

Como se mencionó anteriormente, consulte el Tutorial del proyecto con repositorios Git de terceros para ver una demostración que usa esta plantilla para crear un proyecto real.

MLOpsplantilla para la creación, el entrenamiento y el despliegue de modelos con repositorios Git de terceros mediante Jenkins

  • Repositorio de código: Git de terceros. Establece la AWS CodeStar conexión entre tu AWS cuenta y tu GitHub usuario u organización. Agregue una etiqueta con la clave sagemaker y el valor true a esta conexión de AWS CodeStar .

  • Automatización del flujo de trabajo de CI/CD: Jenkins

Esta plantilla proporciona los siguientes recursos:

  • Asociaciones con uno o más repositorios de Git especificados por el cliente.

  • Código inicial para generar canalizaciones de Jenkins con código fuente deploy-to-staging, compilación y deploy-to-production pasos. El paso de código fuente apunta al repositorio de Git especificado por el cliente. El paso de compilación obtiene el código de ese repositorio y genera dos CloudFormation pilas. Los pasos de despliegue despliegan las CloudFormation pilas en sus respectivos entornos. Hay un paso de aprobación entre el paso de ensayo y el paso de producción.

  • Un AWS CodeBuild proyecto para llenar los repositorios de Git con la información del código semilla. Esto requiere una AWS CodeStar conexión de tu AWS cuenta a tu cuenta en el host del repositorio de Git.

  • Un bucket de Amazon S3 para almacenar los artefactos del SageMaker proyecto y la SageMaker canalización.

La plantilla crea la asociación entre tu proyecto y los repositorios de control de código fuente, pero debes realizar pasos manuales adicionales para establecer la comunicación entre tu AWS cuenta y Jenkins. Para ver los pasos detallados, consulta Cómo crear SageMaker proyectos de Amazon con control de código fuente de terceros y Jenkins.

Las instrucciones le ayudan a crear la arquitectura que se muestra en el siguiente diagrama, GitHub como repositorio de control de código fuente en este ejemplo. Como se muestra, está asociando su repositorio de Git al proyecto para registrar y administrar las versiones de código. Jenkins inicia la canalización de creación del modelo cuando detecta cambios en el código de compilación del modelo en el repositorio de Git. También conecta el proyecto con Jenkins para orquestar los pasos de implementación del modelo, que comienzan cuando se aprueba el modelo registrado en el registro de modelos o cuando Jenkins detecta cambios en el código de implementación del modelo.

El flujo de trabajo de la canalización creado con la plantilla del proyecto.

En resumen, los siguientes pasos lo guiarán a través de las siguientes tareas:

  1. Establezca la conexión entre su GitHub cuenta AWS y la suya.

  2. Crear la cuenta de Jenkins e importar los complementos necesarios.

  3. Crea la política de IAM usuarios y permisos de Jenkins.

  4. Establezca las AWS credenciales del IAM usuario de Jenkins en su servidor de Jenkins.

  5. Cree un API token para comunicarse con su servidor Jenkins.

  6. Utilice una CloudFormation plantilla para configurar una EventBridge regla que supervise el registro de modelos en busca de modelos recién aprobados.

  7. Cree el SageMaker proyecto, que alimentará sus GitHub repositorios con código de creación e implementación de modelos.

  8. Crear su canalización de creación de modelos de Jenkins con el código inicial de creación de modelos.

  9. Crear su canalización de implementación de modelos de Jenkins con el código inicial de implementación de modelos.

Implementación de modelos para Salesforce

  • Repositorio de código: AWS CodeCommit

  • Automatización del flujo de trabajo de CI/CD: AWS CodePipeline

Esta plantilla proporciona los siguientes recursos:

  • Un AWS CodeCommit repositorio que contiene código de ejemplo que crea una SageMaker canalización de Amazon en código Python y muestra cómo crear y actualizar la canalización. Este repositorio también tiene un cuaderno Jupyter de Python que puede abrir y ejecutar en Studio (o Studio Classic).

  • Una AWS CodePipeline canalización que incluye los pasos de código fuente y compilación. El paso de origen apunta al CodeCommit repositorio. El paso de compilación obtiene el código del repositorio, crea y actualiza la SageMaker canalización, inicia la ejecución de una canalización y espera a que se complete la ejecución de la canalización.

  • Se ejecuta un depósito de Amazon S3 para almacenar los artefactos, incluidos CodeBuild los artefactos CodePipeline y cualquier artefacto generado a partir de la SageMaker canalización.

Es posible que su administrador necesite realizar una configuración adicional para permitir el acceso a los datos desde Salesforce Data Cloud a SageMaker Studio para crear modelos de inteligencia artificial o aprendizaje automático. Consulte la descripción general de la solución en la entrada del blog Utilice la integración de Amazon SageMaker y Salesforce Data Cloud para potenciar sus aplicaciones de Salesforce con IA/ML para obtener información e instrucciones detalladas.

En el siguiente diagrama se ilustra el flujo de trabajo de alto nivel utilizado por esta plantilla para ayudarle a crear y entrenar sus modelos. Tras configurar una conexión entre Salesforce Data Cloud y Data Wrangler y preprocesar los datos, utilice la plantilla de proyecto Implementación de modelos para Salesforce para automatizar el entrenamiento y la implementación de modelos. La plantilla proporciona un código de implementación del modelo personalizable y un cuaderno de muestra AWS CodePipeline para entrenar el modelo y registrarlo en el registro de modelos. SageMaker Una vez que se aprueba el modelo, el punto final se expone a Salesforce como una API API pasarela directa, y los clientes pueden empezar a hacer predicciones con el modelo implementado desde Salesforce.

nota

Esta plantilla admite las versiones 1.0 y 1.1 de la política Transport Layer Security (TLS) para la configuración de API Gateway. Puede hacer que esta configuración sea más segura con nombres de dominio personalizados. Para obtener más información, consulte Configurar nombres de dominio personalizados para REST APIs.

Un diagrama simplificado de los pasos utilizados por la plantilla de proyecto de Salesforce.

La entrada del blog Utilice la integración de Amazon SageMaker y Salesforce Data Cloud para potenciar sus aplicaciones de Salesforce con IA/ML proporciona instrucciones detalladas para guiarlo en los siguientes pasos:

  1. Seleccione la plantilla de proyecto Implementación de modelos para Salesforce e indique el nombre del administrador del secreto.

  2. Clone el repositorio para usar el cuaderno de muestra personalizable y el SageMaker código de implementación del modelo proporcionados.

  3. Preprocese sus datos con Data Wrangler.

    1. Cree una conexión a Salesforce Data Cloud e importe los datos a Data Wrangler.

    2. Utilice Data Wrangler para preparar los datos con algunos ejemplos de transformaciones.

    3. Inicie un trabajo de procesamiento para procesar los datos mediante su configuración de Data Wrangler.

  4. Entrene el modelo.

  5. Registre el modelo en el registro de modelos.

  6. Apruebe el modelo en el registro de modelos.

  7. Vea su terminal en la SageMaker consola.

  8. Invoque el API URL de Salesforce Einstein Studio para registrar y utilizar las inferencias del modelo en Einstein Studio.

El siguiente diagrama muestra con mayor detalle el flujo de trabajo y los AWS recursos que utiliza la plantilla del SageMaker proyecto con Salesforce Data Cloud Integration.

Un diagrama de los pasos y recursos utilizados por la plantilla de proyecto de Salesforce.

Actualiza SageMaker los proyectos para usar repositorios Git de terceros

La política administrada asociada al rol AmazonSageMakerServiceCatalogProductsUseRole se actualizó el 27 de julio de 2021 para su uso con las plantillas de Git de terceros. Los usuarios que se incorporen a Amazon SageMaker Studio (o Studio Classic) después de esta fecha y habiliten las plantillas de proyectos utilizarán la nueva política. Los usuarios que se incorporaron antes de esta fecha deben actualizar la política para poder utilizar estas plantillas. Puede utilizar uno de los comandos siguientes para actualizar una política:

  • Elimina el rol y cambia los ajustes de Studio (o Studio Classic)

    1. En la IAM consola, AmazonSageMakerServiceCatalogProductsUseRole elimínala.

    2. En el panel de control de Studio (o Studio Classic), selecciona Editar ajustes.

    3. Cambia ambas configuraciones y, a continuación, elija Enviar.

  • En la IAM consola, añada los siguientes permisos aAmazonSageMakerServiceCatalogProductsUseRole:

    { "Effect": "Allow", "Action": [ "codestar-connections:UseConnection" ], "Resource": "arn:aws:codestar-connections:*:*:connection/*", "Condition": { "StringEqualsIgnoreCase": { "aws:ResourceTag/sagemaker": "true" } } }, { "Effect": "Allow", "Action": [ "s3:PutObjectAcl" ], "Resource": [ "arn:aws:s3:::sagemaker-*" ] }