ChatGPT : Comment cet algorithme de NLP fonctionne-t-il ?

-
4
 m de lecture
-

Vous avez sûrement entendu parler de ChatGPT, cet outil qui peut répondre à toutes vos questions en temps réel ? Lancé fin 2022, il semble révolutionner le domaine de l’intelligence artificielle. On vous en dit plus !

ChatGPT (Chat Generative Pretrained Transformer) a été développé en novembre 2022 par l’entreprise américaine OpenAI. C’est un modèle de langage qui permet à ses utilisateurs de communiquer en temps réel avec un bot sur un chat en ligne. Le bot est ainsi capable de tenir une conversation en plusieurs langues, de répondre à des questions, de transmettre des informations sur de nombreux sujets ou de partager des idées.

En plus de ces capacités variées, ChatGPT a pour caractéristiques de mémoriser les conversations, lui permettant de prendre en compte les réponses précédentes, et de laisser l’utilisateur lui apporter des corrections. C’est donc un outil intelligent et innovant, qui facilite la communication et l’accès aux connaissances !

Mais comment fonctionne ChatGPT ?

ChatGPT est un algorithme de NLP (Natural Language Processing) qui comprend et génère du langage naturel de façon autonome. Pour être plus précis, c’est une version dédiée au grand public de GPT3, algorithme de génération de textes spécialisé dans la rédaction d’articles et l’analyse de sentiments. Ainsi, ChatGPT fonctionne comme GPT3, grâce à un modèle pré-entrainé sur un immense corpus de 500 milliards de données textuelles. Il utilise deux types d’apprentissage différents : l’apprentissage supervisé et le reinforcement learning.

Pendant la phase d’apprentissage supervisé, il reçoit des conversations pour lesquelles les deux rôles (bot et utilisateur) sont joués de telle sorte que les données sont labellisées (questions et réponses attendues associées). Pendant la phase de reinforcement learning, les interactions précédentes sont utilisées pour classer les réponses. Ce classement est réalisé par des formateurs humains (Reinforcement Learning from Human Feedback) et permet de créer un modèle de récompenses en fonction de ce classement. 

De ce fait, en plus du pre-training, l’algorithme continue de s’auto-entrainer lors de ses interactions avec les utilisateurs. C’est ce qui lui permet de mémoriser le contexte et de se souvenir des messages d’une conversation.

Reinforcement Learning from Human Feedback en détails

Comme dit précédemment, la phase de reinforcement learning est plus précisément une phase de Reinforcement Learning from Human Feedback (RLHF) qui fonctionne avec des vrais formateurs humains. Cette phase est découpée en deux étapes, que nous précisons :

  1. Après avoir réalisé la phase d’apprentissage supervisé sur des données labellisées et appris une police supervisée, un modèle SFT (Supervised Fine Tuning) est généré. Les formateurs humains votent alors sur la pertinence des outputs du modèle, créant un dataset de comparaison sur lequel est entraîné un modèle de récompenses RM (Reward Model)
  2. Le modèle de récompenses RM est optimisé en utilisant l’algorithme de reinforcement learning PPO. L’algorithme PPO est un algorithm « on-policy » qui apprend et met à jour à la fois une police courante en se basant directement sur les actions et récompenses obtenues. Cela permet de générer un nouveau modèle, appelé « Policy Model ».

Ce “Policy model” permet d’améliorer le modèle initial SFT et d’obtenir un nouveau dataset de comparaison. Puis les deux étapes peuvent être répétées en boucle.

Demandons à ChatGPT des informations sur les Data Scientists !

Maintenant que nous avons compris les principaux modèles et algorithmes sur lesquels est basé ChatGPT, nous allons tester ensemble ses performances. 

Pour cela, nous rejoignons le chat à l’adresse suivante :  https://chat.openai.com/auth/login. Nous demandons alors au bot de décrire le rôle d’un Data Scientist. Pour obtenir une réponse optimisée, nous utilisons un prompt précis, c’est-à-dire une tournure de phrase engageant la conversation de façon claire. 

