Configurar um ambiente de desenvolvimento com o Azure Databricks e AutoML no Azure Machine Learning

Saiba como configurar um ambiente de desenvolvimento no Azure Machine Learning, que usa Azure Databricks e ML automatizado.

Azure Databricks é ideal para executar fluxos de trabalho de aprendizado de máquina intensivos em grande escala na plataforma de Apache Spark escalonável na nuvem do Azure. Oferece um ambiente colaborativo baseado em Notebook com um cluster de computação baseado em CPU ou GPU.

Para mais informações sobre outros ambientes de desenvolvimento de aprendizado de máquina, consulte Configurar o ambiente de desenvolvimento do Python.

Pré-requisito

Workspace do Azure Machine Learning. Para criar um, siga as etapas no artigo Criar recursos do workspace.

Azure Databricks com Azure Machine Learning e o AutoML

Azure Databricks integra-se ao Azure Machine Learning e às suas funcionalidades de AutoML.

Por que usar o Azure Databricks:

Interromper um cluster do Databricks

Criar um cluster do Databricks. Algumas configurações serão aplicadas somente se você instalar o SDK para aprendizado de máquina automatizado no Databricks.

São necessários alguns minutos para criar o cluster.

Use estas configurações:

Configuração Aplica-se a Valor
Nome do cluster always nomedoseucluster
Versão do Databricks Runtime always 9.1 LTS
Versão do Python always 3
Tipo de Trabalho
(determina o número máximo de iterações simultâneas)
ML automatizado
rápido
Uma VM otimizada para memória é preferível
Trabalhos always 2 ou superior
Habilitar o dimensionamento automático ML automatizado
rápido
Desmarcar

Aguarde até que o cluster está em execução antes de continuar.

Adicionar o SDK do Azure Machine Learning ao Databricks

Depois que o cluster for executado, crie uma biblioteca para anexar o pacote Azure Machine Learning SDK apropriado ao cluster.

Para usar o ML automatizado, vá para Adicionar o SDK do Azure Machine Learning com o AutoML.

  1. Clique com o botão direito do mouse na pasta do espaço de trabalho atual onde você deseja armazenar a biblioteca. Selecione criar>biblioteca.

    Dica

    Se você tiver uma versão antiga do SDK, anule sua seleção das bibliotecas instaladas do cluster e mova-a para a lixeira. Instale a nova versão do SDK e reinicie o cluster. Se houver um problema depois de reiniciar, desanexe e anexe novamente o cluster.

  2. Escolha a opção a seguir (não há suporte para outras instalações do SDK)

    Extras do pacote do SDK Fonte Nome do PyPi
    Para Databricks Carregar Python Egg ou PyPI azureml-sdk[databricks]

    Aviso

    Nenhum outro adicional do SDK pode ser instalado. Escolha apenas a [databricks] opção.

    • Não selecione Anexar automaticamente a todos os clusters.
    • Selecione Anexar ao lado do nome do cluster.
  3. Monitorar erros até que o status seja alterado para Anexado, o que pode levar vários minutos. Se esse passo não funcionar:

    Tente reiniciar o cluster fazendo o seguinte:

    1. No painel esquerdo, selecione Clusters.
    2. Na tabela, selecione o nome do cluster.
    3. Na guia Bibliotecas, selecione Reiniciar.

    Uma instalação bem-sucedida se assemelha ao seguinte:

SDK do Azure Machine Learning para Databrics

Adicionar o SDK do Azure Machine Learning com o AutoML ao Databricks

Se o cluster foi criado com o Databricks Runtime 7.3 LTS (não o ML), execute o comando a seguir na primeira célula do notebook para instalar o SDK do Azure Machine Learning.

%pip install --upgrade --force-reinstall -r https://aka.ms/automl_linux_requirements.txt

Definições de configuração do AutoML

Na configuração do AutoML, ao usar Azure Databricks, adicione os seguintes parâmetros:

  • max_concurrent_iterations é baseado no número de nós de trabalho no cluster.
  • spark_context=sc é baseado no contexto padrão do spark.

Notebooks ML que funcionam com Azure Databricks

Experimente:

Solução de problemas

  • Se Databricks cancelar uma operação de AutoML: quando você usa recursos automatizados de aprendizado de máquina no Azure Databricks, para cancelar uma executar e iniciar uma nova operação de experimento, reinicie o cluster do Azure Databricks.

  • Se Databricks>10 ierações para AutoML: em configurações automatizadas de AutoML, se você tiver mais de 10 ierações, configure de show_output para False quando você executá-las.

  • Widget do Databricks para o SDK do Azure Machine Learning e AutoML: o widget do SDK do Azure Machine Learning não tem suporte em um notebook do Databricks porque os notebooks não podem analisar widgets HTML. Você pode exibir o widget no portal usando esse código Python em sua célula de notebook Azure Databricks:

    displayHTML("<a href={} target='_blank'>Azure Portal: {}</a>".format(local_run.get_portal_url(), local_run.id))
    
  • Falha na instalação de pacotes

    Falhas na instalação do SDK do Azure Machine Learning no Databricks quando mais pacotes são instalados. Alguns pacotes, como psutil, podem causar conflitos. Para evitar erros de instalação, instale pacotes congelando a versão biblioteca de códigos. Este problema está relacionado ao Databricks e não ao Azure Machine Learning SDK. Você também pode se deparar com esse problema com outras bibliotecas. Exemplo:

    psutil cryptography==1.5 pyopenssl==16.0.0 ipython==2.2.0
    

    Como alternativa, você pode usar scripts de inicialização caso continue tendo problemas de instalação com as bibliotecas de Python. Essa abordagem não tem suporte oficial. Para obter mais informações, consulte Scripts de init com escopo de cluster.

  • Erro de importação: não é impossível iportar o nomeTimedeltade pandas._libs.tslibs : se você vir esse erro ao usar o AutoML, execute as duas linhas a seguir no notebook:

    %sh rm -rf /databricks/python/lib/python3.7/site-packages/pandas-0.23.4.dist-info /databricks/python/lib/python3.7/site-packages/pandas
    %sh /databricks/python/bin/pip install pandas==0.23.4
    
  • Erro de importação: nenhum módulo chamado 'pandas.core.indexes' :se você vir esse erro ao usar o AutoML:

    1. Execute este comando para instalar dois pacotes no cluster do Azure Databricks:

      scikit-learn==0.19.1
      pandas==0.22.0
      
    2. Desconectar e, em seguida, reconectar o cluster ao notebook.

    Se essas etapas não resolverem o problema, tente reiniciar o cluster.

  • FailToSendFeather: se você vir um erroFailToSendFeather ao ler dados no cluster do Azure Databricks, tente o seguinte:

    • Atualize seu pacote azureml-sdk[automl] para a versão mais recente.
    • Adicione a azureml-dataprep versão 1.1.8 ou superior.
    • Adicione a pyarrow versão 0.11 ou superior.

Próximas etapas