Korzystanie z funkcji GitHub Actions na potrzeby trenowania modelu

Ukończone

GitHub Actions to platforma umożliwiająca automatyzowanie zadań wyzwalanych przez zdarzenia występujące w repozytorium GitHub. Przepływ pracy funkcji GitHub Actions składa się z zadań. Zadanie grupuje zestaw kroków , które można zdefiniować. Jedną z tych czynności można użyć interfejsu wiersza polecenia (wersja 2), aby uruchomić zadanie usługi Azure Machine Edukacja w celu wytrenowania modelu.

Aby zautomatyzować trenowanie modelu za pomocą funkcji GitHub Actions, należy wykonać następujące czynności:

  • Utwórz jednostkę usługi przy użyciu interfejsu wiersza polecenia platformy Azure.
  • Przechowywanie poświadczeń platformy Azure w kluczu tajnym usługi GitHub.
  • Zdefiniuj akcję usługi GitHub w języku YAML.

Tworzenie jednostki usługi

Gdy używasz funkcji GitHub Actions do automatyzowania zadań usługi Azure Machine Edukacja, musisz użyć jednostki usługi do uwierzytelniania usługi GitHub w celu zarządzania obszarem roboczym usługi Azure Machine Edukacja. Aby na przykład wytrenować model przy użyciu usługi Azure Machine Edukacja obliczeń, musisz mieć autoryzację do używania tych zasobów obliczeniowych lub dowolnego używanego narzędzia.

Przechowywanie poświadczeń platformy Azure

Poświadczenia platformy Azure, które należy uwierzytelnić, nie powinny być przechowywane w kodzie ani w postaci zwykłego tekstu i zamiast tego powinny być przechowywane w kluczu tajnym usługi GitHub.

Aby dodać wpis tajny do repozytorium GitHub:

  1. Przejdź do karty Ustawienia.

    Screenshot of settings tab in GitHub repository.

  2. Na karcie Ustawienia w obszarze Zabezpieczenia rozwiń opcję Wpisy tajne i wybierz pozycję Akcje.

    Screenshot of secrets option in security section.

  3. Wprowadź poświadczenia platformy Azure jako wpis tajny i nadaj kluczowi nazwę wpisu tajnego AZURE_CREDENTIALS.

  4. Aby użyć wpisu tajnego zawierającego poświadczenia platformy Azure w akcji usługi GitHub, zapoznaj się z wpisem tajnym w pliku YAML.

    on: [push]
    
    name: Azure Login Sample
    
    jobs:
      build-and-deploy:
        runs-on: ubuntu-latest
        steps:
          - name: Log in with Azure
            uses: azure/login@v1
            with:
              creds: '${{secrets.AZURE_CREDENTIALS}}'
    

Definiowanie akcji usługi GitHub

Aby zdefiniować przepływ pracy, należy utworzyć plik YAML. Przepływ pracy można wyzwolić w celu ręcznego trenowania modelu lub zdarzenia wypychania. Ręczne wyzwalanie przepływu pracy jest idealne do testowania, a automatyzowanie go za pomocą zdarzenia jest lepsze dla automatyzacji.

Aby skonfigurować przepływ pracy funkcji GitHub Actions, aby można było go wyzwolić ręcznie, użyj polecenia on: workflow_dispatch. Aby wyzwolić przepływ pracy ze zdarzeniem wypychania, użyj polecenia on: [push].

Po wyzwoleniu przepływu pracy funkcji GitHub Actions można dodać różne kroki do zadania. Na przykład możesz użyć kroku, aby uruchomić zadanie Edukacja maszyny platformy Azure:

name: Manually trigger an Azure Machine Learning job

on:
  workflow_dispatch:

jobs:
  train-model:
    runs-on: ubuntu-latest
    steps:
    - name: Trigger Azure Machine Learning job
      run: |
        az ml job create --file src/job.yml

Napiwek

Dowiedz się więcej na temat funkcji GitHub Actions, w tym podstawowych pojęć i podstawowej terminologii.