Haga operativos sus cuadernos de Amazon SageMaker Studio como trabajos de cuaderno programados PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Ponga en funcionamiento sus blocs de notas de Amazon SageMaker Studio como trabajos de blocs de notas programados

Estudio Amazon SageMaker proporciona una solución completamente administrada para que los científicos de datos construyan, entrenen e implementen modelos de aprendizaje automático (ML) de forma interactiva. Además de la experiencia de aprendizaje automático interactivo, los trabajadores de datos también buscan soluciones para ejecutar cuadernos como trabajos efímeros sin la necesidad de refactorizar el código como módulos de Python o aprender las mejores prácticas y herramientas de DevOps para automatizar su infraestructura de implementación. Algunos casos de uso comunes para hacer esto incluyen:

  • Ejecución regular de inferencia de modelos para generar informes
  • Ampliación de un paso de ingeniería de funciones después de haber probado en Studio con un subconjunto de datos en una instancia pequeña
  • Reentrenamiento e implementación de modelos en cierta cadencia
  • Analizando tu equipo Amazon SageMaker uso en una cadencia regular

Anteriormente, cuando los científicos de datos querían tomar el código que creaban de forma interactiva en cuadernos y ejecutarlos como trabajos por lotes, se enfrentaban a una curva de aprendizaje pronunciada utilizando Canalizaciones de Amazon SageMaker, AWS Lambda, Puente de eventos de Amazono otras soluciones que son difíciles de configurar, usar y administrar.

Con Trabajos de bloc de notas de SageMaker, ahora puede ejecutar sus cuadernos tal cual o de forma parametrizada con solo unos pocos clics desde SageMaker Studio o Laboratorio de SageMaker Studio interfaz. Puede ejecutar estos cuadernos en un horario o inmediatamente. No es necesario que el usuario final modifique su código de cuaderno existente. Cuando se completa el trabajo, puede ver las celdas del cuaderno llenas, ¡incluidas las visualizaciones!

En esta publicación, compartimos cómo poner en funcionamiento sus cuadernos de SageMaker Studio como trabajos de cuadernos programados.

Resumen de la solución

El siguiente diagrama ilustra la arquitectura de nuestra solución. Utilizamos la extensión SageMaker preinstalada para ejecutar notebooks como un trabajo de inmediato o según un cronograma.

En las siguientes secciones, recorremos los pasos para crear un cuaderno, parametrizar celdas, personalizar opciones adicionales y programar su trabajo. También incluimos un caso de uso de muestra.

Requisitos previos

Para utilizar trabajos de cuadernos de SageMaker, debe ejecutar una aplicación JupyterLab 3 JupyterServer en Studio. Para obtener más información sobre cómo actualizar a JupyterLab 3, consulte Ver y actualizar la versión de JupyterLab de una aplicación desde la consola. Asegúrese de Cierre y actualice SageMaker Studio para recoger las últimas actualizaciones.

Para definir definiciones de trabajos que ejecuten cuadernos según un cronograma, es posible que deba agregar permisos adicionales a su función de ejecución de SageMaker.

Primero, agregue una relación de confianza a su rol de ejecución de SageMaker que le permita events.amazonaws.com para asumir su papel:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "sagemaker.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        },
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "events.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}

Además, es posible que deba crear y adjuntar una política en línea a su función de ejecución. La siguiente política es complementaria a la muy permisiva AmazonSageMakerFullAccess política. Para obtener un conjunto mínimo y completo de permisos, consulte Instalar políticas y permisos.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "events:TagResource",
                "events:DeleteRule",
                "events:PutTargets",
                "events:DescribeRule",
                "events:PutRule",
                "events:RemoveTargets",
                "events:DisableRule",
                "events:EnableRule"
            ],
            "Resource": "*",
            "Condition": {
              "StringEquals": {
                "aws:ResourceTag/sagemaker:is-scheduling-notebook-job": "true"
              }
            }
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::*:role/*",
            "Condition": {
                "StringLike": {
                    "iam:PassedToService": "events.amazonaws.com"
                }
            }
        },
        {
            "Sid": "VisualEditor2",
            "Effect": "Allow",
            "Action": "sagemaker:ListTags",
            "Resource": "arn:aws:sagemaker:*:*:user-profile/*/*"
        }
    ]
}

