5 points par GN⁺ 2024-08-19 | 1 commentaires | Partager sur WhatsApp
  • Une chaîne de Markov est un simple modèle statistique qui choisit le mot suivant, mais comme elle ne saisit pas complètement le sens, cette torsion peut produire des sorties plus drôles que celles d’un LLM
  • L’humour naît d’une surprise légère et inattendue : on installe un schéma familier, puis on brise l’attente avec un « snap » qui renforce la blague
  • Les LLM cherchent le token suivant le plus plausible à partir d’un vaste contexte et de calculs probabilistes ; à mesure qu’ils s’améliorent, ils tendent donc vers des phrases moyennes et prévisibles
  • Dans une comparaison entre ChatGPT 3.5 et une chaîne de Markov entraînée sur la King James Bible et des manuels d’informatique, la chaîne de Markov produit des phrases presque cohérentes avant de bifurquer vers un glissement de sens absurde à la fin
  • Les LLM actuels ne sont pas bien adaptés à l’écriture créative ni à la génération de blagues, et les modèles de langage conçus pour ces tâches devraient être catégoriquement différents des LLM actuels

Pourquoi les chaînes de Markov paraissent plus drôles

  • Les exemples de chaînes de Markov entraînées sur la King James Bible et des manuels d’informatique mélangent style biblique et vocabulaire de programmation, produisant des phrases « presque sensées mais qui s’effondrent à la fin »
  • On a demandé à ChatGPT 3.5 de produire quelque chose de similaire, mais le résultat se rapproche de phrases plus ordonnées et sémantiquement stables
  • Les deux exemples sont des cas sélectionnés, mais la comparaison retient dans les deux camps de bons candidats
  • Les phrases de la chaîne de Markov portent un sens étrange et, à mesure qu’elles approchent de la fin, provoquent des changements de direction dénués de sens

La chaîne de Markov ressemble à un « LLM très stupide »

  • Quand les LLM ont commencé à être largement expliqués, on les comparait parfois à des « chaînes de Markov très intelligentes », mais on peut aujourd’hui voir les chaînes de Markov comme des « LLM très stupides »
  • ChatGPT est un LLM, c’est-à-dire un Large Language Model
    • Certains modèles dépassent largement 300 Go, d’autres font moins de 10 Go
    • Même petits, on les appelle en général des petits LLM, pas des « small language models »
  • Une chaîne de Markov prédit elle aussi le mot suivant à partir du contexte actuel, mais c’est un modèle statistique simple qui ne prend pas en compte la sémantique, la dimensionnalité ni les mathématiques vectorielles spécialisées
  • La suggestion du mot suivant en haut du clavier d’un téléphone est généralement construite avec des chaînes de Markov : le coût d’exécution est faible et le modèle peut être facilement mis à jour selon le style de messages de l’utilisateur
  • Si l’on doit générer une phrase avec un objectif précis, un LLM s’en sort souvent mieux, mais la précision ne mène pas automatiquement au comique

L’humour est une « surprise légère et inattendue »

  • L’humour est résumé comme unserious surprise, c’est-à-dire une surprise non sérieuse
  • Une bonne blague a un « snap » net et plaisant
    • Le terme « snap » est utilisé pour éviter la charge sémantique de « chute »
    • Moins il y a de surprise, moins c’est drôle
  • Si l’on entend plusieurs fois la même blague, elle fait moins rire parce que la surprise diminue
  • Si un humour « aléatoire » peut sembler peu drôle, c’est que même si les mots eux-mêmes sont imprévisibles, l’attente de l’imprévisible est déjà prévisible
  • Réutiliser un schéma familier puis le trahir renforce le snap
    • « banana, apple, orange, vehicular manslaughter » installe le motif d’une liste de fruits en un mot, puis brise l’attente avec l’expression d’un crime
  • Écrire des blagues revient en grande partie à violer un schéma

Plus la scène est nette, plus le snap est fort

  • Un langage plus original ou plus descriptif peut rendre la scène plus réelle, et donc renforcer le snap
  • Au lieu d’écrire simplement « he was shot », écrire « he was pierced by a 35mm » rend la scène plus concrète
  • Au lieu de « he fell », une formule comme « his face met the ground » rend l’image plus vive
  • Commencer au milieu de la scène peut aussi être efficace
    • « a urinal cake? I’m not falling for that one again » pousse à imaginer ce qui s’est passé avant et renforce l’impression de réalité de la scène
  • Bonne écriture humoristique et bonne écriture partagent en partie le même objectif
    • Les clichés gaspillent des mots parce qu’ils laissent la scène dans un état non réalisé

