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 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 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 /.github/workflows/ jalur di 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 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. Opsi yang direkomendasikan dan lebih aman adalah masuk dengan OpenID Connect menggunakan aplikasi Microsoft Entra atau identitas terkelola yang ditetapkan pengguna. Jika perlu, Anda juga dapat menggunakan masuk dengan perwakilan layanan dan rahasia. Pendekatan ini kurang aman dan tidak disarankan.
Membuat info masuk 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 berdasarkan 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 ditetapkan 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 ke identitas terkelola yang ditetapkan pengguna Anda.
- Konfigurasikan kredensial identitas gabungan pada identitas terkelola yang ditetapkan pengguna untuk mempercayai token yang dikeluarkan oleh GitHub Actions ke repositori GitHub Anda.
Membuat rahasia
Anda perlu memberikan ID Klien, ID Direktori (penyewa) aplikasi Anda, dan ID Langganan ke tindakan masuk. 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 > Rahasia keamanan > 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 (tenant) direktori 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
Anda perlu memperbarui 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 KELOMPOK Nama grup sumber daya TEMPAT 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 menggunakan pipeline.yml file untuk menyebarkan alur Azure Pembelajaran Mesin 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 komputer 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:
- 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 tindakan masuk Azure menggunakan OpenID Connect.
- Bagian pekerjaan juga menyertakan tindakan penyiapan yang memasang dan menyiapkan CLI Pembelajaran Mesin (v2). Setelah CLI dipasang, tindakan jalankan pekerjaan menjalankan file
pipeline.ymlAzure 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 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@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 eksekusi 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 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.
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.