Code officiel du document " Glieur: routeur d'experts mondial et local axé sur l'enseignement ". Notre base de code est construite sur Phatgoose.
Glider —Solve Tasks main-in / -out avec une collection d'experts spécialisés comme Lora en même temps!

La disponibilité de modèles pré-formés performants a conduit à une prolifération de modèles d'experts affinés spécialisés dans des domaines particuliers. Cela a permis la création de méthodes puissantes et adaptatives sur le routage "moerging" dans le but d'utiliser des modules d'experts pour créer un système agrégé avec des performances ou une généralisation améliorées. Cependant, les méthodes de moerging existantes priorisent souvent la généralisation aux tâches invisibles au détriment des performances sur les tâches maintenues, ce qui limite son applicabilité pratique dans les scénarios de déploiement du monde réel. Nous observons que les mécanismes de routage actuels au niveau des jetons négligent le contexte sémantique global de la tâche d'entrée. Cette indépendance en termes de jeton entrave une sélection d'experts efficace pour les tâches de maintien, car les décisions de routage ne parviennent pas à incorporer les propriétés sémantiques de la tâche. Pour y remédier, nous proposons, un routeur d'experts (planeur) axé sur les instructions mondial et local qui intègre un mécanisme de routage à plusieurs échelles, englobant un routeur mondial sémantique et un savant routeur local. Le routeur mondial exploite les capacités de raisonnement avancées de LLM pour les contextes liés au sémantique pour améliorer la sélection des experts. Compte tenu de la requête d'entrée et de LLM, le routeur génère des instructions de tâche sémantique qui guident la récupération des experts les plus pertinents dans toutes les couches. Cette direction globale est complétée par un routeur local qui facilite les décisions de routage au niveau du jeton dans chaque module, permettant un contrôle plus fin et des performances améliorées sur les tâches non visées. Nos expériences utilisant des modèles à base de T5 pour les tâches T0 et Flan démontrent que le planeur atteint une performance maintenue considérablement améliorée tout en conservant une forte généralisation sur les tâches maintenues. Nous effectuons également des expériences d'ablations pour plonger plus profondément dans les composantes du planeur. Nos expériences mettent en évidence l'importance de notre routage à plusieurs échelles qui tire parti du raisonnement sémantique axé sur LLM pour les méthodes de moerging.
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 Veuillez vérifier les commandes et les commentaires dans src/scripts/paper-eval.sh pour la reproduction des résultats.
@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 } ,
}