L'unité centrale de traitementCPU, souvent appelée processeur, est le principal composant d'un ordinateur chargé d'exécuter les instructions. Elle effectue la plupart des opérations arithmétiques, logiques, de contrôle et d'entrée/sortie (E/S) de base spécifiées par les instructions d'un programme informatique. Dans le contexte de l'intelligence artificielle (IA) et de l'apprentissage automatique (ML), bien que le matériel spécialisé comme les GPU et les TPU soit souvent préféré pour les tâches à forte intensité de calcul, l'CPU reste un composant fondamental.
Rôle dans l'IA et l'apprentissage automatique
Les unités centrales sont des processeurs à usage général conçus pour traiter une grande variété de tâches de manière séquentielle et rapide. Les principales caractéristiques sont la vitesse d'horloge, qui détermine le nombre d'instructions qu'il peut exécuter par seconde, et le nombre de cœurs, qui permet l'exécution parallèle de plusieurs tâches. Bien que les processeurs modernes soient dotés de plusieurs cœurs, ils ne sont généralement pas aussi massivement parallèles que les GPU.
Dans les flux de travail d'IA/ML, les unités centrales sont essentielles pour :
- Opérations du système : Exécuter le système d'exploitation, gérer les ressources du système et orchestrer le flux de travail global.
- Prétraitement des données : Les tâches telles que le chargement des ensembles de données, le nettoyage, la transformation et l'augmentation des données impliquent souvent une logique complexe et des opérations sur les fichiers qui conviennent bien aux unités centrales. De nombreuses étapes de la préparation des données pour des modèles comme Ultralytics YOLO reposent en grande partie sur le traitement par CPU . En savoir plus sur la préparation des données pour les projets de vision par ordinateur.
- Tâches séquentielles : Exécuter des parties d'un pipeline ML qui ne sont pas facilement parallélisables, comme certaines logiques de contrôle ou des étapes algorithmiques spécifiques.
- Inférence sur certains appareils : Exécuter l'inférence pour des modèles plus petits ou sur des appareils sans accélérateurs d'IA dédiés(Edge AI). De nombreuses applications déploient des modèles dans des formats tels que ONNX ou utilisent des moteurs d'exécution comme OpenVINO d'Intel pour une inférence efficace sur CPU . Les modèles Ultralytics prennent en charge l'exportation vers différents formats adaptés au déploiement sur CPU , consulte notre documentation sur l'exportation de modèles pour plus de détails.
- Gestion des modèles : Les tâches liées au déploiement et au service des modèles s'exécutent souvent principalement sur les unités centrales.
CPU vs. GPU et TPU
La principale différence réside dans l'architecture et les objectifs d'optimisation.
- Processeurs : Optimisées pour l'exécution à faible latence de diverses tâches, souvent séquentielles. Elles possèdent quelques cœurs puissants. Considère-les comme des gestionnaires polyvalents qui traitent rapidement de nombreux types de tâches différentes les unes après les autres ou quelques-unes simultanément. Les principaux fabricants d'CPU , comme Intel et AMD, améliorent continuellement les performances et l'efficacité des cœurs.
- GPU : Optimisés pour les calculs massivement parallèles à haut débit, en particulier les opérations matricielles et vectorielles courantes dans le Deep Learning. Ils possèdent des milliers de cœurs plus simples. Idéal pour l'entraînement de grands modèles et l'inférence haute performance.
- TPUs : Le matériel personnalisé deGoogle spécialement conçu pour accélérer les charges de travail de ML, en particulier celles construites avec. TensorFlow. Ils offrent de hautes performances et une grande efficacité pour des types spécifiques de calculs de réseaux neuronaux.
Bien que l'entraînement de grands modèles d'apprentissage profond comme YOLOv10 soit nettement plus rapide sur les GPU ou les TPU, les CPU sont indispensables pour le système global et les tâches spécifiques au sein du cycle de vie de la ML. Comprendre le rôle du CPU permet d'optimiser des systèmes d'IA entiers, de la préparation des données au déploiement sur différentes plateformes, y compris les appareils périphériques à ressources limitées comme le Raspberry Pi.
Exemples réels d'IA/ML utilisant l'CPU
- Prétraitement du traitement du langage naturel (NLP) : La tokenisation du texte, la stemmisation/lemmatisation et la création de listes de vocabulaire pour les modèles de traitement du langage naturel sont souvent des tâches CPU en raison de leur nature séquentielle et de leur dépendance à l'égard d'opérations et de recherches complexes sur les chaînes de caractères. Les outils tels que les tokenizers deHugging Face tirent souvent parti de l'efficacité de l'CPU pour ces étapes.
- Détection des anomalies dans les journaux du système : L'analyse de séquences d'événements ou de journaux système pour détecter des modèles inhabituels implique souvent des systèmes basés sur des règles ou des modèles ML plus simples (comme SVM ou Random Forest) qui peuvent s'exécuter efficacement sur les CPU pour une surveillance en temps réel sans nécessiter de matériel spécialisé. Ceci est crucial pour l'observabilité du système.