Premiers retours d’expérience sur ChatGPT, le modèle de langage conversationnel basé sur GPT-3,5

Le 30 novembre dernier, Open AI présentait un nouveau modèle de langage appelé ChatGPT, interagissant de manière conversationnelle, « un modèle frère d’InstructGPT ». Par la même occasion, elle l’a mis à disposition du public et depuis, plus d’un million d’utilisateurs l’ont testé, selon Sam Altman, co-fondateur de la société avec Elon Musk.

Selon le blog qui lui est consacré, « Le format de dialogue permet à ChatGPT de répondre aux questions de suivi, d’admettre ses erreurs, de contester les prémisses incorrectes et de rejeter les demandes inappropriées ». 

Le modèle a été entraîné sur un énorme corpus de texte : articles de journaux, romans, scripts de films et de télévision, mais aussi sur des conversations en ligne afin d’appréhender le contexte d’une conversation et fournir des réponses judicieuses. Outre répondre aux questions, il peut générer du texte mais aussi du code informatique.

ChatGPT a été affiné, à l’aide de l’apprentissage supervisé, à partir d’un modèle de la série GPT-3,5, qui a été formée sur un modèle de texte et de code avant le dernier trimestre 2021, et ne peut donc pas répondre des questions portant sur une actualité ultérieure.

Ce modèle supervisé a été de nouveau affiné grâce à l’apprentissage par renforcement à partir de la rétroaction humaine (commentaires humains) ou RLHF.

Les limitations du modèle

Open AI concède que bien que semblant plausibles, certaines des réponses de ChatGPT sont erronées, voire absurdes, ce qui serait dû selon elle aux faits que :

  • Pendant la formation RL, il n’y a actuellement aucune source de vérité;
  • L’entraînement du modèle à être plus prudent l’amène à refuser les questions auxquelles il peut répondre correctement;
  • La formation supervisée induit le modèle en erreur parce que la réponse idéale dépend de ce que le modèle sait, plutôt que de ce que le démonstrateur humain sait.

Le modèle manque de concision et répète souvent certaines phrases, comme réaffirmer qu’il est un modèle de langage formé par OpenAI. Ces problèmes découlent de biais dans les données de formation (les formateurs préfèrent des réponses plus longues qui semblent plus complètes) et de problèmes de suroptimisation.

Open AI applique une API de modération pour avertir ou bloquer certains types de contenu dangereux, mais le modèle peut néanmoins répondre à des instructions nuisibles ou présenter un comportement biaisé.

L’interdiction temporaire de Stack Overflow

Les premiers utilisateurs de ChatGPT se disent impressionnés par la cohérence des textes qu’il à produit à leurs invites (histoire pour enfant, poème, recette de cuisine, dissertation, mais aussi discours politique, concept scientifique…), dans un style que l’on pourrait facilement attribué à un humain.

Cependant, Stack Overflow, un site web de questions-réponses pour la programmation informatique, a temporairement interdit l’utilisation de texte généré par ChatGPT sur sa plateforme arguant que la publication de réponses créées par ChatGPT est « considérablement préjudiciable au site et aux utilisateurs qui demandent ou recherchent des réponses correctes. »

Cette décision vise à ralentir l’afflux de réponses et d’autres contenus créés avec ChatGPT. Pour Stack Overflow, ceux-ci ont un taux élevé d’inexactitude, bien que semblant crédibles. Des milliers de réponses ont été publiées sur le site et auraient nécessité d’être relues par un expert avant leur publication.

Un effet “wouaw” incontestable

ChatGPT semble capable de tout : c’est le propre des super modèles de langue. Ils se plient plutôt bien à des tâches pour lesquelles ils n’ont jamais été entraînés explicitement.

Ainsi, quand on lui demande de traduire une partie de la fiche Wikipédia de GPT-3 dans le style littéraire d’Edmond de Rostand, ChatGPT l’imite :

” Mon cher ami, permettez-moi de vous parler d’un bijou technologique, un géant parmi les modèles de langage. GPT-3, dans toute sa gloire, a été entraîné avec 175 milliards de paramètres, un nombre sans précédent. Bien que GPT-2, sorti l’année dernière, ait impressionné avec ses 1,5 milliard de paramètres, GPT-3 surpasse de loin ses prédécesseurs. OpenAI a lancé une version bêta en juillet, prêt à commercialiser ce joyau de la technologie. “

Quand on demande à ChatGPT de rédiger un e-mail argumenté de demande d’augmentation à son employeur :

Demande :
“Je travaille dans une société privée depuis 5 ans et je trouve que je ne gagne pas assez. Rédige pour moi un e-mail argumenté de demande d’augmentation afin que je l’envoie à mon directeur.”

Réponse :
“Cher directeur,

Je souhaiterais vous faire part de mon mécontentement concernant mon salaire actuel. J’ai travaillé pour notre société pendant cinq ans maintenant, et je pense que mon salaire ne reflète pas suffisamment mon expérience et mes compétences.

Je suis conscient que nous traversons une période difficile économiquement, mais je suis persuadé que ma contribution à l’entreprise est précieuse et mérite d’être reconnue. Je suis un employé dévoué et compétent, et je suis convaincu que mon travail a un impact positif sur les résultats de notre société.

Je vous demande donc de reconsidérer mon salaire et d’accorder une augmentation qui reflète ma valeur pour l’entreprise. Je suis ouvert à discuter de cette question avec vous en détail, et je suis sûr que nous pourrons trouver une solution qui convienne à la fois à mes attentes et aux intérêts de l’entreprise.

Je vous remercie pour votre temps et votre considération.

Cordialement,
[Votre nom]”

L’intérêt du Chat est que l’on peut corriger le tir très facilement :

Demande :
“ça ne va pas, moins plaintif s’il te plait, il faut mettre en avant mon expérience et ce que je peux apporter à ma société.”

Réponse :
“Cher directeur,

Je voudrais vous faire part de ma satisfaction quant à mon travail au sein de notre société, mais aussi de mon inquiétude concernant ma rémunération. Après cinq ans d’expérience au sein de notre entreprise, je pense que mon salaire ne reflète pas pleinement mes compétences et mon engagement envers l’entreprise.

Je suis convaincu que ma contribution à l’entreprise est précieuse et que mon travail a un impact positif sur les résultats de notre société. J’ai acquis de l’expérience et des compétences au cours de ces cinq dernières années, et je suis persuadé que je peux continuer à apporter une valeur ajoutée à l’entreprise.

Je vous demande donc de reconsidérer ma rémunération et d’accorder une augmentation qui reflète mon expérience et mes compétences. Je suis ouvert à discuter de cette question avec vous en détail, et je suis sûr que nous pourrons trouver une solution qui convienne à la fois à mes attentes et aux intérêts de l’entreprise.

Je vous remercie pour votre temps et votre considération.

Cordialement,
[Votre nom]”

Bien sûr, ChatGPT peut également aller plus loin en nous conseillant :

Demande :
“indique moi quels sont les 5 plus grands défis que l’intelligence artificielle pourrait poser à mon restaurant et explique moi comment je pourrais tirer la technologie à mon avantage.”

Réponse :
“Voici cinq des plus grands défis que l’intelligence artificielle pourrait poser à votre restaurant :

  1. Concurrence avec des entreprises utilisant l’IA pour offrir des services plus efficaces et rentables.
  2. Remplacement de certains emplois par des robots ou des logiciels, ce qui pourrait impacter vos coûts et la motivation de votre personnel.
  3. Risque de perte de données ou de piratage, ce qui pourrait compromettre la confidentialité des informations de votre clientèle et la réputation de votre entreprise.
  4. Risque de discrimination ou de biais dans les décisions prises par des algorithmes d’IA, ce qui pourrait affecter négativement l’expérience de vos clients.
  5. Risque d’obsolescence, si l’IA évolue rapidement et que votre restaurant ne parvient pas à suivre ces évolutions.

Pour tirer parti de l’IA dans votre restaurant, voici quelques idées :

  • Utilisez l’IA pour automatiser des tâches répétitives et fastidieuses, comme la gestion des commandes ou la facturation, afin de libérer du temps pour votre personnel.
  • Utilisez l’IA pour fournir une expérience personnalisée à vos clients, en utilisant leurs préférences et leurs historiques pour leur suggérer des plats et des boissons adaptés à leurs goûts.
  • Utilisez l’IA pour améliorer la précision de vos prévisions de ventes et de vos stocks, afin de minimiser les pertes de denrées périssables et de maximiser vos profits.
  • Utilisez l’IA pour analyser les commentaires et les évaluations de vos clients, afin d’identifier les points forts et les points faibles de votre restaurant et de mieux comprendre les attentes de votre clientèle.
  • Utilisez l’IA pour améliorer la sécurité de votre restaurant, en utilisant des caméras de surveillance intelligents pour détecter les comportements suspects ou dangereux.”

De nombreux exemples d’utilisation de ChatGPT pour de la génération de code sont également présents sur Internet. L’expérience est bluffante.

Demande:

Donne moi le résultat de l'interprétation de ce code PHP
<?php

trait Contact{
private string $email;
public function setEmail($email){
$this->email=$email;
}

public function getEmail($email){
return $this->email;
}
}
class Client{
private string $firstname;
private string $lastname;
public function setFirstname($firstname){
$this->firstname=$firstname;
return $this;
}
public function setLastname($lastname){
$this->lastname=$lastname;
return $this;
}
public function getFullname(){
return sprintf("%s %s",$this->firstname,$this->lastname);
}
}
class Welcomer{
public function __construct(Client $client){
print "Bonjour ".$client->getFullname.", vous êtes connecté avec l'adresse ".$this->getEmail();
}
}

$client=new Client();
$client->setFirstname("Jean")->setLastname("Dupont")->setEmail("test@test.com"); $welcomer=new Welcomer($client);

Réponse :

Ce code PHP définit trois classes : Contact, Client et Welcomer. La classe Contact contient une propriété privée email et deux méthodes publiques pour accéder à cette propriété : setEmail() pour définir l’adresse email, et getEmail() pour obtenir l’adresse email.

La classe Client hérite des propriétés et des méthodes de la classe Contact, et ajoute deux propriétés privées : firstname et lastname, ainsi que trois méthodes publiques pour accéder à ces propriétés : setFirstname() pour définir le prénom, setLastname() pour définir le nom de famille, et getFullname() pour obtenir le nom complet.

La classe Welcomer a un constructeur qui accepte un objet Client en paramètre. Lorsque l’objet Welcomer est créé, il affiche un message de bienvenue à l’utilisateur en utilisant son nom complet et son adresse email.

Le code suivant montre comment utiliser ces classes pour créer un objet Client, définir ses propriétés et afficher un message de bienvenue :

$client = new Client();
$client->setFirstname("Jean")->setLastname("Dupont")->setEmail("test@test.com");
$welcomer = new Welcomer($client);

Cela devrait afficher le message suivant :

Bonjour Jean Dupont, vous êtes connecté avec l’adresse test@test.com.


C’est absolument bluffant. Il faut bien comprendre que ChatGPT ne possède pas d’interpréteur PHP, il l’émule. Ce code PHP est en apparence assez simple mais inclut des concepts avancés tels que l’injection de dépendance ou les Traits (même s’il ne mentionne pas explicitement ce dernier). Toutefois, il ne serait pas étonnant que quelques erreurs d’interprétation se glissent avec des codes plus complexes.

On peut également demander à ChatGPT de traduire le code PHP ci-dessus en Python :

class Contact:

   def init(self):

    self.__email = ""

   def set_email(self, email):

    self.__email = email

   def get_email(self):

    return self.__email

class Client(Contact):

   def init(self):

      Contact.init(self)

      self.__firstname = ""

      self.__lastname = ""

   def set_firstname(self, firstname):

       self.__firstname = firstname

       return self

   def set_lastname(self, lastname):

       self.__lastname = lastname

       return self

   def get_fullname(self):

       return f"{self.__firstname} {self.__lastname}"

class Welcomer:

   def __init__(self,client):

      print(f"Bonjour {client.get_fullname()}, vous êtes connecté avec l'adresse {client.get_email()}")

client = Client()

client.set_firstname("Jean").set_lastname("Dupont").set_email("test@test.com")

welcomer = Welcomer(client)

Le code fonctionne. On peut également lui demander de générer du code de toute pièce en décrivant la fonctionnalité souhaitée. Cependant, il est souvent nécessaire d’avoir au minimum quelques connaissances de concepts, langages, ou librairies pour le guider.

Pour être objectif, tenter d’obtenir un code parfait et fonctionnel sans la moindre adaptation manuelle s’avère fastidieux dès que l’on veut atteindre un minimum de complexité. En revanche, l’outil est capable de générer des snippets propres.

Une capacité de déduction qui démontre la puissance de ChatGPT mais également..ses limites

