O processo de operações de machine learningThe machine learning operations process

O processo de desenvolvimento de modelosThe model development process

O processo de desenvolvimento deve produzir os seguintes resultados:The development process should produce the following outcomes:

  • A formação é automatizada e os modelos são validados, o que inclui funcionalidade de teste e desempenho (por exemplo, usando métricas de precisão).Training is automated, and models are validated, which includes testing functionality and performance (for example, using accuracy metrics).

  • A implantação da infraestrutura utilizada para a inferenção (incluindo a monitorização) é automatizada.Deployment to the infrastructure used for inferencing (including monitoring) is automated.

  • Os mecanismos criam um rasto de auditoria de dados de ponta a ponta.Mechanisms create an end-to-end data audit trail. A reconversão automática do modelo ocorre quando os dados derivam ao longo do tempo, o que é relevante para sistemas infundidos em grande escala, de aprendizagem automática.Automatic model retraining occurs when data drifts over time, which is relevant to large-scale, machine-learning-infused systems.

O diagrama a seguir retrata o ciclo de vida de implantação de um sistema de aprendizagem automática:The following diagram depicts the deployment lifecycle of a machine learning system:

Um diagrama do ciclo de vida da aprendizagem da máquina.

Uma vez desenvolvido, um modelo de machine learning é treinado, validado, implantado e monitorizado.Once developed, a machine learning model is trained, validated, deployed, and monitored. Do ponto de vista organizacional e do nível de gestão e técnico, é importante definir quem detém e implementa este processo.From an organizational perspective and on the managerial and technical level, it's important to define who owns and implements this process. Em grandes empresas, um cientista de dados pode possuir os passos de formação e validação do modelo, e um engenheiro de aprendizagem automática pode tender para os passos restantes.In larger enterprises, a data scientist might own the model training and validation steps, and a machine learning engineer might tend to the remaining steps. Em empresas mais pequenas, um cientista de dados pode possuir todos os passos.In smaller companies, a data scientist might own all steps.

Preparar o modeloTrain the model

Neste passo, um conjunto de dados de formação treina o modelo de machine learning.In this step, a training dataset trains the machine learning model. O código de formação é controlado por versões e reutilizável, e esta funcionalidade otimiza cliques de botões e gatilhos de eventos (como uma nova versão dos dados que estão disponíveis) para automatizar a forma como o modelo é treinado.The training code is version-controlled and reusable, and this feature optimizes button clicks and event triggers (such as a new version of the data becoming available) to automate how the model is trained.

Validar o modeloValidate the model

Este passo utiliza métricas estabelecidas como uma métrica de precisão para validar automaticamente o modelo recém-treinado e compará-lo com os mais velhos.This step uses established metrics like an accuracy metric to automatically validate the newly trained model and compare it to older ones. A sua precisão aumentou?Did its accuracy increase? Se sim, este modelo pode estar registado no registo do modelo para garantir que os próximos passos podem consumi-lo.If yes, this model might be registered in the model registry for ensuring that next steps can consume it. Se o novo modelo tiver um desempenho pior, então um cientista de dados pode ser alertado para investigar o porquê ou descartar o modelo recém-treinado.If the new model performs worse, then a data scientist can be alerted to investigate why or discard the newly trained model.

Implementar o modeloDeploy the model

Implemente o modelo como um serviço API para aplicações web na etapa de implementação.Deploy the model as an API service for web applications in the deployment step. Esta abordagem permite que o modelo seja dimensionado e atualizado independentemente das aplicações.This approach enables the model to be scaled and updated independently of the applications. Alternativamente, o modelo pode ser usado para executar a pontuação do lote onde é usado uma vez ou periodicamente para calcular previsões em novos pontos de dados.Alternatively, the model can be used to perform batch scoring where it's used once or periodically to calculate predictions on new data points. Isto é útil quando grandes quantidades de dados precisam ser processados assíncroneamente.This is useful when large amounts of data need to be processed asynchronously. Mais detalhes sobre os modelos de implementação podem ser encontrados na inferência de aprendizagem automática durante a página de implementação.More details on deployment models can be found on the machine learning inference during deployment page.

