Ejecute cuadernos como trabajos por lotes en Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Ejecute cuadernos como trabajos por lotes en Amazon SageMaker Studio Lab

Recientemente, la Estudio Amazon SageMaker lanzó una manera fácil de ejecutar cuadernos como trabajos por lotes que pueden ejecutarse en un horario recurrente. Laboratorio de estudio de Amazon SageMaker también es compatible con esta función, lo que le permite ejecutar cuadernos que desarrolle en SageMaker Studio Lab en su cuenta de AWS. Esto le permite escalar rápidamente sus experimentos de aprendizaje automático (ML) con conjuntos de datos más grandes e instancias más potentes, sin tener que aprender nada nuevo ni cambiar una línea de código.

En esta publicación, lo guiaremos a través del requisito previo único para conectar su entorno de Studio Lab a una cuenta de AWS. Después de eso, lo guiaremos a través de los pasos para ejecutar cuadernos como un trabajo por lotes desde Studio Lab.

Resumen de la solución

Studio Lab incorporó la misma extensión que Studio, que se basa en la extensión de código abierto Jupyter para cuadernos programados. Esta extensión tiene parámetros adicionales específicos de AWS, como el tipo de proceso. En Studio Lab, un cuaderno programado primero se copia en un Servicio de almacenamiento simple de Amazon (Amazon S3) en su cuenta de AWS, luego ejecútelo a la hora programada con el tipo de cómputo seleccionado. Cuando se completa el trabajo, la salida se escribe en un depósito de S3 y la computación de AWS se detiene por completo, lo que evita costos continuos.

Requisitos previos

Para usar trabajos de notebook de Studio Lab, necesita acceso administrativo a la cuenta de AWS con la que se va a conectar (o la ayuda de alguien con este acceso). En el resto de esta publicación, asumimos que usted es el administrador de AWS; si ese no es el caso, solicite a su administrador o propietario de la cuenta que revise estos pasos con usted.

Crear un rol de ejecución de SageMaker

Necesitamos asegurarnos de que la cuenta de AWS tenga un Gestión de identidades y accesos de AWS (IAM) Rol de ejecución de SageMaker. Este rol lo utilizan los recursos de SageMaker dentro de la cuenta y proporciona acceso desde SageMaker a otros recursos en la cuenta de AWS. En nuestro caso, los trabajos de nuestro cuaderno se ejecutan con estos permisos. Si SageMaker se ha utilizado anteriormente en esta cuenta, es posible que ya exista una función, pero es posible que no tenga todos los permisos necesarios. Así que sigamos adelante y hagamos uno nuevo.

Los siguientes pasos solo deben realizarse una vez, independientemente de cuántos entornos de laboratorio de SageMaker Studio accedan a esta cuenta de AWS.

  1. En la consola de IAM, elija Roles en el panel de navegación.
  2. Elige Crear rol.
  3. Tipo de entidad de confianza, seleccione Servicio de AWS.
  4. Casos de uso para otros servicios de AWS, escoger SageMaker.
  5. Seleccione SageMaker – Ejecución.
  6. Elige Siguiente.
  7. Revise los permisos, luego elija Siguiente.Ejecute cuadernos como trabajos por lotes en Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.
  8. Nombre de rol, ingrese un nombre (para esta publicación, usamos sagemaker-execution-role-notebook-jobs).
  9. Elige Crear rol.
  10. Tome nota del ARN del rol.

El ARN del rol tendrá el formato de arn:aws:iam::[account-number]:role/service-role/[role-name] y se requiere en la configuración de Studio Lab.

Crea un usuario de IAM

Para que un entorno de Studio Lab acceda a AWS, debemos crear un usuario de IAM dentro de AWS y otorgarle los permisos necesarios. Luego, debemos crear un conjunto de claves de acceso para ese usuario y proporcionarlas al entorno de Studio Lab.

Este paso debe repetirse para cada entorno de SageMaker Studio Lab que accederá a esta cuenta de AWS.

Tenga en cuenta que los administradores y propietarios de cuentas de AWS deben asegurarse de que, en la mayor medida posible, se sigan prácticas de seguridad bien diseñadas. Por ejemplo, los permisos de usuario siempre deben tener un alcance reducido y las claves de acceso deben rotarse regularmente para minimizar el impacto del compromiso de las credenciales.

En este blog mostramos cómo usar el AmazonSageMakerFullAccess política administrada. Esta política brinda un amplio acceso a Amazon SageMaker que puede ir más allá de lo requerido. Detalles sobre AmazonSageMakerFullAccess puede ser encontrado esta página.

Aunque Studio Lab emplea seguridad empresarial, debe tenerse en cuenta que las credenciales de usuario de Studio Lab no forman parte de su cuenta de AWS y, por lo tanto, por ejemplo, no están sujetas a su contraseña de AWS ni a las políticas de MFA.

