Compartilhar via


Modelo de machine learning no Microsoft Fabric

Um modelo de machine learning é um arquivo treinado para reconhecer determinados tipos de padrões. Você treina um modelo em um conjunto de dados e fornece um algoritmo que o modelo usa para extrair insights e aprender com esse conjunto de dados. Após ter treinado o modelo, você pode usá-lo para extrair insights sobre dados que ele nunca viu antes e fazer previsões sobre esses dados.

No MLflow, um modelo de machine learning pode incluir várias versões do modelo. Aqui, cada versão pode representar uma iteração do modelo. Neste artigo, você aprenderá como interagir com modelos de ML para acompanhar e comparar versões do modelo.

Criar um modelo de machine learning

No MLflow, os modelos de machine learning incluem um formato de empacotamento padrão. Esse formato permite o uso desses modelos em várias ferramentas downstream, incluindo a inferência em lote no Apache Spark. O formato define uma convenção para salvar um modelo em diferentes "sabores" que diferentes ferramentas downstream possam entender.

Você pode criar diretamente um modelo de machine learning a partir da interface do usuário do Fabric. A API do MLflow também pode criar o modelo.

Para criar um modelo de machine learning a partir da interface do usuário, você pode:

  1. Criar um novo espaço de trabalho de ciência de dados ou selecionar um espaço de trabalho de ciência de dados existente.

  2. Na lista suspensa + Novo, selecione Modelo para criar um modelo vazio no workspace de ciência de dados.

    Screenshot showing the New drop-down menu.

  3. Após a criação do modelo, você pode começar a adicionar versões do modelo para acompanhar os parâmetros e métricas de execução, além de registrar e salvar execuções de experimentos em um modelo existente.

Você também pode criar um experimento de machine learning diretamente a partir da sua experiência de criação usando a API mlflow.register_model(). Se um modelo de machine learning registrado com o nome fornecido não existir, a API o criará automaticamente.

import mlflow

model_uri = "runs:/{}/model-uri-name".format(run.info.run_id)
mv = mlflow.register_model(model_uri, "model-name")

print("Name: {}".format(mv.name))
print("Version: {}".format(mv.version))

Gerenciar versões em um modelo de machine learning

Um modelo de machine learning contém uma coleção de versões de modelo para um monitoramento e comparação simplificados. Dentro de um modelo, um cientista de dados pode navegar por várias versões do modelo para explorar os parâmetros e métricas subjacentes. Os cientistas de dados também podem fazer comparações entre versões do modelo para identificar se os modelos mais novos podem ou não produzir melhores resultados.

Acompanhar modelos de machine learning

Uma versão do modelo de machine learning representa um modelo individual que é registrado para ser acompanhado.

Screenshot showing the details screen of a model.

Cada modelo inclui as seguintes informações:

  • Hora da criação: data e hora da criação do modelo.
  • Nome de Execução: um identificador para as execuções do experimento usadas para criar essa versão específica do modelo.
  • Hiperparâmetros: os hiperparâmetros são salvos como pares de chave-valor. As chaves e os valores são cadeias de caracteres.
  • Métricas: Execute métricas salvas como pares de valores-chave. O valor é numérico.
  • Esquema/Assinatura do Modelo: uma descrição das entradas e saídas do modelo.
  • Arquivos registrados em log: arquivos registrados em log em qualquer formato. Por exemplo, você pode gravar imagens, ambientes, modelos e arquivos de dados.

Comparar e filtrar modelos de machine learning

Para comparar e avaliar a qualidade das versões do modelo de machine learning, você pode comparar os parâmetros, as métricas e os metadados entre as versões selecionadas.

Comparar modelos de machine learning visualmente

Você pode comparar visualmente as execuções dentro de um modelo existente. A comparação visual permite navegar com facilidade entre várias versões e classificá-las.

Screenshot showing a list of runs for comparison.

Para comparar execuções, você pode:

  1. Selecionar um modelo de machine learning existente que contenha várias versões.
  2. Selecionar a guia Exibir e, em seguida, navegar até o Modo de exibição da lista de modelos. Você também pode selecionar a opção Ver a lista de modelos diretamente no modo de exibição de detalhes.
  3. Você pode personalizar as colunas dentro da tabela. Expanda o painel Personalizar colunas. De lá, você pode selecionar as propriedades, as métricas e os hiperparâmetros que quiser ver.
  4. Para terminar, você pode selecionar várias versões, para comparar os respectivos resultados, no painel de comparação de métricas. A partir desse painel, você pode personalizar os gráficos com alterações no título, tipo de visualização, eixo X e eixo Y do gráfico e muito mais.

Comparar modelos de machine learning usando a API do MLflow

Os cientistas de dados também podem usar o MLflow para pesquisar entre os vários modelos salvos dentro do espaço de trabalho. Acesse a documentação do MLflow para explorar outras APIs de interação com o modelo do MLflow.

from pprint import pprint

client = MlflowClient()
for rm in client.list_registered_models():
    pprint(dict(rm), indent=4)

Aplicar modelos de machine learning

Após ter treinado um modelo em um conjunto de dados, você pode aplicar esse modelo a dados que ele nunca viu para gerar previsões. Chamamos essa técnica de uso de modelos de pontuação ou inferência. Para obter mais informações sobre a pontuação de modelos do Microsoft Fabric, confira a próxima seção.