Preparar um modelo para implantação
Para obter valor de um modelo de aprendizagem automática , implementa-se para que possa gerar previsões sempre que o negócio precisar. Antes de implementares, no entanto, tomas algumas decisões que moldam o funcionamento do resto do pipeline.
Na Proseware, uma empresa de tecnologia de saúde, a equipa de ciência de dados treina um modelo de classificação que prevê se um paciente provavelmente faltará a uma próxima consulta na clínica. O pessoal da clínica utiliza esta pontuação de risco de ausência para decidir quais os pacientes ligar antecipadamente para confirmar, para que a clínica possa preencher vagas que, de outra forma, ficariam vazias. O modelo é suficientemente preciso para uso em produção. O teu desafio é fazer com que ele forneça previsões de forma fiável, através de um processo que a equipa possa repetir sempre que o modelo for retreinado.
Escolha um tipo de endpoint
O Azure Machine Learning suporta dois tipos de pontos finais, e a escolha depende de como a previsão é utilizada. Um ponto final de lote gera previsões para um grande conjunto de registos de forma programada, sendo adequado para tarefas periódicas de classificação. Um endpoint online devolve uma previsão síncrona, com baixa latência, no momento em que recebe um pedido.
O sistema de agendamento da Proseware invoca o modelo assim que a equipa marca ou remarca uma consulta, para que este possa assinalar imediatamente as consultas de alto risco para uma chamada de confirmação no próprio dia. Como a previsão precisa de ser regressada imediatamente, a equipa implementa o modelo num endpoint online gerido.
Registar o modelo com MLflow
A equipa de ciência de dados treina o modelo de risco de ausência e empacota-o com MLflow, uma plataforma open-source para acompanhar experiências de aprendizagem automática e empacotamento de modelos num formato padrão. Quando o script de treino chama mlflow.autolog(), o MLflow regista automaticamente o modelo, os respetivos parâmetros e as respetivas métricas como parte da saída do trabalho de treino.
Como o modelo é empacotado como um modelo MLflow, pode regista-lo diretamente a partir da saída do trabalho sem ter de escrever um script de pontuação personalizado ou definir um ambiente por si próprio. O Azure Machine Learning gera ambos a partir dos metadados MLflow do modelo durante a implementação, uma funcionalidade conhecida como no-code deployment. Uma equipa que trabalhe com um formato de modelo personalizado, como um ficheiro pickle, teria de criar e manter esse script e ambiente de avaliação.
Sugestão
Saiba mais sobre a implementação de modelos MLflow no Azure Machine Learning.
Para registar o modelo, indica a saída de um trabalho de treino concluído ou um ficheiro de modelo armazenado num arquivo de dados da área de trabalho. Uma vez registado, o modelo torna-se um ativo versionado no espaço de trabalho que você, ou um fluxo de trabalho automatizado, pode referenciar por nome e versão ao criar uma implementação.
À medida que o modelo evolui, registe os artefactos alterados como novas versões em vez de substituir uma versão existente. Podes atualizar a descrição e as etiquetas de uma versão, mas outras alterações exigem uma nova versão. Arquivo de versões que já não queres nas listas padrão. O arquivamento não apaga um modelo, e os fluxos de trabalho ainda podem referenciar uma versão arquivada quando necessário.
Sugestão
Saiba mais sobre como gerir modelos registados.
Plano para implantação repetível
Registar e colocar em produção manualmente um modelo funciona para um primeiro lançamento, mas a Proseware espera treinar novamente regularmente o modelo de não comparência à medida que chegam novos dados de marcações. Repetir os mesmos passos manuais para cada nova versão é lento e propenso a erros, por isso o objetivo da equipa é automatizar o registo, implementação e testes através de um pipeline, que é o que o resto deste módulo constrói.