Improving Air Quality.jpg

En el momento de escribir este artículo, Ghana ocupa el puesto el 27º país más contaminado del mundo, enfrentando importantes desafíos debido a la contaminación del aire. Al reconocer el papel crucial del monitoreo de la calidad del aire, muchos países africanos, incluido Ghana, están adoptando sensores de calidad del aire de bajo costo.

El Centro de capacitación y evaluación de sensores para África occidental (Afri-SET), tiene como objetivo utilizar la tecnología para abordar estos desafíos. Afri-SET colabora con fabricantes de sensores de calidad del aire, proporcionando evaluaciones cruciales adaptadas al contexto africano. A través de evaluaciones de sensores y apoyo a la toma de decisiones informadas, Afri-SET empodera a los gobiernos y a la sociedad civil para una gestión eficaz de la calidad del aire.

El 6 de diciembreth-8th 2023, la organización sin fines de lucro, Tecnología al rescateen colaboración con AWS, organizó el mayor evento del mundo Hackatón sobre la calidad del aire – destinado a abordar uno de los desafíos ambientales y de salud más apremiantes del mundo: la contaminación del aire. Más de 170 equipos tecnológicos utilizaron las últimas tecnologías de nube, aprendizaje automático e inteligencia artificial para crear 33 soluciones. La solución abordada en este blog resuelve el desafío de Afri-SET y fue clasificada como una de las 3 soluciones ganadoras.

Esta publicación presenta una solución que utiliza un inteligencia artificial generativa (IA) estandarizar los datos de calidad del aire provenientes de sensores de bajo costo en África, abordando específicamente el problema de integración de datos de calidad del aire de los sensores de bajo costo. La solución aprovecha las capacidades de la IA generativa, específicamente los modelos de lenguaje grande (LLM), para abordar los desafíos planteados por diversos datos de sensores y generar automáticamente funciones de Python basadas en varios formatos de datos. El objetivo fundamental es crear una base de datos independiente del fabricante, aprovechando la capacidad de la IA generativa para estandarizar las salidas de los sensores, sincronizar datos y facilitar correcciones precisas.

Retos actuales

Actualmente, Afri-SET combina datos de numerosas fuentes, empleando un enfoque personalizado para cada uno de los fabricantes de sensores. Este proceso de sincronización manual, obstaculizado por formatos de datos dispares, consume muchos recursos, lo que limita el potencial de una orquestación generalizada de datos. La plataforma, aunque funcional, maneja archivos CSV y JSON que contienen cientos de miles de filas de varios fabricantes, lo que exige un esfuerzo sustancial para la ingesta de datos.

El objetivo es automatizar la integración de datos de varios fabricantes de sensores para Accra, Ghana, allanando el camino para la escalabilidad en África Occidental. A pesar de los desafíos, Afri-SET, con recursos limitados, imagina una solución integral de gestión de datos para las partes interesadas que buscan alojamiento de sensores en su plataforma, con el objetivo de entregar datos precisos a partir de sensores de bajo costo. El intento se ve perjudicado por el enfoque actual en la limpieza de datos, lo que desvía habilidades valiosas de la construcción de modelos de aprendizaje automático para la calibración de sensores. Además, su objetivo es informar datos corregidos de sensores de bajo costo, lo que requiere información más allá de contaminantes específicos.

La solución tenía los siguientes requisitos:

  • alojamiento en la nube – La solución debe residir en la nube, asegurando escalabilidad y accesibilidad.
  • Ingestión de datos automatizada – Un sistema automatizado es esencial para reconocer y sincronizar formatos de datos nuevos (invisibles) diversos con una mínima intervención humana.
  • Flexibilidad de formato – La solución debe admitir entradas CSV y JSON y ser flexible en el formato (cualquier nombre de columna razonable, unidad de medida, cualquier estructura anidada o CSV con formato incorrecto, como columnas faltantes o columnas adicionales).
  • Preservación de la copia dorada – Es imperativo conservar una copia intacta de los datos para fines de referencia y validación.
  • Económico – La solución solo debe invocar LLM para generar código reutilizable según sea necesario en lugar de manipular los datos directamente para que sea lo más rentable posible.

