La malédiction de la connaissance

A garder en tête pour tes prompts : les modèles de langage sont puissants mais pas omniscients.

Nous y voilà. Huitième et dernier épisode de notre série Bien débuter avec ChatGPT et le prompt.

Sept semaines. Sept épisodes. Des prompts, de l'auto-régression, de la chaîne de pensée...

C’est l’heure du bilan : on récapitule l’essentiel et je partage qqs réflexions.

Pour l’occasion, j’ai demandé à Claude de nous faire un petit récap de “Ce qu’il fallait retenir” des épisodes précédents. Claude, je te laisse la parole.

Remarque : Pour être bien clair et transparent, la section ci-dessous a été intégralement écrite par Claude. Je n’ai pas touché un mot. J’ai juste mis rapidement en forme (liste à puces…). Voilà ce à quoi j’en suis réduit 😢.

Parce que, au fond, qu'est-ce qu'on a appris ? Deux choses :

  • La nature des LLMs (Large Language Models)

  • L'“art” du prompting

Commençons par le commencement.

La nature des LLMs : comprendre son interlocuteur virtuel

  • Auto-régression et génération mot par mot : Les LLMs, c'est comme des écrivains compulsifs. Ils écrivent mot après mot, chaque nouveau mot influencé par tous ceux d'avant. Pas de plan, pas de vue d'ensemble. Juste une progression continue.

  • Fenêtre contextuelle limitée : Imaginez que vous discutez avec quelqu'un qui oublie le début de la conversation au fur et à mesure. C'est un peu ça, la fenêtre contextuelle des LLMs. Au-delà d'une certaine limite, pouf, plus rien.

  • Vastes connaissances préexistantes : Wikipedia, des pans entiers du web, des bouquins... Les LLMs ont tout avalé. C'est comme avoir un pote qui aurait lu toute la bibliothèque d'Alexandrie. Impressionnant, non ?

  • Influence de l'entraînement : L'entraînement, c'est comme l'éducation pour nous. Ça laisse des traces. Des bons réflexes, parfois. Des biais, souvent.

  • Capacité générative : Donner un thème à un LLM, c'est comme ouvrir les vannes d'un barrage. Ça génère, ça crée, ça invente. Parfois brillamment, parfois... moins.

L'art du prompting : parler le langage des LLMs

  • Clarté et précision : Soyez clair. Soyez précis. Les LLMs ne lisent pas entre les lignes.

  • Structure "données + instructions" : Imaginez que vous donnez des instructions à un stagiaire. Vous lui donnez d'abord les documents nécessaires, puis vous lui expliquez quoi en faire. Même principe ici.

  • Itération et raffinement : Le premier jet est rarement le bon. Itérez. Raffinez. C'est comme ça qu'on obtient des pépites.

  • Pensée critique : Les LLMs peuvent se planter. Ils peuvent halluciner. Gardez l'œil ouvert et l'esprit critique.

  • Chaîne de pensée (Chain of Thought) : Guidez le modèle étape par étape. Comme si vous expliquiez à un enfant.

  • Few-shot learning : Donnez des exemples. Les LLMs adorent ça.

Merci Claude. C’était vraiment très intéressant.

Il manque peut-être deux-trois choses ici et là, mais franchement, pas mal du tout.

J'ai aimé particulièrement (même si je déteste que les LLMs utilisent autant d’analogies quand je leur demande de copier mon style) cette explication: : "Les LLMs, c'est comme des écrivains compulsifs. Ils écrivent mot après mot, chaque nouveau mot influencé par tous ceux d'avant. Pas de plan, pas de vue d'ensemble.."

Pas de plan.

