Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
APLICA-SE A:
Extensão de ML da CLI do Azure v2 (atual)
SDK do Python azure-ai-ml v2 (atual)
Comece a usar o GitHub Actions para treinar um modelo no Azure Machine Learning.
Esse artigo ensina como criar um fluxo de trabalho do GitHub Actions que cria e implanta um modelo de aprendizado de máquina no Azure Machine Learning. Você treina um modelo de regressão linear scikit-learn no conjunto de dados NYC Taxi.
GitHub Actions usam um arquivo YAML (.yml) de fluxo de trabalho no caminho /.github/workflows/ no seu repositório. Essa definição contém as várias etapas e os parâmetros que compõem o fluxo de trabalho.
Pré-requisitos
Um Workspace do Azure Machine Learning. Para obter etapas para criar um workspace, consulte Criar o workspace.
O SDK do Azure Machine Learning para Python v2. Para instalar o SDK, use o seguinte comando:
pip install azure-ai-ml azure-identityPara atualizar uma instalação do SDK existente para a versão mais recente, use o seguinte comando:
pip install --upgrade azure-ai-ml azure-identityPara obter mais informações, consulte a biblioteca de clientes do Pacote do Azure Machine Learning para Python.
- Uma conta do GitHub. Caso ainda não tenha uma, inscreva-se gratuitamente.
Etapa 1: obter o código
Bifurque o seguinte repositório no GitHub:
https://github.com/azure/azureml-examples
Clone seu repositório bifurcado localmente.
git clone https://github.com/YOUR-USERNAME/azureml-examples
Etapa 2: Autenticar com o Azure
Primeiro, você precisará definir como autenticar com o Azure. A opção recomendada e mais segura é entrar com o OpenID Connect usando um aplicativo Microsoft Entra ou uma identidade gerenciada atribuída pelo usuário. Se necessário, você também pode usar para fazer login com uma entidade de serviço e um segredo. Essa abordagem é menos segura e não é recomendada.
Gerar as credenciais de implantação
Para usar a ação de login do Azure com o OIDC, você precisa configurar uma credencial de identidade federada em um aplicativo Microsoft Entra ou uma identidade gerenciada atribuída pelo usuário.
Opção 1: Aplicativo Microsoft Entra
- Crie um aplicativo Microsoft Entra com uma entidade de serviço pelo portal do Azure, CLI do Azure ou Azure PowerShell.
- Copie os valores para ID do cliente, ID da assinatura e ID do diretório (locatário) para usar posteriormente no seu fluxo de trabalho do GitHub Actions.
- Atribua uma função apropriada ao seu diretor de serviço portal do Azure, CLI do Azure, ou Azure PowerShell.
- Configure uma credencial de identidade federada em um aplicativo Microsoft Entra para confiar em tokens emitidos pelo GitHub Actions para seu repositório GitHub.
Opção 2: Identidade gerenciada atribuída pelo usuário
- Criar uma identidade gerenciada atribuída pelo usuário.
- Copie os valores para ID do cliente, ID da assinatura e ID do diretório (locatário) para usar posteriormente no seu fluxo de trabalho do GitHub Actions.
- Atribua uma função apropriada à sua identidade gerenciada atribuída pelo usuário.
- Configure uma credencial de identidade federada em uma identidade gerenciada atribuída pelo usuário para confiar em tokens emitidos pelo GitHub Actions para seu repositório GitHub.
Criar segredos
Você precisa fornecer a ID do cliente, a ID do locatário e a ID da assinatura do seu aplicativo para a ação de logon. Esses valores podem ser fornecidos diretamente no fluxo de trabalho ou podem ser armazenados em segredos do GitHub e referenciados em seu fluxo de trabalho. Salvar os valores como segredos do GitHub é a opção mais segura.
No GitHub, acesse seu repositório.
Selecione Segurança > Segredos e variáveis > Ações.
Selecione Novo segredo de repositório.
Observação
Para aumentar a segurança do fluxo de trabalho em repositórios públicos, use segredos do ambiente em vez de segredos do repositório. Se o ambiente exigir aprovação, um trabalho não poderá acessar segredos de ambiente até que um dos revisores necessários o aprove.
Crie segredos para
AZURE_CLIENT_ID,AZURE_TENANT_IDeAZURE_SUBSCRIPTION_ID. Copie esses valores do seu aplicativo Microsoft Entra ou da identidade gerenciada atribuída pelo usuário para seus segredos do GitHub:Segredo do GitHub Aplicativo Microsoft Entra ou identidade gerenciada atribuída pelo usuário AZURE_CLIENT_ID ID do Cliente AZURE_SUBSCRIPTION_ID ID da assinatura AZURE_TENANT_ID ID do diretório (locatário) Observação
Por motivos de segurança, recomendamos usar o GitHub Secrets em vez de passar valores diretamente para o fluxo de trabalho.
Etapa 3: atualizar setup.sh para se conectar ao seu workspace do Azure Machine Learning
Você precisa atualizar as variáveis do arquivo de configuração da CLI para corresponder ao seu espaço de trabalho.
No repositório clonado, acesse
azureml-examples/cli/.Edite
setup.she atualize essas variáveis no arquivo.Variável Descrição GRUPO nome do grupo de recursos LOCALIZAÇÃO Local do seu workspace (exemplo: eastus2)ÁREA DE TRABALHO Nome do workspace do Azure Machine Learning
Etapa 4: atualizar pipeline.yml com o nome do seu cluster de cálculo
Use um arquivo pipeline.yml para implantar seu pipeline do Azure Machine Learning. O pipeline é um pipeline de aprendizado de máquina e não um pipeline de DevOps. Você só precisará fazer essa atualização se estiver usando um nome diferente de cpu-cluster para o cluster de cálculo.
- No repositório clonado, acesse
azureml-examples/cli/jobs/pipelines/nyc-taxi/pipeline.yml. - Sempre que vir
compute: azureml:cpu-cluster, atualize o valor decpu-clustercom o nome do cluster de cálculo. Por exemplo, se o cluster for chamado demy-cluster, o novo valor seráazureml:my-cluster. Há cinco atualizações.
Etapa 5: executar seu fluxo de trabalho do GitHub Actions
Seu fluxo de trabalho é autenticado com o Azure, configura a CLI do Azure Machine Learning e usa ela para treinar um modelo no Azure Machine Learning.
O arquivo de fluxo de trabalho é composto por uma seção de gatilho e trabalhos:
- Um gatilho inicia o fluxo de trabalho na seção
on. O fluxo de trabalho é executado por padrão em um agendamento cron e quando uma solicitação de pull é feita por meio de branches e caminhos correspondentes. Saiba mais sobre eventos que disparam fluxos de trabalho. - Na seção de trabalhos do fluxo de trabalho, você faz check-out de código e faz logon no Azure com a ação de logon do Azure usando o OpenID Connect.
- A seção de trabalhos também inclui uma ação de instalação que instala e configura a CLI do Machine Learning (v2). Depois que a CLI é instalada, a ação executar trabalho executa o arquivo
pipeline.ymldo Azure Machine Learning para treinar um modelo com os dados de táxi de NOVA YORK.
Habilitar seu fluxo de trabalho
No repositório clonado, abra
.github/workflows/cli-jobs-pipelines-nyc-taxi-pipeline.ymle verifique se o fluxo de trabalho tem esta aparência.name: cli-jobs-pipelines-nyc-taxi-pipeline on: workflow_dispatch: schedule: - cron: "0 0/4 * * *" pull_request: branches: - main - sdk-preview paths: - cli/jobs/pipelines/nyc-taxi/** - .github/workflows/cli-jobs-pipelines-nyc-taxi-pipeline.yml - cli/run-pipeline-jobs.sh - cli/setup.sh jobs: build: runs-on: ubuntu-latest steps: - name: check out repo uses: actions/checkout@v2 - name: azure login uses: azure/login@v2 with: client-id: ${{ secrets.AZURE_CLIENT_ID }} tenant-id: ${{ secrets.AZURE_TENANT_ID }} subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }} - name: setup run: bash setup.sh working-directory: cli continue-on-error: true - name: run job run: bash -x ../../../run-job.sh pipeline.yml working-directory: cli/jobs/pipelines/nyc-taxiSelecione Exibir execuções.
Habilite os fluxos de trabalho selecionando Eu entendo meus fluxos de trabalho, prossiga e habilite-os.
Selecione o fluxo de trabalho cli-jobs-pipelines-nyc-taxi-pipeline e escolha Habilitar fluxo de trabalho.
Selecione Executar fluxo de trabalho e escolha a opção Executar fluxo de trabalho agora.
Etapa 6: verificar a execução do seu fluxo de trabalho
Abra a execução concluída do seu fluxo de trabalho e verifique se o trabalho de build foi executado com êxito. Você verá uma marca de seleção verde ao lado do trabalho.
Abra o Estúdio do Azure Machine Learning e navegue até o nyc-taxi-pipeline-example. Verifique se cada parte do trabalho (preparação, transformação, treinamento, previsão, pontuação) foi concluída e se há uma marca de verificação verde.
Limpar os recursos
Quando seu grupo de recursos e repositório não forem mais necessários, limpe os recursos implantados excluindo o grupo de recursos e o repositório GitHub.