Gerenciar modelos no Microsoft Fabric

Concluído

A integração do MLflow no Microsoft Fabric facilita o acompanhamento e o gerenciamento de seus modelos de machine learning.

Acompanhar artefatos de modelo com o MLflow

Depois de treinar um modelo, você deseja usar o modelo para pontuar e gerar novas previsões. Para integrar facilmente seu modelo, você precisa armazenar seu modelo para que possa carregar o modelo em um ambiente diferente. Uma abordagem comum é armazenar um modelo como um arquivo pickle, um objeto serializado.

Observação

O formato do modelo armazenado depende da estrutura de aprendizado de máquina que você está usando. Por exemplo, ao treinar um modelo de aprendizado profundo, você pode optar por armazenar seu modelo usando o formato Open Neural Network Exchange (ONNX).

O MLflow adiciona outra camada à saída do modelo adicionando o arquivo MLmodel. O arquivo MLmodel especifica os metadados do modelo, como e quando o modelo foi treinado, bem como a entrada e a saída esperadas do modelo.

Entender o arquivo MLmodel

Quando você registra um modelo com o MLflow, todos os ativos de modelo relevantes são armazenados na pasta model com a execução do experimento.

A pasta model inclui o arquivo MLmodel, uma única fonte de verdade sobre como o modelo deve ser carregado e consumido.

O arquivo MLmodel pode incluir:

  • artifact_path: Durante o treinamento, o modelo está registrado neste caminho.
  • flavor: biblioteca de machine learning com a qual o modelo foi criado.
  • model_uuid: identificador exclusivo do modelo registrado.
  • run_id: identificador exclusivo da execução de trabalho durante a qual o modelo foi criado.
  • signature: Especifica o esquema das entradas e saídas do modelo:
    • inputs: entrada válida para o modelo. Por exemplo, um subconjunto do conjunto de dados de treinamento.
    • outputs: saída válida do modelo. Por exemplo, previsões de modelo para o conjunto de dados de entrada.

Imagine que você treinou um modelo de regressão para prever diabetes em pacientes; o arquivo MLmodel registrado pode se parecer ao seguinte:

artifact_path: model
flavors:
  python_function:
    env:
      conda: conda.yaml
      virtualenv: python_env.yaml
    loader_module: mlflow.sklearn
    model_path: model.pkl
    predict_fn: predict
    python_version: 3.10.10
  sklearn:
    code: null
    pickled_model: model.pkl
    serialization_format: cloudpickle
    sklearn_version: 1.2.0
mlflow_version: 2.1.1
model_uuid: 8370150f4e07495794c3b80bcaf07e52
run_id: 14cdf02f-119b-4b8d-90f3-044987c29bce
signature:
  inputs: '[{"type": "tensor", "tensor-spec": {"dtype": "float64", "shape": [-1, 10]}}]'
  outputs: '[{"type": "tensor", "tensor-spec": {"dtype": "float64", "shape": [-1]}}]'

Quando você opta por usar a função de registro automático do MLflow no Microsoft Fabric, o arquivo MLmodel é criado automaticamente para você. Se você quiser alterar o arquivo para alterar o comportamento do modelo durante a pontuação, poderá alterar a forma como o arquivo MLmodel é registrado.

Gerenciar modelos no Microsoft Fabric

Quando você acompanha um modelo com o MLflow durante o treinamento no Microsoft Fabric, todos os artefatos de modelo são armazenados na pasta model. Você pode encontrar a pasta model na execução do experimento:

Screenshot of the model folder overview in an experiment run.

A pasta de modelo contém:

  • MLmodel: contém os metadados do modelo.
  • conda.yaml: contém o ambiente Anaconda necessário para executar o modelo.
  • model.pkl: contém o modelo treinado
  • python_env.yaml: descreve o ambiente Python necessário para executar o modelo. Faz referência ao arquivo requirements.txt.
  • requirements.txt: lista os pacotes do Python necessários para executar o modelo.

Todos esses artefatos de modelo são necessários quando você deseja usar seu modelo para gerar previsões em novos dados.

Salvar um modelo no workspace

Ao escolher o modelo que deseja usar, você pode salvar o modelo no workspace da execução do experimento. Ao salvar um modelo, você cria um novo modelo com controle de versão no workspace que contém todos os artefatos e metadados do modelo.

Selecione a execução do experimento que representa o modelo treinado e selecione a opção Salvar para salvar a execução como um modelo.

Screenshot of the save as model pop-up in Microsoft Fabric.

Ao selecionar um existente, você cria uma versão de um modelo com o mesmo nome. O controle de versão do modelo permite comparar modelos que atendem a uma finalidade semelhante e após isso escolher o modelo com melhor desempenho para gerar previsões.

Screenshot of the model overview in Microsoft Fabric.