Preparar modelos com o Azure Machine Learning

APLICA-SE A: Python SDK azure-ai-ml v2 (atual)

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
    comando() Uma maneira típica de treinar modelos é enviar um command() que inclua um script de treinamento, ambiente e informações de computação.
    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.

Enviar um comando

Um trabalho de treinamento genérico com o Azure Machine Learning pode ser definido usando o command(). O comando é então usado, juntamente com o(s) seu(s) script(s) de treinamento, para treinar um modelo no destino de computação especificado.

Você pode começar com um comando para seu computador local e, em seguida, alternar para um para um destino de computação baseado em nuvem, conforme necessário. Ao alterar o destino de computação, você altera apenas o parâmetro compute no comando usado. 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.

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 e fazer o upload para a nuvem.

    Gorjeta

    Para evitar que arquivos desnecessários sejam incluídos no instantâneo, crie um arquivo de ignorar (.gitignore ou .amlignore) no diretório. Adicione os ficheiros e os diretórios a excluir neste ficheiro. Para obter mais informações sobre a sintaxe a ser usada dentro desse arquivo, consulte sintaxe e padrões para .gitignore. O .amlignore arquivo usa a mesma sintaxe. Se ambos os arquivos existirem, o arquivo será usado e o .amlignore.gitignore arquivo não será usado.

  2. Dimensionamento do cluster de computação (ou computação sem servidor

  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

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.

Código VS

Você pode usar a extensão VS Code para executar e gerenciar seus trabalhos de treinamento. Consulte o guia de instruções de gerenciamento de recursos do VS Code para saber mais.

Próximos passos

Saiba como Tutorial: Criar pipelines de ML de produção com o Python SDK v2 em um notebook Jupyter.