Bagikan melalui


Manajemen model MLOps dengan Azure Pembelajaran Mesin

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

Artikel ini menjelaskan bagaimana Azure Pembelajaran Mesin menggunakan operasi pembelajaran mesin (MLOps) untuk mengelola siklus hidup model Anda. Menerapkan praktik MLOps dapat meningkatkan kualitas dan konsistensi solusi pembelajaran mesin Anda.

MLOps didasarkan pada prinsip dan praktik DevOps yang meningkatkan efisiensi alur kerja, seperti integrasi berkelanjutan, penyebaran berkelanjutan, dan pengiriman berkelanjutan. Menerapkan prinsip-prinsip ini ke siklus hidup pembelajaran mesin menghasilkan:

  • Eksperimen dan pengembangan model yang lebih cepat.
  • Penyebaran model ke produksi yang lebih cepat.
  • Jaminan kualitas yang lebih baik dan pelacakan silsilah data end-to-end.

Kemampuan MLOps

MLOps menyediakan kemampuan berikut untuk proses pembelajaran mesin:

  • Buat alur pembelajaran mesin yang dapat direproduksi untuk menentukan langkah-langkah yang dapat diulang dan dapat digunakan kembali untuk proses persiapan, pelatihan, dan penilaian data.
  • Membuat lingkungan perangkat lunak yang dapat digunakan kembali untuk melatih dan menyebarkan model.
  • Mendaftarkan, mengemas, dan menyebarkan model dari mana saja, dan melacak metadata terkait yang diperlukan untuk menggunakan model.
  • Data silsilah log untuk tata kelola siklus hidup pembelajaran mesin, seperti siapa yang menerbitkan model, mengapa perubahan dilakukan, dan kapan model disebarkan atau digunakan dalam produksi.
  • Beri tahu dan waspada tentang peristiwa siklus hidup pembelajaran mesin seperti penyelesaian eksperimen, pendaftaran model, penyebaran model, dan deteksi penyimpangan data.
  • Pantau masalah terkait operasional dan pembelajaran mesin dengan membandingkan input model, menjelajahi metrik khusus model, dan melihat pemantauan dan pemberitahuan pada infrastruktur pembelajaran mesin.
  • Otomatiskan siklus hidup pembelajaran mesin end-to-end dengan menggunakan alur pembelajaran mesin dan Azure Pipelines untuk terus menguji, memperbarui, dan meluncurkan model pembelajaran mesin baru.

Untuk informasi selengkapnya tentang MLOps, lihat Operasi pembelajaran mesin.

Alur pembelajaran mesin yang dapat direproduksi

Gunakan alur Azure Pembelajaran Mesin untuk menyatukan semua langkah dalam proses pelatihan model Anda. Langkah-langkah alur pembelajaran mesin dapat mencakup persiapan data, ekstraksi fitur, penyetelan hiperparameter, dan evaluasi model.

Di Azure Pembelajaran Mesin studio Designer, Anda dapat mengkloning alur untuk melakukan iterasi atas desainnya tanpa kehilangan versi lama Anda. Untuk mengkloning alur kapan saja di Perancang, pilih Kloning di bilah menu atas.

Untuk informasi selengkapnya tentang alur Azure Pembelajaran Mesin, lihat Alur pembelajaran mesin.

Lingkungan perangkat lunak yang dapat digunakan kembali

Lingkungan Azure Pembelajaran Mesin memastikan bahwa build dapat direproduksi tanpa menggunakan konfigurasi perangkat lunak manual. Lingkungan dapat melacak dan mereproduksi dependensi perangkat lunak pip dan conda untuk proyek Anda.

Anda dapat menggunakan lingkungan untuk pelatihan dan penyebaran model. Untuk informasi selengkapnya tentang lingkungan, lihat Lingkungan azure Pembelajaran Mesin.

Pendaftaran model, pengemasan, dan penyebaran

Azure Pembelajaran Mesin dapat menggunakan MLOps dari mana saja untuk mendaftar, mengemas, dan menyebarkan model.

Mendaftarkan dan melacak model

Pendaftaran model menyimpan dan membuat versi model Anda di ruang kerja Azure Pembelajaran Mesin anda di cloud Azure. Registri model memudahkan untuk mengatur dan melacak model terlatih Anda.

