Zubnet AIAprenderWiki › Checkpoint
Entrenamiento

Checkpoint

También conocido como: Punto de control del modelo, Snapshot
Una instantánea guardada del estado de un modelo durante el entrenamiento — los pesos, el estado del optimizador, el programa de tasa de aprendizaje y el paso de entrenamiento. Los checkpoints permiten reanudar el entrenamiento después de interrupciones (fallas de hardware, desalojo), evaluar versiones intermedias del modelo y retroceder a una versión anterior si el entrenamiento se degrada. Guardar checkpoints cada pocos miles de pasos es práctica estándar.

Por qué importa

Entrenar modelos grandes toma de días a meses. Sin checkpoints, una falla de GPU en el paso 90,000 de un entrenamiento de 100,000 pasos significa empezar de nuevo. Los checkpoints son un seguro: guardan el progreso incrementalmente para que solo pierdas el trabajo desde el último checkpoint. También permiten la selección de modelos — a veces un checkpoint anterior tiene mejor rendimiento en tus métricas de evaluación que el final.

En profundidad

Un checkpoint completo para un modelo de 70B incluye: pesos del modelo (~140 GB en FP16), estados del optimizador (~280 GB para Adam, que almacena dos promedios móviles por parámetro), estado del planificador de tasa de aprendizaje, estados del generador de números aleatorios y el paso de entrenamiento actual. Total: ~420 GB por checkpoint. Guardar esto en disco toma tiempo y almacenamiento significativos, razón por la cual los checkpoints se hacen periódicamente en lugar de en cada paso.

Estrategias de checkpoint

Estrategias comunes: guardar cada N pasos (simple pero usa mucho almacenamiento), guardar solo los K checkpoints más recientes (eliminando los antiguos para ahorrar espacio), guardar basándose en métricas de evaluación (conservar el checkpoint con la mejor pérdida de validación), y usar checkpointing asíncrono (guardar en segundo plano mientras el entrenamiento continúa con el siguiente lote). Los entrenamientos grandes a menudo usan todas estas: checkpoints locales frecuentes en almacenamiento NVMe rápido más checkpoints remotos periódicos en almacenamiento de red para recuperación ante desastres.

Conversión de checkpoints

Diferentes frameworks usan diferentes formatos de checkpoint: state_dict de PyTorch, safetensors de Hugging Face, checkpoints fragmentados de FSDP y checkpoints ZeRO de DeepSpeed. Convertir entre formatos es una tarea común — podrías entrenar con DeepSpeed (fragmentado entre GPUs) pero necesitar un checkpoint consolidado único para inferencia o subir a Hugging Face. El formato safetensors se está convirtiendo en el estándar para compartir porque es rápido de cargar y seguro para la memoria.

Conceptos relacionados

← Todos los términos