Zubnet AIAprenderWiki › Checkpoint
Treinamento

Checkpoint

Também conhecido como: Checkpoint de Modelo, Snapshot
Um snapshot salvo do estado de um modelo durante o treinamento — os pesos, estado do otimizador, schedule de learning rate e passo de treinamento. Checkpoints permitem retomar o treinamento após interrupções (falha de hardware, preempção), avaliar versões intermediárias do modelo e reverter para uma versão anterior se o treinamento degradar. Salvar checkpoints a cada poucos milhares de passos é prática padrão.

Por que isso importa

Treinar modelos grandes leva dias a meses. Sem checkpoints, uma falha de GPU no passo 90.000 de um treinamento de 100.000 passos significa começar do zero. Checkpoints são seguro: salvam progresso incrementalmente para que você perca apenas o trabalho desde o último checkpoint. Também permitem seleção de modelo — às vezes um checkpoint anterior tem melhor desempenho nas suas métricas de avaliação do que o final.

Em profundidade

Um checkpoint completo para um modelo 70B inclui: pesos do modelo (~140 GB em FP16), estados do otimizador (~280 GB para Adam, que armazena duas médias móveis por parâmetro), estado do scheduler de learning rate, estados do gerador de números aleatórios e o passo de treinamento atual. Total: ~420 GB por checkpoint. Salvar isso em disco leva tempo e armazenamento significativos, e é por isso que checkpointing é feito periodicamente em vez de a cada passo.

Estratégias de Checkpoint

Estratégias comuns: salvar a cada N passos (simples mas usa muito armazenamento), salvar apenas os K checkpoints mais recentes (deletando os mais antigos para economizar espaço), salvar baseado em métricas de avaliação (manter o checkpoint com a melhor loss de validação) e usar checkpointing assíncrono (salvar em segundo plano enquanto o treinamento continua no próximo lote). Treinamentos grandes frequentemente usam todos esses: checkpoints locais frequentes em armazenamento NVMe rápido mais checkpoints remotos periódicos em armazenamento de rede para recuperação de desastres.

Conversão de Checkpoint

Diferentes frameworks usam diferentes formatos de checkpoint: state_dict do PyTorch, safetensors do Hugging Face, checkpoints fragmentados do FSDP e checkpoints ZeRO do DeepSpeed. Converter entre formatos é uma tarefa comum — você pode treinar com DeepSpeed (fragmentado entre GPUs) mas precisar de um checkpoint único consolidado para inferência ou upload para o Hugging Face. O formato safetensors está se tornando o padrão para compartilhamento porque é rápido de carregar e seguro para memória.

Conceitos relacionados

← Todos os termos
← Chatbot Arena Classificação →