Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
ÉRVÉNYES:
Azure CLI ml-bővítmény v2 (aktuális)
Python SDK azure-ai-ml v2 (aktuális)
Ismerkedés a GitHub Actions szolgáltatással az Azure Machine Learning-modellek betanítására vonatkozóan
Ez a cikk bemutatja, hogyan hozhat létre egy GitHub Actions-munkafolyamatot, amely gépi tanulási modellt hoz létre és helyez üzembe az Azure Machine Learningben. Betanít egy scikit-learn lineáris regressziós modellt az NYC Taxi adatkészleten.
A GitHub Actions egy YAML munkafolyamat-fájlt (.yml) használ a /.github/workflows/ adattár elérési útvonalán. Ez a definíció a munkafolyamatot alkotó különböző lépéseket és paramétereket tartalmazza.
Előfeltételek
Egy Azure Machine Learning-munkaterület. A munkaterület létrehozásának lépéseit a munkaterület létrehozása című témakörben találja.
Az Azure Machine Learning SDK Python v2 számára. Az SDK telepítéséhez használja a következő parancsot:
pip install azure-ai-ml azure-identityHa frissíteni szeretné az SDK meglévő telepítését a legújabb verzióra, használja a következő parancsot:
pip install --upgrade azure-ai-ml azure-identityTovábbi információ: Azure Machine Learning Package ügyfélkódtár Pythonhoz.
- Egy GitHub-fiók. Ha még nincs előfizetése, hozzon létre egy ingyenes fiókot.
1. lépés: A kód lekérése
Forkolja a következő tárházat a GitHubon:
https://github.com/azure/azureml-examples
Klónozza helyileg az elágazott adattárat.
git clone https://github.com/YOUR-USERNAME/azureml-examples
2. lépés: Hitelesítés az Azure-ral
Először határozza meg, hogyan hitelesíthető az Azure-ral. Az ajánlott, biztonságosabb megoldás a bejelentkezés az OpenID Connect használatával Egy Microsoft Entra-alkalmazással vagy egy felhasználó által hozzárendelt felügyelt identitással. Szükség esetén szolgáltatásnév és titkos kód használatával is használhatja a bejelentkezést. Ez a megközelítés kevésbé biztonságos, és nem ajánlott.
Üzembehelyezési hitelesítő adatok létrehozása
Az Azure Bejelentkezési művelet OIDC-vel történő használatához konfigurálnia kell egy összevont identitás-hitelesítő adatot egy Microsoft Entra alkalmazáson vagy egy felhasználó által hozzárendelt felügyelt identitáson.
1. lehetőség: Microsoft Entra-alkalmazás
- Microsoft Entra-alkalmazás létrehozása szolgáltatási főazonosítóval a Azure Portal, Azure CLI vagy Azure PowerShell használatával.
- Másolja ki az ügyfél-azonosító, az előfizetés-azonosító és a címtár-(bérlői) azonosító értékeit a GitHub Actions munkafolyamat későbbi részében való használathoz.
- Rendeljen hozzá egy megfelelő szerepkört a szolgáltatásnévhez az Azure Portal, az Azure CLI vagy az Azure PowerShell használatával.
- Konfiguráljon összevont identitás-hitelesítő adatokat egy Microsoft Entra-alkalmazáson , hogy megbízzon a GitHub Actions által a GitHub-adattárban kibocsátott jogkivonatokban.
2. lehetőség: Felhasználó által hozzárendelt felügyelt identitás
- Felhasználó által hozzárendelt felügyelt identitás létrehozása.
- Másolja ki az ügyfél-azonosító, az előfizetés-azonosító és a címtár-(bérlői) azonosító értékeit a GitHub Actions munkafolyamat későbbi részében való használathoz.
- Rendeljen hozzá egy megfelelő szerepkört a felhasználó által hozzárendelt felügyelt identitáshoz.
- Konfiguráljon összetett identitáshitelesítő adatokat egy felhasználó által hozzárendelt felügyelt identitásnál, hogy megbízhassa a GitHub Actions által a GitHub-adattárban kibocsátott jogkivonatokban.
Titkos kulcsok létrehozása
A bejelentkezési művelethez meg kell adnia az alkalmazás ügyfél-, címtár- (bérlői) azonosítóját és előfizetés-azonosítóját. Ezek az értékek közvetlenül a munkafolyamatban is megadhatók, vagy tárolhatók a GitHub titkokban, és a munkafolyamatban hivatkozhatók. Az értékek GitHub-titkos kulcsként való mentése a biztonságosabb megoldás.
A GitHubon nyissa meg az adattárat.
Válassza ki a Biztonsági > titkos kulcsok és változók > műveletek lehetőséget.
Válassza az Új tárház titkos kódját.
Megjegyzés
A nyilvános adattárak munkafolyamat-biztonságának javítása érdekében tárházi titkos kulcsok helyett használjon környezeti titkos kulcsokat . Ha a környezet jóváhagyást igényel, a feladatok nem férhetnek hozzá a környezeti titkos kódokhoz, amíg az egyik szükséges véleményező nem hagyja jóvá.
Titkos kulcsok létrehozása a következőhöz
AZURE_CLIENT_ID: ,AZURE_TENANT_IDésAZURE_SUBSCRIPTION_ID. Másolja ki ezeket az értékeket a Microsoft Entra-alkalmazásból vagy a felhasználó által hozzárendelt felügyelt identitásból a GitHub-titkos kulcsokhoz:GitHub-titkos kód Microsoft Entra-alkalmazás vagy felhasználó által hozzárendelt felügyelt identitás AZURE_CLIENT_ID (Az Azure ügyfélazonosító) Ügyfél azonosítója AZURE_SUBSCRIPTION_ID Előfizetés azonosítója AZURE_TENANT_ID Címtár (bérlő) azonosítója Megjegyzés
Biztonsági okokból azt javasoljuk, hogy a GitHub Titkos kulcsokat használja ahelyett, hogy közvetlenül a munkafolyamatnak ad át értékeket.
3. lépés: Frissítés setup.sh az Azure Machine Learning-munkaterülethez való csatlakozáshoz
Frissítse a parancssori felület beállítási fájlváltozóit, hogy megfeleljenek a munkaterületnek.
Az elágazott adattárban nyissa meg a következőt
azureml-examples/cli/: .Szerkeszd
setup.shés frissítsd ezeket a változókat a fájlban.Változó Leírás GROUPErőforráscsoport neve LOCATIONA munkaterület helye (például: eastus2)WORKSPACEAz Azure Machine Learning-munkaterület neve
4. lépés: Frissítsd a pipeline.yml a számítási fürt nevére
pipeline.yml Az Azure Machine Learning-folyamat üzembe helyezéséhez használjon egy fájlt. A folyamat egy gépi tanulási folyamat, nem pedig DevOps-folyamat. Ezt a frissítést csak akkor kell elvégeznie, ha a számítási fürt neve nem cpu-cluster, hanem egy másik név.
- Az elágazott adattárban nyissa meg a következőt
azureml-examples/cli/jobs/pipelines/nyc-taxi/pipeline.yml: . - Minden alkalommal, amikor megjelenik
compute: azureml:cpu-cluster, frissítse acpu-clusterértékét a számítási fürt nevére. Ha például a környezet nevemy-cluster, akkor az új értékazureml:my-clusterlesz. Öt frissítés van.
5. lépés: A GitHub Actions-munkafolyamat futtatása
A munkafolyamat hitelesíti az Azure-t, beállítja az Azure Machine Learning CLI-t, és a parancssori felület használatával betanít egy modellt az Azure Machine Learningben.
A munkafolyamat-fájl egy eseményindító szakaszból és feladatokból áll:
- Az eseményindító elindítja a munkafolyamatot a
onszakaszban. A munkafolyamat alapértelmezés szerint cron időzítés szerint fut, és amikor lekérési kérelem érkezik az egyező ágakból és útvonalakból. További információ a munkafolyamatokat kiváltó eseményekről. - A munkafolyamat “feladatok” szakaszában kódot tölthet le, és az OpenID Connect használatával jelentkezhet be az Azure-ba az Azure bejelentkezési művelettel.
- A feladatok szakasz tartalmaz egy beállítási műveletet is, amely telepíti és beállítja a Machine Learning CLI -t (v2).> A parancssori felület telepítése után a futtatási feladat az Azure Machine Learning-fájlt
pipeline.ymlfuttatja, hogy betanítsa a modellt NYC taxiadatokkal.
Munkafolyamat engedélyezése
Az elágazott adattárban nyissa meg
.github/workflows/cli-jobs-pipelines-nyc-taxi-pipeline.ymlés ellenőrizze, hogy a munkafolyamat ehhez hasonló-e.Megjegyzés
Az adattárban található munkafolyamat-fájl tartalmazhat olyan további lépéseket (például a rendszerindítást és az érvényesítést), amely nem jelenik meg itt. Az alábbi példa az alapvető lépéseket mutatja be.
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-taxiVálassza a Futtatások megtekintése lehetőséget.
A munkafolyamatok engedélyezéséhez válassza Értem a munkafolyamataimat, engedélyezze őket.
Válassza ki a cli-jobs-pipelines-nyc-taxi-pipeline munkafolyamatot , és válassza a Munkafolyamat engedélyezése lehetőséget.
Válassza a Munkafolyamat futtatása lehetőséget, majd válassza a Munkafolyamat futtatása most opciót.
6. lépés: A munkafolyamat futtatásának ellenőrzése
Nyissa meg a befejezett munkafolyamatot, és ellenőrizze, hogy a buildelési feladat sikeresen futott-e. Egy zöld pipa jelenik meg a feladat mellett.
Nyissa meg az Azure Machine Learning Studiót, és lépjen a nyc-taxi-pipeline-example webhelyre. Ellenőrizze, hogy a feladat egyes részei (előkészítés, átalakítás, tanítás, előrejelzés, kiértékelés) befejeződtek-e és látható-e egy zöld pipa.
Az erőforrások tisztítása
Ha már nincs szüksége az erőforráscsoportra és az adattárra, törölje az üzembe helyezett erőforrásokat az erőforráscsoport és a GitHub-adattár törlésével.