Compartilhar via


Treinar modelos com Azure Machine Learning (v1)

APLICA-SE A: SDK do Python azureml v1

O Azure Machine Learning fornece várias maneiras de treinar seus modelos, desde soluções de codificação antes do banco de dados usando o SDK até soluções com linguagem de baixo nível, como o machine learning automatizado e o designer visual. Use a seguinte lista para determinar qual método de treinamento é o ideal para você:

  • SDK do Azure Machine Learning para Python: o SDK do Python fornece várias maneiras de treinar modelos, cada um com funcionalidades diferentes.

    Método de treinamento Descrição
    Configuração de execução Uma forma comum de treinar modelos é usar um script de treinamento e uma configuração de execução. A configuração de execução fornece as informações necessárias para configurar o ambiente de treinamento usado para treinar seu modelo. Você pode especificar o script de treinamento, o destino de computação e o ambiente do Azure Machine Learning na configuração do trabalho e executar um trabalho de treinamento.
    Machine learning automatizado O machine learning automatizado permite treinar modelos sem uma ampla experiência em ciência de dados ou conhecimento de programação. Para pessoas com conhecimento de ciência de dados e programação, ele fornece uma forma de economizar tempo e recursos automatizando a seleção de algoritmos e o ajuste de hiperparâmetros. Você não precisa se preocupar em definir uma configuração de execução ao usar o machine learning automatizado.
    Pipeline de machine learning Pipelines não são um método de treinamento diferente, mas uma forma de definir um fluxo de trabalho usando etapas modulares e reutilizáveis, que podem incluir treinamento como parte do fluxo de trabalho. Os pipelines de aprendizado de máquina são compatíveis com o uso de machine learning automatizado e a configuração de execução para treinar modelos. Como os pipelines não estão voltados especificamente para o treinamento, os motivos para usar um pipeline são mais variados do que os outros métodos de treinamento. Geralmente, você pode usar um pipeline quando:
    * Deseja agendar processos autônomos como preparação de dados ou trabalhos de treinamento de execução prolongada.
    * Usa várias etapas coordenadas em recursos de computação heterogêneos e locais de armazenamento.
    * Use o pipeline como um modelo reutilizável para cenários específicos, como retreinamento ou pontuação de lote.
    * Fontes de dados de acompanhamento e versão, entradas e saídas para seu fluxo de trabalho.
    * O fluxo de trabalho é implementado por equipes diferentes que trabalham em etapas específicas independentemente. As etapas podem ser unidas em um pipeline para implementar o fluxo de trabalho.
  • Designer: o designer do Azure Machine Learning fornece um ponto de entrada fácil para o aprendizado de máquina para a criação de provas de conceito ou para usuários com pouca experiência em codificação. Ele permite treinar modelos usando uma interface do usuário baseada na Web do tipo “arrastar e soltar”. Você pode usar o código do Python como parte do design ou treinar modelos sem escrever nenhum código.

  • CLI do Azure: a CLI de machine learning fornece comandos para tarefas comuns com o Azure Machine Learning e é muito usada para scripts e tarefas de automação. Por exemplo, quando você tiver criado um pipeline ou script de treinamento, poderá usar a CLI do Azure para iniciar a execução de treinamento em uma agenda ou quando os arquivos de dados usados para treinamento forem atualizados. Para modelos de treinamento, ela fornece comandos que enviam trabalhos de treinamento. Ela pode enviar trabalhos usando pipelines ou configurações de execução.

Cada um desses métodos de treinamento pode usar diferentes tipos de recursos de computação para treinamento. Coletivamente, esses recursos são chamados de destinos de computação. Um destino de computação pode ser um computador local ou um recurso de nuvem, como Computação do Azure Machine Learning, Azure HDInsight ou uma máquina virtual remota.

SDK do Python

O SDK do Azure Machine Learning para Python permite criar e executar fluxos de trabalho de machine learning com o Azure Machine Learning. Você pode interagir com o serviço em uma sessão interativa do Python, Jupyter Notebooks, Visual Studio Code ou outro IDE.

Configuração de execução

Um trabalho de treinamento genérico com o Azure Machine Learning pode ser definido usando ScriptRunConfig. Depois, a configuração de execução é usada juntamente com os scripts de treinamento para treinar um modelo no destino de computação.

Você pode começar com uma configuração de execução para seu computador local e, em seguida, alternar para uma configuração de um destino de computação baseado em nuvem, conforme necessário. Ao alterar o destino de computação, você pode alterar a configuração de execução usada. Uma execução também registra informações sobre o trabalho de treinamento, como entradas, saídas e logs.

Automatizado de Machine Learning

Defina as iterações, configurações de hiperparâmetro, personalização e outras configurações. Durante o treinamento, o Azure Machine Learning tenta algoritmos e parâmetros diferentes em paralelo. O treinamento para quando atinge os critérios de saída que você definiu.

Dica

Além do SDK do Python, você também pode usar o ML automatizado por meio do Azure Machine Learning Studio.

Pipeline de machine learning

Os pipelines de aprendizado de máquina podem usar os métodos de treinamento mencionados anteriormente. Pipelines se tratam mais de criar um fluxo de trabalho, assim abrangem mais do que apenas o treinamento de modelos. Em um pipeline, você pode treinar um modelo usando o machine learning automatizado ou as configurações de execução.

Saber o que acontece quando você envia um trabalho de treinamento

O ciclo de vida de treinamento do Azure consiste em:

  1. Compactar os arquivos na pasta do projeto, ignorando aqueles especificados em .amlignore ou .gitignore
  2. Colocar em escala seu cluster de cálculo
  3. Criar ou fazer download do dockerfile no nó de computação
    1. O sistema calcula um hash:
    2. O sistema usa esse hash como chave em uma pesquisa do ACR (Registro de Contêiner do Azure) do workspace
    3. Se não for encontrado, ele procurará uma correspondência no ACR global
    4. Se não for encontrado, o sistema criará uma nova imagem (que será armazenada em cache e registrada no ACR do workspace)
  4. Fazer download do arquivo compactado do projeto em um armazenamento temporário no nó de computação
  5. Descompactar o arquivo do projeto
  6. O nó de computação que está executando o python <entry script> <arguments>
  7. Salvar os logs, os arquivos de modelo e outros arquivos gravados em ./outputs na conta de armazenamento associada ao workspace
  8. Colocar em escala a computação, incluindo a remoção do armazenamento temporário

Se você optar por treinar em seu computador local ("configurar como execução local"), não será necessário usar o Docker. Você pode usar o Docker localmente (consulte a seção Configurar pipeline ML para obter um exemplo).

Azure Machine Learning Designer

O designer permite treinar modelos usando uma interface do tipo “arrastar e soltar” em seu navegador da Web.

CLI do Azure

A CLI de machine learning é uma extensão para a CLI do Azure. Ela fornece comandos de CLI multiplataforma para trabalhar com o Azure Machine Learning. Normalmente, você usa a CLI para automatizar tarefas, como treinar um modelo de machine learning.

Próximas etapas

Saiba como Configurar uma execução de treinamento.