El objetivo era crear una solución de un solo clic que tomara diferentes estructuras y formatos de datos (CSV y JSON) y los convirtiera automáticamente para integrarlos en una base de datos con encabezados unificados, como se muestra en la siguiente figura. Esto permite agregar datos para realizar análisis adicionales independientes del fabricante.

Figura 1: datos encubiertos con diferentes formatos de datos en un formato de datos deseado con encabezados unificados

Descripción general de la solución

La solución propuesta utiliza el modelo básico Claude 2.1 de Anthropic a través de Roca Amazónica para generar códigos Python, que convierte los datos de entrada en un formato de datos unificado. Los LLM se destacan en escribir código y razonar sobre texto, pero tienden a no funcionar tan bien cuando interactúan directamente con datos de series temporales. En esta solución, aprovechamos las capacidades de razonamiento y codificación de los LLM para crear extracción, transformación y carga (ETL) reutilizables, que transforma archivos de datos de sensores que no se ajustan a un estándar universal para almacenarlos juntos para calibración y análisis posteriores. Además, aprovechamos las capacidades de razonamiento de los LLM para comprender lo que significan las etiquetas en el contexto del sensor de calidad del aire, como partículas (PM), humedad relativa, temperatura, etc.

El siguiente diagrama muestra la arquitectura conceptual:

Figura 3: La arquitectura de referencia de AWS y el flujo de trabajo para la transformación de datos con Amazon Bedrock

Figura 2: La arquitectura de referencia de AWS y el flujo de trabajo para la transformación de datos con Amazon Bedrock

Tutorial de la solución

La solución lee archivos de datos sin procesar (archivos CSV y JSON) de Servicio de almacenamiento simple de Amazon (Amazon S3) (Paso 1) y comprueba si ha visto el tipo de dispositivo (o formato de datos) antes. En caso afirmativo, la solución recupera y ejecuta los códigos Python generados previamente (Paso 2) y los datos transformados se almacenan en S3 (Paso 10). La solución solo invoca el LLM para el nuevo tipo de archivo de datos del dispositivo (aún no se ha generado el código). Esto se hace para optimizar el rendimiento y minimizar el costo de la invocación de LLM. Si el código Python no está disponible para los datos de un dispositivo determinado, la solución notifica al operador que verifique el nuevo formato de datos (Paso 3 y Paso 4). En este momento, el operador verifica el nuevo formato de datos y valida si el nuevo formato de datos es de un nuevo fabricante (Paso 5). Además, la solución comprueba si el archivo es CSV o JSON. Si se trata de un archivo CSV, los datos se pueden convertir directamente en un marco de datos de Pandas mediante una función de Python sin invocación de LLM. Si es un archivo JSON, se invoca el LLM para generar una función de Python que crea un marco de datos de Pandas a partir de la carga útil JSON considerando su esquema y qué tan anidado está (Paso 6).

Invocamos el LLM para generar funciones de Python que manipulan los datos con tres indicaciones diferentes (cadena de entrada):

  1. La primera invocación (Paso 6) genera una función de Python que convierte un archivo JSON en un marco de datos de Pandas. Los archivos JSON de los fabricantes tienen esquemas diferentes. Algunos datos de entrada utilizan un par de tipo de valor y valor para una medición. El último formato da como resultado marcos de datos que contienen una columna de tipo de valor y una columna de valor. Estas columnas deben girarse.
  2. La segunda invocación (Paso 7) determina si es necesario girar los datos y genera una función de Python para girar si es necesario. Otro problema de los datos de entrada es que la misma medición de la calidad del aire puede tener diferentes nombres de diferentes fabricantes; Por ejemplo, “P1” y “PM1” son para el mismo tipo de medida.
  3. La tercera invocación (Paso 8) se centra en la limpieza de datos. Genera una función de Python para convertir marcos de datos a un formato de datos común. La función de Python puede incluir pasos para unificar nombres de columnas para el mismo tipo de medición y eliminar columnas.

Todos los códigos Python generados por LLM se almacenan en el repositorio (Paso 9) para que pueda usarse para procesar archivos de datos sin procesar diarios del dispositivo para transformarlos a un formato común.

