Bagikan melalui


Tingkatkan ke v2

REST API v2 Azure Pembelajaran Mesin, ekstensi Azure CLI, dan Python SDK memperkenalkan konsistensi dan serangkaian fitur baru untuk mempercepat siklus hidup pembelajaran mesin produksi. Artikel ini memberikan gambaran umum tentang peningkatan ke v2 dengan rekomendasi untuk membantu Anda memutuskan v1, v2, atau keduanya.

Prasyarat

  • Pemahaman umum tentang Azure Pembelajaran Mesin dan V1 Python SDK.
  • Memahami apakah itu v2?

Apakah saya harus menggunakan v2?

Anda harus menggunakan v2 jika Anda memulai proyek atau alur kerja pembelajaran mesin baru. Anda harus menggunakan v2 jika ingin menggunakan fitur baru yang ditawarkan di v2. Fitur-fitur tersebut meliputi:

  • Inferensi Terkelola
  • Komponen yang dapat digunakan kembali dalam alur
  • Penjadwalan alur yang disempurnakan
  • Dasbor AI yang bertanggung jawab
  • Registri aset

Proyek v2 baru dapat menggunakan kembali sumber daya v1 yang ada seperti ruang kerja dan komputasi dan aset yang ada seperti model dan lingkungan yang dibuat menggunakan v1.

Beberapa celah fitur di v2 meliputi:

  • Dukungan Spark dalam pekerjaan - saat ini dalam pratinjau di v2.
  • Menerbitkan pekerjaan (alur pada v1) sebagai titik akhir. Namun, Anda dapat menjadwalkan alur tanpa menerbitkan.
  • Dukungan bagi penyimpanan data SQL/database.
  • Kemampuan untuk menggunakan komponen bawaan klasik dalam perancang dengan v2.

Kemudian, Anda harus memastikan apakah fitur yang Anda butuhkan di v2 telah memenuhi persyaratan organisasi Anda, misalnya tersedia secara umum.

Penting

Fitur baru di Azure Pembelajaran Mesin hanya akan diluncurkan di v2.

API v2 mana yang harus digunakan?

Di antarmuka v2 melalui REST API, CLI, dan Python SDK tersedia. Antarmuka yang harus digunakan tergantung pada skenario dan preferensi Anda.

API Catatan
REST Dependensi serta overhead terkecil. Gunakan untuk membangun aplikasi di Azure Pembelajaran Mesin sebagai platform, langsung dalam bahasa pemrograman tanpa SDK yang disediakan, atau sesuai preferensi pribadi.
CLI Direkomendasikan untuk otomatisasi dengan CI/CD atau menurut preferensi pribadi. Memungkinkan iterasi cepat dengan file YAML dan pemisahan langsung antara kode model Azure Pembelajaran Mesin dan ML.
Python SDK Direkomendasikan bagi pembuatan skrip yang rumit (misalnya, menghasilkan pekerjaan alur besar secara terprogram) atau sesuai preferensi pribadi. Memungkinkan perulangan cepat dengan file YAML atau pengembangan hanya pada Python.

Pemetaan Python SDK v1 ke v2

Lihat setiap artikel berikut untuk pemetaan kode perbandingan untuk SDK v1 vs v2.

Sumber daya dan aset Artikel
Ruang kerja Manajemen ruang kerja di SDK v1 dan SDK v2
Penyimpanan data Manajemen datastore di SDK v1 dan SDK v2
Data Aset data di SDK v1 dan v2
Compute Manajemen komputasi di SDK v1 dan SDK v2
Pelatihan Menjalankan skrip
Pelatihan Eksekusi lokal
Pelatihan Penyetelan hyperparameter
Pelatihan Eksekusi Paralel
Pelatihan Pipelines
Pelatihan AutoML
Model Manajemen model di SDK v1 dan SDK v2
Penyebaran Meningkatkan titik akhir penyebaran ke SDK v2

Sumber daya dan aset di v1 dan v2

Bagian ini memberikan gambaran umum tentang sumber daya dan aset tertentu di Azure Pembelajaran Mesin. Lihat artikel konsep untuk setiap entitas untuk memperoleh detail tentang penggunaannya di v2.

Ruang kerja

Ruang kerja tidak perlu ditingkatkan dengan v2. Anda dapat menggunakan ruang kerja yang sama, terlepas dari apakah Anda menggunakan v1 ataupun v2.

