Skip to content

Automated pipeline for monitoring data and concept drift, with feature store, versioning, drift detection, and auto-retraining. Focused on full production lifecycle integrity.

Notifications You must be signed in to change notification settings

tensoriz/SentinelDrift

Repository files navigation

SentinelDrift: Automated MLOps Monitoring Pipeline

Protótipo funcional de um pipeline de produção robusto focado em observabilidade e retreinamento automático baseado em detecção de drift.

🏗️ Arquitetura

O sistema trata o modelo como uma entidade descartável, priorizando a integridade do pipeline.

graph LR
    DVC[DVC: Data Versioning] --> Feast[Feast: Feature Store]
    Feast --> Train[MLflow: Training]
    Train --> Serve[FastAPI: Inference]
    Serve --> Logs[Inference Logs]
    Logs --> Mon[Monitoring: Drift Detection]
    Mon --> |Gatilho| Train
Loading

🛠️ Stack Técnica

  • Treinamento & Tracking: MLflow (Model Registry funcional).
  • Feature Store: Feast (Online + Offline).
  • Versionamento: DVC para dados brutos e refinados (parquet).
  • Monitoramento: Implementação customizada de Kolmogorov-Smirnov (KS-Test) para Data Drift e tracking de distribuição de predições para Concept Drift.
  • Serving: FastAPI com logs assíncronos em formato JSONL.

📈 Detecção de Drift

Data Drift

  • Métrica: Teste KS (p-value < 0.05).
  • Complexidade: O(N) por feature.
  • Abordagem: Comparação cumulativa entre o dataset de referência (Fixed Training Set) e a janela de inferência atual.

Concept Drift

  • Estratégia: Monitoramento da distribuição de labels preditos (Proxy para drift quando labels reais são atrasados).
  • Limitação: Assume que se as predições mudam drasticamente de proporção em relação ao treino, a natureza da entrada ou a decisão do modelo degradou.

🚀 Como Executar

  1. Instalar dependências: pip install -r requirements.txt
  2. Gerar dados e inicializar DVC: python src/data_gen.py && dvc init
  3. Configurar Feast: cd features && feast apply && cd ..
  4. Rodar Simulação & Monitoramento:
python src/simulate_production.py
python src/orchestrator.py

⚠️ Decisões de Engenharia

  • Custo Computacional: O cálculo de drift é feito em batch fora do path de inferência crítica para evitar degradação de latência P99.
  • Rollback: Implementado via MLflow Registry (as versões de modelo são incrementadas, permitindo rollback manual ou automático via tags).
  • Feast: Utilizado para garantir paridade de features entre treino e serviço.

About

Automated pipeline for monitoring data and concept drift, with feature store, versioning, drift detection, and auto-retraining. Focused on full production lifecycle integrity.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages