Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
Glossaire

Scalabilité

Découvrez comment l'évolutivité de l'IA et du ML garantit des performances, une adaptabilité et une efficacité constantes pour des applications réelles telles que Ultralytics YOLO.

Dans le domaine de l'intelligence artificielle (IA) et de Machine Learning (ML), l'évolutivité fait référence à la capacité d'un la capacité d'un système à gérer des charges de travail croissantes - telles que l'augmentation du volume de données, du trafic des utilisateurs ou de la complexité de calcul - sans compromettre les performances. sans compromettre les performances. Une architecture évolutive garantit qu'à mesure que la demande augmente, le système peut s'adapter en utilisant plus de ressources ou en optimisant les ressources existantes pour maintenir une latence d'inférence et un débit élevé. Qu'il s'agisse de le déploiement d'un modèle de vision par ordinateur sur un seul ou de servir des millions de requêtes via le cloud, la conception à l'échelle est fondamentale pour le succès à long terme de toute application d'IA. de toute application d'IA.

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

L'évolutivité est la pierre angulaire des opérations d'apprentissage automatique (MLOps). opérations d'apprentissage automatique (MLOps) robustes. Sans elle, un modèle qui fonctionne exceptionnellement bien pendant la phase de prototypage peut échouer lorsqu'il est exposé aux flux de données à grande vitesse typiques des environnements de production. flux de données à grande vitesse typiques des environnements de production. Gérer efficacement les Big Data nécessite des systèmes capables de s'étendre horizontalement (ajout de machines) ou verticalement (augmentation de la puissance des machines existantes).

Les principaux avantages sont les suivants :

  • Fiabilité : Garantit une disponibilité constante du service lors des pics de trafic.
  • Rentabilité : Permet de réduire les ressources pendant les périodes de faible utilisation, souvent gérées par des services d'informatique en nuage (cloud computing). souvent gérés par des services d'informatique en nuage.
  • Protection de l'avenir : S'adapte aux algorithmes plus récents et plus complexes, comme les transformateurs, sans qu'il soit nécessaire de les compléter. comme les transformateurs, sans nécessiter une complète de l'infrastructure.

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.

  • Formation distribuée : Lorsque les ensembles de données deviennent trop volumineux pour un seul processeur, l'entraînement distribué répartit la charge de travail sur plusieurs GPU ou TPU. Des frameworks tels que PyTorch Distributed permettent aux développeurs de de paralléliser les calculs, ce qui permet de réduire considérablement le temps de formation.
  • Architectures de modèles efficaces : Le choix du bon modèle est crucial. Ultralytics YOLO11 est conçu pour être léger et rapide, et rapide, ce qui lui confère une grande évolutivité sur divers matériels des dispositifs d'intelligence artificielle de pointe aux serveurs d'entreprise.
  • Conteneurisation et orchestration : L'empaquetage des applications avec Docker permet de s'assurer qu'elles s'exécutent de manière cohérente dans tous les environnements. Pour gérer de grandes grappes de conteneurs, Kubernetes automatise le déploiement et la mise à l'échelle, en gérant l'allocation des ressources de manière dynamique. déploiement et la mise à l'échelle, en gérant l'allocation des ressources de manière dynamique.
  • Optimisation des modèles : Des techniques telles que quantification du modèle et l'élagage réduisent l'empreinte mémoire et les besoins en d'un modèle. Des outils comme NVIDIA TensorRT peuvent encore accélérer l'inférence, ce qui permet d'augmenter le débit sur le matériel existant.

Exemple de code : Inférence par lots

Un moyen simple d'améliorer l'évolutivité pendant l'inférence consiste à traiter les entrées par lots plutôt que séquentiellement. Cela permet de maximiser l'utilisation du GPU et d'augmenter le débit.

from ultralytics import YOLO

# Load a scalable YOLO11 model
model = YOLO("yolo11n.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)

# Results contain predictions for both images
print(f"Processed {len(results)} images.")

Applications concrètes

L'évolutivité permet à l'IA de passer des laboratoires de recherche aux industries mondiales.

  • Fabrication intelligente : En L 'IA dans l'industrie manufacturière, les systèmes doivent inspecter des milliers de composants par heure sur les chaînes de montage. Un système de détection système de détection d'objets évolutif permet de vitesse de production, le processus de contrôle de la qualité conserve une précision sans devenir un goulot d'étranglement.
  • Recommandations en matière de commerce électronique : Les grandes plateformes de vente au détail utilisent des systèmes de recommandation pour fournir instantanément des millions de suggestions personnalisées. suggestions personnalisées instantanément. L'utilisation d'une infrastructure évolutive permet à ces plateformes de gérer des événements tels que le Black où le trafic peut être multiplié par 100, en fournissant dynamiquement des nœuds de serveur supplémentaires via les services Web d'Amazon (AWS). Amazon Web Services (AWS).

Scalabilité vs concepts connexes

Bien que liée, l'évolutivité est distincte de la performance et de l'efficacité.

  • Évolutivité vs. performance : Les performances font généralement référence à la rapidité ou à la précision d'un système à un moment précis (par exemple, images par seconde). 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 au fur et à mesure que la charge augmente.
  • Évolutivité et efficacité : L'efficacité mesure les ressources utilisées pour accomplir une tâche (par exemple, la consommation d'énergie). consommation d'énergie). Un système peut être efficace mais non évolutif (s'il ne peut pas gérer davantage de tâches parallèles), ou évolutif mais inefficace (s'il utilise des ressources excessives pour gérer la croissance). mais inefficace (s'il utilise des ressources excessives pour gérer la croissance).
  • Évolutivité et flexibilité : La flexibilité permet à un système de gérer différents types de tâches (par ex. tâches (par ex, YOLO11 traiter la détection et la segmentation). L'évolutivité se concentre spécifiquement sur le traitement d'un plus grand nombre de tâches identiques ou similaires.

Rejoindre la communauté Ultralytics

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

Rejoindre maintenant