¡Sintonice YOLO Vision 2025!
25 de septiembre de 2025
10:00 — 18:00 BST
Evento híbrido
Yolo Vision 2024
Glosario

Contenedorización

Descubra el poder de la contenedorización para proyectos de IA/ML. Agilice los flujos de trabajo, garantice la coherencia y escale de manera eficiente con herramientas de vanguardia.

La contenerización es una forma ligera de virtualización del sistema operativo que le permite empaquetar una aplicación y sus dependencias, como bibliotecas, frameworks y archivos de configuración, en una sola unidad aislada llamada contenedor. Esto resuelve el problema común de que el software no se ejecute correctamente cuando se traslada de un entorno informático a otro. En el contexto del Machine Learning (ML), la contenerización garantiza que los modelos complejos de IA y sus intrincadas pilas de software sean portátiles, reproducibles y escalables, lo que constituye un componente crítico de las prácticas modernas de MLOps.

La tecnología de contenedorización más utilizada es Docker, que proporciona una forma estandarizada de construir, enviar y ejecutar contenedores. Cada contenedor comparte el kernel del sistema operativo del host, pero se ejecuta como un proceso aislado en el espacio de usuario. Este enfoque, estandarizado por organizaciones como la Open Container Initiative (OCI), hace que los contenedores sean mucho más eficientes en cuanto a recursos y más rápidos de iniciar que las máquinas virtuales tradicionales. Puede obtener más información sobre los fundamentos de la contenedorización en recursos como la explicación de contenedores de Red Hat.

Contenerización vs. Conceptos relacionados

Comprender las distinciones entre la contenedorización y tecnologías similares es clave para apreciar su papel en los flujos de trabajo de IA/ML.

  • Máquinas virtuales (VM): Si bien tanto los contenedores como las VM proporcionan entornos aislados, operan a diferentes niveles. Una VM emula una pila de hardware completa, incluido un sistema operativo invitado completo, lo que la hace pesada y lenta de iniciar. En contraste, un contenedor virtualiza el sistema operativo, compartiendo el kernel del host. Esto hace que los contenedores sean mucho más ligeros y rápidos, aunque las VM pueden ofrecer un mayor grado de aislamiento a nivel de hardware.
  • Docker: La contenedorización es el concepto subyacente. Docker es la plataforma más popular que implementa este concepto, proporcionando las herramientas para crear y administrar contenedores individuales. Para un inicio práctico, Ultralytics proporciona una guía de inicio rápido de Docker para ejecutar modelos YOLO. También puede explorar los recursos oficiales de Docker para obtener más información.
  • Kubernetes: Mientras que Docker gestiona contenedores individuales en un host, Kubernetes es una plataforma de orquestación de contenedores. Automatiza la implementación, el escalado y la gestión de miles de contenedores en clústeres de máquinas. Un flujo de trabajo común es construir un contenedor con Docker y luego gestionarlo a escala utilizando Kubernetes. Para una inmersión más profunda, consulte la documentación oficial de Kubernetes.
  • Computación sin servidor (Serverless Computing): Serverless es un modelo de ejecución donde los proveedores de la nube gestionan automáticamente la infraestructura necesaria para ejecutar el código. Esto abstrae por completo los servidores y contenedores. Mientras que la contenerización proporciona control sobre el entorno de la aplicación, las plataformas serverless como AWS Lambda priorizan la facilidad de uso al ocultar toda la gestión de la infraestructura.

Aplicaciones en el mundo real en IA/ML

La contenerización se utiliza ampliamente a lo largo de todo el ciclo de vida de la IA/ML, desde la experimentación hasta el despliegue de modelos en producción.

  1. Implementación de modelos de detección de objetos: Un modelo Ultralytics YOLO entrenado para la detección de objetos se puede empaquetar en un contenedor Docker. Este contenedor incluye los pesos del modelo, el script de inferencia y todas las dependencias necesarias, como PyTorch y las bibliotecas NVIDIA CUDA. Esta unidad autocontenida se puede implementar de forma coherente en varias plataformas, desde potentes GPU en la nube hasta dispositivos Edge AI con recursos limitados, lo que garantiza que el modelo funcione como se espera independientemente del entorno.
  2. Servir modelos NLP como microservicios: Un equipo que desarrolla una aplicación de Procesamiento del Lenguaje Natural (NLP) utilizando modelos de plataformas como Hugging Face puede contenerizar diferentes componentes (por ejemplo, preprocesamiento de texto, inferencia de modelos, punto final de la API) como microservicios separados. Estos contenedores se pueden gestionar utilizando Kubernetes, lo que permite escalar y actualizar cada componente de forma independiente. Esto sigue los principios de una arquitectura de microservicios y conduce a un sistema más resistente. Plataformas como Ultralytics HUB aprovechan los principios de la contenerización para la gestión y el despliegue optimizados de los modelos.

Al proporcionar un entorno consistente y aislado, la contenerización se ha convertido en una piedra angular del desarrollo de software moderno, especialmente en los campos de la IA y la Visión Artificial (CV), que evolucionan rápidamente. Permite a los desarrolladores e ingenieros de MLOps construir, probar e implementar aplicaciones de IA confiables con mayor velocidad y eficiencia en plataformas como Google Cloud y Amazon Elastic Container Service.

Únete a la comunidad de Ultralytics

Únete al futuro de la IA. Conecta, colabora y crece con innovadores de todo el mundo

Únete ahora
Enlace copiado al portapapeles