VT2022 GPT fiche

Synthèse de la présentation : GPT-Neo

Polytech Grenoble | INFO5 Vielle Technologique Stratégique 2022_2023

Brice MONTHE : Brice.Monthe-Djeumou@etu.univ-grenoble-alpes.fr Georges Harrisson SIMO : georges-harrisson.simo-yokam@etu.univ-grenoble-alpes.fr

Résumé

GPT-Neo est un moteur d’IA développé par EleutherAI, alternatif aux modèles GPT-2 et GPT-3 d’OpenAI. GPT-Neo est formé sur le jeu de données Pile [4]. Identique à GPT-3, GPT-Neo est également un apprenant en quelques coups. Et la bonne chose à propos de GPT-Neo sur GPT3 est qu'il s'agit d'un modèle open source. GPT-Neo est un modèle de langage autorégressif. Cela peut s'expliquer par la fonctionnalité consistant à prendre d'abord un texte d'invite et à prédire les prochains jetons de texte. EleutherAI a deux versions de GPT-Neo : (v1) 1,3 milliard de paramètres et (v2) 2,7 milliards de paramètres. Les paramètres donnent une indication de la taille du modèle, le plus grand modèle est à priori plus performant, mais prend plus de place et prend plus de temps pour générer du texte, tandis que le plus petit modèle est plus rapide mais aussi moins performant. GPT-2 est dans une fourchette similaire à 1,3 milliard de GPT-Neo, mais GPT-3 est dans un ordre de grandeur plus grand avec 175 milliards de paramètres.

Abstract

GPT-Neo is an AI engine developed by EleutherAI as an alternative to OpenAI's GPT-2 and GPT-3 models. GPT-Neo is trained on the Pile dataset. Identical to GPT-3, GPT-Neo is also a learner in a few moves. And the good thing about GPT-Neo over GPT3 is that it is an open source model. GPT-Neo is an autoregressive language model. This can be explained by the functionality of first taking a text prompt and predicting the next text tokens. EleutherAI has two versions of GPT-Neo: (v1) 1.3 billion parameters and (v2) 2.7 billion parameters. The parameters give an indication of the size of the model, the larger model is a priori more powerful, but takes more space and time to generate text, while the smaller model is faster but also less powerful. GPT-2 is in a similar range to GPT-Neo's 1.3 billion, but GPT-3 is an order of magnitude larger with 175 billion parameters.

Synthèse

Les systèmes d’intelligence artificielle ont connu des avancées majeures ces dernières années grâce à la participation de nombreux acteurs. Dans le domaine du traitement du langage naturel, OpenAI, entreprise basée aux Etats-Unis, est un acteur incontournable de la conception et de la vulgarisation des modèles de langages. OpenAI a notamment publié trois modèles de langages faisant partie des plus populaires, il s’agit entre autres de GPT-1, GPT-2 et plus récemment GPT-3, qui compte 175 milliards de paramètres. Les prouesses réalisées par GPT-3 pour la compréhension et la génération de textes sont légions, il a par exemple rédigé un papier académique à propos de lui-même qui fut soumis pour validation à la communauté scientifique [1]. En dépit des performances remarquables de GPT-3, son code source est fermé et déténu par OpenAI qui en possède tous les droits. Par ailleurs, l’accès à l’API d’Open AI pour GPT-3 se fait sur demande et peut vite devenir coûteuse [2] pour une utilisation fréquente. Afin de palier à ces contraintes imposées par les entreprises du secteur privé, le collectif EleutherAI a vu le jour. EleutherAI est formé de scientifiques, et de développeurs issus de divers bords, dont l’objectif commun est d'œuvrer en faveur d’une IA plus ouverte et plus transparente. Ce collectif a implémenté une replication de GPT-3 en 2021 à savoir, GPT-Neo.

GPT-Neo est ainsi un modèle de langage reprenant l’architecture de GPT-3 dans les grandes lignes avec quelques nuances [3]. Faisant suite à la publication de GPT-Neo, EleutherAI a développé deux autres modèles de langages : GPT-J et GPT-Neo-20-B. Ces deux modèles à l’instar de GPT-Neo, reprennent l’architecture de GPT-3, et sont utiles pour des tâches liées au traitement du langage naturel : analyse de sentiments, génération de textes, reconnaissance d’entités nommées, réponse à des questions, résumé de texte… Néanmoins, GPT-J est formé de 6 milliards de paramètres et utilise le langage Mesh TensorFlow pour son implémentation. Tandis que GPT-NeoX-20B est formé de 20 milliards de paramètres.

Au délà des nombreux cas d’utilisation présentés par les grands de modèles de langages dont ceux publiés par EleutherAI, les modèles de langages restent confrontés à des défis non moindres et peuvent présenter des risques en fonction de leur utilisation. L’entraînement de ces modèles nécessite de grands volumes de données, qui peuvent contenir divers biais : blasphèmes, propos offensants, discriminatoires, ou obscènes. D’autre part, il peut s’avérer compliqué de justifier les résultats produits par ces modèles dans des cas d’applications critiques (médecine, banque, finance).

En somme, GPT-Neo est une replication de GPT-3 qui présente des résultats pas très éloignés du modèle originel, il se veut très utile pour de nombreuses tâches de langage naturel. La mise en production de ce modèle requiert toutefois une attention particulière afin de produire des résulats corrects, explicables et transparents.

Références

[1] https://www.scientificamerican.com/article/we-asked-gpt-3-to-write-an-academic-paper-about-itself-mdash-then-we-tried-to-get-it-published/

[2] https://openai.com/api/pricing/

[3] https://gigazine.net/gsc_news/en/20210119-gpt-neo/

[4] https://pile.eleuther.ai/