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:
Ruang kerja Azure Machine Learning. Jika Anda tidak memilikinya, gunakan langkah-langkah dalam artikel Mulai Cepat: Membuat sumber daya ruang kerja untuk membuatnya.
Untuk memasang SDK Python v2, gunakan perintah berikut:
pip install azure-ai-ml azure-identity
Untuk memperbarui penginstalan SDK yang ada ke versi terbaru, gunakan perintah berikut:
pip install --upgrade azure-ai-ml azure-identity
Untuk informasi selengkapnya, lihat Menginstal Python SDK v2 untuk Azure Pembelajaran Mesin.
- 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
Di GitHub, buka repositori Anda.
Buka Pengaturan di menu navigasi.
Pilih Tindakan Rahasia keamanan > dan variabel>.
Pilih Rahasia repositori baru.
Tempelkan seluruh output JSON dari perintah CLI Azure ke bidang nilai rahasia. Namai rahasia sebagai
AZURE_CREDENTIALS
.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.
Di repositori fork Anda, buka
azureml-examples/cli/
.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.
- Di repositori fork Anda, buka
azureml-examples/cli/jobs/pipelines/nyc-taxi/pipeline.yml
. - Setiap kali Anda melihat
compute: azureml:cpu-cluster
, perbarui nilaicpu-cluster
dengan 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 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
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
Pilih 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 akan 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.