Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
APLICA-SE A:
Azure CLI ml extension v2 (current)
Python SDK azure-ai-ml v2 (current)
Comece pelo GitHub Actions para preparar um modelo no Azure Machine Learning.
Este artigo ensina como criar um fluxo de trabalho de Ações do GitHub que cria e implanta um modelo de aprendizado de máquina no Azure Machine Learning. Treinas um modelo de regressão linear com o scikit-learn no conjunto de dados de táxi de Nova Iorque.
As Ações do GitHub usam um ficheiro YAML (.yml) de fluxo de trabalho no caminho /.github/workflows/ no seu repositório. Esta definição contém as várias etapas e parâmetros que compõem o fluxo de trabalho.
Pré-requisitos
Uma área de trabalho do Azure Machine Learning. Para conhecer as etapas de criação de um espaço de trabalho, consulte Criar o espaço de trabalho.
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 existente do SDK para a versão mais recente, use o seguinte comando:
pip install --upgrade azure-ai-ml azure-identityPara obter mais informações, consulte Biblioteca de cliente do Pacote do Azure Machine Learning para Python.
- Uma conta GitHub. Se não tiveres, cria uma conta gratuita.
Passo 1: Obter o código
Fork o seguinte repo no GitHub:
https://github.com/azure/azureml-examples
Clone o seu repositório derivado localmente.
git clone https://github.com/YOUR-USERNAME/azureml-examples
Etapa 2: Autenticar com o Azure
Primeiro, defina como autenticar com Azure. A opção recomendada e mais segura é iniciar sessão usando o OpenID Connect com uma aplicação Microsoft Entra ou uma identidade gerida atribuída pelo utilizador. Se necessário, também pode usar iniciar sessão usando um princípio e segredo do serviço. Esta abordagem é menos segura e não é recomendada.
Gerar credenciais de implantação
Para usar a ação de Login do Azure com OIDC, você precisa configurar uma credencial de identidade federada numa aplicação Microsoft Entra ou uma identidade gerida atribuída pelo utilizador.
Opção 1: Aplicação Microsoft Entra
- Crie uma aplicação Microsoft Entra com uma entidade de serviço no portal do Azure, Azure CLI ou Azure PowerShell.
- Copie os valores para ID do cliente, ID da assinatura e ID do diretório (locatário) para usar posteriormente no fluxo de trabalho das Ações do GitHub.
- Atribua uma função apropriada à sua entidade de serviço no portal do Azure, na Azure CLI ou no Azure PowerShell.
- Configure uma credencial de identidade federada num aplicativo Microsoft Entra para confiar em tokens emitidos pelo GitHub Actions no seu repositório GitHub.
Opção 2: Identidade gerenciada atribuída pelo usuário
- Crie 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 fluxo de trabalho das Ações do GitHub.
- Atribua um papel apropriado à identidade gerida atribuída pelo utilizador.
- Configure uma credencial de identidade federada em uma identidade gerenciada atribuída pelo utilizador para confiar em tokens emitidos pelo GitHub Actions no seu repositório GitHub.
Criar segredos
Você precisa fornecer a ID do cliente, ID do diretório (locatário) e a ID de subscrição para a ação de login. 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, vá para o seu repositório.
Selecione Segurança > Segredos e variáveis > Ações.
Selecione Novo segredo do repositório.
Nota
Para melhorar a segurança do fluxo de trabalho em repositórios públicos, use segredos de ambiente em vez de segredos de 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 estes 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 de Cliente AZURE_SUBSCRIPTION_ID ID de Subscrição AZURE_TENANT_ID ID do Diretório (inquilino) Nota
Por motivos de segurança, recomendamos o uso de Segredos do GitHub em vez de passar valores diretamente para o fluxo de trabalho.
Etapa 3: Atualizar setup.sh para se conectar ao seu espaço de trabalho do Azure Machine Learning
Atualiza as variáveis do ficheiro de configuração da CLI para corresponderem ao teu espaço de trabalho.
No repositório bifurcado, vá para
azureml-examples/cli/.Edite
setup.she atualize essas variáveis no arquivo.Variável Descrição GROUPNome do grupo de recursos LOCATIONLocalização do espaço de trabalho (exemplo: eastus2)WORKSPACENome do espaço de trabalho do Azure Machine Learning
Etapa 4: Atualizar pipeline.yml com o nome do cluster de computação
Utilize um pipeline.yml arquivo para implementar o seu pipeline do Azure Machine Learning. O pipeline é um pipeline de aprendizado de máquina e não um pipeline de DevOps. Só precisas de fazer esta atualização se estiveres a usar um nome diferente do cpu-cluster nome do teu cluster de computação.
- No repositório bifurcado, vá para
azureml-examples/cli/jobs/pipelines/nyc-taxi/pipeline.yml. - Sempre que vir
compute: azureml:cpu-cluster, atualize o valor decpu-clustercom o nome do seu cluster de computação. Por exemplo, se o cluster for nomeadomy-cluster, o novo valor seráazureml:my-cluster. Há cinco atualizações.
Etapa 5: Executar o fluxo de trabalho de Ações do GitHub
Seu fluxo de trabalho é autenticado com o Azure, configura a CLI do Azure Machine Learning e usa a CLI para treinar um modelo no Azure Machine Learning.
Seu 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 uma agenda cron e quando uma solicitação pull é feita a partir de ramificações e caminhos correspondentes. Saiba mais sobre eventos que acionam fluxos de trabalho. - Na secção de empregos do fluxo de trabalho, verifica o código e inicia sessão no Azure com a ação de login do Azure usando o OpenID Connect.
- A seção de trabalhos também inclui uma ação de configuração que instala e configura a CLI do Machine Learning (v2). Depois que a CLI for instalada, a ação de tarefa de execução executará seu arquivo do Azure Machine Learning
pipeline.ymlpara treinar um modelo com dados de táxi de Nova York.
Habilite seu fluxo de trabalho
No teu repositório bifurcado, abre
.github/workflows/cli-jobs-pipelines-nyc-taxi-pipeline.ymle verifica se o teu fluxo de trabalho é semelhante a este.Nota
O ficheiro de workflow no repositório pode incluir passos adicionais (como arranque e validação) que não são apresentados aqui. O exemplo seguinte mostra os passos principais.
name: cli-jobs-pipelines-nyc-taxi-pipeline on: workflow_dispatch: schedule: - cron: "0 0/4 * * *" pull_request: branches: - main paths: - cli/jobs/pipelines/nyc-taxi/** - .github/workflows/cli-jobs-pipelines-nyc-taxi-pipeline.yml - cli/run-pipeline-jobs.sh - cli/setup.sh permissions: id-token: write jobs: build: runs-on: ubuntu-latest steps: - name: check out repo uses: actions/checkout@v4 - 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 Ver execuções.
Habilite fluxos de trabalho selecionando Eu entendo meus fluxos de trabalho, vá em frente e habilite-os.
Selecione o cli-jobs-pipelines-nyc-taxi-pipeline workflow e escolha Ativar 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 fluxo de trabalho
Abra a execução do fluxo de trabalho concluído e verifique se o trabalho de compilação foi executado com êxito. Você verá um visto verde ao lado da tarefa.
Abra o Azure Machine Learning Studio e vá a nyc-taxi-pipeline-example. Verifique se cada parte do seu trabalho (preparar, transformar, treinar, prever, pontuar) foi concluída e se você vê uma marca de seleção verde.
Limpar recursos
Quando já não precisares do teu grupo de recursos e repositório, limpa os recursos que implementaste eliminando o grupo de recursos e o teu repositório no GitHub.