
In dieser Studie wollen wir die Fähigkeit des arithmetischen Denkens von Großsprachenmodellen (LLMs) durch Null-Shot-Eingabeaufforderungoptimierung verbessern. Wir identifizieren ein zuvor übersehenes Ziel der Abhängigkeit von Abfragen in einer solchen Optimierung und zeichnen zwei Herausforderungen auf, die die erfolgreiche und wirtschaftliche Gestaltung von schnellen Optimierungstechniken behindern. Ein primäres Problem ist das Fehlen einer effektiven Methode zur Bewertung der Eingabeaufforderungen während der Inferenz, wenn die goldene Antwort nicht verfügbar ist. Gleichzeitig ist das Lernen durch Interaktionen mit dem LLM, um die expansive natürliche Sprache zu navigieren, und erweist sich als ressourcenintensiv. Um dies zu beheben, stellen wir ein prompt-oirl ein, das offline-inverse Verstärkungslernen nutzt, um Erkenntnisse aus Offline-Anlauferdaten zu erhalten. Solche Daten existieren als Nebenprodukte, wenn verschiedene Eingabeaufforderungen auf offen zugängliche Datensätze bewertet werden. Mit prompt-oirl wird das abhängige Zieloptimierungsziel erreicht, indem zunächst ein Offline-Belohnungsmodell gelernt wird. Dieses Modell kann alle Abfrage-Prompt-Paare bewerten, ohne auf LLMs zuzugreifen. Anschließend wird eine Best-of-N-Strategie eingesetzt, um die optimale Eingabeaufforderung zu empfehlen. Unsere experimentellen Bewertungen in verschiedenen LLM -Skalen und arithmetischen Argumentationsdatensätzen unterstreichen sowohl die Wirksamkeit als auch die wirtschaftliche Lebensfähigkeit des vorgeschlagenen Ansatzes.
Abbildung 1. Keine Eingabeaufforderung ist perfekt, die für alle Abfragen funktioniert . Die optimale Eingabeaufforderung ist abhängig abhängig. Die Suche nach solchen Eingaben kann jedoch kostspielig und ineffizient sein. Eingabeaufforderung-Oirl optimiert die Eingabeaufforderung während der Inferenzzeit auf einem abfrageabhängigen Niveau effektiv und kostengünstig. (Original -Chat -Protokolle mit GPT4 für diese motivierenden Beispiele finden Sie links, rechts)
Um unsere Ergebnisse zu reproduzieren (z. B. mit LLAMA2)
Holen Sie sich die Lizenz zur Verwendung von LLAMA-2.
Erhalten Sie Zugriff auf die Datensätze: 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
Dieser Schritt dauert lange-normalerweise ein paar Tage. Um zu vermeiden, dass ein solches rechenintensiv teures (beim Ausführen von LLMs auf lokalen Maschinen) oder kostspielig (beim Aufrufen der kommerziellen APIs wie GPT3.5 oder Tigerbot) alle interaktiven Protokolle mit den in unseren Experimenten gesammelten LLMs veröffentlicht wurde. .
Wenn Sie beispielsweise den Offline -Datensatz mit dem LLAMA2 -Modell reproduzieren möchten, müssen Sie unter dem Dir von arbeiten
[email protected]:facebookresearch/llama.git
und verschieben Sie Prompt-OIRL/llama_exps/llama_step1_gen_offline.py in den llama Ordner
Dann
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
Dieser Schritt dauert einige Sekunden, um fertig zu werden. Er wird von einem neuen Ordner LMllama2 entsprechende Dateien umbenannt und testen und speichern.
python3 llama_step2_reorg_data.py
Dieser Schritt dauert einige Sekunden, um die Daten zu verarbeiten und Einbettung und Beschriftungen für verschiedene Experiment -Einstellungen (dh mit unterschiedlichen Verfügbarkeit von Trainingseinführungen) mit .npy -Formatdateien zu speichern.
python3 llama_step3_data_processing.py
Dieser Schritt dauert einige Minuten bis zum Abschluss einiger Stunden, abhängig von den ausgewählten Algorithmen und dem Prozessor. Im Allgemeinen dauert das Training eines Xgboost -Belohnungsmodells etwas länger, und die Verwendung eines LightGBM -Belohnungsmodells kann schneller sein.
python3 llama_step4_offline_evaluation.py
Dieser Schritt dauert ein paar Minuten, um fertig zu werden. Die Bewertung der Algorithmen durch Interaktion mit den LLMs kann ebenfalls eine Option sein, kann jedoch langsamer sein. Die Ergebnisse unter verschiedenen Einstellungen werden alle in .csv -Dateien gespeichert
python3 llama_step5_offline_optimization.py
Eingabeaufforderung-Oirl befasst sich mit den Aufforderungsprobleme in LLMs mit einem RLAIF-Ansatz. Für Leser, die auch an RLHF und RLAIF und an der Kreuzung zwischen RL und LLM -Forschung interessiert sind, beziehen wir uns auf unser verwandtes Positionierungspapier, über das RL in der LLM -Forschung diskutiert wird: RL in der Zeit der LLMs: Was ist wichtig? Was wird benötigt? RLHF, Aufforderung und darüber hinaus.
Wenn Sie unseren Code oder Papier zitieren möchten, verwenden Sie bitte
@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}
}