Partilhar via


Treinar modelos com o Azure Machine Learning (v1)

APLICA-SE A: Python SDK azureml v1

O Azure Machine Learning fornece várias maneiras de treinar seus modelos, desde soluções code-first usando o SDK até soluções low-code, como aprendizado de máquina automatizado e o designer visual. Use a lista a seguir para determinar qual método de treinamento é adequado para você:

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

    Método de treino Description
    Executar configuração Uma maneira típica de treinar modelos é usar um script de treinamento e configuração de trabalho. A configuração do trabalho fornece as informações necessárias para configurar o ambiente de treinamento usado para treinar seu modelo. Você pode especificar seu script de treinamento, destino de computação e ambiente do Azure Machine Learning em sua configuração de trabalho e executar um trabalho de treinamento.
    Aprendizagem automática de máquina O aprendizado de máquina automatizado permite treinar modelos sem conhecimento extensivo de ciência de dados ou programação. Para pessoas com experiência em ciência de dados e programação, ele fornece uma maneira 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 trabalho ao usar o aprendizado de máquina automatizado.
    Pipeline de aprendizado de máquina Os pipelines não são um método de treinamento diferente, mas uma maneira 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 suportam o uso de aprendizado de máquina automatizado e executam a configuração para treinar modelos. Como os pipelines não são focados especificamente no treinamento, as razões para usar um pipeline são mais variadas do que os outros métodos de treinamento. Geralmente, você pode usar um pipeline quando:
    * Você deseja agendar processos autônomos, como trabalhos de treinamento de longa duração ou preparação de dados.
    * Use várias etapas que são coordenadas entre 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 em lote.
    * Rastreie e versione fontes de dados, entradas e saídas para seu fluxo de trabalho.
    * Seu fluxo de trabalho é implementado por diferentes equipes que trabalham em etapas específicas de forma independente. 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 no aprendizado de máquina para criar provas de conceitos ou para usuários com pouca experiência em codificação. Ele permite que você treine modelos usando uma interface do usuário baseada na Web de arrastar e soltar. Você pode usar o código Python como parte do design ou treinar modelos sem escrever nenhum código.

  • CLI do Azure: A CLI de aprendizado de máquina fornece comandos para tarefas comuns com o Azure Machine Learning e é frequentemente usada para criar scripts e automatizar tarefas. Por exemplo, depois de criar um script ou pipeline de treinamento, você pode usar a CLI do Azure para iniciar um trabalho de treinamento em um cronograma ou quando os arquivos de dados usados para treinamento forem atualizados. Para modelos de treinamento, ele fornece comandos que enviam trabalhos de treinamento. Ele pode enviar trabalhos usando configurações de execução ou pipelines.

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 alvos de computação. Um destino de computação pode ser uma máquina local ou um recurso de nuvem, como um Azure Machine Learning Compute, Azure HDInsight ou uma máquina virtual remota.

Python SDK

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

Executar configuração

Um trabalho de treinamento genérico com o Azure Machine Learning pode ser definido usando o ScriptRunConfig. A configuração de execução de script é então usada, juntamente com o(s) seu(s) script(s) de treinamento para treinar um modelo em um 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 para um destino de computação baseado em nuvem, conforme necessário. Ao alterar o destino de computação, você altera apenas 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.

Machine Learning Automatizado

Defina as iterações, configurações de hiperparâmetros, featurização e outras configurações. Durante o treinamento, o Azure Machine Learning tenta diferentes algoritmos e parâmetros em paralelo. O treinamento é interrompido quando atinge os critérios de saída definidos.

Gorjeta

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

Pipeline de aprendizado de máquina

Os pipelines de aprendizado de máquina podem usar os métodos de treinamento mencionados anteriormente. Os pipelines têm mais a ver com a criação de um fluxo de trabalho, por isso abrangem mais do que apenas o treinamento de modelos. Em um pipeline, você pode treinar um modelo usando aprendizado de máquina automatizado ou executar configurações.

Compreender o que acontece quando submete um trabalho de formação

O ciclo de vida de treinamento do Azure consiste em:

  1. Compactar os arquivos na pasta do projeto, ignorando os especificados em .amlignore ou .gitignore
  2. Ampliando seu cluster de computação
  3. Criando ou baixando o dockerfile para o nó de computação
    1. O sistema calcula um hash de:
    2. O sistema utiliza este hash como chave numa procura da área de trabalho do Azure Container Registry (ACR)
    3. Se não for encontrado, procura uma correspondência no ACR global
    4. Se não for encontrado, o sistema cria uma nova imagem (que será armazenada em cache e registrada no ACR do espaço de trabalho)
  4. Baixando seu arquivo de projeto compactado para armazenamento temporário no nó de computação
  5. Descompactando o arquivo de projeto
  6. O nó de computação em execução python <entry script> <arguments>
  7. Salvar logs, arquivos de modelo e outros arquivos gravados na ./outputs conta de armazenamento associada ao espaço de trabalho
  8. Redução da computação, incluindo a remoção de armazenamento temporário

Se você optar por treinar em sua máquina local ("configurar como execução local"), não precisará usar o Docker. Você pode usar o Docker localmente se escolher (consulte a seção Configurar pipeline de ML para obter um exemplo).

Estruturador do Azure Machine Learning

O designer permite treinar modelos usando uma interface de arrastar e soltar em seu navegador da web.

CLI do Azure

A CLI de aprendizado de máquina é uma extensão para a CLI do Azure. Ele fornece comandos de CLI entre plataformas para trabalhar com o Azure Machine Learning. Normalmente, você usa a CLI para automatizar tarefas, como treinar um modelo de aprendizado de máquina.

Próximos passos

Saiba como configurar uma execução de treinamento.