Xiaoqiang lin*,Zhaoxuan Wu*,Zhongxiang dai,Wenyang Hu,Yao Shu,See-Kiong NG,Patrick Jaillet,Bryan Kian Hsiang Low
项目主页| arxiv |纸
这是本文的代码:使用您的本能:使用与变压器结合的神经匪徒进行优化。我们为我们的实验提供了所有代码,其中包括:
我们的代码基于来自APE和CenterencerZero的代码。
大型语言模型(LLM)表现出了出色的指导跟踪功能,并在各种应用中取得了令人印象深刻的表现。但是,LLMS的表现在很大程度上取决于给他们的指示,这些说明通常是通过大量人类努力手动调整的。最近的工作使用了查询有效的贝叶斯优化(BO)算法来自动优化给Black-Box LLMS提供的说明。但是,在优化高度复杂的(例如,高维)目标函数时,BO通常会跌落,例如函数将指令映射到LLM的性能。这主要是由于高斯过程(GP)模型的表达能力有限,该模型被BO用作建模目标函数的代理。同时,已经反复表明,神经网络(NNS),尤其是预训练的变压器具有强大的表现力,并且可以对高度复杂的功能进行建模。因此,我们采用了一种神经匪徒算法,该算法将BO中的GP代替NN代理,以优化Black-Box LLMS的说明。更重要的是,神经匪徒算法使我们能够自然地将NN替代材料与预先训练的变压器(即开源LLM)学到的隐藏表示形式,从而大大提高了其性能。这些激励我们使用与变压器(Instinct)算法的神经匪徒提出指导优化。我们对CHATGPT执行指令优化,并使用广泛的实验表明我们的本能始终超过不同任务中现有方法的表现,例如在各种说明诱导任务和改善零摄影链链条指令的任务中。
您可以从Centerendzero的GitHub存储库下载数据以进行内在归纳。您可以从HuggingFace网站下载Samsum的数据集。您可以从APE的存储库中下载GSM8K,Aquarat和SVAMP的数据集。
我们将数据预验笔记本放在COT/experiments/data/instruction_induction/pre_aqua.ipynb COT/experiments/data/instruction_induction/pre_gsm8k.ipynb and Induction/experiments/data/nlptasks/pre_nlp_data.ipynb 。
要运行我们的代码,您需要使用conda安装环境: conda env create -f environment.yml
我们提供了bash脚本,用于运行我们的实验,以Induction/experiments/run_neural_bandits.sh进行指导诱导。要正确运行它,您需要在终端中运行以下内容:
cd Induction
bash experiments/run_neural_bandits.sh
同样,要运行我们的代码以改进经过经过经过经过经过经过经过经过经过经过经过经过经训的链条的指示,您需要运行脚本COT/experiments/run_cot_bandits.sh如下:
cd COT
bash experiments/run_cot_bandits.sh
请注意,在运行上述bash脚本之前,您需要指定openAI键来调用gpt-turbo-3.5-0301 API。为此,在两个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}
}