Edge Computing y Machine Learning, una alianza estratégica

Alfonso Ibáñez Martín    24 febrero, 2020

Escrito por Alfonso Ibáñez y Aitor Landete

Hablar hoy de términos como Inteligencia Artificial o Machine Learning no es una novedad. La sociedad, las empresas y los gobiernos son cada vez más conscientes de técnicas como deep learning, semi-supervised learning, reinforcement learning o transfer learning, entre otras. Sin embargo, aún no tienen asimilado los numerosos beneficios de combinar dichas técnicas con otras tecnologías emergentes como Internet of Things (IoT), Quantum computing o Blockchain.

IoT y Machine Learning son dos de las disciplinas más interesantes de la tecnología actual, ya que están generando un profundo impacto tanto en las empresas como en las personas. Ya existen millones de pequeños dispositivos integrados en fábricas, ciudades, vehículos, teléfonos y en nuestras casas recogiendo la información necesaria para tomar decisiones inteligentes sobre ámbitos como la optimización de procesos industriales, el mantenimiento predictivo en oficinas, la movilidad de las personas, la gestión de la energía en el hogar y el reconocimiento facial de las personas, entre otros.

El enfoque de la mayoría de estas aplicaciones consiste en detectar la información del entorno y en transmitirla a potentes servidores remotos a través de Internet, donde reside la inteligencia y la toma de decisiones. Sin embargo, aplicaciones como los vehículos autónomos son muy críticas y requieren de respuestas precisas en tiempo real. Estos nuevos requisitos de rendimiento juegan un papel fundamental en la toma de decisiones, por lo que el uso de servidores remotos y ajenos al vehículo autónomo no son apropiados. Los principales motivos de esta situación hacen referencia al tiempo empleado en la transferencia de datos hasta los servidores externos y a la necesidad permanente de conectividad a Internet para poder procesar la información.

Edge computing

Para ayudar a aliviar algunos de los problemas anteriores, surge un nuevo paradigma de computación. Este enfoque consigue acercar el procesamiento y el almacenamiento de datos hasta los dispositivos que los generan, eliminando la dependencia de servidores en el cloud o en data centers ubicados a miles de kilómetros de distancia. Edge computing está transformando la forma en la que se procesan los datos, mejorando así los tiempos de respuesta y solventando problemas de conectividad, escalabilidad y seguridad inherentes a los servidores remotos.

La proliferación de los dispositivos IoT, el auge del edge computing y las ventajas de los servicios en la nube están permitiendo la aparición de una computación híbrida donde se maximizan las fortalezas del edge y del cloud. Este enfoque híbrido permite que las tareas se lleven a cabo en el sitio óptimo para lograr el objetivo, ya sea en los dispositivos locales, en los servidores en la nube, o en ambos. Dependiendo de donde tengan lugar la ejecución, la arquitectura híbrida coordina las tareas entre edge devices, edge servers y cloud servers:

  • Edge devices: son dispositivos que generan datos en el borde de la red y disponen de conectividad (Bluetooth, LTE IoT,…). Están equipados con pequeños procesadores para almacenar y procesar información e incluso ejecutar, en tiempo real, ciertas tareas de analíticas, que pueden revertir en acciones inmediatas por parte del dispositivo. Aquellas tareas que requieran de una mayor complejidad son trasladadas a servidores más potentes en niveles superiores de la arquitectura. Algunos ejemplos de edge devices son los cajeros automáticos, cámaras inteligentes, smartphones, etc.
  • Edge servers: son servidores que tienen la capacidad de procesar algunas de las tareas complejas enviadas desde los dispositivos inferiores en la arquitectura. Estos servidores están en continua comunicación con los edge devices y pueden funcionar como puerta de enlace hacia los cloud servers. Algunos ejemplos son los procesadores en rack ubicados en salas de operaciones de industrias, oficinas, bancos, etc.
  • Cloud servers: son servidores que disponen de una gran capacidad de almacenamiento y computo para abordar todas las tareas no completadas hasta el momento. Estos sistemas permiten la gestión de todos los dispositivos del sistema y de numerosas aplicaciones de negocio, entre otros muchos servicios

Edge Artificial Intelligence