Model terdaftar adalah kontainer logis untuk satu atau beberapa file yang membentuk model Anda. Misalnya, jika model Anda disimpan dalam beberapa file, Anda dapat mendaftarkan file sebagai model tunggal di ruang kerja Azure Pembelajaran Mesin Anda. Setelah pendaftaran, Anda dapat mengunduh atau menyebarkan model terdaftar dan menerima semua file komponen.

Anda juga dapat mendaftarkan model yang dilatih di luar Azure Pembelajaran Mesin. Azure Pembelajaran Mesin mendukung model apa pun yang dapat dimuat dengan menggunakan Python 3.5.2 atau yang lebih tinggi.

Anda mengidentifikasi model terdaftar berdasarkan nama dan versi. Setiap kali Anda mendaftarkan model dengan nama yang sama dengan model yang ada, registri akan meningkatkan nomor versi.

Anda dapat memberikan tag metadata selama pendaftaran dan menggunakan tag ini untuk mencari model.

Penting

Anda tidak dapat menghapus model terdaftar yang sedang digunakan dalam penyebaran aktif.

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

Model paket dan debug

Untuk menyebarkan model ke dalam produksi, Anda harus terlebih dahulu mengemasnya ke dalam gambar Docker. Dalam kebanyakan kasus, pembuatan gambar secara otomatis terjadi di latar belakang selama penyebaran. Namun, Anda dapat menentukan gambar secara manual.

Sangat berguna untuk menyebarkan ke lingkungan pengembangan lokal Anda terlebih dahulu sehingga Anda dapat memecahkan masalah dan men-debug sebelum menyebarkan ke cloud. Praktik ini dapat membantu Anda menghindari masalah dengan penyebaran Anda ke Azure Pembelajaran Mesin. Untuk informasi selengkapnya tentang cara mengatasi masalah penyebaran umum, lihat Cara memecahkan masalah titik akhir online.

Mengonversi dan mengoptimalkan model

Anda dapat mengonversi model Anda ke Open Neural Network Exchange (ONNX) untuk mencoba meningkatkan performa. Biasanya, mengonversi ke ONNX dapat menggandakan performa.

Untuk informasi selengkapnya tentang ONNX dengan Azure Pembelajaran Mesin, lihat Membuat dan mempercepat model pembelajaran mesin.

Menyebarkan model sebagai titik akhir

Anda dapat menyebarkan model pembelajaran mesin terlatih sebagai titik akhir secara lokal atau di cloud. Penyebaran menggunakan CPU dan GPU untuk inferensi.

Untuk menyebarkan model sebagai titik akhir, Anda perlu memberikan informasi berikut:

  • Model yang digunakan untuk menilai data yang dikirimkan ke layanan atau perangkat.
  • Skrip entri, juga disebut skrip penilaian, yang menerima permintaan, menggunakan model untuk menilai data, dan mengembalikan respons.
  • Lingkungan yang menjelaskan dependensi pip dan conda yang diperlukan oleh model dan skrip entri.
  • Aset lain, seperti teks dan data, yang diperlukan oleh model dan skrip entri.

Penting

Saat Anda menyebarkan model MLflow, Anda tidak perlu menyediakan skrip entri atau lingkungan untuk penyebaran. Untuk informasi selengkapnya tentang menyebarkan model MLflow, lihat Panduan untuk menyebarkan model MLflow.

Anda juga menyediakan konfigurasi platform penyebaran target, seperti jenis keluarga komputer virtual (VM), memori yang tersedia, dan jumlah inti. Saat Azure Pembelajaran Mesin membuat gambar, Azure Pembelajaran Mesin juga menambahkan komponen apa pun yang dibutuhkannya, seperti aset yang diperlukan untuk menjalankan layanan web.

Penilaian batch dengan titik akhir batch

Skor batch didukung melalui titik akhir batch. Untuk informasi selengkapnya tentang penilaian batch, lihat Titik akhir batch.

Penilaian real time dengan titik akhir online

Anda dapat menggunakan model Anda dengan titik akhir online untuk penilaian real time. Target komputasi untuk titik akhir online dapat berupa lingkungan pengembangan lokal, titik akhir online terkelola, atau Azure Kubernetes Service (AKS).

Untuk menyebarkan model ke titik akhir online, Anda perlu memberikan informasi berikut:

  • Model atau ansambel model.
  • Dependensi yang diperlukan untuk menggunakan model, misalnya, skrip yang menerima permintaan dan memanggil model dan dependensi conda.
  • Konfigurasi penyebaran yang menjelaskan cara dan tempat untuk menyebarkan model.

