Principales bibliothèques de machine learning

Auteur

David Zax

Staff Writer

IBM Think

Que sont les bibliothèques de machine learning ?

Les bibliothèques de machine learning sont des morceaux de code préfabriqués (« bibliothèques ») qui servent aux projets de machine learning. Étant donné que les efforts de machine learning (ML) prennent en charge de manière fiable certains types de tâches courantes dans l’intelligence artificielle, cela permet de gagner du temps en travaillant avec des algorithmes et avec d’autres outils préconfigurés et approuvés. 

La plupart des bibliothèques ML sont composées de modules, ce qui permet aux développeurs de les associer lors de la création de pipelines ML qui gèrent les indicateurs de pré-traitement, d’entraînement, de validation et d’autres tâches. Les bibliothèques sont souvent open-source et gratuites, et le choix est vaste : une page Github regroupe près de 1 000 bibliothèques ML de ce type dans le seul langage de programmation Python. (Python est devenu le langage privilégié pour le machine learning, bien que les projets de ML apparaissent également en JavaScript, R et d’autres langages). 

Il existe des bibliothèques pour toutes sortes d’applications. Les transformers de Hugging Face offrent un accès facile aux modèles de transformeurs pré-entraînés. Les bibliothèques telles que Stable-Baselines3 prennent en charge l’apprentissage par renforcement. Les bibliothèques de machine learning peuvent être classées en deux catégories principales. Les bibliothèques générales qui servent de cadres des exigences ou de plateformes pour les projets de machine learning. Des bibliothèques spécialisées peuvent être utilisées pour une étape ou un composant spécifique d’un projet de ML.

Les dernières tendances en matière d’IA, vues par des experts

Obtenez des informations sur les actualités les plus importantes et les plus intrigantes en matière d’intelligence artificielle. Abonnez-vous à notre newsletter hebdomadaire Think. Lire la Déclaration de confidentialité d’IBM.

Merci ! Vous êtes abonné(e).

Vous recevrez votre abonnement en anglais. Vous trouverez un lien de désabonnement dans chaque newsletter. Vous pouvez gérer vos abonnements ou vous désabonner ici. Consultez la Déclaration de confidentialité d’IBM pour plus d’informations.

Bibliothèques générales de machine learning

Les bibliothèques générales de machine learning, parfois appelées « cadres des exigences à usage général » ou « plateformes de base », se comptent par dizaines. Mais quatre sont particulièrement populaires et figurent régulièrement en tête des listes de classement : TensorFlow (et Keras, qui lui est étroitement lié), PyTorch et scikit-learn. Chacun a des points forts, selon les besoins du projet ou de l’équipe. 

  • NumPy

  • Tensorflow

  • Keras

  • PyTorch

  • Scikit-Learn

NumPy

NumPy n’est pas une bibliothèque ML en soi, mais plutôt la bibliothèque sur laquelle toutes les bibliothèques ML sont construites. Le machine learning consiste essentiellement à trouver des modèles dans de grandes quantités de données. NumPy, une bibliothèque qui crée une structure connue sous le nom de tableau n-dimensionnel, permet d’organiser ces points de données et de leur appliquer des fonctions mathématiques (une branche des mathématiques connue sous le nom d’algèbre linéaire). Ces tableaux n-dimensionnels ou multidimensionnels, encore une fois, de grands conteneurs manipulables de nombres, sont aussi parfois appelés « tenseurs », un terme fréquemment utilisé dans les discussions sur les bibliothèques de ML. (Un tableau à 2 dimensions est appelé matrice).

Alors que NumPy gère les tenseurs (la structure de données de base du machine learning), NumPy est en pratique trop limité pour répondre aux exigences gourmandes en processeur du ML moderne. Entre autres contraintes, NumPy (dont les racines remontent aux années 1990) est trop ancien pour « parler » aux processeurs des unités de traitement graphique (GPU) avancées dont les efforts de ML commerciaux ont généralement besoin (l’« accélération GPU »), puisqu’elles fonctionnent uniquement avec des unités centrales de traitement (CPU) à faible consommation.

