ETL para sistemas basados ​​en IA de verificación de identidad

Víctor Rodeño

Víctor Rodeño

Los sistemas de verificación de identidad del estado del arte actuales se basan en tecnología de inteligencia artificial (IA). Estos sistemas se alimentan de datos:

  • Cantidad: estos sistemas necesitan enormes cantidades de datos etiquetados (o sin etiquetar) para ser entrenados.
  • Velocidad: estos sistemas necesitan ser entrenados periódicamente con nuevos datos para poder detectar nuevos tipos de suplantación que los atacantes están constantemente ideando para engañar al sistema.
  • Calidad: la calidad de los datos es clave para disponer de sistemas de verificación de identidad fiables.

En nuestro empeño por mejorar nuestros sistemas, en Alice Biometrics integramos los principios de DataOps para garantizar un óptimo rendimiento de nuestros sistemas de verificación. En este post, explicamos el papel clave de los procesos ETL dentro de nuestras operaciones, destacando cómo mejoran nuestros sistemas de verificación de identidad.

¿Qué es ETL?

Extraer, Transformar, Cargar (ETL) aboga por garantizar que los datos sean accesibles, y estén listos para ser utilizados por diferentes equipos o aplicaciones dentro de una organización. Estos procesos manejan grandes volúmenes de datos de varias fuentes, refinan esos datos y los hacen adecuados para análisis, modelos de aprendizaje automático, reporting, etc. En este artículo, nos centraremos en los procesos ETL que hacen que los datos sean adecuados para los modelos de aprendizaje automático que potencian a nuestros sistemas de verificación de identidad.

Vamos a desglosar cada componente de ETL y ver cómo se alinea con las operaciones en Alice Biometrics:

Extraer

La extracción implica la recopilación de datos de diferentes fuentes, que pueden incluir bases de datos, archivos, API externas y más. Estas fuentes suelen tener formatos y estructuras diferentes.

En nuestro caso, recopilamos datos de fuentes dispares que incluyen datos internos de nuestra base de datos, capturas de datos realizadas por el equipo de Alice para cubrir casos específicos, o datos externos como conjuntos de datos abiertos proporcionados por empresas o universidades, entre otros.

Transformación

La transformación es el proceso de limpieza, enriquecimiento y estructuración de los datos brutos recuperados en la fase de Extracción, lo que hace que los datos sean coherentes y adecuados para el análisis. Esta etapa es crucial para garantizar la exactitud y calidad de los datos.

En nuestra organización, este paso implica agregar anotaciones o etiquetas (previamente realizadas por el equipo de Alice) a nuestros datos para poder realizar el entrenamiento supervisado de aprendizaje automático de nuestros modelos. Otros tipos de anotaciones también se agregan automáticamente a través de la inferencia de diferentes modelos. En este paso, los datos también se estructuran para ajustarse al esquema de nuestras tablas definidas en nuestro almacén de datos.

Carga

La carga es la fase en la que los datos transformados se almacenan en un sistema de destino, normalmente un almacén de datos o un lago de datos, para que los usuarios de datos o aplicaciones puedan acceder a ellos fácilmente.

En Alice Biometrics, los datos transformados se cargan en nuestro potente almacén de datos en BigQuery. Este repositorio centralizado sirve como recurso clave para los usuarios de datos, permitiéndoles acceder fácilmente a los datos que alimentan los modelos de aprendizaje automático.

Existen varias opciones para una base de datos analítica, incluyendo almacenes de datos y lagos de datos, con diferentes herramientas y servicios disponibles para su implementación. Sin embargo, esto se tratará en un post posterior.

Esquema de como una ETL gestiona los datos de los sistemas de verificación de identidad de Alice

Ahora, exploremos algunos conceptos adicionales asociados a estos procesos ETL.

Orquestación de ETL

Los procesos ETL se suelen orquestar mediante data pipelines, es decir, estos procesos se ejecutan periódicamente de forma controlada y automatizada (orquestación de datos).

Existen múltiples herramientas para orquestar procesos ETL a través de data pipelines incluyendo Apache Airflow, AWS Glue, Azure Data Factory, etc. En Alice, utilizamos cronjobs en Kubernetes para orquestar nuestros procesos ETL.

ETL por lotes o en tiempo real

Hay dos enfoques diferentes en cuanto al procesamiento de datos en los procesos ETL:

  • ETL por lotes implica el procesamiento de datos en lotes a intervalos programados o activados en base a algún evento. Los datos se recogen a lo largo de un periodo y luego se procesa todo el lote a la vez.
  • La ETL en tiempo real (streaming) procesa los datos de forma continua, es decir, en cuanto se generan o están disponibles.

La elección entre ETL por lotes y en tiempo real depende de las necesidades y requisitos específicos de los casos de uso, los requerimientos de latencia, las capacidades de la infraestructura, el volumen de datos a manejar y otros factores relevantes.

En este caso concreto, recomendamos encarecidamente el procesamiento por lotes cuando sea posible. En Alice, inicialmente optamos por el procesamiento en tiempo real, pero nos encontramos con varios problemas, como una mayor complejidad y un alto volumen de operaciones de escritura en el almacén de datos. Dado que nuestro caso de uso tiene unos requisitos de latencia relativamente bajos (no hay una necesidad inmediata de acceso a los datos), junto con otras consideraciones, tomamos la decisión estratégica de pasar al procesamiento por lotes. Este cambio nos ha permitido abordar estos retos con eficacia y optimizar nuestro enfoque de procesamiento de datos global.

También procesamos otros conjuntos de datos de forma masiva debido a su naturaleza estática.

Infraestructura de datos

La infraestructura de datos es la base sobre la que se construye todo el ecosistema de DataOps, incluidos los procesos ETL. Abarca la tecnología y la arquitectura que soportan el almacenamiento, el movimiento, el procesamiento, el escalado y la gestión de los datos. Los mecanismos de monitorización y alerta también son esenciales para garantizar la disponibilidad y el rendimiento de la infraestructura de datos y los pipelines de datos que soporta.

La infraestructura de datos en Alice Biometrics se basa tanto en recursos en el cloud como on-premise, incluyendo herramientas y servicios como Elasticsearch, BigQuery, Kubernetes, RabbitMQ y Kibana, entre otros.

Conclusión

Utilizando los procesos ETL, recopilamos datos de diversas fuentes, preparándolos y haciéndolos fácilmente accesibles para alimentar nuestros modelos de aprendizaje automático. Esto nos permite mantener la fiabilidad de nuestros sistemas de verificación de identidad, alimentados con datos de calidad y capaces de adaptarse rápidamente a nuevos patrones de datos.

En última instancia, con la automatización de la preparación de datos, entre otras tareas específicas de aprendizaje automático como el entrenamiento, la evaluación y el despliegue, conseguimos un pipeline totalmente automatizado para el reentrenamiento continuo de nuestros modelos. Sobre esto hablaremos en un post posterior pero básicamente permite actualizar frecuentemente nuestros sistemas de verificación de identidad, capturar patrones de datos emergentes (por ejemplo, nuevos tipos de ataques) y asegurarnos de que nuestros sistemas no se ven afectados negativamente.

Si te ha gustado, comparte en