Les conditions de fonctionnement de l’humour

  • Ce qui constitue une « surprise légère et inattendue » n’est pas universel, donc l’humour est subjectif
  • L’humour vulgaire peut ne pas faire rire parce qu’il est pris trop au sérieux, ou au contraire échouer parce qu’il est trop prévisible
  • L’anti-blague ne peut être drôle que si la structure même de la blague est prévisible
  • L’absurde ne fonctionne que si l’on est prêt à l’accepter
  • On peut transgresser des normes culturelles, mais il faut que cette transgression soit comprise comme non sérieuse
  • L’auteur, Américain anglophone, a même réussi à faire une blague en utilisant « no » d’une manière culturellement inattendue dans un environnement non anglophone

Les LLM sont optimisés vers la prévisibilité

  • Pour prédire correctement une phrase, il faut beaucoup de contexte, et les LLM exploitent ce contexte
  • Leur fonctionnement de base consiste à trouver le token suivant le plus probable par des calculs complexes
  • Si le corpus est composé d’énoncés raisonnables, un meilleur LLM produira donc des sorties plus prévisibles
  • Cette propriété peut faire des LLM un mauvais choix pour l’écriture créative
    • Sans beaucoup de prompt engineering, un paragraphe généré peut facilement donner l’impression d’avoir été écrit par un LLM
    • Le résultat ressemble à la phrase la plus moyenne possible dans son contexte
  • Demander à un LLM d’avoir une « idée originale » est presque contradictoire : c’est un outil conçu précisément pour ne pas faire cela

Les LLM actuels ne sont pas adaptés à la génération de blagues

  • Pour produire une blague, il faut tordre une expression commune d’une manière inattendue afin d’en changer le sens
  • Or un bon LLM est optimisé précisément pour éviter ce type d’écart
  • L’auteur n’adhère pas à l’idée que la comédie ne pourrait pas être générée par algorithme
    • La comédie peut être analysée et mesurée
    • Avec des moyens suffisants, une génération de comédie à la demande pourrait être possible
    • Ce n’est pas parce que c’est possible qu’il faut le faire
  • Les LLM actuels ne sont pas l’outil approprié pour cette tâche
  • Les premiers LLM étaient plus drôles, et il en allait de même pour la génération d’images à ses débuts
    • Il y a par exemple les images « trail cam » de Dall-e mini
    • À mesure que les systèmes se sont améliorés, l’humour a disparu

La tension entre meilleure machine de prédiction et expression artistique

  • Une excellente machine de prédiction n’aide pas forcément beaucoup l’expression artistique
  • Les LLM ont toujours de nombreux usages, mais ils ne sont pas l’outil parfait pour le travail créatif
  • Il arrive aux LLM de passer à côté de concepts intéressants qu’un enfant pourrait trouver facilement
  • En partant de ce constat, on pourrait concevoir d’autres types de modèles de langage
    • Ils devraient être catégoriquement différents des LLM actuels
    • Peut-être assez différents pour qu’on ne les appelle même plus des LLM

Les fuites d’abstraction visibles dans les sorties des LLM

  • Cette thèse n’oppose pas « l’humain spirituel » à la machine
  • Même à mesure que les LLM progressent, ils révèlent des défauts récurrents ; dans leur tentative de paraître humains, ils se comportent comme une abstraction qui fuit, laissant apparaître leur structure interne
  • Si tous les messages de ChatGPT donnent l’impression d’être des dissertations de lycée, c’est parce qu’ils reproduisent la sortie la plus moyenne possible
  • Les sorties des LLM peuvent ressembler à un style corporate fade, privé de personnalité et durci par une rigueur pseudo-académique
  • Les faux avis Amazon sont faciles à repérer si l’on se demande : « Est-ce que j’écrirais vraiment comme ça ? »
    • On peut se demander si quelqu’un ajouterait vraiment une introduction et une conclusion à son expérience avec des Oxiclean dish wipes
    • Une phrase remerciant le fabricant et saluant son engagement envers le service client peut ne pas ressembler à une véritable expérience utilisateur
  • Les modèles de détection de LLM pourraient bientôt devoir repérer la personnalité, un peu comme un CAPTCHA à l’écran

Liens de référence

  • famous tumblr blog : source d’exemples de chaînes de Markov mêlant King James Bible et style de programmation, récemment relancé

