Despliegue de modelos
Descubra los aspectos esenciales de la implementación de modelos, transformando los modelos de ML en herramientas del mundo real para predicciones, automatización e información impulsada por IA.
El despliegue de modelos es el proceso crítico de integración de un modelo de aprendizaje automático (ML) entrenado en un entorno de producción real en el que puede recibir datos de entrada y proporcionar predicciones. Es la etapa final del ciclo de vida del aprendizaje automático, que transforma un archivo de modelo estático en una aplicación funcional y generadora de valor. Sin un despliegue eficaz, incluso el modelo más preciso no es más que un ejercicio académico. El objetivo es que la capacidad de predicción del modelo sea accesible para los usuarios finales, las aplicaciones de software u otros sistemas automatizados de forma fiable y escalable.
¿Qué es el proceso de implantación?
Desplegar un modelo implica algo más que guardar los pesos del modelo entrenado. Se trata de un proceso de varios pasos que garantiza que el modelo funcione de forma eficaz y fiable en su entorno de destino.
- Optimización de modelos: Antes de su despliegue, los modelos suelen optimizarse en cuanto a velocidad y tamaño. Técnicas como la cuantización y la poda de modelos reducen los recursos computacionales necesarios para la inferencia en tiempo real sin que ello suponga un descenso significativo de la precisión.
- Exportación del modelo: El modelo optimizado se convierte a un formato adecuado para la plataforma de destino. Los modelos de Ultralytics, por ejemplo, pueden exportarse a varios formatos como ONNX, TensorRT y CoreML, lo que les confiere una gran versatilidad.
- Empaquetado: El modelo y todas sus dependencias (como bibliotecas y frameworks específicos) se empaquetan juntos. La contenedorización mediante herramientas como Docker es una práctica habitual, ya que crea un entorno autocontenido y portátil que garantiza que el modelo se ejecute de forma coherente en todas partes.
- Servir: El modelo empaquetado se despliega en un servidor o dispositivo donde puede aceptar peticiones a través de una API. Este componente, conocido como servicio del modelo, se encarga de gestionar los datos entrantes y devolver las predicciones.
- Supervisión: Tras el despliegue, es esencial una supervisión continua del modelo. Esto implica el seguimiento de las métricas de rendimiento, latencia y uso de recursos para garantizar que el modelo funciona como se espera y detectar problemas como la desviación de datos.
Entornos de implantación
Los modelos pueden desplegarse en diversos entornos, cada uno con sus propias ventajas y retos.
- Plataformas en la nube: Servicios como Amazon Web Services (AWS), Google Cloud Platform (GCP) y Microsoft Azure ofrecen infraestructuras potentes y escalables para alojar modelos complejos.
- Servidores locales: Las organizaciones con estrictos requisitos de privacidad de datos o aquellas que necesitan un control total sobre su infraestructura pueden desplegar modelos en sus propios servidores.
- Dispositivos Edge AI: La IA periférica consiste en implantar modelos directamente en hardware local, como smartphones, drones, sensores industriales o dispositivos especializados como NVIDIA Jetson. Este enfoque es ideal para aplicaciones que requieren baja latencia de inferencia y capacidades offline.
- Navegadores web: Los modelos pueden ejecutarse directamente en un navegador web utilizando marcos como TensorFlow.js, lo que permite experiencias de IA interactivas sin procesamiento del lado del servidor.
Aplicaciones reales
- Control de calidad en la fabricación: Un modelo YOLO de Ultralytics entrenado para la detección de defectos puede desplegarse en un dispositivo de borde en una planta de producción. El modelo, optimizado con TensorRT para un alto rendimiento, se integra con una cámara que supervisa una cinta transportadora. Detecta objetos en tiempo real para identificar productos defectuosos y envía al instante una señal a un brazo robótico para que los retire. Todo este proceso se realiza localmente, lo que minimiza los retrasos en la red y garantiza una actuación inmediata. Para más información, consulte cómo se aplica la IA en la fabricación.
- Análisis inteligente del comercio minorista: Un modelo de visión por ordenador para el recuento y seguimiento de personas se despliega en servidores en la nube. Las cámaras de una tienda transmiten vídeo a la nube, donde el modelo procesa los datos para generar mapas de calor de los flujos de clientes y analizar los patrones de compra. La aplicación se gestiona con Kubernetes para manejar cargas variables de varias tiendas, lo que proporciona información valiosa para la gestión del inventario y la optimización de la distribución de las tiendas.
Despliegue de modelos, servicio de modelos y MLOps
Aunque estrechamente relacionados, estos términos son distintos.
- Despliegue de modelos frente a servicio de modelos: El despliegue es el proceso completo de tomar un modelo entrenado y hacerlo operativo. El servicio de modelos es un componente específico del despliegue que se refiere a la infraestructura responsable de ejecutar el modelo y responder a las solicitudes de predicción, a menudo a través de una API.
- Despliegue de modelos frente a MLOps: Machine Learning Operations (MLOps) es un amplio conjunto de prácticas que abarca todo el ciclo de vida de la IA. El despliegue es una fase crítica dentro del marco de MLOps, que también incluye la gestión de datos, la formación de modelos, la creación de versiones y la supervisión y el reciclaje continuos. Plataformas como Ultralytics HUB proporcionan un entorno integrado para gestionar todo este flujo de trabajo, desde la formación de modelos personalizados hasta el despliegue y la supervisión sin fisuras.