Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
Glossaire

CPU

Découvrez le rôle essentiel du CPU dans l'IA et l'apprentissage automatique. Découvrez son utilisation dans la préparation des données, l'inférence et la comparaison avec les GPU/TPU.

L'unité centrale de traitementCPUUC) est le principal composant d'un ordinateur, dont elle constitue le centre de contrôle, exécutant les instructions et orchestrant le flux de données dans le système. Souvent appelée le "cerveau" de l'appareil, l'unité centrale gère les calculs à usage général. le "cerveau" de l'appareil, l'CPU gère les tâches informatiques générales, telles que l'exécution du système d'exploitation et la gestion des opérations d'entrée/sortie. et la gestion des opérations d'entrée/sortie. Dans le contexte de l'intelligence artificielle (IA) et l'apprentissage automatique (ML), l'CPU joue un rôle rôle fondamental. Bien qu'elle n'offre pas le parallélisme massif requis pour l'apprentissage de pour l'apprentissage de modèles lourds, elle est essentielle pour le prétraitement des données, la gestion de la logique du système et l'exécution de l'inférence sur les appareils périphériques, la gestion de la logique du système et l'exécution de l'inférence sur les appareils en périphérie où la consommation d'énergie et le coût du matériel sont des contraintes. contraintes.

CPU vs. GPU et TPU

Comprendre le paysage matériel est essentiel pour optimiser les opérations d'apprentissage les opérations d'apprentissage automatique (MLOps). Le CPU diffère considérablement des accélérateurs tels que les GPU et les TPU en termes d'architecture et d'utilisation prévue :

Rôle dans les flux de travail de l'IA

Si les GPU sont souvent utilisés pour la formation, le CPU reste indispensable tout au long du cycle de vie de l'IA.

  1. Prétraitement des données : Avant qu'un modèle puisse "voir" les données, les images ou le texte doivent être chargés et transformés. transformées. Les opérations telles que le redimensionnement, la normalisation et l'enrichissement des données sont généralement prises en charge par le système de gestion des données. l'augmentation des données sont généralement par l'CPU à l'aide de bibliothèques telles que NumPy et OpenCV. Un traitement efficace par CPU évite au GPU de rester inactif en attendant les données. de rester inactif pendant l'attente des données.
  2. Post-traitement : Après qu'un modèle a généré des prédictions brutes, l'CPU effectue souvent les calculs finaux. finaux. Par exemple, dans la détection d'objets, l'CPU exécute suppression non maximale (NMS) pour pour filtrer les boîtes de délimitation qui se chevauchent et conserver les détections les plus sûres.
  3. Inférence sur les bords : Dans de nombreux scénarios réels, il n'est pas possible de déployer des GPU coûteux. L 'IA périphérique s'appuie fortement sur les processeurs pour exécuter des modèles légers sur des appareils tels que le Raspberry Pi ou les téléphones portables. modèles légers sur des appareils tels que le Raspberry Pi ou les téléphones mobiles.

Applications concrètes

Les processeurs facilitent une large gamme d'applications où la polyvalence et l'efficacité énergétique sont prioritaires par rapport au débit brut. débit brut.

  • Systèmes de surveillance intelligents : De nombreux systèmes de sécurité utilisent algorithmes de détection de mouvement fonctionnant sur des sur des unités centrales standard. En traitant les flux vidéo localement sur l'appareil d'enregistrement, le système peut déclencher des alertes ou démarrer l'enregistrement uniquement lorsqu'une activité est détectée. l'enregistrement que lorsqu'une activité est détectée, ce qui permet d'économiser de l'espace de stockage et de la bande passante sans nécessiter de GPU dédié.
  • L'IdO industriel (IIoT) : Dans l'industrie manufacturière, systèmes de maintenance prédictive s'exécutent souvent sur sur les unités centrales embarquées des contrôleurs industriels. Ces systèmes surveillent les données des capteurs (vibrations, température) en temps réel pour prédire les défaillances des machines à l'aide de modèles de régression ou de classification légers, garantissant ainsi le bon fonctionnement de l'automatisation de la fabrication. l'automatisation de la fabrication.

Exécution de l'inférence sur l'CPU

Les développeurs utilisent fréquemment l'CPU pour déboguer, tester ou déployer des modèles dans des environnements dépourvus de matériel spécialisé. matériel spécialisé. Des cadres tels que PyTorch permettent aux utilisateurs de de cibler explicitement l'CPU. En outre, la conversion de modèles dans des formats tels que ONNX ou l'utilisation de la boîte à outils OpenVINO peut optimiser de manière significative les vitesses d'inférence sur les processeurs Intel. les vitesses d'inférence sur les processeurs Intel .

L'exemple suivant montre comment forcer le Ultralytics YOLO11 à exécuter l'inférence sur l'CPU. Cette méthode particulièrement utile pour évaluer les performances sur du sur du matériel standard.

from ultralytics import YOLO

# Load the official YOLO11 nano model
model = YOLO("yolo11n.pt")

# Run inference on an image, explicitly setting the device to CPU
# This bypasses any available GPU to simulate an edge deployment environment
results = model.predict("https://ultralytics.com/images/bus.jpg", device="cpu")

# Display the detection results
results[0].show()

L'utilisation de la device="cpu" garantit que le calcul reste sur le processeur central, ce qui permet aux développeurs de vérifier la compatibilité du modèle avec les informatique sans serveur ou des appareils de pointe à faible puissance. de faible puissance.

Rejoindre la communauté Ultralytics

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

Rejoindre maintenant