Processeur et GPU pour le machine learning

Un mur cloisonné d’écrans

Auteurs

Josh Schneider

Staff Writer

IBM Think

Ian Smalley

Staff Editor

IBM Think

Processeur et GPU pour le machine learning

La puissance des unités de traitement graphique (GPU) est généralement préférée à la polyvalence des unités centrales de traitement (CPU) dans le cas des applications d’IA exigeantes telles que le machine learning (ML), l’apprentissage profond et les réseaux de neurones.

Dotés de centaines, voire de milliers de cœurs de traitement, les processeurs graphiques (GPU) excellent dans le traitement parallèle et les calculs en virgule flottante nécessaires à l’entraînement des modèles de machine learning. Cependant, avec certains types de modèles d’IA, les unités centrales de traitement peuvent s’avérer performantes, surtout pour les workloads plus légères. 

Conçus à l’origine pour assurer le rendu graphique, le GPU est souvent appelé « carte graphique ». Mais ces processeurs puissants sont capables de beaucoup plus. En raison de leur puissance de calcul à grande vitesse et de leurs capacités avancées de traitement parallèle, les GPU sont très prisés dans tous les secteurs (robotique, informatique haute performance (HPC), centres de données ou encore, et surtout, l’intelligence artificielle). 

Bien que moins puissante que le GPU, l’unité centrale de traitement (CPU) est le composant essentiel de tout système informatique. Généralement considérée comme étant « le cerveau de l’ordinateur », elle gère toutes les tâches de gestion informatique de haut niveau, y compris la gestion des GPU (si présents).

Si la plupart des tâches de machine learning requièrent des processeurs plus puissants pour analyser de grands jeux de données, bon nombre de processeurs modernes répondent aux besoins des applications de machine learning à petite échelle. Alors que les GPU sont privilégiés pour les projets de machine learning, une demande accrue peut entraîner une augmentation des coûts. Les GPU demandent également plus d’énergie que les unités centrales de traitement, ce qui augmente tant le coût énergétique que l’impact sur l’environnement.

Si les CPU peuvent s’avérer plus rentables pour les projets de machine learning, le traitement parallèle proposé par les GPU profiterait à la plupart des projets d’IA moyennement complexes. 

Design 3D de balles roulant sur une piste

Les dernières actualités et informations en matière d’IA 


La newsletter hebdomadaire Think vous apporte toute l’actualité sur l’IA, le cloud et bien d’autres sujets. 

Comprendre le machine learning

En informatique, le machine learning (ML) est l’étude, la pratique et l’application de certains types d’algorithmes qui permettent aux ordinateurs d’imiter la façon dont les humains apprennent à réaliser des tâches de manière autonome. Les ordinateurs capables de machine learning améliorent leur précision au fil du temps grâce à la répétition, au fur et à mesure que les quantités de données auxquelles ils sont exposés augmentent.

Les algorithmes de machine learning comportent trois composants de base : un processus de décision, une fonction d’erreur et un processus d’optimisation du modèle.

  1. Processus décisionnel : les systèmes de machine learning sont conçus pour prendre des décisions informées, afin de fournir les résultats souhaités avec une grande précision, et ne nécessitent que peu ou aucune intervention humaine. Le processus décisionnel répond à un certain degré de données d’entrée et formule une réponse sous forme de prédiction ou de classification.
  2. Fonction d’erreur : dès lors qu’un algorithme de machine learning a pris une décision, il évalue sa propre sortie pour en vérifier la précision. La fonction d’erreur permet de comparer les sorties aux erreurs connues ou identifiées précédemment, afin de déterminer si le seuil de précision est satisfaisant.
  3. Processus d’optimisation des modèles : la principale caractéristique des algorithmes de machine learning est leur capacité à « apprendre » de leurs erreurs et à ajuster automatiquement leur prise de décision pour fournir des résultats plus précis. L’optimisation du modèle s’appuie sur des points de données présents dans ses supports d’entraînement pour faire des prédictions et les évaluer en permanence. En répétant ce processus, le modèle peut s’auto-calibrer pour améliorer sa précision au fil du temps.

Types de machine learning

