Les FPGA (field-programmable gate array, réseau de portes programmables in situ) sont des circuits logiques programmable, ou réseaux logiques programmable (circuits intégrés logique qui peuvent être reprogrammés après leur fabrication). Notons qu'il serait impropre de parler de programmation au sens logiciel (contrairement à un microprocesseur, il n'exécute aucune ligne de code). Ici, mieux vaudrait parler de « reconfiguration » plutôt que de reprogrammation (on modifie des connexions ou le comportement du composant, on connecte des portes logiques entre elles, etc.).
Fin 2017, Microsoft a concentré les déploiements côté Azure sur la dernière itération des FPGA d’Intel (développée avant l’absorption d’Altera) : les Stratix 10, utilisant les processus de fabrication les plus récents d’Intel (14 nm).
Microsoft avait alors affirmé que sa solution dépasse toute forme de concurrence : leur matériel n’est pas spécifique à un type de réseau neuronal (la plupart des coprocesseurs spécifiques s’orientent vers les réseaux convolutionnels), mais dispose d’une performance qui se généralise à tout type de réseau (LSTM, GRU aussi bien que CNN). Il peut être utilisé tant avec leur propre outil (Cognitive Toolkit) que par celui de Google (TensorFlow). La flexibilité matérielle permettra cependant de s’ouvrir à n’importe quel outil (contrairement aux processeurs spécialisés).
Stratix 10
L’objectif était alors que, « dans un futur proche », cette puissance de calcul soit ouverte à tous les utilisateurs d’Azure pour leurs applications de l’apprentissage profond.
Les premiers pas vers l'ouverture
Le premier pas dans cette direction a été fait lors du coup d’envoi de la conférence Build de Microsoft hier. En effet, l’entreprise a annoncé que le Projet Brainwave, son système d'exécution de modèles AI avec des puces spécialisées, est désormais disponible en préversion sur Azure.
Brainwave permet aux développeurs de déployer des modèles d'apprentissage automatique sur du silicium programmable et d'atteindre de hautes performances au-delà de ce qu'ils pourraient obtenir d'un processeur ou d'un GPU. Microsoft affirme que Project Brainwave fait d'Azure le cloud le plus rapide pour exécuter l'IA en temps réel aujourd'hui.
Microsoft a d'abord révélé son utilisation de Brainwave pour servir des modèles d'IA l'été dernier, et en mars, l’entreprise a déclaré qu'il était utilisé pour accéléré par un facteur de 10 la vitesse de l'IA qui alimente les résultats de recherche de Bing.
« Je pense que c'est une première étape pour faire des FPGA une plateforme polyvalente pour les clients », a déclaré Mark Russinovich, directeur technique de la plateforme de cloud computing Azure de Microsoft.
Microsoft met également à disposition une préversion limitée du projet Brainwave « on the edge », comme l’ont expliqué les responsables. Les dispositifs / infrastructures visés dans ce cas sont des serveurs locaux pouvant agir en tant que périphériques Azure IoT Edge. Dell et Hewlett Packard Enterprise sont les premiers partenaires à participer à cette préversion limitée.
Brainwave permettra aux utilisateurs d'Azure d'exécuter des modèles d'apprentissage en profondeur complexes à des niveaux de performance améliorés. Au fil du temps, l'objectif de Microsoft est de rendre possible le déploiement de plus de services influencés par l'intelligence artificielle sur le cloud, parmi lesquels la vision par ordinateur,le traitement du langage naturel et de la parole, pour ne citer que ceux là.
Plus de détails sur le projet
La technologie Project Brainwave utilise un moteur de traitement de réseau neuronal profond qui est chargé sur le FPGA, et va servir de base au service d'apprentissage automatique. Le logiciel d'application est créé via un compilateur Python et un environnement d'exécution dans le SDK Azure Machine Learning. Étant donné que l'inférence est sensible à la latence, et non exigeante en matière de calcul, la plateforme supprime le traitement par lots (regroupement de plusieurs requêtes pour optimiser les performances) afin de réduire le temps de réponse autant que possible.
Cependant, la plateforme Project Brainwave n'est pas configurée pour la formation des modèles de réseaux de neurones. C'est quelque chose qui est fait hors ligne, très probablement avec l'aide des GPU qui sont déjà disponibles dans Azure. En fait, Microsoft propose des GPU NVIDIA P40, K80, P100 et V100 à différents prix pour un tel travail. Curieusement, pour les instances cloud alimentées par le P100 et le V100, qui sont les puces d'apprentissage machine les plus performantes de NVIDIA, Microsoft les positionne comme des accélérateurs pour le travail HPC plus traditionnel plutôt que pour l'apprentissage automatique.
Microsoft n'est pas la seule entreprise à s'intéresser aux FPGA dans ses datacenters cloud; Amazon et Google utilisent tous deux du silicium fabriqué sur mesure pour les tâches IA.
Projet Brainwave (GitHub)
Source : Top 500
Et vous ?
Que pensez-vous de ce projet ?
Voir aussi :
Microsoft annonce la disponibilité de Visual Studio 2017 version 15.7 : un tour d'horizon des nouveautés de l'EDI
Excel : Microsoft ajoute la possibilité d'écrire des fonctions personnalisées en JavaScript, mais également des fonctions d'apprentissage automatique
Microsoft annonce la disponibilité de .NET Core 2.1 RC1, cette version peut déjà être utilisée en production
Build 2018 : Microsoft annonce la disponibilité en préversion publique de VS Live Share, son extension de développement collaboratif en temps réel