
Dans cette étude, nous visons à améliorer la capacité de raisonnement arithmétique des modèles de grands langues (LLM) grâce à une optimisation rapide à tirs zéro. Nous identifions un objectif précédemment négligé de la dépendance aux requêtes dans une telle optimisation et élucidons deux défis qui en découlent qui entravent la conception réussie et économique des techniques d'optimisation rapides. Un problème principal est l'absence d'une méthode efficace pour évaluer les invites pendant l'inférence lorsque la réponse dorée n'est pas disponible. Parallèlement, l'apprentissage via des interactions avec les LLM pour naviguer dans l'espace invitant en langage naturel expansif s'avère à forte intensité de ressources. Pour y remédier, nous introduisons Prompt-Oirl, qui exploite l'apprentissage du renforcement inverse hors ligne pour tirer des informations à partir de données de démonstration invitant hors ligne. De telles données existent telles que les sous-produits lorsque diverses invites sont compromises sur des ensembles de données accessibles à l'ouverture. Avec Prompt-Oirl, l'objectif d'optimisation de l'invite dépendant de la requête est atteint en apprenant d'abord un modèle de récompense hors ligne. Ce modèle peut évaluer toutes les paires de requête sans accéder aux LLM. Par la suite, une stratégie du meilleur de N est déployée pour recommander l'invite optimale. Nos évaluations expérimentales à travers diverses échelles LLM et ensembles de données de raisonnement arithmétique soulignent à la fois l'efficacité et la viabilité économique de l'approche proposée.
Figure 1. Aucune invite n'est parfaite qui fonctionne pour toutes les requêtes . L'invite optimale dépend de la requête. Pourtant, la recherche de telles invites peut être coûteuse et inefficace. Invite-Oirl optimise l'invite pendant le temps d'inférence sur un niveau dépendant de la requête efficacement et rentable. (Les journaux de chat originaux avec GPT4 pour ces exemples motivants peuvent être trouvés à gauche, à droite)
Pour reproduire nos résultats (par exemple, en utilisant LLAMA2)
Obtenez la licence d'utiliser LLAMA-2.
Accédez aux ensembles de données: SVAMP, GSM8K, MAWPS
git clone [email protected]:holarissun/Prompt-OIRL.git
conda create --name prompt-oirl python==3.10
conda activate prompt-oirl
cd Prompt-OIRL
pip install -r requirements.txt
Cette étape prendra beaucoup de temps --- généralement quelques jours. Pour éviter de répéter un tel coût en calcul (lors de l'exécution de LLMS sur les machines locales) ou un processus coûteux (lors de l'appel des API commerciaux comme GPT3.5 ou Tigerbot), nous avons publié tous les journaux interactifs avec les LLM collectés dans nos expériences. .
Si vous souhaitez reproduire l'ensemble de données hors ligne, par exemple, avec le modèle LLAMA2, vous devez travailler sous le dir de
[email protected]:facebookresearch/llama.git
et déplacer Prompt-OIRL/llama_exps/llama_step1_gen_offline.py au dossier llama
alors
torchrun --nproc_per_node 1 llama_step1_gen_offline.py
--ckpt_dir llama-2-7b-chat/
--tokenizer_path tokenizer.model
--max_seq_len 512 --max_batch_size 8 --prompt_idx 0 --dataset_eval gsm8k
Cette étape prendra quelques secondes pour terminer, il fera un renom sur le fichier et la séparation de tests et enregistrer les fichiers correspondants à un nouveau dossier LMllama2
python3 llama_step2_reorg_data.py
Cette étape prendra quelques secondes pour terminer, elle traitera les données et stockera des intégres et des étiquettes pour différents paramètres d'expérience (c'est-à-dire avec une disponibilité différente des invites de formation) avec des fichiers de format .npy .
python3 llama_step3_data_processing.py
Cette étape prendra quelques minutes à quelques heures pour terminer, selon les algorithmes choisis et le processeur. En général, la formation d'un modèle de récompense XGBOost prendra un peu plus de temps, et l'utilisation d'un modèle de récompense LightGBM peut être plus rapide.
python3 llama_step4_offline_evaluation.py
Cette étape prendra quelques minutes pour terminer. L'évaluation des algorithmes en interagissant avec les LLM peut également être une option mais pourrait être plus lente. Les résultats dans différents paramètres seront tous enregistrés sur les fichiers .csv
python3 llama_step5_offline_optimization.py
Invite-Oirl résout les problèmes d'incitation dans les LLM à l'aide d'une approche RLAIF. Pour les lecteurs qui sont également intéressés par RLHF et RLAIF, et par l'intersection entre la recherche RL et LLM, nous nous référerions à notre article de positionnement connexe discutant de RL dans la recherche LLM: RL à l'ère de LLMS: Qu'est-ce qui est essentiel? Qu'est-ce qui est nécessaire? RLHF, invite et au-delà.
Si vous souhaitez citer notre code ou notre papier, veuillez utiliser
@inproceedings{sun2023query,
title={Query-Dependent Prompt Evaluation and Optimization with Offline Inverse RL},
author={Sun, Hao and H{"u}y{"u}k, Alihan and van der Schaar, Mihaela},
booktitle={The Twelfth International Conference on Learning Representations},
year={2024}
}
@article{sun2023reinforcement,
title={Reinforcement Learning in the Era of LLMs: What is Essential? What is needed? An RL Perspective on RLHF, Prompting, and Beyond},
author={Sun, Hao},
journal={arXiv preprint arXiv:2310.06147},
year={2023}
}