Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
BERLAKU UNTUK:
Ekstensi Azure CLI ml v2 (saat ini)
Python SDK azure-ai-ml v2 (saat ini)
Mulai menggunakan Tindakan GitHub untuk melatih model di Azure Machine Learning.
Artikel ini mengajarkan anda cara membuat alur kerja GitHub Actions yang membangun dan menyebarkan model pembelajaran mesin ke Azure Pembelajaran Mesin. Anda melatih model regresi linier scikit-learn pada himpunan data Taksi NYC.
GitHub Actions menggunakan file YAML alur kerja (.yml) di path /.github/workflows/ dalam repositori Anda. Definisi ini berisi berbagai langkah dan parameter yang membentuk alur kerja.
Prasyarat
Ruang kerja Azure Machine Learning. Untuk langkah-langkah membuat ruang kerja, lihat Membuat ruang kerja.
Azure Machine Learning SDK untuk Python v2. Untuk menginstal SDK, gunakan perintah berikut:
pip install azure-ai-ml azure-identityUntuk memperbarui penginstalan SDK yang ada ke versi terbaru, gunakan perintah berikut:
pip install --upgrade azure-ai-ml azure-identityUntuk informasi lebih lanjut, lihat Azure Machine Learning Package client library for Python.
- Akun GitHub. Jika Anda tidak memilikinya, buat akun 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
Pertama, tentukan cara mengautentikasi dengan Azure. Opsi yang direkomendasikan dan lebih aman adalah masuk dengan menggunakan OpenID Connect dengan aplikasi Microsoft Entra atau identitas terkelola yang ditetapkan pengguna. Jika perlu, Anda juga dapat menggunakan login dengan menggunakan prinsipal layanan dan kunci rahasia. Pendekatan ini kurang aman dan tidak disarankan.
Membuat kredensial penyebaran
Untuk menggunakan tindakan Azure Login dengan OIDC, Anda perlu mengonfigurasi kredensial identitas gabungan pada aplikasi Microsoft Entra atau identitas terkelola yang ditetapkan pengguna.
Opsi 1: Aplikasi Microsoft Entra
- Buat aplikasi Microsoft Entra dengan perwakilan layanan melalui portal Azure, Azure CLI, atau Azure PowerShell.
- Salin nilai untuk ID Klien, ID Langganan, dan ID Direktori (penyewa) untuk digunakan nanti di alur kerja GitHub Actions Anda.
- Tetapkan peran yang sesuai untuk perwakilan layanan Anda dengan portal Azure, Azure CLI, atau Azure PowerShell.
- Konfigurasikan kredensial identitas gabungan pada aplikasi Microsoft Entra untuk mempercayai token yang dikeluarkan oleh GitHub Actions ke repositori GitHub Anda.
Opsi 2: Identitas terkelola yang ditetapkan pengguna
- Buat identitas terkelola yang dikelola pengguna.
- Salin nilai untuk ID Klien, ID Langganan, dan ID Direktori (penyewa) untuk digunakan nanti di alur kerja GitHub Actions Anda.
- Tetapkan peran yang sesuai untuk identitas terkelola yang ditetapkan pengguna Anda.
- Konfigurasikan kredensial identitas federasi pada identitas terkelola yang ditetapkan pengguna untuk menerima token yang dikeluarkan oleh GitHub Actions agar dapat dipercaya oleh repositori GitHub Anda.
Membuat rahasia
Anda perlu memberikan ID Klien, ID Direktori (penyewa), dan ID Langganan aplikasi Anda ke tindakan login. Nilai ini bisa disediakan secara langsung di alur kerja atau bisa disimpan di rahasia GitHub dan direferensikan dalam alur kerja Anda. Menyimpan nilai sebagai GitHub rahasia adalah opsi yang lebih aman.
Di GitHub, buka repositori Anda.
Pilih Keamanan > Tindakan untuk rahasia dan variabel>.
Pilih Rahasia repositori baru.
Catatan
Untuk meningkatkan keamanan alur kerja di repositori publik, gunakan rahasia lingkungan alih-alih rahasia repositori. Jika lingkungan memerlukan persetujuan, pekerjaan tidak dapat mengakses rahasia lingkungan hingga salah satu peninjau yang diperlukan menyetujuinya.
Membuat rahasia untuk
AZURE_CLIENT_ID,AZURE_TENANT_ID, danAZURE_SUBSCRIPTION_ID. Salin nilai-nilai ini dari aplikasi Microsoft Entra atau identitas terkelola yang ditetapkan pengguna untuk rahasia GitHub Anda:Rahasia GitHub Aplikasi Microsoft Entra atau identitas terkelola yang ditetapkan pengguna AZURE_CLIENT_ID ID klien AZURE_SUBSCRIPTION_ID (ID Langganan Azure) ID Langganan AZURE_TENANT_ID (ID Penyewa Azure) ID Direktori (tenant) Catatan
Untuk alasan keamanan, sebaiknya gunakan Rahasia GitHub daripada meneruskan nilai langsung ke alur kerja.
Langkah 3: Perbarui setup.sh untuk menyambungkan ke ruang kerja Azure Pembelajaran Mesin Anda
Perbarui variabel file penyiapan CLI agar sesuai dengan ruang kerja Anda.
Di repositori fork Anda, buka
azureml-examples/cli/.Edit
setup.shdan perbarui variabel ini dalam file.Variabel Deskripsi GROUPNama grup sumber daya LOCATIONLokasi ruang kerja Anda (misalnya: eastus2)WORKSPACENama ruang kerja Azure Machine Learning
Langkah 4: Perbarui pipeline.yml dengan nama kluster komputasi Anda
Gunakan file pipeline.yml untuk menerapkan alur Azure Machine Learning Anda. Alur adalah alur pembelajaran mesin dan bukan alur DevOps. Anda hanya perlu membuat pembaruan ini jika Anda menggunakan nama selain cpu-cluster untuk nama kluster komputasi Anda.
- Di repositori fork Anda, buka
azureml-examples/cli/jobs/pipelines/nyc-taxi/pipeline.yml. - Setiap kali Anda melihat
compute: azureml:cpu-cluster, perbarui nilaicpu-clusterdengan nama kluster komputasi Anda. Misalnya, jika kluster Anda bernamamy-cluster, nilai baru Anda akan menjadiazureml: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:
- Alur kerja dimulai oleh pemicu di bagian
on. Alur kerja dijalankan secara otomatis pada sistem penjadwalan berbasis waktu (cron schedule) dan saat permintaan pull dibuat dari cabang dan jalur yang sesuai. Pelajari selengkapnya tentang peristiwa yang memicu alur kerja. - Di bagian pekerjaan dalam alur kerja, Anda memeriksa kode dan masuk ke Azure dengan tindakan masuk Azure menggunakan OpenID Connect.
- Bagian tugas juga menyertakan tindakan penyiapan yang memasang dan menyiapkan CLI Pembelajaran Mesin (v2). Setelah CLI dipasang, perintah menjalankan pekerjaan akan menjalankan file Azure Machine Learning Anda untuk melatih model dengan data taksi NYC.
Mengaktifkan alur kerja Anda
Di repositori fork Anda, buka
.github/workflows/cli-jobs-pipelines-nyc-taxi-pipeline.ymldan verifikasi bahwa alur kerja Anda terlihat mirip dengan ini.Catatan
File alur kerja dalam repositori dapat mencakup langkah-langkah tambahan (seperti bootstrapping dan validasi) yang tidak ditampilkan di sini. Contoh berikut menunjukkan langkah-langkah inti.
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-taxiPilih Tampilkan eksekusi.
Aktifkan alur kerja dengan memilih Saya memahami alur kerja saya, lanjutkan dan aktifkan.
Pilih alur kerja cli-jobs-pipelines-nyc-taxi-pipeline dan pilih Aktifkan alur kerja.
Pilih Jalankan alur kerja dan pilih opsi untuk Menjalankan alur kerja sekarang.
Langkah 6: Verifikasi pelaksanaan alur kerja Anda
Buka eksekusi alur kerja yang telah selesai dan verifikasi bahwa pekerjaan build berhasil dijalankan. Anda melihat tanda centang hijau di samping pekerjaan.
Buka studio Azure Machine Learning dan buka nyc-taxi-pipeline-example. Verifikasi bahwa setiap bagian dari pekerjaan Anda (persiapan, transformasi, pelatihan, prediksi, skor) selesai dan Anda melihat tanda centang hijau.
Membersihkan sumber daya
Saat Anda tidak lagi memerlukan grup sumber daya dan repositori, bersihkan sumber daya yang Anda sebarkan dengan menghapus grup sumber daya dan repositori GitHub Anda.