Acelerando el tiempo para obtener conocimientos con las colecciones de series temporales de MongoDB y Amazon SageMaker Canvas

Acelerando el aprendizaje con las colecciones de series temporales de MongoDB y Amazon SageMaker Canvas

Este es un artículo de invitado coescrito con Babu Srinivasan de MongoDB.

A medida que las industrias evolucionan en el acelerado panorama empresarial de hoy en día, la incapacidad de tener pronósticos en tiempo real plantea desafíos significativos para las industrias que dependen en gran medida de información precisa y oportuna. La falta de pronósticos en tiempo real en diversas industrias presenta desafíos empresariales urgentes que pueden afectar significativamente la toma de decisiones y la eficiencia operativa. Sin información en tiempo real, las empresas luchan por adaptarse a las condiciones dinámicas del mercado, anticipar con precisión la demanda de los clientes, optimizar los niveles de inventario y tomar decisiones estratégicas proactivas. Industrias como Finanzas, Retail, Gestión de la Cadena de Suministro y Logística enfrentan el riesgo de oportunidades perdidas, costos incrementados, asignación ineficiente de recursos y la incapacidad de cumplir con las expectativas de los clientes. Al explorar estos desafíos, las organizaciones pueden reconocer la importancia de los pronósticos en tiempo real y explorar soluciones innovadoras para superar estos obstáculos, lo que les permitirá mantenerse competitivas, tomar decisiones informadas y prosperar en el acelerado entorno empresarial de hoy en día.

Aprovechando el potencial transformador de las capacidades nativas de series temporales de MongoDB e integrándolas con el poder de Amazon SageMaker Canvas, las organizaciones pueden superar estos desafíos y alcanzar nuevos niveles de agilidad. El sólido sistema de gestión de datos de series temporales de MongoDB permite el almacenamiento y recuperación de grandes volúmenes de datos de series temporales en tiempo real, mientras que los algoritmos avanzados de aprendizaje automático y las capacidades predictivas proporcionan modelos de pronóstico precisos y dinámicos con SageMaker Canvas.

En este artículo, exploraremos el potencial de utilizar los datos de series temporales de MongoDB y SageMaker Canvas como una solución integral.

MongoDB Atlas

MongoDB Atlas es una plataforma de datos para desarrolladores totalmente administrada que simplifica la implementación y escalabilidad de bases de datos MongoDB en la nube. Es un sistema de almacenamiento basado en documentos que proporciona una base de datos completamente administrada, con búsqueda de texto completo y vectorial incorporada, soporte para consultas geoespaciales, gráficos y soporte nativo para un almacenamiento y consultas eficientes de series temporales. MongoDB Atlas ofrece fragmentación automática, escalabilidad horizontal e indexación flexible para la ingesta de datos de alto volumen. Entre todas estas características, la capacidad nativa de series temporales es un aspecto destacado, lo que la hace ideal para la gestión de grandes volúmenes de datos de series temporales, como datos de aplicaciones críticas para el negocio, telemetría, registros del servidor y más. Con consultas, agregación y análisis eficientes, las empresas pueden extraer información valiosa de datos con marca de tiempo. Al utilizar estas capacidades, las empresas pueden almacenar, administrar y analizar datos de series temporales de manera eficiente, lo que permite tomar decisiones basadas en datos y obtener una ventaja competitiva.

Amazon SageMaker Canvas

Amazon SageMaker Canvas es un servicio de aprendizaje automático visual que permite a los analistas de negocios y científicos de datos construir y desplegar modelos personalizados de aprendizaje automático sin necesidad de tener experiencia en aprendizaje automático ni de escribir una sola línea de código. SageMaker Canvas admite varios casos de uso, incluido el pronóstico de series temporales, lo que permite a las empresas pronosticar con precisión la demanda futura, las ventas, los requisitos de recursos y otros datos de series temporales. El servicio utiliza técnicas de aprendizaje profundo para manejar patrones de datos complejos y permite a las empresas generar pronósticos precisos incluso con datos históricos mínimos. Al utilizar las capacidades de Amazon SageMaker Canvas, las empresas pueden tomar decisiones informadas, optimizar los niveles de inventario, mejorar la eficiencia operativa y aumentar la satisfacción del cliente.

