Bagikan melalui


Cara kerja Azure Pembelajaran Mesin: sumber daya dan aset

BERLAKU UNTUK:Ekstensi ml Azure CLI v2 (saat ini)Python SDK azure-ai-ml v2 (saat ini)

Artikel ini berlaku untuk versi kedua Azure Pembelajaran Mesin CLI & Python SDK (v2). Untuk versi satu (v1), lihat Cara kerja Azure Machine Learning: Arsitektur dan konsep (v1)

Azure Machine Learning mencakup beberapa sumber daya dan aset untuk memungkinkan Anda melakukan tugas pembelajaran mesin Anda. Sumber daya dan aset ini diperlukan untuk menjalankan pekerjaan apa pun.

  • Sumber daya: penyiapan atau sumber daya infrastruktur yang diperlukan untuk menjalankan alur kerja pembelajaran mesin. Sumber daya meliputi:
  • Aset: dibuat menggunakan perintah Azure Pembelajaran Mesin atau sebagai bagian dari pelatihan/penilaian yang dijalankan. Aset diberi versi dan dapat didaftarkan di ruang kerja Azure Pembelajaran Mesin. Mereka meliputi:

Dokumen ini memberikan gambaran singkat tentang sumber daya dan aset ini.

Prasyarat

Untuk menggunakan contoh kode Python SDK dalam artikel ini:

  1. Menginstal Python SDK v2

  2. Buat koneksi ke langganan Azure Pembelajaran Mesin Anda. Contoh semua mengandalkan ml_client. Untuk membuat ruang kerja, koneksi tidak memerlukan nama ruang kerja, karena Anda mungkin belum memilikinya. Semua contoh lain dalam artikel ini mengharuskan nama ruang kerja disertakan dalam koneksi.

    # import required libraries
    from azure.ai.ml import MLClient
    from azure.ai.ml.entities import Workspace
    from azure.identity import DefaultAzureCredential
    
    # Enter details of your subscription
    subscription_id = "<SUBSCRIPTION_ID>"
    resource_group = "<RESOURCE_GROUP>"
    
    # get a handle to the subscription (use this if you haven't created a workspace yet)
    ml_client = MLClient(DefaultAzureCredential(), subscription_id, resource_group)
    
    # all other examples in this article require the connection to include workspace name
    workspace_name = "<WORKSPACE_NAME>"
    ml_client = ml_client = MLClient(DefaultAzureCredential(), subscription_id, resource_group, workspace_name)
    

Ruang kerja

Ruang kerja adalah sumber daya tingkat teratas untuk Azure Machine Learning, menyediakan tempat terpusat untuk bekerja dengan semua artefak yang Anda buat saat Anda menggunakan Azure Machine Learning. Ruang kerja menyimpan riwayat semua pekerjaan, termasuk log, metrik, output, dan snapshot skrip Anda. Ruang kerja menyimpan referensi ke sumber daya seperti penyimpanan data dan komputasi. Ini juga menampung semua aset seperti model, lingkungan, komponen, dan aset data.

Membuat ruang kerja

Untuk membuat ruang kerja menggunakan Python SDK v2, Anda dapat menggunakan kode berikut:

BERLAKU UNTUK: Python SDK azure-ai-ml v2 (saat ini)

# specify the workspace details
ws = Workspace(
    name="my_workspace",
    location="eastus",
    display_name="My workspace",
    description="This example shows how to create a workspace",
    tags=dict(purpose="demo"),
)

ml_client.workspaces.begin_create(ws) # use MLClient to connect to the subscription and resource group and create workspace

Notebook Jupyter ini memperlihatkan lebih banyak cara untuk membuat ruang kerja Azure Pembelajaran Mesin menggunakan SDK v2.

Untuk informasi selengkapnya tentang membuat ruang kerja, lihat Mengelola ruang kerja Azure Pembelajaran Mesin di portal atau dengan Python SDK (v2).

Compute

