ChatGPT au filtre des échecs
mardi 14 février 2023
13 février 2023
Pourquoi ChatGPT ne sait pas parler, démonstration par l’exemple à travers une partie d’échecs.
Une partie entre ChatGPT (l’outil conversationnel, avec les noirs) et StockFish (le moteur d’échecs ultra-puissant, avec blancs), publiée sur cette page ; gif animé :
Ce qui est intéressant avec cette partie d’échecs (expliquée ici en anglais si vous n’êtes pas familier avec le jeu (mais avec l’anglais)) c’est qu’on voit comment ChatGPT d’OpenAI utilise la langue pour former des réponses acceptables, probables.
L’IA est conversationnelle, ce n’est pas un moteur de jeu d’échecs. Donc, elle formule des phrases pour répondre à votre coup, provoqué lui aussi par une phrase. Par exemple : "J’ouvre avec pion en e4". Ce à quoi ChatGPT répond non pas en vertu des règles du jeu qu’il a apprise, mais à travers sa base de langage, qui contient des livres sur les échecs, des guides d’ouvertures de partie, des conversations sur des forums peut-être, bref elle "devine" qu’à cette ouverture, très classique, la réponse est souvent la même. Elle peut donc répondre "pion en e5", avec une bonne certitude que c’est la réponse que vous attendez, qui vous satisfera. Les ouvertures aux échecs sont un ensemble de tactiques qui consistent principalement à occuper le centre avec des pions, qui peuvent ensuite être protégés par les cavaliers. Aussi, les premiers coups de beaucoup de parties se ressemblent, les tutoriaux répètent souvent la même chose, ou à peu près. La stratégie est grosso-modo la même pour toutes les ouvertures, et le nombre de cases où vont les premières pièces assez attendu, on bouge souvent les mêmes pions, etc. Mais assez vite, quand on s’éloigne des trois ou quatre premiers coups, la simple analyse de texte ne permet plus de jouer en respectant les règles, les cas possibles deviennent rapidement trop complexes et un pion déjà avancé peut soudain être reculé, par une phrase où l’IA répond quelque chose qui utilise la syntaxe, le vocabulaire du jeu, mais qui est interdit par les règles : les pions, aux échecs, n’ont pas le droit de reculer. Pour l’IA, pas de souci, la phrase existe, ou mieux : la phrase peut exister. Mais elle ne sait pas dire si la phrase respecte la règle. Ou invente de le dire, et l’affirme sans fondement, ou s’excuse et tente autre chose. Dans une autre partie, on verra une pièce aller sur une case qu’elle occupe déjà, ou qu’une pièce de sa propre couleur occupe. Non pas un déplacement mais une phrase probable, qu’on peut entendre, mais pas précisément là, dans cette partie particulière. La partie partagée plus haut montre ces coups illégaux, la traversée des pièces par une autre, roquer en mangeant son propre fou, placer une pièce alors qu’elle n’existe plus sur le plateau, etc.
Je détaille pour bien montrer que pour la langue, il faut imaginer la même façon de fonctionner. C’est comme ça que ChatGPT utilise son modèle pour produire du texte. L’IA envoie dans sa mémoire vectorielle en n-dimensions (cette matrice complexe de nombres où est représenté "tout" le langage) les propositions qu’on lui fait. Elle rapproche une proposition de certaines zones de ce nuage inextricable, compare avec ce qu’elle "sait", et comprend qu’il s’agit d’un jeu d’échecs, que des coups sont joués, auxquels on répond par un autre coup avec un code pour les cases de a1 à h8. Mais il pourrait s’agir d’une question scientifique, où il est question de vaccin. Ou d’une question géopolitique. Elle peut alors de tenter sa chance en répondant par rapport à ce que cette mémoire lui dit qu’il est possible que la réponse appropriée soit. Il y a un champ lexical, des formules types. Elle agrémente parfois son coup d’un commentaire typique des tutoriaux comme "je joue Reine en d7, pour protéger mon fou et mettre la pression sur votre cavalier". Mais cela sans aucune mémoire du jeu : quel cavalier ? Quel fou ? Il peut ne rien avoir à ces endroits. Mais ce sont des phrases de joueurs, des phrases explicatives, et cette Reine en d7 est une phrase qui sans doute apparaît souvent dans telle ou telle situation avec la mention d’une "protection" ou d’une "pression". De même, il y a des phrases sur les vaccins qui reviennent souvent. Les enjeux internationaux impliquent certaines tournures de phrases, si dans votre question tel pays est mentionné, il y a une chance que vous attendiez dans votre réponse la mention du pays voisin bien connu, ou de telle personnalité. Qui sait ? C’est bon à 98,91%, ça ne peut pas être mauvais, et l’IA va répondre pour vous satisfaire.
C’est un calcul de probabilité, il est "probable" que cette phrase fonctionne, ça pourrait une autre phrase potentielle située juste à côté dans le nuage de nombres qui représentent les concepts. Dans ce jeu très précis aux règles strictes, on observe un gouffre entre ce qu’il faudrait écrire, et ce qui est généré. Mais n’est-ce pas un jeu aux règles finalement très stricte que la langue, et la pensée ?
Pour les échecs, il est flagrant que c’est du grand n’importe quoi. (Ici une autre vidéo avec quelques exemples de ces phrases qui appuient un coup). Pour la langue, il semble plus difficile de voir ce qui ne va pas, et finalement il est peut-être plus facile de se laisser berner, de considérer que la phrase est suffisamment réaliste, acceptable, intéressante. Nous sommes satisfaits. Il faut bien voir toute réponse de ChatGPT, toute proposition écrite qu’elle fait, comme cette partie d’échecs impossible : comme une langue impossible.
Libre à nous, bien sûr, de l’utiliser en sachant cela. Pour le moment, on peut le voir comme un outil : je peux l’utiliser [1] comme j’utilise un dictionnaire des synonymes ou des rimes. En panne d’inspiration, bloqué à chercher un mot ou ne sachant comment continuer un paragraphe, j’ouvre un dictionnaire pour dérouler un fil à partir d’un fragment de mon texte. Je peux désormais demander à une IA, qui me répond quelque chose auquel je n’avais pas pensé, je peux la paramétrer pour être un peu moins terre à terre que sa configuration par défaut, moins sage. Et j’ai une aide de plus à l’écriture.
Écouter aussi l’émission de Science CQFD où il est question de l’absence de sources aux réponses. Du fait que ChatGPT elle-même ne sait pas si sa réponse est valable autrement que comme phrase "possible", ou "réaliste" par rapport au sujet. L’information donnée, la "vérité", pourrait-on dire, lui est étrangère. Et l’interface nous prévient bien sûr, que son rôle est conversationnel, l’IA ne sait pas ce qu’elle produit et ne peut juger de la qualité de ses réponses. La machine le dit elle-même, elle ne peut dire si sa réponse est exacte : "Il est important de faire preuve de scepticisme et de vérifier les informations avec d’autres sources fiables avant de les considérer comme véridiques".
ChatGPT m’avait dit aussi, après avoir refusé de jouer aux petits chevaux sous prétexte de ne pouvoir effectuer d’actions physiques : "Oui, je suis formé pour jouer aux échecs et je peux générer des coups réalistes et légaux".
Mais en améliorant ? En spécifiant ? Par exemple, Stockfish, le moteur de jeu d’échecs ultra-puissant, utilisés par les meilleurs joueurs et joueuses du monde pour se préparer, est fondé sur le même mécanisme d’apprentissage que ChatGPT, mais adapté aux échecs et rien qu’à ça. Alors peut-on imaginer un moteur de langue qui... Mais justement, c’est ChatGPT, c’est tout OpenAI, c’est là où l’on en est.
Ou alors un moteur de narration spécifique aux architectures de récit ? Ou alors, GPT-4 ? La nouvelle IA pourra peut-être simplement mieux nous tromper, mieux nous faire croire à. Et cela, n’est-ce pas exactement de la fiction ?
à suivre
[1] Avant de (ne plus) l’utiliser on lira cet article du Time, mais il existe d’autres outils comme PAGnol ou Camem-BERT de l’INRIA, j’ai déjà utilisé d’autres outils.