En sélectionnant et en annotant systématiquement les questions les plus incertaines, active prompting permet non seulement d’affiner la compréhension du modèle, mais aussi de tirer parti plus efficacement de l’expertise humaine. Le processus commence par la génération de plusieurs prédictions pour chaque question, suivie du calcul de l’incertitude (estimation de l’incertitude) à l’aide de diverses mesures telles que le désaccord, l’entropie et la variance. Ce processus de sélection stratégique garantit que les questions les plus informatives sont prioritaires pour l’annotation.

active prompting

L'humain dans la boucle

L’Invite Active (ou Invite Active)1 est une technique permettant d’améliorer les performances de l’Invite de la Chaîne de Pensée (CoT) en annotant de manière sélective les exemples où le modèle présente le plus d’incertitude. Cette approche permet de maximiser l’efficacité des efforts d’annotation humaine en se concentrant uniquement sur les questions les plus difficiles pour le modèle.

L’Invite Active se compose de quatre étapes principales :

Estimation de l’incertitude :
Elle incite le modèle plusieurs fois (k) avec des questions non étiquetées en utilisant l’Invite de la Chaîne de Pensée avec quelques chaînes de pensées écrites par l’homme ou l’Invite de la Chaîne de Pensée Zero-Shot (CoT) sans chaîne de pensées écrite par l’homme pour générer des réponses possibles avec des étapes intermédiaires pour un ensemble de questions non étiquetées. Elle calcule l’incertitude u sur la base de k réponses via une mesure d’incertitude sélectionnée.

Sélection : les questions présentant la plus grande incertitude
sont sélectionnées pour l’annotation humaine.

Annotation : les questions sélectionnées à l’étape 2 sont annotées manuellement par des humains pour fournir des réponses plus précises.

Inférence : les exemples nouvellement annotés sont utilisés pour améliorer les performances du modèle dans la réponse aux questions futures.

L’invite active permet d’économiser des ressources humaines importantes en réduisant la nécessité d’annoter toutes les données d’entraînement. Elle surpasse d’autres techniques telles que l’invite automatique de chaîne de pensée, l’invite aléatoire de chaîne de pensée et l’auto-cohérence sur une gamme de tâches de raisonnement. La recherche sur l’invite active est la première à montrer les avantages de l’annotation sélective des questions dans l’invite CoT pour résoudre des tâches de raisonnement complexes.

active prompting

Exemple d'active prompting

Étape 1. Estimation de l’incertitude

Tout d’abord, vous demandez au modèle plusieurs fois (k) pour chaque question non étiquetée en utilisant :

Un certain nombre d’exemples annotés si vous souhaitez utiliser l’option CoT

« Réfléchissez étape par étape » si vous souhaitez utiliser l’option CoT Zero-Shot

Supposons que vous choisissiez l’option CoT. Vous fournissez des exemples (Q1 et Q2), puis posez votre question de pool (Q3). Répétez ce processus k fois pour chaque question.

Q1: Josh and Anna were both born on August 17th, but in different years. To consolidate celebrations they also got married on August 17 when Josh turned 22. If today they’re celebrating 30 years of marriage and their combined age is exactly 5 times what Josh’s age was when they married, how old was Anna when they got married?

A1: Let’s think step by step. To calculate how old was Anna when they got married, we have to know their combined age, Josh’s age after 30 years, and Anna’s age after 30 years from their marriage. Since their combined age is 5 times Josh’s age when he got married, their combined age is 5 * 22 = 110 years. Josh must be 30 years older than his age when they got married, so he is 22 + 30 = 52 years old now. Therefore, Anna’s current age will be 110 - 52 = 58 years. If they married 30 years ago, Anna must have been 58 - 30 = 28 years old when they married The answer is 28.

Q2: John buys a chair. He then buys a table that is 3 times the price of the chair. Then, he buys a couch that is 5 times the price of the table. If John paid $380 for all these items, what is the price of the couch?

A2: Let’s think step by step. To calculate the price of the couch, we need to know the price of the chair, the price of the table, and the relation between the chair, table, couch, and total money paid. Let x be the price of the chair, 3 * x be the price of the table, and 5 * (3 * x) = 15 * x be the price of the couch. The relationship between the chair, table, couch, and the total price paid is x + 3 * x + 15 * x = $380, which is 19 * x = 380, and x=20. The price of the couch is 15 * x, which is 15 * 20 = $300. The answer is 300.

Q3: John has 5 apples, and he gives 2 to Mary. How many apples does John have left?

Vous obtiendrez ainsi k réponses pour chacune de vos n questions.

Ensuite, vous devez mesurer l’incertitude du modèle pour chaque question en fonction des k réponses qu’il génère pour une question donnée.

Pour ce faire, vous sélectionnez la mesure d’incertitude. Un exemple de mesure pourrait être le désaccord :

Vous utilisez le désaccord entre les k réponses générées pour une question donnée dans le pool. Le désaccord calcule les réponses uniques dans les prédictions.

Vous comptez le nombre de réponses uniques générées pour une question, h

Calculez le désaccord en divisant l’incertitude = h/k.

Étape 2. Sélection

Ensuite, vous sélectionnez les questions présentant la plus grande incertitude en fonction de la métrique. Pour plus de simplicité, examinons simplement un exemple de question parmi l’ensemble des questions les plus incertaines.

Imaginez que vous considériez le désaccord comme une métrique d’incertitude d’utilisation. Vous posez la question k fois au modèle et constatez que la question ci-dessous produit systématiquement des résultats LLM différents, ce qui signifie que le modèle est incertain dans la réponse :

John has 5 apples, and he gives 2 to Mary.

How many apples does John have left?

Étape 3. Annotation

Vous annotez manuellement la question sélectionnée pour fournir une réponse claire et correcte :

Q: John has 5 apples, and he gives 2 to Mary. How many apples does John have left?

A: John starts with 5 apples. He gives away 2 apples. Therefore, he has 5 - 2 = 3 apples left.

Étape 4. Inférence

Cette question annotée devient un exemple pour le modèle.

Utiliser l'Active Prompting

Le code d’Active Prompting est open source et disponible pour des recherches et des implémentations plus poussées sur GitHub.

fr_FRFR