
En este estudio, nuestro objetivo es mejorar la capacidad de razonamiento aritmético de los modelos de idiomas grandes (LLM) a través de la optimización de inmediato de disparo cero. Identificamos un objetivo previamente pasado por alto de dependencia de consultas en dicha optimización y dilucidamos dos desafíos posteriores que impiden el diseño exitoso y económico de las técnicas de optimización rápida. Un problema principal es la ausencia de un método efectivo para evaluar las indicaciones durante la inferencia cuando la respuesta dorada no está disponible. Al mismo tiempo, el aprendizaje a través de interacciones con los LLM para navegar por el espacio expansivo que impulsa el espacio demuestra ser intensivo en recursos. Para abordar esto, introducimos el aviso de inmediato, que aprovecha el aprendizaje de refuerzo inverso fuera de línea para atraer ideas de los datos de demostración fuera de línea. Dichos datos existen como subproductos cuando diversas indicaciones se comparan en conjuntos de datos de acceso abierto. Con Pront-oirl, el objetivo de optimización de inmediato dependiente de la consulta se logra al aprender primero un modelo de recompensa fuera de línea. Este modelo puede evaluar cualquier par de la consulta-Prompt sin acceder a LLMS. Posteriormente, se implementa una estrategia mejor de N para recomendar el aviso óptimo. Nuestras evaluaciones experimentales en varias escalas LLM y conjuntos de datos de razonamiento aritmético subrayan tanto la eficacia como la viabilidad económica del enfoque propuesto.
Figura 1. Ningún mensaje es perfecto que funcione para todas las consultas . El aviso óptimo depende de la consulta. Sin embargo, la búsqueda de tales indicaciones puede ser costosa e ineficiente. AtRd-OIRL optimiza la solicitud durante el tiempo de inferencia en un nivel dependiente de la consulta de manera efectiva y de manera rentable. (Los registros de chat originales con GPT4 para esos ejemplos motivadores se pueden encontrar a la izquierda, a la derecha)
Para reproducir nuestros resultados (por ejemplo, usando Llama2)
Obtenga la licencia para usar Llama-2.
Obtenga acceso a los conjuntos de datos: 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
Este paso tomará mucho tiempo, típicamente unos días. Para evitar repetir un proceso tan costoso (al ejecutar LLM en máquinas locales) o costosas (al llamar a las API comerciales como GPT3.5 o Tigerbot), hemos lanzado todos los registros interactivos con los LLM recolectados en nuestros experimentos. .
Si desea reproducir el conjunto de datos fuera de línea, por ejemplo, con el modelo LLAMA2, debe trabajar bajo el director de
[email protected]:facebookresearch/llama.git
y mueva Prompt-OIRL/llama_exps/llama_step1_gen_offline.py a la carpeta llama
entonces
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
Este paso tardará unos segundos en terminar, hará una división de cambio de nombre y prueba de entrenamiento de archivos y guardará los archivos correspondientes en una nueva carpeta LMllama2
python3 llama_step2_reorg_data.py
Este paso tardará unos segundos en terminar, procesará los datos y almacenará incrustaciones y etiquetas para diferentes configuraciones de experimentos (es decir, con una disponibilidad diferente de indicaciones de capacitación) con archivos de formato .npy .
python3 llama_step3_data_processing.py
Este paso tomará unos minutos a unas pocas horas para terminar, dependiendo de los algoritmos elegidos y el procesador. En general, entrenar un modelo de recompensa XGBOost llevará un poco más de tiempo, y usar un modelo de recompensa LightGBM puede ser más rápido.
python3 llama_step4_offline_evaluation.py
Este paso tomará unos minutos para terminar. Evaluar los algoritmos interactuando con los LLM también puede ser una opción pero podría ser más lenta. Los resultados en diferentes configuraciones se guardarán en archivos .csv
python3 llama_step5_offline_optimization.py
AtRd-OIRL aborda los problemas de solicitud en LLM utilizando un enfoque RLAIF. Para los lectores que también están interesados en RLHF y RLAIF, y en la intersección entre la investigación de RL y LLM, nos referiríamos a nuestro documento de posicionamiento relacionado que discute RL en LLM Research: RL en la era de LLM: ¿Qué es esencial? ¿Qué se necesita? Rlhf, indicando y más allá.
Si desea citar nuestro código o papel, use
@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}
}