Zubnet AIApprendreWiki › Checkpoint
Entraînement

Checkpoint

Aussi appelé : Point de contrôle, instantané de modèle
Un instantané sauvegardé de l'état d'un modèle pendant l'entraînement — les poids, l'état de l'optimiseur, le planning du taux d'apprentissage et l'étape d'entraînement. Les checkpoints permettent de reprendre l'entraînement après des interruptions (panne matérielle, préemption), d'évaluer des versions intermédiaires du modèle et de revenir à une version antérieure si l'entraînement se dégrade. Sauvegarder des checkpoints toutes les quelques milliers d'étapes est la pratique standard.

Pourquoi c'est important

Entraîner de grands modèles prend des jours à des mois. Sans checkpoints, une panne GPU à l'étape 90 000 d'un entraînement de 100 000 étapes signifie recommencer à zéro. Les checkpoints sont une assurance : ils sauvegardent la progression de manière incrémentale pour ne perdre que le travail depuis le dernier checkpoint. Ils permettent aussi la sélection de modèle — parfois un checkpoint antérieur performe mieux sur tes métriques d'évaluation que le modèle final.

En profondeur

Un checkpoint complet pour un modèle 70B inclut : les poids du modèle (~140 Go en FP16), les états de l'optimiseur (~280 Go pour Adam, qui stocke deux moyennes mobiles par paramètre), l'état du planificateur de taux d'apprentissage, les états des générateurs de nombres aléatoires et l'étape d'entraînement actuelle. Total : ~420 Go par checkpoint. Sauvegarder cela sur disque prend un temps et un espace significatifs, c'est pourquoi le checkpointing est fait périodiquement plutôt qu'à chaque étape.

Stratégies de checkpoint

Stratégies courantes : sauvegarder toutes les N étapes (simple mais utilise beaucoup de stockage), ne garder que les K checkpoints les plus récents (supprimer les anciens pour économiser de l'espace), sauvegarder selon les métriques d'évaluation (garder le checkpoint avec la meilleure perte de validation), et utiliser le checkpointing asynchrone (sauvegarder en arrière-plan pendant que l'entraînement continue sur le lot suivant). Les grands entraînements utilisent souvent toutes ces stratégies : des checkpoints locaux fréquents sur du stockage NVMe rapide plus des checkpoints périodiques distants sur du stockage réseau pour la reprise après sinistre.

Conversion de checkpoints

Différents frameworks utilisent différents formats de checkpoint : le state_dict de PyTorch, les safetensors de Hugging Face, les checkpoints shardés de FSDP et les checkpoints ZeRO de DeepSpeed. Convertir entre les formats est une tâche courante — tu pourrais entraîner avec DeepSpeed (shardé à travers les GPU) mais avoir besoin d'un checkpoint consolidé unique pour l'inférence ou l'upload sur Hugging Face. Le format safetensors devient le standard pour le partage parce qu'il est rapide à charger et sûr en mémoire.

Concepts connexes

← Tous les termes
← Chaîne de pensée Classification →