Microsoft dévoile le projet Brainwave pour l'inférence dans les réseaux neuronaux
En utilisant des circuits reprogrammables d'Intel

Le , par dourouc05, Responsable Qt & Livres
On ne peut pas dire que les réseaux neuronaux (de préférence profonds) ne soient pas à la mode en intelligence artificielle. Google en a même lancé des processeurs spécifiques pour leur utilisation. Microsoft suit une tout autre voie : utiliser des composants programmables pour gérer la partie inférence, plutôt que des processeurs très spécifiques. Il faut dire que, au vu des utilisations de ces réseaux neuronaux dans les technologies du groupe, il est nécessaire d’investir dans le domaine : Bing les exploite pour comprendre les images, Skype pour la traduction en temps réel, par exemple. Comme les autres grands groupes, Microsoft a aussi lancé son propre outil pour les réseaux neuronaux : Cognitive Toolkit (ex-CNTK).


Depuis 2011, Microsoft déploie, dans son infrastructure infonuagique Azure, des FPGA, c’est-à-dire des circuits logiques programmables (contrairement aux TPU de Google, programmés à l’usine). Contrairement aux processeurs habituels, on peut donc changer le jeu d’instructions de ces circuits à volonté et l’optimiser pour les tâches à effectuer — la contrepartie étant une fréquence plus faible, de l’ordre de 500 MHz pour des FPGA récents et de 700 MHz pour les TPU. Là où Google doit changer ses TPU pour gérer de nouvelles fonctionnalités, Microsoft se contente de reprogrammer ses FPGA.


Les derniers déploiements côté Azure se concentrent 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). Le gain de performance par rapport à la génération précédente devrait atteindre un facteur deux.

La configuration de Microsoft sur ces nouveaux FPGA donne effectivement de bien meilleurs résultats que sur les précédents, avec un facteur d’accélération jusque vingt, selon la précision des nombres utilisés. Pour des nombres entiers sur seize bits, par carte, on passe ainsi de 1,4 à 12 Tflops ; sur huit bits, de 2 à 31 Tflops ; sur des nombres à virgule flottante (un encodage spécifique à Microsoft et non standardisé pour le moment, ms-fp8), de 4,5 à 90 Tflops. À titre de comparaison, les derniers processeurs graphiques de NVIDIA (génération Volta) peuvent atteindre 120 Tflops pour des nombres à virgule flottante de seize ou trente-deux bits ; les TPU de Google, 180 Tflops, mais avec une précision inconnue.


Microsoft prétend 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 a 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).

L’objectif, « dans un futur proche », est d’ouvrir cette puissance de calcul à tous les utilisateurs d’Azure pour leurs applications de l’apprentissage profond, même si aucune date précise n’a été donnée : Microsoft prend le temps d’encore améliorer sa solution.

Source et image : Microsoft Takes FPGA-Powered Deep Learning to the Next Level.

Voir aussi : Drilling Into Microsoft’s BrainWave Soft Deep Learning Chip.


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse Signaler un problème

Avatar de Stéphane le calme Stéphane le calme - Chroniqueur Actualités https://www.developpez.com
le 08/05/2018 à 14:13
Microsoft propose en préversion le projet Brainwave,
son système d'exécution de modèles AI avec des circuits reprogrammables

Depuis 2011, Microsoft déploie, dans son infrastructure infonuagique Azure, des FPGA (contrairement aux TPU de Google, programmés à l’usine). Là où Google doit changer ses TPU pour gérer de nouvelles fonctionnalités, Microsoft se contente de reprogrammer ses FPGA.

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

 
Contacter le responsable de la rubrique Accueil