La SDK de Amazon SageMaker Python es una biblioteca de código abierto para entrenar e implementar modelos de aprendizaje automático (ML) en Amazon SageMaker. Los clientes empresariales en industrias estrictamente controladas, como la atención médica y las finanzas, establecen barreras de seguridad para garantizar que sus datos estén cifrados y el tráfico no atraviese Internet. Para garantizar que la capacitación y la implementación de modelos de aprendizaje automático de SageMaker sigan estas barreras de seguridad, es una práctica común establecer restricciones en la cuenta o Organizaciones de AWS nivel a través de políticas de control de servicios y Gestión de identidades y accesos de AWS (IAM) políticas para imponer el uso de roles de IAM específicos, Nube privada virtual de Amazon (Amazon VPC) configuraciones, y Servicio de administración de claves de AWS claves (AWS KMS). En tales casos, los científicos de datos deben proporcionar estos parámetros manualmente al código de implementación y capacitación de su modelo de ML, anotando subredes, grupos de seguridad y claves KMS. Esto hace que los científicos de datos tengan la responsabilidad de recordar especificar estas configuraciones, ejecutar correctamente sus trabajos y evitar errores de acceso denegado.
A partir de la versión 2.148.0 de SageMaker Python SDK, ahora puede configurar valores predeterminados para parámetros como roles de IAM, VPC y CMK. Los administradores y usuarios finales pueden inicializar las primitivas de infraestructura de AWS con los valores predeterminados especificados en un archivo de configuración en formato YAML. Una vez configurado, el SDK de Python hereda automáticamente estos valores y los propaga a las llamadas API de SageMaker subyacentes, como CreateProcessingJob()
, CreateTrainingJob()
y CreateEndpointConfig()
, sin necesidad de acciones adicionales. El SDK también admite múltiples archivos de configuración, lo que permite a los administradores establecer un archivo de configuración para todos los usuarios, y los usuarios pueden anularlo a través de una configuración a nivel de usuario que se puede almacenar en Servicio de almacenamiento simple de Amazon (Amazon S3), Sistema de archivos elástico de Amazon (Amazon EFS) para Estudio Amazon SageMaker, o el sistema de archivos local del usuario.
En esta publicación, le mostramos cómo crear y almacenar el archivo de configuración predeterminado en Studio y usar la función de valores predeterminados del SDK para crear sus recursos de SageMaker.
Resumen de la solución
Demostramos esta nueva característica con un extremo a extremo Formación en la nube de AWS plantilla que crea la infraestructura necesaria y crea un dominio de Studio en la VPC implementada. Además, creamos claves KMS para cifrar los volúmenes utilizados en trabajos de capacitación y procesamiento. Los pasos son los siguientes:
- Inicie la pila de CloudFormation en su cuenta. Alternativamente, si desea explorar esta función en un dominio o notebook de SageMaker existente, omita este paso.
- Llena el
config.yaml
archivo y guárdelo en la ubicación predeterminada. - Ejecute un cuaderno de muestra con un caso de uso de aprendizaje automático de un extremo a otro, incluido el procesamiento de datos, el entrenamiento de modelos y la inferencia.
- Anule los valores de configuración predeterminados.
Requisitos previos
Antes de comenzar, asegúrese de tener una cuenta de AWS y un usuario o rol de IAM con privilegios de administrador. Si usted es un científico de datos y actualmente pasa parámetros de infraestructura a los recursos en su computadora portátil, puede omitir el siguiente paso de configurar su entorno y comenzar a crear el archivo de configuración.
Para utilizar esta función, asegúrese de actualizar su versión de SageMaker SDK ejecutando pip install --upgrade sagemaker
.
Configurar el entorno
Para implementar una infraestructura completa que incluye redes y un dominio de Studio, complete los siguientes pasos:
- Clona el Repositorio GitHub.
- Inicie sesión en su cuenta de AWS y abra la consola de AWS CloudFormation.
- Para implementar los recursos de red, elija Crear pila.
- Cargue la plantilla en
setup/vpc_mode/01_networking.yaml
. - Proporcione un nombre para la pila (por ejemplo,
networking-stack
) y complete los pasos restantes para crear la pila. - Para implementar el dominio de Studio, elija Crear pila de nuevo.
- Cargue la plantilla en
setup/vpc_mode/02_sagemaker_studio.yaml
. - Proporcione un nombre para la pila (por ejemplo,
sagemaker-stack
) y proporcione el nombre de la pila de red cuando se le solicite laCoreNetworkingStackName
parámetro. - Continúe con los pasos restantes, seleccione los reconocimientos para los recursos de IAM y cree la pila.
Cuando el estado de ambas pilas se actualiza a CREAR_COMPLETO, continúe con el siguiente paso.
Crear el archivo de configuración
Para utilizar la configuración predeterminada para SageMaker Python SDK, cree un archivo config.yaml en el formato que espera el SDK. Para conocer el formato del archivo config.yaml, consulte Estructura del archivo de configuración. Dependiendo de su entorno de trabajo, como cuadernos de Studio, instancias de cuadernos de SageMaker o su IDE local, puede guardar el archivo de configuración en la ubicación predeterminada o anular los valores predeterminados pasando una ubicación del archivo de configuración. Para conocer las ubicaciones predeterminadas para otros entornos, consulte Ubicaciones de archivos de configuración. Los siguientes pasos muestran la configuración de un entorno de notebook Studio.
Para crear fácilmente el config.yaml
archivo, ejecute las siguientes celdas en la terminal del sistema Studio, reemplazando los marcadores de posición con los nombres de la pila de CloudFormation del paso anterior:
Este script completa automáticamente el archivo YAML, reemplaza los marcadores de posición con los valores predeterminados de la infraestructura y guarda el archivo en la carpeta de inicio. Luego copia el archivo en la ubicación predeterminada de los cuadernos de Studio. El archivo de configuración resultante debería tener un aspecto similar al siguiente formato:
Si tiene un dominio existente y una configuración de red configurada, cree el config.yaml
archivo en el formato requerido y guárdelo en la ubicación predeterminada para los cuadernos de Studio.
Tenga en cuenta que estos valores predeterminados simplemente completan automáticamente los valores de configuración para las llamadas apropiadas del SDK de SageMaker y no obligan al usuario a ninguna VPC, subred o función específica. Como administrador, si desea que sus usuarios utilicen una configuración o rol específico, utilice Claves de condición de IAM para hacer cumplir los valores predeterminados.
Además, cada llamada API puede tener sus propias configuraciones. Por ejemplo, en el ejemplo del archivo de configuración anterior, puede especificar vpc-a
y subnet-a
para trabajos de capacitación y especificar vpc-b
y subnet-c
, subnet-d
para procesar trabajos.
Ejecute un cuaderno de muestra
Ahora que ha configurado el archivo de configuración, puede comenzar a ejecutar la creación de modelos y los cuadernos de capacitación como de costumbre, sin la necesidad de establecer explícitamente parámetros de red y cifrado, para la mayoría de las funciones del SDK. Ver API y parámetros compatibles para obtener una lista completa de llamadas y parámetros API admitidos.
En Studio, elija el icono Explorador de archivos en el panel de navegación y abra 03_feature_engineering/03_feature_engineering.ipynb
, como se muestra en la siguiente captura de pantalla.
Ejecute las celdas del cuaderno una por una y observe que no está especificando ninguna configuración adicional. Cuando cree el objeto del procesador, verá las salidas de la celda como en el siguiente ejemplo.
Como puede ver en el resultado, la configuración predeterminada se aplica automáticamente al trabajo de procesamiento, sin necesidad de ninguna entrada adicional por parte del usuario.
Cuando ejecuta la siguiente celda para ejecutar el procesador, también puede verificar que los valores predeterminados estén configurados viendo el trabajo en la consola de SageMaker. Elegir Procesando trabajos bajo Procesamiento en el panel de navegación, como se muestra en la siguiente captura de pantalla.
Elija el trabajo de procesamiento con el prefijo end-to-end-ml-sm-proc
, y debería poder ver las redes y el cifrado ya configurados.
Puede continuar ejecutando los cuadernos restantes para entrenar e implementar el modelo y observará que los valores predeterminados de la infraestructura se aplican automáticamente tanto para los trabajos de entrenamiento como para los modelos.
Anular el archivo de configuración predeterminado
Podría haber casos en los que un usuario necesite anular la configuración predeterminada, por ejemplo, para experimentar con el acceso público a Internet o actualizar la configuración de red si la subred se queda sin direcciones IP. En tales casos, el SDK de Python también le permite proporcionar una ubicación personalizada para el archivo de configuración, ya sea en el almacenamiento local o puede señalar una ubicación en Amazon S3. En esta sección, exploramos un ejemplo.
Abra la user-configs.yaml
archivo en su directorio personal y actualice el EnableNetworkIsolation
valor para True
, bajo la política TrainingJob
.
Ahora, abra el mismo cuaderno y agregue la siguiente celda al principio del cuaderno:
Con esta celda, señala la ubicación del archivo de configuración al SDK. Ahora, cuando cree el objeto del procesador, notará que la configuración predeterminada se anuló para habilitar el aislamiento de la red y el trabajo de procesamiento fallará en el modo de aislamiento de la red.
Puede usar la misma variable de entorno de anulación para establecer la ubicación del archivo de configuración si está utilizando su entorno local, como VSCode.
Depurar y recuperar valores predeterminados
Para solucionar rápidamente el problema si se encuentra con algún error al ejecutar llamadas API desde su computadora portátil, la salida de la celda muestra las configuraciones predeterminadas aplicadas como se muestra en la sección anterior. Para ver la llamada exacta de Boto3 creada para ver los valores de atributos pasados desde el archivo de configuración predeterminado, puede depurar activando el registro de Boto3. Para activar el registro, ejecute la siguiente celda en la parte superior del cuaderno:
Cualquier llamada posterior de Boto3 se registrará con la solicitud completa, visible en la sección del cuerpo del registro.
También puede ver la colección de configuraciones predeterminadas utilizando el session.sagemaker_config
valor como se muestra en el siguiente ejemplo.
Finalmente, si está utilizando Boto3 para crear sus recursos de SageMaker, puede recuperar los valores de configuración predeterminados usando el sagemaker_config
variable. Por ejemplo, para ejecutar el trabajo de procesamiento en 03_feature_engineering.ipynb
usando Boto3, puede ingresar el contenido de la siguiente celda en el mismo cuaderno y ejecutar la celda:
Automatizar la creación de archivos de configuración
Para los administradores, tener que crear el archivo de configuración y guardarlo en cada instancia del cuaderno de SageMaker o perfil de usuario de Studio puede ser una tarea desalentadora. Aunque puede recomendar que los usuarios utilicen un archivo común almacenado en una ubicación predeterminada de S3, supone la sobrecarga adicional de especificar la anulación para los científicos de datos.
Para automatizar esto, los administradores pueden usar las Configuraciones del ciclo de vida de SageMaker (LCC). Para perfiles de usuario de Studio o instancias de notebook, puede adjuntar el siguiente script LCC de ejemplo como LCC predeterminado para la aplicación Jupyter Server predeterminada del usuario:
See Utilice configuraciones del ciclo de vida para Amazon SageMaker Studio or Personalizar una instancia de notebook para obtener instrucciones sobre cómo crear y configurar un script de ciclo de vida predeterminado.
Limpiar
Cuando haya terminado de experimentar con esta función, limpie sus recursos para evitar pagar costos adicionales. Si ha aprovisionado nuevos recursos como se especifica en esta publicación, complete los siguientes pasos para limpiar sus recursos:
- Cierre las aplicaciones de Studio para el perfil de usuario. Ver Cierre y actualice SageMaker Studio y las aplicaciones Studio para instrucciones. Asegúrese de eliminar todas las aplicaciones antes de eliminar la pila.
- Elimine el volumen EFS creado para el dominio de Studio. Puede ver el volumen EFS adjunto al dominio utilizando un DescribirDominio Llamada API.
- Elimine la pila de dominios de Studio.
- Elimine los grupos de seguridad creados para el dominio de Studio. Puedes encontrarlos en el Nube informática elástica de Amazon (Amazon EC2), con los nombres grupo-seguridad-para-nfs-d-xxx entrante y grupo-seguridad-para-nfs-d-xxx saliente
- Elimine la pila de redes.
Conclusión
En esta publicación, analizamos la configuración y el uso de valores predeterminados para parámetros clave de infraestructura utilizando el SDK de SageMaker Python. Esto permite a los administradores establecer configuraciones predeterminadas para los científicos de datos, lo que ahorra tiempo a los usuarios y administradores, elimina la carga de especificar parámetros repetitivamente y da como resultado un código más ágil y manejable. Para obtener la lista completa de parámetros y API admitidos, consulte Configuración y uso de valores predeterminados con SageMaker Python SDK. Para cualquier pregunta o discusión, únase al Comunidad de inteligencia artificial y aprendizaje automático.
Acerca de los autores
Giuseppe Angelo Porcelli es un Arquitecto Principal de Soluciones Especializado en Aprendizaje Automático para Amazon Web Services. Con varios años de experiencia en ingeniería de software y aprendizaje automático, trabaja con clientes de cualquier tamaño para comprender en profundidad sus necesidades comerciales y técnicas y diseñar soluciones de inteligencia artificial y aprendizaje automático que aprovechen al máximo la nube de AWS y la pila de aprendizaje automático de Amazon. Ha trabajado en proyectos en diferentes dominios, incluidos MLOps, Computer Vision, NLP e involucrando un amplio conjunto de servicios de AWS. En su tiempo libre, a Giuseppe le gusta jugar al fútbol.
Bruno Pistón es un arquitecto de soluciones especializado en IA/ML para AWS con sede en Milán. Trabaja con clientes de cualquier tamaño para ayudarlos a comprender en profundidad sus necesidades técnicas y diseñar soluciones de inteligencia artificial y aprendizaje automático que aprovechen al máximo la nube de AWS y la pila de aprendizaje automático de Amazon. Su campo de especialización es el aprendizaje automático de extremo a extremo, la industrialización del aprendizaje automático y MLOps. Le gusta pasar tiempo con sus amigos y explorar nuevos lugares, además de viajar a nuevos destinos.
Durga Sury es Arquitecto de soluciones de aprendizaje automático en el equipo de Amazon SageMaker Service SA. Le apasiona hacer que el aprendizaje automático sea accesible para todos. En sus 4 años en AWS, ayudó a configurar plataformas de IA/ML para clientes empresariales. Cuando no está trabajando, le encantan los paseos en moto, las novelas de misterio y las largas caminatas con su husky de 5 años.
- Distribución de relaciones públicas y contenido potenciado por SEO. Consiga amplificado hoy.
- PlatoAiStream. Inteligencia de datos Web3. Conocimiento amplificado. Accede Aquí.
- Acuñando el futuro con Adryenn Ashley. Accede Aquí.
- Compra y Vende Acciones en Empresas PRE-IPO con PREIPO®. Accede Aquí.
- Fuente: https://aws.amazon.com/blogs/machine-learning/configure-and-use-defaults-for-amazon-sagemaker-resources-with-the-sagemaker-python-sdk/
- :posee
- :es
- :no
- :dónde
- $ UP
- 1
- 10
- 100
- 20
- 30
- 60
- 7
- 9
- a
- Poder
- Nuestra Empresa
- de la máquina
- accesible
- Mi Cuenta
- acciones
- add
- adición
- Adicionales
- direcciones
- administradores
- de nuevo
- AI
- AI / ML
- Todos
- Permitir
- permite
- ya haya utilizado
- también
- Aunque
- Amazon
- Amazon EC2
- Aprendizaje automático de Amazon
- Amazon SageMaker
- Amazon Web Services
- an
- y
- cualquier
- abejas
- API
- applicación
- aplicada
- adecuado
- aplicaciones
- somos
- AS
- At
- adjuntar
- automatizado
- automáticamente
- evitar
- AWS
- Formación en la nube de AWS
- fondo
- basado
- BE
- esto
- antes
- Comienzo
- MEJOR
- cuerpo
- ambas
- general
- Construir la
- carga
- by
- llamar al
- Calls
- PUEDEN
- case
- cases
- CD
- Células
- Elige
- cliente
- Soluciones
- código
- --
- Algunos
- completar
- Calcular
- computadora
- Visión por computador
- condición
- Configuración
- Consola
- contenido
- continue
- control
- controlado
- Precio
- podría
- Para crear
- creado
- crea
- Creamos
- En la actualidad
- personalizado
- Clientes
- datos
- proceso de datos
- científico de datos
- Predeterminado
- por defecto
- demostrar
- Dependiente
- desplegar
- desplegado
- Desplegando
- despliegue
- Diseño
- destinos
- una experiencia diferente
- discutido
- discusiones
- No
- dominio
- dominios
- hecho
- No
- DE INSCRIPCIÓN
- cada una
- pasan fácilmente
- echo
- ya sea
- eliminando
- habilitar
- cifrado
- cifrado
- final
- de extremo a extremo
- Punto final
- hacer cumplir
- Ingeniería
- garantizar
- Participar
- Empresa
- Entorno
- ambientes
- Errores
- todos
- ejemplo
- existente
- espera
- experimento
- Experiencia
- explorar
- explorador
- Explorar
- FALLO
- false
- Feature
- campo
- Archive
- archivos
- financiar
- Encuentre
- seguir
- siguiendo
- siguiente
- Fútbol
- formato
- Gratis
- amigos
- Desde
- ser completados
- funciones
- obtener
- conseguir
- Git
- Grupo
- Tienen
- es
- he
- la salud
- ayudado
- ayudando
- aquí
- su
- Inicio
- Cómo
- Como Hacer
- HTML
- http
- HTTPS
- ICON
- Identidad
- if
- importar
- in
- Incluye
- industrias
- EN LA MINA
- Las opciones de entrada
- instalar
- ejemplo
- Instrucciones
- Interfaz
- Internet
- Acceso a Internet
- dentro
- que implica
- IP
- Direcciones IP
- solo
- IT
- SUS
- Trabajos
- Empleo
- únete
- jpg
- Clave
- claves
- large
- aprendizaje
- Nivel
- Biblioteca
- ciclo de vida
- como
- Lista
- local
- Ubicación
- Ubicaciones
- log
- conectado
- registro
- Largo
- Mira
- ama
- máquina
- máquina de aprendizaje
- para lograr
- Realizar
- Management
- a mano
- MILAN
- ML
- MLOps
- Moda
- modelo
- modelos
- más,
- MEJOR DE TU
- motocicleta
- múltiples
- Mystery
- nombre
- nombres
- Navegación
- ¿ Necesita ayuda
- necesidad
- del sistema,
- red
- Nuevo
- Next
- nlp
- no
- cuaderno
- Aviso..
- señalando
- ahora
- objeto
- of
- on
- una vez
- ONE
- habiertos
- de código abierto
- or
- OS
- Otro
- salir
- salida
- anular
- EL DESARROLLADOR
- cristal
- parámetro
- parámetros
- pasado
- Pasando (Paso)
- apasionado
- pago
- Lugares
- Plataformas
- Platón
- Inteligencia de datos de Platón
- PlatónDatos
- jugando
- punto
- políticas
- Publicación
- anterior
- Director de la escuela
- privada
- privilegios
- tratamiento
- Procesador
- Mi Perfil
- Perfiles
- proyecta
- proporcionar
- público
- Pone
- Python
- Preguntas
- Búsqueda
- recomiendan
- restante
- recordarlo
- solicita
- Requisitos
- Recursos
- respuesta
- restricciones
- resultante
- Función
- También soy miembro del cuerpo docente de World Extreme Medicine (WEM) y embajadora europea de igualdad para The Transformational Travel Council (TTC). En mi tiempo libre, soy una incansable aventurera, escaladora, patrona de día, buceadora y defensora de la igualdad de género en el deporte y la aventura. En XNUMX, fundé Almas Libres, una ONG nacida para involucrar, educar y empoderar a mujeres y niñas a través del deporte urbano, la cultura y la tecnología.
- Ejecutar
- correr
- s
- SA
- sabio
- mismo
- Guardar
- ahorro
- Científico
- los científicos
- Sdk
- Sección
- EN LINEA
- ver
- de coches
- Servicios
- Sesión
- set
- pólipo
- Configure
- Varios
- ella
- tienes
- Mostrar
- mostrar
- mostrado
- similares
- sencillos
- simplemente
- Tamaño
- Software
- Ingeniería de software
- Soluciones
- algo
- especialista
- soluciones y
- especificado
- Gastos
- montón
- Stacks
- comienzo
- fundó
- Estado
- paso
- pasos
- STORAGE
- tienda
- almacenados
- estudio
- subred
- subredes
- posterior
- Con éxito
- tal
- Soportado
- soportes
- te
- Tarea
- equipo
- Técnico
- plantilla
- terminal
- esa
- La
- su
- Les
- luego
- de este modo
- Estas
- así
- A través de esta formación, el personal docente y administrativo de escuelas y universidades estará preparado para manejar los recursos disponibles que derivan de la diversidad cultural de sus estudiantes. Además, un mejor y mayor entendimiento sobre estas diferencias y similitudes culturales permitirá alcanzar los objetivos de inclusión previstos.
- fuertemente
- equipo
- a
- parte superior
- tráfico
- Entrenar
- Formación
- GIRO
- Turning
- bajo
- subyacente
- entender
- Actualizar
- actualizar
- Uso
- utilizan el
- caso de uso
- usado
- Usuario
- usuarios
- usando
- propuesta de
- Valores
- verificar
- versión
- vía
- Ver
- visita
- Virtual
- visibles
- visión
- volumen
- volúmenes
- quieres
- we
- web
- servicios web
- WELL
- cuando
- seguirá
- sin
- Actividades:
- trabajado
- trabajando
- funciona
- yaml
- años
- Usted
- tú
- zephyrnet