Edge Orchestration

Un paso clave para la distribución eficiente de recursos

Desde el equipo de I+D de Zylk continuamos investigando una de las tecnologías que más crecimiento está experimentando en los últimos años, el Edge Computing, un paradigma de computación que busca acercar la capacidad de cómputo al Edge, es decir, al lugar donde se recogen los datos (sensores y actuadores en el Edge), actuando como un ente independiente de las actuales arquitecturas basadas en Cloud.

La implementación de la Inteligencia Artificial en los escenarios Edge, conocida como EdgeML, requiere de nuevas soluciones que permitan gestionar la creciente demanda de capacidad de procesamiento y potencia de los dispositivos Edge, aplicando la metodología MLOps, que permite controlar el ciclo de vida de los modelos de Machine Learning desde su desarrollo hasta su despliegue. En este contexto surge el concepto de Orquestación como el proceso a partir del cual se gestionan los recursos disponibles, haciendo uso de diferentes estrategias para el reparto eficiente de recursos que lleve a una ejecución óptima de las tareas.

Podemos distinguir dos metodologías de Orquestación, top-down y bottom-up, dependiendo de si existe un gestor de recursos centralizado (top-down) o si son los nodos los que eligen qué tareas se ejecutarán en función de los recursos disponibles a través de algoritmos de orquestación y asignación de recursos (bottom-up).

Estrategia de orquestación top-down. Un orquestador central envía las tareas a un servidor externo donde se realiza el trabajo computacional, atendiendo a unas prioridades (urgencia, coste, privacidad, seguridad...)

Estrategia de orquestación bottom-up. Los nodos ejecutan un algoritmo de orquestación que ordena las tareas por orden de prioridad. En esta estrategia, son los propios nodos los que deciden el orden sin necesidad de la presencia de un orquestador central.

En el marco del proyecto FRACTAL, desde Zylk estamos desarrollando un servidor de modelos de Machine Learning, capaz de distribuir la carga de peticiones a los modelos entre los distintos nodos, de modo que pueda repartirse la carga computacional y puedan ejecutarse predicciones paralelizadas que permitan hacer inferencia distribuida, que es actualmente, uno de los principales retos de la Inteligencia Artificial.

El objetivo de este desarrollo es superar algunas de las barreras actuales de la Inteligencia Artificial en dispositivos de software embebido, como son conseguir una baja latencia en la obtención de predicciones y la distribución de los modelos en varios dispositivos.

Respecto a la primera, se consigue eliminando la dependencia del Edge de un servidor Cloud centralizado, ya sea total o parcialmente, al ser posible también que el entrenamiento (que requiere un mayor coste computacional) se realice en el Cloud para después desplegarse en el Edge donde la inferencia sea inmediata.

En cuanto a la distribución de la Inteligencia Artificial, se pretende conseguir a través de una descentralización de los modelos, que abra el camino a nuevas aplicaciones derivadas de la inferencia distribuida. Para ello es necesario seguir una estrategia de orquestación que permita que la respuesta a los inputs de los modelos ocurra de forma colaborativa, definiendo qué modelos responderán a las peticiones en función de múltiples parámetros, p.ej. los recursos disponibles en cada nodo, la distancia entre nodos, el tamaño del input…

Para este objetivo, se están utilizando algunas de las tecnologías más ampliamente utilizadas en en el desarrollo de aplicaciones distribuidas, en concreto, basadas en la virtualización por contenedores (con Docker-Engine), y su orquestación con un agente de Docker Swarm, que asegura la escalabilidad y fiabilidad de los servicios desplegados.

Como conclusión, con este proyecto se buscan superar las limitaciones de la Inteligencia Artificial aplicando tecnologías punteras en el estado del arte, que propicien la aparición de nuevos ámbitos de aplicación de estas tecnologías y permitan llevar las investigaciones actuales a los entornos productivos.

 

00

More Blog Entries

thumbnail

0 Comments