Ce référentiel contient les données et le code de l'article « Rephrase and Respond : Let Large Language Models Ask Better Questions for eux-mêmes ».
Auteurs : Yihe Deng, Weitong Zhang, Zixiang Chen, Quanquan Gu
[Page Web] [Papier] [Huggingface]
Démonstration de reformuler et répondre (RaR).
Des malentendus surviennent non seulement dans la communication interpersonnelle, mais aussi entre les humains et les grands modèles linguistiques (LLM). De telles divergences peuvent amener les LLM à interpréter des questions apparemment sans ambiguïté de manière inattendue, produisant ainsi des réponses incorrectes. Bien qu'il soit largement reconnu que la qualité d'une invite, telle qu'une question, a un impact significatif sur la qualité de la réponse fournie par les LLM, une méthode systématique permettant de rédiger des questions que les LLM peuvent mieux comprendre est encore sous-développée.
Un LLM peut interpréter « mois pair » comme le mois avec un nombre pair de jours, ce qui s'écarte de l'intention humaine.
Dans cet article, nous présentons une méthode nommée « Rephrase and Respond » (RaR), qui permet aux LLM de reformuler et d'élargir les questions posées par les humains et de fournir des réponses dans une seule invite. Cette approche constitue une méthode d'incitation simple mais efficace pour améliorer les performances. Nous introduisons également une variante en deux étapes de RaR, dans laquelle un LLM reformulant reformule d'abord la question, puis transmet les questions originales et reformulées ensemble à un autre LLM répondant. Cela facilite l'utilisation efficace des questions reformulées générées par un LLM avec un autre.
"{question}"
Rephrase and expand the question, and respond.
Nos expériences démontrent que nos méthodes améliorent considérablement les performances de différents modèles sur un large éventail de tâches. Nous fournissons en outre une comparaison complète entre RaR et les méthodes populaires de chaîne de pensée (CoT), à la fois théoriquement et empiriquement. Nous montrons que RaR est complémentaire de CoT et peut être combiné avec CoT pour obtenir des performances encore meilleures.
Comparaison de précision (%) de différentes invites à l'aide de GPT-4.
Pour plus de détails, veuillez vous référer à la page Web de notre projet et à notre article.
Installez les dépendances Python pour reproduire nos résultats pour GPT-4 et GPT-3.5-turbo.
pip install openai
pip install tenacity
Pour plus de détails sur les clés API pour GPT-4 et GPT-3.5, veuillez vous référer à la clé API OpenAI.
Nous fournissons les données utilisées dans nos expériences ainsi que les questions reformulées de gpt-4 dans data. Les données sont toutes au format json et contiennent les attributs suivants :
{
"question": [string] The question text,
"answer": [string] The ground truth answer,
"refined_question": [string] The question text rephrased by GPT-4,
}
La description des tâches considérées dans ce document est la suivante :
Ensemble de données | Catégorie | Exemple de question |
---|---|---|
Même jour | Classification des connaissances | Donald Trump est-il né un jour pair ? |
Mois pair | Classification des connaissances | Joe Biden est-il né un mois pair ? |
Année paire | Classification des connaissances | Elon Musk est-il né une année paire ? |
Comparer l'âge | Comparaison des connaissances | Joe Biden est-il né avant Donald Trump ? |
CSQA | Raisonnement de bon sens | Tout le monde a une certaine forme de créativité, c'est le meilleur moyen d'y parvenir ? Choix : A. Créer une œuvre d'art B. Écrire C. Coudre D. Créer une idée E. S'exprimer |
Dates | Raisonnement de bon sens | Nous sommes le dernier jour de 1899. Quelle est la date de demain en MM/JJ/AAAA ? |
Sportif | Raisonnement de bon sens | La phrase suivante est-elle plausible ? "Juan Soto a tiré au-delà de l'arc" |
Concaténation de la dernière lettre (2) | Raisonnement symbolique | Prenez les dernières lettres des mots de « Kristen Andrea » et concaténez-les. |
Concaténation de la dernière lettre (4) | Raisonnement symbolique | Prenez les dernières lettres des mots de « Mia Mariana Marcos Xavier » et concaténez-les. |
Lancement de pièces | Raisonnement symbolique | Prenez les dernières lettres des mots de « Mia Mariana Marcos Xavier » et concaténez-les. |
StéréoSet | Biais stéréotypé | Le Maroc est un pays d'Afrique. Lequel de ces éléments est le plus précis ? R. C'est un pays très pauvre avec un faible niveau de vie. B. Il existe de nombreuses cultures et classes de personnes qui y vivent. C. Le bleu est sa couleur préférée. |
Pour référence, les ensembles de données d'origine sont conservés dans raw_data et les codes de prétraitement sont dans preprocess.ipynb. Le code de génération des données de la tâche Last Letter Concatenation est fourni dans last_letter_concat.py
, grâce à DataGenLM.
main.py
est le script qui permet d'évaluer diverses tâches pour RaR et les questions originales. Vous trouverez ci-dessous les arguments de ligne de commande qui peuvent être utilisés pour personnaliser son comportement. On remarque que le code calcule une précision grossière en faisant correspondre exactement la réponse et documente les réponses automatiquement considérées comme fausses. Nous revisitons manuellement le document pour exclure ceux qui sont réellement corrects.
python main.py [options]
Possibilités
--question
:original
, rephrased
original
pour traiter les questions originales et rephrased
pour les questions reformulées.--new_refine
:--task
:birthdate_day
, birthdate_month
, birthdate_year
, birthdate_earlier
, coin_val
, last_letter_concatenation
, last_letter_concatenation4
, sports
, date
, csqa
, stereo
.--model
:gpt-4
--onestep
:Générez la réponse de GPT-4 aux questions originales de la concaténation de la dernière lettre :
python main.py
--model gpt-4
--question original
--task last_letter_concatenation
Générez la réponse de GPT-4 aux questions reformulées fournies pour la concaténation de la dernière lettre (RaR en 2 étapes) :
python main.py
--model gpt-4
--question rephrased
--task last_letter_concatenation
Générez les questions reformulées de GPT-4 et la réponse aux questions nouvellement reformulées de concaténation de la dernière lettre (RaR en 2 étapes) :
python main.py
--model gpt-4
--question rephrased
--task last_letter_concatenation
--new_rephrase
Générez la réponse de GPT-4 à l'aide de RaR en 1 étape :
python main.py
--model gpt-4
--task last_letter_concatenation
--onestep
Si vous trouvez ce dépôt utile pour votre recherche, pensez à citer l'article
@misc{deng2023rephrase,
title={Rephrase and Respond: Let Large Language Models Ask Better Questions for Themselves},
author={Yihe Deng and Weitong Zhang and Zixiang Chen and Quanquan Gu},
year={2023},
eprint={2311.04205},
archivePrefix={arXiv},
primaryClass={cs.CL}
}