capture d'écran de ChatGPT

ChatGPT est bien en mesure de nous informer sur le métier de Data Scientist et de poursuivre la conversation engagée. C’est un minuscule aperçu des compétences de cet outil, qui n’est pas seulement une source d’informations mais qui peut aussi écrire un texte, en résumer un autre ou proposer du contenu lié à un sujet. Son développement pourrait donc faire concurrence aux rédacteurs !

Et du côté des développeurs ?

ChatGPT a aussi des capacités normalement propres aux développeurs informatiques. En effet, il sait générer du code en plusieurs langages de programmation (Python, Java, C++ …) et développer un algorithme pour résoudre un problème. Pour obtenir un tel résultat, il suffit de lui énoncer clairement ce que le code à générer doit renvoyer. Il s’impose aussi dans le domaine du debugging et est capable d’identifier la source d’un bug informatique et de le corriger, comme n’importe quel logiciel déboggueur. 

Pour les Data Engineers, ChatGPT est aussi de bonne utilité puisqu’il sait simuler une Machine Virtuelle (VM) avec un terminal Linux. 

Enfin, ChatGPT peut aussi détecter les vulnérabilités d’un programme. 

ChatGPT semble donc être un modèle de NLP fonctionnel d’un point de vue rédactionnel ou d’un point de vue informatique, et ce dans de nombreux domaines !

Alors quelles sont les limites de cet outil ?

Quand nous lui posons la question, ChatGPT nous répond : “Je suis un modèle de traitement du langage formé par OpenAI. Mon savoir est limité à la date de coupure de mes données d’entraînement, qui est 2021. Je ne peux pas naviguer sur Internet pour vérifier des informations ou accéder à des données qui ne font pas partie de ma mémoire. Je fais de mon mieux pour répondre aux questions de manière précise et complète, mais il est possible que ma réponse ne soit pas toujours correcte ou à jour.”.

En effet, depuis son lancement les principaux reproches faits à ChatGPT concernent sa limite temporelle, puisque ses connaissances s’arrêtent aux évènements antérieurs à l’année 2021, et des réponses erronées pouvant causer le partage de fausses informations, même si le taux d’erreur reste minime.

À propos du code, ChatGPT a aussi des limites puisque le code généré peut contenir beaucoup de fautes au-delà d’un certain niveau de difficulté. L’outil se restreint aux programmes classiques et répétitifs mais n’est par exemple pas capable d’effectuer des tâches d’analyse informatique. Enfin ses compétences en cybersécurité sont trop facilement accessibles et beaucoup craignent qu’elles soient détournées par des hackers dans un but malveillant.

D’un point de vue éthique, l’outil fait face à d’autres problèmes. Son utilisation a été interdite et son accès a été banni des postes informatiques de certaines écoles américaines face à de nombreux cas de plagiat.

Finalement, comme tout modèle statistique, ChatGPT a des limites émotionnelles. À l’opposé de l’intelligence humaine, il n’a pas de pensée, d’intuition, de morale ou encore d’émotions, ce qui peut constituer un certain danger.

Ainsi, comme toute innovation, ChatGPT a des limites. Cela reste néanmoins un outil d’intelligence artificielle avec un fort potentiel dont les performances ne cessent de s’améliorer avec le temps !

Si vous désirez découvrir d’autres sujets concernant d’autres algorithmes de NLP et autres domaines forts où l’IA se met de plus en plus en avant, parcourez notre blog.

Facebook
Twitter
LinkedIn

DataScientest News

Inscrivez-vous à notre Newsletter pour recevoir nos guides, tutoriels, et les dernières actualités data directement dans votre boîte mail.

Vous souhaitez être alerté des nouveaux contenus en data science et intelligence artificielle ?

Laissez-nous votre e-mail, pour que nous puissions vous envoyer vos nouveaux articles au moment de leur publication !

Newsletter icone
icon newsletter

DataNews

Vous souhaitez recevoir notre
newsletter Data hebdomadaire ?