Logotipo de Zephyrnet

Aprovisione y administre entornos de aprendizaje automático con Amazon SageMaker Canvas utilizando AWS CDK y AWS Service Catalog

Fecha:

La proliferación del aprendizaje automático (ML) en una amplia gama de casos de uso se está volviendo frecuente en todas las industrias. Sin embargo, esto supera el aumento en la cantidad de profesionales de ML que tradicionalmente han sido responsables de implementar estas soluciones técnicas para obtener resultados comerciales.

En la empresa actual, existe la necesidad de que el aprendizaje automático sea utilizado por profesionales que no son de ML y que dominan los datos, que es la base de ML. Para que esto sea una realidad, el valor de ML se está realizando en toda la empresa a través de plataformas de ML sin código. Estas plataformas permiten que diferentes personas, por ejemplo, analistas comerciales, usen ML sin escribir una sola línea de código y brinden soluciones a los problemas comerciales de una manera rápida, simple e intuitiva. Lienzo de Amazon SageMaker es un servicio visual de apuntar y hacer clic que permite a los analistas comerciales usar ML para resolver problemas comerciales al generar predicciones precisas por sí mismos, sin necesidad de experiencia en ML ni tener que escribir una sola línea de código. Canvas ha ampliado el uso de ML en la empresa con una interfaz intuitiva fácil de usar que ayuda a las empresas a implementar soluciones rápidamente.

Si bien Canvas ha permitido la democratización de ML, aún persiste el desafío de aprovisionar e implementar entornos de ML de manera segura. Por lo general, esta es responsabilidad de los equipos centrales de TI en la mayoría de las grandes empresas. En esta publicación, analizamos cómo los equipos de TI pueden administrar, aprovisionar y administrar entornos seguros de ML utilizando Lienzo de Amazon SageMaker, Kit de desarrollo en la nube de AWS (AWS CDK) y Catálogo de servicios de AWS. La publicación presenta una guía paso a paso para que los administradores de TI logren esto rápidamente y a escala.

Descripción general de AWS CDK y AWS Service Catalog

AWS CDK es un marco de desarrollo de software de código abierto para definir los recursos de su aplicación en la nube. Utiliza la familiaridad y el poder expresivo de los lenguajes de programación para modelar sus aplicaciones, mientras aprovisiona recursos de manera segura y repetible.

AWS Service Catalog le permite administrar de forma centralizada los servicios de TI, las aplicaciones, los recursos y los metadatos implementados. Con AWS Service Catalog, puede crear, compartir, organizar y controlar los recursos de la nube con plantillas de infraestructura como código (IaC) y permitir un aprovisionamiento rápido y sencillo.

Resumen de la solución

Habilitamos el aprovisionamiento de entornos ML usando Canvas en tres pasos:

  1. Primero, compartimos cómo puede administrar una cartera de recursos necesarios para el uso aprobado de Canvas utilizando AWS Service Catalog.
  2. Luego, implementamos un ejemplo de cartera de AWS Service Catalog para Canvas utilizando el CDK de AWS.
  3. Finalmente, demostramos cómo puede aprovisionar entornos de Canvas a pedido en minutos.

Requisitos previos

Para aprovisionar entornos de aprendizaje automático con Canvas, AWS CDK y AWS Service Catalog, debe hacer lo siguiente:

  1. Tener acceso a la cuenta de AWS donde se implementará la cartera de Service Catalog. Asegúrese de tener las credenciales y los permisos para implementar la pila de CDK de AWS en su cuenta. los Taller de CDK de AWS es un recurso útil al que puede consultar si necesita ayuda.
  2. Recomendamos seguir ciertas mejores prácticas que se destacan a través de los conceptos detallados en los siguientes recursos:
  3. Clon este repositorio de GitHub en su entorno.

Aprovisione entornos de aprendizaje automático aprobados con Amazon SageMaker Canvas utilizando AWS Service Catalog

En las industrias reguladas y la mayoría de las grandes empresas, debe cumplir con los requisitos exigidos por los equipos de TI para aprovisionar y administrar entornos de ML. Estos pueden incluir una red privada segura, encriptación de datos, controles para permitir que solo los usuarios autorizados y autenticados, como Gestión de identidades y accesos de AWS (IAM) para acceder a soluciones como Canvas y registro y monitoreo estrictos con fines de auditoría.

Como administrador de TI, puede utilizar AWS Service Catalog para crear y organizar entornos de ML seguros y reproducibles con SageMaker Canvas en una cartera de productos. Esto se gestiona mediante controles IaC que están integrados para cumplir con los requisitos mencionados anteriormente y se pueden aprovisionar bajo demanda en cuestión de minutos. También puede mantener el control de quién puede acceder a esta cartera para lanzar productos.

El siguiente diagrama ilustra esta arquitectura.

Flujo de ejemplo