Komputasi adalah sumber daya komputasi yang ditunjuk tempat Anda menjalankan pekerjaan atau menghosting titik akhir Anda. Azure Pembelajaran Mesin mendukung jenis komputasi berikut:

  • Instans komputasi - lingkungan pengembangan yang terkonfigurasi dan terkelola sepenuhnya di cloud. Anda dapat menggunakan instans sebagai pelatihan atau komputasi inferensi untuk pengembangan dan pengujian. Ini mirip dengan mesin virtual di cloud.
  • Kluster komputasi - infrastruktur komputasi terkelola yang memungkinkan Anda membuat kluster node komputasi CPU atau GPU dengan mudah di cloud.
  • Komputasi tanpa server - kluster komputasi yang Anda akses dengan cepat. Saat Anda menggunakan komputasi tanpa server, Anda tidak perlu membuat kluster Anda sendiri. Semua manajemen siklus hidup komputasi dilepaskan ke Azure Pembelajaran Mesin.
  • Kluster inferensi - digunakan untuk menyebarkan model pembelajaran mesin terlatih ke Azure Kubernetes Service. Anda dapat membuat kluster Azure Kubernetes Service (AKS) dari ruang kerja Azure Pembelajaran Mesin, atau melampirkan kluster AKS yang ada.
  • Komputasi terlampir - Anda dapat melampirkan sumber daya komputasi Anda sendiri ke ruang kerja Anda dan menggunakannya untuk pelatihan dan inferensi.

Membuat komputasi

Untuk membuat kluster komputasi menggunakan Python SDK v2, Anda dapat menggunakan kode berikut:

BERLAKU UNTUK: Python SDK azure-ai-ml v2 (saat ini)

cluster_basic = AmlCompute(
    name="basic-example",
    type="amlcompute",
    size="STANDARD_DS3_v2",
    location="westus",
    min_instances=0,
    max_instances=2,
    idle_time_before_scale_down=120,
)
ml_client.begin_create_or_update(cluster_basic)

Notebook Jupyter ini menunjukkan lebih banyak cara untuk membuat komputasi menggunakan SDK v2.

Untuk informasi selengkapnya tentang membuat komputasi, lihat:

Penyimpanan data

Penyimpanan data Azure Machine Learning menyimpan informasi koneksi dengan aman ke penyimpanan data Anda di Azure, sehingga Anda tidak perlu mengodekannya dalam skrip Anda. Anda dapat mendaftar dan membuat penyimpanan data untuk terhubung dengan mudah ke akun penyimpanan Anda, dan mengakses data di layanan penyimpanan dasar Anda. CLI v2 dan SDK v2 mendukung jenis layanan penyimpanan berbasis cloud berikut:

  • Azure Blob Container
  • Azure File Share
  • Azure Data Lake
  • Azure Data Lake Gen2

Membuat datastore

Untuk membuat penyimpanan menggunakan Python SDK v2, Anda dapat menggunakan kode berikut:

BERLAKU UNTUK: Python SDK azure-ai-ml v2 (saat ini)

import AzureBlobDatastore

blob_datastore1 = AzureBlobDatastore(
    name="blob_example",
    description="Datastore pointing to a blob container.",
    account_name="mytestblobstore",
    container_name="data-container",
    credentials={
        "account_key": "XXXxxxXXXxXXXXxxXXXXXxXXXXXxXxxXxXXXxXXXxXXxxxXXxxXXXxXxXXXxxXxxXXXXxxxxxXXxxxxxxXXXxXXX"
    },
)
ml_client.create_or_update(blob_datastore1)

Notebook Jupyter ini menunjukkan lebih banyak cara untuk membuat penyimpanan data menggunakan SDK v2.

Untuk mempelajari selengkapnya tentang menggunakan datastore, lihat Membuat dan mengelola aset data.

Model

Model Azure Pembelajaran Mesin terdiri dari file biner yang mewakili model pembelajaran mesin dan metadata yang sesuai. Model dapat dibuat dari file atau direktori lokal atau jarak jauh. Untuk https lokasi jarak jauh, wasbs dan azureml lokasi didukung. Model yang dibuat akan dilacak di ruang kerja dengan nama dan versi yang ditentukan. Azure Pembelajaran Mesin mendukung tiga jenis format penyimpanan untuk model:

  • custom_model
  • mlflow_model
  • triton_model