Monitorize o modeloMonitor the model

É necessário monitorizar o modelo por duas razões fundamentais.It's necessary to monitor the model for two key reasons. Em primeiro lugar, monitorizar o modelo ajuda a garantir que está tecnicamente funcional; por exemplo, capaz de gerar previsões.First, monitoring the model helps to ensure that it's technically functional; for example, able to generate predictions. Isto é importante se as aplicações de uma organização dependem do modelo e a usam em tempo real.This is important if an organization's applications depend on the model and use it in real time. A monitorização do modelo também ajuda as organizações a avaliar se gera continuamente previsões úteis.Monitoring the model also helps organizations to gauge if it continuously generates useful predictions. Isto pode não ser útil quando ocorre a deriva de dados, como quando os dados utilizados para treinar o modelo diferem significativamente dos dados enviados para o modelo durante a fase de previsão.This might not be useful when data drift occurs, such as when the data used to train the model significantly differs from the data that's sent to the model during prediction phase. Por exemplo, um modelo treinado para recomendar produtos aos jovens pode produzir resultados indesejáveis quando recomenda produtos a pessoas de uma faixa etária diferente.For example, a model trained for recommending products to young people might produce undesirable results when recommending products to people from a different age group. A monitorização do modelo com a deriva de dados pode detetar este tipo de incompatibilidade, alertar os engenheiros de aprendizagem automática e reconverter automaticamente o modelo com dados mais relevantes ou mais recentes.Model monitoring with data drift can detect this type of mismatch, alert machine learning engineers, and automatically retrain the model with more relevant or newer data.

Como monitorizar modelosHow to monitor models

Uma vez que a deriva de dados, a sazonalidade ou a arquitetura mais recente afinadas para um melhor desempenho podem fazer com que o desempenho do modelo diminua ao longo do tempo, é importante estabelecer um processo para implementar continuamente os modelos.Since data drift, seasonality, or newer architecture tuned for better performance can all cause model performance to wane over time, it's important to establish a process to continuously deploy models. Algumas boas práticas incluem:Some best practices include:

  • Propriedade: Um proprietário deve ser designado para o processo de monitorização do desempenho do modelo para gerir ativamente o seu desempenho.Ownership: An owner should be assigned to the model performance monitoring process to actively manage its performance.

  • Condutas de libertação: Crie primeiro um gasoduto de libertação em Azure DevOps e desempate o gatilho para o registo do modelo.Release pipelines: Set up a release pipeline in Azure DevOps first, and set the trigger to the model registry. Quando um novo modelo é registado no registo, o gasoduto de desbloqueio aciona e assina um processo de implantação.When a new model is registered in the registry, the release pipeline triggers and signs off on a deployment process.

Pré-requisitos para modelos de reciclagemPrerequisites for retraining models

A recolha de dados de modelos em produção é um pré-requisito para a reconversão de modelos num quadro de integração/desenvolvimento contínuo contínuo, e este processo utiliza dados de entrada a partir de pedidos de pontuação.Collecting data from models in production is one prerequisite to retraining models in a continuous integration/continuous development framework, and this process uses input data from scoring requests. Esta capacidade está atualmente limitada a dados tabulares que podem ser analisados como JSON com formatação e manipulação mínimas; vídeo, áudio e imagens estão excluídos.This capability is currently limited to tabular data that can be parsed as JSON with minimal formatting and manipulation; video, audio, and images are excluded. Esta capacidade está disponível para modelos no Serviço Azure Kubernetes (AKS).This capability is available for models on the Azure Kubernetes Service (AKS). Os dados recolhidos são armazenados numa bolha Azure.The collected data is stored in an Azure blob.