En esta sección, mostramos un ejemplo de una cartera de AWS Service Catalog con SageMaker Canvas. La cartera consta de diferentes aspectos del entorno de Canvas que forman parte de la cartera del catálogo de servicios:

  • Dominio de estudio – Canvas es una aplicación que se ejecuta dentro Dominios de estudio. El dominio consta de un Sistema de archivos elástico de Amazon (Amazon EFS), una lista de usuarios autorizados y una gama de seguridad, aplicaciones, políticas y Nube privada virtual de Amazon (VPC) configuraciones. Una cuenta de AWS está vinculada a un dominio por región.
  • Cubo Amazon S3 – Después de crear el dominio de Studio, un Servicio de almacenamiento simple de Amazon El depósito (Amazon S3) está provisto para Canvas para permitir la importación de conjuntos de datos desde archivos locales, también conocido como carga de archivos locales. Este cubo está en la cuenta del cliente y se aprovisiona una vez.
  • Usuario de lienzo – SageMaker Canvas es una aplicación en la que puede agregar perfiles de usuario dentro del dominio de Studio para cada usuario de Canvas, que puede proceder a importar conjuntos de datos, crear y entrenar modelos ML sin escribir código y ejecutar predicciones en el modelo.
  • Cierre programado de las sesiones de Canvas – Los usuarios de Canvas pueden cerrar sesión en la interfaz de Canvas cuando hayan terminado con sus tareas. Alternativamente, los administradores pueden cerrar sesiones de Canvas del desplegable Consola de administración de AWS como parte de la gestión de las sesiones de Canvas. En esta parte de la cartera de AWS Service Catalog, un AWS Lambda función se crea y aprovisiona para cerrar automáticamente las sesiones de Canvas en intervalos programados definidos. Esto ayuda a administrar las sesiones abiertas y cerrarlas cuando no se usan.

Este flujo de ejemplo se puede encontrar en el Repositorio GitHub para una referencia rápida.

Implemente el flujo con AWS CDK

En esta sección, implementamos el flujo descrito anteriormente utilizando el CDK de AWS. Una vez implementado, también puede realizar un seguimiento de la versión y administrar la cartera.

La pila de cartera se puede encontrar en app.py y el producto se apila debajo del products/ carpeta. Puede iterar en los roles de IAM, Servicio de administración de claves de AWS (AWS KMS) y configuración de VPC en el studio_constructs/ carpeta. Antes de implementar la pila en su cuenta, puede editar las siguientes líneas en app.py y otorgue acceso a la cartera a un rol de IAM de su elección.

Puede administrar el acceso a la cartera para los usuarios, grupos y roles de IAM relevantes. Ver Concesión de acceso a los usuarios para más información.

Despliegue la cartera en su cuenta

Ahora puede ejecutar los siguientes comandos para instalar el CDK de AWS y asegurarse de tener las dependencias correctas para implementar la cartera:

npm install -g aws-cdk@2.27.0
python3 -m venv .venv
source .venv/bin/activate
pip3 install -r requirements.txt

Ejecute los siguientes comandos para implementar la cartera en su cuenta:

ACCOUNT_ID=$(aws sts get-caller-identity --query Account | tr -d '"')
AWS_REGION=$(aws configure get region)
cdk bootstrap aws://${ACCOUNT_ID}/${AWS_REGION}
cdk deploy --require-approval never

Los primeros dos comandos obtienen su ID de cuenta y la Región actual usando el Interfaz de línea de comandos de AWS (AWS CLI) en su computadora. Siguiendo esto, cdk bootstrap y cdk deploy cree activos localmente e implemente la pila en unos minutos.

La cartera ahora se puede encontrar en AWS Service Catalog, como se muestra en la siguiente captura de pantalla.

Aprovisionamiento bajo demanda

Los productos dentro de la cartera se pueden lanzar rápida y fácilmente a pedido del Aprovisionamiento menú en la consola de AWS Service Catalog. Un flujo típico es iniciar primero el dominio de Studio y el apagado automático de Canvas, ya que esto suele ser una acción única. Luego puede agregar usuarios de Canvas al dominio. El ID de dominio y el ARN del rol de IAM del usuario se guardan en Gerente de sistemas de AWS y se completan automáticamente con los parámetros del usuario, como se muestra en la siguiente captura de pantalla.

También puede usar etiquetas de asignación de costos que se adjuntan a cada usuario. Por ejemplo, UserCostCenter es una etiqueta de muestra donde puede agregar el nombre de cada usuario.

Consideraciones clave para gobernar entornos de ML usando Canvas

Ahora que hemos aprovisionado e implementado una cartera de AWS Service Catalog centrada en Canvas, nos gustaría destacar algunas consideraciones para gobernar los entornos de aprendizaje automático basados ​​en Canvas centrados en el dominio y el perfil de usuario.

