¿Qué es el despliegue de modelos?

Autores

Rina Diane Caballar

Staff Writer

IBM Think

Cole Stryker

Staff Editor, AI Models

IBM Think

¿Qué es el despliegue de modelos?

El despliegue de modelos implica colocar un modelo de machine learning (ML) en un entorno de producción. Pasar un modelo del desarrollo a la producción lo pone a disposición de los usuarios finales, desarrolladores de software y otras aplicaciones de software y sistemas de inteligencia artificial (IA).

El despliegue de modelos de machine learning es una fase crucial en el ciclo de vida de la IA. Los científicos de datos, los desarrolladores de IA y los investigadores de IA suelen trabajar en las primeras etapas de los proyectos de ciencia de datos y ML, incluida la recopilación y preparación de datos, el desarrollo de modelos, la capacitación de modelos y la evaluación de modelos. El despliegue de modelos es el siguiente paso que lleva la investigación al mundo real. Una vez desplegado, un modelo de IA se prueba realmente, no solo en términos de inferencia o rendimiento en tiempo real en nuevos datos, sino también en qué tan bien resuelve los problemas para los que fue diseñado.

Según una encuesta de Gartner, la IA generativa es la solución de IA desplegada con más frecuencia en las organizaciones, pero solo la mitad (alrededor del 48 %) de los proyectos de IA llegan a producción.1 Solo cuando se despliega un modelo de machine learning puede surgir su verdadero valor. Los usuarios pueden interactuar con un modelo y obtener beneficio de sus insights, mientras que las empresas pueden emplear el análisis y las predicciones de un modelo para la toma de decisiones e impulsar la eficiencia a través de la automatización.

Las últimas tendencias de IA presentadas por expertos

Obtenga insights curados sobre las noticias más importantes e intrigantes de la IA. Suscríbase a nuestro boletín semanal Think. Consulte la Declaración de privacidad de IBM .

¡Gracias! Ya está suscrito.

Su suscripción se entregará en inglés. En cada boletín, encontrará un enlace para darse de baja. Puede gestionar sus suscripciones o darse de baja aquí. Consulte nuestra Declaración de privacidad de IBM para obtener más información.

Métodos de despliegue de modelos

Las empresas pueden elegir entre diferentes enfoques de despliegue en función de las aplicaciones y los casos de uso que prevén para sus nuevos modelos. Estos son algunos métodos comunes de despliegue de modelos:

  • Tiempo real
  • Lote
  • Streaming
  • Edge

Tiempo real

El despliegue en tiempo real implica integrar un modelo previamente entrenado en un entorno de producción capaz de manejar de inmediato las entradas y salidas de datos. Este método permite que los modelos de ML en línea se actualicen continuamente y generen predicciones rápidamente a medida que ingresan nuevos datos.

Las predicciones instantáneas pueden conducir a una mejor experiencia del usuario y a una mayor participación del usuario. Pero el despliegue en tiempo real también requiere una infraestructura informática de alto rendimiento con tiempos de respuesta rápidos y almacenamiento en caché para gestionar las solicitudes síncronas de baja latencia.

El despliegue en tiempo real se puede implementar para aplicaciones de IA, como motores de recomendación que atienden rápidamente sugerencias o chatbots que brindan soporte en vivo a los clientes.

Lote

El despliegue por lotes implica el procesamiento fuera de línea de las entradas de datos. Los conjuntos de datos se agrupan en lotes y luego se aplican periódicamente a algoritmos de machine learning. Como tal, el despliegue por lotes no necesita una infraestructura tan sólida como el despliegue en tiempo real.

Este método es adecuado para grandes volúmenes de datos que pueden procesarse de forma asincrónica, como transacciones financieras, registros de atención médica o documentos legales. Los casos de uso de despliegue por lotes incluyen análisis de documentos, forecasting, generación de descripciones de productos, clasificación de imágenes y análisis de sentimientos.

Streaming

El despliegue de streaming alimenta flujos regulares de datos a un sistema de machine learning para cálculos continuos y predicciones casi en tiempo real. Por lo general, requiere la misma infraestructura que el despliegue en tiempo real.

Este método se puede emplear para aplicaciones de detección de fraude e Internet de las cosas (IoT) como el monitoreo de centrales eléctricas y la gestión del tráfico que dependen de flujos de datos de sensores.

Edge

El despliegue edge se refiere al despliegue de modelos de IA en dispositivos perimetrales, como teléfonos inteligentes y dispositivos portátiles. Este método se puede utilizar para aplicaciones de IA perimetral, incluida la supervisión del estado, las experiencias móviles personalizadas, el mantenimiento predictivo y el enrutamiento predictivo en vehículos autónomos.

AI Academy

Conviértase en un experto en IA

Obtenga el conocimiento para priorizar las inversiones en IA que impulsan el crecimiento del negocio. Comience hoy mismo con nuestra AI Academy gratuita y lidere el futuro de la IA en su organización.

