Bagikan melalui


Berbagi data di seluruh ruang kerja dengan registri (pratinjau)

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. Berbagi data dengan registri saat ini adalah fitur pratinjau. 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 pekerjaan pelatihan model di ruang kerja.

Penting

Fitur ini masih dalam pratinjau umum. Versi pratinjau ini disediakan tanpa perjanjian tingkat layanan, dan tidak disarankan untuk beban kerja produksi. Fitur tertentu mungkin tidak didukung atau mungkin memiliki kemampuan terbatas.

Untuk mengetahui informasi selengkapnya, lihat Ketentuan Penggunaan Tambahan untuk Pratinjau Microsoft Azure.

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 menenangkan. 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 atau terlalu besar atau terlalu mahal untuk disalin. 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

Tip

Lihat skenario kanonis berikut saat memutuskan apakah Anda ingin menggunakan uri_file, , uri_folderatau mltable untuk skenario Anda.

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/menulis direktori file parket/CSV ke Pandas/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.

Tip

"Lokal" berarti penyimpanan lokal untuk komputer yang Anda gunakan. Misalnya, jika Anda menggunakan laptop, drive lokal. Jika instans komputasi Azure Pembelajaran Mesin, drive "lokal" instans komputasi.

Prasyarat

Sebelum mengikuti langkah-langkah dalam artikel ini, pastikan Anda memiliki prasyarat berikut:

  • Memahami registri azure Pembelajaran Mesin dan konsep Data di 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.

Klon contoh repositori

Contoh kode dalam artikel ini didasarkan pada nyc_taxi_data_regression sampel 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, ubah direktori menjadi cli/jobs/pipelines-with-components/nyc_taxi_data_regression di klon lokal repositori contoh Anda.

cd cli/jobs/pipelines-with-components/nyc_taxi_data_regression

Membuat koneksi SDK

Tip

Langkah ini hanya diperlukan saat menggunakan Python SDK.

Buat koneksi klien ke ruang kerja dan registri Azure Pembelajaran Mesin. Dalam contoh berikut, ganti <...> nilai tempat penampung dengan nilai yang sesuai 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.

Tip

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

Tip

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>

Tip

Jika Anda menggunakan nama atau versi data yang berbeda, ganti parameter dan --version yang --name 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.

Tip

Anda dapat menggunakan lingkungan dan komponen dari ruang kerja alih-alih menggunakan lingkungan 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 ke ruang kerja. Dalam contoh berikut, pekerjaan menggunakan komponen pelatihan Scikit Learn dan aset data yang dibuat di bagian sebelumnya untuk melatih model.

Catatan

Aspek utamanya adalah bahwa alur ini akan berjalan di ruang kerja menggunakan data pelatihan yang tidak berada di ruang kerja tertentu. 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 training_data bagian 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 akan 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 edit compute bidang di bawah jobs.train_job.compute dengan nama komputasi Anda.

Jalankan pekerjaan alur dengan az ml job create perintah .

az ml job create --file single-job-pipeline.yml 

Tip

Jika Anda belum mengonfigurasi ruang kerja default dan grup sumber daya seperti yang dijelaskan di bagian prasyarat, Anda harus 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 membuat 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, registri dapat digunakan di beberapa ruang kerja. Perhatikan bahwa kita meneruskan --share_with_name dan --share_with_version parameter dalam fungsi berbagi. Parameter ini bersifat opsional dan jika Anda tidak meneruskan data ini 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>

Langkah berikutnya