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.
- O que é o SDK do Azure Machine Learning para Python
- Instalar/atualizar o SDK
- Configurar um ambiente de desenvolvimento para Azure Machine Learning
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.
- O que é uma configuração de execução?
- Tutorial: Treinar seu primeiro modelo de ML
- Exemplos: exemplos de modelos de treinamento do Jupyter Notebook e do Python
- Como configurar uma execução de treinamento
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.
- O que é o machine learning automatizado?
- Tutorial: Crie seu primeiro modelo de classificação com o machine learning automatizado
- Exemplos: exemplos do Jupyter Notebook para machine learning automatizado
- Como: Configurar experimentos de ML automatizado no Python
- Como: Treinar automaticamente um modelo de previsão de série temporal
- Como: Criar, explorar e implantar experimentos de machine learning automatizado com o estúdio do Azure Machine Learning
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.
- O que são pipelines de ML no Azure Machine Learning?
- Crie e execute pipelines de machine learning com o SDK do Azure Machine Learning
- Tutorial: Usar Pipelines do Azure Machine Learning para pontuação do lote
- Exemplos: exemplos do Jupyter Notebook para pipelines de machine learning
- Exemplos: Pipeline com machine learning automatizado
Saber o que acontece quando você envia um trabalho de treinamento
O ciclo de vida de treinamento do Azure consiste em:
- Compactar os arquivos na pasta do projeto, ignorando aqueles especificados em .amlignore ou .gitignore
- Colocar em escala seu cluster de cálculo
- Criar ou fazer download do dockerfile no nó de computação
- O sistema calcula um hash:
- Da imagem base
- Das etapas personalizadas do Docker (confira Implantar um modelo usando uma imagem base personalizada do Docker)
- Da definição da Conda YAML (confira Criar e usar ambientes de software no Azure Machine Learning)
- O sistema usa esse hash como chave em uma pesquisa do ACR (Registro de Contêiner do Azure) do workspace
- Se não for encontrado, ele procurará uma correspondência no ACR global
- Se não for encontrado, o sistema criará uma nova imagem (que será armazenada em cache e registrada no ACR do workspace)
- O sistema calcula um hash:
- Fazer download do arquivo compactado do projeto em um armazenamento temporário no nó de computação
- Descompactar o arquivo do projeto
- O nó de computação que está executando o
python <entry script> <arguments>
- Salvar os logs, os arquivos de modelo e outros arquivos gravados em
./outputs
na conta de armazenamento associada ao workspace - 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.