NVIDIA dévoile RAPIDS, sa suite logicielle pour l'apprentissage automatique
(pas forcément profond) sur carte graphique

Le , par dourouc05, Responsable Qt & Livres
L’apprentissage automatique a beaucoup profité des cartes graphiques pour diminuer les temps de traitement. En réalité, non, pas tellement l’apprentissage automatique : surtout une technique en particulier, l’apprentissage profond, à l’aide de réseaux neuronaux de très grande taille. Cependant, il existe bon nombre d’algorithmes d’apprentissage qui pourraient s’implémenter sur une carte graphique. De plus, les traitements sur les données peuvent aussi profiter de cette manne de puissance de calcul : calculer une moyenne, par exemple, peut se faire extrêmement efficacement sur une carte graphique (au point que le temps de transfert des données est largement plus grand que celui de calcul).


C’est en remarquant cet état de fait et l’absence de solution libre et ouverte pour l’apprentissage automatique au sens large que NVIDIA a décidé de travailler avec la communauté (ce qui n’est pas si fréquent !) pour apporter le calcul sur cartes graphiques à des bibliothèques très présentes dans l’environnement des sciences des données : Apache Arrow (une base de données orientée colonne stockée en mémoire), Pandas (une bibliothèque Python pour la manipulation de jeux de données à l’aide d’objets data frame, des matrices dont les colonnes portent des noms) et scikit-learn (la bibliothèque Python de référence pour l’apprentissage automatique).

Cette solution s’appelle RAPIDS et est déjà disponible (les sources aussi). Elle s’appuie sur Apache Arrow et Pandas pour l’interface : RAPIDS propose notamment une implémentation des data frames sur processeur graphique, nommée cuDF (une bibliothèque toujours en développement : l’implémentation de bas niveau en C et sa couche de liaison Python sont en cours de fusion). La deuxième partie concerne l’apprentissage proprement dit. Là, NVIDIA propose cuML (qui contient le module Python cuSKL, pour faire référence à scikit-learn) pour travailler sur les data frames hébergés sur un processeur graphique. La distribution de RAPIDS inclut aussi XGBoost, un algorithme de dopage très populaire à base d’arbres de décision.


RAPIDS peut d’ores et déjà s’installer, notamment via Docker. Bien évidemment, on peut voir derrière ce mouvement la volonté de NVIDIA de s’assurer que son API propriétaire CUDA est bien présente dans tous les domaines de croissance, au lieu d’OpenCL (qui permettrait d’utiliser le code tel quel sur des processeurs graphiques AMD, par exemple).

Sources : RAPIDS Accelerates Data Science End-to-End, Getting Answers Faster: NVIDIA and Open-Source Ecosystem Come Together to Accelerate Data Science.


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse Signaler un problème

Avatar de fab256 fab256 - Membre averti https://www.developpez.com
le 17/10/2018 à 10:41
Utiliser les cartes graphiques pour autres choses que du gaming n'a fait que augmenter leurs prix.

 
Contacter le responsable de la rubrique Débuter - Algorithmique