Hoy en día, la investigación en el ámbito del Machine Learning ha permitido desarrollar novedosos algoritmos en el contexto del Internet of Things. Aunque la ejecución de estos algoritmos se asocia con potentes cloud servers debido a los requerimientos de cómputo, el futuro de esta disciplina está ligado al uso de modelos analíticos dentro de los edge devices. Estos nuevos algoritmos deben poder ejecutarse en dispositivos con procesadores débiles, memorias limitadas y sin la necesidad de una conexión a Internet.

Bonsai y ProtoNN son dos ejemplos de nuevos algoritmos diseñados para poder ejecutar modelos analíticos en los edge devices. Estos algoritmos se basan en la filosofía del aprendizaje supervisado y son capaces de resolver problemas, en tiempo real, sobre dispositivos muy simples y con pocos recursos de computación. Una aplicación de esta tipología de algoritmos son los altavoces inteligentes. Sobre estos dispositivos se integran un modelo ya entrenado que es capaz de analizar todas las palabras detectadas e identificar, entre todas ellas, cuál es la palanca de activación (“Alexa”, “Hola Siri”, “OK, Google”,...). Una vez reconocida la palabra clave, el sistema comienza a transmitir los datos de audio a un servidor remoto para analizar la acción requerida y proceder con la ejecución de esta.

A diferencia de los algoritmos anteriores, en los que el entrenamiento de los modelos se realiza en los cloud servers, el enfoque Federated Learning surge para orquestar el entrenamiento de modelos analíticos entre el edge y el cloud. En este nuevo enfoque, cada uno de los edge devices del sistema es el encargado de entrenar un modelo analítico con los datos que tiene almacenados localmente. Tras esta fase de entrenamiento, cada dispositivo envía las métricas de su modelo local a un mismo cloud server, donde se combinan todos los modelos en un único modelo maestro. A medida que se recopila nueva información, los dispositivos descargan la última versión del modelo maestro, reentrenan el modelo con la nueva información y envían el modelo resultante de vuelta al servidor central. Este enfoque no necesita que la información recogida en los edge devices sea trasladada al cloud server para su procesamiento, ya que lo único que se transfiere son los modelos generados.

Todos los nuevos algoritmos propuestos en la literatura tratan de optimizar tres métricas importantes: latencia, rendimiento y precisión. La latencia se refiere al tiempo necesario para inferir un registro de datos, el rendimiento es el número de inferencias realizadas por segundo y la precisión es el nivel de confianza del resultado de predicción. Además, el consumo de energía requerido por parte del dispositivo es otro de los aspectos para tener en cuenta. En este contexto, Apple ha adquirido recientemente Xnor.ai, una empresa emergente que tiene como objetivo impulsar el desarrollo de nuevos algoritmos eficientes que permitan conservar lo más preciado de los dispositivos, su batería.

Edge adoption

Las empresas están adoptando las nuevas tecnologías para impulsar la transformación digital y mejorar sus resultados. Aunque no existe una guía de referencia para la integración de estas tecnologías, muchas empresas siguen un mismo patrón para la implementación de proyectos relacionados con el Edge:

  • La primera fase consiste en el desarrollo del escenario más básico. Los sensores de los edge devices recogen la información del entorno y la envían a los cloud servers donde se analiza y se reportan las principales alertas y métricas a través de cuadros de mando.
  • El segundo escenario amplia la funcionalidad mediante la incorporación de una capa de procesamiento adicional al edge device. Antes de que la información sea enviada a la nube, el dispositivo realiza un pequeño análisis de la información y, en función de los valores detectados, puede iniciar diversas acciones mediante edge computing.
  • La fase más madura consiste en la incorporación de edge analytics. En este caso, los edge devices procesan la información y ejecutan los modelos analíticos que tienen integrados para generar respuestas inteligentes en tiempo real. Estos resultados también son enviados a los cloud servers para ser procesados mediante otras aplicaciones.

Otro enfoque más novedoso asociado a las aplicaciones de edge analytics consiste en enriquecer las predicciones generadas por los edge devices con nuevas predicciones aportadas por los cloud servers. A partir de ahora, la comunidad científica tiene como reto el desarrollo de nuevos sistemas que decidan, dinámicamente, cuándo invocar esa inteligencia adicional del cloud y cómo optimizar las predicciones realizadas con ambos enfoques.

Para mantenerte al día con LUCA visita nuestra página web suscríbete a LUCA Data Speaks o síguenos en TwitterLinkedIn YouTube.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *