ChatGPT et la tronçonneuse
Je suis de plus en plus surpris de ce que j’entends, non seulement dans la rue ou dans les médias, mais aussi, et de plus en plus fréquemment, dans les milieux de la recherche (colloques, séminaires, tables rondes…). – à propos de l’utilisation de ChatGPT.
Je parle bien de ChatGPT et non des LLM. Car ChatGPT semble être devenu la seule application connue et, avec une opération d’antonomase, on lui identifie l’IA (comme google=recherche, zoom=vidéoconférence, word=écriture, etc.).
L’expression « IA » ne veut déjà pas dire grand-chose, mais limiter le monde des approches computationnelles à un chatbot, c’est vraiment stupéfiant.
Une petite explication pour les personnes qui n’ont aucune idée de ce dont on parle :
ChatGPT est une application qui utilise un LLM pour mettre en place un chatbot. Un LLM permet de réaliser une série de calculs sur la langue. Je peux par exemple savoir où se trouve un mot ou une phrase dans un espace linguistique particulier, calculer sa distance par rapport à d’autres mots ou d’autres phrases et donc chercher des synonymes, des contraires, etc. Je peux chercher un mot ou une phrase qui a une position semblable dans une autre langue et donc essayer de trouver une traduction, etc. Je peux par exemple prendre une série de mots et chercher les mots les plus probables qui suivent ces mots. Par exemple, si j’ai les mots « Mon plat préféré est », le LLM pourra me suggérer, par exemple, que le mot le plus probable qui suivra ces mots sera « pizza ».
C’est ce dernier principe qui est utilisé pour un chatbot. C’est ce que fait ChatGPT : on introduit un prompt et il produit la série de mots les plus probables qui suivent ce prompt. Pour obtenir des résultats optimaux, on ajoute une série de méthodes, comme le renforcement learning, pour biaiser les résultats du LLM. Lorsque l’on écrit « Écris-moi une lettre pour mon ami Jean » dans le prompt de ChatGPT, ChatGPT n’a aucune idée de ce qu’on demande, il calcule juste quels sont les mots les plus probables qui viendront après, sur la base de ce qu’il a vu sur l’ensemble des textes sur lesquels il a été entraîné, et il nous les donne.
ChatGPT, donc, bavarde. Il bavarde de façon probabiliste, sur la base de ce qu’il a entendu (son corpus d’entraînement — c’est l’idée du « perroquet stochastique ») et sur la base des instructions qu’il a reçues ensuite pour éviter de dire des choses qui pourraient déranger.
Or on pourrait déjà se demander quel est l’intérêt d’un tel outil… Quand est-ce que j’ai besoin de bavarder ? Et si j’en ai besoin, ne puis-je pas simplement aller dans le café d’en face et boire une bière en compagnie ? Certes, le copain de bière que je pourrais trouver produira son bavardage à partir d’un corpus plus limité que ChatGPT (il a lu et entendu moins de choses), mais le principe est plus ou moins le même.
L’engouement pour cette application me laisse bouche bée. On peut peut-être penser que cela vient du test de Turing et du fait que la définition formelle d’intelligence que propose Turing — avec beaucoup d’humour — est fondamentalement la capacité de bavarder. C’est l’idée de l’imitation game.
Mais au-delà de l’engouement pour l’application de la part du grand public et des médias, ce qui me choque, c’est ce que j’entends auprès de mes collègues.
De plus en plus de personnes utilisent ChatGPT pour faire des choses qui n’ont rien à voir avec un chatbot, comme par exemple faire des recherches dans un corpus, des analyses linguistiques, extraire des mots-clés, faire du topic modeling ou de la fouille de texte en général. Et encore, faire des traductions, reformuler des phrases…
Mais cela n’a aucun sens !!! Bien évidemment, les LLM peuvent être utilisés pour faire des trucs de ce type, mais en utilisant d’autres méthodes et d’autres applications !
J’essaie d’utiliser une métaphore pour m’expliquer (avec un clin d’œil à Benoît Melançon) : avec un moteur à explosion, on peut faire des voitures (le moteur sert à faire tourner des roues) ou des tronçonneuses (la tchén’ssâ). Mais il n’est pas recommandé d’essayer de rentrer chez soi en utilisant une tronçonneuse. Mieux vaudrait utiliser une voiture.
Or l’approche d’openIA – et des utilisateurs – semble consister à adopter la tronçonneuse pour faire aussi l’office de voiture: on ajoute des pneus autour de la chaîne, on construit des routes qui s’adaptent à des tronçonneuses (c’est un peu ce qu’on fait avec le reinforcement lerning). Pour faire un exemple: ChatGPT n’est pas fait pour faire des traductions, mais certes, si on s’adapte un peu et si on rajoute à son fonctionnement des couches logicielles qui biaisent ses associations probabilistes, il peut arriver à faire un truc qui a l’air décent. Mais pourquoi ne pas utiliser des applications qui sont faites pour ça?
Deepl, notamment, utilise des LLM pour traduire, mais dans son cas le LLM n’est pas utilisé pour trouver les mots les plus probables qui viennent après le prompt, mais les mots qui ont une position semblable dans l’espace linguistique cible. Donc quand je dis à ChatGPT: “Traduis le mot amour en anglais” ChatGPT me répond avec la phrase la plus probable qui vient après mon prompt et peut-être il arrivera à associer à mon prompt une traduction (c’est juste une question de chance probabiliste et de rajout de couches logicielles pour biaiser la probabilité). Mais Deepl, quand j’écris “amour”, cherche directement le mot qui a un vecteur semblable en anglais. Donc il dépense moins d’énergies pour faire une chose plus précise.
En ce qui concerne la recherche, il me semble qu’il faudrait interdire toutes les applications: si on veut faire de la recherche avec les LLM, il me semble nécessaire de les utiliser en dehors des couches applicatives, en créant des applications ad hoc. Tous les autres usages devraient être bannis, parce que l’usage de LLM dans des applications existantes rend impossible la compréhension précise de la méthodologie. Mais au moins, si nous voulons vraiment utiliser des applications existantes, choisissons celles qui implementent des approches de recherche et non un chatbot!
J’ai entendu des gens dire à des colloques (!!!) “j’ai entraîné ChatGPT à faire x”. Mais cette phrase ne veut rien dire. Tu n’as rien entraîné, car GPT (le LLM sur lequel ChatGPT est basé) est préentraîné – comme le dit son acronyme: generative pretrained transformer. Tu as juste donné un prompt plus long et donc – peut-être – changé les mots les plus probables qui viendront après. Mais la réponse sera toujours une série de mots dont le rapport avec le prompt – aussi long soit-il – sera juste d’être “ceux qui ont le plus de probabilités de venir après”.
Encore une fois un “outil” qui se diffuse de façon bête – Word est mon autre exemple préféré. Encore une fois des usages qui se concentrent et des pratiques qui se formattent en adaptant les besoins à l’outil au lieu de définir l’outil en fonction des besoins. Désormais il semblerait que la chose la plus intéressante – ou plutôt la seule – que nous pouvons faire de nos jours c’est bavarder… et que tout peux se réduire au bavardage.
Aussi les critiques de ChatGPT sont souvent débiles: il est évident qu’un chatbot n’a aucune idée de vérité, il ne sait pas ce qu’est une source ou une référence… il n’est pas fait pour cela. Quand on fait des recherches en utilisant ChatGPT comme un moteur de recherche c’est encore une fois comme si on essayait d’utiliser une tronçonneuse pour rouler sur l’autoroute et qu’on se plaignait du fait qu’elle “ne marche pas bien”… Elle marche superbien, mais pour couper des arbres! ChatGPT ne peut pas faire des recherche, il n’est pas conçu pour cela, il sert à autre chose. (D’autres angoisses et critiques débiles concernent la prétendue perte de créativité, le plagiat etc… j’ai déjà eu l’occasion d’en parler).
Il est évident que la communication des entreprises ainsi que le discours médiatique confondent les idées. On nous vend l’idée de l”‘intelligence artificielle”, l’idée selon laquelle il y aurait des outils miracle qui font tout parce qu’ils savent tout. Alors qu’il n’y a pas d’intelligence – ni artificielle ni naturelle, d’ailleurs – mais juste des modèles capables de répondre à des besoins spécifiques – les besoins qui ont été modélisés, justement.
Le problème ne sont pas les LLM, le problème n’est pas ChatGPT non plus – très utile pour écrire des demandes de financement, par exemple, qui sont, en effet, du bavardage probabiliste. Le problème est de ne jamais se poser la question de ce que pensent les outils que nous utilisons. De ne jamais modéliser précisement nos besoin, de ne jamais prendre le temps pour les spécifier et les comprendre. De croire qu’il y a juste un outil plus performant que l’autre. Alors qu’il y a des voitures et des tronçonneuses.