25 points par GN⁺ 2023-12-17 | 2 commentaires | Partager sur WhatsApp
  • Un guide qui partage des stratégies et des techniques pour obtenir de meilleurs résultats avec les grands modèles de langage (également appelés modèles GPT)
  • Les méthodes décrites ici peuvent parfois être combinées pour produire un effet plus important, et il est recommandé d’expérimenter afin de trouver l’approche la plus adaptée
  • Vous pouvez explorer les prompts d’exemple pour découvrir ce que le modèle est capable de faire

Six stratégies pour obtenir de meilleurs résultats

Rédiger des instructions claires

  • Le modèle ne peut pas lire dans vos pensées, il faut donc demander clairement ce que vous voulez.
  • Incluez des détails pour obtenir des réponses plus pertinentes, demandez au modèle d’incarner un personnage précis ou utilisez des délimiteurs pour indiquer clairement les différentes parties de l’entrée.
  • Précisez les étapes nécessaires pour accomplir la tâche, fournissez des exemples et indiquez la longueur souhaitée de la sortie.

Fournir un texte de référence

  • Les modèles de langage peuvent produire avec assurance de fausses réponses, en particulier lorsqu’on leur demande des sujets obscurs, des citations ou des URL.
  • Demandez au modèle de répondre en utilisant un texte de référence, ou de répondre en citant ce texte de référence.

Diviser les tâches complexes en sous-tâches simples

  • De même qu’il est bon, en ingénierie logicielle, de décomposer un système complexe en composants modulaires, il en va de même pour les tâches soumises à un modèle de langage.
  • Les tâches complexes ont un taux d’erreur plus élevé et peuvent souvent être redéfinies comme un workflow de tâches simples.
  • Utilisez la classification d’intention pour identifier les instructions les plus pertinentes pour la requête de l’utilisateur et, pour les applications conversationnelles nécessitant des échanges très longs, résumez ou filtrez les conversations précédentes.
  • Résumez les longs documents par morceaux, puis construisez récursivement un résumé global.

Donner au modèle le temps de « réfléchir »

  • Si vous demandez une « chaîne de pensée » au modèle avant qu’il ne rédige sa réponse, au lieu de le pousser à répondre dans la précipitation, vous pouvez obtenir des réponses plus fiables.
  • Demandez au modèle d’élaborer d’abord sa propre solution, puis utilisez un monologue interne ou une série de requêtes pour masquer son processus de raisonnement.
  • Demandez au modèle s’il a manqué quelque chose lors d’un passage précédent.

Utiliser des outils externes

  • Fournissez au modèle la sortie d’autres outils pour compenser ses faiblesses.
  • Mettez en place une recherche de connaissances efficace avec une recherche basée sur les embeddings, utilisez l’exécution de code pour des calculs plus précis ou appelez des API externes.
  • Autorisez le modèle à accéder à des fonctions spécifiques.

Tester systématiquement les changements

  • Il est plus facile d’améliorer les performances lorsqu’elles sont mesurables.
  • Il est nécessaire de définir une suite de tests complète (ou « eval ») pour vérifier si les changements ont un impact positif sur les performances globales.
  • Évaluez la sortie du modèle en la comparant à une réponse de référence.

L’avis de GN⁺

  • Le point le plus important : le prompt engineering est une méthode essentielle pour optimiser les performances des modèles de langage, en fournissant des consignes précises qui permettent de bien cerner l’intention de l’utilisateur et d’obtenir le résultat souhaité.
  • Pourquoi c’est intéressant : ces stratégies rendent l’usage des modèles de langage d’IA plus efficace et permettent d’obtenir de meilleures performances, en particulier avec les modèles récents comme GPT-4.
  • Point notable : ce guide propose des exemples concrets et des stratégies qui aident à résoudre les problèmes courants rencontrés par les ingénieurs logiciels débutants lorsqu’ils utilisent des modèles de langage, et montre comment mieux exploiter ces modèles dans des tâches réelles.

2 commentaires

 
GN⁺ 2023-12-17
Avis sur Hacker News
  • Discussion sur le prompt système de ChatGPT

    • Les derniers modèles de ChatGPT sont efficaces pour suivre des règles complexes.
    • D’après l’expérience, il vaut mieux donner des instructions plus strictes que simplement utiliser un prompt système.
    • La prise en charge des appels de fonctions et des données structurées constitue une forme de prompt engineering, bien plus puissante que le seul usage d’un prompt système.
    • Il existe un exemple de démo intéressant qui compare le prompt système et les résultats en données structurées.
  • Retour d’expérience sur une commande de cheeseburger en espagnol

    • Le serveur a réagi bizarrement à la traduction espagnole proposée par ChatGPT et Google Traduction.
    • Souhaitant améliorer la traduction, la personne a demandé une version d’espagnol adaptée aux Américano-Mexicains.
    • Le lendemain, en commandant avec la formule « Cheeseburger sin pepinillos », le serveur a dit que c’était mieux.
  • Discussion sur les caractéristiques des LLM (Large Language Models)

    • Il n’y a presque aucune distinction entre l’entrée et les instructions, si bien que la saisie de l’utilisateur est considérée comme faisant partie du prompt.
    • Cela entraîne la vulnérabilité connue sous le nom de « prompt injection », mais c’est dû à la nature intrinsèque du modèle, qui ne distingue pas les instructions de l’entrée.
    • La combinaison du prompt et de l’entrée constitue l’entrée complète du programme, ce qui rend difficile toute certitude sur son comportement.
    • C’est l’une des raisons pour lesquelles les LLM ne sont pas encore utilisés de manière suffisamment fiable pour des tâches complexes.
  • Réticence à investir dans l’apprentissage de la rédaction de prompts

    • Il y a une hésitation à consacrer beaucoup de temps à maîtriser parfaitement l’écriture de prompts, car les nouvelles versions et les différents LLM réagissent différemment.
    • À mesure que les systèmes deviendront plus intelligents, les prompts complexes pourraient ne plus être nécessaires.
  • Comparaison entre le prompt engineering et les requêtes de recherche avancée sur Google

    • Les chatbots fonctionnent bien pour les questions simples, mais plus l’information demandée devient complexe, plus il est difficile d’obtenir des réponses précises.
    • Avec la recherche Google aussi, il est facile d’obtenir des informations de base, mais lorsqu’on veut des résultats moins évidents, on utilise des opérateurs de recherche avancée.
  • Comparaison entre les prompts pour Google Search et pour les LLM

    • Les gens se sont habitués à saisir quelques mots-clés simples dans Google pour obtenir ce dont ils ont besoin sur Internet.
    • Le fait de devoir désormais rédiger des phrases complexes prendra du temps, et cela pourrait n’être qu’une phase transitoire.
  • Échecs de communication entre humains et limites des LLM

    • La communication entre humains échoue souvent, et la plupart des gens ne sont pas des communicateurs efficaces.
    • Il est difficile d’espérer que les machines fassent mieux pour lire l’esprit et les intentions humaines.
    • Le prompt engineering devrait aussi servir à améliorer la capacité des humains à mieux communiquer entre eux.
  • Critique du terme « prompt engineering »

    • Certains estiment que le mot « engineering » est galvaudé.
  • Le rôle des LLM pour apprendre aux humains à communiquer clairement

    • Les humains apprennent, via les LLM, à communiquer de manière plus claire.
  • Facilité d’implémentation d’applications de chat fondées sur les LLM

    • Même sans avancée théorique, il y a de nombreux avantages à implémenter des applications de chat basées sur les LLM.
    • Des efforts de développement restent nécessaires pour obtenir de meilleurs résultats qu’aujourd’hui.