O objetivo deste modelo de maturidade é ajudar a esclarecer os princípios e práticas das Operações de Machine Learning (MLOps). O modelo de maturidade mostra a melhoria contínua na criação e operação de um ambiente de aplicação de machine learning de nível de produção. Você pode usá-lo como uma métrica para estabelecer os requisitos progressivos necessários para medir a maturidade de um ambiente de produção de aprendizado de máquina e seus processos associados.
Modelo de vencimento
O modelo de maturidade de MLOps ajuda a esclarecer os princípios e práticas de Operações de Desenvolvimento (DevOps) necessários para executar um ambiente MLOps bem-sucedido. Pretende-se identificar lacunas na tentativa de uma organização existente de implementar tal ambiente. Também é uma maneira de mostrar como aumentar sua capacidade de MLOps em incrementos, em vez de sobrecarregá-lo com os requisitos de um ambiente totalmente maduro. Use-o como um guia para:
Estimar o escopo do trabalho para novos compromissos.
Estabeleça critérios de sucesso realistas.
Identifique as entregas que você entregará na conclusão do contrato.
Tal como acontece com a maioria dos modelos de maturidade, o modelo de maturidade MLOps avalia qualitativamente pessoas/cultura, processos/estruturas e objetos/tecnologia. À medida que o nível de maturidade aumenta, aumenta a probabilidade de que incidentes ou erros levem a melhorias na qualidade dos processos de desenvolvimento e produção.
O modelo de maturidade MLOps engloba cinco níveis de capacidade técnica:
Level |
Description |
Destaques |
Tecnologia |
0 |
Sem MLOps |
- Difícil de gerenciar o ciclo de vida completo do modelo de aprendizado de máquina
- As equipas são díspares e as libertações são dolorosas
- A maioria dos sistemas existe como "caixas pretas", pouco feedback durante/pós-implantação
|
- Compilações e implantações manuais
- Testes manuais de modelo e aplicação
- Sem acompanhamento centralizado do desempenho do modelo
- O treinamento do modelo é manual
|
1 |
DevOps, mas sem MLOps |
- Os lançamentos são menos dolorosos do que No MLOps, mas confie no Data Team para cada novo modelo
- Feedback ainda limitado sobre o desempenho de um modelo na produção
- Difícil rastrear/reproduzir resultados
|
- Compilações automatizadas
- Testes automatizados para código de aplicativo
|
2 |
Treinamento automatizado |
- O ambiente de treinamento é totalmente gerenciado e rastreável
- Modelo fácil de reproduzir
- As liberações são manuais, mas de baixo atrito
|
- Treinamento de modelo automatizado
- Acompanhamento centralizado do desempenho do treinamento do modelo
- Gestão de modelos
|
3 |
Implantação automatizada de modelos |
- As liberações são de baixo atrito e automáticas
- Rastreabilidade total desde a implantação até os dados originais
- Todo o ambiente gerenciado: produção de testes de > trem >
|
- Testes A/B integrados de desempenho do modelo para implantação
- Testes automatizados para todos os códigos
- Acompanhamento centralizado do desempenho do treinamento do modelo
|
4 |
Operações automatizadas completas de MLOps |
- Sistema completo automatizado e facilmente monitorizado
- Os sistemas de produção estão fornecendo informações sobre como melhorar e, em alguns casos, melhorar automaticamente com novos modelos
- Aproximando-se de um sistema de tempo de inatividade zero
|
- Treinamento e teste automatizados de modelos
- Métricas detalhadas e centralizadas do modelo implantado
|
As tabelas a seguir identificam as características detalhadas para esse nível de maturidade do processo. O modelo continuará a evoluir.
Nível 0: Sem MLOps
Pessoas |
Criação de modelos |
Lançamento do modelo |
Integração de Aplicações |
- Cientistas de dados: isolados, não em comunicação regular com a equipe maior
- Engenheiros de dados (se existirem): isolados, não em comunicações regulares com a equipe maior
- Engenheiros de software: isolados, recebem o modelo remotamente dos outros membros da equipe
|
- Dados recolhidos manualmente
- A computação provavelmente não é gerenciada
- Os experimentos não são rastreados de forma previsível
- O resultado final pode ser um único arquivo de modelo entregue manualmente com entradas/saídas
|
- Processo manual
- O script de pontuação pode ser criado manualmente bem depois dos experimentos, não com a versão controlada
- Liberação manipulada apenas por cientista de dados ou engenheiro de dados
|
- Altamente dependente da experiência de cientistas de dados para implementar
- Lançamentos manuais de cada vez
|
Nível 1: DevOps sem MLOps
Pessoas |
Criação de modelos |
Lançamento do modelo |
Integração de Aplicações |
- Cientistas de dados: isolados, não em comunicação regular com a equipe maior
- Engenheiros de dados (se existirem): isolados, não em comunicação regular com a equipe maior
- Engenheiros de software: isolados, recebem o modelo remotamente dos outros membros da equipe
|
- O pipeline de dados reúne dados automaticamente
- A computação é ou não gerenciada
- Os experimentos não são rastreados de forma previsível
- O resultado final pode ser um único arquivo de modelo entregue manualmente com entradas/saídas
|
- Processo manual
- O script de pontuação pode ser criado manualmente bem depois de experimentos, provavelmente versão controlada
- É entregue a engenheiros de software
|
- Existem testes básicos de integração para o modelo
- Altamente dependente da experiência do cientista de dados para implementar o modelo
- Lançamentos automatizados
- O código do aplicativo tem testes de unidade
|
Nível 2: Formação Automatizada
Pessoas |
Criação de modelos |
Lançamento do modelo |
Integração de Aplicações |
- Cientistas de dados: Trabalhando diretamente com engenheiros de dados para converter código de experimentação em scripts/trabalhos repetíveis
- Engenheiros de dados: Trabalhando com cientistas de dados
- Engenheiros de software: isolados, recebem o modelo remotamente dos outros membros da equipe
|
- O pipeline de dados reúne dados automaticamente
- Computação gerenciada
- Resultados da experiência rastreados
- Tanto o código de treinamento quanto os modelos resultantes são controlados por versão
|
- Liberação manual
- O script de pontuação é controlado com testes
- Release gerenciado pela equipe de engenharia de software
|
- Existem testes básicos de integração para o modelo
- Altamente dependente da experiência do cientista de dados para implementar o modelo
- O código do aplicativo tem testes de unidade
|
Nível 3: Implantação automatizada de modelos
Pessoas |
Criação de modelos |
Lançamento do modelo |
Integração de Aplicações |
- Cientistas de dados: Trabalhando diretamente com engenheiros de dados para converter código de experimentação em scripts/trabalhos repetíveis
- Engenheiros de dados: Trabalhando com cientistas de dados e engenheiros de software para gerenciar entradas/saídas
- Engenheiros de software: Trabalhando com engenheiros de dados para automatizar a integração do modelo no código do aplicativo
|
- O pipeline de dados reúne dados automaticamente
- Computação gerenciada
- Resultados da experiência rastreados
- Tanto o código de treinamento quanto os modelos resultantes são controlados por versão
|
- Libertação automática
- O script de pontuação é controlado com testes
- Liberação gerenciada por pipeline de entrega contínua (CI/CD)
|
- Testes unitários e de integração para cada versão do modelo
- Menos dependente da experiência do cientista de dados para implementar o modelo
- O código do aplicativo tem testes de unidade/integração
|
Nível 4: Retreinamento automatizado completo de MLOps
Pessoas |
Criação de modelos |
Lançamento do modelo |
Integração de Aplicações |
- Cientistas de dados: Trabalhando diretamente com engenheiros de dados para converter código de experimentação em scripts/trabalhos repetíveis. Trabalhar com engenheiros de software para identificar marcadores para engenheiros de dados
- Engenheiros de dados: Trabalhando com cientistas de dados e engenheiros de software para gerenciar entradas/saídas
- Engenheiros de software: Trabalhando com engenheiros de dados para automatizar a integração do modelo no código do aplicativo. Implementando a coleta de métricas pós-implantação
|
- O pipeline de dados reúne dados automaticamente
- Retreinamento acionado automaticamente com base em métricas de produção
- Computação gerenciada
- Resultados da experiência rastreados
- Tanto o código de treinamento quanto os modelos resultantes são controlados por versão
|
- Liberação automática
- Script de pontuação é versão controlada com testes
- Lançamento gerenciado por integração contínua e pipeline de CI/CD
|
- Testes de unidade e integração para cada versão do modelo
- Menos dependente da experiência do cientista de dados para implementar o modelo
- O código do aplicativo tem testes de unidade/integração
|
Próximos passos