Boas Práticas de MLOps
Regras para levar modelos do experimento a um serviço de produção confiável.
Como Usar Esta Lista
- Regras A-B cobrem reprodutibilidade e rastreamento.
- Regras C-D governam o serviço e a inferência.
- Regras E-F cobrem monitoramento e operações.
A - Reprodutibilidade
- Versionar dados de treinamento com DVC ou hash. Reproduzir qualquer modelo a partir da versão do código + dados.
- Fixar versões de bibliotecas no ambiente de treinamento. Registrar no run do MLflow ou na imagem do contêiner.
- Usar scripts de treinamento, não notebooks. Notebooks para exploração; scripts para pipelines de produção.
- Definir sementes aleatórias e registrá-las. Experimentos reproduzíveis entre execuções.
- Salvar o artefato completo do pipeline. Pré-processamento + modelo em um objeto serializável.
B - Rastreamento de Experimentos
- Registrar cada execução de treinamento. Parâmetros, métricas, artefatos, versão de dados, commit do git.
- Nomear execuções de forma descritiva. Incluir tipo de modelo, versão de dados e hiperparâmetro chave.
- Comparar execuções antes de selecionar um modelo. Não implantar a última execução por padrão.
- Registrar os melhores modelos em um registro. Fluxo de trabalho de promoção de Staging -> Produção.
- Vincular a versão do registro à execução de treinamento. Linhagem completa da predição de volta aos dados.
C - Serviço
- Carregar modelo uma vez na inicialização. Manipulador de ciclo de vida ou carregamento em nível de módulo; nunca por solicitação.
- Validar entradas com Pydantic. Verificações de tipo, intervalo e campos obrigatórios.
- Retornar a versão do modelo com as predições. Rastreabilidade para depuração.
- Expor endpoint /health. Modelo carregado, dependências acessíveis.
- Escrever testes de fumaça de inferência. Entrada conhecida -> forma de saída esperada e valor aproximado.
D - Qualidade da Inferência
- Corresponder o pré-processamento de treinamento no serviço. Mesmo artefato de pipeline ou módulo de código compartilhado.
- Impor a ordem das colunas de features. Campos nomeados, não listas posicionais.
- Registrar metadados de predição. Timestamp, versão do modelo, hash da entrada (não PII bruta).
- Definir orçamentos de latência. Alvo p99; perfilar antes de escolher o framework de serviço.
- Planejar rollback. Manter a versão anterior do modelo implantável em <5 minutos.
E - Monitoramento
- Salvar a distribuição de dados de referência na implantação. Linha de base para detecção de desvio.
- Monitorar o desvio de features semanalmente. Teste KS, PSI ou relatórios Evidently.
- Acompanhar a distribuição de predições. Mudanças repentinas indicam problemas de dados upstream.
- Alertar sobre taxa de erro e latência. Mesma observabilidade de qualquer serviço de produção.
- Retreinar em caso de desvio ou degradação de métricas. Gatilho automatizado com portão de aprovação humana.
F - Custo e Infraestrutura
- Dimensionar corretamente a computação. CPU para sklearn; GPU apenas quando o treinamento/inferência exigir.
- Usar instâncias spot para treinamento. Checkpoint para sobreviver à preempção.
- Calcular o ponto de equilíbrio entre API e auto-hospedagem. Antes de investir em infraestrutura de GPU.
- Escalar automaticamente réplicas de inferência. Escalar para zero para desenvolvimento; réplicas mínimas para produção.
- Marcar recursos da nuvem por projeto. Atribuição de custos e limpeza.
FAQs
Maior erro de MLOps?
Implantar código de notebook sem testes, versionamento ou monitoramento.Notebooks em produção?
Não - refatorar para scripts com argumentos de linha de comando e testes.Monitoramento mínimo?
Verificação de saúde, taxa de erro, latência, registro de predições.Quando usar MLflow?
Qualquer projeto com mais de um experimento ou membro de equipe.FastAPI é suficiente para servir?
Sim, para a maioria das equipes até que as demandas de throughput exijam Triton.Com que frequência retreinar?
Em alerta de desvio ou agendado (semanal/mensal) com base na velocidade do domínio.CI/CD para ML?
CI: testes + métricas de avaliação. CD: implantar modelo de Staging; promover para Produção.Feature store é necessário?
Quando os caminhos de batch e streaming precisam compartilhar a computação exata de features.Model cards?
Documentar uso pretendido, limitações, dados de treinamento e riscos de viés.Segurança?
Autenticação na API de inferência; sem PII nos logs; escanear imagens de contêiner.Diferenças de MLOps para LLM?
Adicionar versionamento de prompt, conjuntos de avaliação e rastreamento de custo de token ao MLOps padrão.Passagem de bastão da equipe?
README com comandos de treinamento/serviço, localização do registro de modelos e runbook de plantão.Relacionados
- Bases de MLOps
- Rastreamento de Experimentos
- Servindo com FastAPI
- Monitoramento e Desvio
- Boas Práticas de Machine Learning
Versões de Stack: Esta página foi escrita para Python 3.14.0 (estável 3.14, manutenção 3.13), FastAPI 0.115+, Django 5.2, Flask 3.1, Pydantic 2, PyTorch 2.6+, pandas 2.2+, Polars 1.x, ruff 0.9+, e uv 0.6+.