Para reducir el alcance de los permisos tanto como sea posible, creamos un perfil de usuario específicamente para este acceso.

  1. En la consola de IAM, elija Usuarios en el panel de navegación.
  2. Elige Agregar usuarios.
  3. nombre de usuario, ingrese un nombre. Es una buena práctica usar un nombre que esté vinculado a una persona individual que usará esta cuenta; esto ayuda si se revisan los registros de auditoría.
  4. Seleccione el tipo de acceso de AWS, seleccione Clave de acceso – Acceso programático.
  5. Elige Siguiente: permisos.Ejecute cuadernos como trabajos por lotes en Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.
  6. Elige Adjunte políticas existentes directamente.
  7. Buscar y seleccionar AmazonSageMakerFullAccess.Ejecute cuadernos como trabajos por lotes en Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.
  8. Buscar y seleccionar AmazonEventBridgeFullAccess.Ejecute cuadernos como trabajos por lotes en Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.
  9. Elige Siguiente: Etiquetas.
  10. Elige Siguiente: Revisión.
  11. Confirme sus políticas, luego elija Crear usuario.Ejecute cuadernos como trabajos por lotes en Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.La página final del proceso de creación de usuarios debería mostrarle las claves de acceso del usuario. Deje esta pestaña abierta, porque no podemos navegar de regreso aquí y necesitamos estos detalles.
  12. Abra una nueva pestaña del navegador en Studio Lab.
  13. En Archive menú, seleccione Nuevo lanzador, A continuación, elija terminal.Ejecute cuadernos como trabajos por lotes en Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.
  14. En la línea de comando, ingrese el siguiente código:
    aws configure

  15. Ingrese el siguiente código:
    1. Ingrese los valores de la página de la consola de IAM para su ID de clave de acceso y clave de acceso secreta.
    2. Default region name, introduzca us-west-2.
    3. Abandonar Default output format as text.
      (studiolab) studio-lab-user@default:~$ aws configure 
      AWS Access Key ID []: 01234567890
      AWS Secret Access Key []: ABCDEFG1234567890ABCDEFG
      Default region name []: us-west-2
      Default output format [text]: 
      
      (studiolab) studio-lab-user@default:~$

Felicitaciones, su entorno de Studio Lab ahora debe estar configurado para acceder a la cuenta de AWS. Para probar la conexión, emita el siguiente comando:

aws sts get-caller-identity

Este comando debe devolver detalles sobre el usuario de IAM que configuró para usar.

Crear un trabajo de cuaderno

Los trabajos de notebook se crean utilizando notebooks Jupyter dentro de Studio Lab. Si su computadora portátil se ejecuta en Studio Lab, puede ejecutarse como un trabajo de computadora portátil (con más recursos y acceso a los servicios de AWS). Sin embargo, hay un par de cosas a tener en cuenta.

Si ha instalado paquetes para que su computadora portátil funcione, agregue comandos para cargar estos paquetes en una celda en la parte superior de su computadora portátil. Al usar un símbolo & al comienzo de cada línea, el código se enviará a la línea de comando para que se ejecute. En el siguiente ejemplo, la primera celda usa pip para instalar las bibliotecas de PyTorch:

%%capture
%pip install torch
%pip install torchvision

Ejecute cuadernos como trabajos por lotes en Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Nuestro cuaderno generará un modelo PyTorch entrenado. Con nuestro código habitual, guardamos el modelo en el sistema de archivos de Studio Labs.

Cuando ejecutamos esto como un trabajo de cuaderno, necesitamos guardar el modelo en algún lugar al que podamos acceder después. La forma más sencilla de hacerlo es guardar el modelo en Amazon S3. Creamos un depósito S3 para guardar nuestros modelos y usamos otra celda de línea de comando para copiar el objeto en el depósito.

Ejecute cuadernos como trabajos por lotes en Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai. Ejecute cuadernos como trabajos por lotes en Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Usamos la Interfaz de línea de comandos de AWS (AWS CLI) aquí para copiar el objeto. También podríamos usar el AWS SDK para Python (Boto3) si quisiéramos tener un control más sofisticado o automatizado del nombre del archivo. Por ahora, nos aseguraremos de cambiar el nombre del archivo cada vez que ejecutemos el cuaderno para que los modelos no se sobrescriban.

