glider
1.0.0
纸上“滑翔机:全球和本地指导驱动的专家路由器”的官方代码。我们的代码库建立在Phatgoose上。
Glider - 与洛拉(Lora)这样的专业专家的集合同时进行了“安排/ - out”任务!

性能预训练的模型的可用性导致了专门针对特定领域的微调专家模型的扩散。这使创建功能强大且基于自适应路由的“模型Moerging”方法的目标是使用专家模块来创建具有改进性能或概括的聚合系统。但是,现有的Moering方法通常优先考虑概括,以看不见的任务,而牺牲了固定任务的性能,这限制了其在现实世界部署方案中的实际适用性。我们观察到,当前的令牌级路由机制忽略了输入任务的全局语义上下文。由于路由决策未能纳入任务的语义属性,因此这种代币的独立性阻碍了有效的专家选择。为了解决这个问题,我们提出了集成了多尺度路由机制,涵盖语义全局路由器和博学的本地路由器的全球和本地指导驱动的专家路由器(Glider)。全球路由器利用LLM的高级推理功能来获得与语义相关的上下文,以增强专家的选择。鉴于输入查询和LLM,路由器生成语义任务说明,以指导所有层中最相关的专家的检索。该全球指南的补充是一条本地路由器,该路由器促进了每个模块中代币级别的路由决策,从而实现了更精细的控制并增强了看不见的任务的性能。我们使用基于T5的T5模型进行T0和FLAN任务的实验表明,Glider在保持对持有任务的强烈概括的同时,实现了大幅提高的持有性能。我们还进行消融实验,以深入研究滑翔机的组成部分。我们的实验强调了我们多尺度路由的重要性,即利用LLM驱动的语义推理来进行潮湿方法。
conda create -n glider python=3.9
conda activate glider
conda install git-lfs
pip install -r requirements.txt
pip uninstall peft -y cd src && mkdir saved_runs && cd saved_runs
git lfs install
# Glider LLM-Generated task embeddings
git clone https://huggingface.co/MoE-UNC/gpt-generated-instruction-nomic-embeddings
# P3 LoRA checkpoints (derived from Phatgoose)
git clone https://huggingface.co/MoE-UNC/p3-lora-checkpoints
# FLAN LoRA checkpoints (derived from Phatgoose)
git clone https://huggingface.co/MoE-UNC/flan-lora-checkpoints
# Baseline- Arrow checkpoints
git clone https://huggingface.co/MoE-UNC/p3-lora-checkpoints-arrow
# Baseline - Merged Experts checkpoints (derived from Phatgoose)
git clone https://huggingface.co/MoE-UNC/phatgoose-checkpoints请在src/scripts/paper-eval.sh中查看命令和评论以获取结果。
@misc { li2024glidergloballocalinstructiondriven ,
title = { Glider: Global and Local Instruction-Driven Expert Router } ,
author = { Pingzhi Li and Prateek Yadav and Jaehong Yoon and Jie Peng and Yi-Lin Sung and Mohit Bansal and Tianlong Chen } ,
year = { 2024 } ,
eprint = { 2410.07172 } ,
archivePrefix = { arXiv } ,
primaryClass = { cs.LG } ,
url = { https://arxiv.org/abs/2410.07172 } ,
}