Jika Anda membuat ruang kerja menggunakan otomatisasi, pertimbangkan untuk meningkatkan kode untuk membuat ruang kerja ke v2. Biasanya sumber daya Azure dikelola melalui Azure Resource Manager (serta Bicep) atau alat provisi sumber daya yang serupa. Atau, Anda bisa menggunakan file CLI (v2) dan YAML.

Untuk perbandingan kode SDK v1 dan v2, lihat Manajemen ruang kerja di SDK v1 dan SDK v2.

Penting

Jika ruang kerja Anda menggunakan titik akhir privat, ia akan mengaktifkan bendera v1_legacy_mode secara otomatis, sehingga mencegah penggunakan API v2. Lihat cara mengonfigurasi isolasi jaringan dengan v2 untuk memperoleh detailnya.

Koneksi (koneksi ruang kerja pada v1)

Koneksi ruang kerja dari v1 tetap ada di ruang kerja, serta sepenuhnya tersedia dengan v2.

Untuk perbandingan kode SDK v1 dan v2, lihat Manajemen ruang kerja di SDK v1 dan SDK v2.

Penyimpanan data

Jenis datastore penyimpanan objek yang dibuat dengan v1 sepenuhnya tersedia untuk digunakan pada v2. Penyimpanan data database tidak didukung; ekspor ke penyimpanan objek (biasanya Azure Blob) merupakan jalur migrasi yang direkomendasikan.

Untuk perbandingan kode SDK v1 dan v2, lihat Manajemen datastore di SDK v1 dan SDK v2.

Data (himpunan data di dalam v1)

Nama himpunan data diganti menjadi aset data. Kompatibilitas mundur disediakan, yang berarti Anda dapat menggunakan Himpunan Data V1 di V2. Saat Anda menggunakan Himpunan Data V1 dalam pekerjaan V2, Anda akan melihat mereka secara otomatis dipetakan ke dalam jenis V2 sebagai berikut:

  • FileDataset V1 = Folder V2 (uri_folder)
  • V1 TabularDataset = Tabel V2 (mltable)

Perlu dicatat bahwa kompatibilitas penerusan tidak disediakan, yang berarti Anda tidak dapat menggunakan aset data V2 di V1.

Artikel ini membahas selengkapnya tentang menangani data di v2 - Membaca dan menulis data dalam pekerjaan

Untuk perbandingan kode SDK v1 dan v2, lihat Aset data di SDK v1 dan v2.

Compute

Perhitungan jenis AmlCompute dan ComputeInstance sepenuhnya tersedia untuk digunakan pada v2.

Untuk perbandingan kode SDK v1 dan v2, lihat Manajemen komputasi di SDK v1 dan SDK v2.

Pekerjaan (eksperimen, eksekusi, alur pada v1)

Dalam v2, "eksperimen", "operasi", dan "alur" dikonsolidasikan menjadi pekerjaan. Sebuah pekerjaan memiliki jenis. Sebagian besar adalah pekerjaan command yang menjalankan perintah, seperti python main.py. Apa yang berlangsung dalam pekerjaan sepenuhnya terpisah dari bahasa pemrogram mana pun, sehingga Anda dapat menjalankan skrip bash, memanggil penerjemah python, menjalankan berbagai perintah curl, atau hal lainnya. Jenis pekerjaan lainnya yang umum adalah pipeline, yang mendefiniskan pekerjaan anak yang mungkin memiliki hubungan input/output, sehingga membentuk grafik asiklik yang diarahkan (DAG).

Untuk perbandingan kode SDK v1 dan v2, lihat

Perancang

Anda dapat menggunakan perancang untuk membangun alur menggunakan komponen kustom v2 Anda sendiri dan komponen bawaan baru dari registri. Dalam situasi ini, Anda dapat menggunakan aset data v1 atau v2 di alur Anda.

Anda dapat terus menggunakan perancang untuk membangun alur menggunakan komponen bawaan klasik dan jenis himpunan data v1 (tabular, file). Anda tidak dapat menggunakan komponen bawaan klasik perancang yang ada dengan aset data v2.

Anda tidak dapat membangun alur menggunakan komponen bawaan klasik perancang yang ada dan komponen kustom v2.

Model

Model yang dibuat dari v1 bisa digunakan dalam v2.

Untuk perbandingan kode SDK v1 dan v2, lihat Manajemen model di SDK v1 dan SDK v2

Titik akhir dan penyebaran (titik akhir dan layanan web di v1)

