Creación de plantillas de proyectos personalizadas - Amazon SageMaker AI

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.

Creación de plantillas de proyectos personalizadas

importante

El 28 de octubre de 2024, se eliminaron las AWS CodeCommit plantillas. Para proyectos nuevos, seleccione entre las plantillas de proyectos disponibles que usen repositorios de Git de terceros. Para obtener más información, consulte MLOps Plantillas de proyectos.

Si las plantillas SageMaker proporcionadas por la IA no se ajustan a sus necesidades (por ejemplo, si desea disponer de una organización más compleja CodePipeline con varias etapas o pasos de aprobación personalizados), cree sus propias plantillas.

Te recomendamos que empieces por usar plantillas SageMaker proporcionadas por la IA para saber cómo organizar el código y los recursos y construir a partir de ellos. Para ello, tras habilitar el acceso de administrador a las plantillas de SageMaker IA, inicia sesión en ellas, selecciona Portafolios y https://console.aws.amazon.com/servicecatalog/, a continuación, selecciona Importados. Para obtener información acerca de Service Catalog, consulte Overview of Service Catalog en la Guía del usuario de Service Catalog.

Crea tus propias plantillas de proyecto para MLOps personalizarlo. SageMaker Las plantillas de proyectos de IA son productos aprovisionados por catálogo de servicios para aprovisionar los recursos de su proyecto. MLOps

Complete los siguientes pasos para crear una plantilla de proyecto personalizada.

  1. Cree una cartera. Para obtener información, consulte el Paso 3: Crear una cartera de Service Catalog.

  2. Cree un producto. Un producto es una plantilla. CloudFormation Puede crear varias versiones del producto. Para obtener información, consulte el Paso 4: Crear un producto de Service Catalog.

    Para que el producto funcione con SageMaker los proyectos, añade los siguientes parámetros a la plantilla del producto.

    SageMakerProjectName: Type: String Description: Name of the project SageMakerProjectId: Type: String Description: Service generated Id of the project.
    importante

    Te recomendamos que agrupes el CodeCommit repositorio en el repositorio de código de SageMaker IA para que los repositorios del proyecto estén visibles en el modo VPC. La plantilla de ejemplo y la adición necesaria se muestran en los siguientes ejemplos de código.

    Plantilla original (de muestra):

    ModelBuildCodeCommitRepository: Type: AWS::CodeCommit::Repository Properties: # Max allowed length: 100 chars RepositoryName: !Sub sagemaker-${SageMakerProjectName}-${SageMakerProjectId}-modelbuild # max: 10+33+15+10=68 RepositoryDescription: !Sub SageMaker Model building workflow infrastructure as code for the Project ${SageMakerProjectName} Code: S3: Bucket: SEEDCODE_BUCKETNAME Key: toolchain/model-building-workflow-v1.0.zip BranchName: main

    Contenido adicional que se agregará en el modo VPC:

    SageMakerRepository: Type: AWS::SageMaker::CodeRepository Properties: GitConfig: RepositoryUrl: !GetAtt ModelBuildCodeCommitRepository.CloneUrlHttp Branch: main
  3. Agregue una restricción de lanzamiento. Una restricción de lanzamiento designa un rol de IAM que asume Service Catalog cuando un usuario final lanza un producto. Para obtener información, consulte Paso 6: Agregar una restricción de lanzamiento para asignar un rol de IAM.

  4. Aprovisiona el producto https://console.aws.amazon.com/servicecatalog/para probar la plantilla. Si ya ha terminado con la plantilla, continúe con el siguiente paso para que la plantilla esté disponible en Studio (o Studio Classic).

  5. Conceda acceso a la cartera de Service Catalog que creó en el paso 1 a su rol de ejecución de Studio (o Studio Classic). Use el rol de ejecución del dominio o un rol de usuario que tenga acceso a Studio (o Studio Classic). Para obtener información sobre cómo agregar un rol a la cartera, consulte el Paso 7: Otorgar a los usuarios finales acceso a la cartera.

  6. Para que la plantilla de su proyecto esté disponible en la lista de plantillas de su organización en Studio (o Studio Classic), cree una etiqueta con la siguiente clave y valor para el producto Service Catalog que creó en el paso 2.

    • clave: sagemaker:studio-visibility

    • valor: true

