Integración de modelos de Amazon SageMaker AI con Amazon QuickSight
nota
No necesita experiencia técnica en machine learning (ML) para crear análisis y paneles que utilicen las características basadas en ML de Amazon QuickSight.
Puede aumentar los datos de Amazon QuickSight Enterprise Edition con modelos de machine learning de Amazon SageMaker AI. Puede ejecutar la inferencia en los datos almacenados en SPICE importados de cualquier origen de datos compatible con Amazon QuickSight. Para obtener una lista completa de los orígenes de datos compatibles, consulte Orígenes de datos admitidos.
El uso de Amazon QuickSight con modelos de SageMaker AI puede ahorrar el tiempo que, de otro modo, podría dedicar a administrar el desplazamiento de datos y a escribir código. Los resultados son útiles tanto para evaluar el modelo cuando está satisfecho con los resultados como para compartirlos con los responsables de la toma de decisiones. Puede comenzar inmediatamente después de que se haya creado el modelo. Al hacerlo, afloran los modelos prediseñados de sus científicos de datos y le permite aplicar la ciencia de datos a sus conjuntos de datos. A continuación, puede compartir estas ideas en sus paneles de predicciones. Con el enfoque sin servidor de Amazon QuickSight, el proceso se escala sin problemas, por lo que no tiene que preocuparse por la capacidad de inferencia o consulta.
Amazon QuickSight admite modelos de SageMaker AI que utilizan algoritmos de regresión y clasificación. Puede aplicar esta característica para obtener predicciones para casi cualquier caso de uso empresarial. Algunos ejemplos incluyen la predicción de la probabilidad de rotación de clientes, el desgaste de los empleados, la puntuación de clientes potenciales y la evaluación de riesgos crediticios. Para utilizar Amazon QuickSight para proporcionar predicciones, los datos del modelo de SageMaker AI de entrada y de salida deben estar en formato tabular. En casos de uso de clasificación multiclase o multietiqueta, cada columna de salida debe contener un solo valor. Amazon QuickSight no admite varios valores dentro de una sola columna.
Temas
Cómo funciona la integración de SageMaker AI
En general, el proceso funciona del siguiente modo:
-
Un administrador de Amazon QuickSight agrega permisos para que Amazon QuickSight acceda a SageMaker AI. Para ello, abra la configuración de Seguridad y permisos en la página Administrar QuickSight. Vaya a Acceso de QuickSight a los servicios de AWS y agregue SageMaker AI.
Al agregar estos permisos, Amazon QuickSight se agrega a un rol de AWS Identity and Access Management (IAM) que proporciona acceso para enumerar todos los modelos de SageMaker AI de su cuenta de AWS. También proporciona permisos para ejecutar trabajos de SageMaker AI que tienen nombres con el prefijo
quicksight-auto-generated-. -
Recomendamos que se conecte a un modelo de SageMaker AI que tenga una canalización de inferencia porque lleva a cabo automáticamente el procesamiento previo de datos. Para obtener más información, consulte Deploy an Inference Pipeline en la Guía para desarrolladores de SageMaker AI.
-
Después de identificar los datos y el modelo entrenado previamente que desea utilizar juntos, el propietario del modelo crea y proporciona un archivo de esquema. Este archivo JSON es un contrato con SageMaker AI. Proporciona metadatos sobre los campos, los tipos de datos, el orden de las columnas, la salida y la configuración que el modelo espera. El componente de configuración opcional proporciona el tamaño de la instancia y el número de instancias de computación que se van a utilizar para el trabajo.
Si es el científico de datos que generó el modelo, cree este archivo de esquema mediante el formato que se documenta a continuación. Si es un consumidor del modelo, obtenga el archivo de esquema del propietario del modelo.
-
En Amazon QuickSight, comience con la creación de un nuevo conjunto de datos con los datos a partir de los que desea hacer predicciones. Si va a cargar un archivo, puede agregar el modelo de SageMaker AI en la pantalla de configuración de carga. De lo contrario, añada el modelo en la página de preparación de datos.
Antes de continuar, verifique los mapeos entre el conjunto de datos y el modelo.
-
Después de importar los datos al conjunto de datos, los campos de salida contienen los datos devueltos desde SageMaker AI. Use estos campos del mismo modo que otros campos, según las directrices descritas en Directrices de uso.
Cuando ejecuta la integración de SageMaker AI, Amazon QuickSight envía una solicitud a SageMaker AI para ejecutar trabajos de transformación por lotes con canalizaciones de inferencia. Amazon QuickSight comienza a aprovisionar e implementar las instancias necesarias en su cuenta de AWS. Cuando se completa el procesamiento, estas instancias se cierran y finalizan. La capacidad de computación solo genera costos cuando procesa modelos.
Para facilitarle la identificación, Amazon QuickSight asigna un nombre a todos sus trabajos de SageMaker AI con el prefijo
quicksight-auto-generated-. -
La salida de la inferencia se almacena en SPICE y se añade al conjunto de datos. Tan pronto como se complete la inferencia, podrá utilizar el conjunto de datos para crear visualizaciones y paneles mediante los datos de predicción.
-
La actualización de datos se inicia cada vez que se guarda el conjunto de datos. Puede iniciar el proceso de actualización de datos manualmente actualizando el conjunto de datos de SPICE o puede programarlo para que se ejecute periódicamente. Durante cada actualización de datos, el sistema llama automáticamente a la transformación por lotes de SageMaker AI para actualizar los campos de salida con nuevos datos.
Puede utilizar las operaciones de la API de incorporación de datos de SPICE de Amazon QuickSight para controlar el proceso de actualización de datos. Para obtener más información sobre las operaciones de la API de datos, consulte la referencia de la API de Amazon QuickSight.
Costos generados (sin costos adicionales con la propia integración)
El uso de esta característica no requiere una tarifa adicional en sí mismo. Sus costos incluyen lo siguiente:
-
El costo de la implementación del modelo a través de SageMaker AI, que se genera solo cuando el modelo está en funcionamiento. Al guardar un conjunto de datos después de crearlo o editarlo o al actualizar sus datos comienza el proceso de ingesta de datos. Este proceso incluye la llamada a SageMaker AI si el conjunto de datos ha inferido campos. Los gastos se generan en la misma cuenta de AWS en la que se encuentra su suscripción a QuickSight.
-
Los costos de la suscripción a QuickSight son los siguientes:
-
El costo de almacenar los datos en el motor de cálculo en memoria de QuickSight (SPICE). Si va a añadir nuevos datos a SPICE, es posible que deba comprar suficiente capacidad de SPICE para almacenarlos.
-
Suscripciones a QuickSight para los autores o administradores que crean los conjuntos de datos.
-
Gastos de pago por sesión para que los espectadores (lectores) puedan obtener acceso a los paneles interactivos.
-
Directrices de uso
En Amazon QuickSight, se aplican las siguientes directrices de uso a esta característica de la edición Enterprise:
-
El procesamiento del modelo se produce en SPICE. Por lo tanto, solo puede aplicarse a conjuntos de datos que se almacenan en SPICE. El proceso admite actualmente hasta 500 millones de filas por conjunto de datos.
-
Solo los administradores o autores de QuickSight pueden aumentar los conjuntos de datos con modelos de machine learning. Los lectores solo pueden ver los resultados cuando forman parte de un panel.
-
Cada conjunto de datos puede trabajar con un solo modelo de machine learning.
-
Los campos de salida no se pueden utilizar para calcular nuevos campos.
-
Los conjuntos de datos no se pueden filtrar por campos que estén integrados con el modelo. En otras palabras, si su campo de conjunto de datos está asignado actualmente al modelo de ML, no podrá filtrar por ese campo.
En SageMaker AI, se aplican las siguientes directrices de uso a un modelo entrenado previamente que se utiliza con Amazon QuickSight:
-
Cuando cree el modelo, asócielo con el nombre de recurso de Amazon (ARN) del rol de IAM apropiado. El rol de IAM del modelo de SageMaker AI necesita obtener acceso al bucket de Amazon S3 que utiliza Amazon QuickSight.
-
Asegúrese de que su modelo admite archivos.csv tanto para la entrada como para la salida. Asegúrese de que los datos están en un formato de tabla.
-
Proporcione un archivo de esquema que contenga metadatos sobre el modelo, incluida la lista de campos de entrada y salida. Actualmente, debe crear este archivo de esquema manualmente.
-
Considere la cantidad de tiempo que lleva completar su inferencia, que depende de una serie de factores. Entre ellos se incluyen la complejidad del modelo, la cantidad de datos y la capacidad de cómputo definida. Completar la inferencia puede tardar de varios minutos a varias horas. Amazon QuickSight limita todos los trabajos de inferencia e ingesta de datos a un máximo de 10 horas. Para reducir el tiempo que se tarda realizar una inferencia, considere la posibilidad de aumentar el tamaño de la instancia o el número de instancias.
-
Actualmente, solo puede utilizar transformaciones por lotes para la integración de SageMaker AI, y no con datos en tiempo real. No puede usar un punto de conexión de SageMaker AI.
Definición del archivo de esquema
Antes de utilizar un modelo de SageMaker AI con datos de Amazon QuickSight, cree el archivo de esquema JSON que contiene los metadatos que Amazon QuickSight necesita para procesar el modelo. El autor o administrador de Amazon QuickSight carga el archivo de esquema al configurar el conjunto de datos.
Los campos de esquema se definen de la siguiente manera. Todos los campos son obligatorios a menos que se especifiquen en la siguiente descripción. Los atributos distinguen entre mayúsculas y minúsculas.
- inputContentType
-
El tipo de contenido que este modelo de SageMaker AI espera para los datos de entrada. El único valor admitido es
"text/csv". QuickSight no incluye ninguno de los nombres de encabezado que se han añadido al archivo de entrada. - outputContentType
-
El tipo de contenido de la salida que produce el modelo de SageMaker AI que desea utilizar. El único valor admitido es
"text/csv". - input
-
Una lista de características que el modelo espera en los datos de entrada. QuickSight produce los datos de entrada exactamente en el mismo orden. Esta lista contiene los atributos siguientes:
-
nombre: el nombre de la columna. Si es posible, procure que sea el mismo que el de la columna correspondiente en el conjunto de datos de QuickSight. Este atributo está limitado a 100 caracteres.
-
tipo: el tipo de datos de esta columna. Este atributo acepta los valores
"INTEGER","STRING"y"DECIMAL". -
Anulable: (opcional) la nulabilidad del campo. El valor predeterminado es
true. Si establecenullableenfalse, QuickSight descarta las filas que no contienen este valor antes de llamar a SageMaker AI. De este modo, se contribuye a evitar que se produzca un error de SageMaker AI en los datos necesarios que faltan.
-
- salida
-
Una lista de columnas de salida que produce el modelo de SageMaker AI. QuickSight espera estos campos exactamente en el mismo orden. Esta lista contiene los atributos siguientes:
-
nombre: este nombre se convierte en el predeterminado de la nueva columna correspondiente que se crea en QuickSight. Puede invalidar el nombre especificado aquí en QuickSight. Este atributo está limitado a 100 caracteres.
-
tipo: el tipo de datos de esta columna. Este atributo acepta los valores
"INTEGER","STRING"y"DECIMAL".
-
- instanceTypes
-
Una lista de los tipos de instancia de ML que SageMaker AI puede aprovisionar para ejecutar el trabajo de transformación. La lista se proporciona al usuario de QuickSight para que elija una opción. Esta lista se limita a los tipos que admite SageMaker AI. Para obtener más información sobre los tipos compatibles, consulte TransformResources en la Guía para desarrolladores de SageMaker AI.
- defaultInstanceType
-
(Opcional) El tipo de instancia que se presenta como la opción predeterminada en el asistente de SageMaker AI en QuickSight. Incluya este tipo de instancia en
instanceTypes. - instanceCount
-
(Opcional) El recuento de instancias define cuántas de las instancias seleccionadas debe aprovisionar SageMaker AI para ejecutar el trabajo de transformación. Este valor debe ser un número entero positivo.
- description
-
Este campo proporciona un lugar para que la persona que posee el modelo de SageMaker AI se comunique con la persona que está usando este modelo en QuickSight. Utilice este campo para ofrecer consejos sobre cómo utilizar este modelo correctamente. Por ejemplo, este campo puede contener información sobre la selección de un tipo de instancia eficaz para elegir de la lista en
instanceTypes, en función del tamaño del conjunto de datos. Este campo está limitado a 1000 caracteres. - versión
-
La versión del esquema, por ejemplo, “
1.0".
En el ejemplo siguiente se muestra la estructura del código JSON en el archivo de esquema.
{ "inputContentType": "CSV", "outputContentType": "CSV", "input": [ { "name": "buying", "type": "STRING" }, { "name": "maint", "type": "STRING" }, { "name": "doors", "type": "INTEGER" }, { "name": "persons", "type": "INTEGER" }, { "name": "lug_boot", "type": "STRING" }, { "name": "safety", "type": "STRING" } ], "output": [ { "name": "Acceptability", "type": "STRING" } ], "description": "Use ml.m4.xlarge instance for small datasets, and ml.m4.4xlarge for datasets over 10 GB", "version": "1.0", "instanceCount": 1, "instanceTypes": [ "ml.m4.xlarge", "ml.m4.4xlarge" ], "defaultInstanceType": "ml.m4.xlarge" }
La estructura del archivo de esquema está relacionada con el tipo de modelo que se utiliza en los ejemplos que proporciona SageMaker AI.
Adición de un modelo de SageMaker AI a su conjunto de datos de QuickSight
Con el siguiente procedimiento, puede agregar un modelo de SageMaker AI entrenado previamente a su conjunto de datos, de modo que pueda utilizar datos predictivos en análisis y paneles.
Antes de comenzar, tenga a mano los siguientes elementos:
-
Los datos que desea utilizar para crear el conjunto de datos.
-
El nombre del modelo de SageMaker AI que desea utilizar para aumentar el conjunto de datos.
-
El esquema del modelo. Este esquema incluye asignaciones de nombres de campo y tipos de datos. Es útil si también contiene la configuración recomendada, por ejemplo, el tipo y el número de instancias que se utilizarán.
Aumento de su conjunto de datos de Amazon QuickSight con SageMaker AI
-
Cree un nuevo conjunto de datos desde la página de inicio seleccionando Conjuntos de datos y, a continuación, seleccione Nuevo conjunto de datos.
También puede modificar uno existente.
-
Seleccione Aumentar con SageMaker en la pantalla de preparación de datos.
-
En Seleccionar su modelo, elija la siguiente configuración:
-
Modelo: elija el modelo de SageMaker AI que se usará para inferir los campos.
-
Nombre: proporcione un nombre descriptivo para el modelo.
-
Esquema: cargue el archivo de esquema JSON proporcionado para el modelo.
-
Configuración avanzada: QuickSight recomienda los valores predeterminados seleccionados en función de su conjunto de datos. Puede utilizar la configuración de tiempo de ejecución específicos para equilibrar la velocidad y el costo de su trabajo. Para ello, escriba los tipos de instancia de ML de SageMaker AI para Tipo de instancia y el número de instancias para Recuento.
Elija Siguiente para continuar.
-
-
En Revisar entradas, revise los campos que están mapeados a su conjunto de datos. QuickSight intenta mapear automáticamente los campos de su esquema a los campos de su conjunto de datos. Aquí puede hacer cambios si se debe ajustar el mapeo.
Elija Siguiente para continuar.
-
En Revisar resultados, consulte los campos que se añaden a su conjunto de datos.
Elija Guardar y preparar datos para confirmar las opciones.
-
Para actualizar los datos, elija el conjunto de datos para ver los detalles. A continuación, elija Actualizar ahora para actualizar manualmente los datos o elija Actualizar programación para configurar un actualización periódica. Durante cada actualización de datos, el sistema ejecuta automáticamente el trabajo de transformación por lotes de SageMaker AI para actualizar los campos de salida con nuevos datos.