A l’occasion de la conférence Hot Chips 2017 qui s’est tenue à Cupertino du 20 au 22 août, Microsoft a présenté une plateforme d’accélération du deep learning dénommée Project Brainwave. Pour les ingénieurs de la firme de Redmond, ce projet constitue une avancée importante en termes de performance et de flexibilité pour servir des modèles de deep learning dans le cloud. « Nous avons conçu le système pour l’IA en temps réel, ce qui veut dire que le système exécute les requêtes aussi vite qu’il les reçoit, avec une très faible latence », expose dans un billet Doug Burger, ingénieur distingué de Microsoft. Avec la montée en puissance des flux de données traitées par les infrastructures cloud (tant requêtes que vidéos, flux générés par les capteurs IoT ou interactions entre utilisateurs), l'intelligence artificielle en temps réel va prendre de l'importance.

Le projet Brainwave comporte trois niveaux : une architecture distribuée haute performance, un moteur DNN (réseau de neurones profond) synthétisé sur des circuits programmables FPGA (Field-Programmable Gate Array) et, enfin, un compilateur et un runtime pour les déploiements des modèles entraînés. Le projet s’appuie sur l’infrastructure FPGA massive que Microsoft a déployée ses dernières années. Doug Burger explique qu’en rattachant les puces FPGA directement au réseau du datacenter, Microsoft peut servir des réseaux de neurones profonds sous la forme de microservices matériels. Les DNN sont raccordés à un ensemble de FPGA distants et appelés par un serveur sans mettre de logiciel dans la boucle, détaille l'ingénieur dans son billet. « Cette architecture réduit la latence puisque le CPU n’a pas besoin de traiter ces requêtes entrantes, et elle permet des débits très élevés puisque les FPGA exécutent les requêtes aussi rapidement que le réseau peut les transporter ».

Support des frameworks Cognitive Toolkit et Tensorflow

Le deuxième niveau du projet Brainwave est l'unité de traitement des DNN (ou DPU, dataflow processing unit), partie logicielle synthétisée sur les circuits FPGA. Par rapport aux DPU déjà développées par différents fournisseurs, l’approche de Project Brainwave est plus flexible dans sa gestion du type de données pris en compte, assure Doug Burger. Enfin, le troisième niveau de Brainwave est constitué de la pile logicielle conçue pour supporter les frameworks de deep learning. Pour l’instant, le projet peut s’utiliser avec le Cognitive Toolkit de Microsoft et il supporte aussi le très populaire Tensorflow de Google. D’autres frameworks devraient suivre. « Nous avons défini une représentation intermédiaire à base de graphe vers lequel nous convertissons les modèles entraînés dans les frameworks et compilons ensuite vers notre infrastructure », explique Doug Burger dans son billet. Pour faire la démonstration des performances du projet, Microsoft a recouru à un éventail de modèles complexes. L’éditeur assure que son système peut prendre en charge des modèles LSTM (Long short-term memory) très consommateurs de mémoire sans passer par le traitement par lots.