Tras completar estos pasos, los usuarios de Studio (o Studio Classic) de su organización pueden crear un proyecto con la plantilla que ha creado si siguen los pasos que se indican Creación de un MLOps proyecto con Amazon SageMaker Studio o Studio Classic y seleccionan plantillas de la organización a la hora de elegir una plantilla.

Uso de una plantilla de un bucket de Amazon S3

También puede crear SageMaker proyectos con plantillas almacenadas en Amazon S3.

nota

Si bien puede utilizar las plantillas que contieneAWS Service Catalog, le recomendamos que las almacene en un bucket de S3 y cree proyectos con esas plantillas.

Configuración de administrador

Antes de poder crear proyectos con plantillas en un bucket de S3, lleve a cabo los siguientes pasos.

  1. Cree un depósito de S3 y cargue las plantillas en el depósito.

  2. Configure una política CORS en su bucket de S3 para configurar los permisos de acceso.

  3. Añada la siguiente etiqueta clave-valor a la plantilla para que la IA pueda verla. SageMaker

    sagemaker:studio-visibility : true
  4. Crear un dominio.

  5. Cuando SageMaker AI termine de crear tu dominio, añade la siguiente etiqueta clave-valor al dominio:

    sagemaker:projectS3TemplatesLocation : s3://<amzn-s3-demo-bucket>

A continuación, utilice la AWS consola, Python o las operaciones CreateProjecty UpdateProjectAPI para crear o actualizar un SageMaker proyecto a partir de plantillas incluidas en el bucket de S3.

Studio

Crear un proyecto

  1. Abre la consola Amazon SageMaker AI en https://console.aws.amazon.com/sagemaker/.

  2. Abre la consola de SageMaker Studio siguiendo las instrucciones de Launch Amazon SageMaker Studio.

  3. En el panel de navegación izquierdo, selecciona Implementaciones, Proyectos y Crear proyecto.

  4. Seleccione Plantillas de organización y, a continuación, Plantillas S3 para ver las plantillas que tiene a su disposición. Si no ve la plantilla que esperaba, notifíqueselo a su administrador.

  5. Elija la plantilla que desee usar y, a continuación, elija Siguiente.

  6. Introduce un nombre para el proyecto, una descripción opcional y los demás campos obligatorios. Cuando haya terminado, elija Crear.

Actualiza un proyecto

  1. Abre la consola Amazon SageMaker AI en https://console.aws.amazon.com/sagemaker/.

  2. Abre la consola de SageMaker Studio siguiendo las instrucciones de Launch Amazon SageMaker Studio.

  3. Elige el proyecto que deseas actualizar. Selecciona Acciones y, a continuación, selecciona Actualizar proyecto.

  4. Al actualizar un proyecto, puede actualizar los parámetros de la plantilla o la URL de la plantilla. Cuando haya terminado, elija Siguiente.

  5. Revise las actualizaciones del proyecto en la tabla de resumen y seleccione Actualizar.

Python Boto3

Tras crear el bucket de S3 y cargar las plantillas, puede utilizar el siguiente ejemplo para crear un SageMaker proyecto.

sagemaker_client = boto3.client('sagemaker', region_name='us-west-2') response = sagemaker_client.create_project( ProjectName='my-custom-project', ProjectDescription='SageMaker project with custom CFN template stored in S3', TemplateProviders=[{ 'CfnTemplateProvider': { 'TemplateName': 'CustomProjectTemplate', 'TemplateURL': f'https://<bucket_name>.s3.us-west-2.amazonaws.com/custom-project-template.yml', 'Parameters': [ {'Key': 'ParameterKey', 'Value': 'ParameterValue'} ] } }] ) print(f"Project ARN: {response['ProjectArn']}")

Para actualizar un SageMaker proyecto, consulta el siguiente ejemplo.

sagemaker_client = boto3.client('sagemaker', region_name='us-west-2') response = sagemaker_client.update_project( ProjectName='my-custom-project', ProjectDescription='SageMaker project with custom CFN template stored in S3', TemplateProvidersToUpdate=[{ 'CfnTemplateProvider': { 'TemplateName': 'CustomProjectTemplate', 'TemplateURL': f'https://<bucket_name>.s3.us-west-2.amazonaws.com/custom-project-template.yml', 'Parameters': [ {'Key': 'ParameterKey', 'Value': 'ParameterValue'} ] } }] ) print(f"Project ARN: {response['ProjectArn']}")