Victoria - Fotolia
Le logiciel, l’autre arme de Nvidia pour l’Intelligence Artificielle
Avec le GPU A100, Nvidia a un nouveau fer de lance en matière de processeurs. Mais l’entreprise américaine propose aussi une panoplie de frameworks optimisés pour le Machine Learning.
« Le serveur n’est plus l’unité de calcul. Le centre de données, c’est la nouvelle unité informatique. », annonce Jensen Huang du fond de sa cuisine (confinement oblige) lors de l’événement en ligne GTC 2020. Le CEO illustre ainsi la stratégie de Nvidia, qui se place de plus en plus comme un acteur de l’intelligence artificielle et du calcul scientifique.
Ce n’est certes pas complètement nouveau, puisque l’ordinateur le plus puissant actuellement, selon le Top500, est le Summit du Laboratoire national d’Oak Ridge (Tennessee), à base d’IBM Power9, de Nvidia Volta et d’interface Infiniband Mellanox (rachetée par Nvidia).
Sa nouvelle architecture processeur Ampere devient une nouvelle référence en termes de HPC. Le processeur A100 anime le serveur de la marque, le DGX A100, et pourra également figurer au catalogue des fabricants de serveurs x86, grâce au module EGX A100 (comportant un GPU A100 et une interface réseau Mellanox ConnectX-6 DX).
Apache Spark 3.0 sur GPU
Mais le succès de Nvidia ne peut se construire sans le soutien des développeurs (environ 1,8 million à date).
L’architecture CUDA en est aujourd’hui à sa 11e version – une architecture dont les développeurs apprécient la rétrocompatibilité des versions successives.
Nvidia propose de plus une série de bibliothèques pour des domaines spécifiques (Clara pour la santé, Isaac pour la robotique, Drive pour le véhicule autonome, etc.). BMW a ainsi déployé la pile robotique Isaac pour automatiser une usine.
En matière de Machine Learning (ML), « les data scientists passent le plus clair de leur temps dans la préparation des données. Auparavant, c’était des gigaoctets, maintenant ce sont des centaines de téraoctets. Apache Spark est l’outil idéal, mais il a atteint ses limites sur CPU, à cause de la taille réduite de la mémoire cache du processeur central », introduit Jensen Huang.
Nvidia propose donc de prendre en charge la dernière version de Spark (la version 3.0, encore en preview) sur des GPU. Ce qui est rendu possible grâce à la technologie GPUDirect storage (pour un transfert direct des données entre des disques Flash et la mémoire du GPU), au scheduler Spark (qui prend en charge les GPU), à la bibliothèque Rapids et enfin à l’optimiseur de requêtes SQL, Spark Catalyst.
Jensen HuangCEO de Nvidia
Les performances semblent au rendez-vous : sur un benchmark dédié au big data (TPCx-BB, sur 10 To de données), une baie de serveurs DGX A100 offre des performances 10 fois plus élevées pour juste le double du prix (soit 2 millions de dollars) qu’une baie de serveurs Dell, qui détient le record sur ce test.
Autrement dit, à prix équivalent, une baie de GPU est 5 fois plus performante (et consomme 1/3 de l’énergie).
Les premières applications à bénéficier de Spark 3.0 sur GPU sont les plateformes d’apprentissage statistique Sagemaker d’Amazon, Azure Machine Learning de Microsoft et Google Dataproc.
« Ce projet Spark 3.0 sur GPU nous a pris des années et a impliqué des centaines de développeurs Open Source. Désormais, toute la chaîne de l’Intelligence Artificielle peut être accélérée sur GPU grâce à nos bibliothèques : Rapids pour le traitement des données, cuDNN pour l’entraînement et TensorRT pour le moteur d’inférence », se réjouit Jensen Huang.
Merlin pour les systèmes de recommandation
Toujours dans le domaine du Machine Learning, Jensen Huang a présenté deux nouveaux frameworks, Jarvis et Merlin.
Le premier sert à créer des interfaces conversationnelles tel un chatbot évolué (incluant des mouvements de la bouche et des expressions du visage, synchronisés avec la parole).
Merlin se veut plus ambitieux en aidant à la création de systèmes de recommandation. Pour le PDG, de tels systèmes « seront à la base de l’Internet de demain. Un Internet personnalisé où l’utilisateur n’aura plus à chercher une information de plus en plus difficile à trouver ».
Comme la plupart des systèmes de recommandation, Merlin s’appuie sur les interactions de l’utilisateur avec son entourage (réseaux sociaux) et sur les produits ou services (films par exemple), qu’il a déjà achetés. « Avec Merlin, nous proposons un framework pour tous les secteurs afin de simplifier et rendre accessibles à un plus grand nombre les systèmes de recommandation », explique le PDG.
NVTabular s’appuie sur Rapids pour extraire et préparer les données via quelques lignes de code tandis que HugeCTR (basé sur cuDNN) est la plateforme d’apprentissage fonctionnant sur un cluster de GPU.
Testé sur une base de données de publicités issues de Criteo, la préparation des données a pris trois minutes et l’entraînement seize minutes sur GPU, contre respectivement deux heures et un jour et demi sur des CPU.
« Nous avons la chance chez Nvidia d’avoir parmi nos salariés des scientifiques et des artistes », rappelle Jensen Huang. N’oubliant pas son métier historique de fournisseur de cartes graphiques hautes performances, Nvidia a annoncé la version 2.0 de sa technologie DLSS (Deep Learning Super Sampling). Celle-ci permet de faire du ray-trading en temps réel grâce à un moteur de Deep Learning.
Le principe est de travailler en basse résolution, puis d’upscaler artificiellement en très haute résolution grâce à l’IA.