Partilhar via


Experiências de aprendizagem automática no Microsoft Fabric

Um experimento de aprendizado de máquina é a principal unidade de organização e controle para todas as execuções de aprendizado de máquina relacionadas. Uma execução corresponde a uma única execução do código do modelo. No MLflow, o rastreamento é baseado em experimentos e execuções.

Os experimentos de aprendizado de máquina permitem que os cientistas de dados registrem parâmetros, versões de código, métricas e arquivos de saída ao executar seu código de aprendizado de máquina. Os experimentos também permitem visualizar, pesquisar e comparar execuções, bem como baixar arquivos de execução e metadados para análise em outras ferramentas.

Neste artigo, você aprenderá mais sobre como os cientistas de dados podem interagir e usar experimentos de aprendizado de máquina para organizar seu processo de desenvolvimento e rastrear várias execuções.

Pré-requisitos

  • Uma subscrição do Power BI Premium. Se não tiver um, consulte Como comprar o Power BI Premium.
  • Um Espaço de Trabalho do Power BI com capacidade premium atribuída.

Criar uma experimentação

Você pode criar um experimento de aprendizado de máquina diretamente da home page de Ciência de Dados na interface do usuário (UI) do Power BI ou escrevendo código que usa a API MLflow.

Criar um experimento usando a interface do usuário

Para criar um experimento de aprendizado de máquina a partir da interface do usuário:

  1. Crie um novo espaço de trabalho de ciência de dados ou selecione um existente.

  2. Selecione Experiência na seção "Novo ".

  3. Forneça um nome de experimento e selecione Criar. Esta ação cria uma experiência vazia no seu espaço de trabalho.

    Screenshot showing where to select Experiment in the New menu.

Depois de criar o experimento, você pode começar a adicionar execuções para controlar métricas e parâmetros de execução.

Criar um experimento usando a API MLflow

Você também pode criar um experimento de aprendizado de máquina diretamente de sua experiência de criação usando as mlflow.create_experiment() APIs ou mlflow.set_experiment() . No código a seguir, substitua <EXPERIMENT_NAME> pelo nome do experimento.

import mlflow
 
# This will create a new experiment with the provided name.
mlflow.create_experiment("<EXPERIMENT_NAME>")

# This will set the given experiment as the active experiment. 
# If an experiment with this name does not exist, a new experiment with this name is created.
mlflow.set_experiment("<EXPERIMENT_NAME>")

Gerenciar execuções dentro de um experimento

Um experimento de aprendizado de máquina contém uma coleção de execuções para rastreamento e comparação simplificados. Dentro de um experimento, um cientista de dados pode navegar por várias execuções e explorar os parâmetros e métricas subjacentes. Os cientistas de dados também podem comparar execuções dentro de um experimento de aprendizado de máquina para identificar qual subconjunto de parâmetros produz um desempenho de modelo desejado.

Pistas

Uma execução de aprendizado de máquina corresponde a uma única execução de código de modelo.

Screenshot of machine learning run detail page.

Cada execução inclui as seguintes informações:

  • Origem: Nome do bloco de anotações que criou a execução.
  • Versão registrada: indica se a execução foi salva como um modelo de aprendizado de máquina.
  • Data de início: Hora de início da execução.
  • Estado: Progresso da execução.
  • Hiperparâmetros: Hiperparâmetros salvos como pares chave-valor. Tanto as chaves quanto os valores são cadeias de caracteres.
  • Métricas: execute métricas salvas como pares chave-valor. O valor é numérico.
  • Arquivos de saída: arquivos de saída em qualquer formato. Por exemplo, você pode gravar imagens, ambiente, modelos e arquivos de dados.

Ver execuções recentes

Você também pode exibir execuções recentes para um experimento diretamente do modo de exibição de lista do espaço de trabalho. Esta vista permite-lhe controlar a atividade recente, saltar rapidamente para a aplicação Spark relacionada e aplicar filtros com base no estado de execução.

Screenshot of machine learning recent runs and Spark application view.

Comparar e filtrar execuções

Para comparar e avaliar a qualidade de suas execuções de aprendizado de máquina, você pode comparar os parâmetros, métricas e metadados entre as execuções selecionadas em um experimento.

Compare visualmente as execuções

Você pode comparar visualmente e filtrar execuções dentro de um experimento existente. A comparação visual permite que você navegue facilmente entre várias execuções e classifique entre elas.

Screenshot showing a list of runs and the chart view.

Para comparar execuções:

  1. Selecione um experimento de aprendizado de máquina existente que contenha várias execuções.
  2. Selecione a guia Exibir e vá para o modo de exibição de lista Executar. Como alternativa, você pode selecionar a opção Exibir lista de execução diretamente na visualização Detalhes da execução .
  3. Personalize as colunas dentro da tabela expandindo o painel Personalizar colunas . Aqui, você pode selecionar as propriedades, métricas e hiperparâmetros que gostaria de ver.
  4. Expanda o painel Filtro para restringir os resultados com base em determinados critérios selecionados.
  5. Selecione várias execuções para comparar seus resultados no painel de comparação de métricas. Neste painel, você pode personalizar os gráficos alterando o título do gráfico, o tipo de visualização, o eixo X, o eixo Y e muito mais.

Comparar execuções usando a API MLflow

Os cientistas de dados também podem usar o MLflow para consultar e pesquisar entre execuções dentro de um experimento. Você pode explorar mais APIs do MLflow para pesquisar, filtrar e comparar execuções visitando a documentação do MLflow.

Obtenha todas as execuções

Você pode usar a API mlflow.search_runs() de pesquisa MLflow para obter todas as execuções em um experimento substituindo <EXPERIMENT_NAME> pelo nome do experimento ou <EXPERIMENT_ID> pelo ID do experimento no código a seguir:

import mlflow

# Get runs by experiment name: 
mlflow.search_runs(experiment_names=["<EXPERIMENT_NAME>"])

# Get runs by experiment ID:
mlflow.search_runs(experiment_ids=["<EXPERIMENT_ID>"])

Gorjeta

Você pode pesquisar em vários experimentos fornecendo uma lista de IDs de experimento para o experiment_ids parâmetro. Da mesma forma, fornecer uma lista de nomes de experimentos para o parâmetro permitirá que o MLflow pesquise em vários experimentos experiment_names . Isso pode ser útil se você quiser comparar entre execuções em diferentes experimentos.

Ordenar e limitar execuções

Use o parâmetro de para limitar o max_results número de search_runs execuções retornadas. O order_by parâmetro permite listar as colunas por ordem e pode conter um opcional DESC ou ASC valor. Por exemplo, o exemplo a seguir retorna a última execução de um experimento.

mlflow.search_runs(experiment_ids=[ "1234-5678-90AB-CDEFG" ], max_results=1, order_by=["start_time DESC"])

Comparar execuções dentro de um bloco de anotações de malha

Você pode usar o widget de criação MLFlow nos blocos de anotações do Fabric para acompanhar as execuções do MLflow geradas em cada célula do bloco de anotações. O widget permite que você acompanhe suas execuções, métricas associadas, parâmetros e propriedades até o nível de célula individual.

Para obter uma comparação visual, você também pode alternar para o modo de exibição Executar comparação . Esta visão apresenta os dados graficamente, auxiliando na rápida identificação de padrões ou desvios em diferentes execuções.

Screenshot showing how to use the MLFlow authoring widget.

Salvar execução como um modelo de aprendizado de máquina

Quando uma execução produz o resultado desejado, você pode salvá-la como um modelo para rastreamento de modelo aprimorado e para implantação de modelo selecionando Salvar como um modelo de ML.

Screenshot showing where to select Create a new model.