Optimizar el despliegue de la IA en los nodos periféricos con Barbara

Este post profundiza en cómo las capacidades MLOps de Barbara hacen que el despliegue de modelos de IA como ResNet18 en dispositivos periféricos se realice sin esfuerzo y de forma remota, todo ello gestionado sin problemas a través de una única consola intuitiva. Descubre más.

Tecnología
Escrito por:
Enrique Ramírez
Etiquetas:

Liberar todo el potencial de la IA en la industria requiere desplegar modelos de aprendizaje automático en el borde, donde se generan los datos. Barbara lo hace posible, ofreciendo un despliegue eficaz, escalabilidad y un procesamiento de datos fiable.

Aprovechar los MLOps para un despliegue eficiente de la IA

Las capacidades de gestión de MLOps de Barbara permiten a los usuarios:

1. Carga modelos entrenados: Integra sin problemas modelos entrenados en la plataforma, soportando una variedad de formatos, incluyendo TensorFlow SavedModel, PyTorch TorchScript y ONNX.‍

2. Desplegar modelos en nodos de borde: Con un solo clic, puedes desplegar modelos en uno o varios nodos de borde.

3. Elige el motor servidor adecuado: Puedes elegir entre el motor servidor TFX de TensorFlow y el servidor de inferencia Triton de NVIDIA para servir los modelos desplegados en el nodo.

4. Aprovecha la potencia de la GPU: Utiliza las capacidades de la GPU de los dispositivos de borde para acelerar la inferencia del modelo y mejorar el rendimiento en tiempo real.

Potenciar la IA en la periferia

Las capacidades MLOps de Barbara eliminan los retos de desplegar y gestionar la IA en la periferia, permitiendo a las organizaciones liberar todo el potencial de sus modelos. Al simplificar el proceso de despliegue y ofrecer opciones de servicio flexibles, Barbara ayuda a las operaciones industriales a mantenerse ágiles, eficientes y a la vanguardia.

Comprender el caso de uso: Servir ResNet18 en un nodo de borde

El modelo ResNet18, una popular red neuronal convolucional (CNN), está diseñado específicamente para tareas de clasificación de imágenes. Destaca en el reconocimiento de objetos como animales, equipos o componentes en imágenes, lo que la hace muy valiosa en sectores como la fabricación, la sanidad y la logística. El despliegue de ResNet18 en un dispositivo periférico permite una inferencia más rápida y minimiza la dependencia de la conectividad en la nube.

Utilizando la Plataforma Barbara Edge AI, el proceso de despliegue se divide en 3 pasos clave:

  1. Sube el Modelo a la Biblioteca del Panel: Guarda el modelo ResNet18 en formato Torcscript y cárgalo en la biblioteca del Panel.
  2. Despliégalo en el Nodo Edge: Carga y configura el modelo para la inferencia en tiempo real utilizando el Servidor de Inferencia Triton de NVidia.
  3. ‍Ejecutarsolicitudes de inferencia: Envía datos de imagen al nodo de borde y recupera predicciones de clasificación utilizando la conexión VPN disponible en el Panel Barbara.

Paso 1: Subir el Modelo PyTorch a la Biblioteca del Panel

Antes de desplegar el modelo, hay que cargarlo en la biblioteca del Panel en un formato de modelo compatible. Recuerda que las opciones son

  • Modelo guardado (Tensorflow/Keras)
  • Torchscript (Pytorch)
  • ONNX
Figura 1: Puedes cargar formatos Tensorflow, Pytorch u ONNX en la biblioteca del Panel.

En este caso utilizaremos el framework Pytorch para descargar el modelo preentrenado de Resnet18 y guardarlo localmente en formato Torchscript. El siguiente script demuestra cómo descargar el modelo ResNet18, convertirlo al formato TorchScript y guardarlo como resnet18_traced.pt.

Interfaz de usuario gráfica, Texto, Aplicación, Correo electrónicoDescripción generada automáticamente

Una vez que tengamos el archivo resnet18_traced.pt, sólo tenemos que comprimirlo en un archivo zip y subirlo a la biblioteca de nuestro Panel.

Figura 2: Carga del modelo Resnet18 en la biblioteca del Panel.

TorchScript garantiza la compatibilidad con NVIDIA Triton, el motor de servicio de modelos de Barbara, por lo que utilizaremos ese servidor de inferencia en nuestro Nodo Edge.

Después de subir nuestro modelo, estará disponible en nuestra Lilbrary, listo para ser desplegado en cualquier Nodo Edge.

Figura 3: Modelo Resnet18 en la biblioteca del Panel.

Paso 2: Desplegar nuestro modelo en un Nodo Edge

  1. Selecciona el nodo de arista objetivo y entra en su vista Detalles del nodo.
