Cara menyebarkan alur dengan titik akhir batch
BERLAKU UNTUK:Ekstensi ml Azure CLI v2 (saat ini)Python SDK azure-ai-ml v2 (saat ini)
Anda dapat menyebarkan komponen alur di bawah titik akhir batch, menyediakan cara mudah untuk mengoprasikannya di Azure Pembelajaran Mesin. Dalam artikel ini, Anda akan mempelajari cara membuat penyebaran batch yang berisi alur sederhana. Anda akan belajar untuk:
- Membuat dan mendaftarkan komponen alur
- Membuat titik akhir batch dan menyebarkan komponen alur
- Menguji penyebarannya
Tentang contoh ini
Dalam contoh ini, kita akan menyebarkan komponen alur yang terdiri dari pekerjaan perintah sederhana yang mencetak "halo dunia!". Komponen ini tidak memerlukan input atau output dan merupakan skenario penyebaran alur paling sederhana.
Contoh dalam artikel ini didasarkan pada sampel kode yang terkandung dalam repositori azureml-examples . Untuk menjalankan perintah secara lokal tanpa harus menyalin/menempelkan YAML dan file lainnya, pertama-tama kloning repositori lalu ubah direktori ke folder:
git clone https://github.com/Azure/azureml-examples --depth 1
cd azureml-examples/cli
File untuk contoh ini ada di:
cd endpoints/batch/deploy-pipelines/hello-batch
Ikuti di buku catatan Jupyter
Anda dapat mengikuti versi Python SDK dari contoh ini dengan membuka notebook sdk-deploy-and-test.ipynb di repositori kloning.
Prasyarat
Langganan Azure. Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum Anda memulai. Coba versi gratis atau berbayar Azure Machine Learning.
Ruang kerja Azure Machine Learning. Untuk membuat ruang kerja, lihat Mengelola ruang kerja Azure Pembelajaran Mesin.
Pastikan Anda memiliki izin berikut di ruang kerja Pembelajaran Mesin:
- Membuat atau mengelola titik akhir dan penyebaran batch: Gunakan peran Pemilik, Kontributor, atau Kustom yang memungkinkan
Microsoft.MachineLearningServices/workspaces/batchEndpoints/*
. - Membuat penyebaran Azure Resource Manager di grup sumber daya ruang kerja: Gunakan peran Pemilik, Kontributor, atau Kustom yang memungkinkan
Microsoft.Resources/deployments/write
dalam grup sumber daya tempat ruang kerja disebarkan.
- Membuat atau mengelola titik akhir dan penyebaran batch: Gunakan peran Pemilik, Kontributor, atau Kustom yang memungkinkan
Instal perangkat lunak berikut untuk bekerja dengan Pembelajaran Mesin:
Jalankan perintah berikut untuk menginstal Azure CLI dan
ml
ekstensi untuk Azure Pembelajaran Mesin:az extension add -n ml
Penyebaran komponen alur untuk Titik Akhir Batch diperkenalkan dalam versi 2.7
ml
ekstensi untuk Azure CLI.az extension update --name ml
Gunakan perintah untuk mendapatkan versi terbaru.
Menyambungkan ke ruang kerja Anda
Ruang kerja adalah sumber daya tingkat atas untuk Pembelajaran Mesin. Ini menyediakan tempat terpusat untuk bekerja dengan semua artefak yang Anda buat saat Anda menggunakan Pembelajaran Mesin. Di bagian ini, Anda menyambungkan ke ruang kerja tempat Anda melakukan tugas penyebaran.
Dalam perintah berikut, masukkan nilai untuk ID langganan, ruang kerja, lokasi, dan grup sumber daya Anda:
az account set --subscription <subscription>
az configure --defaults workspace=<workspace> group=<resource-group> location=<location>
Membuat komponen alur
Titik akhir batch dapat menyebarkan model atau komponen alur. Komponen alur dapat digunakan kembali, dan Anda dapat menyederhanakan praktik MLOps Anda dengan menggunakan registri bersama untuk memindahkan komponen ini dari satu ruang kerja ke ruang kerja lainnya.
Komponen alur dalam contoh ini berisi satu langkah tunggal yang hanya mencetak pesan "halo dunia" dalam log. Ini tidak memerlukan input atau output apa pun.
File hello-component/hello.yml
berisi konfigurasi untuk komponen alur:
hello-component/hello.yml
$schema: https://azuremlschemas.azureedge.net/latest/pipelineComponent.schema.json
name: hello_batch
display_name: Hello Batch component
version: 1
type: pipeline
jobs:
main_job:
type: command
component:
code: src
environment: azureml://registries/azureml/environments/sklearn-1.5/labels/latest
command: >-
python hello.py
Daftarkan komponen:
Membuat titik akhir batch
Berikan nama untuk titik akhir. Nama titik akhir batch harus unik di setiap wilayah karena namanya digunakan untuk membangun URI pemanggilan. Untuk memastikan keunikan, tambahkan karakter berikutnya ke nama yang ditentukan dalam kode berikut.
Konfigurasikan titik akhir:
Buat titik akhir:
Kueri URI titik akhir:
Menyebarkan komponen alur
Untuk menyebarkan komponen alur, kita harus membuat penyebaran batch. Penyebaran adalah sekumpulan sumber daya yang diperlukan untuk menghosting aset yang melakukan pekerjaan aktual.
Buat kluster komputasi. Titik akhir dan penyebaran batch berjalan pada kluster komputasi. Mereka dapat berjalan pada kluster komputasi Azure Pembelajaran Mesin apa pun yang sudah ada di ruang kerja. Oleh karena itu, beberapa penyebaran batch dapat berbagi infrastruktur komputasi yang sama. Dalam contoh ini, kita akan mengerjakan kluster komputasi Azure Pembelajaran Mesin yang disebut
batch-cluster
. Mari kita verifikasi bahwa komputasi ada di ruang kerja atau membuatnya sebaliknya.Konfigurasikan penyebaran:
File
deployment.yml
berisi konfigurasi penyebaran. Anda dapat memeriksa skema YAML titik akhir batch lengkap untuk properti tambahan.deployment.yml
$schema: https://azuremlschemas.azureedge.net/latest/pipelineComponentBatchDeployment.schema.json name: hello-batch-dpl endpoint_name: hello-pipeline-batch type: pipeline component: azureml:hello_batch@latest settings: default_compute: batch-cluster
Buat penyebaran:
Jalankan kode berikut untuk membuat penyebaran batch di bawah titik akhir batch dan atur sebagai penyebaran default.
az ml batch-deployment create --endpoint $ENDPOINT_NAME -f deployment.yml --set-default
Tip
Perhatikan penggunaan
--set-default
bendera untuk menunjukkan bahwa penyebaran baru ini sekarang menjadi default.Penyebaran Anda siap digunakan.
Menguji penyebarannya
Setelah penyebaran dibuat, penyebaran siap untuk menerima pekerjaan. Anda dapat memanggil penyebaran default sebagai berikut:
Tip
Dalam contoh ini, alur tidak memiliki input atau output. Namun, jika komponen alur memerlukan beberapa, komponen tersebut dapat ditunjukkan pada waktu pemanggilan. Untuk mempelajari tentang cara menunjukkan input dan output, lihat Membuat pekerjaan dan memasukkan data untuk titik akhir batch atau lihat tutorial Cara menyebarkan alur untuk melakukan penilaian batch dengan praproscessing (pratinjau).
Anda dapat memantau kemajuan acara dan mengalirkan log menggunakan:
Membersihkan sumber daya
Setelah selesai, hapus sumber daya terkait dari ruang kerja:
Jalankan kode berikut untuk menghapus titik akhir batch dan penyebaran yang mendasarinya. --yes
digunakan untuk mengonfirmasi penghapusan.
az ml batch-endpoint delete -n $ENDPOINT_NAME --yes
(Opsional) Hapus komputasi, kecuali Anda berencana untuk menggunakan kembali kluster komputasi Anda dengan penyebaran nanti.