Microsoft dévoile Project Brainwave pour l’intelligence artificielle en temps réel

À l’occasion du symposium Hot Chips, qui s’est tenu du 20 au 22 août 2017 à Cupertino, Californie, Microsoft a dévoilé son projet Brainwave.

Il ambitionne d’effectuer des tâches d’intelligence artificielle en temps réel, sur la base de réseaux neuronaux profonds, grâce à une infrastructure massive de FPGA dans le nuage.

Un FPGA, ou circuit logique programmable, est un circuit intégré qui, contrairement au microprocesseur, peut être reprogrammé après sa fabrication.

Si cette reprogrammation est moins souple que la programmation d’un microprocesseur, qui peut changer d’un moment à l’autre, une fois reprogrammé pour une tâche bien définie, le FPGA offre des performances supérieures pour cette tâche, et la reprogrammation est persistante.

Du plus flexible au plus efficace, voici les alternatives : les microprocesseurs, les cartes graphiques accélératrices, les FPGA, les Hard DPU qui sont des ensembles de FPGA programmés de façon fixe, et les ASICs, ou circuits intégrés optimisés pour une application.

Microsoft a choisi le Stratix 10 de Intel, un FPGA gravé en 14 nm.

Microsoft utilise déjà largement les FPGA dans ses data centres Azure, mais pour des besoins techniques spécifiques, comme l’optimisation du trafic réseau.

Avec Project Brainwave, Microsoft offre, en interne uniquement pour l’instant, mais avec la volonté de le rendre disponible aux clients Azure dans le futur, un microservice matériel.

Les utilisations concrètes de l’apprentissage profond en temps réel sont nombreuses, des algorithmes de recherche de Bing au traitement des flux en direct de vidéos, de capteurs ou d’interactions d’utilisateurs.

Contrairement à d’autres conceptions concurrentes, les FPGA de l’entreprise intègrent à la fois les blocs de traitement du signal ainsi que la logique synthétisable, afin de pouvoir optimiser, grâce aux innovations de la recherche, ses FPGA, toutes les quelques semaines.

Microsoft exploite un format de donnée à virgule flottante à 8 bits personnalisé, qui, en moyenne, ne souffrirait pas de perte de précision par rapport aux autres types de données, sur un large ensemble de modèles.

Microsoft estime que sa solution est la meilleure pour obtenir à la fois d’excellentes performances, notamment une latence ultracourte, la flexibilité, et la mise à l’échelle.

Les FPGA sont reliés aux processeurs des serveurs grâce à un canal QSFP à 40 Gb/s sur voie PCIe 3.0 :

D’après ses tests internes sur un GRU (un type de réseau neuronal récurrent) cinq fois plus large que Resnet-50, un Stratix 10 atteint des performances de 39,5 téraflops.