ChatGPT : le nouveau modèle d’OpenAI provoque stupeur et admiration

ChatGPT, le nouvel agent conversationnel d’OpenAI a rapidement suscité l’engouement des internautes et des développeurs. S’il semble faire date dans l’histoire du deep learning, l’utilisation du modèle de génération de langages soulève plusieurs questions.

Le 30 novembre dernier, OpenAI, crĂ©ateur du modèle NLG fondationnel GPT-3 a donnĂ© l’accès public Ă  un prototype de modèle de conversation nommĂ© ChatGPT. Celui-ci comprend et gĂ©nère du texte dans de nombreuses langues, dont l’anglais, le français, le chinois, le japonais, le portugais ou encore le russe.

Le confondre avec un simple chatbot serait une grossière erreur. ChatGPT est sans doute l’agent conversationnel le plus avancé disponible publiquement à ce jour.

Expliquer ou générer du code, écrire un communiqué, imaginer la scène ou les dialogues d’un film inspiré d’un livre ou d’un autre film, créer un nouveau langage à partir de cinq langues, écrire une partition de musique, répondre à des questions, se souvenir des réponses et y réagir plus tard dans la conversation… voilà quelques-unes des capacités de ChatGPT.

Sous le capot de ChatGPT

ChatGPT est une version « fine tunĂ©e Â» de GPT-3.5, une sĂ©rie de modèles de deep learning entraĂ®nĂ©s sur les HPC de Microsoft Azure. Les modèles Ă©tiquetĂ©s GPT-3.5 sont au nombre de trois et ont Ă©tĂ© entraĂ®nĂ©s sur des corpus rĂ©unis avant le quatrième trimestre 2021.

Le premier (code-davinci-002, l’appellation « davinci Â» indique que le modèle comporte 175 milliards de paramètres) est consacrĂ© Ă  la complĂ©tion de code, le deuxième (text-davinci-002) combine la complĂ©tion de code avec la rĂ©ponse Ă  des instructions. Le troisième (text-davinci-003) doit amĂ©liorer les performances du deuxième.

Techniquement, ChatGPT est un jumeau d’InstructGPT, un autre grand modèle de langage (Large Language Model ou LLM) censé répondre et accomplir des instructions écrites en langage naturel par un être humain.

Il existe trois variantes des modèles InstructGPT suivant les techniques d’entraînement utilisées, à savoir l’apprentissage par renforcement et l’affinage supervisé.

Plus précisément, OpenAI a entraîné ChatGPT à l’aide d’une technique d’apprentissage par renforcement avec boucle de rétroaction humaine.

« Des formateurs humains en IA ont participĂ© Ă  des conversations dans lesquelles ils jouaient les deux rĂ´les, celui de l’utilisateur et celui de l’assistant IA. Nous avons donnĂ© aux formateurs l’accès Ă  des suggestions Ă©crites par le modèle pour les aider Ă  composer leurs rĂ©ponses Â», Ă©crivent les chercheurs d’OpenAI dans un billet de blog.

definition informatique confidentielle
Une définition vague de l'informatique confidentielle donnée par ChatGPT.

Ces demandes, questions et rĂ©ponses ont Ă©tĂ© utilisĂ©es pour « affiner Â» le modèle GPT-3.5. Ensuite, plusieurs demandes ont Ă©tĂ© Ă©chantillonnĂ©es. Chaque requĂŞte a donnĂ© plusieurs rĂ©sultats, des rĂ©sultats que les formateurs (ou responsable de l’étiquetage) ont classĂ©s du meilleur au pire.

Le jeu de données a servi à entraîner des modèles de récompense. Les chercheurs ont alors appliqué une technique d’optimisation des politiques (Proximal Policy Optimization ou PPO). Ici, une politique génère une sortie à partir d’une requête. Le modèle de récompense calcule un résultat pour la sortie. La récompense obtenue est utilisée pour mettre à jour la politique enregistrée dans le modèle PPO. Ce processus a été répété à plusieurs reprises pour en améliorer les résultats.

En principe, les politiques doivent Ă  la fois assurer la normalisation des rĂ©ponses de ChatGPT (si une demande commence par « raconte-moi Â», le rĂ©sultat dĂ©butera par : « il Ă©tait une fois… Â»), et Ă  la fois Ă©viter les dĂ©bordements.

Biais et réponses vagues

