Protótipo funcional de um pipeline de produção robusto focado em observabilidade e retreinamento automático baseado em detecção de drift.
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
- 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.
- 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.
- 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.
- Instalar dependências:
pip install -r requirements.txt - Gerar dados e inicializar DVC:
python src/data_gen.py && dvc init - Configurar Feast:
cd features && feast apply && cd .. - Rodar Simulação & Monitoramento:
python src/simulate_production.py
python src/orchestrator.py- 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.