Article
Création de logiciels
3.4.2017
Perturbation continuum temporel
7 minutes
Temps d'un café
L'IA mange le hardware
L'IA mange le hardware
Tom Morisse
Note : Ce contenu a été créé avant que Fabernovel ne fasse partie du groupe EY, le 5 juillet 2022.

Les puces à l’oreille

Les puces, éléments essentiels au fonctionnement des serveurs, constituent les premières pièces qui vont faire évoluer le paysage du matériel informatique. Jusqu’ici, le CPU (Central Processing Unit) était la puce la plus importante, utilisée tant dans les appareils personnels (pensez aux microprocesseurs Intel inside) que professionnels. On parle souvent du CPU comme du « cerveau » de l’ordinateur : il s’assure que les instructions sont bien exécutées et il coordonne l’activité des autres composants.

Le marché des serveurs est également la chasse gardée des CPU Intel. En effet, dire que cette entreprise dirige le marché serait un doux euphémisme : elle est en situtation de monopole avec une part de marché de 99 % en 2015.

Le changement induit par l’avènement du machine learning (et en particulier de sa branche du deep learning) est que les modèles utilisés ont des besoins qui diffèrent des programmes habituels. Afin d’être entraînés plus efficacement, ils ont besoin d’ordinateurs effectuant de nombreux calculs en parallèle (notamment pour les réseaux neuronaux, puisqu’il faut calculer en même temps l’état de nombreux neurones), alors qu’un CPU est un processeur généraliste adepte du calcul séquentiel.

Il existe 3 types de puces qui font fonctionner des modèles de machine learning plus rapidement que les CPU :

Le GPU, ou la puissance du parallélisme

Les GPU (Graphics Processing Units) sont actuellement au sommet du calcul en machine learning. Comme son nom l’indique, le GPU a été conçu à la fin des années 1990 pour accélérer le rendu vidéo, d’où son efficacité dans le calcul parallèle puisqu’il doit rafraîchir les innombrables pixels qui constituent chaque image d’une vidéo.

NVIDIA est le principal fabricant de GPU, et l’entreprise est donc très appréciée des gamers (et maintenant des entreprises et des chercheurs en IA). Elle conçoit aujourd’hui des GPU destinés au deep learning et propose les frameworks qui vont avec. À noter que les CPU et les GPU ne sont pas interchangeables : il faut adapter les programmes afin d’utiliser ces derniers.

Les ASIC, ou la puissance de la personnalisation

ASIC (Application-Specific Integrated Circuit) est le nom générique pour un type de puces conçu sur mesure pour un usage bien précis. Par exemple, certains ASIC sont des puces optimisées dans le seul but de miner des bitcoins.

Ces dernières années, plusieurs start-up se sont attelées à la conception de puces consacrées à l’IA. Nervana Systems, rachetée pour 350 millions de dollars par Intel en août 2016, développe actuellement un ASIC promettant de « décupler la vitesse d’apprentissage » (pour 2017) et Graphcore prévoit de présenter son Intelligence Processing Unit en 2017 (qui annonce multiplier la vitesse de calcul entre 10 et 100 fois).

Encore plus intéressant, Google a révélé en mai 2016 qu’il testait depuis un an un ASIC fait pour le machine learning (et appelé Tensor Processing Unit) dans ses data centers.

Les FPGA, ou la puissance de la flexibilité

Les FPGA (Field-Programmable Gate Arrays) sont un type de circuit intégré qui peut être reconfiguré après sa production. Les FPGA existent depuis quelques décennies et sont notamment utilisés pour prototyper d’autres processeurs. Mais ils ont aussi un avantage-clé pour les chercheurs en IA. En premier lieu, ils peuvent être personnalisés pour s’adapter à chaque modèle d’IA testé. Ils sont également plus puissants que les GPU.

Les deux leaders sur le marché des FPGA sont Xilinx et Altera. Ce dernier a été racheté par Intel en 2015 pour 17 milliards de dollars (comme vous l’aurez constaté, le géant de l’électronique avance ses pions sur toutes les tendances).

