Chapitre 3 : Études d'ablation
Comprendre ce qui fonctionne et pourquoi
Les études d'ablation testent systématiquement les composants pour comprendre leur contribution.
Que faut-il ablater
| Composant | Variations à tester |
|---|---|
| Rang LoRA | 4, 8, 16, 32, 64 |
| Modules cibles | Minimal → Complet |
| Taux d'apprentissage | Échelle logarithmique |
| Taille des données | 100, 500, 1K, 5K |
| Époques | 1, 2, 3, 5 |
Cadre d'ablation
def run_ablation(base_config, param_name, param_values):
"""Exécute l'ablation pour un seul paramètre."""
results = []
for value in param_values:
config = base_config.copy()
config[param_name] = value
# Entraîner
model = train_model(config)
# Évaluer
score = evaluate_model(model)
results.append({
param_name: value,
"score": score,
})
return results
Présentation des résultats
| Rang LoRA | Score de la tâche | Temps d'entraînement |
|---|---|---|
| 4 | 85.2% | 45 min |
| 8 | 87.1% | 50 min |
| 16 | 88.3% | 55 min |
| 32 | 88.5% | 65 min |
| 64 | 88.4% | 80 min |
Conclusion : Le rang 16 offre le meilleur compromis qualité/efficacité.
Meilleures pratiques
- Changer une chose à la fois
- Utiliser la même graine pour la reproductibilité
- Exécuter plusieurs graines pour les résultats finaux
- Tout documenter
- Se concentrer sur les différences pratiques