Dengan SDK/CLI v1, Anda dapat menyebarkan model di ACI atau AKS sebagai layanan web. Penyebaran model v1 dan layanan web Anda yang ada akan terus berfungsi apa adanya, tetapi Menggunakan SDK/CLI v1 untuk menyebarkan model pada ACI atau AKS karena layanan web sekarang dianggap sebagai warisan. Untuk penyebaran model baru, sebaiknya tingkatkan ke v2. Di v2, kami menawarkan titik akhir terkelola atau titik akhir Kubernetes. Tabel berikut ini memandu rekomendasi kami:

Jenis titik akhir pada v2 Peningkatan Dari Catatan
Lokal ACI Uji cepat penyebaran model secara lokal; bukan untuk tujuan produksi.
Titik akhir online terkelola ACI, dan AKS Infrastruktur penyebaran model terkelola tingkat perusahaan dengan respons yang hampir real-time dan penskalaan besar-besaran untuk produksi.
Titik akhir batch yang terkelola ParallelRunStep di dalam alur untuk penilaian batch Infrastruktur penyebaran model terkelola tingkat Enterprise dengan pemrosesan batch paralel secara masif untuk tujuan produksi.
Azure Kubernetes Service (AKS) ACI, dan AKS Mengelola kluster AKS Anda sendiri untuk penyebaran model, memberikan fleksibilitas dan kontrol terperinci dengan biaya overhead IT.
Kubernetes Azure Arc T/A Kelola kluster Kubernetes Anda sendiri di cloud lain atau secara lokal, sehingga memberikan fleksibilitas dan kontrol terperinci dengan biaya overhead IT.

Untuk perbandingan kode SDK v1 dan v2, lihat Meningkatkan titik akhir penyebaran ke SDK v2. Untuk langkah-langkah migrasi dari layanan web ACI anda yang sudah ada ke titik akhir online terkelola, lihat artikel panduan peningkatan dan blog kami.

Lingkungan

Lingkungan yang dibuat dari v1 bisa digunakan dalam v2. Di v2, lingkungan memiliki fitur baru, seperti pembuatan dari konteks Docker lokal.

Mengelola rahasia

Manajemen rahasia Key Vault berbeda secara signifikan di V2 dibandingkan dengan V1. Metode V1 set_secret dan get_secret SDK tidak tersedia di V2. Sebagai gantinya, akses langsung menggunakan pustaka klien Key Vault harus digunakan. Saat mengakses rahasia dari skrip pelatihan, Anda dapat menggunakan identitas terkelola komputasi atau identitas Anda.

Untuk detail tentang Key Vault, lihat Menggunakan rahasia kredensial autentikasi di pekerjaan pelatihan Azure Pembelajaran Mesin.

Skenario pada seluruh siklus hidup pembelajaran mesin

Ada beberapa skenario yang umum di seluruh siklus hidup pembelajaran mesin menggunakan Azure Pembelajaran Mesin. Kita akan melihat beberapa dan memberikan rekomendasi umum untuk meningkatkan ke v2.

Azure Setup

Azure merekomendasikan template Azure Resource Manager (sering kali melalui Bicep untuk kemudahan penggunaan) guna membuat sumber daya. Hal yang sama juga merupakan pendekatan yang baik untuk membuat sumber daya Azure Pembelajaran Mesin.

Jika tim Anda hanya menggunakan Azure Pembelajaran Mesin, Anda dapat mempertimbangkan untuk menyediakan ruang kerja dan sumber daya lain melalui file YAML dan CLI sebagai gantinya.

Model prototipe

Kami merekomendasikan v2 guna membuat prototipe model. Anda dapat mempertimbangkan untuk menggunakan CLI untuk penggunaan interaktif Azure Pembelajaran Mesin, sementara kode pelatihan model Anda adalah Python atau bahasa pemrograman lainnya. Atau, Anda dapat mengadopsi pendekatan tumpukan penuh dengan Python hanya menggunakan Azure Pembelajaran Mesin SDK atau pendekatan campuran dengan file Azure Pembelajaran Mesin Python SDK dan YAML.

Pelatihan model untuk produksi

Kami merekomendasikan v2 dalam pelatihan model untuk produksi. Pekerjaan mengonsolidasikan terminologi dan menyediakan satu set konsistensi yang memungkinkan transisi yang lebih mudah antar jenis (contohnya, command ke sweep) dan proses ramah GitOps untuk melakukan serialisasi pekerjaan menjadi file YAML.

Dengan v2, Anda harus memisahkan kode pembelajaran mesin dari kode sarana kontrol. Pemisahan ini memungkinkan perulangan serta transisi yang lebih mudah antara lokal dan cloud. Sebaiknya gunakan MLflow untuk pelacakan dan pengelogan model. Lihat Artikel konsep MLflow untuk detailnya.

