From Monolithic to Modular: Segment-level Automatic Prompt Optimization
Cet article présente SAPO, une méthode d'optimisation automatique de prompts au niveau des segments qui décompose les prompts en composants distincts pour cibler des faiblesses spécifiques et surpasse les approches monolithiques existantes sur divers benchmarks.
Article original sous licence CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Ceci est une explication générée par l'IA de l'article ci-dessous. Elle n'a pas été rédigée ni approuvée par les auteurs. Pour une précision technique, consultez l'article original. Lire la clause de non-responsabilité complète
Imaginez que vous essayez d'apprendre à un robot super intelligent à écrire une histoire, à résoudre un problème de mathématiques ou à résumer un article de presse. Vous le faites en lui donnant un ensemble d'instructions, que les scientifiques appellent un « prompt ». Considérez un prompt comme une recette : si les instructions sont vagues ou désordonnées, le robot pourrait cuisiner un gâteau qui a un goût de savon au lieu de chocolat. Pendant longtemps, les chercheurs ont essayé de corriger ces recettes en réécrivant tout depuis le début à chaque fois que le robot faisait une erreur. C'était comme jeter un gâteau entier parce que le glaçage était légèrement raté, en espérant que la tentative suivante soit parfaite. Cette méthode, appelée optimisation « monolithique », fonctionnait souvent bien pour une partie de la tâche, mais gâchait accidentellement une autre partie, laissant le robot confus et les résultats incohérents.
Le document que vous allez lire traite de ce problème avec une nouvelle approche appelée SAPO (Segment-level Automatic Prompt Optimization). Au lieu de jeter toute la recette, SAPO agit comme un chef étoilé qui goûte soigneusement le gâteau, identifie exactement quel ingrédient est mauvais (peut-être trop de sel, ou pas assez de sucre) et corrige uniquement cette partie tout en laissant intactes les parties parfaites. Les auteurs ont testé cette méthode sur cinq types de tâches différents, allant de la réponse à des questions de compréhension de lecture à la résolution de problèmes mathématiques complexes, en utilisant deux cerveaux de robot différents (GPT-3.5-Turbo et GPT-4o-mini). Ils ont découvert qu'en décomposant les instructions en morceaux plus petits et gérables et en ne corrigeant que les points faibles, ils pouvaient obtenir de bien meilleurs résultats que les méthodes précédentes, améliorant les performances de jusqu'à 7,25 % sur certaines tâches.
La recette pour un meilleur robot
Plongeons dans le fonctionnement de ce processus. Imaginez que vous donnez à un robot un manuel d'instructions très long et compliqué. Par le passé, si le robot donnait une mauvaise réponse, un optimiseur automatique essayait de réécrire l'intégralité du manuel en une seule fois. C'est comme essayer de réparer un moteur de voiture en remplaçant la voiture entière. Parfois, cette nouvelle voiture fonctionne très bien pour conduire, mais très mal pour se garer. L'ancienne méthode rendait souvent le robot meilleur pour une chose, mais moins bon pour une autre, un problème que les auteurs appellent le « dérive de prompt » (prompt drifting).
Les auteurs de ce document, Nikita Kulin et son équipe, suggèrent une méthode plus intelligente. Ils ont réalisé qu'un bon manuel d'instructions n'est pas juste un gros bloc de texte ; il est composé de différentes sections, comme les chapitres d'un livre. Ils décomposent le prompt en quatre segments spécifiques :
- Rôle : Qui le robot est-il censé être ? (ex : « Vous êtes un historien serviable ».)
- Contexte : Quel est le décor ou la situation ? (ex : « Vous parlez à un étudiant ».)
- Tâches : Que doit faire exactement le robot ? (ex : « Résumez ce texte en trois phrases ».)
- Format de sortie : À quoi la réponse doit-elle ressembler ? (ex : « Donnez-moi une liste à puces ».)
Le jeu de détective SAPO
La nouvelle méthode, SAPO, traite ces quatre segments comme des indices dans un jeu de détective. Voici le processus étape par étape qu'ils utilisent :
D'abord, le système fait passer au robot une session d'entraînement avec un tas d'exemples. Il examine les résultats et sélectionne les 5 meilleurs exemples (où le robot a réussi) et les 5 pires exemples (où le robot s'est trompé).
Ensuite, le système joue au détective. Il demande à un second robot, plus intelligent (jouant le rôle de juge), d'examiner les 5 meilleurs et les 5 pires exemples et de comprendre pourquoi le robot a réussi ou échoué. Est-ce que la section « Rôle » a confondu le robot ? La « Tâche » était-elle trop vague ? Le juge identifie quels segments étaient « forts » (fonctionnant bien dans les bons exemples) et lesquels étaient « faibles » (causant des problèmes dans les mauvais exemples).
Vient ensuite la partie magique : la Synthèse Contrainte (Constrained Synthesis). Au lieu de réécrire tout le manuel, le système génère de nouvelles versions du prompt qui conservent les segments forts exactement tels qu'ils sont et ne modifient que les segments faibles. C'est comme garder la pâte parfaite d'un gâteau au chocolat mais remplacer le glaçage brûlé par une nouvelle fournée fraîche. Cela garantit que les parties de l'instruction qui fonctionnaient déjà ne soient pas accidentellement cassées.
Enfin, le système teste ces nouveaux prompts partiellement révisés sur un autre ensemble de questions (l'ensemble de validation). Si le nouveau prompt est meilleur, il est accepté. Sinon, le système conserve l'ancien. Cela se répète encore et encore jusqu'à ce que le robot soit aussi bon qu'il puisse l'être.
Les résultats : Un vainqueur clair
L'équipe a testé cette méthode sur cinq défis très différents :
- SQuADv2 : Répondre à des questions basées sur un passage de lecture.
- TweetEval : Classer l'humeur des tweets.
- XSUM : Résumer des articles de presse.
- CommonGen : Créer des phrases à partir d'une liste de mots.
- GSM8K : Résoudre des problèmes mathématiques de niveau primaire.
Ils ont mené ces tests sur deux modèles de robots différents : GPT-3.5-Turbo et GPT-4o-mini. Les résultats sont assez impressionnants. Comparé à d'autres méthodes populaires qui réécrivent le prompt entier d'un coup (comme APE, OPRO et EvoPrompt), SAPO obtient systématiquement des scores plus élevés en moyenne.
Sur le modèle GPT-3.5-Turbo, SAPO a amélioré le score moyen de 5,13 % par rapport à la méthode la plus performante. Sur le plus avancé GPT-4o-mini, l'amélioration est encore plus grande, bondissant de 7,25 % de plus que la concurrence. Les plus grandes victoires ont eu lieu sur des tâches qui nécessitent des réponses très strictes, comme les problèmes mathématiques (GSM8K) et la compréhension de lecture (SQuAD2), où une minuscule erreur dans les instructions peut conduire à une réponse complètement fausse.
Pourquoi cela importe
Les auteurs suggèrent que ce succès est dû au fait que SAPO empêche l'« interférence destructrice » qui se produit lorsqu'on change tout à la fois. En localisant les changements uniquement sur les parties faibles du prompt, le système préserve les parties qui fonctionnent déjà parfaitement. C'est une approche plus prudente, plus chirurgicale, pour enseigner aux robots.
Cependant, le document note également quelques limites. La méthode actuelle utilise un ensemble fixe de quatre segments. Bien que cela fonctionne bien pour de nombreuses tâches, cela pourrait ne pas être assez détaillé pour chaque type de problème. Les auteurs suggèrent que les futures versions pourraient permettre au robot de découvrir automatiquement de nouveaux types de segments si nécessaire, plutôt que de s'en tenir à ces quatre-là.
En résumé, SAPO montre que lorsque vous voulez enseigner à un robot super intelligent, la meilleure façon de corriger une erreur n'est parfois pas de repartir de zéro, mais d'identifier soigneusement ce qui n'a pas fonctionné et de réparer juste cette pièce. C'est un passage du « tout réécrire » au « réparer ce qui est cassé », et pour l'instant, cela semble être la stratégie gagnante.
Noyé(e) sous les articles dans votre domaine ?
Recevez des digests quotidiens des articles les plus récents correspondant à vos mots-clés de recherche — avec des résumés techniques, dans votre langue.