Crear un trabajo de cuaderno

Para poner en funcionamiento su bloc de notas como un trabajo de bloc de notas de SageMaker, elija el Crear un trabajo de cuaderno del icono.

Haga operativos sus cuadernos de Amazon SageMaker Studio como trabajos de cuaderno programados PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Alternativamente, puede elegir (clic con el botón derecho) su computadora portátil en el sistema de archivos y elegir Crear trabajo de cuaderno.

Haga operativos sus cuadernos de Amazon SageMaker Studio como trabajos de cuaderno programados PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

En Crear trabajo sección, simplemente elija el tipo de instancia adecuado para su trabajo programado en función de su carga de trabajo: instancias estándar, instancias optimizadas para computación o instancias de computación acelerada que contienen GPU. Puede elegir cualquiera de las instancias disponibles para los trabajos de capacitación de SageMaker. Para obtener la lista completa de instancias disponibles, consulte Precios de Amazon SageMaker.

Haga operativos sus cuadernos de Amazon SageMaker Studio como trabajos de cuaderno programados PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Cuando se completa un trabajo, puede ver el archivo del cuaderno de salida con sus celdas llenas, así como los registros subyacentes de las ejecuciones del trabajo.

Haga operativos sus cuadernos de Amazon SageMaker Studio como trabajos de cuaderno programados PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Parametrizar celdas

Al mover una computadora portátil a un flujo de trabajo de producción, es importante poder reutilizar la misma computadora portátil con diferentes conjuntos de parámetros para la modularidad. Por ejemplo, es posible que desee parametrizar la ubicación del conjunto de datos o los hiperparámetros de su modelo para que pueda reutilizar el mismo cuaderno para muchos entrenamientos de modelos distintos. Los trabajos de cuadernos de SageMaker admiten esto a través de etiquetas de celda. Simplemente elija el ícono de engranaje doble en el panel derecho y elija Añadir etiqueta. Luego etiquete la etiqueta como parámetros.

Haga operativos sus cuadernos de Amazon SageMaker Studio como trabajos de cuaderno programados PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

De forma predeterminada, la ejecución del trabajo del cuaderno usa los valores de los parámetros especificados en el cuaderno, pero también puede modificarlos como una configuración para su trabajo del cuaderno.

Haga operativos sus cuadernos de Amazon SageMaker Studio como trabajos de cuaderno programados PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Configurar opciones adicionales

Al crear un trabajo de cuaderno, puede expandir el Opciones adicionales para personalizar su definición de trabajo. Studio detectará automáticamente la imagen o el kernel que está utilizando en su computadora portátil y lo preseleccionará por usted. Asegúrese de haber validado esta selección.

También puede especificar variables de entorno o secuencias de comandos de inicio para personalizar el entorno de ejecución de su portátil. Para obtener la lista completa de configuraciones, consulte Opciones adicionales.

Programa tu trabajo

Para programar su trabajo, elija Ejecutar en un horario y establezca un intervalo y tiempo apropiados. Entonces puedes elegir el Trabajos de portátiles pestaña que es visible después de elegir el icono de inicio. Después de cargar el cuaderno, elija el Definiciones de trabajo del cuaderno pestaña para pausar o eliminar su horario.

Haga operativos sus cuadernos de Amazon SageMaker Studio como trabajos de cuaderno programados PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Caso de uso de ejemplo

Para nuestro ejemplo, mostramos un flujo de trabajo de ML de extremo a extremo que prepara datos de una fuente de verdad, entrena un modelo actualizado de ese período de tiempo y luego ejecuta inferencias en los datos más recientes para generar información procesable. En la práctica, puede ejecutar un flujo de trabajo completo de extremo a extremo o simplemente poner en funcionamiento un paso de su flujo de trabajo. Puedes programar una Pegamento AWS sesión interactiva para la preparación diaria de datos, o ejecute un trabajo de inferencia por lotes que genera resultados gráficos directamente en su cuaderno de salida.