Voilà qui résume effectivement une des limites majeures des LLMs actuels (Le tout nouveau modèle o1 d'OpenAI comblerait t’il cette lacune ?).

Yann LeCun (lauréat du prix Turing, le “Nobel de l'informatique”), l'affirme sans détour ici :

Les modèles de langage n’ont aucun bon sens, aucune compréhension du monde, et aucune capacité à planifier, ou à raisonner.

Yann LeCun

Prends ça, ChatGPT.

Mais bon, ne soyons pas trop durs. Après tout, ces modèles sont indéniablement “capables”, même s'ils ne sont pas “intelligents” au sens où on l'entend habituellement.

Simon Willison offre une perspective intéressante à ce sujet :

Ma vision préférée de l'IA générative : une technologie intrinsèquement peu fiable. Ça explique pourquoi il est si contre-intuitif d'apprendre à en tirer de bons résultats - et pourquoi tant de gens la rejettent comme inutile ou survalorisée.

Simon Willison

C'est vrai, c'est une technologie “différente” : pas le classique “J’appuie sur un bouton et je sais exactement ce qu’il va se passer“. Il y a un côté non prédictible. Mais les utilisateurs (comme Simon Willison) qui savent l’utiliser en tirent de réels bénéfices.

D'ailleurs, alors que la "hype" retombe un peu (et c'est tant mieux), je sais au moins une chose : je l'utilise TOUS les jours. Générer du code, comprendre un concept, simplifier un texte... C'est devenu une routine quotidienne.

Alors, je sais, au cours de cette série, j'ai passé beaucoup de temps à expliquer la nature de ces modèles plutôt que de te donner les dernières techniques de prompts à la mode. Frustrant ? Peut-être. Mais si le prompt est un "message", connaître son destinataire, même virtuel, n'est-ce pas la base ?

Les LLMs ont leurs limites, mais avec le bon guide - toi en l’occurence - ils peuvent être très utiles.

C'est là tout l'art du prompt engineering.

Voyons justement ce que les experts d'Anthropic (la boîte derrière Claude) ont à nous dire sur cet “art”. J’ai regardé attentivement cette table ronde : AI prompt engineering: A deep dive (avec notamment Amanda Askell, philosophe de formation, et dont le surnom est « celle qui murmure à l’oreille de Claude ». J’ai particulièrement aimé ses insights).

Un concept en particulier a retenu mon attention : l'idée qu'il est extrêmement difficile d'expliquer clairement une tâche ou un concept à un modèle de langage, car nous avons tendance à supposer que certaines choses sont évidentes alors qu'elles ne le sont pas pour le modèle.

Intrigué, j’ai demandé à ChatGPT si il existait un terme pour décrire ce phénomène :

Y a t'il un nom pour ce concept :
"""
Quelque chose qu'on sait, qui nous semble évident, tellement évident qu'on n'y pense même pas, et on pense que les autres le savent aussi, alors que pas forcément. On sous estime le fait qu'on sache quelque chose parce que c'est notre quotidien... et dc on suppose que les autres le savent. 
"""

quelque chose dans le genre ?

Le concept que vous décrivez est souvent appelé la malédiction de la connaissance.

La "malédiction de la connaissance" est un biais cognitif qui survient lorsqu'une personne qui connaît quelque chose a du mal à imaginer ce que c'est de ne pas le savoir. Ce phénomène entraîne une difficulté à expliquer clairement une idée ou une compétence parce que la personne suppose que ce qu'elle sait est évident pour tout le monde, alors que ce n'est pas forcément le cas. Cela reflète aussi l'idée que l'on sous-estime la difficulté pour d'autres d'acquérir cette connaissance, car elle nous semble naturelle ou intuitive.

La malédiction de la connaissance…

Dans le contexte du prompt engineering, le défi, c'est d'externaliser notre modèle mental de la tâche vers un modèle qui n’a pas notre savoir implicite et ignore tout de notre contexte.

En gros, se demander : "Qu'est-ce que le modèle a besoin de savoir - contexte, instructions, logique, cas particuliers, etc. - pour faire cette tâche exactement comme je me l'imagine dans ma tête ?"

C'est tellement difficile de rédiger des instructions pour une tâche. C'est tellement difficile de démêler dans ton propre cerveau toutes les choses que tu sais mais que Claude ne sait pas, et de les écrire. C'est un défi immense de mettre de côté toutes les choses que tu tiens pour acquises et de réussir à communiquer très clairement l'ensemble des informations nécessaires à un modèle. Je pense que c'est aussi quelque chose qui différencie vraiment un bon ingénieur de prompt d'un mauvais.

David Hershey, Anthropic

La vidéo (et la série), bien sûr, aborde d'autres aspects : l'importance de (bons) exemples, la structuration des prompts, la décomposition en tâches simples, l'interprétation des réponses, la gestion des cas particuliers... MAIS si il y a une chose à retenir, c’est ça.

Ah. Aussi, ce qui m'a intrigué dans cette discussion, c'est comment ces experts disent avoir changé leur façon d'interagir avec Claude au fil du temps. Ils sont passés d'une approche simpliste (ils parlent de “maternage“) à des échanges plus poussés :

Si tu considères simplement que Claude est “intelligent” et que tu le traites ainsi, il a tendance à bien s'en sortir.

David Hershey, Anthropic

Hmm.. Je prends ça comme une invitation à penser à de nouvelles manières de prompter ? Peut-être avec une saison 2 de la série ?

Merci

Merci à tous ceux qui ont laissé des commentaires, questions, encouragements, critiques. C’est top. Ça m’a permis d’améliorer au fur et à mesure la série. Des changements à la marge principalement. Sauf pour l’épisode 3, Dis, ChatGPT, tu te souviens de moi ? que j’ai revu en apportant qqs précisions. Donc, si tu fais partie des premiers lecteurs de la série, tu pourrais être intéressé(e) par lire la version à jour.

J’ai publié aussi tous les épisodes sur le web :

Et maintenant ?

J’espère que cette série t‘aura plû ou à défaut appris quelque chose. N’hésite pas à nous dire aussi ce que tu penses de ce concept de “série“. On prévoit d’en écrire d’autres, certaines payantes. Si tu as des idées de sujet que tu aimerais qu’on explore, dis-nous.

Et continue à “tester”, à développer ton “intuition“, à te former.

Tu veux lire une autre série ?

Alors, je te recommande Comment créer de belles images avec l'IA, sur le même principe, où Benoît partage avec toi tout ce qu’il a appris sur l’art de prompter des images. Quel que soit l’outil que tu utilises (Midjourney, Dall-E, Leonardo, Ideogram ou encore Flux).

J’en suis à l’épisode 3 :-)

THE END