Depuis novembre 2022, l’agent conversationnel Chat-GPT, qui est développé par l’entreprise américaine OpenAI (**https://openai.com*), est sur toutes les lèvres et dans tous les journaux, tant ses productions sont impressionnantes (pas toujours en mathématiques cependant). GPT est un acronyme pour « transformeur génératif pré-entraîné » (generative pre-trained transformer dans la langue d’Alan Turing) ; autrement dit, c’est une intelligence artificielle (IA), et plus précisément un réseau de neurones, c’est-à-dire une fonction mathématique très élaborée dont les paramètres ont été estimés grâce à un grand nombre de données, et entraîné pour pouvoir générer du contenu textuel. La version GPT-3 est un modèle de langue large* : les capacités de calculs et les données disponibles aujourd’hui permettent la création de réseaux de neurones de plus en plus grands. À titre d’exemples, GPT-3 possède 175 milliards de paramètres, là où son « ancêtre » sorti en 2019, GPT-2, en avait « à peine » 1,5 milliard.
Tout est vecteur… -----------------
La modélisation d’un texte passe par la « vectorisation » : un texte est vu comme une suite de mots, et chaque suite de mots est représentée par un vecteur dans l’espace de tout le vocabulaire utilisable. L’algorithme GPT consiste « simplement » à prédire le mot n+1 connaissant les mots 1 à n. Pour cela, on pourrait utiliser des modèles très classiques, comme les chaînes de Markov, qui modélisent le passage d’un état à un autre (voir Tangente SUP 69, 2013). Mais GPT parvient à générer des contenus de très bonne qualité en améliorant ces algorithmes élémentaires à l’aide de quelques techniques. D’abord, la très grande quantité de données utilisées permet un meilleur paramétrage des réseaux de neurones : GPT-3 a été entraîné sur 570 Go de textes et compte 175 milliards de paramètres. Ensuite, Chat-GPT intègre une fonction d’apprentissage par renforcement : les textes produits sont évalués par des humains, et les « meilleurs » sont indiqués, ce qui permet de favoriser les paramètres ayant conduit à ces textes. Enfin, Chat-GPT utilise une architecture particulière de réseaux de neurones, les transformeurs.
Un transformeur est un réseau de neurones constitué de plusieurs couches, elles-mêmes composées de têtes d’attention, capables de prendre en compte les mots précédents et d’apprendre à déterminer leur « pertinence », en calculant leur intérêt en fonction du mot à générer (voir encadré).
Ainsi, lorsque le modèle doit générer la suite de « Un robot doit protéger son \_\_ », il ressortira que « son » est statistiquement plus lié au mot « robot » dans la phrase qu’à « Un ».