Ahora estamos listos para crear el trabajo del cuaderno.

  1. Elija (haga clic con el botón derecho) el nombre del cuaderno, luego elija Crear trabajo de cuaderno.Ejecute cuadernos como trabajos por lotes en Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.
    Si falta esta opción de menú, es posible que deba actualizar su entorno de Studio Lab. Para hacer esto, abra Terminal desde el lanzador y ejecute el siguiente código:
    conda deactivate && conda env remove —name studiolab

  2. A continuación, reinicie su instancia de JupyterLab eligiendo Laboratorio de estudio de Amazon SageMaker en el menú superior, luego elija Reiniciar JupyterLab.O bien, vaya a la página del proyecto y apague y reinicie el tiempo de ejecución.
  3. En Crear trabajo página, para Tipo de cálculo, elija el tipo de proceso que se adapte a su trabajo.

    Para obtener más información sobre los diferentes tipos de capacidad informática, incluido el costo, consulte Precios de Amazon SageMaker (escoger Precios bajo demanda y navegar a la Formación pestaña. Es posible que también deba verificar la disponibilidad de la cuota del tipo de cómputo en su cuenta de AWS. Para obtener más información acerca de las cuotas de servicio, consulte: Cuotas de servicio de AWS.Para este ejemplo, hemos seleccionado una instancia ml.p3.2xlarge, que ofrece 8 vCPU, 61 GB de memoria y una GPU Tesla V100.Ejecute cuadernos como trabajos por lotes en Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

    Si no hay advertencias en esta página, debe estar listo para comenzar. Si hay advertencias, asegúrese de que se haya especificado el ARN del rol correcto en Opciones adicionales. Este rol debe coincidir con el ARN del rol de ejecución de SageMaker que creamos anteriormente. El ARN tiene el formato arn:aws:iam::[account-number]:role/service-role/[role-name].

    Hay otras opciones disponibles dentro Opciones adicionales; por ejemplo, puede seleccionar una imagen y un kernel en particular que ya tengan la configuración que necesita sin necesidad de instalar bibliotecas adicionales.

  4. Si desea ejecutar este cuaderno en un horario, seleccione Ejecutar en un horario y especifique con qué frecuencia desea que se ejecute el trabajo.Ejecute cuadernos como trabajos por lotes en Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.Queremos que este cuaderno se ejecute una vez, por lo que seleccionamos Corre ahora.
  5. Elige Crear.
    Ejecute cuadernos como trabajos por lotes en Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Lista de trabajos de portátiles

El Trabajos de portátiles La página enumera todos los trabajos que se están ejecutando actualmente y los que se ejecutaron en el pasado. Puede encontrar esta lista desde el Lanzador (elija, Archive, Nuevo lanzador), entonces escoge Trabajos de portátiles existentes Otro .

Ejecute cuadernos como trabajos por lotes en Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Cuando se complete el trabajo del cuaderno, verá que el estado cambia a Completed (utilizar el Recargar opción si es necesario). A continuación, puede elegir el icono de descarga para acceder a los archivos de salida.

Ejecute cuadernos como trabajos por lotes en Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Cuando los archivos se hayan descargado, puede revisar el cuaderno junto con la salida del código y el registro de salida. En nuestro caso, debido a que agregamos código para cronometrar la ejecución de la celda de entrenamiento, podemos ver cuánto tiempo tomó el trabajo de entrenamiento: 16 minutos y 21 segundos, que es mucho más rápido que si el código se hubiera ejecutado dentro de Studio Lab (1 hora). , 38 minutos, 55 segundos). De hecho, todo el portátil se ejecutó en 1,231 segundos (poco más de 20 minutos) a un costo de menos de $1.30 (USD).

Ejecute cuadernos como trabajos por lotes en Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Ahora podemos aumentar el número de épocas y ajustar los hiperparámetros para mejorar el valor de pérdida del modelo y enviar otro trabajo de cuaderno.

Conclusión

En esta publicación, mostramos cómo usar trabajos de notebook de Studio Lab para escalar el código que desarrollamos en Studio Lab y ejecutarlo con más recursos en una cuenta de AWS.

Al agregar las credenciales de AWS a nuestro entorno de Studio Lab, no solo podemos acceder a los trabajos de los cuadernos, sino que también podemos acceder a otros recursos desde una cuenta de AWS directamente desde nuestros cuadernos de Studio Lab. Eche un vistazo al SDK de AWS para Python.

Esta capacidad adicional de Studio Lab supera los límites de los tipos y tamaños de proyectos que puede lograr. ¡Háganos saber lo que construye con esta nueva capacidad!


Sobre los autores

Ejecute cuadernos como trabajos por lotes en Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.mike cámaras es Developer Advocate para AI y ML en AWS. Ha pasado los últimos 7 años ayudando a los constructores a aprender sobre la nube, la seguridad y el aprendizaje automático. Originario del Reino Unido, Mike es un apasionado bebedor de té y constructor de Lego.

Ejecute cuadernos como trabajos por lotes en Amazon SageMaker Studio Lab PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai. Michele Monclova es gerente principal de productos en AWS en el equipo de SageMaker. Es nativa de Nueva York y veterana de Silicon Valley. Le apasionan las innovaciones que mejoran nuestra calidad de vida.

Sello de tiempo:

Mas de Aprendizaje automático de AWS