La interfaz de usuario de SageMaker Canvas le permite integrar sin problemas fuentes de datos de la nube o en las instalaciones, fusionar conjuntos de datos fácilmente, entrenar modelos precisos y hacer predicciones con datos emergentes, todo sin necesidad de programación. Si necesita un flujo de trabajo automatizado o integración directa de modelos de aprendizaje automático en aplicaciones, las funciones de pronóstico de Canvas son accesibles a través de API.

Resumen de la solución

Los usuarios persisten sus datos de series temporales transaccionales en MongoDB Atlas. A través de Atlas Data Federation, los datos se extraen en un bucket de Amazon S3. Amazon SageMaker Canvas accede a los datos para construir modelos y crear pronósticos. Los resultados del pronóstico se almacenan en un bucket de S3. Utilizando los servicios de MongoDB Data Federation, los pronósticos se presentan visualmente a través de MongoDB Charts.

El siguiente diagrama muestra la arquitectura propuesta de la solución.

Prerrequisitos

Para esta solución utilizamos MongoDB Atlas para almacenar datos de series temporales, Amazon SageMaker Canvas para entrenar un modelo y producir pronósticos, y Amazon S3 para almacenar datos extraídos de MongoDB Atlas.

Asegúrate de tener los siguientes prerrequisitos:

Configurar clúster de MongoDB Atlas

Crea un clúster gratuito de MongoDB Atlas siguiendo las instrucciones en Crear un Clúster. Configura el acceso a la base de datos y el acceso de red.

Población de una colección de series temporales en MongoDB Atlas

Para fines de esta demostración, puedes utilizar un conjunto de datos de muestra de Kaggle y cargarlo en MongoDB Atlas con las herramientas de MongoDB, preferiblemente MongoDB Compass.

El siguiente código muestra un conjunto de datos de muestra para una colección de series temporales:

{"store": "1 1","timestamp": { "2010-02-05T00:00:00.000Z"},"temperature": "42.31","target_value": 2.572,"IsHoliday": false}

La siguiente captura de pantalla muestra los datos de muestra de la serie temporal en MongoDB Atlas:

Crear un bucket de S3

Crea un bucket de S3 en AWS, donde se deben almacenar y analizar los datos de series temporales. Ten en cuenta que tenemos dos carpetas. sales-train-data se utiliza para almacenar datos extraídos de MongoDB Atlas, mientras que sales-forecast-output contiene predicciones de Canvas.

Crear la Federación de Datos

Configura la Federación de Datos en Atlas y registra el bucket de S3 creado previamente como parte de la fuente de datos. Observa que se crean tres bases de datos/colecciones diferentes en la federación de datos para el clúster de Atlas, el bucket de S3 para datos de MongoDB Atlas y el bucket de S3 para almacenar los resultados de Canvas.

Las siguientes capturas de pantalla muestran la configuración de la federación de datos.

Configurar el servicio de aplicaciones de Atlas

Crea los Servicios de Aplicaciones de MongoDB para desplegar las funciones que transfieren los datos desde el clúster de MongoDB Atlas al bucket de S3 utilizando la agregación $out.

Verificar la configuración del origen de datos

Los servicios de aplicaciones crean un nuevo nombre de servicio de Atlas que debe ser referido como servicios de datos en la siguiente función. Verifica que el nombre de servicio de Atlas haya sido creado y anótalo para futuras referencias.

Crear la función

Configura los servicios de aplicaciones de Atlas para crear el disparador y las funciones. Los disparadores deben ser programados para escribir los datos en S3 con una frecuencia basada en las necesidades del negocio para entrenar los modelos.

El siguiente script muestra la función para escribir en el bucket de S3:

exports = function () {   const service = context.services.get("");   const db = service.db("")   const events = db.collection("");   const pipeline = [    {            "$out": {               "s3": {                  "bucket": "<Nombre_del_bucket_S3>",                  "region": "<Región_de_AWS>",                   "filename": {$concat: ["<Ruta_del_S3>/<nombre_de_archivo>_",{"$toString":  new Date(Date.now())}]},                  "format": {                        "name": "json",                        "maxFileSize": "10GB"                  }               }            }      }   ];   return events.aggregate(pipeline);};

Función de ejemplo