Il ne s’agit pas de faire disparaître les CPU : toutes les puces mentionnées ci-dessus fonctionnent en intelligence avec eux. Et Intel travaille également à l’amélioration de ses CPU haut de gamme pour serveurs afin de proposer une offre plus compétitive sur le marché de l’IA. Toutefois, l’importance du CPU diminuera sans aucun doute à l’avenir.

Pourquoi s’intéresser à l'électronique ? Réactions en chaîne

1/ Le monde des serveurs va changer…

Bien entendu, les puces ne sont pas une fin en soi. En les associant à d’autres composants, selon diverses architectures possibles, le produit final est bien le serveur. L’industrie du serveur, dominée par Dell et autres HPE (ainsi que par des fournisseurs de cloud comme AWS et Google, qui construisent leurs propres systèmes), pourra donc s’en trouver bouleversée.

Dans ce contexte, il est important de noter la montée en puissance de NVIDIA, qui remonte progressivement la chaîne de valeur avec le DGX-1, son « superordinateur dans une boîte » (pour un montant de 129 000 dollars), et l’entreprise a même créé son propre supercalculateur basé sur cet élément :

Créé et utilisé en interne par NVIDIA, le DGX SATURNV rassemble 124 DGX-1 et est le superordinateur démontrant la plus grande efficacité énergétique au monde.

2/ … ce qui aura des conséquences sur le classement du cloud

Les grandes entreprises et les start-up peuvent bien acheter directement du matériel informatique, une part croissante de leurs besoins informatiques passe par les fournisseurs de _cloud _: voilà ceux qui étudient attentivement le développement de nouvelles puces.

La course est à celui qui proposera la meilleure infrastructure pour répondre aux besoins de l’IA, et plusieurs approches sont en compétition. Microsoft a commencé à déployer une nouvelle architecture de data center comprenant les FPGA d’Intel Altera, AWS vient de proposer un accès aux FPGA (de Xilinx cette fois) et Google a une approche propriétaire avec ses circuits TPU développés en interne.

L’accès aux FPGA sur AWS a été l’une des annonces les plus importantes de sa dernière conférence de développeurs

3/ Des langages et frameworks standards vont émerger

Le hardware, quelle que soit la façon dont on y accède, est inutile sans les langages et les _frameworks _qui facilitent la programmation. La définition de ces standards est donc également un enjeu majeur du champ de bataille hardware / cloud, d’autant plus difficile à saisir qu’il existe plusieurs niveaux d’abstraction (langages de programmation de haut niveau, frameworks de deep learning pour préparer des réseaux neuronaux, des API de bas niveau qui accèdent directement aux puces…).

Il existe par exemple une rivalité entre le standard open-source OpenCL, qui aide à programmer toute une gamme de puces de calcul parallèle (tant des GPU que des FPGA), et CUDA, la plateforme propriétaire de NVIDIA (dont le but est bien entendu de vendre ses propres GPU), mais toutefois ces derniers supportent également OpenCL…

3 leçons à tirer

Si l’intelligence artificielle devient essentielle dans les organisations, alors choisir la bonne architecture informatique (en propre ou dans le cloud) va s’avérer crucial pour accélérer la transformation.

Toutefois, nous n’en sommes qu’aux débuts du hardware spécial IA, et aucune solution technologique n’est encore sortie gagnante. Donc, quelle que soit la taille de votre entreprise, que vous soyez un groupe du CAC 40 ou une start-up, voici 3 conseils pour tirer le meilleur de vos ressources :

  1. Ne misez pas tout sur une seule technologie ! Garder une vue d’ensemble du paysage et tester plusieurs options est la meilleure façon de tirer parti de futures opportunités. En d’autres termes : pour l’instant, largeur >> profondeur.
  2. Plus que la maîtrise de technologies particulières, c’est la capacité à assurer une connexion efficace entre elles qui sera la clé. Par exemple, pourriez-vous porter aisément un algorithme de machine learning d’une plateforme hardware actuelle vers une nouvelle ?
  3. Si vous avez besoin d’utiliser une technologie spécifique pour un usage précis, les fournisseurs de cloud restent les meilleurs bancs d’essai. Ils rendent possible l’estimation du ROI de l’usage en questions avant d’investir dans votre propre infrastructure si cela fait sens financièrement, ou de passer à une autre technologie si besoin est.
No items found.
Pour aller plus loin :