Tensorflow

TensorFlow est une bibliothèque générale de ML développée initialement par l’équipe Google Brain en 2015 ; après avoir rendu la bibliothèque open source par Google, elle a gagné en popularité. TensorFlow peut fonctionner non seulement avec des processeurs CPU, mais aussi avec des GPU haute performance et un processeur spécialisé conçu par Google appelé unité de traitement tensor (TPU).

TensorFlow est particulièrement bien adapté à l’apprentissage profond, une variante du machine learning qui repose sur des réseaux neuronaux (qui imitent la structure du cerveau). L’apprentissage « profond » est ainsi appelé car il implique plusieurs couches entre une entrée et une sortie. L’apprentissage profond est devenu utile dans les applications commerciales telles que le traitement automatique du langage naturel (NLP), la vision par ordinateur et la reconnaissance d’images. Créé par Google et alimentant bon nombre de ses applications et produits commerciaux, TensorFlow excelle dans le déploiement à grande échelle. 

Keras

Keras est étroitement associé à TensorFlow et a également été créé par un ingénieur Google. Il s’agit d’une bibliothèque généralement utilisée par les développeurs à la recherche d’une API plus conviviale pour leurs projets de ML basés sur TensorFlow. Une version de Keras publiée en 2025 a ajouté la prise en charge de frameworks au-delà de TensorFlow, notamment PyTorch. Keras est également réputé pour sa documentation complète et ses tutoriels utiles.

PyTorch

PyTorch a été développé à l’origine par des chercheurs de Meta fin 2016. Il s’agit d’un portage en Python de l’ancienne bibliothèque Torch, dont le cœur est un tenseur. En 2022, au moment où PyTorch s’est déplacé vers la Fondation Linux, plus de 2 400 contributeurs avaient signalé plus de 150 000 projets utilisant PyTorch. (Le machine learning open source est le paradigme dominant, puisque le domaine prospère grâce à une collaboration étendue.) Comme TensorFlow, PyTorch permet aux développeurs d’effectuer des opérations similaires à NumPy, mais en utilisant des GPU au lieu de CPU, ce qui en fait un autre framework d’apprentissage profond. 

« PyTorch ou TensorFlow ? » est souvent une première question pour ceux qui se lancent dans un projet de machine learning (anciennement, une bibliothèque appelée Theano était également incluse au départ ; elle a été abandonnée en 2017). Bien qu’il n’y ait pas de mauvaise réponse, PyTorch est en train de devenir l’un des outils préférés de nombreux développeurs pour sa conception flexible et sa tolérance (« pythonique ») et sa facilité d’utilisation. Depuis longtemps privilégiée par les universitaires et les chercheurs, le secteur l’utilise de plus en plus pour des cas d’utilisation ambitieux et évolutifs également. L’Autopilot de Tesla, par exemple, a été créé à l’aide de PyTorch, et la plateforme de cloud computing de Microsoft Azure le prend en charge. PyTorch est devenu si populaire qu’un écosystème d’outils de support (comme Torchvision et TorchText) s’est développé autour de lui. Tensorflow et Pytorch utilisent tous deux un graphique de calcul, une structure de données qui représente le flux des opérations et des variables lors de l’entraînement du modèle. 

IBM est membre de la PyTorch Foundation et utilise PyTorch avec son portefeuille  watsonx.

Scikit-learn

Scikit-learn (stylisé en minuscules « scikit-learn » et également appelé «  sklearn ») est une autre bibliothèque ML fondamentale, conçue pour interagir avec NumPy et une bibliothèque connexe très appréciée des data scientists, appelée SciPy, qui prend en charge l’informatique scientifique. Scikit-learn comprend un certain nombre d’algorithmes ML dont l’essence même est la reconnaissance de modèles. Par exemple, il inclut des algorithmes de classification (comme ceux qui jugent si un e-mail est du spam ou non), des algorithmes de régression (qui supportent la prédiction, le forecasting et les systèmes de recommandation) et des algorithmes de cluster (qui regroupent les éléments similaires ensemble). Bien que scikit-learn soit idéal pour les débutants pour apprendre les bases du machine learning, notamment des concepts tels que le prétraitement des données, les pipelines de données, les arbres de décision et l’optimisation, il est limité en tant que moteur pour la fabrication de produits commerciaux. Comme NumPy, scikit-learn ne dispose pas de l’accélération GPU, ce qui signifie qu’il ne convient pas aux modèles d’apprentissage profond et n’est pas considéré comme une « bibliothèque d’apprentissage profond ». Néanmoins, il reste utile comme laboratoire pour tester les idées et le prototypage.

