Chapitre 2 : Techniques de fusion de modèles
Combiner les modèles pour de meilleurs résultats
La fusion de modèles combine plusieurs modèles ajustés en un seul.
Méthodes de fusion
| Méthode | Description | Idéal pour |
|---|---|---|
| Linéaire | Moyenne des poids | Combinaison simple |
| SLERP | Interpolation sphérique | Fusion en douceur |
| TIES | Résolution de conflits | Plusieurs experts |
| DARE | Abandon et redimensionnement | Modèles divers |
Fusion LoRA
# Fusionner LoRA dans le modèle de base
from peft import PeftModel
model = PeftModel.from_pretrained(base_model, "adapter_path")
merged_model = model.merge_and_unload()
merged_model.save_pretrained("merged_model")
Exemple de MergeKit
# config.yaml
slices:
- sources:
- model: base_model
layer_range: [0, 32]
- model: finetuned_model
layer_range: [0, 32]
merge_method: slerp
base_model: base_model
parameters:
t: 0.5 # Facteur d'interpolation
dtype: bfloat16
mergekit-yaml config.yaml ./merged_output
Quand fusionner
✅ Fusionner lorsque :
- Combiner des modèles spécifiques à une tâche
- Déployer une architecture plus simple
- Pas besoin de changer d'adaptateur
❌ Garder séparé lorsque :
- Besoin de changer de tâche dynamiquement
- Espace de stockage limité
- Souhaitez mettre à jour les tâches indépendamment