Despliegue de modelos y MLOps

Las operaciones de machine learning (MLOps) son un conjunto de prácticas diseñadas para crear una línea de ensamblaje para desplegar, monitorear, gestionar y mejorar los modelos de machine learning dentro de los entornos de producción. MLOps se basa en los principios de DevOps, que se centra en optimizar el desarrollo, las pruebas y el despliegue de aplicaciones de software tradicionales, y los aplica al ciclo de vida del machine learning.

El despliegue de modelos es solo un componente del pipeline de MLOps. Sin embargo, algunos pasos del proceso de despliegue del modelo se superponen con los de MLOps.

Cómo funciona el despliegue de modelos

El despliegue de modelos puede variar según los sistemas de TI de una organización y cualquier procedimiento de DevOps o MLOps ya implementado. Pero el proceso suele abarcar esta serie de pasos:

  1. Planificación
  2. Configuración
  3. Empaquetado y despliegue
  4. Pruebas
  5. Supervisión
  6. Integración continua y despliegue continuo (CI/CD)

Planificación

Antes de que comience el despliegue, las empresas deben prepararse para el proceso. Así es como las empresas pueden lograr la preparación técnica durante la etapa de planificación:

  • Asegúrese de que el modelo de ML esté listo para producción.
  • Cree un registro de modelos para almacenar, rastrear y gestionar versiones de modelos.
  • Elija un método de despliegue.
  • Seleccione el tipo de entorno de despliegue, ya sea on premises, a través de servicios de computación en la nube o en dispositivos edge.
  • Evalúe la disponibilidad y suficiencia de recursos computacionales como CPU, GPU, memoria y almacenamiento.

Este es también el momento de desarrollar un cronograma para el despliegue, definir las funciones y responsabilidades de los involucrados y crear pautas claras y  flujos de trabajo estandarizados para el proceso de despliegue del modelo.

Configuración

Al igual que la planificación, la configuración es una fase de varios pasos. Esto es lo que suele suceder durante esta etapa:

  • Se instalan todas las dependencias necesarias, como infraestructuras y bibliotecas.
  • Los ajustes del entorno de producción están configurados para optimizar el rendimiento del modelo.
  • Se establecen medidas de seguridad, como control de acceso, autenticación y cifrado, para proteger los datos y los modelos.
  • Las estrategias actuales de copia de seguridad y recuperación ante desastres se modifican para incorporar modelos de ML y los datos e infraestructura que los acompañan.

Documentar todos los procedimientos de instalación y los ajustes de configuración es esencial para solucionar problemas y resolver problemas en el futuro.

Empaquetado y despliegue

El modelo y sus dependencias se empaquetan en un contenedor (una técnica llamada contenerización) para mantener la coherencia independientemente del método de despliegue y el entorno elegidos. A continuación, el modelo empaquetado se carga en el entorno de producción.

Pruebas

Las pruebas exhaustivas son cruciales para validar que el modelo desplegado funciona según lo previsto y es capaz de manejar casos extremos e instancias erróneas. Las pruebas incluyen verificar las predicciones del modelo con respecto a los resultados esperados mediante un conjunto de datos de muestra y cerciorarse de que el rendimiento del modelo se alinee con las métricas de evaluación clave y los puntos de referencia.

Las pruebas de integración son otro componente necesario de la suite de pruebas. Estas pruebas verifican que el modelo se fusione perfectamente con el entorno de producción e interactúe sin problemas con otros sistemas. Además, se realizan pruebas de estrés para observar cómo el modelo maneja altas cargas de trabajo.

Al igual que con la fase de configuración, es importante documentar qué pruebas se realizaron y sus resultados. Esto ayuda a identificar cualquier mejora que se pueda realizar antes de entregar o lanzar el modelo a los usuarios.

Supervisión

Realizar un seguimiento del rendimiento del modelo, especialmente la desviación del modelo, es la tarea crítica del monitoreo del modelo. Los insights obtenidos de la supervisión continua alimentan el reentrenamiento iterativo de los modelos, en el que los modelos se actualizan con algoritmos mejorados o nuevos datos de entrenamiento que contienen muestras más recientes y relevantes para refinar su rendimiento.

Las métricas vitales, como las tasas de error, la latencia, la utilización de recursos y el rendimiento, también deben registrarse mediante herramientas de monitoreo. El monitoreo del modelo ocurre inmediatamente después del despliegue, pero generalmente cae dentro del ámbito de MLOps a largo plazo.

Integración continua y despliegue continuo (CI/CD)

Las prácticas combinadas de integración continua y despliegue continuo (conocidas como CI/CD) pueden automatizar y optimizar el despliegue y las pruebas de los modelos de ML. La implementación de pipelines de CI/CD ayuda a garantizar que las actualizaciones y mejoras del modelo se puedan aplicar de manera fácil y rápida, lo que da como resultado un despliegue más eficiente y ciclos de entrega acelerados.

