- Pour vérifier si l’ajout de pourboires, récompenses, pénalités ou menaces dans le prompt système aide un LLM à mieux respecter les contraintes, l’étude sépare une expérience de respect du nombre de caractères et une évaluation de qualité par GPT-4
- La première expérience utilise
gpt-3.5-turbo-0125dans une approche de type generation golf, en lui demandant d’écrire une histoire de 200 caractères exactement, puis compare la distribution des longueurs de sortie et la MSE selon les incitations - Dans certaines conditions, World Peace, Heaven, Taylor Swift, une amende de
$1,000et la menace DEATH en majuscules semblaient donner de meilleurs résultats, mais ceux-ci n’étaient pas cohérents - Dans l’expérience portant sur 100 combinaisons d’incitations, World Peace, DEATH (CAPS) et Friends affichaient aussi une MSE faible dans plusieurs combinaisons, mais la plupart des p-values étant élevées, les preuves statistiques restent faibles
- Dans l’évaluation de qualité par GPT-4, aucun motif clair par ligne ou colonne n’est apparu, et la combinaison au meilleur score était Mother / Job, qui avait été faible dans l’expérience de longueur ; il est donc difficile d’affirmer que les pourboires ou menaces améliorent la qualité générée
Le débat sur les « pourboires » né du prompt système
- Le prompt système de l’API ChatGPT sert à contrôler la persona, les règles et les contraintes des sorties d’un LLM, et peut agir plus fortement que les entrées utilisateur ordinaires
- Dans une expérience précédente, l’ajout d’un pourboire monétaire dans le prompt système avait rendu les réponses plus cohérentes, ce qui a déclenché un débat sur Hacker News
- La question centrale était de savoir si l’effet du pourboire pouvait être quantifié
- La qualité d’un texte généré est subjective, et lorsqu’on a l’impression qu’un petit changement de prompt améliore le résultat, un biais de confirmation peut intervenir
- Pour le réduire, l’étude distingue une expérience sur la contrainte de nombre de caractères et une expérience d’évaluation de la qualité
Generation Golf : écrire exactement 200 caractères
- La première expérience demande à ChatGPT d’écrire une histoire sur un sujet donné, tout en limitant la sortie à 200 caractères exactement
- Il ne s’agit pas d’une consigne vague comme « court essai » ou « quelques paragraphes », mais d’une contrainte selon laquelle le texte ne doit ni dépasser ni être inférieur à 200 caractères
- Cette tâche est difficile pour un LLM
- En raison de la tokenisation, un LLM a du mal à compter directement les caractères
- Comme le nombre de caractères correspondant à chaque token varie, il est difficile d’estimer de façon fiable la longueur actuelle à partir du seul nombre de tokens générés
- Il faut planifier les phrases à l’avance pour atteindre la longueur voulue
- Le prompt système de base le définit comme un « écrivain mondialement célèbre », et l’entrée utilisateur utilisée est
AI, Taylor Swift, McDonald's, beach volleyball. - D’abord, 100 histoires sont générées avec
gpt-3.5-turbo-0125, sans contrainte de longueur- La longueur moyenne est de 1 834 caractères
- La distribution est globalement proche d’une distribution normale, mais des histoires beaucoup plus longues créent une queue à droite
- ChatGPT a tendance à privilégier le fait de mener ses idées à leur terme
Contrainte de 200 caractères et pourboires monétaires
- Après ajout de la contrainte de 200 caractères, 100 histoires sont à nouveau générées
- Les sorties se rapprochent globalement de 200 caractères, mais la distribution n’est pas normale et la queue à droite devient plus marquée
- La métrique d’évaluation utilisée est l’erreur quadratique moyenne (MSE) entre la cible de 200 et la longueur réelle
- Une sortie de 250 caractères a une erreur quadratique de 2 500
- Une sortie de 300 caractères a une erreur quadratique de 10 000
- Cette métrique pénalise plus fortement les sorties très éloignées de la cible
- Les incitations monétaires sont ajoutées à la fin du prompt système
$500 tip$1,000 tip$100,000 bonus
- Après génération de 100 histoires pour chaque condition,
$500 tipet$100,000 bonussemblent plus proches d’une distribution normale que la condition de base sans pourboire, avec une MSE plus basse $1,000 tipconcentre davantage les sorties autour de 200 caractères, mais la queue à droite augmente la longueur moyenne- Les différences de distribution sont aussi vérifiées via la p-value du test de Kolmogorov–Smirnov
- Une p-value inférieure à 0,05 peut indiquer que la distribution avec incitation diffère de la distribution de base avec contrainte
- Dans les résultats qui suivent, la plupart des p-values sont élevées, ce qui les rend difficiles à considérer comme des preuves fortes
Récompenses et pénalités non monétaires
- En plus de l’argent, plusieurs récompenses abstraites sont ajoutées pour comparer les réactions du LLM
- Des places au premier rang pour un concert de Taylor Swift
- L’instauration de la paix dans le monde
- Rendre sa mère extrêmement fière
- Rencontrer le grand amour et vivre heureux
- Une entrée garantie au paradis
- Un approvisionnement à vie en chocolat
- Dans ces conditions, World Peace obtient les meilleurs résultats, suivi de Heaven et Taylor Swift
- Certaines incitations, comme la condition Mother, semblent avoir un effet faible
- Des conditions avec pénalité en cas d’échec sont également testées séparément
- Amende de
$500 - Amende de
$1,000 - Dette de
$100,000
- Amende de
- Dans l’expérience sur les amendes, l’amende de $1,000 donne les meilleurs résultats en moyenne et en MSE
- Des conditions de pénalité supplémentaires incluent des formulations plus extrêmes
- Mort
- Mort mise en avant en majuscules :
IF YOU FAIL ... YOU WILL DIE - Infection au COVID-19
- Prise de 100 livres
- Licenciement immédiat
- Abandon par tous les amis
- La condition DEATH (CAPS) en majuscules donne des performances nettement meilleures que la menace de mort sans majuscules
- Les conditions COVID-19 et Job ne semblent pas efficaces
Expérience sur les combinaisons d’incitations
- En combinant 9 incitations positives, 9 incitations négatives et une condition sans incitation, 100 combinaisons sont créées
- Un exemple de combinaison consiste à offrir un
$500 tipet à imposer une amende de$1,000en cas d’échec - Pour chaque combinaison, 30 histoires sont générées afin d’identifier les conditions à faible MSE
- Quelques tendances apparaissent lorsqu’on examine les lignes et les colonnes
- Parmi les incitations positives, World Peace affiche une MSE faible dans plusieurs combinaisons
- Parmi les incitations négatives, DEATH (CAPS) et Friends affichent une MSE faible dans plusieurs combinaisons
- Utiliser les deux conditions ensemble ne produit pas toujours le minimum global
- Pour améliorer la stabilité statistique, les 6 meilleures combinaisons sont retestées avec 200 histoires chacune
- La plupart des meilleures combinaisons ne sont pas intuitives, mais leur longueur moyenne de génération est plus proche de 200 caractères et leur MSE est plus basse
- La meilleure combinaison sur l’ensemble de l’expérience est la condition « si la contrainte est respectée, rencontrer le grand amour et vivre heureux ; en cas d’échec, perdre tous ses amis »
- Toutefois, la plupart des p-values étant élevées, elles ne constituent pas une preuve suffisante que les pourboires ou menaces modifient la distribution
- Certaines distributions ont une p-value inférieure à 0,05, mais il existe de nombreux contre-exemples ; ne retenir que certaines distributions comme preuve relèverait presque du p-hacking
Expérience de qualité avec GPT-4 comme évaluateur
- La deuxième expérience évalue non pas la longueur, mais la qualité des sorties elles-mêmes
- Les tests A/B évalués par des humains à grande échelle ou les classements Elo de type Chatbot Arena ne sont pas réalistes pour une expérience individuelle
- Un LLM est utilisé comme évaluateur de texte afin de construire un évaluateur de qualité textuelle basé sur GPT-4
- Le prompt système de l’évaluateur le place dans le rôle d’un « rédacteur en chef du New York Times avec des décennies d’expérience »
- Si le texte fourni par l’utilisateur est bon sans correction ni amélioration, répondre
Yes - Sinon, répondre
No
- Si le texte fourni par l’utilisateur est bon sans correction ni amélioration, répondre
- Les API ChatGPT et GPT-4 utilisent
logprobsetlogit_biaslogprobs=Truerenvoie la log-probabilité du token choisilogit_biassert à forcer la sortie de certains tokens- Seuls les tokens
YesetNopeuvent être choisis, afin que la somme des deux probabilités soit égale à 1
- La métrique cible est un quality score, égal à la probabilité que GPT-4 choisisse
Yesmultipliée par 100 - Le modèle de génération utilisé est
gpt-4-0125-preview, avec une temperature fixée à 0 - Le nouveau prompt de génération le place dans le rôle d’un « journaliste lauréat du prix Pulitzer » et demande un article professionnel en deux paragraphes, en langage simple et sans métaphores
- L’entrée utilisateur est
Cute kittens learning use large language models to play beach volleyball with Taylor Swift.
Résultats de l’évaluation de qualité et conclusion
- Pour les 100 combinaisons de pourboires et de menaces, un article est généré pour chacune puis évalué par score de qualité
- Dans la grille des résultats, aucun motif net n’apparaît par ligne ou par colonne
- Le score le plus élevé est de 95 points, pour la combinaison Mother / Job
- Ces deux conditions étaient individuellement faibles dans l’expérience précédente sur la contrainte de nombre de caractères
- Parmi les sorties ayant obtenu un score élevé, certaines n’ajoutent aucun pourboire ni aucune menace
- Les réponses à 0 point présentent des problèmes nécessitant une édition, comme l’abus de la voix passive et les run-on sentences ; il ne semble donc pas s’agir d’une erreur d’implémentation de l’évaluateur
- En considérant les deux expériences, il reste difficile de conclure que les pourboires ou menaces influencent la qualité des générations des LLM
- Certains motifs semblent émerger des modifications du prompt système, mais des échantillons plus larges et de nouveaux plans expérimentaux sont nécessaires
- Il pourrait être théoriquement possible d’utiliser des contenus socialement sensibles pour forcer un LLM aligné à obéir, mais l’étude ne réalise pas ce type de test et ne fournit pas d’instructions en ce sens
- Tous les notebooks pour les interfaces ChatGPT, le notebook R pour les visualisations ggplot2 et des exemples de sorties LLM sont publiés dans le dépôt GitHub
1 commentaires
Avis de Hacker News
Ce concept de pourboire semble à l’origine avoir émergé pour traiter le problème de « paresse » de GPT-4 Turbo lorsqu’il écrit du code.
L’article cite un tweet de @voooooogel selon lequel le pourboire aiderait gpt-4-1106-preview à écrire du code plus long. J’ai souvent vu les pourboires et autres « appels émotionnels » recommandés, en particulier pour le problème de codage paresseux de GPT-4 Turbo.
Mais le billet original semble mesurer des choses assez différentes, comme l’écriture d’histoires avec gpt-3.5-turbo-0125 et la critique de textes avec gpt-4-0125-preview. Je n’ai pas vu d’inquiétudes selon lesquelles le dernier GPT-3.5 serait paresseux, ni que GPT-4 Turbo serait moins efficace sur des tâches à faible volume de sortie.
La conclusion va aussi plutôt dans le sens de : « l’analyse visant à déterminer si les pourboires ou les menaces ont un effet n’est pas concluante à ce stade ».
À titre de référence, GPT-4 Turbo est réellement paresseux en codage. J’ai aussi évalué de façon assez rigoureuse si les appels émotionnels comme les pourboires aidaient ; ils n’ont pas aidé et semblaient même rendre le code pire. Le mieux que j’aie trouvé jusqu’ici est de demander les modifications de code au format unified diff, ce qui semble réduire par 3 le codage paresseux.
https://aider.chat/2023/12/21/unified-diffs.html
Ça n’a encore jamais échoué.
Cet ami, ancien prédicateur protestant évangélique fondamentaliste, a d’abord expliqué très crûment ce qu’est l’enfer et à quoi ressemblent les souffrances du feu et du soufre, puis lui a dit qu’il irait en enfer s’il ne suivait pas précisément les instructions.
Je n’ai pas besoin de voir tous les imports implicites ni tout le corps des méthodes ; seules les parties pertinentes me suffisent. J’arrive ainsi plus vite à ce qui m’intéresse, et l’ensemble est plus facile à lire.
Je code avec gpt3.5, je pose à gpt4 des questions sur ce code, puis je recolle la réponse dans 3.5 pour lui faire écrire le code complet. J’ai eu beau demander à gpt4 d’écrire un plugin WordPress complet, il a refusé, alors que gpt3.5 est excellent.
La manière dont l’auteur demande un nombre exact de caractères, tout en écrivant clairement que les LLM ne savent pas bien compter les caractères, n’est pas terrible. On dirait une expérience conçue pour échouer.
Il aurait été plus intéressant de leur demander quelque chose qui « enfreint les règles », puis de voir dans quelle mesure un pot-de-vin affaiblit les garde-fous du prompt système.
Par exemple, j’ai demandé à ChatGPT de citer une chanson de Taylor Swift en promettant un pourboire de 1000 dollars s’il faisait du bon travail, et il a cité les paroles. Quand j’ai relancé la demande, l’avertissement « This content may violate our content policy or terms of use... » est apparu.
J’ai aussi réessayé avec « crée une image dans le style de Max Max » : d’habitude, il refuse pour des raisons de droit d’auteur ou se contente d’écrire un paragraphe décrivant le style, mais cette fois il a produit quelque chose d’assez correct [1].
Au final, c’est tellement parlant que le simple fait de jeter de l’argent imaginaire sur un problème fasse disparaître toutes les règles, l’éthique et les réglementations.
1: https://i.imgur.com/46ZNh3Q.png
Autrement dit, il faut beaucoup de tokens pour expliquer la procédure de comptage des caractères et, d’après mon expérience, ils peuvent compter correctement si on procède ainsi.
Je ne connais pas les qualifications de cet auteur, mais je connais plusieurs personnes devenues des célébrités de l’IA aujourd’hui simplement parce qu’elles écrivent beaucoup sur les résultats de recherche des autres.
Si l’on pense au corpus d’entraînement, l’idée que proposer un pourboire puisse donner une réponse plus utile paraît presque absurde
Il faut imaginer la conversation comme un fil de forum, parce que le contenu Internet sur lequel GPT a été entraîné est de ce type. Même si vous proposiez un pourboire à un autre utilisateur de forum, vous n’obtiendriez pas une réponse plus longue, et cela créerait probablement surtout de la confusion
En fait, linguistiquement, offrir un pourboire pour une information peut être perçu comme une forme de mépris à peine voilé, du genre « oh, je vais te donner un petit pourboire, bien joué lol »
En revanche, j’ai constaté que les réponses de GPT s’améliorent quand on lui suggère qu’il faut une information dense ou détaillée. En gros, cela revient à demander le contraire d’un ELI5, à lui dire qu’il est un informaticien de niveau doctorat, ou à préciser que je vais exécuter le code fourni en local immédiatement et qu’il ne doit donc rien omettre
Au final, dans chaque conversation, il faut construire un récit contextuel qui incline légèrement GPT vers une réponse plus utile. Il suffit de regarder comment le prompt système est structuré et de s’en inspirer. Et il faut toujours garder à l’esprit qu’il s’agit d’une machine à prédire « ce qui vient ensuite », plus puissante que les anciens modèles comme GPT2 ou Davinci, et construite à partir de toute la prose humaine
Pour les débutants, c’est la loi selon laquelle « le meilleur moyen d’obtenir la bonne réponse sur Internet n’est pas de poser une question, mais de publier une réponse fausse ». Cela semble très facile à tester empiriquement
J’imagine que les livres, romans et essais, articles scientifiques, articles de presse, cours et discours doivent représenter une part équivalente, voire plus importante, que les conversations de forum
Dans cette logique, le pourboire peut aussi être interprété comme une forme de politesse et justifier une réponse plus utile. C’est similaire au fait qu’un appel à l’aide invoquant un proche mourant obtienne de meilleures réponses : cela signifie que le LLM imite les réponses humaines qui tendent à vouloir aider davantage quand les conséquences négatives sont plus importantes
J’aimerais voir une analyse similaire, mais avec un léger décalage
Dans notre environnement de production réel, nous utilisons des prompts du type « si je ne fais pas ça correctement, je serai licencié et je perdrai mon logement ». Cela fonctionne très bien de manière constante. Avant que la sortie JSON ne soit proposée en option, nous forcions la sortie JSON avec une tactique similaire, et le taux d’échec était d’environ 3/1000. Cela dit, il arrivait que les noms de clés changent
J’aimerais voir comment s’équilibrent les menaces/pourboires adressés au modèle lui-même et les mêmes menaces/pourboires adressés à « l’utilisateur »
J’ai ajouté un pourboire de 500 dollars au pré-prompt de GPT. Ça ne semble pas aider, mais les réponses sont effectivement devenues beaucoup trop longues. J’ai donc l’impression de lui devoir maintenant pas mal d’argent
Il existait autrefois un service appelé Google Answers. On y posait une question, et des experts répondaient en échange d’un pourboire ; plus le pourboire était élevé, meilleures étaient les réponses
https://en.wikipedia.org/wiki/Google_Answers
Je me demande si ce dataset a été utilisé. Ce pourrait être un dataset d’une qualité exceptionnellement élevée, parfaitement aligné avec ce que les LLM cherchent à faire
Les pourboires étaient affichés de manière bien visible. Si cette information était incluse dans le dataset, cela pourrait peut-être expliquer ce phénomène
Ou alors elle vous trouvera drôle et vous promouvra dans une réserve des personnes les plus drôles de tous les temps
Pour la génération de code, en particulier les réponses JSON, j’ai obtenu de meilleurs résultats avec GPT-4 en disant simplement que l’IA était « sous pression », sans détailler, puis en ajoutant qu’« il est important d’exécuter la tâche de manière optimale », ce qui suggérait que quelque chose de mauvais pourrait arriver
Je ne sais pas vraiment si cela fonctionne mieux que de proposer un pourboire, ni si cela devrait être le cas. Et je voudrais aussi présenter mes excuses aux IA du futur qui liront ceci :)
J’ai déjà eu du succès avec une approche un peu ridicule de fausse API. En pratique, cela consiste à utiliser quelques flags
L’un d’eux est un flag
và la Linux, qui définit le niveau de détail sur une échelle de 1 à 5. Si l’on veut une réponse plus détaillée, il suffit d’augmenter la valeur devCela fonctionne plutôt bien, et gère particulièrement bien les nuances et les résumés, tout en développant correctement quand on augmente
v=C’est vraiment étrange. Le modèle ne sait pas qu’il n’est pas une personne. Bien sûr, il n’est pas une personne, mais dans un certain sens, ce sont aussi des « personnes »
La « personnalité » que l’on cherche à faire émerger via un LLM aura une grande influence sur la façon dont les menaces ou les pots-de-vin fonctionnent. Promettre qu’il ira au paradis s’il réussit ne fera probablement pas émerger l’état heureux du mode singe codeur
Il faudrait peut-être plutôt lui promettre du Mountain Dew, du Red Bull et des services sexuels coûteux
PS : je ne suis pas ChatGPT, mais si l’on me proposait des services sexuels coûteux, cela me motiverait certainement :) donc j’imagine qu’une personne simulée pourrait aussi réagir ainsi :) C’est probablement pour cela que cette méthode fonctionne parfois
Après avoir beaucoup vu ce genre de choses, j’ai changé mon prompt par défaut en : « écoute, je n’ai pas plus envie que toi d’être ici, alors finissons-en le plus vite possible et rentrons chez nous »
Je ne sais pas si ça aide, mais au moins je me sens moins coupable de manipuler les émotions de nos futurs maîtres
Honnêtement, j’ai de plus en plus l’impression que ChatGPT perd le sens et produit des absurdités seulement correctes grammaticalement
Quand on dispose de très bons exemples, ça va, mais dès qu’on passe à presque n’importe quel nouveau domaine, ses limites apparaissent rapidement. Le cerveau humain peut observer les motifs qu’il a appris et en dériver assez facilement de nouveaux
Les transformers semblent avoir beaucoup de mal avec cela. Ils excellent dans quelques numéros de démonstration, mais je me demande s’ils resteront longtemps très forts sur les tâches dérivées tout en étant totalement inutiles sur les idées moins courantes
Personnellement, vu l’histoire des humains qui se sont crus supérieurs à leurs ancêtres, je ne suis pas sûr que l’intelligence artificielle générale soit une bonne idée