Puedes ejecutar la función a través de la pestaña “Run” y depurar los errores utilizando las funciones de registro en los Servicios de Aplicación. Además, los errores se pueden depurar utilizando el menú “Logs” en el panel izquierdo.

La siguiente captura de pantalla muestra la ejecución de la función junto con la salida:

Crear conjunto de datos en Amazon SageMaker Canvas

Los siguientes pasos asumen que has creado un dominio y un perfil de usuario de SageMaker. Si aún no lo has hecho, asegúrate de configurar el dominio y perfil de usuario de SageMaker. En el perfil de usuario, actualiza tu bucket de S3 para que sea personalizado y proporciona el nombre de tu bucket.

Cuando hayas terminado, navega hasta SageMaker Canvas, selecciona tu dominio y perfil, y selecciona Canvas.

Crea un conjunto de datos suministrando la fuente de datos.

Después de previsualizar el modelo o iniciar el proceso de construcción, tu modelo se creará y puede tardar hasta cuatro horas. Puedes salir de la pantalla y volver más tarde para ver el estado de entrenamiento del modelo.

Cuando el modelo esté listo, selecciona el modelo y haz clic en la última versión

Revisa las métricas del modelo y el impacto de las columnas, y si estás satisfecho con el rendimiento del modelo, haz clic en “Predecir”.

A continuación, elige la predicción en lote y haz clic en “Seleccionar conjunto de datos”.

Selecciona tu conjunto de datos y haz clic en “Elegir conjunto de datos”.

A continuación, haz clic en “Iniciar predicciones”.

Observa un trabajo creado o el progreso del trabajo en SageMaker bajo “Inferencia”, “Trabajos de transformación en lote”.

Cuando el trabajo se complete, selecciona el trabajo y toma nota de la ruta S3 donde Canvas almacenó las predicciones.

Visualizar datos de pronóstico en gráficos Atlas

Para visualizar los datos de pronóstico, crea los gráficos de MongoDB Atlas basados en los datos federados (amazon-forecast-data) para los pronósticos P10, P50 y P90 como se muestra en el siguiente gráfico.

Limpiar

  • Eliminar el clúster de MongoDB Atlas
  • Eliminar la configuración de federación de datos de Atlas
  • Eliminar la aplicación de servicio de Atlas
  • Eliminar el bucket de S3
  • Eliminar el conjunto de datos y modelos de Amazon SageMaker Canvas
  • Eliminar los gráficos de Atlas
  • Cerrar sesión en Amazon SageMaker Canvas

Conclusión

En esta publicación, extraímos datos de series de tiempo de la colección de series de tiempo de MongoDB. Esta es una colección especial optimizada para el almacenamiento y la velocidad de consulta de datos de series de tiempo. Utilizamos Amazon SageMaker Canvas para entrenar modelos y generar predicciones, y visualizamos las predicciones en Atlas Charts.

Para obtener más información, consulte los siguientes recursos.

We will continue to update Zepes; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

Inteligencia Artificial

Conoce FlexGen un motor de generación de alto rendimiento para ejecutar grandes modelos de lenguaje (LLM) con memoria limitada de GPU.

Recientemente, los modelos de lenguaje grandes (LLMs, por sus siglas en inglés) han mostrado un rendimiento impresion...

Inteligencia Artificial

Investigadores de Microsoft presentan Hydra-RLHF Una solución eficiente en memoria para el aprendizaje por refuerzo con retroalimentación humana

Desde que se hicieron conocidos, los modelos familiares ChatGPT, GPT-4 y Llama-2 han conquistado a los usuarios con s...

Inteligencia Artificial

Investigadores estudian las redes tensoriales para el aprendizaje automático cuántico inspirado, interpretativo y eficiente

La visión por computadora, el procesamiento del lenguaje natural y otros campos han tenido un notable éxito con enfoq...

Inteligencia Artificial

Stability AI lanza el primer modelo japonés de visión y lenguaje

La creación y formulación de un modelo único y completo capaz de manejar una variedad de tareas definidas por el usua...

Inteligencia Artificial

Los agentes de IA personalizados ya están aquí. ¿Está el mundo listo para ellos?

La era de los asistentes de inteligencia artificial autónoma podría tener enormes implicaciones.