Membuat model di registri model

Pendaftaran model memungkinkan Anda menyimpan dan membuat versi model di cloud Azure, dalam ruang kerja Anda. Registri model membantu Anda mengatur dan melacak model terlatih Anda.

Untuk informasi selengkapnya tentang cara membuat model di registri, lihat Bekerja dengan model di Azure Pembelajaran Mesin.

Lingkungan

Lingkungan Azure Machine Learning adalah enkapsulasi lingkungan tempat tugas pembelajaran mesin Anda terjadi. Mereka menentukan paket perangkat lunak, variabel lingkungan, dan pengaturan perangkat lunak di sekitar skrip pelatihan dan penilaian Anda. Lingkungan dikelola dan entitas berversi dalam ruang kerja Pembelajaran Mesin Anda. Lingkungan memungkinkan alur kerja pembelajaran mesin yang dapat direproduksi, diaudit, dan portabel di berbagai komputasi.

Jenis lingkungan

Azure Pembelajaran Mesin mendukung dua jenis lingkungan: dikurasi dan dikurasi.

Lingkungan yang dikumpulkan disediakan oleh Azure Machine Learning dan tersedia di ruang kerja secara default. Dimaksudkan untuk digunakan apa adanya, lingkungan tersebut berisi kumpulan paket dan pengaturan Python untuk membantu Anda mulai menggunakan berbagai kerangka pembelajaran mesin. Lingkungan yang telah dibuat sebelumnya ini juga memungkinkan waktu penyebaran yang lebih cepat. Untuk daftar lengkap, lihat artikel lingkungan yang dipilih.

Di lingkungan kustom, Anda bertanggung jawab untuk menyiapkan lingkungan Anda dan menginstal paket atau dependensi lain apa pun yang dibutuhkan skrip pelatihan atau penilaian Anda pada komputasi. Azure Pembelajaran Mesin memungkinkan Anda membuat lingkungan Anda sendiri menggunakan

  • Gambar docker
  • Gambar docker dasar dengan conda YAML untuk menyesuaikan lebih lanjut
  • Konteks pembangunan docker

Membuat lingkungan kustom Azure Pembelajaran Mesin

Untuk membuat lingkungan menggunakan Python SDK v2, lihat Membuat lingkungan.

Notebook Jupyter ini menunjukkan lebih banyak cara untuk membuat lingkungan kustom menggunakan SDK v2.

Untuk informasi selengkapnya tentang lingkungan, lihat Membuat dan mengelola lingkungan di Azure Pembelajaran Mesin.

Data

Azure Machine Learning memungkinkan Anda bekerja dengan berbagai jenis data:

  • URI (lokasi di penyimpanan lokal/cloud)
    • uri_folder
    • uri_file
  • Tabel (abstraksi data tabular)
    • mltable
  • Primitif
    • string
    • boolean
    • number

Untuk sebagian besar skenario, Anda akan menggunakan URI (uri_folder dan uri_file) - lokasi di penyimpanan yang dapat dengan mudah dipetakan ke sistem file node komputasi dalam suatu pekerjaan dengan memasang atau mengunduh penyimpanan ke node.

mltable adalah abstraksi untuk data tabular yang akan digunakan untuk Pekerjaan AutoML, Pekerjaan Paralel, dan beberapa skenario lanjutan. Jika Anda baru mulai menggunakan Azure Machine Learning dan tidak menggunakan AutoML, kami sangat menganjurkan Anda untuk memulai dengan URI.

Komponen

Komponen Azure Machine Learning adalah bagian kode mandiri yang melakukan satu langkah dalam alur pembelajaran mesin. Komponen adalah blok pembangun alur pembelajaran mesin tingkat lanjut. Komponen dapat melakukan tugas-tugas seperti pengolahan data, pelatihan model, penilaian model, dan sebagainya. Komponen analog dengan fungsi - memiliki nama, parameter, mengharapkan input, dan mengembalikan output.