El cuaderno completo para este ejemplo se puede encontrar en nuestro Repositorio de GitHub de ejemplos de SageMaker. El caso de uso supone que somos una empresa de telecomunicaciones que busca programar un cuaderno que predice la probable rotación de clientes en función de un modelo entrenado con los datos más recientes que tenemos disponibles.

Para comenzar, recopilamos los datos de clientes disponibles más recientes y realizamos un preprocesamiento en ellos:

import pandas as pd
from synthetic_data import generate_data

previous_two_weeks_data = generate_data(5000, label_known=True)
todays_data = generate_data(300, label_known=False)

processed_prior_data = process_data(previous_two_weeks_data, label_known=True)
processed_todays_data = process_data(todays_data, label_known=False)

Entrenamos nuestro modelo renovado en estos datos de entrenamiento actualizados para hacer predicciones precisas sobre todays_data:

import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import f1_score, confusion_matrix, ConfusionMatrixDisplay

y = np.ravel(processed_prior_data[["Churn"]])
x = processed_prior_data.drop(["Churn"], axis=1)

x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.25)

clf = RandomForestClassifier(n_estimators=int(number_rf_estimators), criterion="gini")
clf.fit(x_train, y_train)

Debido a que vamos a programar este cuaderno como un informe diario, queremos capturar qué tan bien se desempeñó nuestro modelo actualizado en nuestro conjunto de validación para que podamos confiar en sus predicciones futuras. Los resultados en la siguiente captura de pantalla son de nuestro informe de inferencia programado.

Haga operativos sus cuadernos de Amazon SageMaker Studio como trabajos de cuaderno programados PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Por último, desea capturar los resultados pronosticados de los datos de hoy en una base de datos para que se puedan tomar medidas en función de los resultados de este modelo.

Haga operativos sus cuadernos de Amazon SageMaker Studio como trabajos de cuaderno programados PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Después de entender el cuaderno, siéntase libre de ejecutarlo como un trabajo efímero usando el Corre ahora opción descrita anteriormente o pruebe la funcionalidad de programación.

Limpiar

Si siguió nuestro ejemplo, asegúrese de pausar o eliminar la programación del trabajo de su computadora portátil para evitar incurrir en cargos continuos.

Conclusión

Llevar las notebooks a producción con los trabajos de notebooks de SageMaker simplifica enormemente el trabajo pesado indiferenciado que requieren los trabajadores de datos. Ya sea que esté programando flujos de trabajo de ML de extremo a extremo o una pieza del rompecabezas, lo alentamos a que ponga algunos cuadernos en producción usando SageMaker Studio o SageMaker Studio Lab. Para obtener más información, consulte Flujos de trabajo basados ​​en portátiles.


Sobre los autores

Sean MorganSean Morgan es arquitecto sénior de soluciones de aprendizaje automático en AWS. Tiene experiencia en los campos de investigación académica y de semiconductores, y utiliza su experiencia para ayudar a los clientes a alcanzar sus objetivos en AWS. En su tiempo libre, Sean es un colaborador/mantenedor activo de código abierto y es el líder del grupo de interés especial para TensorFlow Addons.

Haga operativos sus cuadernos de Amazon SageMaker Studio como trabajos de cuaderno programados PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.Sumedha Swamy es gerente principal de productos en Amazon Web Services. Lidera el equipo de SageMaker Studio para integrarlo en el IDE elegido para flujos de trabajo interactivos de ingeniería de datos y ciencia de datos. Ha pasado los últimos 15 años creando productos empresariales y de consumo obsesionados con el cliente utilizando Machine Learning. En su tiempo libre le gusta fotografiar la asombrosa geología del suroeste de Estados Unidos.

Haga operativos sus cuadernos de Amazon SageMaker Studio como trabajos de cuaderno programados PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.eduardo sol es un SDE sénior que trabaja para SageMaker Studio en Amazon Web Services. Se centra en crear una solución de aprendizaje automático interactivo y en simplificar la experiencia del cliente para integrar SageMaker Studio con tecnologías populares en la ingeniería de datos y el ecosistema de aprendizaje automático. En su tiempo libre, Edward es un gran aficionado a acampar, hacer caminatas y pescar, y disfruta el tiempo que pasa con su familia.

Sello de tiempo:

Mas de Aprendizaje automático de AWS