Penyebaran model untuk produksi

Kami merekomendasikan v2 guna penyebaran model untuk produksi. Titik akhir terkelola mengabstraksi overhead TI serta menyediakan solusi berkinerja untuk menyebarkan dan menilai model, baik untuk skenario online (hampir real-time) dan batch (paralel besar-besaran).

Penyebaran Kubernetes didukung di v2 melalui AKS atau Azure Arc, sehingga memungkinkan cloud Azure serta penyebaran lokal yang dikelola oleh organisasi Anda.

Operasi Pembelajaran Mesin (MLOp)

Alur kerja MLOps pada umumnya melibatkan CI/CD melalui alat eksternal. Biasanya CLI digunakan dalam CI/CD, meskipun Anda dapat memanggil Python atau menggunakan REST secara langsung.

Akselerator solusi untuk MLOps dengan v2 yang sedang dikembangkan di https://github.com/Azure/mlops-v2 dan dapat digunakan sebagai referensi atau diadopsi untuk pengaturan dan otomatisasi siklus hidup mesin.

Catatan mengenai GitOps dengan v2

Paradigma kunci dengan v2 adalah entitas pembelajaran mesin yang melakukan serialisasi sebagai file YAML untuk kontrol sumber dengan git, sehingga memungkinkan pendekatan GitOps yang lebih baik dibandingkan v1. Misalnya, Anda dapat menerapkan kebijakan di mana hanya perwakilan layanan yang digunakan dalam alur CI/CD yang dapat membuat/memperbarui/menghapus beberapa atau semua entitas, sehingga memastikan perubahan melalui proses yang diatur seperti permintaan pull dengan peninjau yang diperlukan. Karena file dalam kontrol sumber adalah YAML, mudah untuk membedakan dan melacak perubahannya seiring waktu. Anda dan tim Anda mungkin mempertimbangkan untuk beralih ke paradigma ini saat Anda meningkatkan ke v2.

Anda dapat memperoleh representasi YAML dari entitas mana pun dengan CLI via az ml <entity> show --output yaml. Perhatikan bahwa output ini akan memiliki properti yang dihasilkan sistem, yang dapat diabaikan ataupun dihapus.

Haruskah saya meningkatkan kode v1 yang ada ke v2

Anda dapat menggunakan kembali aset v1 yang ada di alur kerja v2 Anda. Misalnya model yang dibuat di v1 dapat digunakan untuk melakukan Inferensi Terkelola di v2.

Secara opsional, jika Anda ingin meningkatkan bagian tertentu dari kode v1 yang ada ke v2, silakan lihat tautan perbandingan yang disediakan dalam dokumen ini.

Dapatkah saya menggunakan v1 dan v2 secara bersama-sama?

v1 dan v2 dapat ada bersama di ruang kerja. Anda dapat menggunakan kembali aset yang ada di alur kerja v2 Anda. Misalnya model yang dibuat di v1 dapat digunakan untuk melakukan Inferensi Terkelola di v2. Sumber daya seperti ruang kerja, komputasi, serta penyimpanan data berfungsi di v1 dan v2, dengan pengecualian. Pengguna dapat memanggil v1 Python SDK untuk mengubah deskripsi ruang kerja, lalu menggunakan ekstensi CLI v2 untuk mengubahnya lagi. Pekerjaan (eksperimen/eksekusi/alur di v1) dapat dikirimkan ke ruang kerja yang sama dari Python SDK v1 atau v2. Ruang kerja dapat memiliki titik akhir penyebaran model v1 serta v2.

Menggunakan kode v1 dan v2 bersama-sama

Kami tidak menyarankan penggunaan SDK v1 dan v2 bersama-sama dalam kode yang sama. Secara teknis dimungkinkan untuk menggunakan v1 dan v2 dalam kode yang sama karena mereka menggunakan namespace Layanan Azure yang berbeda. Namun, ada banyak kelas dengan nama yang sama di seluruh namespace layanan ini (seperti Ruang Kerja, Model) yang dapat menyebabkan kebingungan dan membuat keterbacaan kode dan tantangan debuggabilitas.

Penting

Jika ruang kerja Anda menggunakan titik akhir privat, ia akan mengaktifkan bendera v1_legacy_mode secara otomatis, sehingga mencegah penggunakan API v2. Lihat cara mengonfigurasi isolasi jaringan dengan v2 untuk memperoleh detailnya.

Langkah berikutnya