Non, NVIDIA n'a toujours pas annoncé de nouvelle GeForce ou même de nouvelle architecture lors de sa GTC 2018. Mais la société continue sa tentative de révolution dans de nombreux secteurs grâce à ses puces graphiques et des solutions haut de gamme. Avec de belles annonces au programme.
Hier se tenait la première session publique de l'édition 2018 du Jen-Hsun Huang's Show, aussi connu sous le petit nom de présentation d'ouverture de la GPU Technology Conference (GTC). Il s'agissait de l'édition principale, se tenant au McEnery Convention Center San Jose, non loin du siège de NVIDIA.
Car ces dernières années, on a vu le PDG s'y transformer en blagueur à répétition, testant et réutilisant ses « vannes » d'un évènement à l'autre, alternant avec un air plus grave lorsqu'il explique en quoi les GPU sont l'avenir du monde, à tous niveaux : de la robotique à la voiture autonome en passant par un marché important mais peu évoqué, le jeu vidéo.
Cette nouvelle édition n'a pas dérogé à la règle. Pendant près de 2h30, Jen-Hsun Huang a redit l'importance de ces nouveaux marchés pour la société, mais aussi dévoilé de nouveaux produits lui permettant d'afficher une très forte évolution de la puissance de calcul des GPU en à peine quelques années.
Il a surtout montré que depuis les débuts de la société, il y a bientôt 25 ans, cet ancien d'AMD reste l'un des rares visionnaires d'un marché complexe. De la première GeForce 256 (1999) à RTX (2018) en passant par CUDA (2007), GRID (2012), GeForce Now (2015) puis les Tensor Cores de Volta (2017), il a su anticiper des changements importants du secteur. Ce malgré quelques ratés, comme l'emblématique GeForce FX (2002/2003).
Désormais, NVIDIA veut aller vite, plus vite, et insiste sur la manière dont ses produits permettent de résoudre des problèmes en un temps record, pour peu que l'on dispose des finances nécessaires pour des produits haut de gamme. Car même si la performance grimpe, la complexité des calculs et des modèles à traiter est aussi en forte augmentation.
Et pour les joueurs ? La patience reste le maître mot puisqu'aucune grande nouveauté n'a été ne serait-ce qu'évoquée.
Quadro GV100 à 8 699 euros : une Titan V boostée et utilisable en duo
Une GTC, c'est souvent l'occasion de pas mal de redite. « Insist on NVIDIA » reste l'un des slogans historiques de la marque, qui sait que marteler un slogan l'entre dans la tête des clients, des partenaires mais aussi de la presse (surtout généraliste). Une presse qui n'est pas focalisée à 100% sur les annonces de cet étrange fabricant de puces californien, qui fait des « trucs pour gamers », mais déclare partout qu'il veut changer le monde.
Même s'il s'agit pour NVIDIA d'une nouvelle édition, la tendance globale ne change pas et il nous faut donc avant tout savoir faire la différence entre ce qui est nouveau, ce qui évolue et ce qui a déjà été dit deux ou trois fois. Commençons donc par ce qui est facilement identifiable, en premier lieu la Quadro GV100.
Il s'agit d'une nouvelle déclinaison de l'architecture Volta et de la puce GV100. Elles ont déjà été utilisées pour les Titan V (annoncées en décembre) et pour les Tesla V100, sous la forme de modules NVLink ou de cartes PCIe pour serveur (sans sorties graphiques). Les V100 sont désormais proposées avec 32 Go de HBM2 plutôt que 16 Go.
Cette Quadro embarque la technologie RTX dédiée au ray tracing, comme toutes celles exploitant une puce Volta. NVIDIA en a d'ailleurs profité pour confirmer l'utilisation à travers sa solution Optix et à l'avenir de Vulkan en complément de DirectX Raytracing. Nous avons également eu droit à plusieurs démonstrations, notamment via l'Unreal Engine 4 et une scène inspirée de Star Wars. Pour fonctionner en temps réel, elle nécessite un serveur DGX avec quatre GPU Volta actifs. Autant dire que l'on ne verra pas cela dans le PC de Monsieur tout le monde d'ici peu.
La Quadro GV100 se distingue de la Titan V par différents aspects. Tout d'abord, elle n'embarque pas 12 Go de mémoire HBM2 mais bien 32 Go, avec une bande passante de 870 Go/s. Le tout grâce à une interface 4 096 bits plutôt que 3 072 bits. Le nombre d'unités est inchangé : 5 120 CUDA Cores, 640 Tensor Cores, 320 unités de texture. Les fréquences (non dévoilées) semblent légèrement en hausse puisque la puissance de calcul « Tensor » est donnée pour 118,5 Tflops contre 110 Tflops pour la Titan V et 125 Tflops pour une Tesla V100. Le TDP reste de 250 watts.
Côté sorties vidéo, on a droit à quatre DisplayPort 1.4 situés sous une large sortie d'air. Contrairement aux Titan V, ces cartes sont utilisables en duo via un connecteur NVLink 2 (615 euros pièce), assurant une bande passante de 200 Go/s. Comptez 8 699 euros par carte (un exemplaire par client), bien loin des 3 100 euros demandés pour une Titan V. Pour rappel, les Quadro P6000 et GP100 (voir notre analyse) sont proposées à 5 199 et 7 199 euros.
Notons que, contrairement à ce qu'a déclaré Jen-Hsun Huang lors de la conférence, les Titan V sont bien disponibles en stock sur le site du constructeur à l'heure où nous écrivons ces lignes :
Pour bien commencer l'année, NVIDIA se focalise sur un « GPU » à 399 000 dollars
L'autre grande annonce de cette GTC était l'arrivée du DGX-2. Un produit présenté tour à tour comme le plus gros GPU du marché ou même une carte graphique. Une dérive sémantique qui ne doit pas cacher que l'on parle bien ici d'un serveur complet embarquant CPU, GPU, SSD et cartes réseau (entre autres).
Cette nouvelle version n'est pas vraiment un remplacement du DGX-1 passé aux Tesla V100 il y a peu, mais plutôt une version supérieure. Le prix passe de 149 000 dollars à 399 000 dollars. « Un prix d'ami pour un produit qui devrait plutôt valoir 1,5 million de dollars » ajoutera, non sans une pointe d'humour, le PDG.
Une multiplication par 2,7 que l'on retrouve également au niveau des caractéristiques puisqu'il est question de pas moins de 16 Tesla V100 (contre huit auparavant) pour une puissance de calcul totale annoncée de 2 Petaflops. Deux baseboards contenant chacune huit GPU sont utilisées, grâce à l'utilisation de 2x 6 des nouveaux NVSwitch (voir cette vidéo) permettant une interconnexion à 2,4 To/s. Huit cartes 100 GbE EDR Infiniband sont également de la partie.
Plus concrètement, un NVSwitch (voir ce visuel) est constitué de deux milliards de transistors pour un total de 18 ports NVLink, capable de gérer chacun 50 Go/s (full duplex). Chaque baseboard contient huit Tesla V100 et six NVSwitch, auquel chaque GPU est connecté à travers son propre NVLink. Huit ports de chaque NVSwitch sont utilisés pour la communication entre les baseboards, ce qui permet une communication d'un GPU à l'autre avec 300 Go/s de débit.
Pour NVIDIA l'objectif est ici de résoudre un souci courant des serveurs : l'interconnexion. De quoi maximiser le nombre de processeurs graphiques pouvant être reliés directement, pour en doubler le nombre tout en restant sur une machine équipée de deux CPU, avec des performances bien meilleures selon NVIDIA.
L'augmentation tarifaire globale semble d'autant plus « raisonnable » qu'elle se retrouve à d'autres niveaux. On passe ainsi de deux Xeon E5 2690v4, 512 Go de DDR4 (2133 MHz) et 8 To de SSD à deux Xeon Platinum 8168 (voir le comparatif), 1,5 To de mémoire et 30 To de stockage via des SSD NVMe. Notez qu'un DGX-2 occupe bien plus d'espace qu'un DGX-1 et consomme, non plus 3,5 kW, mais pas moins de 10 kW.
Pour faire passer la pilule, Jen-Hsun Huang ressort l'une de ses blagues phare : « plus vous en achetez, plus vous économisez ». Ce qui fonctionne toujours très bien devant un public de décideurs qui devra justifier une telle dépense auprès de sa direction. Le point majeur de NVIDIA est que ses DGX permettent de remplacer une armée de serveurs équipés de CPU et offrent une densité ainsi qu'un rapport coût / performance bien plus intéressant.
Ces nouvelles caractéristiques permettent, selon le constructeur, d'afficher des résultats dix fois plus élevés dans des situations comme l'entrainement d'un modèle Fairseq. Un jour et demi est nécessaire à cette tâche, contre quinze jours sur un DGX-1. Surtout, le bond a été de 500x en cinq ans par rapport à un duo de GTX 580 pour l'entrainement d'AlexNet.
Rappelons tout de même que ces cartes étaient vendues 500 euros à leur lancement. Même en comptant une machine complète à 2 000 euros le rapport en termes de prix est déjà de 200x (sans parler de la consommation). Mais ici NVIDIA veut sans doute mettre en lumière la façon dont la puissance à disposition des développeurs a été multipliée, malgré une certaine compacité, alors que le secteur des CPU peine à passer de nouveaux caps.
Cette nouvelle version plus haut de gamme illustre la stratégie de NVIDIA, qui mise sur une résolution toujours plus rapide des calculs à travers ses produits. Et bien entendu, augmenter ses revenus tout en s'assurant toujours des marges très confortables.
Et tant pis si les joueurs doivent encore attendre pour découvrir l'architecture qui remplacera Pascal dans les GeForce.
Un partenariat avec ARM pour le projet Trillium
Passons au domaine des objets connectés. Mi-février, ARM annonçait son projet Trillium, comprenant trois éléments : Arm ML, Arm OD et Arm NN SDK. Il s'agit d'un processeur dédié au machine learning, d'un autre consacré à la détection d'objets et d'une suite logicielle permettant de gérer des frameworks tels que TensorFlow, Caffe et Android NN à travers les différentes puces maison : Cortex (CPU), Mali (GPU) ou ML.
NVIDIA annonce que sa solution open source Deep Learning Accelerator (NVDLA), qui veut standardiser les architectures du secteur, intègre le projet. « Cette collaboration va simplifier l'intégration de l'IA par les sociétés qui développent des puces dans le domaine de l'Internet des objets » proclame la société.
Il faudra voir si ce travail conjoint des deux entreprises ne mènera pas à une trop grande fragmentation des pratiques dans un domaine déjà complexe, qui est amené à se développer. Pour rappel, le projet Trillium est attendu en version preview dès avril, avec une distribution globale dans la seconde moitié de l'année.
Developers, Developers, Developers (et un peu les DevOps)
Pour NVIDIA, outre les questions techniques, le défi de l'apprentissage profond est celui de son accès. Ces solutions sont encore assez complexes à mettre en œuvre et donc par nature réservées à de rares sociétés ou développeurs qui peuvent s'y investir concrètement (pour faire plus que des chat bots). Une problématique identifiée sous le nom de code PLASTER : Programability, Latency, Accuracy, Size, Throughput, Energy efficiency et Rate of learning.
Et la société d'en profiter pour tacler son concurrent du moment, qui monte en puissance avec des partenariats comme celui noué autour de Bing : Intel. « Ces défis nécessiteront plus que de placer des ASIC ou des puces FGPA dans les datacenters [...] Les datacenters hyperscale sont les solutions les plus complexes jamais construites, comment rendre cela plus simple ? » questionne Jen-Hsun Huang.
Plus proche de nous, on apprendra que l'initiative de Microsoft autour de Windows 10 pour une intégration de solutions d'intelligence artificielle locale pourra exploiter des GPU NVIDIA, sans que plus de détails ne soient encore donnés.
Du côté des multiples plateformes logicielles mises en place afin de s'adresser à différents marchés, pas vraiment de nouveautés. NVIDIA a ainsi évoqué à nouveau son Holodeck, avec une démonstration « Inception » de conduite d'une vraie voiture, en VR et à travers cet espace de travail collaboratif virtuel.
Il a également été question d'Isaac pour l'entrainement des robots dans un environnement là encore virtuel, qui a désormais droit à un SDK (en early access). Autre petite nouveauté concernant la solution de test pour voitures autonomes maison, qui combine Drive Sim et une plateforme Drive Pegasus : elle porte désormais un nom, Constellation.
NVIDIA a également annoncé le déploiement via Kubernetes on NVIDIA GPU, accessible sur demande. Il doit permettre une meilleure adaptation du nombre de GPU utilisés et leur gestion via NVML et DCGM. Le lancement global est attendu dans l'année.
On apprend au passage que la mise à jour de mars de sa solution Quadro Virtual Data Center Workstation (Quadro vDWS) supporte les Tesla V100 et que les PC virtuels GRID peuvent maintenant gérer la 4K ainsi que Linux.
La migration en direct via Citrix XenMotion (XenServer 7.4) fait de son côté partie de la mise à jour de mars 2018 de la solution de GPU virtualisé de NVIDIA. Via vSphere de VMware, une fonctionnalité de type « suspend and resume » est proposée. Deux possibilités qui étaient précédemment en test, mais qui sont désormais accessibles à tous.
Des mises à jour en pagaille
TensorRT 4 a été annoncé, avec le support de Xavier et une amélioration notable attendue du côté de la reconnaissance vocale, de la traduction et des systèmes de recommandations. Cet outil intègre également un parser Open Neural Network Exchange (ONNX) avec import de modèles depuis PyTorch, Caffe2, MxNet, CNTK et Chainer.
On apprend aussi que la version 1.7 de TensorFlow (Google) intègre TensorRT afin d'optimiser les modèles pour la phase d'inférence, affichant ainsi de larges bonds côté performance. Le cas de ResNet-50 montre un passage de 325 et 2 657 images par secondes traitées avec une latence de moins de 7 ms sur un V100.
L'idée est de faciliter la vie des développeurs utilisant le framework de Google lorsqu'ils veulent tirer parti de TensorRT, ce qui pouvait poser problème précédemment, des étapes manuelles étant nécessaires. Plus de détails sont donnés ici et là. TensorFlow 1.7 n'est pas encore disponible mais sa version RC1 a été publiée le 21 mars.
Notez que MATLAB de MathWorks intègre également un support de TensorRT pour ses fonctionnalités liées au deep learning (voir cette annonce), fonctionnant sur les plateformes Drive, Jetson et Tesla de NVIDIA.
D'autres mises à jour et partenariats ont également été annoncés. Citons CUDA qui passe à la version 9.2 avec diverses optimisations, le support de Volta dans cuDNN 7.x, de meilleures performances pour NCCL lorsque plusieurs GPU sont exploités ainsi que des améliorations pour DesinWorks et VRWorks.
La recherche, pour le meilleur et pour le pire
NVIDIA a également évoqué deux de ses projets de recherche, comme Noise2Noise qui consiste à réduire le bruit d'une image à travers des réseaux neuronaux. Une solution qui peut être utilisée aussi bien lors de la capture pour des appareils autonomes que pour l'imagerie médicale par exemple.
De quoi coller avec l'annonce du projet Clara, un serveur dédié à ce secteur présenté par NVIDIA pendant la conférence. Il permet de compléter une échographie classique par un dispositif de calcul et d'affichage des éléments en trois dimensions en temps réel par inférence.
La seconde solution, connue sous le petit nom de manipulation sémantique, consiste à composer des environnements virtuels en assemblant des éléments capturés ici ou là sous la forme de labels. Vous pouvez ainsi très simplement changer la nature de la route, remplacer des immeubles par des arbres, etc. Là où NVIDIA indique obtenir de très bons résultats, c'est sur la qualité et la définition de l'image finale.
De quoi permettre selon la société de faciliter la création d'environnement 3D complexes mais aussi des scénarios à parcourir pour une voiture autonome par exemple. On imagine aussi le risque en matière de production de fausses images, vu la nature des résultats obtenus (assez impressionnants).
Mais ce que tout le monde retiendra sans doute, c'est la fameuse démonstration « Your Mood In Emojis » qui consiste à capturer un flux vidéo et à ajouter des smileys sur la tête des gens qui passent en fonction de l'humeur détectée. Le tout exploite deux Titan V et peut analyser des douzaines de visages en simultanée.
Parce que la recherche et les grandes évolutions techniques, cela passe aussi parfois par un peu de n'importe quoi.