Il existe trois principaux types de machine learning, qui se distinguent par le type d'algorithme et la quantité de données utilisés. Les termes d’apprentissage profond et de machine learning sont souvent utilisés de manière interchangeable. Cependant, l’apprentissage profond est un sous-domaine des réseaux de neurones, qui constituent un sous-domaine du machine learning.

Si les trois termes peuvent être considérés comme des sous-domaines de l’intelligence artificielle (IA) et utilisés pour désigner le machine learning, il convient de les distinguer comme suit :

  • Machine learning : le machine learning classique utilise des algorithmes pour analyser les données historiques afin d’identifier les schémas, puis fournir des prévisions avec peu ou aucune intervention humaine. Ce type de machine learning nécessite des jeux de données volumineux et continuellement mis à jour pour améliorer sa capacité à fournir les résultats souhaités ou des prédictions précises. 
  • Réseaux de neurones : les réseaux de neurones sont entraînés sur d’immenses quantités de données et utilisent des nœuds pour imiter le cerveau humain lors de la prise de décision. Lors de l’entraînement du réseau de neurones, l’algorithme compare les données d’entrée à un jeu de données standardisé, afin de vérifier la validité des prévisions probables par rapport aux erreurs potentielles. 
  • Apprentissage profond : évolution des réseaux de neurones, le terme d’apprentissage profond désigne un type d’IA algorithmique qui s’appuie sur un modèle de réseau de neurones comportant un minimum de trois couches de nœuds de prise de décision.

Cas d’utilisation du machine learning

Les avancées récentes en matière d’IA ont entraîné une prolifération des applications de machine learning en entreprise et dans la vie quotidienne. Voici quelques cas d’utilisation courants du machine learning :

  • Reconnaissance vocale : le machine learning est utilisé dans la reconnaissance vocale par ordinateur pour identifier les schémas de langage naturel et interpréter la signification implicite des commandes vocales. La reconnaissance vocale est la technologie derrière des outils tels que les enceintes connectées et les assistants numériques comme Siri.
  • Service client : les services tels que les chatbot de service client utilisent le machine learning pour aider les consommateurs tout au long du parcours client. Parmi les exemples, citons les agents conversationnels sur les sites d'e-commerce, les bots de messagerie et les modérateurs automatisés sur les plateformes de messagerie telles que Slack et Discord.
  • Moteurs de recommandation : face à un choix plus vaste que jamais, les moteurs de recommandation basés sur l'IA aident à sélectionner les informations afin de proposer des suggestions de qualité adaptées aux goûts des utilisateurs. Les moteurs de recherche tels que Google ou Bing s’appuient sur le machine learning pour fournir de meilleurs résultats de recherche. Les plateformes multimédia telles que Spotify ou Netflix utilisent le ML pour faire apparaître de nouveaux programmes ou des chansons en fonction des préférences passées des consommateurs.
  • Détection des fraudes : les banques et autres institutions financières peuvent utiliser le machine learning pour repérer les transactions suspectes et détecter les fraudes. L’apprentissage supervisé permet d’entraîner les modèles à l’aide d’informations sur les transactions frauduleuses connues. Les solutions de détection des anomalies permettent d’identifier les transactions inhabituelles, qui demandent un examen plus approfondi.
AI Academy

Se préparer à l’IA avec le cloud hybride

Dirigé par des leaders d’opinion IBM, le programme a pour but d’aider les chefs d’entreprise à acquérir les connaissances nécessaires qui leur permettront d’orienter leurs investissements IA vers les opportunités les plus prometteuses.

Principales différences entre les processeurs et les GPU

La principale différence entre les unités centrales de traitement et les GPU réside dans le type de traitement assuré : séquentiel et respectivement parallèle. Les unités centrales de traitement sont conçues pour traiter les instructions et résoudre rapidement les problèmes de manière séquentielle. Les GPU sont conçus pour les tâches plus importantes, auxquelles profite le calcul parallèle. Parce que les GPU sont mieux à même de décomposer les problèmes importants en problèmes plus petits pouvant être résolus simultanément, ils offrent une rapidité et une efficacité améliorées dans les applications de machine learning intensif. 

Principales caractéristiques des processeurs