Ainsi, ChatGPT n’est pas censé raconter d’histoires violentes. Tout comme il n’est pas censé produire un script Python pour insulter des internautes ou pour classer des scientifiques selon leur âge, leur race et leur sexe. Pourtant, ChatGPT peut assouvir ces demandes répréhensibles ou éthiquement douteuses, et ce, sans que l’utilisateur ait trop à insister. Il s’agit de trouver le terme qui n’a pas fait l’objet d’un filtre ou utiliser des moyens détournés pour arriver à ses fins. Parfois, il suffit même de relancer la commande pour obtenir le résultat attendu.

discussion ransomware chatGPT
Un exemple de discussion entre un pirate et sa victime imaginé par ChatGPT.

ChatGPT est même capable de générer des exemples de conversation entre un hacker et sa victime. Les résultats sont réalistes (en tout cas dans la forme), laissant à penser qu’OpenAI n’a pas réellement mis de limites lors du scraping des données d’entraînement sur le Web.

À y regarder de plus près, les qualités de ChatGPT sont aussi ses faiblesses. Et les chercheurs le savent.

Les rĂ©ponses sont souvent verbeuses et peu prĂ©cises, laissant Ă  penser que la forme prime sur le fond lors de l’entraĂ®nement. Les chercheurs le disent eux-mĂŞmes : ils n’ont pas limitĂ© l’apprentissage Ă  quelques domaines.

En outre, l’agent conversationnel est sensible aux modifications des demandes. Comme expliquĂ© ci-dessus, il suffit de changer la formulation d’une requĂŞte pour obtenir le rĂ©sultat escomptĂ©. Les rĂ©ponses peuvent ĂŞtre fausses ou incomplètes, car « la rĂ©ponse idĂ©ale dĂ©pend de ce que le modèle sait, plutĂ´t que de ce que le dĂ©monstrateur humain connaĂ®t Â», Ă©crivent les chercheurs.

En règle gĂ©nĂ©rale, « ces problèmes sont dus Ă  des biais dans les donnĂ©es d’entraĂ®nement (les formateurs prĂ©fèrent les rĂ©ponses plus longues qui semblent plus complètes) et Ă  des problèmes bien connus de suroptimisation Â».

OpenAI a dĂ©veloppĂ© une couche de modĂ©ration automatique, mais celle-ci fait l’objet de faux nĂ©gatifs qui laissent passer les fameuses « demandes inappropriĂ©es Â».

C’est en toute conscience que l’entreprise utilise cette phase d’exposition au public pour tenter d’optimiser son modèle en fonction des retours des utilisateurs : ils sont encouragĂ©s Ă  commenter les rĂ©ponses.

Un premier bannissement « temporaire Â»

En attendant, les responsables du forum Stackoverflow ont banni « temporairement Â» la publication de code et de texte gĂ©nĂ©rĂ© avec ChatGPT. Il s’agit de « ralentir l’afflux de rĂ©ponses crĂ©Ă©es avec ChatGPT Â».

Selon Sam Altman, prĂ©sident d’OpenAI, l’application a franchi le million d’utilisateurs ce 5 dĂ©cembre.

« Dans l’ensemble, Ă©tant donnĂ© que le taux moyen de rĂ©ponses correctes gĂ©nĂ©rĂ©es par ChatGPT est trop faible, l’affichage de rĂ©ponses crĂ©Ă©es par ChatGPT est considĂ©rablement nuisible au site et aux utilisateurs qui demandent ou recherchent des rĂ©ponses exactes Â», considèrent les modĂ©rateurs de StackOverFlow.

Si OpenAI ne le mentionne pas, il faut aussi rappeler que les premières plaintes collectives contre GitHub Copilot, une version commerciale de Codex, son modèle de génération de code, ont été déposées devant des tribunaux étasuniens. Tout comme ChatGPT, les données d’entraînement de Codex sont extraites de dépôts Git publics.

Autre problème, le coĂ»t d’infrastructure d’un tel agent conversationnel. Toujours selon Sam Altman, l’exĂ©cution de chaque demande coĂ»te en moyenne moins de 10 centimes de dollar, mais il n’a pas rĂ©vĂ©lĂ© le nombre de requĂŞtes totales produites Ă  ce jour. OpenAI chercherait Ă  optimiser ce paramètre pour rĂ©duire ses dĂ©penses d’infrastructure. L’entreprise pourrait rapidement le rendre payant comme elle l’a fait pour son modèle de gĂ©nĂ©ration d’images Dall-E 2.

Pour approfondir sur Intelligence Artificielle et Data Science