Para preparar a reconversão de um modelo:To prepare for retraining a model:

  1. Monitorizar a deriva dos dados de entrada recolhidos.Monitor data drift from the input data collected. A criação de um processo de monitorização requer a extração do tempo de marcação dos dados de produção.Setting up a monitoring process requires extracting the timestamp from the production data. Isto é necessário para comparar os dados de produção e os dados de base (os dados de formação utilizados para construir o modelo).This is required to compare the production data and the baseline data (the training data used to build the model). A forma preferida de monitorizar a deriva de dados é através do Azure Monitor Application Insights.The preferred way to monitor data drift is through Azure Monitor Application Insights. Esta funcionalidade fornece um alerta que pode desencadear ações como email, texto SMS, push ou Azure Functions.This feature provides an alert that can trigger actions like email, SMS text, push, or Azure Functions. É necessário ativar o Application Insights para registar dados.You need to enable Application Insights to log data.

  2. Analise os dados recolhidos.Analyze the collected data. Certifique-se de recolher dados de modelos em produção, e inclua os resultados no script de pontuação do modelo.Make sure to collect data from models in production, and include the results in the model scoring script. Recolha todas as funcionalidades utilizadas para a pontuação do modelo, pois isto garante que todas as funcionalidades necessárias estão presentes e podem ser usadas como dados de treino.Collect all features used for model scoring, as this ensures that all necessary features are present and can be used as training data.

  3. Decida se é necessário reconverter os dados recolhidos.Decide whether retraining with the collected data is necessary. Muitas coisas causam deriva de dados, incluindo problemas de sensores para a sazonalidade, alterações no comportamento do utilizador e problemas de qualidade de dados relacionados com a fonte de dados.Many things cause data drift, including sensor issues to seasonality, changes in user behavior, and data quality issues related to the data source. A reconversão de modelos não é necessária em todos os casos, por isso é recomendado investigar e entender a causa da deriva de dados antes de prosseguir com isso.Model retraining isn't required in all cases, so it's recommended to investigate and understand the cause of the data drift before pursuing this.

  4. Retreinar o modelo.Retrain the model. A formação de modelos já deve ser automatizada, e este passo implica desencadear o atual passo de formação.Model training should already be automated, and this step involves triggering the current training step. Isto pode ser para quando a deriva de dados foi detetada (e não está relacionada com um problema de dados), ou quando um engenheiro de dados publicou uma nova versão de um conjunto de dados.This could be for when data drift has been detected (and it isn't related to a data issue), or when a data engineer has published a new version of a dataset. Dependendo da caixa de utilização, estes passos podem ser totalmente automatizados ou supervisionados por um humano.Depending on the use case, these steps can be fully automated or supervised by a human. Por exemplo, embora alguns casos de utilização como as recomendações de produtos possam ser executados de forma autónoma no futuro, outros em finanças teriam em conta normas como a equidade e a transparência dos modelos e exigiriam que um ser humano aprovasse modelos recém-treinados.For example, while some use cases like product recommendations could run autonomously in the future, others in finance would factor standards like model fairness and transparency and require a human to approve newly trained models.

No início, é comum uma organização automatizar apenas a formação e implantação de um modelo, mas não os passos de validação, monitorização e reconversão, que são realizados manualmente.At first, it's common for an organization to only automate a model's training and deployment but not the validation, monitoring, and retraining steps, which are performed manually. Eventualmente, os passos de automação para estas tarefas podem progredir até que o estado desejado seja alcançado.Eventually, automation steps for these tasks can progress until the desired state is achieved. DevOps e operações de machine learning são conceitos que se desenvolvem ao longo do tempo, e as organizações devem estar cientes da sua evolução.DevOps and machine learning operations are concepts that develop over time, and organizations should be aware of their evolution.

O ciclo de vida do processo de ciência de dados da equipaThe Team Data Science Process lifecycle

O Processo de Ciência de Dados de Equipa (TDSP) fornece um ciclo de vida para estruturar o desenvolvimento dos seus projetos de ciência de dados.The Team Data Science Process (TDSP) provides a lifecycle to structure the development of your data science projects. O ciclo de vida descreve as principais fases que os projetos normalmente executam, muitas vezes iterativamente:The lifecycle outlines the major stages that projects typically execute, often iteratively:

  • Noções sobre empresasBusiness understanding
  • Aquisição e compreensão de dadosData acquisition and understanding
  • ModelaçãoModeling
  • ImplementaçãoDeployment

Os objetivos, tarefas e artefactos de documentação para cada fase do ciclo de vida da TDSP são descritos no ciclo de vida do Processo de Ciência de Dados da Equipa.The goals, tasks, and documentation artifacts for each stage of the TDSP lifecycle are described in the Team Data Science Process lifecycle.

Os papéis e atividades no âmbito das operações de machine learningThe roles and activities within machine learning operations

De acordo com o ciclo de vida da TDSP, os principais papéis no projeto de IA são engenheiro de dados, cientista de dados e engenheiro de operações de machine learning.Per the TDSP lifecycle, the key roles in the AI project are data engineer, data scientist, and machine learning operations engineer. Estas funções são fundamentais para o sucesso do seu projeto e devem trabalhar em conjunto para soluções precisas, repetíveis, escaláveis e prontas para a produção.These roles are critical to your project's success and must work together toward accurate, repeatable, scalable, and production-ready solutions.

Um diagrama que mostra o processo de operações de aprendizagem automática.A diagram showing the machine learning operations process.

  • Engenheiro de dados: Esta função ingere, valida e limpa os dados.Data engineer: This role ingests, validates, and cleans the data. Uma vez que os dados são refinados, é catalogado e disponibilizado para os cientistas de dados usarem.Once the data is refined, it's cataloged and made available for data scientists to use. Nesta fase, é importante explorar e analisar dados duplicados, remover os outliers e identificar dados em falta.At this stage, it's important to explore and analyze duplicate data, remove outliers, and identify missing data. Estas atividades devem ser definidas nos degraus do gasoduto e executadas à medida que o gasoduto do comboio é pré-transformado.These activities should be defined in the pipeline steps and are executed as the train pipeline is preprocessed. Nomes únicos e específicos devem ser atribuídos a funcionalidades core e geradas.Unique and specific names should be assigned to core and generated features.

  • Cientista de dados (ou engenheiro de IA): Esta função navega no processo de pipeline de formação e avalia modelos.Data scientist (or AI engineer): This role navigates the training pipeline process and evaluates models. Um cientista de dados recebe dados do engenheiro de dados e identifica padrões e relações dentro dele, possivelmente selecionando ou gerando características para a experiência.A data scientist receives data from the data engineer and identifies patterns and relationships within it, possibly selecting or generating features for the experiment. Uma vez que a engenharia de recursos desempenha um papel importante na construção de um modelo geralizado de som, é fundamental que esta fase seja concluída o mais completamente possível.Since feature engineering plays a major role in building a sound generalized model, it's key for this phase to be completed as thoroughly as possible. Várias experiências podem ser realizadas com diferentes algoritmos e hiperparímetros.Various experiments can be performed with different algorithms and hyperparameters. Ferramentas azure como machine learning automatizada podem automatizar esta tarefa, que também pode ajudar a sub-e sobreajustar um modelo.Azure tools like automated machine learning can automate this task, which can also help with under- and overfitting a model. Um modelo treinado com sucesso é então registado no registo de modelos.A successfully trained model is then registered in the model registry. O modelo deve ter um nome único e específico, e um histórico de versão deve ser mantido para rastreabilidade.The model should have a unique and specific name, and a version history should be retained for traceability.

  • Engenheiro de operações de machine learning: Esta função constrói oleodutos de ponta a ponta para integração e entrega contínuas.Machine learning operations engineer: This role builds end-to-end pipelines for continuous integration and delivery. Isto inclui embalar o modelo numa imagem docker, validar e perfilar o modelo, aguardar aprovação de um stakeholder, e implantar o modelo num serviço de orquestração de contentores, como a AKS.This includes packing the model in a Docker image, validating and profiling the model, awaiting approval from a stakeholder, and deploying the model in a container orchestration service such as AKS. Vários gatilhos podem ser definidos durante a integração contínua, e o código do modelo pode desencadear o gasoduto do comboio e o gasoduto de libertação depois.Various triggers can be set during continuous integration, and the model's code can trigger the train pipeline and the release pipeline afterward.