Menggunakan Tindakan GitHub dengan Azure Machine Learning

BERLAKU UNTUK:Ekstensi ml Azure CLI v2 (saat ini)Python SDK azure-ai-ml v2 (saat ini)

Mulai menggunakan Tindakan GitHub untuk melatih model di Azure Machine Learning.

Artikel ini akan mengajari Anda cara membuat alur kerja Tindakan GitHub yang membangun dan menyebarkan model pembelajaran mesin ke Azure Machine Learning. Anda akan melatih model regresi linier scikit-learn pada himpunan data Taksi NYC.

Tindakan GitHub menggunakan file YAML (.yml) alur kerja pada jalur /.github/workflows/ di repositori Anda. Definisi ini berisi berbagai langkah dan parameter yang membentuk alur kerja.

Prasyarat

Sebelum mengikuti langkah-langkah dalam artikel ini, pastikan Anda memiliki prasyarat berikut:

  • Akun GitHub. Jika Anda belum memilikinya, daftar gratis.

Langkah 1: Dapatkan kode

Fork repositori berikut pada GitHub:

https://github.com/azure/azureml-examples

Kloning repositori fork Anda secara lokal.

git clone https://github.com/YOUR-USERNAME/azureml-examples

Langkah 2: Mengautentikasi dengan Azure

Anda harus terlebih dahulu menentukan cara mengautentikasi dengan Azure. Anda dapat menggunakan perwakilan layanan atau OpenID Connect.

Membuat info masuk penyebaran

Buatlah perwakilan layanan dengan perintah az ad sp create-for-rbac di Azure CLI. Jalankan perintah ini dengan Azure Cloud Shell di portal Microsoft Azure atau dengan memilih tombol Coba.

az ad sp create-for-rbac --name "myML" --role contributor \
                            --scopes /subscriptions/<subscription-id>/resourceGroups/<group-name> \
                            --json-auth

Parameter --json-auth tersedia dalam versi >Azure CLI = 2.51.0. Versi sebelum penggunaan --sdk-auth ini dengan peringatan penghentian.

Pada contoh di atas, ganti tempat penampung dengan ID langganan, nama grup sumber daya, dan nama aplikasi Anda. Output adalah objek JSON dengan kredensial penetapan peran yang menyediakan akses ke App Service yang serupa di bawah ini. Salin objek JSON ini untuk nanti.

  {
    "clientId": "<GUID>",
    "clientSecret": "<GUID>",
    "subscriptionId": "<GUID>",
    "tenantId": "<GUID>",
    (...)
  }

Membuat rahasia

  1. Di GitHub, buka repositori Anda.

  2. Buka Pengaturan di menu navigasi.

  3. Pilih Tindakan Rahasia keamanan > dan variabel>.

    Cuplikan layar menambahkan rahasia

  4. Pilih Rahasia repositori baru.

  5. Tempelkan seluruh output JSON dari perintah CLI Azure ke bidang nilai rahasia. Namai rahasia sebagai AZURE_CREDENTIALS.

  6. Pilih Tambahkan rahasia.

Langkah 3: Perbarui setup.sh untuk menyambungkan ke ruang kerja Azure Pembelajaran Mesin Anda

Anda perlu memperbarui variabel file penyiapan CLI agar sesuai dengan ruang kerja Anda.

  1. Di repositori fork Anda, buka azureml-examples/cli/.

  2. Edit setup.sh dan perbarui variabel ini dalam file.

    Variabel Deskripsi
    GROUP Nama grup sumber daya
    LOKASI Lokasi ruang kerja Anda (misalnya: eastus2)
    RUANG KERJA Nama ruang kerja Azure Pembelajaran Mesin

Langkah 4: Perbarui pipeline.yml dengan nama kluster komputasi Anda

Anda akan menggunakan pipeline.yml file untuk menyebarkan alur Azure Pembelajaran Mesin Anda. Ini adalah alur pembelajaran mesin dan bukan alur DevOps. Anda hanya perlu membuat pembaruan ini jika Anda menggunakan nama selain cpu-cluster untuk nama kluster komputer Anda.

  1. Di repositori fork Anda, buka azureml-examples/cli/jobs/pipelines/nyc-taxi/pipeline.yml.
  2. Setiap kali Anda melihat compute: azureml:cpu-cluster, perbarui nilai cpu-cluster dengan nama kluster komputasi Anda. Misalnya, jika kluster Anda bernama my-cluster, nilai baru Anda akan menjadi azureml:my-cluster. Terdapat lima pembaruan.

Langkah 5: Jalankan alur kerja Tindakan GitHub Anda

Alur kerja Anda mengautentikasi dengan Azure, menyiapkan Azure Machine Learning CLI, dan menggunakan CLI untuk melatih model di Azure Machine Learning.

File alur kerja Anda terdiri dari bagian pemicu dan pekerjaan:

  • Pemicu memulai alur kerja di bagian on. Alur kerja berjalan secara default pada jadwal cron dan saat permintaan pull dibuat dari cabang dan jalur yang cocok. Pelajari selengkapnya tentang peristiwa yang memicu alur kerja.
  • Di bagian pekerjaan alur kerja, Anda memeriksa kode dan masuk ke Azure dengan rahasia perwakilan layanan Anda.
  • Bagian pekerjaan juga menyertakan tindakan penyiapan yang memasang dan menyiapkan CLI Pembelajaran Mesin (v2). Setelah CLI dipasang, tindakan jalankan pekerjaan menjalankan file pipeline.yml Azure Machine Learning Anda untuk melatih model dengan data taksi NYC.

Mengaktifkan alur kerja Anda

  1. Di repositori fork Anda, buka .github/workflows/cli-jobs-pipelines-nyc-taxi-pipeline.yml dan verifikasi bahwa alur kerja Anda terlihat seperti ini.

    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@v1
          with:
            creds: ${{secrets.AZURE_CREDENTIALS}}
        - 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-taxi
    
  2. Pilih Tampilkan eksekusi.

  3. Aktifkan alur kerja dengan memilih Saya memahami alur kerja saya, lanjutkan dan aktifkan.

  4. Pilih alur kerja cli-jobs-pipelines-nyc-taxi-pipeline dan pilih Aktifkan alur kerja. Cuplikan layar dari mengaktifkan alur kerja Tindakan GitHub.

  5. Pilih Jalankan alur kerja dan pilih opsi untuk Menjalankan alur kerja sekarang. Cuplikan layar dari menjalankan alur kerja Tindakan GitHub.

Langkah 6: Verifikasi eksekusi alur kerja Anda

  1. Buka eksekusi alur kerja yang telah selesai dan verifikasi bahwa pekerjaan build berhasil dijalankan. Anda akan melihat tanda centang hijau di samping pekerjaan.

  2. Buka studio Azure Machine Learning dan navigasikan ke nyc-taxi-pipeline-example. Verifikasi bahwa setiap bagian dari pekerjaan Anda (persiapan, transformasi, pelatihan, prediksi, skor) selesai dan Anda melihat tanda centang hijau.

    Cuplikan layar dari eksekusi Studio Azure Machine Learning yang berhasil.

Membersihkan sumber daya

Saat grup sumber daya Anda tidak lagi diperlukan, hapus sumber daya yang Anda sebarkan dengan menghapus grup sumber daya dan repositori GitHub Anda.

Langkah berikutnya