O que checkpoint-promotion faz?
Avalie checkpoints ajustados com orçamentos de deriva, comparação pareada e verificações de esquecimento antes da promoção. Use após uma execução de treinamento produzir um checkpoint, ao decidir se um modelo ajustado será enviado, ou quando um modelo promovido precisa ser reavaliado em relação a golden atualizados.
Visão Geral
Este skill implementa um pipeline de gating para decidir se um checkpoint de modelo ajustado deve ser promovido para produção. Ele executa três verificações principais:
- Orçamento de Deriva (Drift Budget): Verifica se a distribuição dos dados do checkpoint está dentro dos limites aceitáveis em relação ao golden.
- Comparação Pareada (Paired Comparison): Compara o desempenho do novo checkpoint com o baseline ou versão anterior, usando métricas como precisão, recall ou F1.
- Verificação de Esquecimento (Forgetting Check): Avalia se o modelo esqueceu conhecimentos importantes (ex.: tarefas anteriores) durante o fine-tuning.
Como Usar
- Pré-requisitos: Certifique-se de que o ambiente tenha acesso ao checkpoint treinado e ao golden de referência.
- Configuração: Defina os parâmetros de orçamento de deriva, limites de comparação pareada e tarefas para verificação de esquecimento no arquivo de configuração.
- Execução: Execute o skill com:
python promote_checkpoint.py --checkpoint-path /path/to/checkpoint --golden-path /path/to/golden --config config.yaml
- Saída: O skill gera um relatório em
promotion_report.mdcom os resultados de cada verificação e a decisão final (promover ou bloquear).
Parâmetros de Configuração
| Parâmetro | Descrição | Valor Padrão |
|---|---|---|
drift_budget | Limite máximo de deriva (ex.: 0.05) | 0.05 |
comparison_threshold | Diferença mínima de métrica para promoção | 0.01 |
forgetting_tasks | Lista de tarefas para verificar esquecimento | [] |
Integração com MLOps
- MLflow: O skill registra métricas e artefatos no MLflow para rastreamento.
- Weights & Biases: Permite logar resultados em projetos W&B.
Exemplo de Uso
# Exemplo: promover um checkpoint somente se todas as verificações passarem
python promote_checkpoint.py \
--checkpoint-path ./checkpoints/model_v2.ckpt \
--golden-path ./goldens/golden_v1.pt \
--config config.yaml \
--mlflow-uri http://mlflow-server:5000
Notas
- Caso alguma verificação falhe, o checkpoint não é promovido e um alerta é gerado.
- As verificações de esquecimento dependem de um conjunto de dados de validação específico.
- Consulte a documentação de
drift_detectionecomparison_pipelinepara detalhes sobre os algoritmos usados.