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.
- O que é o SDK do Azure Machine Learning para Python
- Instalar/atualizar o SDK
- Configurar um ambiente de desenvolvimento para o Azure Machine Learning
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.
- O que é uma configuração de execução?
- Tutorial: Treine seu primeiro modelo de ML
- Exemplos: Jupyter Notebook e Python exemplos de modelos de treinamento
- Como: Configurar uma execução de treinamento
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.
- O que é o machine learning automatizado?
- Tutorial: Crie seu primeiro modelo de classificação com aprendizado de máquina automatizado
- Exemplos: exemplos do Jupyter Notebook para aprendizado de máquina automatizado
- Como: Configurar experimentos automatizados de ML em Python
- Como: Autotrain um modelo de previsão de série temporal
- Como: Criar, explorar e implantar experimentos automatizados de aprendizado de máquina com o estúdio de Aprendizado de Máquina do Azure
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.
- O que são pipelines de ML no Azure Machine Learning?
- Criar e executar pipelines de aprendizagem automática com o SDK do Azure Machine Learning
- Tutorial: Usar os Pipelines do Azure Machine Learning para pontuação em lote
- Exemplos: exemplos do Jupyter Notebook para pipelines de aprendizado de máquina
- Exemplos: Pipeline com aprendizado de máquina automatizado
Compreender o que acontece quando submete um trabalho de formação
O ciclo de vida de treinamento do Azure consiste em:
- Compactar os arquivos na pasta do projeto, ignorando os especificados em .amlignore ou .gitignore
- Ampliando seu cluster de computação
- Criando ou baixando o dockerfile para o nó de computação
- O sistema calcula um hash de:
- A imagem base
- Etapas personalizadas do docker (consulte Implantar um modelo usando uma imagem base personalizada do Docker)
- A definição de conda YAML (consulte Criar & usar ambientes de software no Azure Machine Learning)
- O sistema utiliza este hash como chave numa procura da área de trabalho do Azure Container Registry (ACR)
- Se não for encontrado, procura uma correspondência no ACR global
- 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)
- O sistema calcula um hash de:
- Baixando seu arquivo de projeto compactado para armazenamento temporário no nó de computação
- Descompactando o arquivo de projeto
- O nó de computação em execução
python <entry script> <arguments>
- Salvar logs, arquivos de modelo e outros arquivos gravados na
./outputs
conta de armazenamento associada ao espaço de trabalho - 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.