L’apprentissage des réseaux de neurones est très gourmand en ressources. Pour les fournisseurs de Cloud, et leur pléthore de services IA, c’est un challenge qui impacte lourdement à la fois leurs coûts opérationnels et leur bilan carbone. Dans un papier publié sur Arxiv, Microsoft détaille une nouvelle architecture planétaire basée sur 100 000 GPUs et dénommé Singularity.

« La réduction des coûts par une utilisation élevée des charges de travail d’apprentissage profond est un levier crucial pour les fournisseurs de services en nuage » expliquent en introduction les 26 ingénieurs de Microsoft co-signataires de l’article « Singularity, un ordonnanceur des tâches IA, préemptif, élastique et à l’échelle de la planète », publié la semaine dernière sur arXiv.

Singularity est un « scheduler », un service d’ordonnancement des tâches, mondialement distribué, spécialement conçu et optimisé pour une exécution hautement efficace des workloads d’apprentissage profond (Deep Learning) et d’inférence. Ce planificateur peut préempter de façon transparente et faire évoluer de façon élastique les workloads IA afin d’obtenir une utilisation élevée des ressources sans affecter leur exactitude sur une flotte mondiale (et donc répartie) d’accélérateurs IA (principalement composée de GPU et de puces FPGA).

La force de Singularity n’est pas tant sa capacité à distribuer à l’échelle mondiale des Workloads IA mixant des accélérateurs différents que sa capacité à adapter les ressources allouées en quasi temps réel en fonction des jobs de façon totalement transparente et en améliorant la fiabilité de l’ensemble de sorte à réduire significativement les coûts.

Singularity, pour une IA planétaire

L’étude du papier porte sur des centaines de milliers de GPU et FPGA managés par Singularity. Les équipes de Microsoft expliquent par ailleurs utiliser pour leurs tests des serveurs NVidia DGX-2 à base de Xeon Platinum 8168 (bisocket, 20 cœurs par socket) et de 8 GPUs NVidia V100. Chaque serveur dispose de 692 Go de RAM.

Dit autrement, pour réaliser leurs tests de Singularity, les chercheurs de Microsoft se sont appuyés sur une infrastructure composée au strict minima de plus de 12 500 serveurs répartis sur les différents datacenters Azure dans le monde. Dans la pratique, plusieurs dizaines de milliers de machines ont probablement été allouées. Et ceci, simplement pour un test. Cela donne une petite idée de la quantité de serveurs et de GPU que Microsoft peut allouer à l’échelle mondiale pour ses apprentissages IA.

On sait que l’éditeur fournit désormais aux organisations qui en font la demande un accès privé et restreint à l’intelligence GPT-3 d’OpenAI. Il y a fort à parier que l’infrastructure utilisée repose en partie sur Singularity, voire que Singularity a justement été créée pour ce support de GPT-3. Lors de la dernière conférence Build, Microsoft avait laissé entendre que l’IA d’OpenAI tournait sur un supercalculateur maison composé de plus de 285 000 cœurs CPU et plus de 10 000 GPUs.

À lire également autour de Singularity et d’une IA planétaire :

> GPT-3, l’étonnante intelligence artificielle d’OpenAI qui écrit aussi bien que les humains…
> Top 500 des Supercalculateurs : Toujours pas d’exascale mais de l’Azure…
> DALL-E, une IA qui crée des images à partir d’un texte descriptif
> Azure offre à OpenAI un supercalculateur cloud conçu pour l’IA