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:
Crie um novo espaço de trabalho de ciência de dados ou selecione um existente.
Selecione Experiência na seção "Novo ".
Forneça um nome de experimento e selecione Criar. Esta ação cria uma experiência vazia no seu espaço de trabalho.
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.
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.
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.
Para comparar execuções:
- Selecione um experimento de aprendizado de máquina existente que contenha várias execuções.
- 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 .
- 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.
- Expanda o painel Filtro para restringir os resultados com base em determinados critérios selecionados.
- 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.
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.