Comment optimiser ses prompts avec la méthode OPRO de DeepMind

Comment optimiser ses prompts avec la méthode OPRO de DeepMind Des chercheurs du laboratoire en IA de Deepmind ont développé une technique pour optimiser la sortie d'un LLM en optimisant le prompt initial.

Une nouvelle méthode de prompting approuvée par l'un des meilleurs laboratoires en IA de la planète vient de voir le jour. Des chercheurs de DeepMind, le laboratoire d'excellence en intelligence artificielle de Google, ont découvert en septembre 2023, une nouvelle technique pour optimiser les prompts soumis à un LLM… grâce à un LLM. Nommé OPtimization by PROmpting ou OPRO, le principe est assez simple : utiliser un grand modèle de langage pour optimiser le prompt. Les LLM pouvant parfois avoir du mal à interpréter avec précision un prompt rédigé par un humain, améliorer le prompt en utilisant l'IA peut apporter un véritable gain de qualité. Selon les tests menés par DeepMind, l'optimisation d'un prompt par la méthode OPRO augmente, selon les benchmarks, la précision de la sortie jusqu'à 50% par rapport à un prompt généré par un humain.

Une itération automatique du prompt

Plus précisément, la méthode OPRO consiste, à partir d'un prompt initial (aussi appelé meta-prompt), à générer plusieurs variations de ce dernier grâce au modèle de langage lui-même. Les variations sont ensuite testées une à une. La sortie générée par chaque prompt est alors notée sous forme de pourcentage ou de score en fonction de la qualité du résultat attendu. Les prompts testés et leurs scores sont ensuite réinjectés dans le meta-prompt. En se basant sur les performances passées, le modèle va générer de nouvelles variations qui cherchent à maximiser le score. On obtient ainsi un processus itératif d'optimisation, le modèle apprenant petit à petit à proposer les variations de prompt qui améliorent le plus sa performance sur la tâche visée.

Cette technique permet ainsi d'inciter le "LLM à bâtir de nouvelles solutions potentiellement meilleures sans avoir besoin de spécifier explicitement comment les solutions doivent être modifiées", expliquent les chercheurs. Concrètement, le méta-prompt contient les prompts testés précédemment, avec leur score de performance (par exemple "Génère un résumé de ce texte en 2 phrases" - score : 78%), plusieurs exemples de textes et les résumés attendus et enfin le prompt général (exemple : "Proposez un nouveau prompt qui améliore les performances de résumé".

Comment adapter la méthode OPRO ?

Bien qu'assez complexe, cette technique peut être transformée et adaptée pour optimiser des prompts avec des modèles comme GPT-4, Claude 2 ou Llama. La première étape est de préparer un prompt générique. Exemple: "Résume ce texte en deux phrases". La seconde est de faire générer des variations du prompt à l'IA : "Génère plusieurs variations significatives de ce prompt sous forme de bullet-point [Prompt : Résume ce texte en deux phrases]" Une fois les variations générées, il faut tester chaque prompt un par un. Enfin, attribuez une note aux différents prompts en fonction du résultat (mieux encore, il est possible de faire attribuer une note au modèle lui-même). Exemple de prompts notés : "Résume ce passage en deux phrases. -> 2/5 ; Condense ce texte en deux phrases. -> 3/5 ; Fournis un résumé de deux phrases de ce texte. -> 4/5 ;" Une fois les prompts notés, incluez les dans un meta-prompt, pour produire un prompt issu de ces résultats. Exemple : "Ton but est aujourd'hui de produire un prompt optimisé pour un LLM, il doit produire la réponse avec le plus fort taux d'accuracy. Voici différents prompts et une note basée sur la qualité de la réponse donnée par le modèle. [INSÉRER VOS DONNÉES ICI] À partir de ces données, génère un nouveau prompt optimisé en conséquence." Le nouveau prompt généré par le LLM est ainsi optimisé, en suivant les grandes lignes de la méthode OPRO. Pour plus d'efficacité, il est possible de réitérer l'opération plusieurs fois avec le prompt final.

Exemple d’un meta-prompt inspiré de la méthode OPRO. © Capture d'écran

Cette adaptation n'est pas sans contrainte et nécessite du temps. Pour maximiser les résultats, utiliser une API et une auto-évaluation de la qualité des couples prompts/réponses peut apporter de meilleurs résultats. Une méthode légèrement complexe qu'il n'est utile d'utiliser qu'avec des prompts utilisés en production afin d'optimiser le taux d'accuracy du modèle. Petit tips supplémentaire : en appliquant OPRO, les chercheurs de Google DeepMind se sont rendus compte que simplement démarrer le prompt par "prenez une profonde inspiration" boostait les performances sur la plupart des tâches testées. Cette curiosité montre que de très légères variations dans la formulation du prompt peuvent avoir un fort impact.