Checkpoint ou LoRA : quelle différence ?

Un checkpoint de modèle enregistre l'état d'un modèle à un instant donné ; dans les communautés de génération d'images, « checkpoint » désigne souvent un ensemble chargeable de poids du modèle. Un LoRA stocke une mise à jour apprise beaucoup plus petite, appliquée à un modèle de base compatible. Le checkpoint peut fonctionner seul dans le pipeline cible ; le LoRA ne contient pas ce modèle de base.

Un modèle complet à côté d'un adaptateur LoRA fin posé sur un modèle de base distinct.
Un checkpoint complet porte un état de modèle complet. Un LoRA porte une mise à jour ciblée et n'a de sens que par rapport à la base pour laquelle il a été entraîné.

« Checkpoint » a deux sens liés

Pendant l'entraînement, un checkpoint est un état enregistré à partir duquel le travail peut être évalué ou repris. Il peut inclure les poids du modèle, l'état de l'optimiseur et du planificateur, l'état du générateur aléatoire et les métadonnées d'entraînement. Un checkpoint d'inférence est souvent une version plus légère contenant les poids et la configuration nécessaires au chargement du modèle.

Dans les communautés de Stable Diffusion, « checkpoint » est aussi un raccourci pour désigner un fichier de modèle principal sélectionné dans une interface utilisateur. Cela ne garantit pas que tous les composants dépendants soient intégrés. Une chaîne de traitement peut encore nécessiter un VAE, un encodeur de texte, un tokeniseur ou une configuration fournis par l'application ou un package associé. Définissez toujours « complet » par rapport au chargeur que vous souhaitez récupérer.

Un LoRA est une mise à jour apprise, pas un deuxième modèle complet

Low-Rank Adaptation garde les poids préentraînés figés et apprend une mise à jour de faible rang pour des couches sélectionnées. Au moment de l'inférence, un framework peut appliquer cette mise à jour de manière dynamique à la base ou l'intégrer dans une copie dérivée. L'adaptateur est petit car il stocke la mise à jour, et non pas car il compresse secrètement chaque poids de base.

Cette dépendance constitue la distinction essentielle entre les checkpoints et les LoRA. On ne peut pas supposer qu'un LoRA de style portrait entraîné pour une famille Stable Diffusion fonctionne avec une autre architecture. Un adaptateur de modèle linguistique dépend lui aussi du modèle de base et des modules cibles décrits dans sa configuration.

Comparaison concrète

Question poséePoint d'intégrationLoRA
Ce qu'il stockeÉtat de modèle large ; parfois un état d'apprentissage supplémentairePoids d'adaptateur de faible rang et configuration
Peut-il fonctionner seul ?Souvent chargable en tant que modèle principal dans sa chaîne d'application prévueNon ; il a besoin d'une base et d'un chargeur compatibles
Utilisation couranteModèle de base, entraînement complet, point de repère ou point de repriseAdaptation efficace, style, sujet ou tâche
StockageSouvent beaucoup plus grand, car il représente bien plus d'étatsGénéralement beaucoup plus petit, car seules les mises à jour sélectionnées sont apprises
Question de récupérationAi-je le package complet ou l'état d'entraînement dont je dispose ?Ai-je la base exacte, la configuration d'adaptateur et les poids compatibles ?

La fusion d'un LoRA le transforme-t-elle en checkpoint ?

Fusionner ou intégrer un adaptateur à un modèle de base produit des poids dérivés. Un outil peut enregistrer ces poids dans un fichier couramment appelé checkpoint, mais cette sortie n'est pas le modèle de base d'origine et ne préserve pas nécessairement une séparation nette et réversible entre la base et l'adaptateur. Les opérations en virgule flottante, les conversions de types de données et les choix d'exportation peuvent tous influer sur le résultat.

Conservez l'adaptateur non fusionné et la base exacte lorsque vous souhaitez modifier la puissance, combiner des adaptateurs ou reproduire la fusion. Conservez également l'artefact fusionné lorsque ce fichier de déploiement exact est d'une importance opérationnelle. Ne supprimez pas les sources uniquement parce qu'un seul fichier fusionné a chargé correctement une fois.

Ce qu'il faut conserver lors de la mise au point

Pendant une exécution active, les checkpoints intermédiaires servent à l'évaluation et à la reprise après interruption. Une fois l'exécution terminée, conservez les jalons qui répondent à une véritable question : l'adaptateur final retenu, un ou plusieurs checkpoints de comparaison justifiés, la configuration, le code ou la commande d'entraînement, la référence du jeu de données et le rapport d'évaluation. Le guide sur les checkpoints d'entraînement LoRA traite cette question comme une décision de reproductibilité, et non comme une invitation à « tout garder ».

Un adaptateur final n'est pas un état d'entraînement reprise. Les poids de LoRA exportés peuvent être suffisants pour l'inférence tout en omettant l'état de l'optimiseur et du planificateur nécessaires pour continuer l'entraînement exactement.

Archivez les familles de fichiers, pas les noms de fichiers individuels

Une famille LoRA utile contient assez de contexte pour identifier et obtenir la base compatible. Lorsque la base est rare, privée ou modifiée localement, conservez-la avec l'adaptateur. Une famille de checkpoints peut inclure des composants complémentaires fournis discrètement par l'environnement d'exécution lors du premier chargement.

Tensor Archive permet de conserver et de vérifier des tenseurs locaux sélectionnés comme une famille cohérente. Il ne déduit pas la compatibilité d'un nom de fichier, ne reconstruit pas un état d'entraînement manquant et ne transforme pas un LoRA en modèle de base autonome.

Continuez avec l'artefact que vous avez

Si l'extension de pilote est la partie confuse, lisez ce qu'un fichier LoRA contient. Si vous choisissez une méthode d'entraînement, utilisez LoRA contre QLoRA. Si la pression de stockage est à l'origine de la question, découvrez comment libérer de l'espace disque sans modifier les poids de LoRA.

Références

Gardez la base et ses adaptateurs ensemble.Télécharger gratuitement ↓