Scalability
Explora la importancia de la escalabilidad en la IA. Aprende cómo Ultralytics YOLO26 y la plataforma Ultralytics permiten un despliegue de modelos eficiente y de alto rendimiento.
La escalabilidad hace referencia a la capacidad de un sistema, red o proceso para gestionar una cantidad creciente de trabajo mediante la adición de recursos. En el contexto de la Inteligencia Artificial (IA) y el Aprendizaje Automático (ML), la escalabilidad describe la aptitud de un modelo o de una infraestructura para mantener niveles de rendimiento a medida que aumenta la demanda. Esta demanda se manifiesta habitualmente como conjuntos de datos más grandes durante el entrenamiento, un mayor tráfico de usuarios durante la inferencia o una mayor complejidad en las tareas computacionales. Una arquitectura escalable permite una expansión fluida, ya sea desplegando un modelo de visión artificial en un único dispositivo integrado o sirviendo millones de solicitudes de API mediante clústeres en la nube, garantizando que la latencia de inferencia permanezca baja incluso bajo una carga elevada.
Link to this sectionLa importancia de la escalabilidad en la IA#
Diseñar pensando en la escalabilidad es un componente fundamental para unas Operaciones de Aprendizaje Automático (MLOps) exitosas. Un modelo que funciona a la perfección en un entorno de investigación controlado puede fallar cuando se expone a los flujos de datos de alta velocidad que se encuentran en la producción. Gestionar eficazmente el Big Data requiere sistemas que puedan escalar horizontalmente (añadiendo más máquinas a un clúster) o verticalmente (añadiendo más potencia, como RAM o GPUs, a las máquinas existentes).
Las ventajas clave de los sistemas de IA escalables incluyen:
- Fiabilidad: Los sistemas escalables garantizan un tiempo de actividad del servicio constante durante picos de tráfico inesperados, evitando fallos en aplicaciones críticas.
- Rentabilidad: El escalado dinámico permite reducir los recursos durante los periodos de baja actividad, una función gestionada a menudo por plataformas de computación en la nube como AWS o Google Cloud.
- Preparación para el futuro: Una infraestructura escalable admite algoritmos más nuevos y complejos, como los vision transformers (ViT), sin necesidad de una renovación completa del ecosistema de hardware.
Link to this sectionEstrategias para lograr la escalabilidad#
Crear soluciones de IA escalables implica optimizar tanto la arquitectura del modelo como la infraestructura de despliegue.
- Entrenamiento distribuido: Cuando los conjuntos de datos de entrenamiento se vuelven demasiado grandes para un único procesador, el entrenamiento distribuido divide la carga de trabajo entre varias Unidades de Procesamiento Gráfico (GPUs). Frameworks como PyTorch Distributed permiten a los desarrolladores paralelizar los cálculos, lo que reduce significativamente el tiempo necesario para entrenar modelos base. Herramientas como la Ultralytics Platform simplifican este proceso gestionando automáticamente los recursos de entrenamiento en la nube.
- Arquitecturas de modelos eficientes: Seleccionar la arquitectura de modelo adecuada es crucial para el rendimiento. El último Ultralytics YOLO26 está diseñado para ser más pequeño y rápido que sus predecesores, lo que lo hace nativamente escalable en diversos hardwares, desde dispositivos de IA en el borde hasta granjas de servidores masivas.
- Contenedores y orquestación: Empaquetar aplicaciones con Docker garantiza que se ejecuten de forma consistente en diferentes entornos. Para gestionar grandes clústeres de contenedores, Kubernetes automatiza el despliegue, el escalado y la gestión de aplicaciones en contenedores.
- Optimización de modelos: Técnicas como la cuantización de modelos y la poda reducen la huella de memoria y el coste computacional de un modelo. Herramientas como NVIDIA TensorRT pueden acelerar aún más las velocidades de inferencia, permitiendo un mayor rendimiento en el hardware existente.
Link to this sectionEjemplo de código: Inferencia por lotes escalable#
Un método eficaz para mejorar la escalabilidad durante la inferencia es procesar las entradas en lotes en lugar de secuencialmente. Esto maximiza la utilización de la GPU y aumenta el rendimiento general.
from ultralytics import YOLO
# Load a scalable YOLO26 model (smaller 'n' version for speed)
model = YOLO("yolo26n.pt")
# Define a batch of images (URLs or local paths)
# Processing multiple images at once leverages parallel computation
batch_images = ["https://ultralytics.com/images/bus.jpg", "https://ultralytics.com/images/zidane.jpg"]
# Run inference on the batch
results = model(batch_images)
# Print the number of detections for the first image
print(f"Detected {len(results[0].boxes)} objects in the first image.")Link to this sectionAplicaciones en el mundo real#
La escalabilidad permite que las tecnologías de IA pasen de la investigación teórica a ser herramientas industriales globales.
- Fabricación inteligente: En el campo de la IA en la fabricación, los sistemas de inspección automatizados deben analizar miles de componentes por hora en líneas de montaje de alta velocidad. Un sistema de detección de objetos escalable garantiza que, a medida que aumentan las velocidades de producción, el proceso de control de calidad mantenga una alta precisión sin convertirse en un cuello de botella.
- Motores de recomendación en retail: Las principales plataformas de comercio electrónico utilizan sistemas de recomendación para ofrecer instantáneamente millones de sugerencias de productos personalizadas. Una infraestructura escalable permite a estas plataformas gestionar eventos masivos como el Black Friday, donde el tráfico puede aumentar 100 veces, aprovisionando dinámicamente nodos de servidor adicionales a través de Microsoft Azure o proveedores similares.
Link to this sectionEscalabilidad frente a conceptos relacionados#
Aunque a menudo se utilizan indistintamente, la escalabilidad es diferente del rendimiento y la eficiencia.
- Escalabilidad frente a rendimiento: El rendimiento se refiere normalmente a la velocidad o precisión de un sistema en un momento específico (por ejemplo, fotogramas por segundo). La escalabilidad describe la capacidad del sistema para mantener ese rendimiento a medida que aumenta la carga de trabajo.
- Escalabilidad frente a eficiencia: La eficiencia mide los recursos utilizados para completar una tarea específica (por ejemplo, consumo de energía por inferencia). Un sistema puede ser eficiente pero no escalable (si no puede gestionar tareas paralelas), o escalable pero ineficiente (si utiliza recursos excesivos para gestionar el crecimiento).
- Escalabilidad frente a flexibilidad: La flexibilidad permite que un sistema gestione diferentes tipos de tareas, como YOLO11 gestionando detección, segmentación y estimación de pose. La escalabilidad se centra específicamente en gestionar más cantidad de la misma tarea.