Las siguientes son consideraciones con respecto al dominio de Studio:

  • Networking for Canvas se administra en el nivel de dominio de Studio, donde el dominio se implementa en una subred de VPC privada para una conectividad segura. Ver Asegurar la conectividad de Amazon SageMaker Studio mediante una VPC privada para obtener más información.
  • Se define un rol de ejecución de IAM predeterminado a nivel de dominio. Este rol predeterminado se asigna a todos los usuarios de Canvas en el dominio.
  • El cifrado se realiza mediante AWS KMS cifrando el volumen EFS en el dominio. Para controles adicionales, puede especificar su propia clave administrada, también conocida como clave administrada por el cliente (CMK). Ver Proteja los datos en reposo mediante el cifrado para obtener más información.
  • La capacidad de cargar archivos desde su disco local se realiza adjuntando una política de uso compartido de recursos de origen cruzado (CORS) al depósito S3 utilizado por Canvas. Ver Otorgue permisos a sus usuarios para cargar archivos locales para obtener más información.

Las siguientes son consideraciones con respecto al perfil de usuario:

  • La autenticación en Studio se puede realizar mediante el inicio de sesión único (SSO) e IAM. Si tiene un proveedor de identidad existente para federar usuarios para acceder a la consola, puede asignar un perfil de usuario de Studio a cada identidad federada mediante IAM. Ver la sección Asignar la política a los usuarios de Studio in Configuración de Amazon SageMaker Studio para equipos y grupos con aislamiento completo de recursos para obtener más información.
  • Puede asignar funciones de ejecución de IAM a cada perfil de usuario. Mientras usa Studio, un usuario asume el rol asignado a su perfil de usuario que anula el rol de ejecución predeterminado. Puede usar esto para controles de acceso detallados dentro de un equipo.
  • Puede lograr el aislamiento mediante controles de acceso basados ​​en atributos (ABAC) para garantizar que los usuarios solo puedan acceder a los recursos de su equipo. Ver Configuración de Amazon SageMaker Studio para equipos y grupos con aislamiento completo de recursos para obtener más información.
  • Puede realizar un seguimiento de costos detallado aplicando etiquetas de asignación de costos a los perfiles de usuario.

Limpiar

Para limpiar los recursos creados por la pila de CDK de AWS anterior, vaya a la página de pilas de AWS CloudFormation y elimine las pilas de Canvas. También puedes ejecutar cdk destroy desde dentro de la carpeta del repositorio, para hacer lo mismo.

Conclusión

En esta publicación, compartimos cómo puede aprovisionar entornos de ML de forma rápida y sencilla con Canvas utilizando AWS Service Catalog y el CDK de AWS. Discutimos cómo puede crear una cartera en AWS Service Catalog, aprovisionar la cartera e implementarla en su cuenta. Los administradores de TI pueden usar este método para implementar y administrar usuarios, sesiones y costos asociados mientras aprovisionan Canvas.

Obtenga más información sobre Canvas en el la página del producto y Guía para desarrolladores. Para leer más, puede aprender cómo permitir que los analistas de negocios accedan a SageMaker Canvas mediante AWS SSO sin la consola. También puedes aprender cómo los analistas de negocios y los científicos de datos pueden colaborar más rápido usando Canvas y Studio.


Acerca de los autores

david gallitelli es Arquitecto de Soluciones Especializado en IA/ML en la región EMEA. Tiene su sede en Bruselas y trabaja en estrecha colaboración con los clientes en todo el Benelux. Ha sido desarrollador desde que era muy joven, comenzó a programar a la edad de 7 años. Comenzó a aprender AI/ML en la universidad y se enamoró de él desde entonces.

sofian hamití es un arquitecto de soluciones especialista en IA / ML en AWS. Ayuda a los clientes de todas las industrias a acelerar su viaje de IA / ML ayudándolos a crear y poner en funcionamiento soluciones de aprendizaje automático de un extremo a otro.

Shyam Srinivasan es gerente principal de productos en el equipo de IA/ML de AWS y lidera la gestión de productos para Amazon SageMaker Canvas. Shyam se preocupa por hacer del mundo un lugar mejor a través de la tecnología y le apasiona cómo AI y ML pueden ser un catalizador en este viaje.

Avi Patel trabaja como ingeniero de software en el equipo de Amazon SageMaker Canvas. Su experiencia consiste en trabajar full stack con un enfoque frontend. En su tiempo libre, le gusta contribuir a proyectos de código abierto en el espacio criptográfico y aprender sobre los nuevos protocolos DeFi.

Jared Heywood es gerente sénior de desarrollo comercial en AWS. Es un especialista global en IA/ML que ayuda a los clientes con el aprendizaje automático sin código. Trabajó en el espacio AutoML durante los últimos 5 años y lanzó productos en Amazon como Amazon SageMaker JumpStart y Amazon SageMaker Canvas.

punto_img

Información más reciente

punto_img