En la actualidad…
Las tecnologías de la información y comunicaciones (TIC), especialmente el Internet de las cosas (IoT), la computación en la nube y análisis masivo de datos (Big Data Analytics) han revolucionado el mundo de la industria. Las empresas, a través de la adopción masiva de las TIC, tienen entre sus principales objetivos mejorar sus productos y servicios, al tiempo que aumentan la eficacia y eficiencia de sus procesos.
Además, el aprendizaje automático (Machine Learning) y el aprendizaje profundo (Deep Learning) son técnicas de inteligencia artificial (IA), antes relegadas a aplicaciones académicas y, que ahora, gracias a las grandes oportunidades que ofrecen las plataformas de análisis masivos de datos y las nuevas tecnologías, es cuando es posible abordar de una forma eficiente problemas complejos. Estos problemas, muy comunes en el sector industrial, van desde la resolución de problemas de optimización, diagnóstico o predicción, hasta la mejora de la calidad de productos o servicios en cualquier sector.
Como consecuencia de ello, las empresas y la sociedad, en general, ven los grandes beneficios que ofrecen el uso de las técnicas de IA. La minería de datos ha abierto un abanico de posibilidades a la industria, desde generar modelos para realizar predicciones en el mantenimiento industrial, hasta detectar patrones de conducta en las personas y de esa manera predecir su comportamiento. Por ello, las técnicas de Machine Learning y el Deep Learning se han vuelto dos piezas fundamentales, sobre todo para relacionar millones de datos aislados y convertirlos en valor agregado para las empresas. Como consecuencia, se hace necesaria la aplicabilidad de estas técnicas sobre plataformas escalables y elásticas que permitan un uso eficiente de recursos computacionales.
El reto para las PYMEs
En este contexto, las PYMEs que quieran competir en un mercado cada vez más digitalizado deben de incorporar este tipo de técnicas en sus procesos productivos. Por ello, cada vez es más común la figura del analista de datos en todo tipo de empresas. Son profesionales con un conocimiento avanzado de métodos matemáticos que se encargan de diseñar modelos que permitan extraer el máximo valor de los datos a su alcance. Para ello, por norma general, se valen de Plataformas Cloud donde disponen de software especializado para el análisis Big Data. Sin embargo, las empresas se encuentran con dos problemas. El primero, que estás plataformas pueden resultar económicamente muy costosas de utilizar. El segundo, que no resulta trivial la configuración de estos servicios para los analistas de datos, ya que la configuración de este tipo de sistemas de computación distribuida requiere, en muchos casos, conocimientos avanzados en TIC.
Imaginemos la solución
En el Instituto Tecnológico de Informática (ITI) pensamos en cómo podríamos eliminar estas barreras de entrada al uso de técnicas de Big Data Analytics a las PYMEs y nos planteamos que la solución pasaría por construir una plataforma enfocada al analista de datos, que integrara las más modernas tecnologías y que fuera independiente del uso de costosas infraestructuras de proveedores Cloud públicos. Pues bien, tres años más tarde esa plataforma es una realidad llamada Radiatus.
La plataforma
Radiatus es una plataforma Big Data Analytics as a Service que se puede ejecutar sobre cualquier infraestructura, tanto Cloud, como OnPremise. Integra un completo conjunto de tecnologías que permiten la creación de servicios para todo tipo de escenarios: análisis en modo batch o en streaming, IoT, Machine Learning, Deep Learning, etc.
Desglosando las tecnologías por categorías encontramos:
- Notebooks: son aplicaciones web que nos permiten crear flujos de cómputo de una manera muy intuitiva y ponerlos en ejecución ágilmente.
- Jupyter: Es la aplicación para Notebooks de uso más extendido entre los analistas de datos.
- Zeppelin: Es una tecnología más nueva que la anterior, más potente en algunos aspectos, pero con una menor base de usuarios.
- Sistemas de Procesamiento Distribuido: se utilizan para ejecutar, de manera distribuida y escalable, los diferentes algoritmos necesarios para llevar a cabo el análisis de datos.
- Spark: De uso muy extendido, posiblemente la solución más completa en la actualidad.
- Flink: Un duro competidor de Spark optimizado para el procesamiento en Streaming.
- DistributedML: Un software desarrollado en el ITI, con un sistema de comunicaciones basado en MPI, que permite la ejecución de algoritmos de Machine Learning y deep Learning.
- Sistemas de colas: permiten establecer diferentes tipos de canales de comunicación asíncrona, como, por ejemplo, el modelo Publicador/Subscriptor.
- Kafka: Un potente sistema de colas para el envío de mensajes que, además, permite su persistencia en disco.
- Bases de Datos: este tipo de software persiste la información en disco para permitir después su consulta en base a diferentes modelos de acceso.
- Cassandra: Una base de datos distribuida columnar no relacional.
- CockroachDB: Una base de datos distribuida SQL.
- MySQL: Otro tipo de base de datos SQL.
- Utilidades: software con diferentes funcionalidades que no se engloba en los apartados anteriores.
- Zookeeper: Implementa un árbol de nodos que se utiliza típicamente para coordinar los diferentes componentes que conforman los servicios distribuidos.
- ElasticSearch: Es un índice inverso con nivel de persistencia.
- Kibana: Un visualizador web que se puede combinar con ElasticSearch.
- HDFS: Sistema de ficheros distribuido optimizado para la replicación de ficheros de gran tamaño.
- MinIO: Sistema de ficheros distribuido que permite el almacenamiento óptimo de ficheros de cualquier tamaño.
El futuro…
Radiatus es un proyecto vivo que se mantiene siempre en la vanguardia tecnológica investigando e integrando los últimos avances en el campo de análisis de datos. Actualmente tenemos 4 líneas de trabajo abiertas:
Computación de Altas Prestaciones
Estamos trabajando en integrar el uso de GPUs en la plataforma, lo que permitiría la ejecución de algoritmos de computo intensivo que actualmente son inviables de ejecutar con CPUs normales.
Federación de Plataformas
Queremos dar la posibilidad de que diferentes plataformas Radiatus se puedan federar para compartir, de forma segura, el uso de recursos computacionales. Pero, ¿Con qué objetivo? En ITI detectamos algunos escenarios en los que podría ser interesante. Por ejemplo, para empresas miembro de un consorcio que, bajo algunos criterios, puedan compartir sus recursos computacionales con las demás en momentos en los que no los estén utilizando. Otro ejemplo podría ser, en ese mismo consorcio, cuando una empresa tiene la propiedad de un dataset y no quiere que esos datos salgan de su plataforma, pero puede permitir que otras plataformas federadas lancen servicios de análisis sobre ella para entrenar modelos de IA con esos datos.
Servicio de Procesamiento Elástico
En el marco del proyecto SaaSDK, también desarrollado en ITI, se ha implementado un prototipo de servicio elástico llamado Squid que está basado en el modelo función como servicio. Este modelo permite la ejecución de funciones destinadas al procesamiento de datos que llegan de forma asíncrona. La bondad de este sistema es que solo se reservan recursos computacionales para ejecutar dichas funciones cuando existen datos disponibles para ser procesados. Cuando estas funciones se quedan sin datos de entrada que procesar pasan a un estado de hibernación y el sistema libera todos sus recursos computacionales hasta que vuelvan a haber datos de entrada disponibles.
Investigar, desarrollar e Innovar
Seguimos evolucionando el core de la plataforma en base a la experiencia de usuario de los diferentes proyectos que ya utilizan la plataforma, buscando siempre ofrecer las mejores herramientas para el análisis de datos.
Radiatus en el Datahub
Para concluir, me gustaría comentar que Radiatus está siendo utilizada en el Datahub. El Datahub es «Un centro de experimentación en Big Data, Inteligencia Artificial y High Performance Computing que permitirá a los miembros de la alianza y a las empresas tener un laboratorio de pruebas de sus aplicaciones de análisis avanzado de datos de forma previa al lanzamiento de un producto al mercado.» que se ha construido en el marco de la alianza Tech4CV.
Autor: Enrique Gil, Jefe de Proyecto en ITI. Publicado originalmente en el blog de ITI, Instituto Tecnológico de Informática.