1 commentaires

 
GN⁺ 2024-08-19
Commentaires sur Hacker News
  • Je suis arrivé à la même conclusion il y a quelques années en travaillant sur un projet perso.
    Avant l’arrivée des LLM, j’avais créé un site qui générait de faux AWS Blog Posts, https://totes-not-amazon.com/, et j’avais entraîné un générateur par chaînes de Markov sur l’ensemble des annonces AWS publiées jusque-là, puis copié le HTML/CSS du blog AWS et assemblé le tout en Python+JS.
    C’était assez drôle : même des gens familiers du blog AWS devaient lire quelques phrases avant de se rendre compte que ce n’était qu’une soupe de mots.
    Quand GPT venait tout juste de sortir, j’ai essayé de l’améliorer en générant des billets de blog à partir de contenu AWS avec gpt-2-simple de Minimaxir, mais le résultat était trop plausible et donc beaucoup moins amusant. Ça se lisait comme un vrai billet de blog, sauf que les faits étaient faux.
    Au final, l’humour des premières productions markoviennes venait de l’absurdité ressentie quand, après quelques mots ou quelques phrases, on comprend que tout est totalement incohérent ; les LLM actuels sont trop bons pour ça. Ils se trompent parfois, mais il est rare qu’ils soient incohérents de façon drôle.
    Le contenu généré par chaînes de Markov se trompe façon « les enfants disent n’importe quoi », tandis que les LLM modernes se trompent comme « un oncle qui ne connaît même pas la géographie de base ».

    • https://cemulate.github.io/the-mlab/#y3Bt-co-extensional+limit
      https://github.com/cemulate/the-mlab
      C’est une parodie de nLab, un wiki collaboratif sur la théorie des catégories et la théorie des catégories supérieures. Quiconque a déjà vu nLab comprendra : pour un débutant, le jargon est presque indéchiffrable, ce qui a donné l’idée de ce projet.
      Ce projet utilise le paquet nearley-generator, qui transforme une grammaire Nearley en générateur de faux texte efficace et contrôlable ; le fichier de grammaire se trouve dans /src/grammar/nlab.ne.
    • Je suis arrivé à la même conclusion de façon similaire. Autrefois, j’avais créé une chaîne de Markov à partir de notes de patch de jeux et je les avais envoyées à la communauté ; les faux patchs Dota, en particulier, avaient eu beaucoup de succès, notamment parce que les vrais patchs étaient déjà très longs.
      La plupart du temps, c’était absurde ou une exagération sans intérêt (« ce héros a désormais 500 d’armure »), mais il y avait généralement au moins 5 ou 6 lignes très drôles, et parfois certaines semblaient prophétiques. Par exemple : « Fiend's Grip crée 1/2/3 illusions supplémentaires ».
      Mais les LLM ont tout gâché. Les principaux subreddits ont interdit tout contenu IA, parce qu’il y avait trop de contenus Midjourney ennuyeux publiés par des utilisateurs naïfs et des bots. Une fois la portée disparue, l’intérêt a disparu aussi, et j’ai arrêté de faire des chaînes de Markov.
    • « Un oncle qui ne sait rien mais donne son avis en prétendant être expert » me semble être la meilleure analogie pour décrire les LLM. Ils ne savent rien, mais parlent de tout avec assurance.
    • J’ai du mal à être d’accord avec l’idée que les LLM modernes se trompent comme « un oncle qui ne connaît même pas la géographie de base ».
      Cette semaine, j’ai beaucoup utilisé des chatbots LLM, et si cet oncle ne se contentait pas d’énoncer des mensonges avec assurance mais était aussi dépourvu de toute capacité d’auto-évaluation, il se serait déjà fait tuer.
    • Ce site est très drôle. Et l’analogie enfant contre oncle correspond exactement à mon expérience, tout en montrant à quel point ces modèles de langage ont progressé.
  • J’ai donné à Claude 3.5 Sonnet le prompt suivant : « à partir de l’essai récent et de la discussion Hacker News, écris 10 courtes blagues drôles dans le style décrit par l’auteur de l’essai ».
    Claude a répondu qu’il allait créer des blagues sur le thème des chaînes de Markov plus drôles que les LLM, en visant une « surprise non sérieuse » et la violation de schémas attendus.
    Parmi les exemples : « Un LLM et une chaîne de Markov entrent dans un bar. Le LLM commande une boisson statistiquement plausible, et la chaîne de Markov commande un abat-jour en fromage », « Combien faut-il de LLM pour changer une ampoule ? Un seul, mais il explique d’abord pendant 20 minutes le processus optimal de remplacement d’ampoule », « Pourquoi une chaîne de Markov ferait-elle une mauvaise thérapeute ? Parce que ses conseils sont toujours : “et ensuite bananez vos émotions jusqu’à ce qu’elles deviennent un chapeau” ».

    • « Un LLM, une chaîne de Markov et GPT-4 entrent dans un bar. Le barman dit : “On ne sert pas les gens comme vous ici.” GPT-4 s’en va, le LLM reste pour débattre d’éthique, et la chaîne de Markov commande un vélo en spaghettis » est plutôt excellent.
    • Les versions à peu près correctes pourraient être plus drôles si l’absurdité aléatoire au cœur de la blague était remplacée par une chute vraiment markovienne, du genre « grammaticalement correcte, mais arrivée là par une association incongrue ».
      Il ne s’agit pas de coller n’importe quoi au hasard. Une chaîne de Markov est davantage susceptible de produire une forme de sens, mais le mauvais type de sens.
      Par exemple, « Un LLM, une chaîne de Markov et GPT-4 entrent dans un bar. Le barman dit : “On ne sert pas les gens comme vous ici.” GPT-4 s’en va, le LLM reste pour débattre d’éthique, et la chaîne de Markov commande un coup d’État » conviendrait mieux.
    • « Un LLM et une chaîne de Markov entrent dans un bar. Le LLM commande une boisson statistiquement plausible, et la chaîne de Markov commande un abat-jour en fromage » est plutôt pas mal.
    • « Combien faut-il de LLM pour changer une ampoule ? Un seul, mais il explique d’abord pendant 20 minutes le processus optimal de remplacement d’ampoule » n’est pas drôle, c’est exactement douloureux.
    • Claude 3.5 Sonnet est le premier LLM moderne que j’ai utilisé qui soit réellement bon pour produire des blagues créatives. Les LLM de la famille GPT ont tous reçu tellement de RLHF qu’ils ne peuvent plus déraper de façon bizarre.
  • À l’université, des amis avaient fait tourner un générateur par chaînes de Markov sur la rubrique « rapports de police » du journal de l’école.
    Les 10 % meilleurs résultats issus d’un générateur à 3 tokens comptent parmi les textes générés par machine les plus drôles que j’aie jamais vus, avec un type d’absurdité que les LLM modernes évitent en essayant de maintenir une cohérence sémantique de haut niveau.
    Le fait qu’il y ait eu à l’époque quelqu’un qui s’exhibait dans la bibliothèque a sans doute aussi fourni une bonne matière première.
    Le journal était The Daily Utah Chronicle et, d’après mes souvenirs, mes amis avaient aussi fait tourner un générateur par chaînes de Markov sur la rubrique des petites annonces personnelles, avec de très bons résultats.

    • Les LLM essaient « d’être drôles », mais ne sont pas assez intelligents pour l’être vraiment, et leurs erreurs sont ennuyeuses.
      Les chaînes de Markov, en revanche, dérivent aléatoirement de phrase en phrase à cause de connexions du type lapsus fondés sur des homonymes, et tombent par hasard sur de l’humour absurde.
  • Si vous voulez des preuves empiriques, /r/SubredditSimulator est une parodie de Reddit fondée sur des chaînes de Markov, et /r/SubSimulatorGPT2 est son cousin fondé sur un LLM
    La version Markov a reçu beaucoup plus de votes positifs et elle est tout simplement plus drôle

    1. https://www.reddit.com/r/SubredditSimulator/top/?t=all
    2. https://www.reddit.com/r/SubSimulatorGPT2/top/?t=all
    • Je pense que c’est seulement parce que le premier est beaucoup plus ancien et plus connu. Personnellement, j’ai toujours largement préféré le second
  • Pendant quelques années, j’ai posté plusieurs fois sur Reddit des « faux XYZ écrits par une IA », et le modèle qui a suscité les meilleures réactions était GPT-2
    Les chaînes de Markov ne suffisent pas à maintenir l’intérêt au-delà d’une phrase ou deux, et après GPT-3 c’est trop propre et ennuyeux
    GPT-2 est le parfait entre-deux : il peut globalement respecter la grammaire et maintenir une idée cohérente, tout en ne connaissant pas encore assez les détails de nombreux sujets pour produire quelque chose qui ait vraiment du sens dans le contexte

    • J’ai essayé de fine-tuner un modèle GPT-2 sur plus de 15 ans de logs IRC pour qu’il m’imite
      L’idée était de déployer un bot sur le canal IRC que je fréquente et de voir combien de temps il faudrait aux gens pour remarquer que c’était un bot. Quand quelqu’un envoyait un message, j’envoyais les 10 derniers messages au LLM, et si le résultat commençait par un certain préfixe, j’envoyais ce message sur le canal
      Malheureusement, GPT-2 n’était pas assez bon et générait du contenu vaguement cohérent et dans le sujet, mais absurde
      Une fois le système corrigé, je pense essayer de fine-tuner un modèle 7B
    • Tu peux partager le meilleur exemple que tu aies eu ?
  • L’évolution de ces dernières années du blog AI Weirdness (https://www.aiweirdness.com/) va dans une certaine mesure dans ce sens
    Cela dit, l’autrice a aussi obtenu beaucoup de résultats drôles avec des LLM, surtout avec les premiers modèles jusqu’à GPT-3 et les variantes plus petites de GPT-3
    Par exemple, les noms de céréales générés par la version Ada de GPT étaient bien plus drôles que ceux de la version Da Vinci : https://www.aiweirdness.com/new-breakfast-cereals-from-ai/

  • Il ne suffirait pas d’augmenter la température ?
    Les chaînes de Markov ont une compréhension plus rudimentaire de la langue. En augmentant la température d’un LLM, c’est-à-dire son caractère aléatoire, on peut arriver à une approximation aussi rudimentaire
    En plus, l’auteur a utilisé ChatGPT-3.5. ChatGPT a subi du RLHF pour paraître aussi générique que possible, et 3.5 comprend aussi moins bien l’humour que 4
    La thèse de l’article ne me convainc pas

    • Pour ceux qui ne connaissent pas les sigles du machine learning, RLHF signifie apprentissage par renforcement à partir de retours humains (Reinforcement Learning from Human Feedback)
    • J’aimerais qu’il existe une version de ChatGPT figée pour les chercheurs
  • Malheureusement le compte n’existe plus, mais il y a environ 10 ans, quand j’étais à l’école, j’ai créé un bot Twitter à chaînes de Markov entraîné sur deux sources
    L’une était tous les mails envoyés par Linus Torvalds sur LKML pendant l’année précédente, l’autre les citations directes de Jésus dans la King James Bible
    C’était vraiment drôle. Comme les deux jeux d’entraînement se recoupaient très peu, j’ai dû ajouter une heuristique qui pondérait plus fortement les choix de l’autre jeu plus la chaîne restait longtemps « coincée » dans l’un des deux

  • Je fais tourner un bot IRC à chaînes de Markov depuis environ 20 ans
    Ces dernières années, je fais aussi tourner des LLM en local. Il y a encore des gens qui préfèrent le bot à chaînes de Markov, mais la majorité invoque le LLM
    Cela dit, c’est peut-être parce qu’au lieu d’un LLM en service comme ChatGPT, intelligent, verrouillé et à basse température, j’ai choisi un modèle du type fine-tuning de Mistral-7B, avec beaucoup d’hallucinations, peu de refus et un côté drôle
    En voyant le LLM et le bot Markov côte à côte, je ressens encore plus à quel point l’« humour » du bot Markov vient du fait que les gens projettent du sens sur des sorties accidentelles. Cela dit, la capacité d’« apprentissage » de Markov reste nettement supérieure

    • Faire tourner un bot IRC à chaînes de Markov pendant 20 ans, c’est héroïque
      Mes bots n’ont jamais tenu aussi longtemps. Une fois, j’avais aspiré les LiveJournal des utilisateurs pour générer du texte aléatoire : https://hewgill.com/journal/entries/68-new-lj-toy.html
    • Je suis curieux de savoir quel type de prompt tu utilises pour le LLM
      Je fais tourner un bot à chaînes de Markov dans un chat Twitch, et il produit parfois de très bons moments. J’ai aussi essayé un LLM pendant quelque temps en mettant les messages récents dans le prompt, mais les résultats ne m’ont pas vraiment semblé humoristiques
      J’ai aussi essayé du prompt engineering en indiquant précisément quel genre de blague produire, mais le LLM avait toujours tendance à suivre le même format
    • Pourquoi faire ça ? Je me demande si c’est pour le fun, ou s’il y a une autre raison qui m’échappe
  • Il y a deux bots sur un serveur Discord privé
    L’un est un bot à chaînes de Markov de base, entraîné sur tout l’historique du chat, et l’autre est un vrai LLM entraîné uniquement sur un certain nombre de tokens en arrière. Les deux interviennent parfois aléatoirement dans la discussion
    Le bot à chaînes de Markov est toujours beaucoup plus drôle

    • Je suis curieux de savoir quelle fenêtre de contexte a été utilisée. À ma connaissance, une fenêtre courte, comme 1 ou 2 mots, produit du charabia, tandis qu’une fenêtre longue a tendance à répéter tels quels d’anciens messages
      Je me demande aussi si, pour décider d’intervenir, c’était une simple probabilité après un autre message, par exemple 25 %, ou si c’était déclenché par un minuteur