Vemos a entrega contínua para aprendizado de máquina (CD4ML) como um bom ponto de partida para qualquer solução de aprendizado de máquina que esteja sendo implantada em produção. Muitas organizações estão se tornando mais dependentes de soluções de aprendizado de máquina tanto para ofertas para clientes quanto para operações internas. Portanto, faz sentido que os negócios apliquem as lições e boas práticas capturadas pela entrega contínua (CD) para soluções de aprendizado de máquina (ML).
Cerca de uma década atrás, apresentamos a entrega contínua (CD), nossa maneira padrão de fornecer soluções de software. As soluções de hoje incluem cada vez mais modelos de aprendizado de máquina e não os consideramos exceção para adoção de práticas de entrega contínua. Chamamos isso de entrega contínua para aprendizado de máquina (CD4ML). Embora os princípios de CD permaneçam os mesmos, as práticas e ferramentas para implementar o processo de treinamento, teste, implantação e monitoramento de modelos de ponta a ponta demandam algumas modificações. Por exemplo: o controle de versão não deve incluir apenas o código, mas também os dados, os modelos e seus parâmetros; a pirâmide de testes se estende para incluir a validação de vieses, imparcialidade e dados e recursos do modelo; o processo de implantação deve considerar como promover e avaliar o desempenho de novos modelos em relação aos modelos de referência atuais. Embora o setor esteja entusiasmado com a nova palavra da moda, MLOps, sentimos que CD4ML é nossa abordagem holística para implementação de um processo de ponta a ponta para liberar de forma confiável e melhorar continuamente os modelos de aprendizado de máquina, da ideia à produção.
Aplicar aprendizado de máquina para tornar serviços e aplicações de negócios inteligentes é mais do que apenas treinar servir modelos. Requer a implementação de ciclos completos e repetíveis de treinamento, testes, implantação, monitoramento e operação dos modelos. Entrega contínua para aprendizado de máquina (CD4ML) é uma técnica que permite ciclos de desenvolvimento de ponta-a-ponta confiáveis, implantação e monitoramento de modelos de aprendizado de máquina. A stack tecnológica subjacente para ativar CD4ML inclui ferramentas para acessar e descobrir dados, controle de versão de artefatos (como dados, modelo e código), pipelines de entrega contínua, provisionamento de ambiente automatizado para várias implantações e experimentos, avaliação e rastreamento de desempenho e modelo, e observabilidade de modelo operacional. As empresas podem escolher seu próprio conjunto de ferramentas, dependendo da stack tecnológica existente. CD4ML enfatiza a automação e a remoção de transferências manuais. CD4ML é a nossa abordagem de escolha para o desenvolvimento de modelos de aprendizado de máquina.
Com a popularidade crescente das aplicações baseadas em aprendizado de máquina e a complexidade técnica envolvida na sua construção, nossos times dependem fortemente de entrega contínua para aprendizado de máquina (CD4ML) para entregar tais aplicações com segurança, rapidez e de maneira sustentável. CD4ML é a disciplina de trazer princípios e práticas da entrega contínua para aplicações de aprendizado de máquina. Ela remove ciclos longos entre treinar modelos e colocá-los em produção. A CD4ML remove as entregas manuais entre diferentes times, pessoas engenheiras de dados, cientistas de dados e engenheiras de aprendizado de máquina no processo ponta-a-ponta de construir e implantar um modelo atendido por um aplicativo. Usando CD4ML, nossos times têm implementado com sucesso versionamento, testes e implantação automatizados de todos os componentes de aplicativos baseados em aprendizado de máquina: dados, modelo e código.
A entrega contínua para modelos de aprendizado de máquina (CD4ML) aplica as práticas de entrega contínua ao desenvolvimento de modelos de aprendizado de máquina para que estejam sempre prontos para produção. Essa técnica soluciona dois problemas principais do modelo tradicional de aprendizado de máquina: um tempo longo de ciclo entre treinar modelos e implementá-los em produção, o que muitas vezes inclui converter manualmente o modelo para código pronto para produção, e usar modelos de produção que foram treinados com dados obsoletos. Uma pipeline de entrega contínua de um modelo de aprendizado de máquina tem dois gatilhos: (1) mudanças na estrutura do modelo; (2) mudanças no conjunto de dados de treinamento e testes. Para isso funcionar, é preciso versionar tanto os conjuntos de dados quanto o código-fonte do modelo. A pipeline frequentemente inclui passos como testar o modelo usando conjunto de dados de teste, usando a conversão automática do modelo (se necessário) com ferramentas como H2O, e implementar o modelo em produção para entregar valor.