pio3 - Fotolia
NLG : Microsoft se prépare pour exploiter la licence GPT-3 d’OpenAI
Microsoft étend son partenariat avec OpenAI, un organisme de recherche spécialisé dans l’IA fondé en 2015 par Elon Musk, et obtient une licence exclusive pour le puissant modèle de génération de langages GPT-3. Le géant du cloud se dote des moyens matériels et logiciels pour entraîner ce mastodonte doté de 175 milliards de paramètres.
Cette initiative, révélée lors de la conférence virtuelle Ignite 2020 de Microsoft, doit permettre aux géants du cloud de « développer et déployer des solutions avancées d’IA » chez ses clients, selon Kevin Scott, EVP et CTO chez Microsoft.
L’année dernière, Microsoft a révélé un investissement d’un milliard de dollars dans OpenAI, quelques mois après que l’organisme de recherche soit devenu une organisation à but lucratif. Avec cet investissement, Microsoft visait à commercialiser les projets OpenAI, à développer de nouvelles technologies HPC pour Azure AI, et à poursuivre la recherche sur l’intelligence artificielle générale (GAN).
De meilleurs modèles de langage
En obtenant une licence exclusive pour le modèle de langage GPT-3 d’OpenAI, Microsoft souhaite renforcer ses modèles de langage existants, considérés comme parmi les plus avancés du marché.
« Microsoft revendique que ses technologies égalent les capacités humaines dans des domaines majeurs tels que le langage et la parole et cette année, nous l’avons vu commencer à communiquer sur son modèle massif et à l’échelle », déclare Nick McQuire, vice-président senior et responsable de l’IA et de la recherche en entreprise chez CCS Insight, en référence à Turing-NLG. Ce modèle linguistique d’apprentissage profond comporte plus de 17 milliards de paramètres.
Turing-NLG était le plus grand modèle NLG (de génération de textes en langage naturel) disponible lorsque Microsoft l’a révélé en février de cette année. Selon Microsoft à l’époque, Turing-NLG pourrait améliorer les capacités d’aide à l’écriture dans la suite Microsoft Office ou alimenter des chatbots et des assistants numériques plus avancés.
Le GPT-3 d’OpenAI, introduit en mai, éclipse Turing-NLG avec ses 175 milliards de paramètres. Cent soixante-quinze MILLIARDS de paramètres : le chiffre est vertigineux. Cela en fait tout bonnement le plus grand modèle de langage jamais développé. Une partie du code de l’outil a été mise en ligne sur GitHub en juin.
Un article présentant le GPT-3, rédigé par plus d’une vingtaine de chercheurs et d’ingénieurs d’OpenAI, indique que les capacités de rédaction du modèle ressemblent à s’y méprendre à celle d’un humain, ce qui, selon eux, soulève des questions éthiques.
De « vastes » possibilités
On ignore comment Microsoft utilisera ce modèle GPT-3, mais le géant de la technologie pourrait améliorer ses propres modèles de langage, qui sont à la base de nombreux produits, dont Microsoft Search, Project Cortex et sa suite Office.
« Bien que ces modèles massifs puissent être difficiles à évaluer à ce stade, cette capacité doit améliorer ses produits, que ce soit SharePoint, PowerPoint et Office, Bing ou Xbox, par exemple », considère Nick McQuire.
Dans l’article de blog publié le 22 septembre présentant l’accord de licence, Kevin Scott ne détaille pas les projets de la firme, mais ils pourraient dépasser le cadre des produits existants. « Le potentiel commercial et créatif que le modèle GPT-3 peut libérer est très vaste, avec des capacités véritablement nouvelles – dont la plupart n’ont même pas encore été imaginées. Aider directement la créativité et l’ingéniosité humaines dans des domaines tels que l’écriture et la composition, décrire et résumer de grands blocs de données (y compris le code), convertir un langage naturel en un autre : les possibilités ne sont limitées que par les idées et les scénarios que nous mettons sur la table », écrit-il.
Il indique cependant qu’OpenAI continuera à proposer le GPT-3 et d’autres modèles via son API hébergée par Azure. Ceux-ci seront accessibles aux chercheurs et aux contributeurs.
GPT-3 est hébergé sur un superordinateur « custom » imaginé par Microsoft et hébergé sur Azure. Ce qu’oublie de préciser le CTO de Microsoft, c’est qu’entraîner un modèle avec 175 milliards de paramètres relève du parcours du combattant, même pour un géant du cloud comme lui. De prime abord, il est difficile de se représenter les capacités de calcul et le temps nécessaires pour obtenir des performances décentes avec un tel mastodonte.
« Cette forte croissance pose un vrai problème : plus un modèle est complexe et plus il est long et coûteux à entraîner. S’il est techniquement possible d’entraîner des modèles avec toujours plus de variables, cela mobiliserait un temps et une puissance de calcul rédhibitoires », commente Guillaume Besson, Senior Data Consultant, chez le cabinet en stratégie IT et IA Quantmetry. Et pourtant, la firme de Redmond affirme avoir la solution, rappelle-t-il.
L’ingrédient secret : DeepSpeed
Pour répondre à ce problème, les équipes de Microsoft ont développé une solution capable d’entraîner des réseaux de neurones potentiellement dotés d’un billion de paramètres sur des équipements actuels. Son nom ? DeepSpeed.
Sous licence MIT, mais soumis à un accord de contribution (CLA), DeepSpeed est une bibliothèque d’optimisation d’algorithme d’apprentissage profond pour Pytorch. Développée en Python, C++ et fonctionnant avec l’interface de calcul CUDA de Nvidia, DeepSpeed doit permettre d’entraîner des modèles dix fois plus gros, dix fois plus vite. Pour cela, les ingénieurs et les chercheurs de Microsoft travaillent sur le parallélisme des données afin de réduire la consommation de VRAM (mémoire des GPU).
Avec le parallélisme des données, chaque GPU d’un système utilise le même modèle sur des jeux de données différents. Problème selon les chercheurs, les états du modèle (les paramètres, les gradients, l’optimiseur Adam, etc.) sont répliqués pour chaque unité de calcul graphique. Pour réduire la consommation de mémoire, ils ont développé la solution au cœur de DeepSpeed : Zero Redundancy Optimizer (ZeRO).
ZeRO dispose de deux capacités phares. ZeRO-DP doit non pas répliquer, mais partitionner les états d’un modèle, tandis que ZeRO-R permet de limiter la consommation de mémoire liée aux fonctions d’activation appliquées en sortie d’un réseau de neurones.
Résultat, un seul GPU Nvidia V100 de 32 Go pourrait suffire à entraîner un modèle de deep learning avec 10 milliards de paramètres, contre 1,4 milliard sans ZeRO. C’est cette solution qui a permis la naissance de Turing-NLG.
Actuellement en version 0.03, le projet reste jeune : Microsoft l’a publiquement mis à disposition en mai dernier, au même moment qu’il annonçait que son super ordinateur accueillait le modèle NLG d’OpenAI. Toutefois, le papier de recherche associé assure que ZeRO de DeepSpeed permet d’entraîner « efficacement » un modèle de deep learning doté de plus de 170 milliards de paramètres avec un cluster de 400 unités de traitement graphique. À titre indicatif, une unité Tesla V100 32 Go de Nvidia vaut environ 8 000 euros actuellement et Nvidia pousse les entreprises vers sa nouvelle architecture Ampere.