Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
Glossaire

Scalabilité

Explore how scalability empowers AI systems to handle growth. Learn to optimize MLOps with [Ultralytics YOLO26](https://docs.ultralytics.com/models/yolo26/) and the [Ultralytics Platform](https://platform.ultralytics.com) for high-performance, distributed training and seamless deployment.

Scalability refers to the capability of a system, network, or process to handle a growing amount of work by adding resources. In the context of Artificial Intelligence (AI) and Machine Learning (ML), scalability describes a model's or infrastructure's ability to maintain performance levels as demand increases. This demand typically manifests as larger datasets during training, higher user traffic during inference, or increased complexity in computational tasks. A scalable architecture allows for seamless expansion—whether deploying a computer vision model to a single embedded device or serving millions of API requests via cloud clusters—ensuring that inference latency remains low even under heavy load.

L'importance de l'évolutivité dans l'IA

Designing for scalability is a critical component of successful Machine Learning Operations (MLOps). A model that functions perfectly in a controlled research environment may fail when exposed to the high-velocity data streams found in production. Effectively managing Big Data requires systems that can scale horizontally (adding more machines to a cluster) or vertically (adding more power, such as RAM or GPUs, to existing machines).

Les principaux avantages des systèmes d'IA évolutifs sont les suivants :

  • Fiabilité : les systèmes évolutifs garantissent une disponibilité constante du service lors de pics de trafic imprévus, empêchant ainsi les plantages des applications critiques.
  • Rentabilité : le dimensionnement dynamique permet de réduire les ressources pendant les périodes de faible utilisation, une fonctionnalité souvent gérée par les plateformes de cloud computing telles que AWS ou Google .
  • Pérennité : une infrastructure évolutive s'adapte aux algorithmes plus récents et plus complexes, tels que les transformateurs de vision (ViT), sans nécessiter une refonte complète de l'écosystème matériel.

Stratégies de mise à l'échelle

Pour créer des solutions d'IA évolutives, il faut optimiser à la fois l'architecture du modèle et l'infrastructure de déploiement.

  • Distributed Training: When training datasets become too large for a single processor, distributed training splits the workload across multiple Graphics Processing Units (GPUs). Frameworks like PyTorch Distributed allow developers to parallelize computations, significantly reducing the time required to train foundation models. Tools like the Ultralytics Platform simplify this process by managing cloud training resources automatically.
  • Architectures de modèles efficaces : le choix de l'architecture de modèle appropriée est crucial pour le débit. Le dernier Ultralytics est conçu pour être plus petit et plus rapide que ses prédécesseurs, ce qui le rend nativement évolutif sur divers matériels, des appareils IA de pointe aux immenses fermes de serveurs.
  • Containerization and Orchestration: Packaging applications with Docker ensures they run consistently across different environments. For managing large clusters of containers, Kubernetes automates the deployment, scaling, and management of containerized applications.
  • Optimisation des modèles : des techniques telles que la quantification et l'élagage des modèles permettent de réduire l'empreinte mémoire et le coût de calcul d'un modèle. Des outils tels que NVIDIA NVIDIA TensorRT peuvent encore accélérer les vitesses d'inférence, permettant ainsi un débit plus élevé sur le matériel existant.

Exemple de code : inférence par lots évolutive

Une méthode efficace pour améliorer l'évolutivité pendant l'inférence consiste à traiter les entrées par lots plutôt que de manière séquentielle. Cela permet d'optimiser GPU et d'augmenter le débit global.

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.")

Applications concrètes

La scalabilité permet aux technologies d'IA de passer de la recherche théorique à des outils industriels mondiaux.

  • Fabrication intelligente : dans le domaine de l' IA dans la fabrication, les systèmes d'inspection automatisés doivent analyser des milliers de composants par heure sur des chaînes de montage à grande vitesse. Un système de détection d'objets évolutif garantit que, à mesure que la vitesse de production augmente, le processus de contrôle qualité maintient une grande précision sans devenir un goulot d'étranglement.
  • Moteurs de recommandation dans le commerce de détail : les principales plateformes de commerce électronique utilisent des systèmes de recommandation pour proposer instantanément des millions de suggestions de produits personnalisées. Une infrastructure évolutive permet à ces plateformes de gérer des événements de grande envergure comme le Black Friday, où le trafic peut être multiplié par 100, en provisionnant dynamiquement des nœuds de serveurs supplémentaires via Microsoft ou des fournisseurs similaires.

Scalabilité vs concepts connexes

Bien qu'elles soient souvent utilisées de manière interchangeable, la scalabilité se distingue de la performance et de l'efficacité.

  • Évolutivité vs performance : La performance fait généralement référence à la rapidité ou à la précision d'un système à un moment donné (par exemple, le nombre d'images par seconde). L'évolutivité décrit la capacité du système à maintenir cette performance lorsque la charge de travail augmente.
  • Évolutivité vs efficacité : l'efficacité mesure les ressources utilisées pour accomplir une tâche spécifique (par exemple, la consommation d'énergie par inférence). Un système peut être efficace mais non évolutif (s'il ne peut pas gérer des tâches parallèles ), ou évolutif mais inefficace (s'il utilise des ressources excessives pour gérer la croissance).
  • Évolutivité vs flexibilité : la flexibilité permet à un système de gérer différents types de tâches, telles que YOLO11 la détection, la segmentation et l' estimation de la pose. L'évolutivité se concentre spécifiquement sur la gestion d'un plus grand nombre de tâches identiques.

Rejoindre la communauté Ultralytics

Rejoignez le futur de l'IA. Connectez-vous, collaborez et évoluez avec des innovateurs mondiaux.

Rejoindre maintenant