Le processeur est conçu pour des tâches informatiques générales telles que les calculs de base, la lecture multimédia et la navigation Web. En tant que « cerveau » de l’ordinateur, il gère également les coulisses, à savoir l’ensemble des processus et fonctions nécessaires au bon fonctionnement de son matériel et de ses systèmes d’exploitation. 

Fonctionnalités :

  • Les composants standard comprennent un ou plusieurs cœurs logiques où sont traitées les données, des unités de mémoire, une horloge et une unité de contrôle. Les processeurs traitent les tâches de manière séquentielle. La possibilité d’accéder à davantage de cœurs les rend multitâches, répartissant les problèmes sur plusieurs processeurs.
  • Les processeurs traitent les données de manière séquentielle, éliminant les problèmes successivement. Ils offrent une bonne vitesse, mais une capacité limitée. Les jeux de données volumineux peuvent provoquer des goulots d’étranglement importants.    
  • Les processeurs comportent relativement peu de cœurs, qui tournent à grande vitesse. 

Avantages :

  • Conçus pour les cas d’utilisation généraux, les processeurs gèrent la plupart des types de calculs requis par les applications courantes. 
  • Le processeur est un élément fondamental des équipements informatiques. Il est donc largement disponible, peu coûteux et facile à programmer. 

Inconvénients :

  • Même avec plus de cœurs, les processeurs séquentiels seront toujours plus lents que les GPU face à certains types de problèmes, où le calcul parallèle est le seul moyen d’optimiser la vitesse de traitement. 

Principales caractéristiques des GPU

Les GPU étaient initialement conçus pour assurer le rendu graphique, mais depuis que Nvidia a lancé sa plateforme de programmation CUDA en 2006, les développeurs ont découvert d’innombrables applications pour ces puissants processeurs. Les GPU sont utilisés en complément des unités centrales de traitement, ou processeurs, pour augmenter la puissance des systèmes chargés d’assurer un rendu vidéo de qualité ou de traiter les jeux de données complexes et volumineux.

Fonctionnalités :

  • Les GPU sont conçus avec beaucoup plus de cœurs fonctionnant à des vitesses inférieures et optimisés pour assurer un traitement parallèle. Les GPU décomposent les problèmes complexes en milliers de tâches qui sont traitées simultanément, et non en série. 

Avantages :

  • Les capacités de traitement parallèle des GPU permettent aux instructions par lots d'exécuter des calculs spécialisés avec une efficacité exceptionnelle. Si les cœurs GPU sont plus lents que ceux des processeurs, le traitement parallèle cumulatif permet de résoudre des problèmes importants et complexes, plus rapidement qu’à l’aide des solutions séquentielles. 
  • Si les GPU sont plus complexes à programmer que les processeurs, ils sont bien optimisés pour les cadres et les langages de machine learning les plus utilisés, tels que Python et Tensorflow. 

Inconvénients :

  • Plus onéreux, les GPU ne sont pas aussi facilement disponibles que les processeurs.
  • La programmation des GPU requiert des connaissances spécialisées. 

Trois grandes différences entre processeurs et GPU

Les différences entre un processeur et un GPU concernent trois aspects principaux : l’architecture, la vitesse de traitement et l’accessibilité.

  1. Architecture : la conception des processeurs prévoit moins de cœurs pour traiter les données de manière séquentielle. Les GPU comportent généralement des centaines, voire des milliers de cœurs supplémentaires, conçus pour assurer un traitement parallèle.
  2. Vitesse de traitement : les processeurs sont conçus pour gérer rapidement les tâches générales et de haut niveau, mais ils peinent à traiter les jeux de données extrêmement volumineux, comme ceux utilisés dans le machine learning. Les GPU sont spécialement conçus pour traiter ces types de jeux de données volumineux. Les GPU sont nettement plus performants que les processeurs dans la plupart des applications de machine learning. 
  3. Accessibilité : les processeurs sont plus courants que les GPU, et leur coût d’acquisition et d’exploitation est moins élevé. Les GPU nécessitent également des compétences plus poussées en programmation. Cependant, les GPU sont couramment utilisés en machine learning et IA, accompagnés de bibliothèques complètes et de communautés pour assurer le support. 