Plataformas y herramientas de despliegue de modelos

Hay una gran cantidad de plataformas y herramientas disponibles para ayudar a las empresas a acelerar los flujos de trabajo de despliegue de modelos. Antes de adoptar estas tecnologías, las organizaciones deben evaluar la compatibilidad con su pila de tecnología y ecosistema de TI.

Control de versiones

Los sistemas de control de versiones y los registros de modelos registran las versiones de los modelos y sus fuentes de datos y metadatos relacionados. Las opciones incluyen Data Version Control (DVC), Git, GitLab y Weights & Biases.

Empaquetado

Docker es una plataforma de código abierto ampliamente utilizada para la contenerización. Es compatible con proveedores de servicio en la nube como Amazon Web Services (AWS), Google Cloud, IBM Cloud y Microsoft Azure. Las alternativas incluyen la interfaz de línea de comandos (CLI) de Buildah, Podman y Rancher Desktop.

Orquestación

Kubernetes es una conocida plataforma de orquestación de contenedoresn de código abierto para programar y automatizar el despliegue de aplicaciones en contenedores. Kubernetes y Docker suelen utilizarse en conjunto. Herramientas de orquestación similares incluyen Red Hat® OpenShift®, Amazon Elastic Container Service (ECS) y soluciones gestionadas de Kubernetes como Azure Kubernetes Service (AKS) e IBM® Cloud Kubernetes Service.

Despliegue

Existen múltiples plataformas para desplegar modelos. Por ejemplo, BentoML es una plataforma basada en Python para servir modelos de ML como endpoints de interfaz de programación de aplicaciones (API) e incluso modelos de lenguaje grandes (LLM) como endpoints de API. Kubeflow facilita el despliegue de modelos en Kubernetes, mientras que TensorFlow Serving es un sistema de servicio de código abierto para modelos TensorFlow.

Mientras tanto, otras plataformas no solo ayudan con el despliegue del modelo, sino que también gestionan los flujos de trabajo de machine learning. Estos incluyen Amazon SageMaker, Azure Machine Learning, Google Vertex AI Platform, IBM® Watson Studio y MLflow.

CI/CD

Las herramientas de CI/CD automatizan el despliegue y las pruebas de modelos. Las herramientas comunes incluyen Continuous Machine Learning (CML), GitHub Actions, GitLab CI/CD y Jenkins.

Desafíos del despliegue de modelos

Desplegar modelos de aprendizaje profundo implica muchas partes móviles, lo que puede hacer que sea una tarea complicada. Estos son algunos desafíos asociados con el despliegue de modelos:

  • Costo
  • Complejidad
  • integración
  • Escalabilidad

Costo

El despliegue de modelos puede ser costoso, ya que los costos de infraestructura y mantenimiento consumen la mayor parte del presupuesto. Las empresas deben estar preparadas para invertir en infraestructura y recursos sólidos para un despliegue eficiente.

Complejidad

La automatización del despliegue de modelos puede ayudar a reducir la complejidad, pero los equipos deben comprender los conceptos básicos del machine learning y estar familiarizados con las nuevas tecnologías para el despliegue. Cerrar esta brecha requiere capacitación y mejora de habilidades. 

Integración

La integración de modelos de IA en los sistemas de TI actuales puede ser un desafío. Realizar una evaluación detallada puede ayudar a las empresas a determinar si se necesitan API, middleware o actualizaciones para una conexión y comunicación fluidas entre modelos y otros sistemas.

Escalabilidad

Escalar modelos según la demanda sin degradar el rendimiento puede ser complicado. La implementación de mecanismos de escalado automático y equilibrio de carga puede ayudar a admitir múltiples solicitudes y cargas de trabajo variables.

Soluciones relacionadas
IBM watsonx.ai

Entrene, valide, ajuste y despliegue IA generativa, modelos fundacionales y capacidades de machine learning con IBM watsonx.ai, un estudio empresarial de próxima generación para creadores de IA. Diseñe aplicaciones de IA en menos tiempo y con menos datos.

Descubra watsonx.ai
Soluciones de inteligencia artificial

Ponga la IA a trabajar en su negocio con la experiencia en IA líder en la industria y la cartera de soluciones de IBM a su lado.

Explore las soluciones de IA
Consultoría y servicios de IA

Reinvente los flujos de trabajo y las operaciones críticas añadiendo IA para maximizar las experiencias, la toma de decisiones en tiempo real y el valor empresarial.

Conozca los servicios de IA
Dé el siguiente paso

Obtenga acceso único a capacidades que abarcan el ciclo de vida del desarrollo de IA. Produzca potentes soluciones de IA con interfaces fáciles de usar, flujos de trabajo y acceso a API y SDK estándar de la industria.

Explore watsonx.ai Reserve una demostración en vivo