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ć. Jednym z tych kroków może być użycie interfejsu wiersza polecenia (wersja 2), aby uruchomić zadanie usługi Azure Machine Learning 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 Learning, musisz użyć jednostki usługi do uwierzytelniania usługi GitHub w celu zarządzania obszarem roboczym usługi Azure Machine Learning. Aby na przykład wytrenować model przy użyciu zasobów obliczeniowych usługi Azure Machine Learning, użytkownik lub dowolne używane narzędzie musi być autoryzowany do korzystania z tych obliczeń.

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 .

    Zrzut ekranu przedstawiający kartę ustawień w repozytorium GitHub.

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

    Zrzut ekranu przedstawiający opcję wpisów tajnych w sekcji zabezpieczeń.

  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. Możesz na przykład użyć kroku, aby uruchomić zadanie usługi Azure Machine Learning:

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.