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:
-
Si quiere usar la plantilla MLOpsplantilla para la creación, el entrenamiento y el despliegue de modelos, consulte Repase un proyecto SageMaker MLOps.
-
Si quiere usar la plantilla MLOpsplantilla para la creación, el entrenamiento y el despliegue de modelos con repositorios Git de terceros mediante CodePipeline, consulte Recorre un SageMaker MLOps proyecto utilizando repositorios de Git de terceros.
-
Si quieres usar la plantillaMLOpsplantilla para la creación, el entrenamiento y el despliegue de modelos con repositorios Git de terceros mediante Jenkins, consulta Crear SageMaker proyectos de Amazon con control de código fuente de terceros y Jenkins
.
Temas
- MLOpsplantilla para la creación, el entrenamiento y el despliegue de modelos
- MLOpsplantilla para la creación de modelos, el entrenamiento, la implementación y Amazon SageMaker Model Monitor
- MLOpsplantilla para la creación de imágenes, la creación de modelos y el despliegue de modelos
- MLOpsplantilla para la creación, el entrenamiento y el despliegue de modelos con repositorios Git de terceros mediante CodePipeline
- MLOpsplantilla para la creación, el entrenamiento y el despliegue de modelos con repositorios Git de terceros mediante Jenkins
- Implementación de modelos para Salesforce
- Actualiza SageMaker los proyectos para usar repositorios Git de terceros
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.
-
- 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.
-
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:
Calidad de los datos: supervise los cambios en la calidad de los datos.
Calidad del modelo: supervise los cambios en las métricas de calidad del modelo, como la precisión.
Desviación de sesgo de los modelos en producción: supervise el sesgo en las predicciones de un modelo.
-
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 estadoInService
antes de aprobarlo y pasar a laDeployProd
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
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 valortrue
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 valortrue
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.
En resumen, los siguientes pasos lo guiarán a través de las siguientes tareas:
-
Establezca la conexión entre su GitHub cuenta AWS y la suya.
-
Crear la cuenta de Jenkins e importar los complementos necesarios.
-
Crea la política de IAM usuarios y permisos de Jenkins.
-
Establezca las AWS credenciales del IAM usuario de Jenkins en su servidor de Jenkins.
-
Cree un API token para comunicarse con su servidor Jenkins.
-
Utilice una CloudFormation plantilla para configurar una EventBridge regla que supervise el registro de modelos en busca de modelos recién aprobados.
-
Cree el SageMaker proyecto, que alimentará sus GitHub repositorios con código de creación e implementación de modelos.
-
Crear su canalización de creación de modelos de Jenkins con el código inicial de creación de modelos.
-
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
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.
La entrada del blog Utilice la integración de Amazon SageMaker y Salesforce Data Cloud para potenciar sus aplicaciones de Salesforce con IA/ML
Seleccione la plantilla de proyecto Implementación de modelos para Salesforce e indique el nombre del administrador del secreto.
Clone el repositorio para usar el cuaderno de muestra personalizable y el SageMaker código de implementación del modelo proporcionados.
Preprocese sus datos con Data Wrangler.
Cree una conexión a Salesforce Data Cloud e importe los datos a Data Wrangler.
Utilice Data Wrangler para preparar los datos con algunos ejemplos de transformaciones.
Inicie un trabajo de procesamiento para procesar los datos mediante su configuración de Data Wrangler.
Entrene el modelo.
Registre el modelo en el registro de modelos.
Apruebe el modelo en el registro de modelos.
Vea su terminal en la SageMaker consola.
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.
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)
-
En la IAM consola,
AmazonSageMakerServiceCatalogProductsUseRole
elimínala. -
En el panel de control de Studio (o Studio Classic), selecciona Editar ajustes.
-
Cambia ambas configuraciones y, a continuación, elija Enviar.
-
-
En la IAM consola, añada los siguientes permisos a
AmazonSageMakerServiceCatalogProductsUseRole
:{ "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-*" ] }