MergeKit : Combinez les LLM simplement et efficacement
MergeKit : Fusionnez des LLM en toute Simplicité et Efficacité
MergeKit est une boîte à outils open-source innovante qui simplifie la fusion de modèles de langage pré-entraînés (LLM). Développé par Arcee.ai, MergeKit offre une solution robuste pour combiner les atouts de divers modèles directement dans leur espace de poids, évitant ainsi le besoin d'un entraînement supplémentaire coûteux ou d'un ensemblage complexe.
À la base, MergeKit utilise une approche hors-core, permettant aux utilisateurs d'effectuer des fusions sophistiquées même dans des environnements aux ressources limitées. Cela signifie que vous pouvez exécuter des fusions entièrement sur CPU ou les accélérer avec aussi peu que 8 Go de VRAM, rendant les opérations LLM avancées accessibles à un plus grand nombre d'utilisateurs et de configurations matérielles.
Pourquoi la fusion de modèles ?
La fusion de modèles est une technique révolutionnaire dans le domaine de l'intelligence artificielle. Contrairement à l'ensemblage traditionnel, qui nécessite l'exécution simultanée de plusieurs modèles, les modèles fusionnés maintiennent le même coût d'inférence qu'un modèle unique tout en atteignant souvent des performances comparables ou supérieures. Les principaux avantages incluent :
- Combinaison de modèles spécialisés : Intégrez plusieurs modèles spécifiques à des tâches dans un seul super-modèle polyvalent.
- Transfert de connaissances : Transférez des capacités entre modèles sans avoir accès à leurs données d'entraînement d'origine.
- Compromis optimaux : Affinez le comportement du modèle pour obtenir les caractéristiques de performance souhaitées.
- Amélioration des performances : Améliorez les capacités du modèle tout en maintenant les coûts d'inférence à un faible niveau.
- Nouvelles capacités : Créez de nouvelles fonctionnalités grâce à des combinaisons de modèles créatives.
Principales fonctionnalités de MergeKit
MergeKit regorge de fonctionnalités conçues pour gérer divers scénarios de fusion :
- Large support de modèles : Compatible avec les architectures LLM populaires comme Llama, Mistral, GPT-NeoX, StableLM, et bien d'autres.
- Méthodes de fusion étendue : Prend en charge un large éventail d'algorithmes de fusion, notamment Linéaire, SLERP, Arithmétique de tâches, TIES, DARE, DELLA et Arcee Fusion, chacun avec des atouts uniques pour différents cas d'utilisation.
Efficacité des ressources : Exécution flexible sur GPU ou CPU avec chargement paresseux des tenseurs pour une empreinte mémoire minimale.
- Techniques avancées : Fonctionnalités telles que les gradients interpolés, l'assemblage par morceaux ("Frankenmerging"), la fusion de Mélanges d'Experts (MoE) et les méthodes de fusion évolutives.
- Extraction LoRA : Extrayez des approximations de bas rang compatibles PEFT à partir de modèles affinés.
- Fusion multi-étapes : L'outil
mergekit-multi
permet d'enchaîner des opérations de fusion complexes. - Fusion de modèles PyTorch bruts :
mergekit-pytorch
étend les capacités de fusion à des modèles PyTorch arbitraires. - Transplantation de tokenizer :
mergekit-tokensurgeon
permet d'aligner les vocabulaires entre les modèles pour des tâches telles que le décodage spéculatif.
Démarrer avec MergeKit
L'installation est simple. Commencez par cloner le dépôt et installer le package :
git clone https://github.com/arcee-ai/mergekit.git
cd mergekit
pip install -e .
Pour une utilisation détaillée, le point d'entrée principal est le script mergekit-yaml
, qui prend un fichier de configuration YAML pour définir vos opérations de fusion. MergeKit offre également une intégration avec Hugging Face Hub pour un partage de modèles facile et des capacités de fusion dans le cloud via l'application Arcee.
Intégration cloud et au-delà
MergeKit offre une intégration transparente avec l'infrastructure cloud, en particulier via les GPU cloud d'Arcee. Cela permet aux utilisateurs de lancer et de gérer des fusions dans le cloud, simplifiant le processus et tirant parti d'un matériel puissant sans configuration locale. Avec des options pour déployer ou télécharger vos modèles fusionnés, MergeKit fournit une solution de bout en bout pour l'expérimentation et le déploiement avancés de LLM.
Si vous cherchez à explorer les dernières avancées en matière de personnalisation et d'efficacité des LLM, MergeKit est un outil indispensable dans votre arsenal d'IA. Ses fonctionnalités robustes et sa conception conviviale en font un projet open-source exceptionnel pour toute personne travaillant avec de grands modèles de langage.