Scalability
Explore l'importance de l'évolutivité en IA. Apprends comment Ultralytics YOLO26 et la plateforme Ultralytics permettent un déploiement efficace et performant de modèles.
L'évolutivité désigne la capacité d'un système, d'un réseau ou d'un processus à gérer une charge de travail croissante par l'ajout de ressources. Dans le contexte de l'Intelligence Artificielle (IA) et du Machine Learning (ML), l'évolutivité décrit la capacité d'un modèle ou d'une infrastructure à maintenir des niveaux de performance à mesure que la demande augmente. Cette demande se manifeste généralement par des jeux de données plus volumineux lors de l'entraînement, un trafic utilisateur plus important lors de l'inférence, ou une complexité accrue des tâches computationnelles. Une architecture évolutive permet une expansion transparente — qu'il s'agisse de déployer un modèle de computer vision sur un seul appareil embarqué ou de servir des millions de requêtes API via des clusters cloud — garantissant que la latence d'inférence reste faible même sous une charge élevée.
Link to this sectionL'importance de l'évolutivité en IA#
Concevoir pour l'évolutivité est une composante essentielle des Machine Learning Operations (MLOps) réussis. Un modèle qui fonctionne parfaitement dans un environnement de recherche contrôlé peut échouer lorsqu'il est exposé aux flux de données à haute vélocité rencontrés en production. Gérer efficacement le Big Data nécessite des systèmes capables de passer à l'échelle horizontalement (en ajoutant plus de machines à un cluster) ou verticalement (en ajoutant plus de puissance, comme de la RAM ou des GPU, aux machines existantes).
Les avantages clés des systèmes d'IA évolutifs incluent :
- Fiabilité : Les systèmes évolutifs assurent une disponibilité de service constante lors de pics de trafic imprévus, évitant les pannes dans les applications critiques.
- Rentabilité : L'évolutivité dynamique permet aux ressources de diminuer pendant les périodes de faible utilisation, une fonctionnalité souvent gérée par des plateformes de cloud computing comme AWS ou Google Cloud.
- Pérennité : Une infrastructure évolutive peut accueillir des algorithmes plus récents et complexes, tels que les vision transformers (ViT), sans nécessiter une refonte complète de l'écosystème matériel.
Link to this sectionStratégies pour atteindre l'évolutivité#
Créer des solutions d'IA évolutives implique d'optimiser à la fois l'architecture du modèle et l'infrastructure de déploiement.
- Entraînement distribué : Lorsque les jeux de données d'entraînement deviennent trop volumineux pour un seul processeur, l'entraînement distribué divise la charge de travail entre plusieurs Graphics Processing Units (GPUs). Des frameworks comme PyTorch Distributed permettent aux développeurs de paralléliser les calculs, réduisant considérablement le temps nécessaire pour entraîner des modèles de fondation. Des outils comme la plateforme Ultralytics simplifient ce processus en gérant automatiquement les ressources d'entraînement dans le cloud.
- Architectures de modèle efficaces : Sélectionner la bonne architecture de modèle est crucial pour le débit. Le dernier Ultralytics YOLO26 est conçu pour être plus petit et plus rapide que ses prédécesseurs, le rendant nativement évolutif sur divers matériels, des appareils d'edge AI aux fermes de serveurs massives.
- Conteneurisation et orchestration : Empaqueter les applications avec Docker garantit qu'elles s'exécutent de manière cohérente dans différents environnements. Pour gérer de grands clusters de conteneurs, Kubernetes automatise le déploiement, la mise à l'échelle et la gestion des applications conteneurisées.
- Optimisation de modèle : Des techniques comme la quantification de modèle et l'élagage (pruning) réduisent l'empreinte mémoire et le coût computationnel d'un modèle. Des outils comme NVIDIA TensorRT peuvent accélérer davantage les vitesses d'inférence, permettant un débit plus élevé sur le matériel existant.
Link to this sectionExemple de code : Inférence par lot évolutive#
Une méthode efficace pour améliorer l'évolutivité lors de l'inférence consiste à traiter les entrées par lots plutôt que de manière séquentielle. Cela maximise l'utilisation du GPU et augmente 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.")Link to this sectionApplications concrètes#
L'évolutivité permet aux technologies d'IA de passer de la recherche théorique aux 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 à haute vitesse. Un système de détection d'objets évolutif garantit qu'à mesure que les cadences de production augmentent, le processus de contrôle qualité maintient une précision élevée sans devenir un goulot d'étranglement.
- Moteurs de recommandation pour le commerce de détail : Les grandes plateformes de commerce électronique utilisent des systèmes de recommandation pour servir instantanément des millions de suggestions de produits personnalisées. Une infrastructure évolutive permet à ces plateformes de gérer des événements massifs comme le Black Friday, où le trafic peut être multiplié par 100, en provisionnant dynamiquement des nœuds de serveur supplémentaires via Microsoft Azure ou des fournisseurs similaires.
Link to this sectionÉvolutivité vs concepts associés#
Bien qu'ils soient fréquemment utilisés de manière interchangeable, l'évolutivité est distincte de la performance et de l'efficacité.
- Évolutivité vs Performance : La performance se réfère généralement à la rapidité ou à la précision d'un système à un moment donné (par exemple, images par seconde). L'évolutivité décrit la capacité du système à maintenir cette performance à mesure que 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, comme YOLO11 gérant la détection, la segmentation et l'estimation de pose. L'évolutivité se concentre spécifiquement sur la gestion d'une plus grande quantité de la même tâche.