Luego, los datos se almacenan en Amazon S3 (paso 10) y se pueden publicar en AbiertoAQ para que otras organizaciones puedan utilizar los datos calibrados de la calidad del aire.

La siguiente captura de pantalla muestra la interfaz propuesta solo con fines ilustrativos, ya que la solución está diseñada para integrarse con el sistema backend existente de Afri-SET.

Resultados

El método propuesto minimiza las invocaciones de LLM, optimizando así costos y recursos. La solución solo invoca el LLM cuando se detecta un nuevo formato de datos. El código que se genera se almacena, de modo que un dato de entrada con el mismo formato (visto antes) pueda reutilizar el código para el procesamiento de datos.

Un mecanismo humano en el circuito protege la ingesta de datos. Esto sucede sólo cuando se detecta un nuevo formato de datos para evitar sobrecargar los escasos recursos de Afri-SET. Tener un humano involucrado para validar cada paso de transformación de datos es opcional.

La generación automática de código reduce el trabajo de ingeniería de datos de meses a días. Afri-SET puede utilizar esta solución para generar automáticamente código Python, según el formato de los datos de entrada. Los datos de salida se transforman a un formato estandarizado y se almacenan en una única ubicación en Amazon S3 en formato Parquet, un formato de almacenamiento en columnas y eficiente. Si es útil, se puede ampliar aún más a una plataforma de lago de datos que utilice Pegamento AWS (un servicio de integración de datos sin servidor para la preparación de datos) y Atenea amazónica (un servicio de análisis interactivo y sin servidor) para analizar y visualizar datos. Con los conectores personalizados de AWS Glue, es sencillo transferir datos entre Amazon S3 y otras aplicaciones. Además, esta es una experiencia sin código para que el ingeniero de software de Afri-SET pueda construir sin esfuerzo sus canales de datos.

Conclusión

Esta solución permite una fácil integración de datos para ayudar a ampliar el monitoreo rentable de la calidad del aire. Ofrece legislación informada y basada en datos, fomentando el empoderamiento de la comunidad y fomentando la innovación.

Esta iniciativa, destinada a recopilar datos precisos, es un paso importante hacia un medio ambiente más limpio y saludable. Creemos que la tecnología AWS puede ayudar a abordar la mala calidad del aire a través de soluciones técnicas similares a la que se describe aquí. Si desea crear prototipos de soluciones similares, postule al Iniciativa de equidad en salud de AWS.

Como siempre, AWS agradece sus comentarios. Deje sus pensamientos y preguntas en la sección de comentarios.


Sobre los autores

Sandra Tema es líder en equidad ambiental en AWS. En este puesto, aprovecha su experiencia en ingeniería para encontrar nuevas formas de utilizar la tecnología para resolver la «lista de tareas pendientes» del mundo e impulsar un impacto social positivo. El recorrido de Sandra incluye el emprendimiento social y liderar esfuerzos de sostenibilidad e inteligencia artificial en empresas de tecnología.

Qiong (Jo) Zhang, PhD, es arquitecto de soluciones asociado senior en AWS y se especializa en AI/ML. Sus áreas de interés actuales incluyen el aprendizaje federado, la formación distribuida y la IA generativa. Posee más de 30 patentes y es coautora de más de 100 artículos en revistas y conferencias. También recibió el premio al mejor artículo en IEEE NetSoft 2016, IEEE ICC 2011, ONDM 2010 e IEEE GLOBECOM 2005.

Gabriel Verréault es arquitecto de soluciones socio senior en AWS para el segmento de fabricación industrial. Gabriel trabaja con socios de AWS para definir, crear y evangelizar soluciones en torno a la fabricación inteligente, la sostenibilidad y la IA/ML. Gabriel también tiene experiencia en plataformas de datos industriales, mantenimiento predictivo y combinación de AI/ML con cargas de trabajo industriales.

Venkatavaradhan (Venkat) Viswanathan es arquitecto de soluciones de socios globales en Amazon Web Services. Venkat es líder en estrategia tecnológica en datos, inteligencia artificial, aprendizaje automático, inteligencia artificial generativa y análisis avanzado. Venkat es una PYME global de Databricks y ayuda a los clientes de AWS a diseñar, crear, proteger y optimizar cargas de trabajo de Databricks en AWS.