Untuk informasi selengkapnya tentang penyebaran untuk penilaian real time, lihat Menyebarkan titik akhir online.

Peluncuran terkontrol untuk titik akhir online

Saat menyebarkan ke titik akhir online, Anda dapat menggunakan peluncuran terkontrol untuk mengaktifkan skenario berikut:

  • Buat beberapa versi titik akhir untuk penyebaran.
  • Lakukan pengujian A/B dengan perutean lalu lintas ke penyebaran yang berbeda dalam titik akhir.
  • Beralih antar penyebaran titik akhir dengan memperbarui persentase lalu lintas dalam konfigurasi titik akhir.

Untuk informasi selengkapnya tentang penyebaran menggunakan peluncuran terkontrol, lihat Melakukan peluncuran penyebaran baru yang aman untuk inferensi real time.

Metadata untuk tata kelola siklus hidup pembelajaran mesin

Azure Pembelajaran Mesin memberi Anda kemampuan untuk melacak jejak audit end-to-end dari semua aset pembelajaran mesin Anda dengan menggunakan metadata. Contohnya:

  • Aset data Azure Pembelajaran Mesin membantu Anda melacak, membuat profil, dan data versi.
  • Interpretabilitas model memungkinkan Anda menjelaskan model Anda, memenuhi kepatuhan terhadap peraturan, dan memahami bagaimana model sampai pada hasil untuk input tertentu.
  • Riwayat pekerjaan Azure Pembelajaran Mesin menyimpan rekam jepret kode, data, dan komputasi yang digunakan untuk melatih model.
  • Pendaftaran model Azure Pembelajaran Mesin mengambil semua metadata yang terkait dengan model Anda. Misalnya, eksperimen mana yang melatih model, tempat model disebarkan, dan apakah penyebaran model sehat.
  • Integrasi dengan Azure memungkinkan Anda bertindak berdasarkan peristiwa dalam siklus hidup pembelajaran mesin, seperti pendaftaran model, penyebaran, penyimpangan data, dan peristiwa pekerjaan pelatihan.

Beberapa informasi tentang model dan aset data diambil secara otomatis, tetapi Anda dapat menambahkan lebih banyak informasi dengan menggunakan tag. Saat mencari model terdaftar dan aset data di ruang kerja, Anda dapat menggunakan tag sebagai filter.

Catatan

Saat Anda menggunakan Tag di opsi Filter menurut pada halaman Model studio Azure Pembelajaran Mesin, pastikan untuk menggunakan TagName=TagValue tanpa spasi, bukan TagName : TagValue.

Pemberitahuan dan pemberitahuan peristiwa siklus hidup pembelajaran mesin

Azure Pembelajaran Mesin menerbitkan peristiwa utama ke Azure Event Grid, yang dapat digunakan untuk memberi tahu dan mengotomatiskan peristiwa dalam siklus hidup pembelajaran mesin. Untuk informasi selengkapnya tentang cara menyiapkan proses berbasis peristiwa berdasarkan peristiwa Azure Pembelajaran Mesin, lihat CI/CD kustom dan alur kerja berbasis peristiwa.

Otomatisasi siklus hidup pembelajaran mesin

Anda dapat menggunakan Git dan Azure Pipelines untuk membuat proses integrasi berkelanjutan yang melatih model pembelajaran mesin. Dalam skenario umum, ketika ilmuwan data memeriksa perubahan ke repositori Git proyek, Azure Pipelines memulai pekerjaan pelatihan.

Anda dapat memeriksa hasil pekerjaan untuk melihat karakteristik performa model terlatih. Anda juga dapat membuat alur yang menyebarkan model sebagai layanan web.

Ekstensi Azure Machine Learning memudahkan alur tersebut bekerja dengan Azure Pipeline. Ekstensi ini menyediakan penyempurnaan berikut untuk Azure Pipelines:

  • Mengaktifkan pilihan ruang kerja Azure Pembelajaran Mesin saat Anda menentukan koneksi layanan.
  • Memungkinkan pembuatan model terlatih dalam alur pelatihan untuk memicu penyebaran di Azure Pipelines.

Untuk informasi selengkapnya tentang menggunakan Azure Pipelines dengan Azure Pembelajaran Mesin, lihat Menggunakan Azure Pipelines dengan Azure Pembelajaran Mesin.

Analitik

Microsoft Power BI mendukung penggunaan model pembelajaran mesin untuk analitik data. Untuk informasi selengkapnya, lihat AI dengan aliran data.