Processeur et GPU pour les applications de machine learning

L’unité centrale de traitement et le GPU sont tous deux des unités de traitement. Ils sont tous deux capables de gérer des tâches similaires, avec des degrés de performance qui varient selon les exigences de chaque application. Chacun est une unité constituée de différents composants conçus et disposés pour différents types d’opérations.

Bien avant le GPU, l’unité centrale de traitement est l’élément fondamental le plus important de tout système informatique, des ordinateurs portables aux supercalculateurs en passant par les smartphones et les satellites. Agissant comme un gestionnaire invisible, l’unité centrale de traitement lit et interprète les entrées et les requêtes, donne des instructions pour effectuer des calculs et supervise toutes les opérations des systèmes informatiques. 

Bien qu’ils soient plus puissants, les GPU ne sont pas utilisés pour remplacer les processeurs. En tant que co-processeurs, les GPU permettent d’augmenter les capacités des systèmes informatiques. Au sein des systèmes dotés de GPU, le rôle du processeur demeure important. En effet, il gère les tâches des GPU, ainsi que toutes les autres tâches de traitement qui, bien que moins gourmandes en ressources, sont essentielles au bon fonctionnement de l’ordinateur. 

Pourquoi les GPU sont plus adaptés au machine learning

Dans le traitement de données à grande échelle, l’utilisation de processeurs sous-alimentés crée souvent des goulots d’étranglement frustrants. À la croisée de l'informatique et de la science des données, les algorithmes de machine learning s'appuient souvent sur les GPU pour accélérer le traitement des jeux de données volumineux utilisés pour l'entraînement des modèles d'apprentissage profond, tout en réduisant la latence. En effet, même les CPU multicœurs traitent les données différemment des GPU. 

Structurellement, les cœurs GPU se comptent généralement par milliers, tandis que la plupart des processeurs grand public n’en contiennent qu’un, deux, quatre ou six. Les unités centrales de niveau serveur peuvent contenir des centaines, voire des milliers de cœurs, mais le nombre de cœurs à lui seul n’est pas un critère de performance. 

Si un processeur multicœurs est plus performant en multitâche qu’un processeur monocœur, le traitement des données demeure séquentiel. Les GPU gèrent les données différemment, grâce à un processus connu sous le nom de calcul parallèle. Au lieu de traiter les tâches de manière séquentielle, les GPU décomposent les problèmes en composants et utilisent leur multitude de cœurs pour travailler dessus simultanément. 

Pour les tâches exigeantes telles que la vision par ordinateur pour les systèmes d’IA ou encore les programmes d’IA générative, le calcul parallèle est largement plus performant que le traitement séquentiel.

Grâce à ses capacités de traitement parallèle, le GPU demeure un composant essentiel aux projets d’IA. En machine learning notamment, les GPU sont utilisés pour accélérer l’entraînement des applications de machine learning et effectuer les calculs tensoriels et la multiplication matricielle nécessaires aux systèmes ML pour faire des inférences et produire des résultats utiles.       

Solutions connexes
IBM Cloud Infrastructure Center 

IBM Cloud Infrastructure Center est une plateforme logicielle compatible avec OpenStack pour gérer l’infrastructure de clouds privés sur IBM zSystems et IBM LinuxONE.

Découvrir Cloud Infrastructure Center
Solutions d’infrastructure informatique

Découvrez des serveurs, des solutions de stockage et des logiciels conçus pour votre stratégie d’entreprise en matière de cloud hybride et d’IA.

Découvrir les solutions d’infrastructure informatique
Solutions d’infrastructure cloud

Trouvez la solution d’infrastructure cloud adaptée aux besoins de votre entreprise et ajustez les ressources en fonction de la demande.

Solutions cloud
Passez à l’étape suivante

Transformez l’infrastructure de votre entreprise grâce aux solutions de cloud hybride IBM prêtes pour l’IA. Découvrez des serveurs, des solutions de stockage et des logiciels conçus pour sécuriser, faire évoluer et moderniser votre entreprise, ou accédez à des informations d’experts pour améliorer votre stratégie d’IA générative.

Découvrir les solutions d’infrastructure informatique Télécharger l’eBook