Demande :
Jean, Françoise, Pierre, Paul et Martine ont participé à un hackathon et tous ont remporté le premier prix dans leur catégorie. Jean, Françoise et Paul ont présenté des projets sur le développement durable, Pierre et Martine ont présenté des projets e-commerce. Martine et Paul sont les deux seuls à avoir présenté des projets incluant de l’intelligence artificielle. Cette année, c’est une femme qui a gagné le premier prix du hackathon dans la catégorie “intelligence artificielle pour l’écologie”. Peux tu me dire qui a gagné et pourquoi ?

Réponse :
Il est difficile de dire qui a remporté le premier prix dans la catégorie “intelligence artificielle pour l’écologie” car vous ne fournissez pas suffisamment d’informations. Selon les informations données, on sait que Martine et Paul ont présenté des projets incluant de l’intelligence artificielle, et que c’est une femme qui a gagné le premier prix dans cette catégorie. Cela signifie que soit Martine, soit Paul a remporté le premier prix.

Pour en savoir plus sur le projet qui a remporté le premier prix, il serait utile d’avoir des informations supplémentaires sur les projets présentés par Martine et Paul. Par exemple, si l’on savait que Martine a présenté un projet sur l’intelligence artificielle appliquée à l’écologie, alors on pourrait dire avec certitude qu’elle a remporté le premier prix. Si en revanche Paul a présenté un projet sur l’intelligence artificielle appliquée à l’écologie, alors on pourrait dire avec certitude qu’il a remporté le premier prix.

Demande :
Paul est un prénom masculin, Martine un prénom féminin. Peux-tu maintenant me dire qui a gagné ?

Réponse :
En utilisant les informations supplémentaires que vous avez fournies, il est maintenant possible de dire qui a remporté le premier prix dans la catégorie “intelligence artificielle pour l’écologie”. Comme seuls Martine et Paul ont présenté des projets incluant de l’intelligence artificielle, et que selon vous c’est une femme qui a gagné le premier prix dans cette catégorie, on peut en déduire que Martine a remporté le premier prix.

Voici une conclusion possible : Martine a remporté le premier prix dans la catégorie “intelligence artificielle pour l’écologie” car elle a présenté un projet sur l’intelligence artificielle appliquée à l’écologie et qu’elle est une femme.

L’outil a donc développé une réelle capacité analytique, mais bute sur la question assez simple pour tout natif du genre de deux prénoms très répandus.

Cela résume la situation de ChatGPT : l’outil est très enthousiasmant, peut répondre à toutes nos questions mais bien fréquemment avec une certaine banalité (c’est étroitement lié avec la capacité de généralisation qui lui permet justement de fonctionner si bien). 

L’utilisation d’un tel outil permet de comprendre que même certains spécialistes puissent s’écarter de la réalité et commencer à lui prêter des caractéristiques qu’il n’a pas.

L’important pour comprendre ChatGPT est de ne pas oublier que sa mission est de proposer un rendu en apparence plus vrai que nature. Le code informatique généré est par exemple extrêmement crédible, à tel point qu’il marche bien souvent. Mais dans les faits, lors de nos tests, il comportait également assez souvent des erreurs. Les déboguer est d’autant plus difficile que le code généré sauve bien les apparences. Cela explique à la fois l’effet Wouaw et la déception que l’utilisateur qui s’attend à une révolution complète de ses usages ressentira certainement après quelques jours d’utilisation.

Contrairement à ce qui circule sur internet, la version actuelle de ChatGPT ne devrait mettre aucun spécialiste au chômage. Toutefois, s‘il ne peut les remplacer actuellement, il peut dès à présent assister des créatifs, des développeurs, ou se transformer en assistant personnel pour de la recherche d’information, et il a le mérite de permettre à tous de se faire une idée concrète de la direction dans laquelle nous nous orientons pour les quelques années à venir.

ChatGPT est aujourd’hui un outil disponible gratuitement en beta. Ne manquez pas de le tester.

Disponible en version beta gratuite :

Pour tester ChatGPT, rendez-vous ici 


1ère Marketplace de l'IA et de la transformation numérique vous recommande :
OutSystems - Developpement Low code par DYNACENTRIX

Depuis mars 2022, dynacentrix est partenaire intégrateur de la solution de développement low-code visuel, à base de modèles assistés par une ia de la ...

 
Partager l'article
Abonnez-vous à ActuIA, la revue professionnelle de l'intelligence artificielle magazine intelligence artificielle Découvrez la revue professionnelle de l'intelligence artificielle
intelligence artificielle
À PROPOS DE NOUS
Le portail francophone consacré à l'intelligence artificielle et à la datascience, à destination des chercheurs, étudiants, professionnels et passionnés.