Figura 4: Vista Detalles del Nodo en el Panel Bárbara. Añadir una nueva Carta.

  1. Añade una Tarjeta de Modelo y elige el modelo ResNet18 cargado. Selecciona si tu modelo debe ejecutarse en la GPU del Nodo Edge.
Figura 5: Despliegue de un modelo: Elige el modelo, la versión y la opción de servicio de GPU deseados.

  1. Entonces, tu modelo se enviará a tu Nodo de Borde y empezará a servirse utilizando el Servidor de Inferencia NVidia Triton. Aparecerá una nueva tarjeta "modelo" en la vista "Detalles del Nodo" de tu nodo de destino. Comprueba que los puntos finales de inferencia del servidor aparecen en la sección "URL REST de inferencia" de la tarjeta.
Figura 6: Ficha del modelo Resnet18 en la que se enumeran las URL REST de Inferencia. 

‍Paso3: Ejecutar una Inferencia remota en el Nodo de Borde

La IInferencia implica enviar una imagen al modelo a través de la API REST y recibir los resultados de la clasificación. Pero, ¿cómo podemos acceder remotamente a los servicios desplegados en nuestros Nodos Edge? Gracias a la funcionalidad VPN disponible en el Panel Barbara, es realmente fácil. Sólo tienes que desplegar la "Tarjeta de red" disponible en la vista Detalles del Nodo y activar la conexión VPN del Nodo de Borde.

Figura 7: Activar la VPN del nodo antes de enviar la inferencia en la tarjeta de Red del Nodo de Borde. 

‍Unavez activada la conexión VPN, utilizaremos un Cuaderno Jupyter para realizar la solicitud de Inferencia a nuestro nodo. Este Cuaderno Jupyter hará varias cosas:

  1. Preprocesa la imagen para adaptarla al formato de entrada del modelo Resnet18.
  2. Envía los datos de la imagen a la URL REST de Inferencia del Nodo Edge.
  3. Recibe la respuesta y obtén la etiqueta de la predicción.

Figura 8: Cuaderno jupyter "resnet_inference.ipynb" utilizado para enviar inferencias al Nodo.

.

‍Porúltimo, se interpretan los resultados obtenidos a partir del modelo:

Figura 9: Predicciones de 3 modelos diferentes para un gato, un perro y un elefante. ¡Bien hecho, Resnet18!

‍Ventajasde desplegar tus modelos de IA con Barbara

‍1. Despliegue y gestión simplificados:

  • Céntrate en la formación y optimización del modelo: Centra tus esfuerzos en la formación y optimización del modelo, no en el proceso de despliegue del borde.
  • Control centralizado: Gestiona y despliega modelos de IA en un gran número de dispositivos de borde desde una única plataforma centralizada.  
  • Despliegue automatizado: Automatiza el proceso de despliegue, reduciendo el esfuerzo manual y los posibles errores.
  • Supervisión y gestión remotas: Supervisa a distancia el estado y el rendimiento de los modelos desplegados, lo que permite un mantenimiento proactivo y la resolución de problemas.  

2. Rendimiento y escalabilidad mejorados:

  • Latencia reducida: Procesa los datos localmente en los dispositivos de borde, minimizando la latencia y permitiendo la toma de decisiones en tiempo real.  
  • Escalabilidad mejorada: Escala fácilmente los despliegues de IA añadiendo o eliminando dispositivos de borde según sea necesario.
  • Utilización optimizada de los recursos: Asigna eficientemente los recursos informáticos a las cargas de trabajo de IA, maximizando la utilización del hardware.  

3. Mejora de la seguridad y la privacidad:

  • Privacidad de los datos: Procesa los datos sensibles localmente, reduciendo el riesgo de filtraciones de datos y violaciones de la privacidad.  
  • Comunicación segura: Implementa protocolos de comunicación seguros para proteger la transmisión de datos entre los dispositivos de borde y la plataforma central.  
  • Seguridad mejorada: Benefíciate de las funciones de seguridad integradas en Barbara para salvaguardar el entorno de implantación.  

4. Mayor flexibilidad y agilidad:

  • Despliegue rápido de modelos: Despliega y actualiza rápidamente modelos de IA en un gran número de dispositivos de borde.  
  • Adaptabilidad a las condiciones cambiantes: Ajusta dinámicamente las configuraciones y parámetros del modelo para responder a las condiciones cambiantes.
  • Compatibilidad con hardware y software diversos: Acomoda una variedad de dispositivos de borde y marcos de IA.

Conclusión

Implantar modelos de IA como ResNet18 en dispositivos periféricos es sencillo y eficaz con la Herramienta de Orquestación Periférica de Barbara. Combinando la potencia de PyTorch, NVIDIA Triton y la plataforma de Barbara, las organizaciones pueden desbloquear capacidades de IA en tiempo real en el perímetro. 

‍¿Preparadopara llevar tus modelos de IA al límite? ¡Empieza a explorar Barbara hoy mismo! Reserva hoy una prueba gratuita .