Mixture of Experts | 12 décembre, épisode 85

Décryptage de l’IA : Tour d’horizon hebdomadaire

Rejoignez notre panel d’ingénieurs, de chercheurs, de chefs de produits et autres spécialistes de premier plan pour connaître l’essentiel de l’actualité et des dernières tendances dans le domaine de l’IA.

Bibliothèques spécialisées dans le machine learning

La base de tout modèle de ML, c’est-à-dire la partie d’apprentissage, s’exécute sur l’une des bibliothèques fondamentales répertoriées ci-dessus. Mais le machine learning est une opération complexe, en plusieurs étapes, c’est pourquoi les bibliothèques ont évolué pour aider avec les workflows relatifs à des tâches de machine learning spécifiques. De plus, les différents secteurs (comme les domaines financiers ou médicaux) et les différents types de données (comme les images ou les données audio) sont suffisamment distincts pour tirer avantage de bibliothèques ML dédiées. Bien que l’examen des près de milliers de bibliothèques open source dépasse le cadre de cet article, il est utile de parler de quelques-unes d’entre elles, particulièrement populaires.

Pour l’analyse des données : pandas

Pandas est la première bibliothèque Python pour la science des données, une fonction essentielle dans tout projet de ML ; comme tant de bibliothèques ML, elle repose sur NumPy. Pandas va plus loin que les tableaux de NumPy en ajoutant une structure appelée « cadre de données », similaire à une feuille de calcul Excel. Cette structure supplémentaire permet de manipuler des données sur de grands jeux de données du monde réel.

Pour la visualisation des données : matplotlib et seaborn

Pour révéler des modèles et des informations à partir de données visuelles, deux bibliothèques de visualisation de données populaires sont matplotlib et seaborn. Le premier produit des tracés et des graphiques, le second se positionne en plus pour le rendre un peu plus compatible avec le ML (seaborn, par exemple, peut travailler directement avec les cadres de données de pandas).

Pour le suivi des expériences : MLFlow

Le lancement d’une initiative de machine learning viable nécessite beaucoup d’expérimentations, d’essais et d’erreurs. À cette fin, la bibliothèque MLF aide les équipes à journaliser les modèles, les paramètres et les résultats du ML, ainsi qu’à gérer les efforts de débogage, ce qui permet de placer les modèles entraînés dans un élément prêt à l’emploi.

Solutions connexes
IBM watsonx.ai

Entraînez, validez, réglez et déployez une IA générative, des modèles de fondation et des capacités de machine learning avec IBM watsonx.ai, un studio d’entreprise nouvelle génération pour les générateurs d’IA. Créez des applications d’IA en peu de temps et avec moins de données.

Découvrir watsonx.ai
Solutions d’intelligence artificielle

Mettez l’IA au service de votre entreprise en vous appuyant sur l’expertise de pointe d’IBM dans le domaine de l’IA et sur son portefeuille de solutions.

Découvrir les solutions d’IA
Conseils et services en matière d’IA

Réinventez les workflows et les opérations critiques en ajoutant l’IA pour optimiser les expériences, la prise de décision et la valeur métier en temps réel.

Découvrir les services d’IA
Passez à l’étape suivante

Bénéficiez d’un accès centralisé aux fonctionnalités couvrant le cycle de développement de l’IA. Produisez des solutions IA puissantes offrant des interfaces conviviales, des workflows et un accès à des API et SDK conformes aux normes du secteur.

Découvrir watsonx.ai Réserver une démo en direct