Xiaoqiang Lin*, Zhaoxuan Wu*, Zhongxiang Dai, Wenyang Hu, Yao Shu, See-Kiong Ng, Patrick Jaillet, Bryan Kian Hsiang Low
Beranda Proyek | Arxiv | Kertas
Ini adalah kode untuk kertas: Gunakan insting Anda: Optimalisasi instruksi menggunakan bandit saraf digabungkan dengan transformer. Kami menyediakan semua kode untuk percobaan kami yang meliputi:
Kode kami didasarkan pada kode dari APE dan Instruktur.
Model Bahasa Besar (LLM) telah menunjukkan kemampuan mengikuti instruksi yang luar biasa dan mencapai kinerja yang mengesankan di berbagai aplikasi. Namun, kinerja LLM sangat bergantung pada instruksi yang diberikan kepada mereka, yang biasanya disetel secara manual dengan upaya manusia yang substansial. Pekerjaan terbaru telah menggunakan algoritma Bayesian Optimization (BO) yang efisien untuk secara otomatis mengoptimalkan instruksi yang diberikan kepada Black-Box LLMS. Namun, BO biasanya gagal ketika mengoptimalkan fungsi objektif yang sangat canggih (misalnya, dimensi tinggi), seperti fungsi memetakan instruksi untuk kinerja LLM. Hal ini terutama disebabkan oleh kekuatan ekspresif terbatas dari model proses Gaussian (GP) yang digunakan oleh BO sebagai pengganti untuk memodelkan fungsi objektif. Sementara itu, telah berulang kali ditunjukkan bahwa Neural Networks (NNS), terutama transformer pra-terlatih, memiliki kekuatan ekspresif yang kuat dan dapat memodelkan fungsi yang sangat kompleks. Jadi, kami mengadopsi algoritma Bandit saraf yang menggantikan GP di BO oleh pengganti NN untuk mengoptimalkan instruksi untuk Black-Box LLMS. Lebih penting lagi, algoritma Bandit saraf memungkinkan kita untuk secara alami memasangkan pengganti NN dengan representasi tersembunyi yang dipelajari oleh transformator pra-terlatih (yaitu, llm open-source), yang secara signifikan meningkatkan kinerjanya. Ini memotivasi kami untuk mengusulkan optimasi instruksi kami menggunakan bandit saraf ditambah dengan algoritma Transformers (Insting). Kami melakukan pengoptimalan instruksi untuk chatgpt dan menggunakan eksperimen yang luas untuk menunjukkan bahwa naluri kami secara konsisten mengungguli metode yang ada dalam tugas yang berbeda, seperti dalam berbagai tugas induksi instruksi dan tugas meningkatkan instruksi rantai rantai zero-shot.
Anda dapat mengunduh data untuk induksi intrinsik dari repo GitHub Instruktur. Anda dapat mengunduh dataset Samsum dari situs web HuggingFace. Anda dapat mengunduh dataset untuk GSM8K, Aquatat, dan Svamp dari repo untuk APE.
Kami menempatkan buku catatan preparsion data di COT/experiments/data/instruction_induction/pre_aqua.ipynb , COT/experiments/data/instruction_induction/pre_gsm8k.ipynb dan Induction/experiments/data/nlptasks/pre_nlp_data.ipynb .
Untuk menjalankan kode kami, Anda perlu menginstal lingkungan menggunakan conda: conda env create -f environment.yml
Kami menyediakan skrip bash untuk menjalankan eksperimen kami untuk induksi instruksi pada Induction/experiments/run_neural_bandits.sh . Untuk menjalankannya dengan benar, Anda perlu menjalankan yang berikut di terminal:
cd Induction
bash experiments/run_neural_bandits.sh
Demikian pula, untuk menjalankan kode kami untuk meningkatkan instruksi rantai-dipikirkan, Anda perlu menjalankan skrip COT/experiments/run_cot_bandits.sh sebagai berikut:
cd COT
bash experiments/run_cot_bandits.sh
Perhatikan bahwa sebelum Anda menjalankan skrip bash di atas, Anda perlu menentukan tombol OpenAI untuk memanggil gpt-turbo-3.5-0301 API. Untuk melakukannya, ubah yang berikut dalam dua skrip Bash:
export export OPENAI_API_KEY=YOUR_KEY
@inproceedings{lin2024use,
title={Use Your {INSTINCT}: INSTruction optimization for LLMs usIng Neural bandits Coupled with Transformers},
author={Xiaoqiang Lin and Zhaoxuan Wu and Zhongxiang Dai and Wenyang Hu and Yao Shu and See-Kiong Ng and Patrick Jaillet and Bryan Kian Hsiang Low},
year={2024},
booktitle={Proc. ICML}
}