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.
Registri Azure Pembelajaran Mesin memungkinkan Anda berkolaborasi di seluruh ruang kerja dalam organisasi Anda. Dengan menggunakan registri, Anda dapat berbagi model, komponen, lingkungan, dan data. Dalam artikel ini, Anda akan mempelajari cara:
- Buat aset data di registri.
- Berbagi aset data yang ada dari ruang kerja ke registri
- Gunakan aset data dari registri sebagai input ke tugas pelatihan model di ruang kerja.
Skenario utama yang ditangani oleh berbagi data menggunakan registri Azure Pembelajaran Mesin
Anda mungkin ingin memiliki data yang dibagikan di beberapa tim, proyek, atau ruang kerja di lokasi pusat. Data tersebut tidak memiliki kontrol akses sensitif dan dapat digunakan secara luas dalam organisasi.
Contohnya meliputi:
- Tim ingin berbagi himpunan data publik yang telah diprosces dan siap digunakan dalam eksperimen.
- Organisasi Anda telah memperoleh himpunan data tertentu untuk proyek dari vendor eksternal dan ingin membuatnya tersedia untuk semua tim yang mengerjakan proyek.
- Tim ingin berbagi aset data di seluruh ruang kerja di berbagai wilayah.
Dalam skenario ini, Anda dapat membuat aset data di registri atau berbagi aset data yang ada dari ruang kerja ke registri. Aset data ini kemudian dapat digunakan di beberapa ruang kerja.
Skenario TIDAK ditangani oleh berbagi data menggunakan registri Azure Pembelajaran Mesin
Berbagi data sensitif yang memerlukan kontrol akses terperinci. Anda tidak dapat membuat aset data di registri untuk dibagikan dengan sebagian kecil pengguna/ruang kerja saat registri dapat diakses oleh banyak pengguna lain di organisasi.
Berbagi data yang tersedia di penyimpanan yang ada, yang tidak boleh disalin karena ukurannya terlalu besar atau biayanya terlalu mahal. Setiap kali aset data dibuat dalam registri, salinan data diserap ke dalam penyimpanan registri sehingga dapat direplikasi.
Jenis aset data yang didukung oleh registri Azure Pembelajaran Mesin
Petunjuk
Lihat skenario kanonis berikut
Anda dapat membuat tiga jenis aset data:
Jenis | V2 API | Skenario kanonis |
---|---|---|
File: Mereferensikan satu file | uri_file |
Baca/tulis satu file - file dapat memiliki format apa pun. |
Folder: Mereferensikan satu folder | uri_folder |
Anda harus membaca atau menulis direktori file parquet atau CSV ke dalam Pandas atau Spark. Pembelajaran mendalam dengan file gambar, teks, audio, video yang terletak di direktori. |
Tabel: Mereferensikan tabel data | mltable |
Anda memiliki skema kompleks yang sering mengalami perubahan, atau Anda memerlukan subset data tabular besar. |
Jalur yang didukung oleh registri Azure Pembelajaran Mesin
Saat membuat aset data, Anda harus menentukan parameter jalur yang menunjuk ke lokasi data. Saat ini, satu-satunya jalur yang didukung adalah ke lokasi di komputer lokal Anda.
Petunjuk
"Lokal" berarti penyimpanan lokal untuk komputer yang Anda gunakan. Misalnya, jika Anda menggunakan laptop, disk lokal. Jika Anda menggunakan instans komputasi Azure Machine Learning, Anda akan menggunakan drive "lokal" dari instans komputasi tersebut.
Prasyarat
Sebelum mengikuti langkah-langkah dalam artikel ini, pastikan Anda memiliki prasyarat berikut:
Memahami registri Azure Pembelajaran Mesin dan Konsep Data dalam Azure Pembelajaran Mesin.
Registri Azure Pembelajaran Mesin untuk berbagi data. Untuk membuat registri, lihat Mempelajari cara membuat registri.
Ruang kerja Azure Machine Learning. Jika Anda tidak memilikinya, gunakan langkah-langkah dalam artikel Mulai Cepat: Membuat sumber daya ruang kerja untuk membuatnya.
Penting
Wilayah Azure (lokasi) tempat Anda membuat ruang kerja harus berada dalam daftar wilayah yang didukung untuk registri Azure Pembelajaran Mesin.
Lingkungan dan komponen yang dibuat dari artikel Cara berbagi model, komponen, dan lingkungan.
Azure CLI dan
ml
ekstensi atau Azure Pembelajaran Mesin Python SDK v2:Untuk menginstal Azure CLI dan ekstensi, lihat Menginstal, menyiapkan, dan menggunakan CLI (v2).
Penting
Contoh CLI dalam artikel ini mengasumsikan bahwa Anda menggunakan shell Bash (atau kompatibel). Misalnya, dari sistem Linux atau Subsistem Windows untuk Linux.
Contohnya juga mengasumsikan bahwa Anda telah mengonfigurasi default untuk Azure CLI sehingga Anda tidak perlu menentukan parameter untuk langganan, ruang kerja, grup sumber daya, atau lokasi Anda. Untuk mengatur pengaturan default, gunakan perintah berikut. Ganti parameter berikut dengan nilai untuk konfigurasi Anda:
- Ganti
<subscription>
dengan ID langganan Azure Anda. - Ganti
<workspace>
dengan nama ruang kerja Azure Machine Learning Anda. - Ganti
<resource-group>
dengan grup sumber daya Azure yang berisi ruang kerja Anda. - Ganti
<location>
dengan wilayah Azure yang berisi ruang kerja Anda.
az account set --subscription <subscription> az configure --defaults workspace=<workspace> group=<resource-group> location=<location>
Anda dapat melihat default saat ini dengan menggunakan perintah
az configure -l
.- Ganti
Klon contoh repositori
Contoh kode dalam artikel ini didasarkan pada nyc_taxi_data_regression
contoh di dalam repositori contoh. Untuk menggunakan file-file ini di lingkungan pengembangan Anda, gunakan perintah berikut untuk mengkloning repositori dan mengubah direktori ke contoh:
git clone https://github.com/Azure/azureml-examples
cd azureml-examples
Untuk contoh CLI, gantikan direktori ke cli/jobs/pipelines-with-components/nyc_taxi_data_regression
di klon repositori contoh di komputer lokal Anda.
cd cli/jobs/pipelines-with-components/nyc_taxi_data_regression
Membuat koneksi SDK
Petunjuk
Langkah ini hanya diperlukan saat menggunakan Python SDK.
Buat koneksi klien ke ruang kerja dan registri Azure Pembelajaran Mesin. Dalam contoh berikut, ganti placeholder <...>
dengan nilai yang tepat untuk konfigurasi Anda. Misalnya, ID langganan Azure, nama ruang kerja, nama registri, dll.:
ml_client_workspace = MLClient( credential=credential,
subscription_id = "<workspace-subscription>",
resource_group_name = "<workspace-resource-group",
workspace_name = "<workspace-name>")
print(ml_client_workspace)
ml_client_registry = MLClient(credential=credential,
registry_name="<REGISTRY_NAME>",
registry_location="<REGISTRY_REGION>")
print(ml_client_registry)
Membuat data dalam registri
Aset data yang dibuat dalam langkah ini digunakan nanti dalam artikel ini saat mengirimkan pekerjaan pelatihan.
Petunjuk
Perintah az ml data create
CLI yang sama dapat digunakan untuk membuat data di ruang kerja atau registri. Menjalankan perintah dengan --workspace-name
perintah membuat data di ruang kerja sedangkan menjalankan perintah dengan --registry-name
membuat data di registri.
Sumber data terletak di repositori contoh yang Anda kloning sebelumnya. Di bawah klon lokal, buka jalur direktori berikut: cli/jobs/pipelines-with-components/nyc_taxi_data_regression
. Dalam direktori ini, buat file YAML bernama data-registry.yml
dan gunakan YAML berikut sebagai konten file:
$schema: https://azuremlschemas.azureedge.net/latest/data.schema.json
name: transformed-nyc-taxt-data
description: Transformed NYC Taxi data created from local folder.
version: 1
type: uri_folder
path: data_transformed/
Nilai path
menunjuk ke data_transformed
subdirektori, yang berisi data yang dibagikan menggunakan registri.
Untuk membuat data di registri, gunakan az ml data create
. Dalam contoh berikut, ganti <registry-name>
dengan nama registri Anda.
az ml data create --file data-registry.yml --registry-name <registry-name>
Jika Anda mendapatkan kesalahan bahwa data dengan nama dan versi ini sudah ada di registri, Anda dapat mengedit version
bidang di data-registry.yml
atau menentukan versi yang berbeda pada CLI yang mengambil alih nilai versi di data-registry.yml
.
# use shell epoch time as the version
version=$(date +%s)
az ml data create --file data-registry.yml --registry-name <registry-name> --set version=$version
Petunjuk
version=$(date +%s)
Jika perintah tidak mengatur $version
variabel di lingkungan Anda, ganti $version
dengan angka acak.
name
Simpan dan version
data dari output az ml data create
perintah dan gunakan dengan az ml data show
perintah untuk melihat detail aset.
az ml data show --name transformed-nyc-taxt-data --version 1 --registry-name <registry-name>
Petunjuk
Jika Anda menggunakan nama atau versi data yang berbeda, ganti parameter --name
dan --version
sesuai.
Anda juga dapat menggunakan az ml data list --registry-name <registry-name>
untuk mencantumkan semua aset data di registri.
Membuat lingkungan dan komponen dalam registri
Untuk membuat lingkungan dan komponen dalam registri, gunakan langkah-langkah dalam artikel Cara berbagi model, komponen, dan lingkungan . Lingkungan dan komponen digunakan dalam pekerjaan pelatihan di bagian berikutnya.
Petunjuk
Anda dapat menggunakan lingkungan dan komponen dari ruang kerja alih-alih menggunakan lingkungan dan komponen dari registri.
Menjalankan pekerjaan alur di ruang kerja menggunakan komponen dari registri
Saat menjalankan pekerjaan alur yang menggunakan komponen dan data dari registri, sumber daya komputasi bersifat lokal di ruang kerja. Dalam contoh berikut, pekerjaan menggunakan komponen pelatihan Scikit Learn dan aset data yang dibuat di bagian sebelumnya untuk melatih model.
Catatan
Aspek kuncinya adalah bahwa alur ini akan berjalan di ruang kerja menggunakan data pelatihan yang tidak terdapat di ruang kerja tersebut. Data berada dalam registri yang dapat digunakan dengan ruang kerja apa pun di organisasi Anda. Anda dapat menjalankan pekerjaan pelatihan ini di ruang kerja mana pun yang dapat Anda akses tanpa khawatir membuat data pelatihan tersedia di ruang kerja tersebut.
Verifikasi bahwa Anda berada di cli/jobs/pipelines-with-components/nyc_taxi_data_regression
direktori. Edit bagian component
di bawah bagian train_job
single-job-pipeline.yml
file untuk merujuk ke komponen pelatihan dan path
di bawah bagian training_data
untuk merujuk ke aset data yang dibuat di bagian sebelumnya. Contoh berikut menunjukkan seperti apa single-job-pipeline.yml
tampilannya setelah pengeditan.
<registry_name>
Ganti dengan nama untuk registri Anda:
$schema: https://azuremlschemas.azureedge.net/latest/pipelineJob.schema.json
type: pipeline
display_name: nyc_taxi_data_regression_single_job
description: Single job pipeline to train regression model based on nyc taxi dataset
jobs:
train_job:
type: command
component: azureml://registries/<registry-name>/component/train_linear_regression_model/versions/1
compute: azureml:cpu-cluster
inputs:
training_data:
type: uri_folder
path: azureml://registries/<registry-name>/data/transformed-nyc-taxt-data/versions/1
outputs:
model_output:
type: mlflow_model
test_data:
Peringatan
- Sebelum menjalankan pekerjaan alur, konfirmasikan bahwa ruang kerja tempat Anda menjalankan pekerjaan berada di wilayah Azure yang didukung oleh registri tempat Anda membuat data.
- Konfirmasikan bahwa ruang kerja memiliki kluster komputasi dengan nama
cpu-cluster
atau editcompute
bidang di bawahjobs.train_job.compute
dengan nama komputasi Anda.
Jalankan tugas pipeline dengan perintah az ml job create
.
az ml job create --file single-job-pipeline.yml
Petunjuk
Jika Anda belum mengonfigurasi ruang kerja default dan grup sumber daya seperti yang dijelaskan di bagian prasyarat, Anda perlu menentukan --workspace-name
parameter dan --resource-group
agar az ml job create
berfungsi.
Untuk informasi selengkapnya tentang menjalankan pekerjaan, lihat artikel berikut ini:
Berbagi data dari ruang kerja ke registri
Langkah-langkah berikut menunjukkan cara berbagi aset data yang ada dari ruang kerja ke registri.
Pertama, buat aset data di ruang kerja. Pastikan Anda berada di cli/assets/data
direktori. Yang local-folder.yml
terletak di direktori ini digunakan untuk menciptakan aset data di ruang kerja. Data yang ditentukan dalam file ini tersedia di cli/assets/data/sample-data
direktori. YAML berikut adalah konten local-folder.yml
file:
$schema: https://azuremlschemas.azureedge.net/latest/data.schema.json
name: local-folder-example-titanic
description: Dataset created from local folder.
type: uri_folder
path: sample-data/
Untuk membuat aset data di ruang kerja, gunakan perintah berikut:
az ml data create -f local-folder.yml
Untuk informasi selengkapnya tentang membuat aset data di ruang kerja, lihat Cara membuat aset data.
Aset data yang dibuat di ruang kerja dapat dibagikan ke registri. Dari registri, itu dapat digunakan di beberapa ruang kerja. Kami meneruskan parameter --share_with_name
dan --share_with_version
dalam fungsi berbagi. Parameter ini bersifat opsional, dan jika Anda tidak meneruskan data ini, data akan dibagikan dengan nama dan versi yang sama seperti di ruang kerja.
Contoh berikut menunjukkan menggunakan perintah berbagi untuk berbagi aset data. Ganti <registry-name>
dengan nama registri tempat data akan dibagikan.
az ml data share --name local-folder-example-titanic --version <version-in-workspace> --share-with-name <name-in-registry> --share-with-version <version-in-registry> --registry-name <registry-name>